1 /* 2 ** ################################################################### 3 ** Processors: RV32M1_zero_riscy 4 ** RV32M1_zero_riscy 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_zero_riscy 17 ** 18 ** Copyright 1997-2016 Freescale Semiconductor, Inc. 19 ** Copyright 2016-2018 NXP 20 ** All rights reserved. 21 ** 22 ** SPDX-License-Identifier: BSD-3-Clause 23 ** 24 ** http: www.nxp.com 25 ** mail: support@nxp.com 26 ** 27 ** Revisions: 28 ** - rev. 1.0 (2018-10-02) 29 ** Initial version. 30 ** 31 ** ################################################################### 32 */ 33 34 /*! 35 * @file RV32M1_zero_riscy.h 36 * @version 1.0 37 * @date 2018-10-02 38 * @brief CMSIS Peripheral Access Layer for RV32M1_zero_riscy 39 * 40 * CMSIS Peripheral Access Layer for RV32M1_zero_riscy 41 */ 42 43 #ifndef _RV32M1_CM0PLUS_H_ 44 #define _RV32M1_CM0PLUS_H_ /**< Symbol preventing repeated inclusion */ 45 46 /** Memory map major version (memory maps with equal major version number are 47 * compatible) */ 48 #define MCU_MEM_MAP_VERSION 0x0100U 49 /** Memory map minor version */ 50 #define MCU_MEM_MAP_VERSION_MINOR 0x0000U 51 52 53 /* ---------------------------------------------------------------------------- 54 -- Interrupt vector numbers 55 ---------------------------------------------------------------------------- */ 56 57 /*! 58 * @addtogroup Interrupt_vector_numbers Interrupt vector numbers 59 * @{ 60 */ 61 62 /** Interrupt Number Definitions */ 63 #define NUMBER_OF_INT_VECTORS 80 /**< Number of interrupts in the Vector table */ 64 65 typedef enum IRQn { 66 /* Auxiliary constants */ 67 NotAvail_IRQn = -128, /**< Not available device specific interrupt */ 68 69 /* Device specific interrupts */ 70 CTI1_IRQn = 0, /**< Cross Trigger Interface 1 */ 71 DMA1_04_IRQn = 1, /**< DMA1 channel 0/4 transfer complete */ 72 DMA1_15_IRQn = 2, /**< DMA1 channel 1/5 transfer complete */ 73 DMA1_26_IRQn = 3, /**< DMA1 channel 2/6 transfer complete */ 74 DMA1_37_IRQn = 4, /**< DMA1 channel 3/7 transfer complete */ 75 DMA1_Error_IRQn = 5, /**< DMA1 channel 0-7 error interrupt */ 76 CMC1_IRQn = 6, /**< Core Mode Controller 1 */ 77 LLWU1_IRQn = 7, /**< Low leakage wakeup 1 */ 78 MUB_IRQn = 8, /**< MU Side B interrupt */ 79 WDOG1_IRQn = 9, /**< WDOG1 interrupt */ 80 CAU3_Task_Complete_IRQn = 10, /**< Cryptographic Acceleration Unit version 3 Task Complete */ 81 CAU3_Security_Violation_IRQn = 11, /**< Cryptographic Acceleration Unit version 3 Security Violation */ 82 TRNG_IRQn = 12, /**< TRNG interrupt */ 83 LPIT1_IRQn = 13, /**< LPIT1 interrupt */ 84 LPTMR2_IRQn = 14, /**< LPTMR2 interrupt */ 85 TPM3_IRQn = 15, /**< TPM3 single interrupt vector for all sources */ 86 LPI2C3_IRQn = 16, /**< LPI2C3 interrupt */ 87 RF0_0_IRQn = 17, /**< RF0 interrupt 0 */ 88 RF0_1_IRQn = 18, /**< RF0 interrupt 1 */ 89 LPSPI3_IRQn = 19, /**< LPSPI3 single interrupt vector for all sources */ 90 LPUART3_IRQn = 20, /**< LPUART3 status and error */ 91 PORTE_IRQn = 21, /**< PORTE Pin detect */ 92 LPCMP1_IRQn = 22, /**< LPCMP1 interrupt */ 93 RTC_IRQn = 23, /**< RTC */ 94 INTMUX1_0_IRQn = 24, /**< INTMUX1 channel0 interrupt */ 95 INTMUX1_1_IRQn = 25, /**< INTMUX1 channel1 interrupt */ 96 INTMUX1_2_IRQn = 26, /**< INTMUX1 channel2 interrupt */ 97 INTMUX1_3_IRQn = 27, /**< INTMUX1 channel3 interrupt */ 98 INTMUX1_4_IRQn = 28, /**< INTMUX1 channel4 interrupt */ 99 INTMUX1_5_IRQn = 29, /**< INTMUX1 channel5 interrupt */ 100 INTMUX1_6_IRQn = 30, /**< INTMUX1 channel6 interrupt */ 101 INTMUX1_7_IRQn = 31, /**< INTMUX1 channel7 interrupt */ 102 EWM_IRQn = 32, /**< EWM interrupt (INTMUX1 source IRQ0) */ 103 FTFE_Command_Complete_IRQn = 33, /**< FTFE interrupt (INTMUX1 source IRQ1) */ 104 FTFE_Read_Collision_IRQn = 34, /**< FTFE interrupt (INTMUX1 source IRQ2) */ 105 SPM_IRQn = 35, /**< SPM (INTMUX1 source IRQ3) */ 106 SCG_IRQn = 36, /**< SCG interrupt (INTMUX1 source IRQ4) */ 107 LPIT0_IRQn = 37, /**< LPIT0 interrupt (INTMUX1 source IRQ5) */ 108 LPTMR0_IRQn = 38, /**< LPTMR0 interrupt (INTMUX1 source IRQ6) */ 109 LPTMR1_IRQn = 39, /**< LPTMR1 interrupt (INTMUX1 source IRQ7) */ 110 TPM0_IRQn = 40, /**< TPM0 single interrupt vector for all sources (INTMUX1 source IRQ8) */ 111 TPM1_IRQn = 41, /**< TPM1 single interrupt vector for all sources (INTMUX1 source IRQ9) */ 112 TPM2_IRQn = 42, /**< TPM2 single interrupt vector for all sources (INTMUX1 source IRQ10) */ 113 EMVSIM0_IRQn = 43, /**< EMVSIM0 interrupt (INTMUX1 source IRQ11) */ 114 FLEXIO0_IRQn = 44, /**< FLEXIO0 (INTMUX1 source IRQ12) */ 115 LPI2C0_IRQn = 45, /**< LPI2C0 interrupt (INTMUX1 source IRQ13) */ 116 LPI2C1_IRQn = 46, /**< LPI2C1 interrupt (INTMUX1 source IRQ14) */ 117 LPI2C2_IRQn = 47, /**< LPI2C2 interrupt (INTMUX1 source IRQ15) */ 118 I2S0_IRQn = 48, /**< I2S0 interrupt (INTMUX1 source IRQ16) */ 119 USDHC0_IRQn = 49, /**< SDHC0 interrupt (INTMUX1 source IRQ17) */ 120 LPSPI0_IRQn = 50, /**< LPSPI0 single interrupt vector for all sources (INTMUX1 source IRQ18) */ 121 LPSPI1_IRQn = 51, /**< LPSPI1 single interrupt vector for all sources (INTMUX1 source IRQ19) */ 122 LPSPI2_IRQn = 52, /**< LPSPI2 single interrupt vector for all sources (INTMUX1 source IRQ20) */ 123 LPUART0_IRQn = 53, /**< LPUART0 status and error (INTMUX1 source IRQ21) */ 124 LPUART1_IRQn = 54, /**< LPUART1 status and error (INTMUX1 source IRQ22) */ 125 LPUART2_IRQn = 55, /**< LPUART2 status and error (INTMUX1 source IRQ23) */ 126 USB0_IRQn = 56, /**< USB0 interrupt (INTMUX1 source IRQ24) */ 127 PORTA_IRQn = 57, /**< PORTA Pin detect (INTMUX1 source IRQ25) */ 128 PORTB_IRQn = 58, /**< PORTB Pin detect (INTMUX1 source IRQ26) */ 129 PORTC_IRQn = 59, /**< PORTC Pin detect (INTMUX1 source IRQ27) */ 130 PORTD_IRQn = 60, /**< PORTD Pin detect (INTMUX1 source IRQ28) */ 131 ADC0_IRQn = 61, /**< LPADC0 interrupt (INTMUX1 source IRQ29) */ 132 LPCMP0_IRQn = 62, /**< LPCMP0 interrupt (INTMUX1 source IRQ30) */ 133 LPDAC0_IRQn = 63 /**< DAC0 interrupt (INTMUX1 source IRQ31) */ 134 } IRQn_Type; 135 136 /*! 137 * @} 138 */ /* end of group Interrupt_vector_numbers */ 139 140 141 /* ---------------------------------------------------------------------------- 142 -- Cortex M0 Core Configuration 143 ---------------------------------------------------------------------------- */ 144 145 /*! 146 * @addtogroup Cortex_Core_Configuration Cortex M0 Core Configuration 147 * @{ 148 */ 149 150 #define __CM0PLUS_REV 0x0000 /**< Core revision r0p0 */ 151 #define __MPU_PRESENT 1 /**< Defines if an MPU is present or not */ 152 #define __VTOR_PRESENT 1 /**< Defines if VTOR is present or not */ 153 #define __NVIC_PRIO_BITS 2 /**< Number of priority bits implemented in the NVIC */ 154 #define __Vendor_SysTickConfig 0 /**< Vendor specific implementation of SysTickConfig is defined */ 155 156 #include "core_riscv32.h" /* Core Peripheral Access Layer */ 157 #include "system_RV32M1_zero_riscy.h" /* Device specific configuration file */ 158 159 /*! 160 * @} 161 */ /* end of group Cortex_Core_Configuration */ 162 163 164 /* ---------------------------------------------------------------------------- 165 -- Mapping Information 166 ---------------------------------------------------------------------------- */ 167 168 /*! 169 * @addtogroup Mapping_Information Mapping Information 170 * @{ 171 */ 172 173 /** Mapping Information */ 174 /*! 175 * @addtogroup edma_request 176 * @{ */ 177 178 /******************************************************************************* 179 * Definitions 180 *******************************************************************************/ 181 182 /*! 183 * @brief Enumeration for the DMA hardware request 184 * 185 * Defines the enumeration for the DMA hardware request collections. 186 */ 187 typedef enum _dma_request_source 188 { 189 kDmaRequestMux1LLWU1 = 0|0x200U, /**< LLWU1 Wakeup */ 190 kDmaRequestMux1CAEv3 = 1|0x200U, /**< CAEv3 Data Request */ 191 kDmaRequestMux1LPTMR2 = 2|0x200U, /**< LPTMR2 Trigger */ 192 kDmaRequestMux1TPM3Channel0 = 3|0x200U, /**< TPM3 Channel 0 */ 193 kDmaRequestMux1TPM3Channel1 = 4|0x200U, /**< TPM3 Channel 1 */ 194 kDmaRequestMux1TPM3Overflow = 5|0x200U, /**< TPM3 Overflow */ 195 kDmaRequestMux1LPI2C3Rx = 6|0x200U, /**< LPI2C3 Receive */ 196 kDmaRequestMux1LPI2C3Tx = 7|0x200U, /**< LPI2C3 Transmit */ 197 kDmaRequestMux1RF0Rx = 8|0x200U, /**< 2.4GHz Radio 0 Receive */ 198 kDmaRequestMux1LPSPI3Rx = 9|0x200U, /**< LPSPI3 Receive */ 199 kDmaRequestMux1LPSPI3Tx = 10|0x200U, /**< LPSPI3 Transmit */ 200 kDmaRequestMux1LPUART3Rx = 11|0x200U, /**< LPUART3 Receive */ 201 kDmaRequestMux1LPUART3Tx = 12|0x200U, /**< LPUART3 Transmit */ 202 kDmaRequestMux1PORTE = 13|0x200U, /**< PORTE Pin Request */ 203 kDmaRequestMux1LPCMP1 = 14|0x200U, /**< LPCMP1 Comparator Trigger */ 204 kDmaRequestMux1LPTMR1 = 15|0x200U, /**< LPTMR1 Trigger */ 205 kDmaRequestMux1FLEXIO0Channel0 = 16|0x200U, /**< FLEXIO0 Channel 0 */ 206 kDmaRequestMux1FLEXIO0Channel1 = 17|0x200U, /**< FLEXIO0 Channel 1 */ 207 kDmaRequestMux1FLEXIO0Channel2 = 18|0x200U, /**< FLEXIO0 Channel 2 */ 208 kDmaRequestMux1FLEXIO0Channel3 = 19|0x200U, /**< FLEXIO0 Channel 3 */ 209 kDmaRequestMux1FLEXIO0Channel4 = 20|0x200U, /**< FLEXIO0 Channel 4 */ 210 kDmaRequestMux1FLEXIO0Channel5 = 21|0x200U, /**< FLEXIO0 Channel 5 */ 211 kDmaRequestMux1FLEXIO0Channel6 = 22|0x200U, /**< FLEXIO0 Channel 6 */ 212 kDmaRequestMux1FLEXIO0Channel7 = 23|0x200U, /**< FLEXIO0 Channel 7 */ 213 kDmaRequestMux1I2S0Rx = 24|0x200U, /**< I2S0 Receive */ 214 kDmaRequestMux1I2S0Tx = 25|0x200U, /**< I2S0 Transmit */ 215 kDmaRequestMux1PORTA = 26|0x200U, /**< PORTA Pin Request */ 216 kDmaRequestMux1PORTB = 27|0x200U, /**< PORTB Pin Request */ 217 kDmaRequestMux1PORTC = 28|0x200U, /**< PORTC Pin Request */ 218 kDmaRequestMux1PORTD = 29|0x200U, /**< PORTD Pin Request */ 219 kDmaRequestMux1LPADC0 = 30|0x200U, /**< LPADC0 Conversion Complete */ 220 kDmaRequestMux1DAC0 = 31|0x200U, /**< DAC0 Conversion Complete */ 221 } dma_request_source_t; 222 223 /* @} */ 224 225 /*! 226 * @addtogroup trgmux_source 227 * @{ */ 228 229 /******************************************************************************* 230 * Definitions 231 *******************************************************************************/ 232 233 /*! 234 * @brief Enumeration for the TRGMUX source 235 * 236 * Defines the enumeration for the TRGMUX source collections. 237 */ 238 typedef enum _trgmux_source 239 { 240 kTRGMUX_Source0Disabled = 0U, /**< Trigger function is disabled */ 241 kTRGMUX_Source1Disabled = 0U, /**< Trigger function is disabled */ 242 kTRGMUX_Source0Llwu0 = 1U, /**< LLWU0 trigger is selected */ 243 kTRGMUX_Source1Llwu1 = 1U, /**< LLWU1 trigger is selected */ 244 kTRGMUX_Source0Lpit0Channel0 = 2U, /**< LPIT0 Channel 0 is selected */ 245 kTRGMUX_Source1Lpit1Channel0 = 2U, /**< LPIT1 Channel 0 is selected */ 246 kTRGMUX_Source0Lpit0Channel1 = 3U, /**< LPIT0 Channel 1 is selected */ 247 kTRGMUX_Source1Lpit1Channel1 = 3U, /**< LPIT1 Channel 1 is selected */ 248 kTRGMUX_Source0Lpit0Channel2 = 4U, /**< LPIT0 Channel 2 is selected */ 249 kTRGMUX_Source1Lpit1Channel2 = 4U, /**< LPIT1 Channel 2 is selected */ 250 kTRGMUX_Source0Lpit0Channel3 = 5U, /**< LPIT0 Channel 3 is selected */ 251 kTRGMUX_Source1Lpit1Channel3 = 5U, /**< LPIT1 Channel 3 is selected */ 252 kTRGMUX_Source0RtcAlarm = 6U, /**< RTC Alarm is selected */ 253 kTRGMUX_Source1Lptmr2Trigger = 6U, /**< LPTMR2 Trigger is selected */ 254 kTRGMUX_Source0RtcSeconds = 7U, /**< RTC Seconds is selected */ 255 kTRGMUX_Source1Tpm3ChannelEven = 7U, /**< TPM3 Channel Even is selected */ 256 kTRGMUX_Source0Lptmr0Trigger = 8U, /**< LPTMR0 Trigger is selected */ 257 kTRGMUX_Source1Tpm3ChannelOdd = 8U, /**< TPM3 Channel Odd is selected */ 258 kTRGMUX_Source0Lptmr1Trigger = 9U, /**< LPTMR1 Trigger is selected */ 259 kTRGMUX_Source1Tpm3Overflow = 9U, /**< TPM3 Overflow is selected */ 260 kTRGMUX_Source0Tpm0ChannelEven = 10U, /**< TPM0 Channel Even is selected */ 261 kTRGMUX_Source1Lpi2c3MasterStop = 10U, /**< LPI2C3 Master Stop is selected */ 262 kTRGMUX_Source0Tpm0ChannelOdd = 11U, /**< TPM0 Channel Odd is selected */ 263 kTRGMUX_Source1Lpi2c3SlaveStop = 11U, /**< LPI2C3 Slave Stop is selected */ 264 kTRGMUX_Source0Tpm0Overflow = 12U, /**< TPM0 Overflow is selected */ 265 kTRGMUX_Source1Lpspi3Frame = 12U, /**< LPSPI3 Frame is selected */ 266 kTRGMUX_Source0Tpm1ChannelEven = 13U, /**< TPM1 Channel Even is selected */ 267 kTRGMUX_Source1Lpspi3RX = 13U, /**< LPSPI3 Rx is selected */ 268 kTRGMUX_Source0Tpm1ChannelOdd = 14U, /**< TPM1 Channel Odd is selected */ 269 kTRGMUX_Source1Lpuart3RxData = 14U, /**< LPUART3 Rx Data is selected */ 270 kTRGMUX_Source0Tpm1Overflow = 15U, /**< TPM1 Overflow is selected */ 271 kTRGMUX_Source1Lpuart3RxIdle = 15U, /**< LPUART3 Rx Idle is selected */ 272 kTRGMUX_Source0Tpm2ChannelEven = 16U, /**< TPM2 Channel Even is selected */ 273 kTRGMUX_Source1Lpuart3TxData = 16U, /**< LPUART3 Tx Data is selected */ 274 kTRGMUX_Source0Tpm2ChannelOdd = 17U, /**< TPM2 Channel Odd is selected */ 275 kTRGMUX_Source1PortEPinTrigger = 17U, /**< PORTE Pin Trigger is selected */ 276 kTRGMUX_Source0Tpm2Overflow = 18U, /**< TPM2 Overflow is selected */ 277 kTRGMUX_Source1Lpcmp1Output = 18U, /**< LPCMP1 Output is selected */ 278 kTRGMUX_Source0FlexIO0Timer0 = 19U, /**< FlexIO0 Timer 0 is selected */ 279 kTRGMUX_Source1RtcAlarm = 19U, /**< RTC Alarm is selected */ 280 kTRGMUX_Source0FlexIO0Timer1 = 20U, /**< FlexIO0 Timer 1 is selected */ 281 kTRGMUX_Source1RtcSeconds = 20U, /**< RTC Seconds is selected */ 282 kTRGMUX_Source0FlexIO0Timer2 = 21U, /**< FlexIO0 Timer 2 is selected */ 283 kTRGMUX_Source1Lptmr0Trigger = 21U, /**< LPTMR0 Trigger is selected */ 284 kTRGMUX_Source0FlexIO0Timer3 = 22U, /**< FlexIO0 Timer 3 is selected */ 285 kTRGMUX_Source1Lptmr1Trigger = 22U, /**< LPTMR1 Trigger is selected */ 286 kTRGMUX_Source0FlexIO0Timer4 = 23U, /**< FLexIO0 Timer 4 is selected */ 287 kTRGMUX_Source1Tpm1ChannelEven = 23U, /**< TPM1 Channel Even is selected */ 288 kTRGMUX_Source0FlexIO0Timer5 = 24U, /**< FlexIO0 Timer 5 is selected */ 289 kTRGMUX_Source1Tpm1ChannelOdd = 24U, /**< TPM1 Channel Odd is selected */ 290 kTRGMUX_Source0FlexIO0Timer6 = 25U, /**< FlexIO0 Timer 6 is selected */ 291 kTRGMUX_Source1Tpm1Overflow = 25U, /**< TPM1 Overflow is selected */ 292 kTRGMUX_Source0FlexIO0Timer7 = 26U, /**< FlexIO0 Timer 7 is selected */ 293 kTRGMUX_Source1Tpm2ChannelEven = 26U, /**< TPM2 Channel Even is selected */ 294 kTRGMUX_Source0Lpi2c0MasterStop = 27U, /**< LPI2C0 Master Stop is selected */ 295 kTRGMUX_Source1Tpm2ChannelOdd = 27U, /**< TPM2 Channel Odd is selected */ 296 kTRGMUX_Source0Lpi2c0SlaveStop = 28U, /**< LPI2C0 Slave Stop is selected */ 297 kTRGMUX_Source1Tpm2Overflow = 28U, /**< TPM2 Overflow is selected */ 298 kTRGMUX_Source0Lpi2c1MasterStop = 29U, /**< LPI2C1 Master Stop is selected */ 299 kTRGMUX_Source1FlexIO0Timer0 = 29U, /**< FlexIO0 Timer 0 is selected */ 300 kTRGMUX_Source0Lpi2c1SlaveStop = 30U, /**< LPI2C1 Slave Stop is selected */ 301 kTRGMUX_Source1FlexIO0Timer1 = 30U, /**< FlexIO0 Timer 1 is selected */ 302 kTRGMUX_Source0Lpi2c2MasterStop = 31U, /**< LPI2C2 Master Stop is selected */ 303 kTRGMUX_Source1FlexIO0Timer2 = 31U, /**< FlexIO0 Timer 2 is selected */ 304 kTRGMUX_Source0Lpi2c2SlaveStop = 32U, /**< LPI2C2 Slave Stop is selected */ 305 kTRGMUX_Source1FlexIO0Timer3 = 32U, /**< FlexIO0 Timer 3 is selected */ 306 kTRGMUX_Source0Sai0Rx = 33U, /**< SAI0 Rx Frame Sync is selected */ 307 kTRGMUX_Source1FlexIO0Timer4 = 33U, /**< FLexIO0 Timer 4 is selected */ 308 kTRGMUX_Source0Sai0Tx = 34U, /**< SAI0 Tx Frame Sync is selected */ 309 kTRGMUX_Source1FlexIO0Timer5 = 34U, /**< FlexIO0 Timer 5 is selected */ 310 kTRGMUX_Source0Lpspi0Frame = 35U, /**< LPSPI0 Frame is selected */ 311 kTRGMUX_Source1FlexIO0Timer6 = 35U, /**< FlexIO0 Timer 6 is selected */ 312 kTRGMUX_Source0Lpspi0Rx = 36U, /**< LPSPI0 Rx is selected */ 313 kTRGMUX_Source1FlexIO0Timer7 = 36U, /**< FlexIO0 Timer 7 is selected */ 314 kTRGMUX_Source0Lpspi1Frame = 37U, /**< LPSPI1 Frame is selected */ 315 kTRGMUX_Source1Lpi2c0MasterStop = 37U, /**< LPI2C0 Master Stop is selected */ 316 kTRGMUX_Source0Lpspi1Rx = 38U, /**< LPSPI1 Rx is selected */ 317 kTRGMUX_Source1Lpi2c0SlaveStop = 38U, /**< LPI2C0 Slave Stop is selected */ 318 kTRGMUX_Source0Lpspi2Frame = 39U, /**< LPSPI2 Frame is selected */ 319 kTRGMUX_Source1Lpi2c1MasterStop = 39U, /**< LPI2C1 Master Stop is selected */ 320 kTRGMUX_Source0Lpspi2RX = 40U, /**< LPSPI2 Rx is selected */ 321 kTRGMUX_Source1Lpi2c1SlaveStop = 40U, /**< LPI2C1 Slave Stop is selected */ 322 kTRGMUX_Source0Lpuart0RxData = 41U, /**< LPUART0 Rx Data is selected */ 323 kTRGMUX_Source1Lpi2c2MasterStop = 41U, /**< LPI2C2 Master Stop is selected */ 324 kTRGMUX_Source0Lpuart0RxIdle = 42U, /**< LPUART0 Rx Idle is selected */ 325 kTRGMUX_Source1Lpi2c2SlaveStop = 42U, /**< LPI2C2 Slave Stop is selected */ 326 kTRGMUX_Source0Lpuart0TxData = 43U, /**< LPUART0 Tx Data is selected */ 327 kTRGMUX_Source1Sai0Rx = 43U, /**< SAI0 Rx Frame Sync is selected */ 328 kTRGMUX_Source0Lpuart1RxData = 44U, /**< LPUART1 Rx Data is selected */ 329 kTRGMUX_Source1Sai0Tx = 44U, /**< SAI0 Tx Frame Sync is selected */ 330 kTRGMUX_Source0Lpuart1RxIdle = 45U, /**< LPUART1 Rx Idle is selected */ 331 kTRGMUX_Source1Lpspi0Frame = 45U, /**< LPSPI0 Frame is selected */ 332 kTRGMUX_Source0Lpuart1TxData = 46U, /**< LPUART1 TX Data is selected */ 333 kTRGMUX_Source1Lpspi0Rx = 46U, /**< LPSPI0 Rx is selected */ 334 kTRGMUX_Source0Lpuart2RxData = 47U, /**< LPUART2 RX Data is selected */ 335 kTRGMUX_Source1Lpspi1Frame = 47U, /**< LPSPI1 Frame is selected */ 336 kTRGMUX_Source0Lpuart2RxIdle = 48U, /**< LPUART2 RX Idle is selected */ 337 kTRGMUX_Source1Lpspi1Rx = 48U, /**< LPSPI1 Rx is selected */ 338 kTRGMUX_Source0Lpuart2TxData = 49U, /**< LPUART2 TX Data is selected */ 339 kTRGMUX_Source1Lpspi2Frame = 49U, /**< LPSPI2 Frame is selected */ 340 kTRGMUX_Source0Usb0Frame = 50U, /**< USB0 Start of Frame is selected */ 341 kTRGMUX_Source1Lpspi2RX = 50U, /**< LPSPI2 Rx is selected */ 342 kTRGMUX_Source0PortAPinTrigger = 51U, /**< PORTA Pin Trigger is selected */ 343 kTRGMUX_Source1Lpuart0RxData = 51U, /**< LPUART0 Rx Data is selected */ 344 kTRGMUX_Source0PortBPinTrigger = 52U, /**< PORTB Pin Trigger is selected */ 345 kTRGMUX_Source1Lpuart0RxIdle = 52U, /**< LPUART0 Rx Idle is selected */ 346 kTRGMUX_Source0PortCPinTrigger = 53U, /**< PORTC Pin Trigger is selected */ 347 kTRGMUX_Source1Lpuart0TxData = 53U, /**< LPUART0 Tx Data is selected */ 348 kTRGMUX_Source0PortDPinTrigger = 54U, /**< PORTD Pin Trigger is selected */ 349 kTRGMUX_Source1Lpuart1RxData = 54U, /**< LPUART1 Rx Data is selected */ 350 kTRGMUX_Source0Lpcmp0Output = 55U, /**< LPCMP0 Output is selected */ 351 kTRGMUX_Source1Lpuart1RxIdle = 55U, /**< LPUART1 Rx Idle is selected */ 352 kTRGMUX_Source0Lpi2c3MasterStop = 56U, /**< LPI2C3 Master Stop is selected */ 353 kTRGMUX_Source1Lpuart1TxData = 56U, /**< LPUART1 TX Data is selected */ 354 kTRGMUX_Source0Lpi2c3SlaveStop = 57U, /**< LPI2C3 Slave Stop is selected */ 355 kTRGMUX_Source1Lpuart2RxData = 57U, /**< LPUART2 RX Data is selected */ 356 kTRGMUX_Source0Lpspi3Frame = 58U, /**< LPSPI3 Frame is selected */ 357 kTRGMUX_Source1Lpuart2RxIdle = 58U, /**< LPUART2 RX Idle is selected */ 358 kTRGMUX_Source0Lpspi3Rx = 59U, /**< LPSPI3 Rx Data is selected */ 359 kTRGMUX_Source1Lpuart2TxData = 59U, /**< LPUART2 TX Data is selected */ 360 kTRGMUX_Source0Lpuart3RxData = 60U, /**< LPUART3 Rx Data is selected */ 361 kTRGMUX_Source1PortAPinTrigger = 60U, /**< PORTA Pin Trigger is selected */ 362 kTRGMUX_Source0Lpuart3RxIdle = 61U, /**< LPUART3 Rx Idle is selected */ 363 kTRGMUX_Source1PortBPinTrigger = 61U, /**< PORTB Pin Trigger is selected */ 364 kTRGMUX_Source0Lpuart3TxData = 62U, /**< LPUART3 Tx Data is selected */ 365 kTRGMUX_Source1PortCPinTrigger = 62U, /**< PORTC Pin Trigger is selected */ 366 kTRGMUX_Source0PortEPinTrigger = 63U, /**< PORTE Pin Trigger is selected */ 367 kTRGMUX_Source1PortDPinTrigger = 63U, /**< PORTD Pin Trigger is selected */ 368 } trgmux_source_t; 369 370 /* @} */ 371 372 /*! 373 * @brief Enumeration for the TRGMUX device 374 * 375 * Defines the enumeration for the TRGMUX device collections. 376 */ 377 typedef enum _trgmux_device 378 { 379 kTRGMUX_Trgmux0Dmamux0 = 0U, /**< DMAMUX0 device trigger input */ 380 kTRGMUX_Trgmux1Dmamux1 = 0U, /**< DMAMUX1 device trigger input */ 381 kTRGMUX_Trgmux0Lpit0 = 1U, /**< LPIT0 device trigger input */ 382 kTRGMUX_Trgmux1Lpit1 = 1U, /**< LPIT1 device trigger input */ 383 kTRGMUX_Trgmux0Tpm0 = 2U, /**< TPM0 device trigger input */ 384 kTRGMUX_Trgmux1Tpm3 = 2U, /**< TPM3 device trigger input */ 385 kTRGMUX_Trgmux0Tpm1 = 3U, /**< TPM1 device trigger input */ 386 kTRGMUX_Trgmux1Lpi2c3 = 3U, /**< LPI2C3 device trigger input */ 387 kTRGMUX_Trgmux0Tpm2 = 4U, /**< TPM2 device trigger input */ 388 kTRGMUX_Trgmux1Lpspi3 = 4U, /**< LPSPI3 device trigger input */ 389 kTRGMUX_Trgmux0Flexio0 = 5U, /**< FLEXIO0 device trigger input */ 390 kTRGMUX_Trgmux1Lpuart3 = 5U, /**< LPUART3 device trigger input */ 391 kTRGMUX_Trgmux0Lpi2c0 = 6U, /**< LPI2C0 device trigger input */ 392 kTRGMUX_Trgmux1Lpcmp1 = 6U, /**< LPCMP1 device trigger input */ 393 kTRGMUX_Trgmux0Lpi2c1 = 7U, /**< LPI2C1 device trigger input */ 394 kTRGMUX_Trgmux1Dmamux0 = 7U, /**< DMAMUX0 device trigger input */ 395 kTRGMUX_Trgmux0Lpi2c2 = 8U, /**< LPI2C2 device trigger input */ 396 kTRGMUX_Trgmux1Lpit0 = 8U, /**< LPIT0 device trigger input */ 397 kTRGMUX_Trgmux0Lpspi0 = 9U, /**< LPSPI0 device trigger input */ 398 kTRGMUX_Trgmux1Tpm0 = 9U, /**< TPM0 device trigger input */ 399 kTRGMUX_Trgmux0Lpspi1 = 10U, /**< LPSPI1 device trigger input */ 400 kTRGMUX_Trgmux1Tpm1 = 10U, /**< TPM1 device trigger input */ 401 kTRGMUX_Trgmux0Lpspi2 = 11U, /**< LPSPI2 device trigger input */ 402 kTRGMUX_Trgmux1Tpm2 = 11U, /**< TPM2 device trigger input */ 403 kTRGMUX_Trgmux0Lpuart0 = 12U, /**< LPUART0 device trigger input */ 404 kTRGMUX_Trgmux1Flexio0 = 12U, /**< FLEXIO0 device trigger input */ 405 kTRGMUX_Trgmux0Lpuart1 = 13U, /**< LPUART1 device trigger input */ 406 kTRGMUX_Trgmux1Lpi2c0 = 13U, /**< LPI2C0 device trigger input */ 407 kTRGMUX_Trgmux0Lpuart2 = 14U, /**< LPUART2 device trigger input */ 408 kTRGMUX_Trgmux1Lpi2c1 = 14U, /**< LPI2C1 device trigger input */ 409 kTRGMUX_Trgmux0Adc0 = 15U, /**< ADC0 device trigger input */ 410 kTRGMUX_Trgmux1Lpi2c2 = 15U, /**< LPI2C2 device trigger input */ 411 kTRGMUX_Trgmux0Lpcmp0 = 16U, /**< LPCMP0 device trigger input */ 412 kTRGMUX_Trgmux1Lpspi0 = 16U, /**< LPSPI0 device trigger input */ 413 kTRGMUX_Trgmux0Dac0 = 17U, /**< DAC0 device trigger input */ 414 kTRGMUX_Trgmux1Lpspi1 = 17U, /**< LPSPI1 device trigger input */ 415 kTRGMUX_Trgmux0Dmamux1 = 18U, /**< DMAMUX1 device trigger input */ 416 kTRGMUX_Trgmux1Lpspi2 = 18U, /**< LPSPI2 device trigger input */ 417 kTRGMUX_Trgmux0Lpit1 = 19U, /**< LPIT1 device trigger input */ 418 kTRGMUX_Trgmux1Lpuart0 = 19U, /**< LPUART0 device trigger input */ 419 kTRGMUX_Trgmux0Tpm3 = 20U, /**< TPM3 device trigger input */ 420 kTRGMUX_Trgmux1Lpuart1 = 20U, /**< LPUART1 device trigger input */ 421 kTRGMUX_Trgmux0Lpi2c3 = 21U, /**< LPI2C3 device trigger input */ 422 kTRGMUX_Trgmux1Lpuart2 = 21U, /**< LPUART2 device trigger input */ 423 kTRGMUX_Trgmux0Lpspi3 = 22U, /**< LPSPI3 device trigger input */ 424 kTRGMUX_Trgmux1Adc0 = 22U, /**< ADC0 device trigger input */ 425 kTRGMUX_Trgmux0Lpuart3 = 23U, /**< LPUART3 device trigger input */ 426 kTRGMUX_Trgmux1Lpcmp0 = 23U, /**< LPCMP0 device trigger input */ 427 kTRGMUX_Trgmux0Lpcmp1 = 24U, /**< LPCMP1 device trigger input */ 428 kTRGMUX_Trgmux1Lpdac0 = 24U, /**< LPDAC0 device trigger input */ 429 } trgmux_device_t; 430 431 /* @} */ 432 433 /*! 434 * @addtogroup xrdc_mapping 435 * @{ 436 */ 437 438 /******************************************************************************* 439 * Definitions 440 ******************************************************************************/ 441 442 /*! 443 * @brief Structure for the XRDC mapping 444 * 445 * Defines the structure for the XRDC resource collections. 446 */ 447 448 typedef enum _xrdc_master 449 { 450 kXRDC_MasterCM4CodeBus = 0U, /**< CM4 C-BUS */ 451 kXRDC_MasterCM4SystemBus = 1U, /**< CM4 S-BUS */ 452 kXRDC_MasterRI5CYCodeBus = 16U, /**< RI5CY C-BUS */ 453 kXRDC_MasterRI5CYSystemBus = 17U, /**< RI5CY S-BUS */ 454 kXRDC_MasterEdma0 = 2U, /**< EDMA0 */ 455 kXRDC_MasterUsdhc = 3U, /**< USDHC */ 456 kXRDC_MasterUsb = 4U, /**< USB */ 457 kXRDC_MasterCM0P = 32U, /**< CM0P */ 458 kXRDC_MasterEdma1 = 33U, /**< EDMA1 */ 459 kXRDC_MasterCau3 = 34U, /**< CAU3 */ 460 kXRDC_MasterZERORISCYCodeBus = 35U, /**< ZERO RISCY C-BUS */ 461 kXRDC_MasterZERORISCYSystemBus = 36U, /**< ZERO RISCY S-BUS */ 462 } xrdc_master_t; 463 464 /* @} */ 465 466 typedef enum _xrdc_mem 467 { 468 kXRDC_MemMrc0_0 = 0U, /**< MRC0 Memory 0 */ 469 kXRDC_MemMrc0_1 = 1U, /**< MRC0 Memory 1 */ 470 kXRDC_MemMrc0_2 = 2U, /**< MRC0 Memory 2 */ 471 kXRDC_MemMrc0_3 = 3U, /**< MRC0 Memory 3 */ 472 kXRDC_MemMrc0_4 = 4U, /**< MRC0 Memory 4 */ 473 kXRDC_MemMrc0_5 = 5U, /**< MRC0 Memory 5 */ 474 kXRDC_MemMrc0_6 = 6U, /**< MRC0 Memory 6 */ 475 kXRDC_MemMrc0_7 = 7U, /**< MRC0 Memory 7 */ 476 kXRDC_MemMrc1_0 = 16U, /**< MRC1 Memory 0 */ 477 kXRDC_MemMrc1_1 = 17U, /**< MRC1 Memory 1 */ 478 kXRDC_MemMrc1_2 = 18U, /**< MRC1 Memory 2 */ 479 kXRDC_MemMrc1_3 = 19U, /**< MRC1 Memory 3 */ 480 kXRDC_MemMrc1_4 = 20U, /**< MRC1 Memory 4 */ 481 kXRDC_MemMrc1_5 = 21U, /**< MRC1 Memory 5 */ 482 kXRDC_MemMrc1_6 = 22U, /**< MRC1 Memory 6 */ 483 kXRDC_MemMrc1_7 = 23U, /**< MRC1 Memory 7 */ 484 } xrdc_mem_t; 485 486 typedef enum _xrdc_periph 487 { 488 kXRDC_PeriphMscm = 1U, /**< Miscellaneous System Control Module (MSCM) */ 489 kXRDC_PeriphDma0 = 8U, /**< Direct Memory Access 0 (DMA0) controller */ 490 kXRDC_PeriphDma0Tcd = 9U, /**< Direct Memory Access 0 (DMA0) controller transfer control descriptors */ 491 kXRDC_PeriphFlexBus = 12U, /**< External Bus Interface(FlexBus) */ 492 kXRDC_PeriphXrdcMgr = 20U, /**< Extended Resource Domain Controller (XRDC) MGR */ 493 kXRDC_PeriphXrdcMdac = 21U, /**< Extended Resource Domain Controller (XRDC) MDAC */ 494 kXRDC_PeriphXrdcPac = 22U, /**< Extended Resource Domain Controller (XRDC) PAC */ 495 kXRDC_PeriphXrdcMrc = 23U, /**< Extended Resource Domain Controller (XRDC) MRC */ 496 kXRDC_PeriphSema420 = 27U, /**< Semaphore Unit 0 (SEMA420) */ 497 kXRDC_PeriphCmc0 = 32U, /**< Core Mode Controller (CMC) */ 498 kXRDC_PeriphDmamux0 = 33U, /**< Direct Memory Access Multiplexer 0 (DMAMUX0) */ 499 kXRDC_PeriphEwm = 34U, /**< External Watchdog Monitor (EWM) */ 500 kXRDC_PeriphFtfe = 35U, /**< Flash Memory Module (FTFE) */ 501 kXRDC_PeriphLlwu0 = 36U, /**< Low Leakage Wake-up Unit 0 (LLWU0) */ 502 kXRDC_PeriphMua = 37U, /**< Message Unit Side A (MU-A) */ 503 kXRDC_PeriphSim = 38U, /**< System Integration Module (SIM) */ 504 kXRDC_PeriphSimdgo = 39U, /**< System Integration Module - DGO (SIM-DGO) */ 505 kXRDC_PeriphSpm = 40U, /**< System Power Management (SPM) */ 506 kXRDC_PeriphTrgmux0 = 41U, /**< Tirgger Multiplexer 0 (TRGMUX0) */ 507 kXRDC_PeriphWdog0 = 42U, /**< Watchdog 0 (WDOG0) */ 508 kXRDC_PeriphPcc0 = 43U, /**< Peripheral Clock Controller 0 (PCC0) */ 509 kXRDC_PeriphScg = 44U, /**< System Clock Generator (SCG) */ 510 kXRDC_PeriphSrf = 45U, /**< System Register File */ 511 kXRDC_PeriphVbat = 46U, /**< VBAT Register File */ 512 kXRDC_PeriphCrc0 = 47U, /**< Cyclic Redundancy Check 0 (CRC0) */ 513 kXRDC_PeriphLpit0 = 48U, /**< Low-Power Periodic Interrupt Timer 0 (LPIT0) */ 514 kXRDC_PeriphRtc = 49U, /**< Real Time Clock (RTC) */ 515 kXRDC_PeriphLptmr0 = 50U, /**< Low-Power Timer 0 (LPTMR0) */ 516 kXRDC_PeriphLptmr1 = 51U, /**< Low-Power Timer 1 (LPTMR1) */ 517 kXRDC_PeriphTstmr0 = 52U, /**< Time Stamp Timer 0 (TSTMR0) */ 518 kXRDC_PeriphTpm0 = 53U, /**< Timer / Pulse Width Modulator Module 0 (TPM0) - 6 channel */ 519 kXRDC_PeriphTpm1 = 54U, /**< Timer / Pulse Width Modulator Module 1 (TPM1) - 2 channel */ 520 kXRDC_PeriphTpm2 = 55U, /**< Timer / Pulse Width Modulator Module 2 (TPM2) - 6 channel */ 521 kXRDC_PeriphEmvsim0 = 56U, /**< Euro Mastercard Visa Secure Identity Module 0 (EMVSIM0) */ 522 kXRDC_PeriphFlexio0 = 57U, /**< Flexible Input / Output 0 (FlexIO0) */ 523 kXRDC_PeriphLpi2c0 = 58U, /**< Low-Power Inter-Integrated Circuit 0 (LPI2C0) */ 524 kXRDC_PeriphLpi2c1 = 59U, /**< Low-Power Inter-Integrated Circuit 1 (LPI2C1) */ 525 kXRDC_PeriphLpi2c2 = 60U, /**< Low-Power Inter-Integrated Circuit 2 (LPI2C2) */ 526 kXRDC_PeriphSai0 = 61U, /**< Serial Audio Interface 0 (SAI0) */ 527 kXRDC_PeriphSdhc0 = 62U, /**< Secure Digital Host Controller 0 (SDHC0) */ 528 kXRDC_PeriphLpspi0 = 63U, /**< Low-Power Serial Peripheral Interface 0 (LPSPI0) */ 529 kXRDC_PeriphLpspi1 = 64U, /**< Low-Power Serial Peripheral Interface 1 (LPSPI1) */ 530 kXRDC_PeriphLpspi2 = 65U, /**< Low-Power Serial Peripheral Interface 2 (LPSPI2) */ 531 kXRDC_PeriphLpuart0 = 66U, /**< Low-Power Universal Asynchronous Receive / Transmit 0 (LPUART0) */ 532 kXRDC_PeriphLpuart1 = 67U, /**< Low-Power Universal Asynchronous Receive / Transmit 1 (LPUART1) */ 533 kXRDC_PeriphLpuart2 = 68U, /**< Low-Power Universal Asynchronous Receive / Transmit 2 (LPUART2) */ 534 kXRDC_PeriphUsb0 = 69U, /**< Universal Serial Bus 0 (USB0) - Full Speed, Device Only */ 535 kXRDC_PeriphPortA = 70U, /**< PORTA Multiplex Control */ 536 kXRDC_PeriphPortB = 71U, /**< PORTB Multiplex Control */ 537 kXRDC_PeriphPortC = 72U, /**< PORTC Multiplex Control */ 538 kXRDC_PeriphPortD = 73U, /**< PORTD Multiplex Control */ 539 kXRDC_PeriphLpadc0 = 74U, /**< Low-Power Analog-to-Digital Converter 0 (LPADC0) */ 540 kXRDC_PeriphLpcmp0 = 75U, /**< Low-Power Comparator 0 (LPCMP0) */ 541 kXRDC_PeriphDac0 = 76U, /**< Digital-to-Analog Converter 0 (DAC0) */ 542 kXRDC_PeriphVref = 77U, /**< Voltage Reference (VREF) */ 543 kXRDC_PeriphDma1 = 136U, /**< Direct Memory Access 1 (DMA1) controller */ 544 kXRDC_PeriphDma1Tcd = 137U, /**< Direct Memory Access 1 (DMA1) controller trasfer control descriptors */ 545 kXRDC_PeriphFgpio1 = 143U, /**< IO Port Alias */ 546 kXRDC_PeriphSema421 = 155U, /**< Semaphore Unit 1 (SEMA421) */ 547 kXRDC_PeriphCmc1 = 160U, /**< Core Mode Controller (CMC) */ 548 kXRDC_PeriphDmamux1 = 161U, /**< Direct Memory Access Mutiplexer 1 (DMAMUX1) */ 549 kXRDC_PeriphIntmux0 = 162U, /**< Interrupt Multiplexer 0 (INTMUX0) */ 550 kXRDC_Periphllwu1 = 163U, /**< Low Leakage Wake-up Unit 1 (LLWU1) */ 551 kXRDC_PeriphMub = 164U, /**< Messaging Unit - Side B (MU-B) */ 552 kXRDC_PeriphTrgmux1 = 165U, /**< Trigger Multiplexer 1 (TRGMUX1) */ 553 kXRDC_PeriphWdog1 = 166U, /**< Watchdog 1 (WDOG1) */ 554 kXRDC_PeriphPcc1 = 167U, /**< Peripheral Clock Controller 1 (PCC1) */ 555 kXRDC_PeriphCau3 = 168U, /**< Cryptographic Acceleration Unit (CAU3) */ 556 kXRDC_PeriphTrng = 169U, /**< True Random Number Generator (TRNG) */ 557 kXRDC_PeriphLpit1 = 170U, /**< Low-Power Periodic Interrupt Timer 1 (LPIT1) */ 558 kXRDC_PeriphLptmr2 = 171U, /**< Low-Power Timer 2 (LPTMR2) */ 559 kXRDC_PeriphTstmr1 = 172U, /**< Time Stamp Timer 1 (TSTMR1) */ 560 kXRDC_PeriphTpm3 = 173U, /**< Timer / Pulse Width Modulation Module 3 (TPM3) - 2 channel */ 561 kXRDC_PeriphLpi2c3 = 174U, /**< Low-Power Inter-Integrated Circuit 3 (LPI2C3) */ 562 kXRDC_PeriphRsim = 175U, /**< 2.4GHz Radio (RF2.4G) - RSIM */ 563 kXRDC_PeriphXcvr = 176U, /**< 2.4GHz Radio (RF2.4G) - XCVR */ 564 kXRDC_PeriphAnt = 177U, /**< 2.4GHz Radio (RF2.4G) - ANT+ Link Layer */ 565 kXRDC_PeriphBle = 178U, /**< 2.4GHz Radio (RF2.4G) - Bluetooth Link layer */ 566 kXRDC_PeriphGfsk = 179U, /**< 2.4GHz Radio (RF2.4G) - Generic Link layer */ 567 kXRDC_PeriphIeee = 180U, /**< 2.4GHz Radio (RF2.4G) - IEEE 802.15.4 Link Layer */ 568 kXRDC_PeriphLpspi3 = 181U, /**< Low-Power Serial Peripheral Interface 3 (LPSPI3) */ 569 kXRDC_PeriphLpuart3 = 182U, /**< Low-Power Universal Asynchronous Receive / Transmit 3 (LPUART3) */ 570 kXRDC_PeriphPortE = 183U, /**< PORTE Multiplex Control */ 571 kXRDC_PeriphLpcmp1 = 214U, /**< Low-Power Comparator 1 (LPCMP1) */ 572 } xrdc_periph_t; 573 574 575 /*! 576 * @} 577 */ /* end of group Mapping_Information */ 578 579 580 /* ---------------------------------------------------------------------------- 581 -- Device Peripheral Access Layer 582 ---------------------------------------------------------------------------- */ 583 584 /*! 585 * @addtogroup Peripheral_access_layer Device Peripheral Access Layer 586 * @{ 587 */ 588 589 590 /* 591 ** Start of section using anonymous unions 592 */ 593 594 #if defined(__ARMCC_VERSION) 595 #if (__ARMCC_VERSION >= 6010050) 596 #pragma clang diagnostic push 597 #else 598 #pragma push 599 #pragma anon_unions 600 #endif 601 #elif defined(__GNUC__) 602 /* anonymous unions are enabled by default */ 603 #elif defined(__IAR_SYSTEMS_ICC__) 604 #pragma language=extended 605 #else 606 #error Not supported compiler type 607 #endif 608 609 /* ---------------------------------------------------------------------------- 610 -- ADC Peripheral Access Layer 611 ---------------------------------------------------------------------------- */ 612 613 /*! 614 * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer 615 * @{ 616 */ 617 618 /** ADC - Register Layout Typedef */ 619 typedef struct { 620 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 621 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 622 uint8_t RESERVED_0[8]; 623 __IO uint32_t CTRL; /**< ADC Control Register, offset: 0x10 */ 624 __IO uint32_t STAT; /**< ADC Status Register, offset: 0x14 */ 625 __IO uint32_t IE; /**< Interrupt Enable Register, offset: 0x18 */ 626 __IO uint32_t DE; /**< DMA Enable Register, offset: 0x1C */ 627 __IO uint32_t CFG; /**< ADC Configuration Register, offset: 0x20 */ 628 __IO uint32_t PAUSE; /**< ADC Pause Register, offset: 0x24 */ 629 uint8_t RESERVED_1[8]; 630 __IO uint32_t FCTRL; /**< ADC FIFO Control Register, offset: 0x30 */ 631 __O uint32_t SWTRIG; /**< Software Trigger Register, offset: 0x34 */ 632 uint8_t RESERVED_2[8]; 633 __IO uint32_t OFSTRIM; /**< ADC Offset Trim Register, offset: 0x40 */ 634 uint8_t RESERVED_3[124]; 635 __IO uint32_t TCTRL[4]; /**< Trigger Control Register, array offset: 0xC0, array step: 0x4 */ 636 uint8_t RESERVED_4[48]; 637 struct { /* offset: 0x100, array step: 0x8 */ 638 __IO uint32_t CMDL; /**< ADC Command Low Buffer Register, array offset: 0x100, array step: 0x8 */ 639 __IO uint32_t CMDH; /**< ADC Command High Buffer Register, array offset: 0x104, array step: 0x8 */ 640 } CMD[15]; 641 uint8_t RESERVED_5[136]; 642 __IO uint32_t CV[4]; /**< Compare Value Register, array offset: 0x200, array step: 0x4 */ 643 uint8_t RESERVED_6[240]; 644 __I uint32_t RESFIFO; /**< ADC Data Result FIFO Register, offset: 0x300 */ 645 } ADC_Type; 646 647 /* ---------------------------------------------------------------------------- 648 -- ADC Register Masks 649 ---------------------------------------------------------------------------- */ 650 651 /*! 652 * @addtogroup ADC_Register_Masks ADC Register Masks 653 * @{ 654 */ 655 656 /*! @name VERID - Version ID Register */ 657 /*! @{ */ 658 #define ADC_VERID_RES_MASK (0x1U) 659 #define ADC_VERID_RES_SHIFT (0U) 660 /*! RES - Resolution 661 * 0b0..Up to 13-bit differential/12-bit single ended resolution supported. 662 * 0b1..Up to 16-bit differential/15-bit single ended resolution supported. 663 */ 664 #define ADC_VERID_RES(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_RES_SHIFT)) & ADC_VERID_RES_MASK) 665 #define ADC_VERID_DIFFEN_MASK (0x2U) 666 #define ADC_VERID_DIFFEN_SHIFT (1U) 667 /*! DIFFEN - Differential Supported 668 * 0b0..Differential operation not supported. 669 * 0b1..Differential operation supported. CMDLa[DIFF] and CMDLa[ABSEL] control fields implemented. 670 */ 671 #define ADC_VERID_DIFFEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_DIFFEN_SHIFT)) & ADC_VERID_DIFFEN_MASK) 672 #define ADC_VERID_MVI_MASK (0x8U) 673 #define ADC_VERID_MVI_SHIFT (3U) 674 /*! MVI - Multi Vref Implemented 675 * 0b0..Single voltage reference high (VREFH) input supported. 676 * 0b1..Multiple voltage reference high (VREFH) inputs supported. 677 */ 678 #define ADC_VERID_MVI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MVI_SHIFT)) & ADC_VERID_MVI_MASK) 679 #define ADC_VERID_CSW_MASK (0x70U) 680 #define ADC_VERID_CSW_SHIFT (4U) 681 /*! CSW - Channel Scale Width 682 * 0b000..Channel scaling not supported. 683 * 0b001..Channel scaling supported. 1-bit CSCALE control field. 684 * 0b110..Channel scaling supported. 6-bit CSCALE control field. 685 */ 686 #define ADC_VERID_CSW(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_CSW_SHIFT)) & ADC_VERID_CSW_MASK) 687 #define ADC_VERID_VR1RNGI_MASK (0x100U) 688 #define ADC_VERID_VR1RNGI_SHIFT (8U) 689 /*! VR1RNGI - Voltage Reference 1 Range Control Bit Implemented 690 * 0b0..Range control not required. CFG[VREF1RNG] is not implemented. 691 * 0b1..Range control required. CFG[VREF1RNG] is implemented. 692 */ 693 #define ADC_VERID_VR1RNGI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_VR1RNGI_SHIFT)) & ADC_VERID_VR1RNGI_MASK) 694 #define ADC_VERID_IADCKI_MASK (0x200U) 695 #define ADC_VERID_IADCKI_SHIFT (9U) 696 /*! IADCKI - Internal ADC Clock implemented 697 * 0b0..Internal clock source not implemented. 698 * 0b1..Internal clock source (and CFG[ADCKEN]) implemented. 699 */ 700 #define ADC_VERID_IADCKI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_IADCKI_SHIFT)) & ADC_VERID_IADCKI_MASK) 701 #define ADC_VERID_CALOFSI_MASK (0x400U) 702 #define ADC_VERID_CALOFSI_SHIFT (10U) 703 /*! CALOFSI - Calibration Offset Function Implemented 704 * 0b0..Offset calibration and offset trimming not implemented. 705 * 0b1..Offset calibration and offset trimming implemented. 706 */ 707 #define ADC_VERID_CALOFSI(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_CALOFSI_SHIFT)) & ADC_VERID_CALOFSI_MASK) 708 #define ADC_VERID_MINOR_MASK (0xFF0000U) 709 #define ADC_VERID_MINOR_SHIFT (16U) 710 #define ADC_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MINOR_SHIFT)) & ADC_VERID_MINOR_MASK) 711 #define ADC_VERID_MAJOR_MASK (0xFF000000U) 712 #define ADC_VERID_MAJOR_SHIFT (24U) 713 #define ADC_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << ADC_VERID_MAJOR_SHIFT)) & ADC_VERID_MAJOR_MASK) 714 /*! @} */ 715 716 /*! @name PARAM - Parameter Register */ 717 /*! @{ */ 718 #define ADC_PARAM_TRIG_NUM_MASK (0xFFU) 719 #define ADC_PARAM_TRIG_NUM_SHIFT (0U) 720 #define ADC_PARAM_TRIG_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_TRIG_NUM_SHIFT)) & ADC_PARAM_TRIG_NUM_MASK) 721 #define ADC_PARAM_FIFOSIZE_MASK (0xFF00U) 722 #define ADC_PARAM_FIFOSIZE_SHIFT (8U) 723 /*! FIFOSIZE - Result FIFO Depth 724 * 0b00000001..Result FIFO depth = 1 dataword. 725 * 0b00000100..Result FIFO depth = 4 datawords. 726 * 0b00001000..Result FIFO depth = 8 datawords. 727 * 0b00010000..Result FIFO depth = 16 datawords. 728 * 0b00100000..Result FIFO depth = 32 datawords. 729 * 0b01000000..Result FIFO depth = 64 datawords. 730 */ 731 #define ADC_PARAM_FIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_FIFOSIZE_SHIFT)) & ADC_PARAM_FIFOSIZE_MASK) 732 #define ADC_PARAM_CV_NUM_MASK (0xFF0000U) 733 #define ADC_PARAM_CV_NUM_SHIFT (16U) 734 #define ADC_PARAM_CV_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_CV_NUM_SHIFT)) & ADC_PARAM_CV_NUM_MASK) 735 #define ADC_PARAM_CMD_NUM_MASK (0xFF000000U) 736 #define ADC_PARAM_CMD_NUM_SHIFT (24U) 737 #define ADC_PARAM_CMD_NUM(x) (((uint32_t)(((uint32_t)(x)) << ADC_PARAM_CMD_NUM_SHIFT)) & ADC_PARAM_CMD_NUM_MASK) 738 /*! @} */ 739 740 /*! @name CTRL - ADC Control Register */ 741 /*! @{ */ 742 #define ADC_CTRL_ADCEN_MASK (0x1U) 743 #define ADC_CTRL_ADCEN_SHIFT (0U) 744 /*! ADCEN - ADC Enable 745 * 0b0..ADC is disabled. 746 * 0b1..ADC is enabled. 747 */ 748 #define ADC_CTRL_ADCEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_ADCEN_SHIFT)) & ADC_CTRL_ADCEN_MASK) 749 #define ADC_CTRL_RST_MASK (0x2U) 750 #define ADC_CTRL_RST_SHIFT (1U) 751 /*! RST - Software Reset 752 * 0b0..ADC logic is not reset. 753 * 0b1..ADC logic is reset. 754 */ 755 #define ADC_CTRL_RST(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RST_SHIFT)) & ADC_CTRL_RST_MASK) 756 #define ADC_CTRL_DOZEN_MASK (0x4U) 757 #define ADC_CTRL_DOZEN_SHIFT (2U) 758 /*! DOZEN - Doze Enable 759 * 0b0..ADC is enabled in Doze mode. 760 * 0b1..ADC is disabled in Doze mode. 761 */ 762 #define ADC_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_DOZEN_SHIFT)) & ADC_CTRL_DOZEN_MASK) 763 #define ADC_CTRL_RSTFIFO_MASK (0x100U) 764 #define ADC_CTRL_RSTFIFO_SHIFT (8U) 765 /*! RSTFIFO - Reset FIFO 766 * 0b0..No effect. 767 * 0b1..FIFO is reset. 768 */ 769 #define ADC_CTRL_RSTFIFO(x) (((uint32_t)(((uint32_t)(x)) << ADC_CTRL_RSTFIFO_SHIFT)) & ADC_CTRL_RSTFIFO_MASK) 770 /*! @} */ 771 772 /*! @name STAT - ADC Status Register */ 773 /*! @{ */ 774 #define ADC_STAT_RDY_MASK (0x1U) 775 #define ADC_STAT_RDY_SHIFT (0U) 776 /*! RDY - Result FIFO Ready Flag 777 * 0b0..Result FIFO data level not above watermark level. 778 * 0b1..Result FIFO holding data above watermark level. 779 */ 780 #define ADC_STAT_RDY(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_RDY_SHIFT)) & ADC_STAT_RDY_MASK) 781 #define ADC_STAT_FOF_MASK (0x2U) 782 #define ADC_STAT_FOF_SHIFT (1U) 783 /*! FOF - Result FIFO Overflow Flag 784 * 0b0..No result FIFO overflow has occurred since the last time the flag was cleared. 785 * 0b1..At least one result FIFO overflow has occurred since the last time the flag was cleared. 786 */ 787 #define ADC_STAT_FOF(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_FOF_SHIFT)) & ADC_STAT_FOF_MASK) 788 #define ADC_STAT_TRGACT_MASK (0x30000U) 789 #define ADC_STAT_TRGACT_SHIFT (16U) 790 /*! TRGACT - Trigger Active 791 * 0b00..Command (sequence) associated with Trigger 0 currently being executed. 792 * 0b01..Command (sequence) associated with Trigger 1 currently being executed. 793 * 0b10..Command (sequence) associated with Trigger 2 currently being executed. 794 * 0b11..Command (sequence) associated with Trigger 3 currently being executed. 795 */ 796 #define ADC_STAT_TRGACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_TRGACT_SHIFT)) & ADC_STAT_TRGACT_MASK) 797 #define ADC_STAT_CMDACT_MASK (0xF000000U) 798 #define ADC_STAT_CMDACT_SHIFT (24U) 799 /*! CMDACT - Command Active 800 * 0b0000..No command is currently in progress. 801 * 0b0001..Command 1 currently being executed. 802 * 0b0010..Command 2 currently being executed. 803 * 0b0011-0b1111..Associated command number is currently being executed. 804 */ 805 #define ADC_STAT_CMDACT(x) (((uint32_t)(((uint32_t)(x)) << ADC_STAT_CMDACT_SHIFT)) & ADC_STAT_CMDACT_MASK) 806 /*! @} */ 807 808 /*! @name IE - Interrupt Enable Register */ 809 /*! @{ */ 810 #define ADC_IE_FWMIE_MASK (0x1U) 811 #define ADC_IE_FWMIE_SHIFT (0U) 812 /*! FWMIE - FIFO Watermark Interrupt Enable 813 * 0b0..FIFO watermark interrupts are not enabled. 814 * 0b1..FIFO watermark interrupts are enabled. 815 */ 816 #define ADC_IE_FWMIE(x) (((uint32_t)(((uint32_t)(x)) << ADC_IE_FWMIE_SHIFT)) & ADC_IE_FWMIE_MASK) 817 #define ADC_IE_FOFIE_MASK (0x2U) 818 #define ADC_IE_FOFIE_SHIFT (1U) 819 /*! FOFIE - Result FIFO Overflow Interrupt Enable 820 * 0b0..FIFO overflow interrupts are not enabled. 821 * 0b1..FIFO overflow interrupts are enabled. 822 */ 823 #define ADC_IE_FOFIE(x) (((uint32_t)(((uint32_t)(x)) << ADC_IE_FOFIE_SHIFT)) & ADC_IE_FOFIE_MASK) 824 /*! @} */ 825 826 /*! @name DE - DMA Enable Register */ 827 /*! @{ */ 828 #define ADC_DE_FWMDE_MASK (0x1U) 829 #define ADC_DE_FWMDE_SHIFT (0U) 830 /*! FWMDE - FIFO Watermark DMA Enable 831 * 0b0..DMA request disabled. 832 * 0b1..DMA request enabled. 833 */ 834 #define ADC_DE_FWMDE(x) (((uint32_t)(((uint32_t)(x)) << ADC_DE_FWMDE_SHIFT)) & ADC_DE_FWMDE_MASK) 835 /*! @} */ 836 837 /*! @name CFG - ADC Configuration Register */ 838 /*! @{ */ 839 #define ADC_CFG_TPRICTRL_MASK (0x1U) 840 #define ADC_CFG_TPRICTRL_SHIFT (0U) 841 /*! TPRICTRL - ADC trigger priority control 842 * 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. 843 * 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. 844 */ 845 #define ADC_CFG_TPRICTRL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_TPRICTRL_SHIFT)) & ADC_CFG_TPRICTRL_MASK) 846 #define ADC_CFG_PWRSEL_MASK (0x30U) 847 #define ADC_CFG_PWRSEL_SHIFT (4U) 848 /*! PWRSEL - Power Configuration Select 849 * 0b00..Level 1 (Lowest power setting) 850 * 0b01..Level 2 851 * 0b10..Level 3 852 * 0b11..Level 4 (Highest power setting) 853 */ 854 #define ADC_CFG_PWRSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PWRSEL_SHIFT)) & ADC_CFG_PWRSEL_MASK) 855 #define ADC_CFG_REFSEL_MASK (0xC0U) 856 #define ADC_CFG_REFSEL_SHIFT (6U) 857 /*! REFSEL - Voltage Reference Selection 858 * 0b00..(Default) Option 1 setting. 859 * 0b01..Option 2 setting. 860 * 0b10..Option 3 setting. 861 * 0b11..Reserved 862 */ 863 #define ADC_CFG_REFSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_REFSEL_SHIFT)) & ADC_CFG_REFSEL_MASK) 864 #define ADC_CFG_CALOFS_MASK (0x8000U) 865 #define ADC_CFG_CALOFS_SHIFT (15U) 866 /*! CALOFS - Configure for offset calibration function 867 * 0b0..Calibration function disabled 868 * 0b1..Configure for offset calibration function 869 */ 870 #define ADC_CFG_CALOFS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_CALOFS_SHIFT)) & ADC_CFG_CALOFS_MASK) 871 #define ADC_CFG_PUDLY_MASK (0xFF0000U) 872 #define ADC_CFG_PUDLY_SHIFT (16U) 873 #define ADC_CFG_PUDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PUDLY_SHIFT)) & ADC_CFG_PUDLY_MASK) 874 #define ADC_CFG_PWREN_MASK (0x10000000U) 875 #define ADC_CFG_PWREN_SHIFT (28U) 876 /*! PWREN - ADC Analog Pre-Enable 877 * 0b0..ADC analog circuits are only enabled while conversions are active. Performance is affected due to analog startup delays. 878 * 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. 879 */ 880 #define ADC_CFG_PWREN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_PWREN_SHIFT)) & ADC_CFG_PWREN_MASK) 881 #define ADC_CFG_VREF1RNG_MASK (0x20000000U) 882 #define ADC_CFG_VREF1RNG_SHIFT (29U) 883 /*! VREF1RNG - Enable support for low voltage reference on Option 1 Reference 884 * 0b0..Configuration required when Voltage Reference Option 1 input is in high voltage range 885 * 0b1..Configuration required when Voltage Reference Option 1 input is in low voltage range 886 */ 887 #define ADC_CFG_VREF1RNG(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_VREF1RNG_SHIFT)) & ADC_CFG_VREF1RNG_MASK) 888 #define ADC_CFG_ADCKEN_MASK (0x80000000U) 889 #define ADC_CFG_ADCKEN_SHIFT (31U) 890 /*! ADCKEN - ADC asynchronous clock enable 891 * 0b0..ADC internal clock is disabled 892 * 0b1..ADC internal clock is enabled 893 */ 894 #define ADC_CFG_ADCKEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CFG_ADCKEN_SHIFT)) & ADC_CFG_ADCKEN_MASK) 895 /*! @} */ 896 897 /*! @name PAUSE - ADC Pause Register */ 898 /*! @{ */ 899 #define ADC_PAUSE_PAUSEDLY_MASK (0x1FFU) 900 #define ADC_PAUSE_PAUSEDLY_SHIFT (0U) 901 #define ADC_PAUSE_PAUSEDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_PAUSE_PAUSEDLY_SHIFT)) & ADC_PAUSE_PAUSEDLY_MASK) 902 #define ADC_PAUSE_PAUSEEN_MASK (0x80000000U) 903 #define ADC_PAUSE_PAUSEEN_SHIFT (31U) 904 /*! PAUSEEN - PAUSE Option Enable 905 * 0b0..Pause operation disabled 906 * 0b1..Pause operation enabled 907 */ 908 #define ADC_PAUSE_PAUSEEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_PAUSE_PAUSEEN_SHIFT)) & ADC_PAUSE_PAUSEEN_MASK) 909 /*! @} */ 910 911 /*! @name FCTRL - ADC FIFO Control Register */ 912 /*! @{ */ 913 #define ADC_FCTRL_FCOUNT_MASK (0x1FU) 914 #define ADC_FCTRL_FCOUNT_SHIFT (0U) 915 #define ADC_FCTRL_FCOUNT(x) (((uint32_t)(((uint32_t)(x)) << ADC_FCTRL_FCOUNT_SHIFT)) & ADC_FCTRL_FCOUNT_MASK) 916 #define ADC_FCTRL_FWMARK_MASK (0xF0000U) 917 #define ADC_FCTRL_FWMARK_SHIFT (16U) 918 #define ADC_FCTRL_FWMARK(x) (((uint32_t)(((uint32_t)(x)) << ADC_FCTRL_FWMARK_SHIFT)) & ADC_FCTRL_FWMARK_MASK) 919 /*! @} */ 920 921 /*! @name SWTRIG - Software Trigger Register */ 922 /*! @{ */ 923 #define ADC_SWTRIG_SWT0_MASK (0x1U) 924 #define ADC_SWTRIG_SWT0_SHIFT (0U) 925 /*! SWT0 - Software trigger 0 event 926 * 0b0..No trigger 0 event generated. 927 * 0b1..Trigger 0 event generated. 928 */ 929 #define ADC_SWTRIG_SWT0(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT0_SHIFT)) & ADC_SWTRIG_SWT0_MASK) 930 #define ADC_SWTRIG_SWT1_MASK (0x2U) 931 #define ADC_SWTRIG_SWT1_SHIFT (1U) 932 /*! SWT1 - Software trigger 1 event 933 * 0b0..No trigger 1 event generated. 934 * 0b1..Trigger 1 event generated. 935 */ 936 #define ADC_SWTRIG_SWT1(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT1_SHIFT)) & ADC_SWTRIG_SWT1_MASK) 937 #define ADC_SWTRIG_SWT2_MASK (0x4U) 938 #define ADC_SWTRIG_SWT2_SHIFT (2U) 939 /*! SWT2 - Software trigger 2 event 940 * 0b0..No trigger 2 event generated. 941 * 0b1..Trigger 2 event generated. 942 */ 943 #define ADC_SWTRIG_SWT2(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT2_SHIFT)) & ADC_SWTRIG_SWT2_MASK) 944 #define ADC_SWTRIG_SWT3_MASK (0x8U) 945 #define ADC_SWTRIG_SWT3_SHIFT (3U) 946 /*! SWT3 - Software trigger 3 event 947 * 0b0..No trigger 3 event generated. 948 * 0b1..Trigger 3 event generated. 949 */ 950 #define ADC_SWTRIG_SWT3(x) (((uint32_t)(((uint32_t)(x)) << ADC_SWTRIG_SWT3_SHIFT)) & ADC_SWTRIG_SWT3_MASK) 951 /*! @} */ 952 953 /*! @name OFSTRIM - ADC Offset Trim Register */ 954 /*! @{ */ 955 #define ADC_OFSTRIM_OFSTRIM_MASK (0x3FU) 956 #define ADC_OFSTRIM_OFSTRIM_SHIFT (0U) 957 #define ADC_OFSTRIM_OFSTRIM(x) (((uint32_t)(((uint32_t)(x)) << ADC_OFSTRIM_OFSTRIM_SHIFT)) & ADC_OFSTRIM_OFSTRIM_MASK) 958 /*! @} */ 959 960 /*! @name TCTRL - Trigger Control Register */ 961 /*! @{ */ 962 #define ADC_TCTRL_HTEN_MASK (0x1U) 963 #define ADC_TCTRL_HTEN_SHIFT (0U) 964 /*! HTEN - Trigger enable 965 * 0b0..Hardware trigger source disabled 966 * 0b1..Hardware trigger source enabled 967 */ 968 #define ADC_TCTRL_HTEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_HTEN_SHIFT)) & ADC_TCTRL_HTEN_MASK) 969 #define ADC_TCTRL_TPRI_MASK (0x300U) 970 #define ADC_TCTRL_TPRI_SHIFT (8U) 971 /*! TPRI - Trigger priority setting 972 * 0b00..Set to highest priority, Level 1 973 * 0b01-0b10..Set to corresponding priority level 974 * 0b11..Set to lowest priority, Level 4 975 */ 976 #define ADC_TCTRL_TPRI(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TPRI_SHIFT)) & ADC_TCTRL_TPRI_MASK) 977 #define ADC_TCTRL_TDLY_MASK (0xF0000U) 978 #define ADC_TCTRL_TDLY_SHIFT (16U) 979 #define ADC_TCTRL_TDLY(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TDLY_SHIFT)) & ADC_TCTRL_TDLY_MASK) 980 #define ADC_TCTRL_TCMD_MASK (0xF000000U) 981 #define ADC_TCTRL_TCMD_SHIFT (24U) 982 /*! TCMD - Trigger command select 983 * 0b0000..Not a valid selection from the command buffer. Trigger event is ignored. 984 * 0b0001..CMD1 is executed 985 * 0b0010-0b1110..Corresponding CMD is executed 986 * 0b1111..CMD15 is executed 987 */ 988 #define ADC_TCTRL_TCMD(x) (((uint32_t)(((uint32_t)(x)) << ADC_TCTRL_TCMD_SHIFT)) & ADC_TCTRL_TCMD_MASK) 989 /*! @} */ 990 991 /* The count of ADC_TCTRL */ 992 #define ADC_TCTRL_COUNT (4U) 993 994 /*! @name CMDL - ADC Command Low Buffer Register */ 995 /*! @{ */ 996 #define ADC_CMDL_ADCH_MASK (0x1FU) 997 #define ADC_CMDL_ADCH_SHIFT (0U) 998 /*! ADCH - Input channel select 999 * 0b00000..Select CH0A or CH0B 1000 * 0b00001..Select CH1A or CH1B 1001 * 0b00010..Select CH2A or CH2B 1002 * 0b00011..Select CH3A or CH3B 1003 * 0b00100-0b11101..Select corresponding channel CHnA or CHnB 1004 * 0b11110..Select CH30A or CH30B 1005 * 0b11111..Select CH31A or CH31B 1006 */ 1007 #define ADC_CMDL_ADCH(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_ADCH_SHIFT)) & ADC_CMDL_ADCH_MASK) 1008 #define ADC_CMDL_ABSEL_MASK (0x20U) 1009 #define ADC_CMDL_ABSEL_SHIFT (5U) 1010 /*! ABSEL - A-side vs. B-side Select 1011 * 0b0..The associated A-side channel is converted. 1012 * 0b1..The associated B-side channel is converted. 1013 */ 1014 #define ADC_CMDL_ABSEL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDL_ABSEL_SHIFT)) & ADC_CMDL_ABSEL_MASK) 1015 /*! @} */ 1016 1017 /* The count of ADC_CMDL */ 1018 #define ADC_CMDL_COUNT (15U) 1019 1020 /*! @name CMDH - ADC Command High Buffer Register */ 1021 /*! @{ */ 1022 #define ADC_CMDH_CMPEN_MASK (0x3U) 1023 #define ADC_CMDH_CMPEN_SHIFT (0U) 1024 /*! CMPEN - Compare Function Enable 1025 * 0b00..Compare disabled. 1026 * 0b01..Reserved 1027 * 0b10..Compare enabled. Store on true. 1028 * 0b11..Compare enabled. Repeat channel acquisition (sample/convert/compare) until true. 1029 */ 1030 #define ADC_CMDH_CMPEN(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_CMPEN_SHIFT)) & ADC_CMDH_CMPEN_MASK) 1031 #define ADC_CMDH_LWI_MASK (0x80U) 1032 #define ADC_CMDH_LWI_SHIFT (7U) 1033 /*! LWI - Loop with Increment 1034 * 0b0..Auto channel increment disabled 1035 * 0b1..Auto channel increment enabled 1036 */ 1037 #define ADC_CMDH_LWI(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_LWI_SHIFT)) & ADC_CMDH_LWI_MASK) 1038 #define ADC_CMDH_STS_MASK (0x700U) 1039 #define ADC_CMDH_STS_SHIFT (8U) 1040 /*! STS - Sample Time Select 1041 * 0b000..Minimum sample time of 3 ADCK cycles. 1042 * 0b001..3 + 21 ADCK cycles; 5 ADCK cycles total sample time. 1043 * 0b010..3 + 22 ADCK cycles; 7 ADCK cycles total sample time. 1044 * 0b011..3 + 23 ADCK cycles; 11 ADCK cycles total sample time. 1045 * 0b100..3 + 24 ADCK cycles; 19 ADCK cycles total sample time. 1046 * 0b101..3 + 25 ADCK cycles; 35 ADCK cycles total sample time. 1047 * 0b110..3 + 26 ADCK cycles; 67 ADCK cycles total sample time. 1048 * 0b111..3 + 27 ADCK cycles; 131 ADCK cycles total sample time. 1049 */ 1050 #define ADC_CMDH_STS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_STS_SHIFT)) & ADC_CMDH_STS_MASK) 1051 #define ADC_CMDH_AVGS_MASK (0x7000U) 1052 #define ADC_CMDH_AVGS_SHIFT (12U) 1053 /*! AVGS - Hardware Average Select 1054 * 0b000..Single conversion. 1055 * 0b001..2 conversions averaged. 1056 * 0b010..4 conversions averaged. 1057 * 0b011..8 conversions averaged. 1058 * 0b100..16 conversions averaged. 1059 * 0b101..32 conversions averaged. 1060 * 0b110..64 conversions averaged. 1061 * 0b111..128 conversions averaged. 1062 */ 1063 #define ADC_CMDH_AVGS(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_AVGS_SHIFT)) & ADC_CMDH_AVGS_MASK) 1064 #define ADC_CMDH_LOOP_MASK (0xF0000U) 1065 #define ADC_CMDH_LOOP_SHIFT (16U) 1066 /*! LOOP - Loop Count Select 1067 * 0b0000..Looping not enabled. Command executes 1 time. 1068 * 0b0001..Loop 1 time. Command executes 2 times. 1069 * 0b0010..Loop 2 times. Command executes 3 times. 1070 * 0b0011-0b1110..Loop corresponding number of times. Command executes LOOP+1 times. 1071 * 0b1111..Loop 15 times. Command executes 16 times. 1072 */ 1073 #define ADC_CMDH_LOOP(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_LOOP_SHIFT)) & ADC_CMDH_LOOP_MASK) 1074 #define ADC_CMDH_NEXT_MASK (0xF000000U) 1075 #define ADC_CMDH_NEXT_SHIFT (24U) 1076 /*! NEXT - Next Command Select 1077 * 0b0000..No next command defined. Terminate conversions at completion of current command. If lower priority trigger pending, begin command associated with lower priority trigger. 1078 * 0b0001..Select CMD1 command buffer register as next command. 1079 * 0b0010-0b1110..Select corresponding CMD command buffer register as next command 1080 * 0b1111..Select CMD15 command buffer register as next command. 1081 */ 1082 #define ADC_CMDH_NEXT(x) (((uint32_t)(((uint32_t)(x)) << ADC_CMDH_NEXT_SHIFT)) & ADC_CMDH_NEXT_MASK) 1083 /*! @} */ 1084 1085 /* The count of ADC_CMDH */ 1086 #define ADC_CMDH_COUNT (15U) 1087 1088 /*! @name CV - Compare Value Register */ 1089 /*! @{ */ 1090 #define ADC_CV_CVL_MASK (0xFFFFU) 1091 #define ADC_CV_CVL_SHIFT (0U) 1092 #define ADC_CV_CVL(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CVL_SHIFT)) & ADC_CV_CVL_MASK) 1093 #define ADC_CV_CVH_MASK (0xFFFF0000U) 1094 #define ADC_CV_CVH_SHIFT (16U) 1095 #define ADC_CV_CVH(x) (((uint32_t)(((uint32_t)(x)) << ADC_CV_CVH_SHIFT)) & ADC_CV_CVH_MASK) 1096 /*! @} */ 1097 1098 /* The count of ADC_CV */ 1099 #define ADC_CV_COUNT (4U) 1100 1101 /*! @name RESFIFO - ADC Data Result FIFO Register */ 1102 /*! @{ */ 1103 #define ADC_RESFIFO_D_MASK (0xFFFFU) 1104 #define ADC_RESFIFO_D_SHIFT (0U) 1105 #define ADC_RESFIFO_D(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_D_SHIFT)) & ADC_RESFIFO_D_MASK) 1106 #define ADC_RESFIFO_TSRC_MASK (0x30000U) 1107 #define ADC_RESFIFO_TSRC_SHIFT (16U) 1108 /*! TSRC - Trigger Source 1109 * 0b00..Trigger source 0 initiated this conversion. 1110 * 0b01..Trigger source 1 initiated this conversion. 1111 * 0b10..Trigger source 2 initiated this conversion. 1112 * 0b11..Trigger source 3 initiated this conversion. 1113 */ 1114 #define ADC_RESFIFO_TSRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_TSRC_SHIFT)) & ADC_RESFIFO_TSRC_MASK) 1115 #define ADC_RESFIFO_LOOPCNT_MASK (0xF00000U) 1116 #define ADC_RESFIFO_LOOPCNT_SHIFT (20U) 1117 /*! LOOPCNT - Loop count value 1118 * 0b0000..Result is from initial conversion in command. 1119 * 0b0001..Result is from second conversion in command. 1120 * 0b0010-0b1110..Result is from LOOPCNT+1 conversion in command. 1121 * 0b1111..Result is from 16th conversion in command. 1122 */ 1123 #define ADC_RESFIFO_LOOPCNT(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_LOOPCNT_SHIFT)) & ADC_RESFIFO_LOOPCNT_MASK) 1124 #define ADC_RESFIFO_CMDSRC_MASK (0xF000000U) 1125 #define ADC_RESFIFO_CMDSRC_SHIFT (24U) 1126 /*! CMDSRC - Command Buffer Source 1127 * 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. 1128 * 0b0001..CMD1 buffer used as control settings for this conversion. 1129 * 0b0010-0b1110..Corresponding command buffer used as control settings for this conversion. 1130 * 0b1111..CMD15 buffer used as control settings for this conversion. 1131 */ 1132 #define ADC_RESFIFO_CMDSRC(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_CMDSRC_SHIFT)) & ADC_RESFIFO_CMDSRC_MASK) 1133 #define ADC_RESFIFO_VALID_MASK (0x80000000U) 1134 #define ADC_RESFIFO_VALID_SHIFT (31U) 1135 /*! VALID - FIFO entry is valid 1136 * 0b0..FIFO is empty. Discard any read from RESFIFO. 1137 * 0b1..FIFO record read from RESFIFO is valid. 1138 */ 1139 #define ADC_RESFIFO_VALID(x) (((uint32_t)(((uint32_t)(x)) << ADC_RESFIFO_VALID_SHIFT)) & ADC_RESFIFO_VALID_MASK) 1140 /*! @} */ 1141 1142 1143 /*! 1144 * @} 1145 */ /* end of group ADC_Register_Masks */ 1146 1147 1148 /* ADC - Peripheral instance base addresses */ 1149 /** Peripheral ADC0 base address */ 1150 #define ADC0_BASE (0x4004A000u) 1151 /** Peripheral ADC0 base pointer */ 1152 #define ADC0 ((ADC_Type *)ADC0_BASE) 1153 /** Array initializer of ADC peripheral base addresses */ 1154 #define ADC_BASE_ADDRS { ADC0_BASE } 1155 /** Array initializer of ADC peripheral base pointers */ 1156 #define ADC_BASE_PTRS { ADC0 } 1157 /** Interrupt vectors for the ADC peripheral type */ 1158 #define ADC_IRQS { ADC0_IRQn } 1159 1160 /*! 1161 * @} 1162 */ /* end of group ADC_Peripheral_Access_Layer */ 1163 1164 1165 /* ---------------------------------------------------------------------------- 1166 -- BTLE_RF Peripheral Access Layer 1167 ---------------------------------------------------------------------------- */ 1168 1169 /*! 1170 * @addtogroup BTLE_RF_Peripheral_Access_Layer BTLE_RF Peripheral Access Layer 1171 * @{ 1172 */ 1173 1174 /** BTLE_RF - Register Layout Typedef */ 1175 typedef struct { 1176 uint8_t RESERVED_0[1536]; 1177 __I uint16_t BLE_PART_ID; /**< BLUETOOTH LOW ENERGY PART ID, offset: 0x600 */ 1178 uint8_t RESERVED_1[2]; 1179 __I uint16_t DSM_STATUS; /**< BLE DSM STATUS, offset: 0x604 */ 1180 uint8_t RESERVED_2[2]; 1181 __IO uint16_t MISC_CTRL; /**< BLE MISCELLANEOUS CONTROL, offset: 0x608 */ 1182 uint8_t RESERVED_3[2]; 1183 __I uint16_t BLE_FSM; /**< BLE STATE MACHINE STATUS, offset: 0x60C */ 1184 } BTLE_RF_Type; 1185 1186 /* ---------------------------------------------------------------------------- 1187 -- BTLE_RF Register Masks 1188 ---------------------------------------------------------------------------- */ 1189 1190 /*! 1191 * @addtogroup BTLE_RF_Register_Masks BTLE_RF Register Masks 1192 * @{ 1193 */ 1194 1195 /*! @name BLE_PART_ID - BLUETOOTH LOW ENERGY PART ID */ 1196 /*! @{ */ 1197 #define BTLE_RF_BLE_PART_ID_BLE_PART_ID_MASK (0xFFFFU) 1198 #define BTLE_RF_BLE_PART_ID_BLE_PART_ID_SHIFT (0U) 1199 /*! BLE_PART_ID - BLE Part ID 1200 * 0b0000000000000000..Pre-production 1201 * 0b0000000000000001..Pre-production 1202 * 0b0000000000000010..KW40 1203 * 0b0000000000000011..KW41 1204 * 0b0000000000000100..RV32M1 1205 * 0b0000000000000101..KW35/KW36 1206 */ 1207 #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) 1208 /*! @} */ 1209 1210 /*! @name DSM_STATUS - BLE DSM STATUS */ 1211 /*! @{ */ 1212 #define BTLE_RF_DSM_STATUS_ORF_SYSCLK_REQ_MASK (0x1U) 1213 #define BTLE_RF_DSM_STATUS_ORF_SYSCLK_REQ_SHIFT (0U) 1214 #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) 1215 #define BTLE_RF_DSM_STATUS_RIF_LL_ACTIVE_MASK (0x2U) 1216 #define BTLE_RF_DSM_STATUS_RIF_LL_ACTIVE_SHIFT (1U) 1217 #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) 1218 #define BTLE_RF_DSM_STATUS_XCVR_BUSY_MASK (0x4U) 1219 #define BTLE_RF_DSM_STATUS_XCVR_BUSY_SHIFT (2U) 1220 /*! XCVR_BUSY - Transceiver Busy Status Bit 1221 * 0b0..RF Channel in available (TSM is idle) 1222 * 0b1..RF Channel in use (TSM is busy) 1223 */ 1224 #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) 1225 /*! @} */ 1226 1227 /*! @name MISC_CTRL - BLE MISCELLANEOUS CONTROL */ 1228 /*! @{ */ 1229 #define BTLE_RF_MISC_CTRL_TSM_INTR_EN_MASK (0x2U) 1230 #define BTLE_RF_MISC_CTRL_TSM_INTR_EN_SHIFT (1U) 1231 #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) 1232 #define BTLE_RF_MISC_CTRL_BLE_FSM_SEL_MASK (0x1CU) 1233 #define BTLE_RF_MISC_CTRL_BLE_FSM_SEL_SHIFT (2U) 1234 #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) 1235 /*! @} */ 1236 1237 /*! @name BLE_FSM - BLE STATE MACHINE STATUS */ 1238 /*! @{ */ 1239 #define BTLE_RF_BLE_FSM_VAR_CS_MASK (0x1FU) 1240 #define BTLE_RF_BLE_FSM_VAR_CS_SHIFT (0U) 1241 #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) 1242 #define BTLE_RF_BLE_FSM_BTLE_TX_EN_MASK (0x20U) 1243 #define BTLE_RF_BLE_FSM_BTLE_TX_EN_SHIFT (5U) 1244 #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) 1245 #define BTLE_RF_BLE_FSM_BTLE_RX_EN_MASK (0x40U) 1246 #define BTLE_RF_BLE_FSM_BTLE_RX_EN_SHIFT (6U) 1247 #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) 1248 #define BTLE_RF_BLE_FSM_TX_CS_MASK (0xF80U) 1249 #define BTLE_RF_BLE_FSM_TX_CS_SHIFT (7U) 1250 #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) 1251 #define BTLE_RF_BLE_FSM_RX_CS_MASK (0xF000U) 1252 #define BTLE_RF_BLE_FSM_RX_CS_SHIFT (12U) 1253 #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) 1254 /*! @} */ 1255 1256 1257 /*! 1258 * @} 1259 */ /* end of group BTLE_RF_Register_Masks */ 1260 1261 1262 /* BTLE_RF - Peripheral instance base addresses */ 1263 /** Peripheral BTLE_RF base address */ 1264 #define BTLE_RF_BASE (0x41032000u) 1265 /** Peripheral BTLE_RF base pointer */ 1266 #define BTLE_RF ((BTLE_RF_Type *)BTLE_RF_BASE) 1267 /** Array initializer of BTLE_RF peripheral base addresses */ 1268 #define BTLE_RF_BASE_ADDRS { BTLE_RF_BASE } 1269 /** Array initializer of BTLE_RF peripheral base pointers */ 1270 #define BTLE_RF_BASE_PTRS { BTLE_RF } 1271 1272 /*! 1273 * @} 1274 */ /* end of group BTLE_RF_Peripheral_Access_Layer */ 1275 1276 1277 /* ---------------------------------------------------------------------------- 1278 -- CAU3 Peripheral Access Layer 1279 ---------------------------------------------------------------------------- */ 1280 1281 /*! 1282 * @addtogroup CAU3_Peripheral_Access_Layer CAU3 Peripheral Access Layer 1283 * @{ 1284 */ 1285 1286 /** CAU3 - Register Layout Typedef */ 1287 typedef struct { 1288 __I uint32_t PCT; /**< Processor Core Type, offset: 0x0 */ 1289 __I uint32_t MCFG; /**< Memory Configuration, offset: 0x4 */ 1290 uint8_t RESERVED_0[8]; 1291 __IO uint32_t CR; /**< Control Register, offset: 0x10 */ 1292 __IO uint32_t SR; /**< Status Register, offset: 0x14 */ 1293 uint8_t RESERVED_1[8]; 1294 __IO uint32_t DBGCSR; /**< Debug Control/Status Register, offset: 0x20 */ 1295 __IO uint32_t DBGPBR; /**< Debug PC Breakpoint Register, offset: 0x24 */ 1296 uint8_t RESERVED_2[8]; 1297 __IO uint32_t DBGMCMD; /**< Debug Memory Command Register, offset: 0x30 */ 1298 __IO uint32_t DBGMADR; /**< Debug Memory Address Register, offset: 0x34 */ 1299 __IO uint32_t DBGMDR; /**< Debug Memory Data Register, offset: 0x38 */ 1300 uint8_t RESERVED_3[180]; 1301 __IO uint32_t SEMA4; /**< Semaphore Register, offset: 0xF0 */ 1302 __I uint32_t SMOWNR; /**< Semaphore Ownership Register, offset: 0xF4 */ 1303 uint8_t RESERVED_4[4]; 1304 __IO uint32_t ARR; /**< Address Remap Register, offset: 0xFC */ 1305 uint8_t RESERVED_5[128]; 1306 __IO uint32_t CC_R[30]; /**< CryptoCore General Purpose Registers, array offset: 0x180, array step: 0x4 */ 1307 __IO uint32_t CC_R30; /**< General Purpose R30, offset: 0x1F8 */ 1308 __IO uint32_t CC_R31; /**< General Purpose R31, offset: 0x1FC */ 1309 __IO uint32_t CC_PC; /**< Program Counter, offset: 0x200 */ 1310 __O uint32_t CC_CMD; /**< Start Command Register, offset: 0x204 */ 1311 __I uint32_t CC_CF; /**< Condition Flag, offset: 0x208 */ 1312 uint8_t RESERVED_6[500]; 1313 __IO uint32_t MDPK; /**< Mode Register (PublicKey), offset: 0x400 */ 1314 uint8_t RESERVED_7[44]; 1315 __O uint32_t COM; /**< Command Register, offset: 0x430 */ 1316 __IO uint32_t CTL; /**< Control Register, offset: 0x434 */ 1317 uint8_t RESERVED_8[8]; 1318 __O uint32_t CW; /**< Clear Written Register, offset: 0x440 */ 1319 uint8_t RESERVED_9[4]; 1320 __IO uint32_t STA; /**< Status Register, offset: 0x448 */ 1321 __I uint32_t ESTA; /**< Error Status Register, offset: 0x44C */ 1322 uint8_t RESERVED_10[48]; 1323 __IO uint32_t PKASZ; /**< PKHA A Size Register, offset: 0x480 */ 1324 uint8_t RESERVED_11[4]; 1325 __IO uint32_t PKBSZ; /**< PKHA B Size Register, offset: 0x488 */ 1326 uint8_t RESERVED_12[4]; 1327 __IO uint32_t PKNSZ; /**< PKHA N Size Register, offset: 0x490 */ 1328 uint8_t RESERVED_13[4]; 1329 __IO uint32_t PKESZ; /**< PKHA E Size Register, offset: 0x498 */ 1330 uint8_t RESERVED_14[84]; 1331 __I uint32_t PKHA_VID1; /**< PKHA Revision ID 1, offset: 0x4F0 */ 1332 __I uint32_t PKHA_VID2; /**< PKHA Revision ID 2, offset: 0x4F4 */ 1333 __I uint32_t CHA_VID; /**< CHA Revision ID, offset: 0x4F8 */ 1334 uint8_t RESERVED_15[260]; 1335 __IO uint32_t PKHA_CCR; /**< PKHA Clock Control Register, offset: 0x600 */ 1336 __I uint32_t GSR; /**< Global Status Register, offset: 0x604 */ 1337 __IO uint32_t CKLFSR; /**< Clock Linear Feedback Shift Register, offset: 0x608 */ 1338 uint8_t RESERVED_16[500]; 1339 __IO uint32_t PKA0[32]; /**< PKHA A0 Register, array offset: 0x800, array step: 0x4 */ 1340 __IO uint32_t PKA1[32]; /**< PKHA A1 Register, array offset: 0x880, array step: 0x4 */ 1341 __IO uint32_t PKA2[32]; /**< PKHA A2 Register, array offset: 0x900, array step: 0x4 */ 1342 __IO uint32_t PKA3[32]; /**< PKHA A3 Register, array offset: 0x980, array step: 0x4 */ 1343 __IO uint32_t PKB0[32]; /**< PKHA B0 Register, array offset: 0xA00, array step: 0x4 */ 1344 __IO uint32_t PKB1[32]; /**< PKHA B1 Register, array offset: 0xA80, array step: 0x4 */ 1345 __IO uint32_t PKB2[32]; /**< PKHA B2 Register, array offset: 0xB00, array step: 0x4 */ 1346 __IO uint32_t PKB3[32]; /**< PKHA B3 Register, array offset: 0xB80, array step: 0x4 */ 1347 __IO uint32_t PKN0[32]; /**< PKHA N0 Register, array offset: 0xC00, array step: 0x4 */ 1348 __IO uint32_t PKN1[32]; /**< PKHA N1 Register, array offset: 0xC80, array step: 0x4 */ 1349 __IO uint32_t PKN2[32]; /**< PKHA N2 Register, array offset: 0xD00, array step: 0x4 */ 1350 __IO uint32_t PKN3[32]; /**< PKHA N3 Register, array offset: 0xD80, array step: 0x4 */ 1351 __O uint32_t PKE[128]; /**< PKHA E Register, array offset: 0xE00, array step: 0x4 */ 1352 } CAU3_Type; 1353 1354 /* ---------------------------------------------------------------------------- 1355 -- CAU3 Register Masks 1356 ---------------------------------------------------------------------------- */ 1357 1358 /*! 1359 * @addtogroup CAU3_Register_Masks CAU3 Register Masks 1360 * @{ 1361 */ 1362 1363 /*! @name PCT - Processor Core Type */ 1364 /*! @{ */ 1365 #define CAU3_PCT_Y_MASK (0xFU) 1366 #define CAU3_PCT_Y_SHIFT (0U) 1367 /*! Y - Minor version number 1368 * 0b0000..Minor version number 1369 */ 1370 #define CAU3_PCT_Y(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PCT_Y_SHIFT)) & CAU3_PCT_Y_MASK) 1371 #define CAU3_PCT_X_MASK (0xF0U) 1372 #define CAU3_PCT_X_SHIFT (4U) 1373 /*! X - Major version number 1374 * 0b0000..Major version number 1375 */ 1376 #define CAU3_PCT_X(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PCT_X_SHIFT)) & CAU3_PCT_X_MASK) 1377 #define CAU3_PCT_ID_MASK (0xFFFFFF00U) 1378 #define CAU3_PCT_ID_SHIFT (8U) 1379 /*! ID - Module ID number 1380 * 0b010010110100000101100000..ID number for basic configuration 1381 * 0b010010110100000101100001..ID number for PKHA configuration 1382 */ 1383 #define CAU3_PCT_ID(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PCT_ID_SHIFT)) & CAU3_PCT_ID_MASK) 1384 /*! @} */ 1385 1386 /*! @name MCFG - Memory Configuration */ 1387 /*! @{ */ 1388 #define CAU3_MCFG_DRAM_SZ_MASK (0xF00U) 1389 #define CAU3_MCFG_DRAM_SZ_SHIFT (8U) 1390 /*! DRAM_SZ - Data RAM Size 1391 * 0b0000..No memory module 1392 * 0b0100..2K bytes 1393 * 0b0101..3K bytes 1394 * 0b0110..4K bytes 1395 * 0b0111..6K bytes 1396 * 0b1000..8K bytes 1397 * 0b1001..12K bytes 1398 * 0b1010..16K bytes 1399 * 0b1011..24K bytes 1400 * 0b1100..32K bytes 1401 * 0b1101..48K bytes 1402 * 0b1110..64K bytes 1403 * 0b1111..96K bytes 1404 */ 1405 #define CAU3_MCFG_DRAM_SZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MCFG_DRAM_SZ_SHIFT)) & CAU3_MCFG_DRAM_SZ_MASK) 1406 #define CAU3_MCFG_IROM_SZ_MASK (0xF0000U) 1407 #define CAU3_MCFG_IROM_SZ_SHIFT (16U) 1408 /*! IROM_SZ - Instruction ROM Size 1409 * 0b0000..No memory module 1410 * 0b0100..2K bytes 1411 * 0b0101..3K bytes 1412 * 0b0110..4K bytes 1413 * 0b0111..6K bytes 1414 * 0b1000..8K bytes 1415 * 0b1001..12K bytes 1416 * 0b1010..16K bytes 1417 * 0b1011..24K bytes 1418 * 0b1100..32K bytes 1419 * 0b1101..48K bytes 1420 * 0b1110..64K bytes 1421 * 0b1111..96K bytes 1422 */ 1423 #define CAU3_MCFG_IROM_SZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MCFG_IROM_SZ_SHIFT)) & CAU3_MCFG_IROM_SZ_MASK) 1424 #define CAU3_MCFG_IRAM_SZ_MASK (0xF000000U) 1425 #define CAU3_MCFG_IRAM_SZ_SHIFT (24U) 1426 /*! IRAM_SZ - Instruction RAM Size 1427 * 0b0000..No memory module 1428 * 0b0100..2K bytes 1429 * 0b0101..3K bytes 1430 * 0b0110..4K bytes 1431 * 0b0111..6K bytes 1432 * 0b1000..8K bytes 1433 * 0b1001..12K bytes 1434 * 0b1010..16K bytes 1435 * 0b1011..24K bytes 1436 * 0b1100..32K bytes 1437 * 0b1101..48K bytes 1438 * 0b1110..64K bytes 1439 * 0b1111..96K bytes 1440 */ 1441 #define CAU3_MCFG_IRAM_SZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MCFG_IRAM_SZ_SHIFT)) & CAU3_MCFG_IRAM_SZ_MASK) 1442 /*! @} */ 1443 1444 /*! @name CR - Control Register */ 1445 /*! @{ */ 1446 #define CAU3_CR_TCSEIE_MASK (0x1U) 1447 #define CAU3_CR_TCSEIE_SHIFT (0U) 1448 /*! TCSEIE - Task completion with software error interrupt enable 1449 * 0b0..Disables task completion with software error to generate an interrupt request 1450 * 0b1..Enables task completion with software error to generate an interrupt request 1451 */ 1452 #define CAU3_CR_TCSEIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_TCSEIE_SHIFT)) & CAU3_CR_TCSEIE_MASK) 1453 #define CAU3_CR_ILLIE_MASK (0x2U) 1454 #define CAU3_CR_ILLIE_SHIFT (1U) 1455 /*! ILLIE - Illegal Instruction Interrupt Enable 1456 * 0b0..Illegal instruction interrupt requests are disabled 1457 * 0b1..illegal Instruction interrupt requests are enabled 1458 */ 1459 #define CAU3_CR_ILLIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_ILLIE_SHIFT)) & CAU3_CR_ILLIE_MASK) 1460 #define CAU3_CR_ASREIE_MASK (0x8U) 1461 #define CAU3_CR_ASREIE_SHIFT (3U) 1462 /*! ASREIE - AHB Slave Response Error Interrupt Enable 1463 * 0b0..AHB slave response error interruption is not enabled 1464 * 0b1..AHB slave response error interruption is enabled 1465 */ 1466 #define CAU3_CR_ASREIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_ASREIE_SHIFT)) & CAU3_CR_ASREIE_MASK) 1467 #define CAU3_CR_IIADIE_MASK (0x10U) 1468 #define CAU3_CR_IIADIE_SHIFT (4U) 1469 /*! IIADIE - IMEM Illegal Address Interrupt Enable 1470 * 0b0..IMEM illegal address interruption is not enabled 1471 * 0b1..IMEM illegal address interruption is enabled 1472 */ 1473 #define CAU3_CR_IIADIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_IIADIE_SHIFT)) & CAU3_CR_IIADIE_MASK) 1474 #define CAU3_CR_DIADIE_MASK (0x20U) 1475 #define CAU3_CR_DIADIE_SHIFT (5U) 1476 /*! DIADIE - DMEM Illegal Address Interrupt Enable 1477 * 0b0..DMEM illegal address interruption is not enabled 1478 * 0b1..DMEM illegal address interruption is enabled 1479 */ 1480 #define CAU3_CR_DIADIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_DIADIE_SHIFT)) & CAU3_CR_DIADIE_MASK) 1481 #define CAU3_CR_SVIE_MASK (0x40U) 1482 #define CAU3_CR_SVIE_SHIFT (6U) 1483 /*! SVIE - Security Violation Interrupt Enable 1484 * 0b0..Security violation interruption is not enabled 1485 * 0b1..Security violation interruption is enabled 1486 */ 1487 #define CAU3_CR_SVIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_SVIE_SHIFT)) & CAU3_CR_SVIE_MASK) 1488 #define CAU3_CR_TCIE_MASK (0x80U) 1489 #define CAU3_CR_TCIE_SHIFT (7U) 1490 /*! TCIE - Task completion with no error interrupt enable 1491 * 0b0..Disables task completion with no error to generate an interrupt request 1492 * 0b1..Enables task completion with no error to generate an interrupt request 1493 */ 1494 #define CAU3_CR_TCIE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_TCIE_SHIFT)) & CAU3_CR_TCIE_MASK) 1495 #define CAU3_CR_RSTSM4_MASK (0x3000U) 1496 #define CAU3_CR_RSTSM4_SHIFT (12U) 1497 /*! RSTSM4 - Reset Semaphore 1498 * 0b00..Idle state 1499 * 0b01..Wait for second write 1500 * 0b10..Clears semaphore if previous state was "01" 1501 * 0b11..Reserved 1502 */ 1503 #define CAU3_CR_RSTSM4(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_RSTSM4_SHIFT)) & CAU3_CR_RSTSM4_MASK) 1504 #define CAU3_CR_MRST_MASK (0x8000U) 1505 #define CAU3_CR_MRST_SHIFT (15U) 1506 /*! MRST - Module Reset 1507 * 0b0..no action 1508 * 0b1..reset 1509 */ 1510 #define CAU3_CR_MRST(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_MRST_SHIFT)) & CAU3_CR_MRST_MASK) 1511 #define CAU3_CR_FSV_MASK (0x10000U) 1512 #define CAU3_CR_FSV_SHIFT (16U) 1513 /*! FSV - Force Security Violation Test 1514 * 0b0..no violation is forced 1515 * 0b1..force security violation 1516 */ 1517 #define CAU3_CR_FSV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_FSV_SHIFT)) & CAU3_CR_FSV_MASK) 1518 #define CAU3_CR_DTCCFG_MASK (0x7000000U) 1519 #define CAU3_CR_DTCCFG_SHIFT (24U) 1520 /*! DTCCFG - Default Task Completion Configuration 1521 * 0b100..Issue a DMA request 1522 * 0b010..Assert Event Completion Signal 1523 * 0b001..Issue an Interrupt Request 1524 * 0b000..no explicit action 1525 */ 1526 #define CAU3_CR_DTCCFG(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_DTCCFG_SHIFT)) & CAU3_CR_DTCCFG_MASK) 1527 #define CAU3_CR_DSHFI_MASK (0x10000000U) 1528 #define CAU3_CR_DSHFI_SHIFT (28U) 1529 /*! DSHFI - Disable Secure Hash Function Instructions 1530 * 0b0..Secure Hash Functions are enabled 1531 * 0b1..Secure Hash Functions are disabled 1532 */ 1533 #define CAU3_CR_DSHFI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_DSHFI_SHIFT)) & CAU3_CR_DSHFI_MASK) 1534 #define CAU3_CR_DDESI_MASK (0x20000000U) 1535 #define CAU3_CR_DDESI_SHIFT (29U) 1536 /*! DDESI - Disable DES Instructions 1537 * 0b0..DES instructions are enabled 1538 * 0b1..DES instructions are disabled 1539 */ 1540 #define CAU3_CR_DDESI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_DDESI_SHIFT)) & CAU3_CR_DDESI_MASK) 1541 #define CAU3_CR_DAESI_MASK (0x40000000U) 1542 #define CAU3_CR_DAESI_SHIFT (30U) 1543 /*! DAESI - Disable AES Instructions 1544 * 0b0..AES instructions are enabled 1545 * 0b1..AES instructions are disabled 1546 */ 1547 #define CAU3_CR_DAESI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_DAESI_SHIFT)) & CAU3_CR_DAESI_MASK) 1548 #define CAU3_CR_MDIS_MASK (0x80000000U) 1549 #define CAU3_CR_MDIS_SHIFT (31U) 1550 /*! MDIS - Module Disable 1551 * 0b0..CAU3 exits from low power mode 1552 * 0b1..CAU3 enters low power mode 1553 */ 1554 #define CAU3_CR_MDIS(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CR_MDIS_SHIFT)) & CAU3_CR_MDIS_MASK) 1555 /*! @} */ 1556 1557 /*! @name SR - Status Register */ 1558 /*! @{ */ 1559 #define CAU3_SR_TCSEIRQ_MASK (0x1U) 1560 #define CAU3_SR_TCSEIRQ_SHIFT (0U) 1561 /*! TCSEIRQ - Task completion with software error interrupt request 1562 * 0b0..Task not finished or finished with no software error 1563 * 0b1..Task execution finished with software error 1564 */ 1565 #define CAU3_SR_TCSEIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_TCSEIRQ_SHIFT)) & CAU3_SR_TCSEIRQ_MASK) 1566 #define CAU3_SR_ILLIRQ_MASK (0x2U) 1567 #define CAU3_SR_ILLIRQ_SHIFT (1U) 1568 /*! ILLIRQ - Illegal instruction interrupt request 1569 * 0b0..no error 1570 * 0b1..illegal instruction detected 1571 */ 1572 #define CAU3_SR_ILLIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_ILLIRQ_SHIFT)) & CAU3_SR_ILLIRQ_MASK) 1573 #define CAU3_SR_ASREIRQ_MASK (0x8U) 1574 #define CAU3_SR_ASREIRQ_SHIFT (3U) 1575 /*! ASREIRQ - AHB slave response error interrupt Request 1576 * 0b0..no error 1577 * 0b1..AHB slave response error detected 1578 */ 1579 #define CAU3_SR_ASREIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_ASREIRQ_SHIFT)) & CAU3_SR_ASREIRQ_MASK) 1580 #define CAU3_SR_IIADIRQ_MASK (0x10U) 1581 #define CAU3_SR_IIADIRQ_SHIFT (4U) 1582 /*! IIADIRQ - IMEM Illegal address interrupt request 1583 * 0b0..no error 1584 * 0b1..illegal IMEM address detected 1585 */ 1586 #define CAU3_SR_IIADIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_IIADIRQ_SHIFT)) & CAU3_SR_IIADIRQ_MASK) 1587 #define CAU3_SR_DIADIRQ_MASK (0x20U) 1588 #define CAU3_SR_DIADIRQ_SHIFT (5U) 1589 /*! DIADIRQ - DMEM illegal access interrupt request 1590 * 0b0..no illegal address 1591 * 0b1..illegal address 1592 */ 1593 #define CAU3_SR_DIADIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_DIADIRQ_SHIFT)) & CAU3_SR_DIADIRQ_MASK) 1594 #define CAU3_SR_SVIRQ_MASK (0x40U) 1595 #define CAU3_SR_SVIRQ_SHIFT (6U) 1596 /*! SVIRQ - Security violation interrupt request 1597 * 0b0..No security violation 1598 * 0b1..Security violation 1599 */ 1600 #define CAU3_SR_SVIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_SVIRQ_SHIFT)) & CAU3_SR_SVIRQ_MASK) 1601 #define CAU3_SR_TCIRQ_MASK (0x80U) 1602 #define CAU3_SR_TCIRQ_SHIFT (7U) 1603 /*! TCIRQ - Task completion with no error interrupt request 1604 * 0b0..Task not finished or finished with error 1605 * 0b1..Task execution finished with no error 1606 */ 1607 #define CAU3_SR_TCIRQ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_TCIRQ_SHIFT)) & CAU3_SR_TCIRQ_MASK) 1608 #define CAU3_SR_TKCS_MASK (0xF00U) 1609 #define CAU3_SR_TKCS_SHIFT (8U) 1610 /*! TKCS - Task completion status 1611 * 0b0000..Initialization RUN 1612 * 0b0001..Running 1613 * 0b0010..Debug Halted 1614 * 0b1001..Stop - Error Free 1615 * 0b1010..Stop - Error 1616 * 0b1110..Stop - Security Violation, assert security violation output signal and set SVIRQ 1617 * 0b1111..Stop - Security Violation and set SVIRQ 1618 */ 1619 #define CAU3_SR_TKCS(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_TKCS_SHIFT)) & CAU3_SR_TKCS_MASK) 1620 #define CAU3_SR_SVF_MASK (0x10000U) 1621 #define CAU3_SR_SVF_SHIFT (16U) 1622 /*! SVF - Security violation flag 1623 * 0b0..SoC security violation is not asserted 1624 * 0b1..SoC security violation was asserted 1625 */ 1626 #define CAU3_SR_SVF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_SVF_SHIFT)) & CAU3_SR_SVF_MASK) 1627 #define CAU3_SR_DBG_MASK (0x20000U) 1628 #define CAU3_SR_DBG_SHIFT (17U) 1629 /*! DBG - Debug mode 1630 * 0b0..CAU3 is not in debug mode 1631 * 0b1..CAU3 is in debug mode 1632 */ 1633 #define CAU3_SR_DBG(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_DBG_SHIFT)) & CAU3_SR_DBG_MASK) 1634 #define CAU3_SR_TCCFG_MASK (0x7000000U) 1635 #define CAU3_SR_TCCFG_SHIFT (24U) 1636 /*! TCCFG - Task completion configuration 1637 * 0b100..Issue a DMA request 1638 * 0b010..Assert the Event Completion Signal 1639 * 0b001..Assert an interrupt request 1640 * 0b000..No action 1641 */ 1642 #define CAU3_SR_TCCFG(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_TCCFG_SHIFT)) & CAU3_SR_TCCFG_MASK) 1643 #define CAU3_SR_MDISF_MASK (0x80000000U) 1644 #define CAU3_SR_MDISF_SHIFT (31U) 1645 /*! MDISF - Module disable flag 1646 * 0b0..CCore is not in low power mode 1647 * 0b1..CCore is in low power mode 1648 */ 1649 #define CAU3_SR_MDISF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SR_MDISF_SHIFT)) & CAU3_SR_MDISF_MASK) 1650 /*! @} */ 1651 1652 /*! @name DBGCSR - Debug Control/Status Register */ 1653 /*! @{ */ 1654 #define CAU3_DBGCSR_DDBG_MASK (0x1U) 1655 #define CAU3_DBGCSR_DDBG_SHIFT (0U) 1656 /*! DDBG - Debug Disable 1657 * 0b0..debug is enabled 1658 * 0b1..debug is disabled 1659 */ 1660 #define CAU3_DBGCSR_DDBG(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_DDBG_SHIFT)) & CAU3_DBGCSR_DDBG_MASK) 1661 #define CAU3_DBGCSR_DDBGMC_MASK (0x2U) 1662 #define CAU3_DBGCSR_DDBGMC_SHIFT (1U) 1663 /*! DDBGMC - Disable Debug Memory Commands 1664 * 0b0..IPS access to IMEM and DMEM are enabled 1665 * 0b1..IPS access to IMEM and DMEM are disabled 1666 */ 1667 #define CAU3_DBGCSR_DDBGMC(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_DDBGMC_SHIFT)) & CAU3_DBGCSR_DDBGMC_MASK) 1668 #define CAU3_DBGCSR_PBREN_MASK (0x10U) 1669 #define CAU3_DBGCSR_PBREN_SHIFT (4U) 1670 /*! PBREN - PC Breakpoint Register Enable 1671 * 0b0..PC breakpoint register (DBGPBR) is disabled 1672 * 0b1..PC breakpoint register (DBGPBR) is enabled 1673 */ 1674 #define CAU3_DBGCSR_PBREN(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_PBREN_SHIFT)) & CAU3_DBGCSR_PBREN_MASK) 1675 #define CAU3_DBGCSR_SIM_MASK (0x20U) 1676 #define CAU3_DBGCSR_SIM_SHIFT (5U) 1677 /*! SIM - Single Instruction Mode 1678 * 0b0..Single instruction mode is disabled 1679 * 0b1..Single instruction mode is enabled 1680 */ 1681 #define CAU3_DBGCSR_SIM(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_SIM_SHIFT)) & CAU3_DBGCSR_SIM_MASK) 1682 #define CAU3_DBGCSR_FRCH_MASK (0x100U) 1683 #define CAU3_DBGCSR_FRCH_SHIFT (8U) 1684 /*! FRCH - Force Debug Halt 1685 * 0b0..Halt state not forced 1686 * 0b1..Force halt state 1687 */ 1688 #define CAU3_DBGCSR_FRCH(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_FRCH_SHIFT)) & CAU3_DBGCSR_FRCH_MASK) 1689 #define CAU3_DBGCSR_DBGGO_MASK (0x1000U) 1690 #define CAU3_DBGCSR_DBGGO_SHIFT (12U) 1691 /*! DBGGO - Debug Go 1692 * 0b0..No action 1693 * 0b1..Resume program execution 1694 */ 1695 #define CAU3_DBGCSR_DBGGO(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_DBGGO_SHIFT)) & CAU3_DBGCSR_DBGGO_MASK) 1696 #define CAU3_DBGCSR_PCBHF_MASK (0x10000U) 1697 #define CAU3_DBGCSR_PCBHF_SHIFT (16U) 1698 /*! PCBHF - CryptoCore is Halted due to Hardware Breakpoint 1699 * 0b0..CryptoCore is not halted due to a hardware breakpoint 1700 * 0b1..CryptoCore is halted due to a hardware breakpoint 1701 */ 1702 #define CAU3_DBGCSR_PCBHF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_PCBHF_SHIFT)) & CAU3_DBGCSR_PCBHF_MASK) 1703 #define CAU3_DBGCSR_SIMHF_MASK (0x20000U) 1704 #define CAU3_DBGCSR_SIMHF_SHIFT (17U) 1705 /*! SIMHF - CryptoCore is Halted due to Single Instruction Step 1706 * 0b0..CryptoCore is not in a single step halt 1707 * 0b1..CryptoCore is in a single step halt 1708 */ 1709 #define CAU3_DBGCSR_SIMHF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_SIMHF_SHIFT)) & CAU3_DBGCSR_SIMHF_MASK) 1710 #define CAU3_DBGCSR_HLTIF_MASK (0x40000U) 1711 #define CAU3_DBGCSR_HLTIF_SHIFT (18U) 1712 /*! HLTIF - CryptoCore is Halted due to HALT Instruction 1713 * 0b0..CryptoCore is not in software breakpoint 1714 * 0b1..CryptoCore is in software breakpoint 1715 */ 1716 #define CAU3_DBGCSR_HLTIF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_HLTIF_SHIFT)) & CAU3_DBGCSR_HLTIF_MASK) 1717 #define CAU3_DBGCSR_CSTPF_MASK (0x40000000U) 1718 #define CAU3_DBGCSR_CSTPF_SHIFT (30U) 1719 /*! CSTPF - CryptoCore is Stopped Status Flag 1720 * 0b0..CryptoCore is not stopped 1721 * 0b1..CryptoCore is stopped 1722 */ 1723 #define CAU3_DBGCSR_CSTPF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_CSTPF_SHIFT)) & CAU3_DBGCSR_CSTPF_MASK) 1724 #define CAU3_DBGCSR_CHLTF_MASK (0x80000000U) 1725 #define CAU3_DBGCSR_CHLTF_SHIFT (31U) 1726 /*! CHLTF - CryptoCore is Halted Status Flag 1727 * 0b0..CryptoCore is not halted 1728 * 0b1..CryptoCore is halted 1729 */ 1730 #define CAU3_DBGCSR_CHLTF(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGCSR_CHLTF_SHIFT)) & CAU3_DBGCSR_CHLTF_MASK) 1731 /*! @} */ 1732 1733 /*! @name DBGPBR - Debug PC Breakpoint Register */ 1734 /*! @{ */ 1735 #define CAU3_DBGPBR_PCBKPT_MASK (0xFFFFCU) 1736 #define CAU3_DBGPBR_PCBKPT_SHIFT (2U) 1737 #define CAU3_DBGPBR_PCBKPT(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGPBR_PCBKPT_SHIFT)) & CAU3_DBGPBR_PCBKPT_MASK) 1738 /*! @} */ 1739 1740 /*! @name DBGMCMD - Debug Memory Command Register */ 1741 /*! @{ */ 1742 #define CAU3_DBGMCMD_DM_MASK (0x1000000U) 1743 #define CAU3_DBGMCMD_DM_SHIFT (24U) 1744 /*! DM - Instruction/Data Memory Selection 1745 * 0b0..IMEM is selected 1746 * 0b1..DMEM is selected 1747 */ 1748 #define CAU3_DBGMCMD_DM(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_DM_SHIFT)) & CAU3_DBGMCMD_DM_MASK) 1749 #define CAU3_DBGMCMD_IA_MASK (0x4000000U) 1750 #define CAU3_DBGMCMD_IA_SHIFT (26U) 1751 /*! IA - Increment Address 1752 * 0b0..Address is not incremented 1753 * 0b1..Address is incremented after the access 1754 */ 1755 #define CAU3_DBGMCMD_IA(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_IA_SHIFT)) & CAU3_DBGMCMD_IA_MASK) 1756 #define CAU3_DBGMCMD_Rb_1_MASK (0x8000000U) 1757 #define CAU3_DBGMCMD_Rb_1_SHIFT (27U) 1758 #define CAU3_DBGMCMD_Rb_1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_Rb_1_SHIFT)) & CAU3_DBGMCMD_Rb_1_MASK) 1759 #define CAU3_DBGMCMD_BV_MASK (0x10000000U) 1760 #define CAU3_DBGMCMD_BV_SHIFT (28U) 1761 /*! BV - Byte Reversal Control 1762 * 0b0..DMEM bytes are not reversed 1763 * 0b1..DMEM bytes are reversed 1764 */ 1765 #define CAU3_DBGMCMD_BV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_BV_SHIFT)) & CAU3_DBGMCMD_BV_MASK) 1766 #define CAU3_DBGMCMD_R_0_MASK (0x40000000U) 1767 #define CAU3_DBGMCMD_R_0_SHIFT (30U) 1768 #define CAU3_DBGMCMD_R_0(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_R_0_SHIFT)) & CAU3_DBGMCMD_R_0_MASK) 1769 #define CAU3_DBGMCMD_R_1_MASK (0x80000000U) 1770 #define CAU3_DBGMCMD_R_1_SHIFT (31U) 1771 #define CAU3_DBGMCMD_R_1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMCMD_R_1_SHIFT)) & CAU3_DBGMCMD_R_1_MASK) 1772 /*! @} */ 1773 1774 /*! @name DBGMADR - Debug Memory Address Register */ 1775 /*! @{ */ 1776 #define CAU3_DBGMADR_DMADDR_MASK (0xFFFFFFFCU) 1777 #define CAU3_DBGMADR_DMADDR_SHIFT (2U) 1778 #define CAU3_DBGMADR_DMADDR(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMADR_DMADDR_SHIFT)) & CAU3_DBGMADR_DMADDR_MASK) 1779 /*! @} */ 1780 1781 /*! @name DBGMDR - Debug Memory Data Register */ 1782 /*! @{ */ 1783 #define CAU3_DBGMDR_DMDATA_MASK (0xFFFFFFFFU) 1784 #define CAU3_DBGMDR_DMDATA_SHIFT (0U) 1785 #define CAU3_DBGMDR_DMDATA(x) (((uint32_t)(((uint32_t)(x)) << CAU3_DBGMDR_DMDATA_SHIFT)) & CAU3_DBGMDR_DMDATA_MASK) 1786 /*! @} */ 1787 1788 /*! @name SEMA4 - Semaphore Register */ 1789 /*! @{ */ 1790 #define CAU3_SEMA4_DID_MASK (0xFU) 1791 #define CAU3_SEMA4_DID_SHIFT (0U) 1792 #define CAU3_SEMA4_DID(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SEMA4_DID_SHIFT)) & CAU3_SEMA4_DID_MASK) 1793 #define CAU3_SEMA4_PR_MASK (0x40U) 1794 #define CAU3_SEMA4_PR_SHIFT (6U) 1795 /*! PR - Privilege Attribute of Locked Semaphore Owner 1796 * 0b0..If semaphore is locked, then owner is operating in user mode 1797 * 0b1..If semaphore is locked, then owner is operating in privileged mode 1798 */ 1799 #define CAU3_SEMA4_PR(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SEMA4_PR_SHIFT)) & CAU3_SEMA4_PR_MASK) 1800 #define CAU3_SEMA4_NS_MASK (0x80U) 1801 #define CAU3_SEMA4_NS_SHIFT (7U) 1802 /*! NS - Non Secure Attribute of the Locked Semaphore Owner 1803 * 0b0..If semaphore is locked, owner is operating in secure mode 1804 * 0b1..If semaphore is locked, owner is operating in nonsecure mode 1805 */ 1806 #define CAU3_SEMA4_NS(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SEMA4_NS_SHIFT)) & CAU3_SEMA4_NS_MASK) 1807 #define CAU3_SEMA4_MSTRN_MASK (0x3F00U) 1808 #define CAU3_SEMA4_MSTRN_SHIFT (8U) 1809 #define CAU3_SEMA4_MSTRN(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SEMA4_MSTRN_SHIFT)) & CAU3_SEMA4_MSTRN_MASK) 1810 #define CAU3_SEMA4_LK_MASK (0x80000000U) 1811 #define CAU3_SEMA4_LK_SHIFT (31U) 1812 /*! LK - Semaphore Lock and Release Control 1813 * 0b0..Semaphore release 1814 * 0b1..Semaphore lock 1815 */ 1816 #define CAU3_SEMA4_LK(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SEMA4_LK_SHIFT)) & CAU3_SEMA4_LK_MASK) 1817 /*! @} */ 1818 1819 /*! @name SMOWNR - Semaphore Ownership Register */ 1820 /*! @{ */ 1821 #define CAU3_SMOWNR_LOCK_MASK (0x1U) 1822 #define CAU3_SMOWNR_LOCK_SHIFT (0U) 1823 /*! LOCK - Semaphore Locked 1824 * 0b0..Semaphore not locked 1825 * 0b1..Semaphore locked 1826 */ 1827 #define CAU3_SMOWNR_LOCK(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SMOWNR_LOCK_SHIFT)) & CAU3_SMOWNR_LOCK_MASK) 1828 #define CAU3_SMOWNR_NOWNER_MASK (0x80000000U) 1829 #define CAU3_SMOWNR_NOWNER_SHIFT (31U) 1830 /*! NOWNER - Semaphore Ownership 1831 * 0b0..The host making the current read access is the semaphore owner 1832 * 0b1..The host making the current read access is NOT the semaphore owner 1833 */ 1834 #define CAU3_SMOWNR_NOWNER(x) (((uint32_t)(((uint32_t)(x)) << CAU3_SMOWNR_NOWNER_SHIFT)) & CAU3_SMOWNR_NOWNER_MASK) 1835 /*! @} */ 1836 1837 /*! @name ARR - Address Remap Register */ 1838 /*! @{ */ 1839 #define CAU3_ARR_ARRL_MASK (0xFFFFFFFFU) 1840 #define CAU3_ARR_ARRL_SHIFT (0U) 1841 #define CAU3_ARR_ARRL(x) (((uint32_t)(((uint32_t)(x)) << CAU3_ARR_ARRL_SHIFT)) & CAU3_ARR_ARRL_MASK) 1842 /*! @} */ 1843 1844 /*! @name CC_R - CryptoCore General Purpose Registers */ 1845 /*! @{ */ 1846 #define CAU3_CC_R_R_MASK (0xFFFFFFFFU) 1847 #define CAU3_CC_R_R_SHIFT (0U) 1848 #define CAU3_CC_R_R(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_R_R_SHIFT)) & CAU3_CC_R_R_MASK) 1849 /*! @} */ 1850 1851 /* The count of CAU3_CC_R */ 1852 #define CAU3_CC_R_COUNT (30U) 1853 1854 /*! @name CC_R30 - General Purpose R30 */ 1855 /*! @{ */ 1856 #define CAU3_CC_R30_SP_MASK (0xFFFFFFFFU) 1857 #define CAU3_CC_R30_SP_SHIFT (0U) 1858 #define CAU3_CC_R30_SP(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_R30_SP_SHIFT)) & CAU3_CC_R30_SP_MASK) 1859 /*! @} */ 1860 1861 /*! @name CC_R31 - General Purpose R31 */ 1862 /*! @{ */ 1863 #define CAU3_CC_R31_LR_MASK (0xFFFFFFFFU) 1864 #define CAU3_CC_R31_LR_SHIFT (0U) 1865 #define CAU3_CC_R31_LR(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_R31_LR_SHIFT)) & CAU3_CC_R31_LR_MASK) 1866 /*! @} */ 1867 1868 /*! @name CC_PC - Program Counter */ 1869 /*! @{ */ 1870 #define CAU3_CC_PC_PC_MASK (0xFFFFFU) 1871 #define CAU3_CC_PC_PC_SHIFT (0U) 1872 #define CAU3_CC_PC_PC(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_PC_PC_SHIFT)) & CAU3_CC_PC_PC_MASK) 1873 /*! @} */ 1874 1875 /*! @name CC_CMD - Start Command Register */ 1876 /*! @{ */ 1877 #define CAU3_CC_CMD_CMD_MASK (0x70000U) 1878 #define CAU3_CC_CMD_CMD_SHIFT (16U) 1879 /*! CMD - Command 1880 * 0b000..Use CR[DTCCFG] for task completion configuration 1881 * 0b100..Issue a DMA request 1882 * 0b010..Assert Event Completion Signal 1883 * 0b001..Issue an interrupt request 1884 */ 1885 #define CAU3_CC_CMD_CMD(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_CMD_CMD_SHIFT)) & CAU3_CC_CMD_CMD_MASK) 1886 /*! @} */ 1887 1888 /*! @name CC_CF - Condition Flag */ 1889 /*! @{ */ 1890 #define CAU3_CC_CF_C_MASK (0x1U) 1891 #define CAU3_CC_CF_C_SHIFT (0U) 1892 #define CAU3_CC_CF_C(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_CF_C_SHIFT)) & CAU3_CC_CF_C_MASK) 1893 #define CAU3_CC_CF_V_MASK (0x2U) 1894 #define CAU3_CC_CF_V_SHIFT (1U) 1895 #define CAU3_CC_CF_V(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_CF_V_SHIFT)) & CAU3_CC_CF_V_MASK) 1896 #define CAU3_CC_CF_Z_MASK (0x4U) 1897 #define CAU3_CC_CF_Z_SHIFT (2U) 1898 #define CAU3_CC_CF_Z(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_CF_Z_SHIFT)) & CAU3_CC_CF_Z_MASK) 1899 #define CAU3_CC_CF_N_MASK (0x8U) 1900 #define CAU3_CC_CF_N_SHIFT (3U) 1901 #define CAU3_CC_CF_N(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CC_CF_N_SHIFT)) & CAU3_CC_CF_N_MASK) 1902 /*! @} */ 1903 1904 /*! @name MDPK - Mode Register (PublicKey) */ 1905 /*! @{ */ 1906 #define CAU3_MDPK_PKHA_MODE_LS_MASK (0xFFFU) 1907 #define CAU3_MDPK_PKHA_MODE_LS_SHIFT (0U) 1908 #define CAU3_MDPK_PKHA_MODE_LS(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MDPK_PKHA_MODE_LS_SHIFT)) & CAU3_MDPK_PKHA_MODE_LS_MASK) 1909 #define CAU3_MDPK_PKHA_MODE_MS_MASK (0xF0000U) 1910 #define CAU3_MDPK_PKHA_MODE_MS_SHIFT (16U) 1911 #define CAU3_MDPK_PKHA_MODE_MS(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MDPK_PKHA_MODE_MS_SHIFT)) & CAU3_MDPK_PKHA_MODE_MS_MASK) 1912 #define CAU3_MDPK_ALG_MASK (0xF00000U) 1913 #define CAU3_MDPK_ALG_SHIFT (20U) 1914 /*! ALG - Algorithm 1915 * 0b1000..PKHA 1916 */ 1917 #define CAU3_MDPK_ALG(x) (((uint32_t)(((uint32_t)(x)) << CAU3_MDPK_ALG_SHIFT)) & CAU3_MDPK_ALG_MASK) 1918 /*! @} */ 1919 1920 /*! @name COM - Command Register */ 1921 /*! @{ */ 1922 #define CAU3_COM_ALL_MASK (0x1U) 1923 #define CAU3_COM_ALL_SHIFT (0U) 1924 /*! ALL - Reset All Internal Logic 1925 * 0b0..Do Not Reset 1926 * 0b1..Reset PKHA engine and registers 1927 */ 1928 #define CAU3_COM_ALL(x) (((uint32_t)(((uint32_t)(x)) << CAU3_COM_ALL_SHIFT)) & CAU3_COM_ALL_MASK) 1929 #define CAU3_COM_PK_MASK (0x40U) 1930 #define CAU3_COM_PK_SHIFT (6U) 1931 /*! PK - Reset PKHA 1932 * 0b0..Do Not Reset 1933 * 0b1..Reset Public Key Hardware Accelerator 1934 */ 1935 #define CAU3_COM_PK(x) (((uint32_t)(((uint32_t)(x)) << CAU3_COM_PK_SHIFT)) & CAU3_COM_PK_MASK) 1936 /*! @} */ 1937 1938 /*! @name CTL - Control Register */ 1939 /*! @{ */ 1940 #define CAU3_CTL_IM_MASK (0x1U) 1941 #define CAU3_CTL_IM_SHIFT (0U) 1942 /*! IM - Interrupt Mask 1943 * 0b0..Interrupt not masked. 1944 * 0b1..Interrupt masked 1945 */ 1946 #define CAU3_CTL_IM(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CTL_IM_SHIFT)) & CAU3_CTL_IM_MASK) 1947 #define CAU3_CTL_PDE_MASK (0x10U) 1948 #define CAU3_CTL_PDE_SHIFT (4U) 1949 /*! PDE - PKHA Register DMA Enable 1950 * 0b0..DMA Request and Done signals disabled for the PKHA Registers. 1951 * 0b1..DMA Request and Done signals enabled for the PKHA Registers. 1952 */ 1953 #define CAU3_CTL_PDE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CTL_PDE_SHIFT)) & CAU3_CTL_PDE_MASK) 1954 /*! @} */ 1955 1956 /*! @name CW - Clear Written Register */ 1957 /*! @{ */ 1958 #define CAU3_CW_CM_MASK (0x1U) 1959 #define CAU3_CW_CM_SHIFT (0U) 1960 #define CAU3_CW_CM(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CW_CM_SHIFT)) & CAU3_CW_CM_MASK) 1961 #define CAU3_CW_CPKA_MASK (0x1000U) 1962 #define CAU3_CW_CPKA_SHIFT (12U) 1963 #define CAU3_CW_CPKA(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CW_CPKA_SHIFT)) & CAU3_CW_CPKA_MASK) 1964 #define CAU3_CW_CPKB_MASK (0x2000U) 1965 #define CAU3_CW_CPKB_SHIFT (13U) 1966 #define CAU3_CW_CPKB(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CW_CPKB_SHIFT)) & CAU3_CW_CPKB_MASK) 1967 #define CAU3_CW_CPKN_MASK (0x4000U) 1968 #define CAU3_CW_CPKN_SHIFT (14U) 1969 #define CAU3_CW_CPKN(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CW_CPKN_SHIFT)) & CAU3_CW_CPKN_MASK) 1970 #define CAU3_CW_CPKE_MASK (0x8000U) 1971 #define CAU3_CW_CPKE_SHIFT (15U) 1972 #define CAU3_CW_CPKE(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CW_CPKE_SHIFT)) & CAU3_CW_CPKE_MASK) 1973 /*! @} */ 1974 1975 /*! @name STA - Status Register */ 1976 /*! @{ */ 1977 #define CAU3_STA_PB_MASK (0x40U) 1978 #define CAU3_STA_PB_SHIFT (6U) 1979 /*! PB - PKHA Busy 1980 * 0b0..PKHA Idle 1981 * 0b1..PKHA Busy. 1982 */ 1983 #define CAU3_STA_PB(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_PB_SHIFT)) & CAU3_STA_PB_MASK) 1984 #define CAU3_STA_DI_MASK (0x10000U) 1985 #define CAU3_STA_DI_SHIFT (16U) 1986 #define CAU3_STA_DI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_DI_SHIFT)) & CAU3_STA_DI_MASK) 1987 #define CAU3_STA_EI_MASK (0x100000U) 1988 #define CAU3_STA_EI_SHIFT (20U) 1989 /*! EI - Error Interrupt 1990 * 0b0..Not Error. 1991 * 0b1..Error Interrupt. 1992 */ 1993 #define CAU3_STA_EI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_EI_SHIFT)) & CAU3_STA_EI_MASK) 1994 #define CAU3_STA_PKP_MASK (0x10000000U) 1995 #define CAU3_STA_PKP_SHIFT (28U) 1996 #define CAU3_STA_PKP(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_PKP_SHIFT)) & CAU3_STA_PKP_MASK) 1997 #define CAU3_STA_PKO_MASK (0x20000000U) 1998 #define CAU3_STA_PKO_SHIFT (29U) 1999 #define CAU3_STA_PKO(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_PKO_SHIFT)) & CAU3_STA_PKO_MASK) 2000 #define CAU3_STA_PKZ_MASK (0x40000000U) 2001 #define CAU3_STA_PKZ_SHIFT (30U) 2002 #define CAU3_STA_PKZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_STA_PKZ_SHIFT)) & CAU3_STA_PKZ_MASK) 2003 /*! @} */ 2004 2005 /*! @name ESTA - Error Status Register */ 2006 /*! @{ */ 2007 #define CAU3_ESTA_ERRID1_MASK (0xFU) 2008 #define CAU3_ESTA_ERRID1_SHIFT (0U) 2009 /*! ERRID1 - Error ID 1 2010 * 0b0001..Mode Error 2011 * 0b0010..PKHA N Register Size Error 2012 * 0b0011..PKHA E Register Size Error 2013 * 0b0100..PKHA A Register Size Error 2014 * 0b0101..PKHA B Register Size Error 2015 * 0b0110..PKHA C input (as contained in the PKHA B0 quadrant) is Zero 2016 * 0b0111..PKHA Divide by Zero Error 2017 * 0b1000..PKHA Modulus Even Error 2018 * 0b1111..Invalid Crypto Engine Selected 2019 */ 2020 #define CAU3_ESTA_ERRID1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_ESTA_ERRID1_SHIFT)) & CAU3_ESTA_ERRID1_MASK) 2021 #define CAU3_ESTA_CL1_MASK (0xF00U) 2022 #define CAU3_ESTA_CL1_SHIFT (8U) 2023 /*! CL1 - algorithms 2024 * 0b0000..General Error 2025 * 0b1000..Public Key 2026 */ 2027 #define CAU3_ESTA_CL1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_ESTA_CL1_SHIFT)) & CAU3_ESTA_CL1_MASK) 2028 /*! @} */ 2029 2030 /*! @name PKASZ - PKHA A Size Register */ 2031 /*! @{ */ 2032 #define CAU3_PKASZ_PKASZ_MASK (0x1FFU) 2033 #define CAU3_PKASZ_PKASZ_SHIFT (0U) 2034 #define CAU3_PKASZ_PKASZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKASZ_PKASZ_SHIFT)) & CAU3_PKASZ_PKASZ_MASK) 2035 /*! @} */ 2036 2037 /*! @name PKBSZ - PKHA B Size Register */ 2038 /*! @{ */ 2039 #define CAU3_PKBSZ_PKBSZ_MASK (0x1FFU) 2040 #define CAU3_PKBSZ_PKBSZ_SHIFT (0U) 2041 #define CAU3_PKBSZ_PKBSZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKBSZ_PKBSZ_SHIFT)) & CAU3_PKBSZ_PKBSZ_MASK) 2042 /*! @} */ 2043 2044 /*! @name PKNSZ - PKHA N Size Register */ 2045 /*! @{ */ 2046 #define CAU3_PKNSZ_PKNSZ_MASK (0x1FFU) 2047 #define CAU3_PKNSZ_PKNSZ_SHIFT (0U) 2048 #define CAU3_PKNSZ_PKNSZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKNSZ_PKNSZ_SHIFT)) & CAU3_PKNSZ_PKNSZ_MASK) 2049 /*! @} */ 2050 2051 /*! @name PKESZ - PKHA E Size Register */ 2052 /*! @{ */ 2053 #define CAU3_PKESZ_PKESZ_MASK (0x1FFU) 2054 #define CAU3_PKESZ_PKESZ_SHIFT (0U) 2055 #define CAU3_PKESZ_PKESZ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKESZ_PKESZ_SHIFT)) & CAU3_PKESZ_PKESZ_MASK) 2056 /*! @} */ 2057 2058 /*! @name PKHA_VID1 - PKHA Revision ID 1 */ 2059 /*! @{ */ 2060 #define CAU3_PKHA_VID1_MIN_REV_MASK (0xFFU) 2061 #define CAU3_PKHA_VID1_MIN_REV_SHIFT (0U) 2062 #define CAU3_PKHA_VID1_MIN_REV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_VID1_MIN_REV_SHIFT)) & CAU3_PKHA_VID1_MIN_REV_MASK) 2063 #define CAU3_PKHA_VID1_MAJ_REV_MASK (0xFF00U) 2064 #define CAU3_PKHA_VID1_MAJ_REV_SHIFT (8U) 2065 #define CAU3_PKHA_VID1_MAJ_REV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_VID1_MAJ_REV_SHIFT)) & CAU3_PKHA_VID1_MAJ_REV_MASK) 2066 #define CAU3_PKHA_VID1_IP_ID_MASK (0xFFFF0000U) 2067 #define CAU3_PKHA_VID1_IP_ID_SHIFT (16U) 2068 #define CAU3_PKHA_VID1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_VID1_IP_ID_SHIFT)) & CAU3_PKHA_VID1_IP_ID_MASK) 2069 /*! @} */ 2070 2071 /*! @name PKHA_VID2 - PKHA Revision ID 2 */ 2072 /*! @{ */ 2073 #define CAU3_PKHA_VID2_ECO_REV_MASK (0xFFU) 2074 #define CAU3_PKHA_VID2_ECO_REV_SHIFT (0U) 2075 #define CAU3_PKHA_VID2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_VID2_ECO_REV_SHIFT)) & CAU3_PKHA_VID2_ECO_REV_MASK) 2076 #define CAU3_PKHA_VID2_ARCH_ERA_MASK (0xFF00U) 2077 #define CAU3_PKHA_VID2_ARCH_ERA_SHIFT (8U) 2078 #define CAU3_PKHA_VID2_ARCH_ERA(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_VID2_ARCH_ERA_SHIFT)) & CAU3_PKHA_VID2_ARCH_ERA_MASK) 2079 /*! @} */ 2080 2081 /*! @name CHA_VID - CHA Revision ID */ 2082 /*! @{ */ 2083 #define CAU3_CHA_VID_PKHAREV_MASK (0xF0000U) 2084 #define CAU3_CHA_VID_PKHAREV_SHIFT (16U) 2085 #define CAU3_CHA_VID_PKHAREV(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CHA_VID_PKHAREV_SHIFT)) & CAU3_CHA_VID_PKHAREV_MASK) 2086 #define CAU3_CHA_VID_PKHAVID_MASK (0xF00000U) 2087 #define CAU3_CHA_VID_PKHAVID_SHIFT (20U) 2088 #define CAU3_CHA_VID_PKHAVID(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CHA_VID_PKHAVID_SHIFT)) & CAU3_CHA_VID_PKHAVID_MASK) 2089 /*! @} */ 2090 2091 /*! @name PKHA_CCR - PKHA Clock Control Register */ 2092 /*! @{ */ 2093 #define CAU3_PKHA_CCR_CKTHRT_MASK (0x7U) 2094 #define CAU3_PKHA_CCR_CKTHRT_SHIFT (0U) 2095 /*! CKTHRT - Clock Throttle selection 2096 * 0b000..PKHA clock division rate is 8/8 - full speed 2097 * 0b001..PKHA clock division rate is 1/8 2098 * 0b010..PKHA clock division rate is 2/8 2099 * 0b011..PKHA clock division rate is 3/8 2100 * 0b100..PKHA clock division rate is 4/8 2101 * 0b101..PKHA clock division rate is 5/8 2102 * 0b110..PKHA clock division rate is 6/8 2103 * 0b111..PKHA clock division rate is 7/8 2104 */ 2105 #define CAU3_PKHA_CCR_CKTHRT(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_CCR_CKTHRT_SHIFT)) & CAU3_PKHA_CCR_CKTHRT_MASK) 2106 #define CAU3_PKHA_CCR_LK_MASK (0x1000000U) 2107 #define CAU3_PKHA_CCR_LK_SHIFT (24U) 2108 /*! LK - Register Lock 2109 * 0b0..Register is unlocked 2110 * 0b1..Register is locked 2111 */ 2112 #define CAU3_PKHA_CCR_LK(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_CCR_LK_SHIFT)) & CAU3_PKHA_CCR_LK_MASK) 2113 #define CAU3_PKHA_CCR_ELFR_MASK (0x20000000U) 2114 #define CAU3_PKHA_CCR_ELFR_SHIFT (29U) 2115 /*! ELFR - Enable Linear Feedback Shift Register 2116 * 0b0..LFSR is only enabled if ECT = 1 and ECJ = 1 2117 * 0b1..LFSR is enabled independently of ECT and ECJ 2118 */ 2119 #define CAU3_PKHA_CCR_ELFR(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_CCR_ELFR_SHIFT)) & CAU3_PKHA_CCR_ELFR_MASK) 2120 #define CAU3_PKHA_CCR_ECJ_MASK (0x40000000U) 2121 #define CAU3_PKHA_CCR_ECJ_SHIFT (30U) 2122 /*! ECJ - Enable Clock Jitter 2123 * 0b0..Clock Jitter is disabled 2124 * 0b1..Clock jitter is enabled 2125 */ 2126 #define CAU3_PKHA_CCR_ECJ(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_CCR_ECJ_SHIFT)) & CAU3_PKHA_CCR_ECJ_MASK) 2127 #define CAU3_PKHA_CCR_ECT_MASK (0x80000000U) 2128 #define CAU3_PKHA_CCR_ECT_SHIFT (31U) 2129 /*! ECT - Enable Clock Throttle 2130 * 0b0..PKHA clock throttle disabled meaning that PKHA is operatiing at full speed 2131 * 0b1..PKHA clock throttle enabled 2132 */ 2133 #define CAU3_PKHA_CCR_ECT(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKHA_CCR_ECT_SHIFT)) & CAU3_PKHA_CCR_ECT_MASK) 2134 /*! @} */ 2135 2136 /*! @name GSR - Global Status Register */ 2137 /*! @{ */ 2138 #define CAU3_GSR_CDI_MASK (0x400U) 2139 #define CAU3_GSR_CDI_SHIFT (10U) 2140 /*! CDI - CAU3 Done Interrupt occurred 2141 * 0b0..CAU3 Done Interrupt did not occur 2142 * 0b1..CAU3 Done Interrupt occurred 2143 */ 2144 #define CAU3_GSR_CDI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_GSR_CDI_SHIFT)) & CAU3_GSR_CDI_MASK) 2145 #define CAU3_GSR_CEI_MASK (0x4000U) 2146 #define CAU3_GSR_CEI_SHIFT (14U) 2147 /*! CEI - CAU3 Error Interrupt 2148 * 0b0..CAU3 Error Interrupt did not occur 2149 * 0b1..CAU3 Error Interrupt occurred 2150 */ 2151 #define CAU3_GSR_CEI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_GSR_CEI_SHIFT)) & CAU3_GSR_CEI_MASK) 2152 #define CAU3_GSR_PEI_MASK (0x8000U) 2153 #define CAU3_GSR_PEI_SHIFT (15U) 2154 /*! PEI - PKHA Done or Error Interrupt 2155 * 0b0..PKHA interrupt did not occur 2156 * 0b1..PKHA interrupt had occurred 2157 */ 2158 #define CAU3_GSR_PEI(x) (((uint32_t)(((uint32_t)(x)) << CAU3_GSR_PEI_SHIFT)) & CAU3_GSR_PEI_MASK) 2159 #define CAU3_GSR_PBSY_MASK (0x80000000U) 2160 #define CAU3_GSR_PBSY_SHIFT (31U) 2161 /*! PBSY - PKHA Busy 2162 * 0b0..PKHA not busy 2163 * 0b1..PKHA busy 2164 */ 2165 #define CAU3_GSR_PBSY(x) (((uint32_t)(((uint32_t)(x)) << CAU3_GSR_PBSY_SHIFT)) & CAU3_GSR_PBSY_MASK) 2166 /*! @} */ 2167 2168 /*! @name CKLFSR - Clock Linear Feedback Shift Register */ 2169 /*! @{ */ 2170 #define CAU3_CKLFSR_LFSR_MASK (0xFFFFFFFFU) 2171 #define CAU3_CKLFSR_LFSR_SHIFT (0U) 2172 #define CAU3_CKLFSR_LFSR(x) (((uint32_t)(((uint32_t)(x)) << CAU3_CKLFSR_LFSR_SHIFT)) & CAU3_CKLFSR_LFSR_MASK) 2173 /*! @} */ 2174 2175 /*! @name PKA0 - PKHA A0 Register */ 2176 /*! @{ */ 2177 #define CAU3_PKA0_PKHA_A0_MASK (0xFFFFFFFFU) 2178 #define CAU3_PKA0_PKHA_A0_SHIFT (0U) 2179 #define CAU3_PKA0_PKHA_A0(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKA0_PKHA_A0_SHIFT)) & CAU3_PKA0_PKHA_A0_MASK) 2180 /*! @} */ 2181 2182 /* The count of CAU3_PKA0 */ 2183 #define CAU3_PKA0_COUNT (32U) 2184 2185 /*! @name PKA1 - PKHA A1 Register */ 2186 /*! @{ */ 2187 #define CAU3_PKA1_PKHA_A1_MASK (0xFFFFFFFFU) 2188 #define CAU3_PKA1_PKHA_A1_SHIFT (0U) 2189 #define CAU3_PKA1_PKHA_A1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKA1_PKHA_A1_SHIFT)) & CAU3_PKA1_PKHA_A1_MASK) 2190 /*! @} */ 2191 2192 /* The count of CAU3_PKA1 */ 2193 #define CAU3_PKA1_COUNT (32U) 2194 2195 /*! @name PKA2 - PKHA A2 Register */ 2196 /*! @{ */ 2197 #define CAU3_PKA2_PKHA_A2_MASK (0xFFFFFFFFU) 2198 #define CAU3_PKA2_PKHA_A2_SHIFT (0U) 2199 #define CAU3_PKA2_PKHA_A2(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKA2_PKHA_A2_SHIFT)) & CAU3_PKA2_PKHA_A2_MASK) 2200 /*! @} */ 2201 2202 /* The count of CAU3_PKA2 */ 2203 #define CAU3_PKA2_COUNT (32U) 2204 2205 /*! @name PKA3 - PKHA A3 Register */ 2206 /*! @{ */ 2207 #define CAU3_PKA3_PKHA_A3_MASK (0xFFFFFFFFU) 2208 #define CAU3_PKA3_PKHA_A3_SHIFT (0U) 2209 #define CAU3_PKA3_PKHA_A3(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKA3_PKHA_A3_SHIFT)) & CAU3_PKA3_PKHA_A3_MASK) 2210 /*! @} */ 2211 2212 /* The count of CAU3_PKA3 */ 2213 #define CAU3_PKA3_COUNT (32U) 2214 2215 /*! @name PKB0 - PKHA B0 Register */ 2216 /*! @{ */ 2217 #define CAU3_PKB0_PKHA_B0_MASK (0xFFFFFFFFU) 2218 #define CAU3_PKB0_PKHA_B0_SHIFT (0U) 2219 #define CAU3_PKB0_PKHA_B0(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKB0_PKHA_B0_SHIFT)) & CAU3_PKB0_PKHA_B0_MASK) 2220 /*! @} */ 2221 2222 /* The count of CAU3_PKB0 */ 2223 #define CAU3_PKB0_COUNT (32U) 2224 2225 /*! @name PKB1 - PKHA B1 Register */ 2226 /*! @{ */ 2227 #define CAU3_PKB1_PKHA_B1_MASK (0xFFFFFFFFU) 2228 #define CAU3_PKB1_PKHA_B1_SHIFT (0U) 2229 #define CAU3_PKB1_PKHA_B1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKB1_PKHA_B1_SHIFT)) & CAU3_PKB1_PKHA_B1_MASK) 2230 /*! @} */ 2231 2232 /* The count of CAU3_PKB1 */ 2233 #define CAU3_PKB1_COUNT (32U) 2234 2235 /*! @name PKB2 - PKHA B2 Register */ 2236 /*! @{ */ 2237 #define CAU3_PKB2_PKHA_B2_MASK (0xFFFFFFFFU) 2238 #define CAU3_PKB2_PKHA_B2_SHIFT (0U) 2239 #define CAU3_PKB2_PKHA_B2(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKB2_PKHA_B2_SHIFT)) & CAU3_PKB2_PKHA_B2_MASK) 2240 /*! @} */ 2241 2242 /* The count of CAU3_PKB2 */ 2243 #define CAU3_PKB2_COUNT (32U) 2244 2245 /*! @name PKB3 - PKHA B3 Register */ 2246 /*! @{ */ 2247 #define CAU3_PKB3_PKHA_B3_MASK (0xFFFFFFFFU) 2248 #define CAU3_PKB3_PKHA_B3_SHIFT (0U) 2249 #define CAU3_PKB3_PKHA_B3(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKB3_PKHA_B3_SHIFT)) & CAU3_PKB3_PKHA_B3_MASK) 2250 /*! @} */ 2251 2252 /* The count of CAU3_PKB3 */ 2253 #define CAU3_PKB3_COUNT (32U) 2254 2255 /*! @name PKN0 - PKHA N0 Register */ 2256 /*! @{ */ 2257 #define CAU3_PKN0_PKHA_N0_MASK (0xFFFFFFFFU) 2258 #define CAU3_PKN0_PKHA_N0_SHIFT (0U) 2259 #define CAU3_PKN0_PKHA_N0(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKN0_PKHA_N0_SHIFT)) & CAU3_PKN0_PKHA_N0_MASK) 2260 /*! @} */ 2261 2262 /* The count of CAU3_PKN0 */ 2263 #define CAU3_PKN0_COUNT (32U) 2264 2265 /*! @name PKN1 - PKHA N1 Register */ 2266 /*! @{ */ 2267 #define CAU3_PKN1_PKHA_N1_MASK (0xFFFFFFFFU) 2268 #define CAU3_PKN1_PKHA_N1_SHIFT (0U) 2269 #define CAU3_PKN1_PKHA_N1(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKN1_PKHA_N1_SHIFT)) & CAU3_PKN1_PKHA_N1_MASK) 2270 /*! @} */ 2271 2272 /* The count of CAU3_PKN1 */ 2273 #define CAU3_PKN1_COUNT (32U) 2274 2275 /*! @name PKN2 - PKHA N2 Register */ 2276 /*! @{ */ 2277 #define CAU3_PKN2_PKHA_N2_MASK (0xFFFFFFFFU) 2278 #define CAU3_PKN2_PKHA_N2_SHIFT (0U) 2279 #define CAU3_PKN2_PKHA_N2(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKN2_PKHA_N2_SHIFT)) & CAU3_PKN2_PKHA_N2_MASK) 2280 /*! @} */ 2281 2282 /* The count of CAU3_PKN2 */ 2283 #define CAU3_PKN2_COUNT (32U) 2284 2285 /*! @name PKN3 - PKHA N3 Register */ 2286 /*! @{ */ 2287 #define CAU3_PKN3_PKHA_N3_MASK (0xFFFFFFFFU) 2288 #define CAU3_PKN3_PKHA_N3_SHIFT (0U) 2289 #define CAU3_PKN3_PKHA_N3(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKN3_PKHA_N3_SHIFT)) & CAU3_PKN3_PKHA_N3_MASK) 2290 /*! @} */ 2291 2292 /* The count of CAU3_PKN3 */ 2293 #define CAU3_PKN3_COUNT (32U) 2294 2295 /*! @name PKE - PKHA E Register */ 2296 /*! @{ */ 2297 #define CAU3_PKE_PKHA_E_MASK (0xFFFFFFFFU) 2298 #define CAU3_PKE_PKHA_E_SHIFT (0U) 2299 #define CAU3_PKE_PKHA_E(x) (((uint32_t)(((uint32_t)(x)) << CAU3_PKE_PKHA_E_SHIFT)) & CAU3_PKE_PKHA_E_MASK) 2300 /*! @} */ 2301 2302 /* The count of CAU3_PKE */ 2303 #define CAU3_PKE_COUNT (128U) 2304 2305 2306 /*! 2307 * @} 2308 */ /* end of group CAU3_Register_Masks */ 2309 2310 2311 /* CAU3 - Peripheral instance base addresses */ 2312 /** Peripheral CAU3 base address */ 2313 #define CAU3_BASE (0x41028000u) 2314 /** Peripheral CAU3 base pointer */ 2315 #define CAU3 ((CAU3_Type *)CAU3_BASE) 2316 /** Array initializer of CAU3 peripheral base addresses */ 2317 #define CAU3_BASE_ADDRS { CAU3_BASE } 2318 /** Array initializer of CAU3 peripheral base pointers */ 2319 #define CAU3_BASE_PTRS { CAU3 } 2320 /** Interrupt vectors for the CAU3 peripheral type */ 2321 #define CAU3_TASK_COMPLETE_IRQS { CAU3_Task_Complete_IRQn } 2322 #define CAU3_SECURITY_VIOLATION_IRQS { CAU3_Security_Violation_IRQn } 2323 2324 /*! 2325 * @} 2326 */ /* end of group CAU3_Peripheral_Access_Layer */ 2327 2328 2329 /* ---------------------------------------------------------------------------- 2330 -- CRC Peripheral Access Layer 2331 ---------------------------------------------------------------------------- */ 2332 2333 /*! 2334 * @addtogroup CRC_Peripheral_Access_Layer CRC Peripheral Access Layer 2335 * @{ 2336 */ 2337 2338 /** CRC - Register Layout Typedef */ 2339 typedef struct { 2340 union { /* offset: 0x0 */ 2341 __IO uint32_t DATA; /**< CRC Data register, offset: 0x0 */ 2342 struct { /* offset: 0x0 */ 2343 __IO uint8_t DATALL; /**< CRC_DATALL register, offset: 0x0 */ 2344 __IO uint8_t DATALU; /**< CRC_DATALU register, offset: 0x1 */ 2345 __IO uint8_t DATAHL; /**< CRC_DATAHL register, offset: 0x2 */ 2346 __IO uint8_t DATAHU; /**< CRC_DATAHU register, offset: 0x3 */ 2347 } ACCESS8BIT; 2348 struct { /* offset: 0x0 */ 2349 __IO uint16_t DATAL; /**< CRC_DATAL register, offset: 0x0 */ 2350 __IO uint16_t DATAH; /**< CRC_DATAH register, offset: 0x2 */ 2351 } ACCESS16BIT; 2352 }; 2353 union { /* offset: 0x4 */ 2354 __IO uint32_t GPOLY; /**< CRC Polynomial register, offset: 0x4 */ 2355 struct { /* offset: 0x4 */ 2356 __IO uint8_t GPOLYLL; /**< CRC_GPOLYLL register, offset: 0x4 */ 2357 __IO uint8_t GPOLYLU; /**< CRC_GPOLYLU register, offset: 0x5 */ 2358 __IO uint8_t GPOLYHL; /**< CRC_GPOLYHL register, offset: 0x6 */ 2359 __IO uint8_t GPOLYHU; /**< CRC_GPOLYHU register, offset: 0x7 */ 2360 } GPOLY_ACCESS8BIT; 2361 struct { /* offset: 0x4 */ 2362 __IO uint16_t GPOLYL; /**< CRC_GPOLYL register, offset: 0x4 */ 2363 __IO uint16_t GPOLYH; /**< CRC_GPOLYH register, offset: 0x6 */ 2364 } GPOLY_ACCESS16BIT; 2365 }; 2366 union { /* offset: 0x8 */ 2367 __IO uint32_t CTRL; /**< CRC Control register, offset: 0x8 */ 2368 struct { /* offset: 0x8 */ 2369 uint8_t RESERVED_0[3]; 2370 __IO uint8_t CTRLHU; /**< CRC_CTRLHU register, offset: 0xB */ 2371 } CTRL_ACCESS8BIT; 2372 }; 2373 } CRC_Type; 2374 2375 /* ---------------------------------------------------------------------------- 2376 -- CRC Register Masks 2377 ---------------------------------------------------------------------------- */ 2378 2379 /*! 2380 * @addtogroup CRC_Register_Masks CRC Register Masks 2381 * @{ 2382 */ 2383 2384 /*! @name DATA - CRC Data register */ 2385 /*! @{ */ 2386 #define CRC_DATA_LL_MASK (0xFFU) 2387 #define CRC_DATA_LL_SHIFT (0U) 2388 #define CRC_DATA_LL(x) (((uint32_t)(((uint32_t)(x)) << CRC_DATA_LL_SHIFT)) & CRC_DATA_LL_MASK) 2389 #define CRC_DATA_LU_MASK (0xFF00U) 2390 #define CRC_DATA_LU_SHIFT (8U) 2391 #define CRC_DATA_LU(x) (((uint32_t)(((uint32_t)(x)) << CRC_DATA_LU_SHIFT)) & CRC_DATA_LU_MASK) 2392 #define CRC_DATA_HL_MASK (0xFF0000U) 2393 #define CRC_DATA_HL_SHIFT (16U) 2394 #define CRC_DATA_HL(x) (((uint32_t)(((uint32_t)(x)) << CRC_DATA_HL_SHIFT)) & CRC_DATA_HL_MASK) 2395 #define CRC_DATA_HU_MASK (0xFF000000U) 2396 #define CRC_DATA_HU_SHIFT (24U) 2397 #define CRC_DATA_HU(x) (((uint32_t)(((uint32_t)(x)) << CRC_DATA_HU_SHIFT)) & CRC_DATA_HU_MASK) 2398 /*! @} */ 2399 2400 /*! @name DATALL - CRC_DATALL register */ 2401 /*! @{ */ 2402 #define CRC_DATALL_DATALL_MASK (0xFFU) 2403 #define CRC_DATALL_DATALL_SHIFT (0U) 2404 #define CRC_DATALL_DATALL(x) (((uint8_t)(((uint8_t)(x)) << CRC_DATALL_DATALL_SHIFT)) & CRC_DATALL_DATALL_MASK) 2405 /*! @} */ 2406 2407 /*! @name DATALU - CRC_DATALU register */ 2408 /*! @{ */ 2409 #define CRC_DATALU_DATALU_MASK (0xFFU) 2410 #define CRC_DATALU_DATALU_SHIFT (0U) 2411 #define CRC_DATALU_DATALU(x) (((uint8_t)(((uint8_t)(x)) << CRC_DATALU_DATALU_SHIFT)) & CRC_DATALU_DATALU_MASK) 2412 /*! @} */ 2413 2414 /*! @name DATAHL - CRC_DATAHL register */ 2415 /*! @{ */ 2416 #define CRC_DATAHL_DATAHL_MASK (0xFFU) 2417 #define CRC_DATAHL_DATAHL_SHIFT (0U) 2418 #define CRC_DATAHL_DATAHL(x) (((uint8_t)(((uint8_t)(x)) << CRC_DATAHL_DATAHL_SHIFT)) & CRC_DATAHL_DATAHL_MASK) 2419 /*! @} */ 2420 2421 /*! @name DATAHU - CRC_DATAHU register */ 2422 /*! @{ */ 2423 #define CRC_DATAHU_DATAHU_MASK (0xFFU) 2424 #define CRC_DATAHU_DATAHU_SHIFT (0U) 2425 #define CRC_DATAHU_DATAHU(x) (((uint8_t)(((uint8_t)(x)) << CRC_DATAHU_DATAHU_SHIFT)) & CRC_DATAHU_DATAHU_MASK) 2426 /*! @} */ 2427 2428 /*! @name DATAL - CRC_DATAL register */ 2429 /*! @{ */ 2430 #define CRC_DATAL_DATAL_MASK (0xFFFFU) 2431 #define CRC_DATAL_DATAL_SHIFT (0U) 2432 #define CRC_DATAL_DATAL(x) (((uint16_t)(((uint16_t)(x)) << CRC_DATAL_DATAL_SHIFT)) & CRC_DATAL_DATAL_MASK) 2433 /*! @} */ 2434 2435 /*! @name DATAH - CRC_DATAH register */ 2436 /*! @{ */ 2437 #define CRC_DATAH_DATAH_MASK (0xFFFFU) 2438 #define CRC_DATAH_DATAH_SHIFT (0U) 2439 #define CRC_DATAH_DATAH(x) (((uint16_t)(((uint16_t)(x)) << CRC_DATAH_DATAH_SHIFT)) & CRC_DATAH_DATAH_MASK) 2440 /*! @} */ 2441 2442 /*! @name GPOLY - CRC Polynomial register */ 2443 /*! @{ */ 2444 #define CRC_GPOLY_LOW_MASK (0xFFFFU) 2445 #define CRC_GPOLY_LOW_SHIFT (0U) 2446 #define CRC_GPOLY_LOW(x) (((uint32_t)(((uint32_t)(x)) << CRC_GPOLY_LOW_SHIFT)) & CRC_GPOLY_LOW_MASK) 2447 #define CRC_GPOLY_HIGH_MASK (0xFFFF0000U) 2448 #define CRC_GPOLY_HIGH_SHIFT (16U) 2449 #define CRC_GPOLY_HIGH(x) (((uint32_t)(((uint32_t)(x)) << CRC_GPOLY_HIGH_SHIFT)) & CRC_GPOLY_HIGH_MASK) 2450 /*! @} */ 2451 2452 /*! @name GPOLYLL - CRC_GPOLYLL register */ 2453 /*! @{ */ 2454 #define CRC_GPOLYLL_GPOLYLL_MASK (0xFFU) 2455 #define CRC_GPOLYLL_GPOLYLL_SHIFT (0U) 2456 #define CRC_GPOLYLL_GPOLYLL(x) (((uint8_t)(((uint8_t)(x)) << CRC_GPOLYLL_GPOLYLL_SHIFT)) & CRC_GPOLYLL_GPOLYLL_MASK) 2457 /*! @} */ 2458 2459 /*! @name GPOLYLU - CRC_GPOLYLU register */ 2460 /*! @{ */ 2461 #define CRC_GPOLYLU_GPOLYLU_MASK (0xFFU) 2462 #define CRC_GPOLYLU_GPOLYLU_SHIFT (0U) 2463 #define CRC_GPOLYLU_GPOLYLU(x) (((uint8_t)(((uint8_t)(x)) << CRC_GPOLYLU_GPOLYLU_SHIFT)) & CRC_GPOLYLU_GPOLYLU_MASK) 2464 /*! @} */ 2465 2466 /*! @name GPOLYHL - CRC_GPOLYHL register */ 2467 /*! @{ */ 2468 #define CRC_GPOLYHL_GPOLYHL_MASK (0xFFU) 2469 #define CRC_GPOLYHL_GPOLYHL_SHIFT (0U) 2470 #define CRC_GPOLYHL_GPOLYHL(x) (((uint8_t)(((uint8_t)(x)) << CRC_GPOLYHL_GPOLYHL_SHIFT)) & CRC_GPOLYHL_GPOLYHL_MASK) 2471 /*! @} */ 2472 2473 /*! @name GPOLYHU - CRC_GPOLYHU register */ 2474 /*! @{ */ 2475 #define CRC_GPOLYHU_GPOLYHU_MASK (0xFFU) 2476 #define CRC_GPOLYHU_GPOLYHU_SHIFT (0U) 2477 #define CRC_GPOLYHU_GPOLYHU(x) (((uint8_t)(((uint8_t)(x)) << CRC_GPOLYHU_GPOLYHU_SHIFT)) & CRC_GPOLYHU_GPOLYHU_MASK) 2478 /*! @} */ 2479 2480 /*! @name GPOLYL - CRC_GPOLYL register */ 2481 /*! @{ */ 2482 #define CRC_GPOLYL_GPOLYL_MASK (0xFFFFU) 2483 #define CRC_GPOLYL_GPOLYL_SHIFT (0U) 2484 #define CRC_GPOLYL_GPOLYL(x) (((uint16_t)(((uint16_t)(x)) << CRC_GPOLYL_GPOLYL_SHIFT)) & CRC_GPOLYL_GPOLYL_MASK) 2485 /*! @} */ 2486 2487 /*! @name GPOLYH - CRC_GPOLYH register */ 2488 /*! @{ */ 2489 #define CRC_GPOLYH_GPOLYH_MASK (0xFFFFU) 2490 #define CRC_GPOLYH_GPOLYH_SHIFT (0U) 2491 #define CRC_GPOLYH_GPOLYH(x) (((uint16_t)(((uint16_t)(x)) << CRC_GPOLYH_GPOLYH_SHIFT)) & CRC_GPOLYH_GPOLYH_MASK) 2492 /*! @} */ 2493 2494 /*! @name CTRL - CRC Control register */ 2495 /*! @{ */ 2496 #define CRC_CTRL_TCRC_MASK (0x1000000U) 2497 #define CRC_CTRL_TCRC_SHIFT (24U) 2498 /*! TCRC - TCRC 2499 * 0b0..16-bit CRC protocol. 2500 * 0b1..32-bit CRC protocol. 2501 */ 2502 #define CRC_CTRL_TCRC(x) (((uint32_t)(((uint32_t)(x)) << CRC_CTRL_TCRC_SHIFT)) & CRC_CTRL_TCRC_MASK) 2503 #define CRC_CTRL_WAS_MASK (0x2000000U) 2504 #define CRC_CTRL_WAS_SHIFT (25U) 2505 /*! WAS - Write CRC Data Register As Seed 2506 * 0b0..Writes to the CRC data register are data values. 2507 * 0b1..Writes to the CRC data register are seed values. 2508 */ 2509 #define CRC_CTRL_WAS(x) (((uint32_t)(((uint32_t)(x)) << CRC_CTRL_WAS_SHIFT)) & CRC_CTRL_WAS_MASK) 2510 #define CRC_CTRL_FXOR_MASK (0x4000000U) 2511 #define CRC_CTRL_FXOR_SHIFT (26U) 2512 /*! FXOR - Complement Read Of CRC Data Register 2513 * 0b0..No XOR on reading. 2514 * 0b1..Invert or complement the read value of the CRC Data register. 2515 */ 2516 #define CRC_CTRL_FXOR(x) (((uint32_t)(((uint32_t)(x)) << CRC_CTRL_FXOR_SHIFT)) & CRC_CTRL_FXOR_MASK) 2517 #define CRC_CTRL_TOTR_MASK (0x30000000U) 2518 #define CRC_CTRL_TOTR_SHIFT (28U) 2519 /*! TOTR - Type Of Transpose For Read 2520 * 0b00..No transposition. 2521 * 0b01..Bits in bytes are transposed; bytes are not transposed. 2522 * 0b10..Both bits in bytes and bytes are transposed. 2523 * 0b11..Only bytes are transposed; no bits in a byte are transposed. 2524 */ 2525 #define CRC_CTRL_TOTR(x) (((uint32_t)(((uint32_t)(x)) << CRC_CTRL_TOTR_SHIFT)) & CRC_CTRL_TOTR_MASK) 2526 #define CRC_CTRL_TOT_MASK (0xC0000000U) 2527 #define CRC_CTRL_TOT_SHIFT (30U) 2528 /*! TOT - Type Of Transpose For Writes 2529 * 0b00..No transposition. 2530 * 0b01..Bits in bytes are transposed; bytes are not transposed. 2531 * 0b10..Both bits in bytes and bytes are transposed. 2532 * 0b11..Only bytes are transposed; no bits in a byte are transposed. 2533 */ 2534 #define CRC_CTRL_TOT(x) (((uint32_t)(((uint32_t)(x)) << CRC_CTRL_TOT_SHIFT)) & CRC_CTRL_TOT_MASK) 2535 /*! @} */ 2536 2537 /*! @name CTRLHU - CRC_CTRLHU register */ 2538 /*! @{ */ 2539 #define CRC_CTRLHU_TCRC_MASK (0x1U) 2540 #define CRC_CTRLHU_TCRC_SHIFT (0U) 2541 /*! TCRC 2542 * 0b0..16-bit CRC protocol. 2543 * 0b1..32-bit CRC protocol. 2544 */ 2545 #define CRC_CTRLHU_TCRC(x) (((uint8_t)(((uint8_t)(x)) << CRC_CTRLHU_TCRC_SHIFT)) & CRC_CTRLHU_TCRC_MASK) 2546 #define CRC_CTRLHU_WAS_MASK (0x2U) 2547 #define CRC_CTRLHU_WAS_SHIFT (1U) 2548 /*! WAS 2549 * 0b0..Writes to the CRC data register are data values. 2550 * 0b1..Writes to the CRC data register are seed values. 2551 */ 2552 #define CRC_CTRLHU_WAS(x) (((uint8_t)(((uint8_t)(x)) << CRC_CTRLHU_WAS_SHIFT)) & CRC_CTRLHU_WAS_MASK) 2553 #define CRC_CTRLHU_FXOR_MASK (0x4U) 2554 #define CRC_CTRLHU_FXOR_SHIFT (2U) 2555 /*! FXOR 2556 * 0b0..No XOR on reading. 2557 * 0b1..Invert or complement the read value of the CRC Data register. 2558 */ 2559 #define CRC_CTRLHU_FXOR(x) (((uint8_t)(((uint8_t)(x)) << CRC_CTRLHU_FXOR_SHIFT)) & CRC_CTRLHU_FXOR_MASK) 2560 #define CRC_CTRLHU_TOTR_MASK (0x30U) 2561 #define CRC_CTRLHU_TOTR_SHIFT (4U) 2562 /*! TOTR 2563 * 0b00..No transposition. 2564 * 0b01..Bits in bytes are transposed; bytes are not transposed. 2565 * 0b10..Both bits in bytes and bytes are transposed. 2566 * 0b11..Only bytes are transposed; no bits in a byte are transposed. 2567 */ 2568 #define CRC_CTRLHU_TOTR(x) (((uint8_t)(((uint8_t)(x)) << CRC_CTRLHU_TOTR_SHIFT)) & CRC_CTRLHU_TOTR_MASK) 2569 #define CRC_CTRLHU_TOT_MASK (0xC0U) 2570 #define CRC_CTRLHU_TOT_SHIFT (6U) 2571 /*! TOT 2572 * 0b00..No transposition. 2573 * 0b01..Bits in bytes are transposed; bytes are not transposed. 2574 * 0b10..Both bits in bytes and bytes are transposed. 2575 * 0b11..Only bytes are transposed; no bits in a byte are transposed. 2576 */ 2577 #define CRC_CTRLHU_TOT(x) (((uint8_t)(((uint8_t)(x)) << CRC_CTRLHU_TOT_SHIFT)) & CRC_CTRLHU_TOT_MASK) 2578 /*! @} */ 2579 2580 2581 /*! 2582 * @} 2583 */ /* end of group CRC_Register_Masks */ 2584 2585 2586 /* CRC - Peripheral instance base addresses */ 2587 /** Peripheral CRC base address */ 2588 #define CRC_BASE (0x4002F000u) 2589 /** Peripheral CRC base pointer */ 2590 #define CRC0 ((CRC_Type *)CRC_BASE) 2591 /** Array initializer of CRC peripheral base addresses */ 2592 #define CRC_BASE_ADDRS { CRC_BASE } 2593 /** Array initializer of CRC peripheral base pointers */ 2594 #define CRC_BASE_PTRS { CRC0 } 2595 2596 /*! 2597 * @} 2598 */ /* end of group CRC_Peripheral_Access_Layer */ 2599 2600 2601 /* ---------------------------------------------------------------------------- 2602 -- DMA Peripheral Access Layer 2603 ---------------------------------------------------------------------------- */ 2604 2605 /*! 2606 * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer 2607 * @{ 2608 */ 2609 2610 /** DMA - Register Layout Typedef */ 2611 typedef struct { 2612 __IO uint32_t CR; /**< Control Register, offset: 0x0 */ 2613 __I uint32_t ES; /**< Error Status Register, offset: 0x4 */ 2614 uint8_t RESERVED_0[4]; 2615 __IO uint32_t ERQ; /**< Enable Request Register, offset: 0xC */ 2616 uint8_t RESERVED_1[4]; 2617 __IO uint32_t EEI; /**< Enable Error Interrupt Register, offset: 0x14 */ 2618 __O uint8_t CEEI; /**< Clear Enable Error Interrupt Register, offset: 0x18 */ 2619 __O uint8_t SEEI; /**< Set Enable Error Interrupt Register, offset: 0x19 */ 2620 __O uint8_t CERQ; /**< Clear Enable Request Register, offset: 0x1A */ 2621 __O uint8_t SERQ; /**< Set Enable Request Register, offset: 0x1B */ 2622 __O uint8_t CDNE; /**< Clear DONE Status Bit Register, offset: 0x1C */ 2623 __O uint8_t SSRT; /**< Set START Bit Register, offset: 0x1D */ 2624 __O uint8_t CERR; /**< Clear Error Register, offset: 0x1E */ 2625 __O uint8_t CINT; /**< Clear Interrupt Request Register, offset: 0x1F */ 2626 uint8_t RESERVED_2[4]; 2627 __IO uint32_t INT; /**< Interrupt Request Register, offset: 0x24 */ 2628 uint8_t RESERVED_3[4]; 2629 __IO uint32_t ERR; /**< Error Register, offset: 0x2C */ 2630 uint8_t RESERVED_4[4]; 2631 __I uint32_t HRS; /**< Hardware Request Status Register, offset: 0x34 */ 2632 uint8_t RESERVED_5[12]; 2633 __IO uint32_t EARS; /**< Enable Asynchronous Request in Stop Register, offset: 0x44 */ 2634 uint8_t RESERVED_6[184]; 2635 __IO uint8_t DCHPRI3; /**< Channel Priority Register, offset: 0x100 */ 2636 __IO uint8_t DCHPRI2; /**< Channel Priority Register, offset: 0x101 */ 2637 __IO uint8_t DCHPRI1; /**< Channel Priority Register, offset: 0x102 */ 2638 __IO uint8_t DCHPRI0; /**< Channel Priority Register, offset: 0x103 */ 2639 __IO uint8_t DCHPRI7; /**< Channel Priority Register, offset: 0x104 */ 2640 __IO uint8_t DCHPRI6; /**< Channel Priority Register, offset: 0x105 */ 2641 __IO uint8_t DCHPRI5; /**< Channel Priority Register, offset: 0x106 */ 2642 __IO uint8_t DCHPRI4; /**< Channel Priority Register, offset: 0x107 */ 2643 uint8_t RESERVED_7[3832]; 2644 struct { /* offset: 0x1000, array step: 0x20 */ 2645 __IO uint32_t SADDR; /**< TCD Source Address, array offset: 0x1000, array step: 0x20 */ 2646 __IO uint16_t SOFF; /**< TCD Signed Source Address Offset, array offset: 0x1004, array step: 0x20 */ 2647 __IO uint16_t ATTR; /**< TCD Transfer Attributes, array offset: 0x1006, array step: 0x20 */ 2648 union { /* offset: 0x1008, array step: 0x20 */ 2649 __IO uint32_t NBYTES_MLNO; /**< TCD Minor Byte Count (Minor Loop Mapping Disabled), array offset: 0x1008, array step: 0x20 */ 2650 __IO uint32_t NBYTES_MLOFFNO; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled), array offset: 0x1008, array step: 0x20 */ 2651 __IO uint32_t NBYTES_MLOFFYES; /**< TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled), array offset: 0x1008, array step: 0x20 */ 2652 }; 2653 __IO uint32_t SLAST; /**< TCD Last Source Address Adjustment, array offset: 0x100C, array step: 0x20 */ 2654 __IO uint32_t DADDR; /**< TCD Destination Address, array offset: 0x1010, array step: 0x20 */ 2655 __IO uint16_t DOFF; /**< TCD Signed Destination Address Offset, array offset: 0x1014, array step: 0x20 */ 2656 union { /* offset: 0x1016, array step: 0x20 */ 2657 __IO uint16_t CITER_ELINKNO; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x1016, array step: 0x20 */ 2658 __IO uint16_t CITER_ELINKYES; /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x1016, array step: 0x20 */ 2659 }; 2660 __IO uint32_t DLAST_SGA; /**< TCD Last Destination Address Adjustment/Scatter Gather Address, array offset: 0x1018, array step: 0x20 */ 2661 __IO uint16_t CSR; /**< TCD Control and Status, array offset: 0x101C, array step: 0x20 */ 2662 union { /* offset: 0x101E, array step: 0x20 */ 2663 __IO uint16_t BITER_ELINKNO; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x101E, array step: 0x20 */ 2664 __IO uint16_t BITER_ELINKYES; /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x101E, array step: 0x20 */ 2665 }; 2666 } TCD[8]; 2667 } DMA_Type; 2668 2669 /* ---------------------------------------------------------------------------- 2670 -- DMA Register Masks 2671 ---------------------------------------------------------------------------- */ 2672 2673 /*! 2674 * @addtogroup DMA_Register_Masks DMA Register Masks 2675 * @{ 2676 */ 2677 2678 /*! @name CR - Control Register */ 2679 /*! @{ */ 2680 #define DMA_CR_EDBG_MASK (0x2U) 2681 #define DMA_CR_EDBG_SHIFT (1U) 2682 /*! EDBG - Enable Debug 2683 * 0b0..When in debug mode, the DMA continues to operate. 2684 * 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. 2685 */ 2686 #define DMA_CR_EDBG(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EDBG_SHIFT)) & DMA_CR_EDBG_MASK) 2687 #define DMA_CR_ERCA_MASK (0x4U) 2688 #define DMA_CR_ERCA_SHIFT (2U) 2689 /*! ERCA - Enable Round Robin Channel Arbitration 2690 * 0b0..Fixed priority arbitration is used for channel selection . 2691 * 0b1..Round robin arbitration is used for channel selection . 2692 */ 2693 #define DMA_CR_ERCA(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ERCA_SHIFT)) & DMA_CR_ERCA_MASK) 2694 #define DMA_CR_HOE_MASK (0x10U) 2695 #define DMA_CR_HOE_SHIFT (4U) 2696 /*! HOE - Halt On Error 2697 * 0b0..Normal operation 2698 * 0b1..Any error causes the HALT bit to set. Subsequently, all service requests are ignored until the HALT bit is cleared. 2699 */ 2700 #define DMA_CR_HOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HOE_SHIFT)) & DMA_CR_HOE_MASK) 2701 #define DMA_CR_HALT_MASK (0x20U) 2702 #define DMA_CR_HALT_SHIFT (5U) 2703 /*! HALT - Halt DMA Operations 2704 * 0b0..Normal operation 2705 * 0b1..Stall the start of any new channels. Executing channels are allowed to complete. Channel execution resumes when this bit is cleared. 2706 */ 2707 #define DMA_CR_HALT(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_HALT_SHIFT)) & DMA_CR_HALT_MASK) 2708 #define DMA_CR_CLM_MASK (0x40U) 2709 #define DMA_CR_CLM_SHIFT (6U) 2710 /*! CLM - Continuous Link Mode 2711 * 0b0..A minor loop channel link made to itself goes through channel arbitration before being activated again. 2712 * 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. 2713 */ 2714 #define DMA_CR_CLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CLM_SHIFT)) & DMA_CR_CLM_MASK) 2715 #define DMA_CR_EMLM_MASK (0x80U) 2716 #define DMA_CR_EMLM_SHIFT (7U) 2717 /*! EMLM - Enable Minor Loop Mapping 2718 * 0b0..Disabled. TCDn.word2 is defined as a 32-bit NBYTES field. 2719 * 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. 2720 */ 2721 #define DMA_CR_EMLM(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_EMLM_SHIFT)) & DMA_CR_EMLM_MASK) 2722 #define DMA_CR_ECX_MASK (0x10000U) 2723 #define DMA_CR_ECX_SHIFT (16U) 2724 /*! ECX - Error Cancel Transfer 2725 * 0b0..Normal operation 2726 * 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. 2727 */ 2728 #define DMA_CR_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ECX_SHIFT)) & DMA_CR_ECX_MASK) 2729 #define DMA_CR_CX_MASK (0x20000U) 2730 #define DMA_CR_CX_SHIFT (17U) 2731 /*! CX - Cancel Transfer 2732 * 0b0..Normal operation 2733 * 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. 2734 */ 2735 #define DMA_CR_CX(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_CX_SHIFT)) & DMA_CR_CX_MASK) 2736 #define DMA_CR_ACTIVE_MASK (0x80000000U) 2737 #define DMA_CR_ACTIVE_SHIFT (31U) 2738 /*! ACTIVE - DMA Active Status 2739 * 0b0..eDMA is idle. 2740 * 0b1..eDMA is executing a channel. 2741 */ 2742 #define DMA_CR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << DMA_CR_ACTIVE_SHIFT)) & DMA_CR_ACTIVE_MASK) 2743 /*! @} */ 2744 2745 /*! @name ES - Error Status Register */ 2746 /*! @{ */ 2747 #define DMA_ES_DBE_MASK (0x1U) 2748 #define DMA_ES_DBE_SHIFT (0U) 2749 /*! DBE - Destination Bus Error 2750 * 0b0..No destination bus error 2751 * 0b1..The last recorded error was a bus error on a destination write 2752 */ 2753 #define DMA_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DBE_SHIFT)) & DMA_ES_DBE_MASK) 2754 #define DMA_ES_SBE_MASK (0x2U) 2755 #define DMA_ES_SBE_SHIFT (1U) 2756 /*! SBE - Source Bus Error 2757 * 0b0..No source bus error 2758 * 0b1..The last recorded error was a bus error on a source read 2759 */ 2760 #define DMA_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SBE_SHIFT)) & DMA_ES_SBE_MASK) 2761 #define DMA_ES_SGE_MASK (0x4U) 2762 #define DMA_ES_SGE_SHIFT (2U) 2763 /*! SGE - Scatter/Gather Configuration Error 2764 * 0b0..No scatter/gather configuration error 2765 * 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. 2766 */ 2767 #define DMA_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SGE_SHIFT)) & DMA_ES_SGE_MASK) 2768 #define DMA_ES_NCE_MASK (0x8U) 2769 #define DMA_ES_NCE_SHIFT (3U) 2770 /*! NCE - NBYTES/CITER Configuration Error 2771 * 0b0..No NBYTES/CITER configuration error 2772 * 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] 2773 */ 2774 #define DMA_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_NCE_SHIFT)) & DMA_ES_NCE_MASK) 2775 #define DMA_ES_DOE_MASK (0x10U) 2776 #define DMA_ES_DOE_SHIFT (4U) 2777 /*! DOE - Destination Offset Error 2778 * 0b0..No destination offset configuration error 2779 * 0b1..The last recorded error was a configuration error detected in the TCDn_DOFF field. TCDn_DOFF is inconsistent with TCDn_ATTR[DSIZE]. 2780 */ 2781 #define DMA_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DOE_SHIFT)) & DMA_ES_DOE_MASK) 2782 #define DMA_ES_DAE_MASK (0x20U) 2783 #define DMA_ES_DAE_SHIFT (5U) 2784 /*! DAE - Destination Address Error 2785 * 0b0..No destination address configuration error 2786 * 0b1..The last recorded error was a configuration error detected in the TCDn_DADDR field. TCDn_DADDR is inconsistent with TCDn_ATTR[DSIZE]. 2787 */ 2788 #define DMA_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_DAE_SHIFT)) & DMA_ES_DAE_MASK) 2789 #define DMA_ES_SOE_MASK (0x40U) 2790 #define DMA_ES_SOE_SHIFT (6U) 2791 /*! SOE - Source Offset Error 2792 * 0b0..No source offset configuration error 2793 * 0b1..The last recorded error was a configuration error detected in the TCDn_SOFF field. TCDn_SOFF is inconsistent with TCDn_ATTR[SSIZE]. 2794 */ 2795 #define DMA_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SOE_SHIFT)) & DMA_ES_SOE_MASK) 2796 #define DMA_ES_SAE_MASK (0x80U) 2797 #define DMA_ES_SAE_SHIFT (7U) 2798 /*! SAE - Source Address Error 2799 * 0b0..No source address configuration error. 2800 * 0b1..The last recorded error was a configuration error detected in the TCDn_SADDR field. TCDn_SADDR is inconsistent with TCDn_ATTR[SSIZE]. 2801 */ 2802 #define DMA_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_SAE_SHIFT)) & DMA_ES_SAE_MASK) 2803 #define DMA_ES_ERRCHN_MASK (0x700U) 2804 #define DMA_ES_ERRCHN_SHIFT (8U) 2805 #define DMA_ES_ERRCHN(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ERRCHN_SHIFT)) & DMA_ES_ERRCHN_MASK) 2806 #define DMA_ES_CPE_MASK (0x4000U) 2807 #define DMA_ES_CPE_SHIFT (14U) 2808 /*! CPE - Channel Priority Error 2809 * 0b0..No channel priority error 2810 * 0b1..The last recorded error was a configuration error in the channel priorities . Channel priorities are not unique. 2811 */ 2812 #define DMA_ES_CPE(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_CPE_SHIFT)) & DMA_ES_CPE_MASK) 2813 #define DMA_ES_ECX_MASK (0x10000U) 2814 #define DMA_ES_ECX_SHIFT (16U) 2815 /*! ECX - Transfer Canceled 2816 * 0b0..No canceled transfers 2817 * 0b1..The last recorded entry was a canceled transfer by the error cancel transfer input 2818 */ 2819 #define DMA_ES_ECX(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_ECX_SHIFT)) & DMA_ES_ECX_MASK) 2820 #define DMA_ES_VLD_MASK (0x80000000U) 2821 #define DMA_ES_VLD_SHIFT (31U) 2822 /*! VLD - VLD 2823 * 0b0..No ERR bits are set. 2824 * 0b1..At least one ERR bit is set indicating a valid error exists that has not been cleared. 2825 */ 2826 #define DMA_ES_VLD(x) (((uint32_t)(((uint32_t)(x)) << DMA_ES_VLD_SHIFT)) & DMA_ES_VLD_MASK) 2827 /*! @} */ 2828 2829 /*! @name ERQ - Enable Request Register */ 2830 /*! @{ */ 2831 #define DMA_ERQ_ERQ0_MASK (0x1U) 2832 #define DMA_ERQ_ERQ0_SHIFT (0U) 2833 /*! ERQ0 - Enable DMA Request 0 2834 * 0b0..The DMA request signal for the corresponding channel is disabled 2835 * 0b1..The DMA request signal for the corresponding channel is enabled 2836 */ 2837 #define DMA_ERQ_ERQ0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ0_SHIFT)) & DMA_ERQ_ERQ0_MASK) 2838 #define DMA_ERQ_ERQ1_MASK (0x2U) 2839 #define DMA_ERQ_ERQ1_SHIFT (1U) 2840 /*! ERQ1 - Enable DMA Request 1 2841 * 0b0..The DMA request signal for the corresponding channel is disabled 2842 * 0b1..The DMA request signal for the corresponding channel is enabled 2843 */ 2844 #define DMA_ERQ_ERQ1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ1_SHIFT)) & DMA_ERQ_ERQ1_MASK) 2845 #define DMA_ERQ_ERQ2_MASK (0x4U) 2846 #define DMA_ERQ_ERQ2_SHIFT (2U) 2847 /*! ERQ2 - Enable DMA Request 2 2848 * 0b0..The DMA request signal for the corresponding channel is disabled 2849 * 0b1..The DMA request signal for the corresponding channel is enabled 2850 */ 2851 #define DMA_ERQ_ERQ2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ2_SHIFT)) & DMA_ERQ_ERQ2_MASK) 2852 #define DMA_ERQ_ERQ3_MASK (0x8U) 2853 #define DMA_ERQ_ERQ3_SHIFT (3U) 2854 /*! ERQ3 - Enable DMA Request 3 2855 * 0b0..The DMA request signal for the corresponding channel is disabled 2856 * 0b1..The DMA request signal for the corresponding channel is enabled 2857 */ 2858 #define DMA_ERQ_ERQ3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ3_SHIFT)) & DMA_ERQ_ERQ3_MASK) 2859 #define DMA_ERQ_ERQ4_MASK (0x10U) 2860 #define DMA_ERQ_ERQ4_SHIFT (4U) 2861 /*! ERQ4 - Enable DMA Request 4 2862 * 0b0..The DMA request signal for the corresponding channel is disabled 2863 * 0b1..The DMA request signal for the corresponding channel is enabled 2864 */ 2865 #define DMA_ERQ_ERQ4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ4_SHIFT)) & DMA_ERQ_ERQ4_MASK) 2866 #define DMA_ERQ_ERQ5_MASK (0x20U) 2867 #define DMA_ERQ_ERQ5_SHIFT (5U) 2868 /*! ERQ5 - Enable DMA Request 5 2869 * 0b0..The DMA request signal for the corresponding channel is disabled 2870 * 0b1..The DMA request signal for the corresponding channel is enabled 2871 */ 2872 #define DMA_ERQ_ERQ5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ5_SHIFT)) & DMA_ERQ_ERQ5_MASK) 2873 #define DMA_ERQ_ERQ6_MASK (0x40U) 2874 #define DMA_ERQ_ERQ6_SHIFT (6U) 2875 /*! ERQ6 - Enable DMA Request 6 2876 * 0b0..The DMA request signal for the corresponding channel is disabled 2877 * 0b1..The DMA request signal for the corresponding channel is enabled 2878 */ 2879 #define DMA_ERQ_ERQ6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ6_SHIFT)) & DMA_ERQ_ERQ6_MASK) 2880 #define DMA_ERQ_ERQ7_MASK (0x80U) 2881 #define DMA_ERQ_ERQ7_SHIFT (7U) 2882 /*! ERQ7 - Enable DMA Request 7 2883 * 0b0..The DMA request signal for the corresponding channel is disabled 2884 * 0b1..The DMA request signal for the corresponding channel is enabled 2885 */ 2886 #define DMA_ERQ_ERQ7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERQ_ERQ7_SHIFT)) & DMA_ERQ_ERQ7_MASK) 2887 /*! @} */ 2888 2889 /*! @name EEI - Enable Error Interrupt Register */ 2890 /*! @{ */ 2891 #define DMA_EEI_EEI0_MASK (0x1U) 2892 #define DMA_EEI_EEI0_SHIFT (0U) 2893 /*! EEI0 - Enable Error Interrupt 0 2894 * 0b0..The error signal for corresponding channel does not generate an error interrupt 2895 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 2896 */ 2897 #define DMA_EEI_EEI0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI0_SHIFT)) & DMA_EEI_EEI0_MASK) 2898 #define DMA_EEI_EEI1_MASK (0x2U) 2899 #define DMA_EEI_EEI1_SHIFT (1U) 2900 /*! EEI1 - Enable Error Interrupt 1 2901 * 0b0..The error signal for corresponding channel does not generate an error interrupt 2902 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 2903 */ 2904 #define DMA_EEI_EEI1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI1_SHIFT)) & DMA_EEI_EEI1_MASK) 2905 #define DMA_EEI_EEI2_MASK (0x4U) 2906 #define DMA_EEI_EEI2_SHIFT (2U) 2907 /*! EEI2 - Enable Error Interrupt 2 2908 * 0b0..The error signal for corresponding channel does not generate an error interrupt 2909 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 2910 */ 2911 #define DMA_EEI_EEI2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI2_SHIFT)) & DMA_EEI_EEI2_MASK) 2912 #define DMA_EEI_EEI3_MASK (0x8U) 2913 #define DMA_EEI_EEI3_SHIFT (3U) 2914 /*! EEI3 - Enable Error Interrupt 3 2915 * 0b0..The error signal for corresponding channel does not generate an error interrupt 2916 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 2917 */ 2918 #define DMA_EEI_EEI3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI3_SHIFT)) & DMA_EEI_EEI3_MASK) 2919 #define DMA_EEI_EEI4_MASK (0x10U) 2920 #define DMA_EEI_EEI4_SHIFT (4U) 2921 /*! EEI4 - Enable Error Interrupt 4 2922 * 0b0..The error signal for corresponding channel does not generate an error interrupt 2923 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 2924 */ 2925 #define DMA_EEI_EEI4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI4_SHIFT)) & DMA_EEI_EEI4_MASK) 2926 #define DMA_EEI_EEI5_MASK (0x20U) 2927 #define DMA_EEI_EEI5_SHIFT (5U) 2928 /*! EEI5 - Enable Error Interrupt 5 2929 * 0b0..The error signal for corresponding channel does not generate an error interrupt 2930 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 2931 */ 2932 #define DMA_EEI_EEI5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI5_SHIFT)) & DMA_EEI_EEI5_MASK) 2933 #define DMA_EEI_EEI6_MASK (0x40U) 2934 #define DMA_EEI_EEI6_SHIFT (6U) 2935 /*! EEI6 - Enable Error Interrupt 6 2936 * 0b0..The error signal for corresponding channel does not generate an error interrupt 2937 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 2938 */ 2939 #define DMA_EEI_EEI6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI6_SHIFT)) & DMA_EEI_EEI6_MASK) 2940 #define DMA_EEI_EEI7_MASK (0x80U) 2941 #define DMA_EEI_EEI7_SHIFT (7U) 2942 /*! EEI7 - Enable Error Interrupt 7 2943 * 0b0..The error signal for corresponding channel does not generate an error interrupt 2944 * 0b1..The assertion of the error signal for corresponding channel generates an error interrupt request 2945 */ 2946 #define DMA_EEI_EEI7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EEI_EEI7_SHIFT)) & DMA_EEI_EEI7_MASK) 2947 /*! @} */ 2948 2949 /*! @name CEEI - Clear Enable Error Interrupt Register */ 2950 /*! @{ */ 2951 #define DMA_CEEI_CEEI_MASK (0x7U) 2952 #define DMA_CEEI_CEEI_SHIFT (0U) 2953 #define DMA_CEEI_CEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CEEI_SHIFT)) & DMA_CEEI_CEEI_MASK) 2954 #define DMA_CEEI_CAEE_MASK (0x40U) 2955 #define DMA_CEEI_CAEE_SHIFT (6U) 2956 /*! CAEE - Clear All Enable Error Interrupts 2957 * 0b0..Clear only the EEI bit specified in the CEEI field 2958 * 0b1..Clear all bits in EEI 2959 */ 2960 #define DMA_CEEI_CAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_CAEE_SHIFT)) & DMA_CEEI_CAEE_MASK) 2961 #define DMA_CEEI_NOP_MASK (0x80U) 2962 #define DMA_CEEI_NOP_SHIFT (7U) 2963 /*! NOP - No Op enable 2964 * 0b0..Normal operation 2965 * 0b1..No operation, ignore the other bits in this register 2966 */ 2967 #define DMA_CEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CEEI_NOP_SHIFT)) & DMA_CEEI_NOP_MASK) 2968 /*! @} */ 2969 2970 /*! @name SEEI - Set Enable Error Interrupt Register */ 2971 /*! @{ */ 2972 #define DMA_SEEI_SEEI_MASK (0x7U) 2973 #define DMA_SEEI_SEEI_SHIFT (0U) 2974 #define DMA_SEEI_SEEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SEEI_SHIFT)) & DMA_SEEI_SEEI_MASK) 2975 #define DMA_SEEI_SAEE_MASK (0x40U) 2976 #define DMA_SEEI_SAEE_SHIFT (6U) 2977 /*! SAEE - Sets All Enable Error Interrupts 2978 * 0b0..Set only the EEI bit specified in the SEEI field. 2979 * 0b1..Sets all bits in EEI 2980 */ 2981 #define DMA_SEEI_SAEE(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_SAEE_SHIFT)) & DMA_SEEI_SAEE_MASK) 2982 #define DMA_SEEI_NOP_MASK (0x80U) 2983 #define DMA_SEEI_NOP_SHIFT (7U) 2984 /*! NOP - No Op enable 2985 * 0b0..Normal operation 2986 * 0b1..No operation, ignore the other bits in this register 2987 */ 2988 #define DMA_SEEI_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SEEI_NOP_SHIFT)) & DMA_SEEI_NOP_MASK) 2989 /*! @} */ 2990 2991 /*! @name CERQ - Clear Enable Request Register */ 2992 /*! @{ */ 2993 #define DMA_CERQ_CERQ_MASK (0x7U) 2994 #define DMA_CERQ_CERQ_SHIFT (0U) 2995 #define DMA_CERQ_CERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CERQ_SHIFT)) & DMA_CERQ_CERQ_MASK) 2996 #define DMA_CERQ_CAER_MASK (0x40U) 2997 #define DMA_CERQ_CAER_SHIFT (6U) 2998 /*! CAER - Clear All Enable Requests 2999 * 0b0..Clear only the ERQ bit specified in the CERQ field 3000 * 0b1..Clear all bits in ERQ 3001 */ 3002 #define DMA_CERQ_CAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_CAER_SHIFT)) & DMA_CERQ_CAER_MASK) 3003 #define DMA_CERQ_NOP_MASK (0x80U) 3004 #define DMA_CERQ_NOP_SHIFT (7U) 3005 /*! NOP - No Op enable 3006 * 0b0..Normal operation 3007 * 0b1..No operation, ignore the other bits in this register 3008 */ 3009 #define DMA_CERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERQ_NOP_SHIFT)) & DMA_CERQ_NOP_MASK) 3010 /*! @} */ 3011 3012 /*! @name SERQ - Set Enable Request Register */ 3013 /*! @{ */ 3014 #define DMA_SERQ_SERQ_MASK (0x7U) 3015 #define DMA_SERQ_SERQ_SHIFT (0U) 3016 #define DMA_SERQ_SERQ(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SERQ_SHIFT)) & DMA_SERQ_SERQ_MASK) 3017 #define DMA_SERQ_SAER_MASK (0x40U) 3018 #define DMA_SERQ_SAER_SHIFT (6U) 3019 /*! SAER - Set All Enable Requests 3020 * 0b0..Set only the ERQ bit specified in the SERQ field 3021 * 0b1..Set all bits in ERQ 3022 */ 3023 #define DMA_SERQ_SAER(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_SAER_SHIFT)) & DMA_SERQ_SAER_MASK) 3024 #define DMA_SERQ_NOP_MASK (0x80U) 3025 #define DMA_SERQ_NOP_SHIFT (7U) 3026 /*! NOP - No Op enable 3027 * 0b0..Normal operation 3028 * 0b1..No operation, ignore the other bits in this register 3029 */ 3030 #define DMA_SERQ_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SERQ_NOP_SHIFT)) & DMA_SERQ_NOP_MASK) 3031 /*! @} */ 3032 3033 /*! @name CDNE - Clear DONE Status Bit Register */ 3034 /*! @{ */ 3035 #define DMA_CDNE_CDNE_MASK (0x7U) 3036 #define DMA_CDNE_CDNE_SHIFT (0U) 3037 #define DMA_CDNE_CDNE(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CDNE_SHIFT)) & DMA_CDNE_CDNE_MASK) 3038 #define DMA_CDNE_CADN_MASK (0x40U) 3039 #define DMA_CDNE_CADN_SHIFT (6U) 3040 /*! CADN - Clears All DONE Bits 3041 * 0b0..Clears only the TCDn_CSR[DONE] bit specified in the CDNE field 3042 * 0b1..Clears all bits in TCDn_CSR[DONE] 3043 */ 3044 #define DMA_CDNE_CADN(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_CADN_SHIFT)) & DMA_CDNE_CADN_MASK) 3045 #define DMA_CDNE_NOP_MASK (0x80U) 3046 #define DMA_CDNE_NOP_SHIFT (7U) 3047 /*! NOP - No Op enable 3048 * 0b0..Normal operation 3049 * 0b1..No operation, ignore the other bits in this register 3050 */ 3051 #define DMA_CDNE_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CDNE_NOP_SHIFT)) & DMA_CDNE_NOP_MASK) 3052 /*! @} */ 3053 3054 /*! @name SSRT - Set START Bit Register */ 3055 /*! @{ */ 3056 #define DMA_SSRT_SSRT_MASK (0x7U) 3057 #define DMA_SSRT_SSRT_SHIFT (0U) 3058 #define DMA_SSRT_SSRT(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SSRT_SHIFT)) & DMA_SSRT_SSRT_MASK) 3059 #define DMA_SSRT_SAST_MASK (0x40U) 3060 #define DMA_SSRT_SAST_SHIFT (6U) 3061 /*! SAST - Set All START Bits (activates all channels) 3062 * 0b0..Set only the TCDn_CSR[START] bit specified in the SSRT field 3063 * 0b1..Set all bits in TCDn_CSR[START] 3064 */ 3065 #define DMA_SSRT_SAST(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_SAST_SHIFT)) & DMA_SSRT_SAST_MASK) 3066 #define DMA_SSRT_NOP_MASK (0x80U) 3067 #define DMA_SSRT_NOP_SHIFT (7U) 3068 /*! NOP - No Op enable 3069 * 0b0..Normal operation 3070 * 0b1..No operation, ignore the other bits in this register 3071 */ 3072 #define DMA_SSRT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_SSRT_NOP_SHIFT)) & DMA_SSRT_NOP_MASK) 3073 /*! @} */ 3074 3075 /*! @name CERR - Clear Error Register */ 3076 /*! @{ */ 3077 #define DMA_CERR_CERR_MASK (0x7U) 3078 #define DMA_CERR_CERR_SHIFT (0U) 3079 #define DMA_CERR_CERR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CERR_SHIFT)) & DMA_CERR_CERR_MASK) 3080 #define DMA_CERR_CAEI_MASK (0x40U) 3081 #define DMA_CERR_CAEI_SHIFT (6U) 3082 /*! CAEI - Clear All Error Indicators 3083 * 0b0..Clear only the ERR bit specified in the CERR field 3084 * 0b1..Clear all bits in ERR 3085 */ 3086 #define DMA_CERR_CAEI(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_CAEI_SHIFT)) & DMA_CERR_CAEI_MASK) 3087 #define DMA_CERR_NOP_MASK (0x80U) 3088 #define DMA_CERR_NOP_SHIFT (7U) 3089 /*! NOP - No Op enable 3090 * 0b0..Normal operation 3091 * 0b1..No operation, ignore the other bits in this register 3092 */ 3093 #define DMA_CERR_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CERR_NOP_SHIFT)) & DMA_CERR_NOP_MASK) 3094 /*! @} */ 3095 3096 /*! @name CINT - Clear Interrupt Request Register */ 3097 /*! @{ */ 3098 #define DMA_CINT_CINT_MASK (0x7U) 3099 #define DMA_CINT_CINT_SHIFT (0U) 3100 #define DMA_CINT_CINT(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CINT_SHIFT)) & DMA_CINT_CINT_MASK) 3101 #define DMA_CINT_CAIR_MASK (0x40U) 3102 #define DMA_CINT_CAIR_SHIFT (6U) 3103 /*! CAIR - Clear All Interrupt Requests 3104 * 0b0..Clear only the INT bit specified in the CINT field 3105 * 0b1..Clear all bits in INT 3106 */ 3107 #define DMA_CINT_CAIR(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_CAIR_SHIFT)) & DMA_CINT_CAIR_MASK) 3108 #define DMA_CINT_NOP_MASK (0x80U) 3109 #define DMA_CINT_NOP_SHIFT (7U) 3110 /*! NOP - No Op enable 3111 * 0b0..Normal operation 3112 * 0b1..No operation, ignore the other bits in this register 3113 */ 3114 #define DMA_CINT_NOP(x) (((uint8_t)(((uint8_t)(x)) << DMA_CINT_NOP_SHIFT)) & DMA_CINT_NOP_MASK) 3115 /*! @} */ 3116 3117 /*! @name INT - Interrupt Request Register */ 3118 /*! @{ */ 3119 #define DMA_INT_INT0_MASK (0x1U) 3120 #define DMA_INT_INT0_SHIFT (0U) 3121 /*! INT0 - Interrupt Request 0 3122 * 0b0..The interrupt request for corresponding channel is cleared 3123 * 0b1..The interrupt request for corresponding channel is active 3124 */ 3125 #define DMA_INT_INT0(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT0_SHIFT)) & DMA_INT_INT0_MASK) 3126 #define DMA_INT_INT1_MASK (0x2U) 3127 #define DMA_INT_INT1_SHIFT (1U) 3128 /*! INT1 - Interrupt Request 1 3129 * 0b0..The interrupt request for corresponding channel is cleared 3130 * 0b1..The interrupt request for corresponding channel is active 3131 */ 3132 #define DMA_INT_INT1(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT1_SHIFT)) & DMA_INT_INT1_MASK) 3133 #define DMA_INT_INT2_MASK (0x4U) 3134 #define DMA_INT_INT2_SHIFT (2U) 3135 /*! INT2 - Interrupt Request 2 3136 * 0b0..The interrupt request for corresponding channel is cleared 3137 * 0b1..The interrupt request for corresponding channel is active 3138 */ 3139 #define DMA_INT_INT2(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT2_SHIFT)) & DMA_INT_INT2_MASK) 3140 #define DMA_INT_INT3_MASK (0x8U) 3141 #define DMA_INT_INT3_SHIFT (3U) 3142 /*! INT3 - Interrupt Request 3 3143 * 0b0..The interrupt request for corresponding channel is cleared 3144 * 0b1..The interrupt request for corresponding channel is active 3145 */ 3146 #define DMA_INT_INT3(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT3_SHIFT)) & DMA_INT_INT3_MASK) 3147 #define DMA_INT_INT4_MASK (0x10U) 3148 #define DMA_INT_INT4_SHIFT (4U) 3149 /*! INT4 - Interrupt Request 4 3150 * 0b0..The interrupt request for corresponding channel is cleared 3151 * 0b1..The interrupt request for corresponding channel is active 3152 */ 3153 #define DMA_INT_INT4(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT4_SHIFT)) & DMA_INT_INT4_MASK) 3154 #define DMA_INT_INT5_MASK (0x20U) 3155 #define DMA_INT_INT5_SHIFT (5U) 3156 /*! INT5 - Interrupt Request 5 3157 * 0b0..The interrupt request for corresponding channel is cleared 3158 * 0b1..The interrupt request for corresponding channel is active 3159 */ 3160 #define DMA_INT_INT5(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT5_SHIFT)) & DMA_INT_INT5_MASK) 3161 #define DMA_INT_INT6_MASK (0x40U) 3162 #define DMA_INT_INT6_SHIFT (6U) 3163 /*! INT6 - Interrupt Request 6 3164 * 0b0..The interrupt request for corresponding channel is cleared 3165 * 0b1..The interrupt request for corresponding channel is active 3166 */ 3167 #define DMA_INT_INT6(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT6_SHIFT)) & DMA_INT_INT6_MASK) 3168 #define DMA_INT_INT7_MASK (0x80U) 3169 #define DMA_INT_INT7_SHIFT (7U) 3170 /*! INT7 - Interrupt Request 7 3171 * 0b0..The interrupt request for corresponding channel is cleared 3172 * 0b1..The interrupt request for corresponding channel is active 3173 */ 3174 #define DMA_INT_INT7(x) (((uint32_t)(((uint32_t)(x)) << DMA_INT_INT7_SHIFT)) & DMA_INT_INT7_MASK) 3175 /*! @} */ 3176 3177 /*! @name ERR - Error Register */ 3178 /*! @{ */ 3179 #define DMA_ERR_ERR0_MASK (0x1U) 3180 #define DMA_ERR_ERR0_SHIFT (0U) 3181 /*! ERR0 - Error In Channel 0 3182 * 0b0..An error in this channel has not occurred 3183 * 0b1..An error in this channel has occurred 3184 */ 3185 #define DMA_ERR_ERR0(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR0_SHIFT)) & DMA_ERR_ERR0_MASK) 3186 #define DMA_ERR_ERR1_MASK (0x2U) 3187 #define DMA_ERR_ERR1_SHIFT (1U) 3188 /*! ERR1 - Error In Channel 1 3189 * 0b0..An error in this channel has not occurred 3190 * 0b1..An error in this channel has occurred 3191 */ 3192 #define DMA_ERR_ERR1(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR1_SHIFT)) & DMA_ERR_ERR1_MASK) 3193 #define DMA_ERR_ERR2_MASK (0x4U) 3194 #define DMA_ERR_ERR2_SHIFT (2U) 3195 /*! ERR2 - Error In Channel 2 3196 * 0b0..An error in this channel has not occurred 3197 * 0b1..An error in this channel has occurred 3198 */ 3199 #define DMA_ERR_ERR2(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR2_SHIFT)) & DMA_ERR_ERR2_MASK) 3200 #define DMA_ERR_ERR3_MASK (0x8U) 3201 #define DMA_ERR_ERR3_SHIFT (3U) 3202 /*! ERR3 - Error In Channel 3 3203 * 0b0..An error in this channel has not occurred 3204 * 0b1..An error in this channel has occurred 3205 */ 3206 #define DMA_ERR_ERR3(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR3_SHIFT)) & DMA_ERR_ERR3_MASK) 3207 #define DMA_ERR_ERR4_MASK (0x10U) 3208 #define DMA_ERR_ERR4_SHIFT (4U) 3209 /*! ERR4 - Error In Channel 4 3210 * 0b0..An error in this channel has not occurred 3211 * 0b1..An error in this channel has occurred 3212 */ 3213 #define DMA_ERR_ERR4(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR4_SHIFT)) & DMA_ERR_ERR4_MASK) 3214 #define DMA_ERR_ERR5_MASK (0x20U) 3215 #define DMA_ERR_ERR5_SHIFT (5U) 3216 /*! ERR5 - Error In Channel 5 3217 * 0b0..An error in this channel has not occurred 3218 * 0b1..An error in this channel has occurred 3219 */ 3220 #define DMA_ERR_ERR5(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR5_SHIFT)) & DMA_ERR_ERR5_MASK) 3221 #define DMA_ERR_ERR6_MASK (0x40U) 3222 #define DMA_ERR_ERR6_SHIFT (6U) 3223 /*! ERR6 - Error In Channel 6 3224 * 0b0..An error in this channel has not occurred 3225 * 0b1..An error in this channel has occurred 3226 */ 3227 #define DMA_ERR_ERR6(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR6_SHIFT)) & DMA_ERR_ERR6_MASK) 3228 #define DMA_ERR_ERR7_MASK (0x80U) 3229 #define DMA_ERR_ERR7_SHIFT (7U) 3230 /*! ERR7 - Error In Channel 7 3231 * 0b0..An error in this channel has not occurred 3232 * 0b1..An error in this channel has occurred 3233 */ 3234 #define DMA_ERR_ERR7(x) (((uint32_t)(((uint32_t)(x)) << DMA_ERR_ERR7_SHIFT)) & DMA_ERR_ERR7_MASK) 3235 /*! @} */ 3236 3237 /*! @name HRS - Hardware Request Status Register */ 3238 /*! @{ */ 3239 #define DMA_HRS_HRS0_MASK (0x1U) 3240 #define DMA_HRS_HRS0_SHIFT (0U) 3241 /*! HRS0 - Hardware Request Status Channel 0 3242 * 0b0..A hardware service request for channel 0 is not present 3243 * 0b1..A hardware service request for channel 0 is present 3244 */ 3245 #define DMA_HRS_HRS0(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS0_SHIFT)) & DMA_HRS_HRS0_MASK) 3246 #define DMA_HRS_HRS1_MASK (0x2U) 3247 #define DMA_HRS_HRS1_SHIFT (1U) 3248 /*! HRS1 - Hardware Request Status Channel 1 3249 * 0b0..A hardware service request for channel 1 is not present 3250 * 0b1..A hardware service request for channel 1 is present 3251 */ 3252 #define DMA_HRS_HRS1(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS1_SHIFT)) & DMA_HRS_HRS1_MASK) 3253 #define DMA_HRS_HRS2_MASK (0x4U) 3254 #define DMA_HRS_HRS2_SHIFT (2U) 3255 /*! HRS2 - Hardware Request Status Channel 2 3256 * 0b0..A hardware service request for channel 2 is not present 3257 * 0b1..A hardware service request for channel 2 is present 3258 */ 3259 #define DMA_HRS_HRS2(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS2_SHIFT)) & DMA_HRS_HRS2_MASK) 3260 #define DMA_HRS_HRS3_MASK (0x8U) 3261 #define DMA_HRS_HRS3_SHIFT (3U) 3262 /*! HRS3 - Hardware Request Status Channel 3 3263 * 0b0..A hardware service request for channel 3 is not present 3264 * 0b1..A hardware service request for channel 3 is present 3265 */ 3266 #define DMA_HRS_HRS3(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS3_SHIFT)) & DMA_HRS_HRS3_MASK) 3267 #define DMA_HRS_HRS4_MASK (0x10U) 3268 #define DMA_HRS_HRS4_SHIFT (4U) 3269 /*! HRS4 - Hardware Request Status Channel 4 3270 * 0b0..A hardware service request for channel 4 is not present 3271 * 0b1..A hardware service request for channel 4 is present 3272 */ 3273 #define DMA_HRS_HRS4(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS4_SHIFT)) & DMA_HRS_HRS4_MASK) 3274 #define DMA_HRS_HRS5_MASK (0x20U) 3275 #define DMA_HRS_HRS5_SHIFT (5U) 3276 /*! HRS5 - Hardware Request Status Channel 5 3277 * 0b0..A hardware service request for channel 5 is not present 3278 * 0b1..A hardware service request for channel 5 is present 3279 */ 3280 #define DMA_HRS_HRS5(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS5_SHIFT)) & DMA_HRS_HRS5_MASK) 3281 #define DMA_HRS_HRS6_MASK (0x40U) 3282 #define DMA_HRS_HRS6_SHIFT (6U) 3283 /*! HRS6 - Hardware Request Status Channel 6 3284 * 0b0..A hardware service request for channel 6 is not present 3285 * 0b1..A hardware service request for channel 6 is present 3286 */ 3287 #define DMA_HRS_HRS6(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS6_SHIFT)) & DMA_HRS_HRS6_MASK) 3288 #define DMA_HRS_HRS7_MASK (0x80U) 3289 #define DMA_HRS_HRS7_SHIFT (7U) 3290 /*! HRS7 - Hardware Request Status Channel 7 3291 * 0b0..A hardware service request for channel 7 is not present 3292 * 0b1..A hardware service request for channel 7 is present 3293 */ 3294 #define DMA_HRS_HRS7(x) (((uint32_t)(((uint32_t)(x)) << DMA_HRS_HRS7_SHIFT)) & DMA_HRS_HRS7_MASK) 3295 /*! @} */ 3296 3297 /*! @name EARS - Enable Asynchronous Request in Stop Register */ 3298 /*! @{ */ 3299 #define DMA_EARS_EDREQ_0_MASK (0x1U) 3300 #define DMA_EARS_EDREQ_0_SHIFT (0U) 3301 /*! EDREQ_0 - Enable asynchronous DMA request in stop mode for channel 0. 3302 * 0b0..Disable asynchronous DMA request for channel 0. 3303 * 0b1..Enable asynchronous DMA request for channel 0. 3304 */ 3305 #define DMA_EARS_EDREQ_0(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_0_SHIFT)) & DMA_EARS_EDREQ_0_MASK) 3306 #define DMA_EARS_EDREQ_1_MASK (0x2U) 3307 #define DMA_EARS_EDREQ_1_SHIFT (1U) 3308 /*! EDREQ_1 - Enable asynchronous DMA request in stop mode for channel 1. 3309 * 0b0..Disable asynchronous DMA request for channel 1 3310 * 0b1..Enable asynchronous DMA request for channel 1. 3311 */ 3312 #define DMA_EARS_EDREQ_1(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_1_SHIFT)) & DMA_EARS_EDREQ_1_MASK) 3313 #define DMA_EARS_EDREQ_2_MASK (0x4U) 3314 #define DMA_EARS_EDREQ_2_SHIFT (2U) 3315 /*! EDREQ_2 - Enable asynchronous DMA request in stop mode for channel 2. 3316 * 0b0..Disable asynchronous DMA request for channel 2. 3317 * 0b1..Enable asynchronous DMA request for channel 2. 3318 */ 3319 #define DMA_EARS_EDREQ_2(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_2_SHIFT)) & DMA_EARS_EDREQ_2_MASK) 3320 #define DMA_EARS_EDREQ_3_MASK (0x8U) 3321 #define DMA_EARS_EDREQ_3_SHIFT (3U) 3322 /*! EDREQ_3 - Enable asynchronous DMA request in stop mode for channel 3. 3323 * 0b0..Disable asynchronous DMA request for channel 3. 3324 * 0b1..Enable asynchronous DMA request for channel 3. 3325 */ 3326 #define DMA_EARS_EDREQ_3(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_3_SHIFT)) & DMA_EARS_EDREQ_3_MASK) 3327 #define DMA_EARS_EDREQ_4_MASK (0x10U) 3328 #define DMA_EARS_EDREQ_4_SHIFT (4U) 3329 /*! EDREQ_4 - Enable asynchronous DMA request in stop mode for channel 4 3330 * 0b0..Disable asynchronous DMA request for channel 4. 3331 * 0b1..Enable asynchronous DMA request for channel 4. 3332 */ 3333 #define DMA_EARS_EDREQ_4(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_4_SHIFT)) & DMA_EARS_EDREQ_4_MASK) 3334 #define DMA_EARS_EDREQ_5_MASK (0x20U) 3335 #define DMA_EARS_EDREQ_5_SHIFT (5U) 3336 /*! EDREQ_5 - Enable asynchronous DMA request in stop mode for channel 5 3337 * 0b0..Disable asynchronous DMA request for channel 5. 3338 * 0b1..Enable asynchronous DMA request for channel 5. 3339 */ 3340 #define DMA_EARS_EDREQ_5(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_5_SHIFT)) & DMA_EARS_EDREQ_5_MASK) 3341 #define DMA_EARS_EDREQ_6_MASK (0x40U) 3342 #define DMA_EARS_EDREQ_6_SHIFT (6U) 3343 /*! EDREQ_6 - Enable asynchronous DMA request in stop mode for channel 6 3344 * 0b0..Disable asynchronous DMA request for channel 6. 3345 * 0b1..Enable asynchronous DMA request for channel 6. 3346 */ 3347 #define DMA_EARS_EDREQ_6(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_6_SHIFT)) & DMA_EARS_EDREQ_6_MASK) 3348 #define DMA_EARS_EDREQ_7_MASK (0x80U) 3349 #define DMA_EARS_EDREQ_7_SHIFT (7U) 3350 /*! EDREQ_7 - Enable asynchronous DMA request in stop mode for channel 7 3351 * 0b0..Disable asynchronous DMA request for channel 7. 3352 * 0b1..Enable asynchronous DMA request for channel 7. 3353 */ 3354 #define DMA_EARS_EDREQ_7(x) (((uint32_t)(((uint32_t)(x)) << DMA_EARS_EDREQ_7_SHIFT)) & DMA_EARS_EDREQ_7_MASK) 3355 /*! @} */ 3356 3357 /*! @name DCHPRI3 - Channel Priority Register */ 3358 /*! @{ */ 3359 #define DMA_DCHPRI3_CHPRI_MASK (0x7U) 3360 #define DMA_DCHPRI3_CHPRI_SHIFT (0U) 3361 #define DMA_DCHPRI3_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_CHPRI_SHIFT)) & DMA_DCHPRI3_CHPRI_MASK) 3362 #define DMA_DCHPRI3_DPA_MASK (0x40U) 3363 #define DMA_DCHPRI3_DPA_SHIFT (6U) 3364 /*! DPA - Disable Preempt Ability. This field resets to 0. 3365 * 0b0..Channel n can suspend a lower priority channel. 3366 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3367 */ 3368 #define DMA_DCHPRI3_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_DPA_SHIFT)) & DMA_DCHPRI3_DPA_MASK) 3369 #define DMA_DCHPRI3_ECP_MASK (0x80U) 3370 #define DMA_DCHPRI3_ECP_SHIFT (7U) 3371 /*! ECP - Enable Channel Preemption. This field resets to 0. 3372 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3373 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3374 */ 3375 #define DMA_DCHPRI3_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI3_ECP_SHIFT)) & DMA_DCHPRI3_ECP_MASK) 3376 /*! @} */ 3377 3378 /*! @name DCHPRI2 - Channel Priority Register */ 3379 /*! @{ */ 3380 #define DMA_DCHPRI2_CHPRI_MASK (0x7U) 3381 #define DMA_DCHPRI2_CHPRI_SHIFT (0U) 3382 #define DMA_DCHPRI2_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_CHPRI_SHIFT)) & DMA_DCHPRI2_CHPRI_MASK) 3383 #define DMA_DCHPRI2_DPA_MASK (0x40U) 3384 #define DMA_DCHPRI2_DPA_SHIFT (6U) 3385 /*! DPA - Disable Preempt Ability. This field resets to 0. 3386 * 0b0..Channel n can suspend a lower priority channel. 3387 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3388 */ 3389 #define DMA_DCHPRI2_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_DPA_SHIFT)) & DMA_DCHPRI2_DPA_MASK) 3390 #define DMA_DCHPRI2_ECP_MASK (0x80U) 3391 #define DMA_DCHPRI2_ECP_SHIFT (7U) 3392 /*! ECP - Enable Channel Preemption. This field resets to 0. 3393 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3394 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3395 */ 3396 #define DMA_DCHPRI2_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI2_ECP_SHIFT)) & DMA_DCHPRI2_ECP_MASK) 3397 /*! @} */ 3398 3399 /*! @name DCHPRI1 - Channel Priority Register */ 3400 /*! @{ */ 3401 #define DMA_DCHPRI1_CHPRI_MASK (0x7U) 3402 #define DMA_DCHPRI1_CHPRI_SHIFT (0U) 3403 #define DMA_DCHPRI1_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_CHPRI_SHIFT)) & DMA_DCHPRI1_CHPRI_MASK) 3404 #define DMA_DCHPRI1_DPA_MASK (0x40U) 3405 #define DMA_DCHPRI1_DPA_SHIFT (6U) 3406 /*! DPA - Disable Preempt Ability. This field resets to 0. 3407 * 0b0..Channel n can suspend a lower priority channel. 3408 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3409 */ 3410 #define DMA_DCHPRI1_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_DPA_SHIFT)) & DMA_DCHPRI1_DPA_MASK) 3411 #define DMA_DCHPRI1_ECP_MASK (0x80U) 3412 #define DMA_DCHPRI1_ECP_SHIFT (7U) 3413 /*! ECP - Enable Channel Preemption. This field resets to 0. 3414 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3415 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3416 */ 3417 #define DMA_DCHPRI1_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI1_ECP_SHIFT)) & DMA_DCHPRI1_ECP_MASK) 3418 /*! @} */ 3419 3420 /*! @name DCHPRI0 - Channel Priority Register */ 3421 /*! @{ */ 3422 #define DMA_DCHPRI0_CHPRI_MASK (0x7U) 3423 #define DMA_DCHPRI0_CHPRI_SHIFT (0U) 3424 #define DMA_DCHPRI0_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_CHPRI_SHIFT)) & DMA_DCHPRI0_CHPRI_MASK) 3425 #define DMA_DCHPRI0_DPA_MASK (0x40U) 3426 #define DMA_DCHPRI0_DPA_SHIFT (6U) 3427 /*! DPA - Disable Preempt Ability. This field resets to 0. 3428 * 0b0..Channel n can suspend a lower priority channel. 3429 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3430 */ 3431 #define DMA_DCHPRI0_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_DPA_SHIFT)) & DMA_DCHPRI0_DPA_MASK) 3432 #define DMA_DCHPRI0_ECP_MASK (0x80U) 3433 #define DMA_DCHPRI0_ECP_SHIFT (7U) 3434 /*! ECP - Enable Channel Preemption. This field resets to 0. 3435 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3436 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3437 */ 3438 #define DMA_DCHPRI0_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI0_ECP_SHIFT)) & DMA_DCHPRI0_ECP_MASK) 3439 /*! @} */ 3440 3441 /*! @name DCHPRI7 - Channel Priority Register */ 3442 /*! @{ */ 3443 #define DMA_DCHPRI7_CHPRI_MASK (0x7U) 3444 #define DMA_DCHPRI7_CHPRI_SHIFT (0U) 3445 #define DMA_DCHPRI7_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_CHPRI_SHIFT)) & DMA_DCHPRI7_CHPRI_MASK) 3446 #define DMA_DCHPRI7_DPA_MASK (0x40U) 3447 #define DMA_DCHPRI7_DPA_SHIFT (6U) 3448 /*! DPA - Disable Preempt Ability. This field resets to 0. 3449 * 0b0..Channel n can suspend a lower priority channel. 3450 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3451 */ 3452 #define DMA_DCHPRI7_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_DPA_SHIFT)) & DMA_DCHPRI7_DPA_MASK) 3453 #define DMA_DCHPRI7_ECP_MASK (0x80U) 3454 #define DMA_DCHPRI7_ECP_SHIFT (7U) 3455 /*! ECP - Enable Channel Preemption. This field resets to 0. 3456 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3457 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3458 */ 3459 #define DMA_DCHPRI7_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI7_ECP_SHIFT)) & DMA_DCHPRI7_ECP_MASK) 3460 /*! @} */ 3461 3462 /*! @name DCHPRI6 - Channel Priority Register */ 3463 /*! @{ */ 3464 #define DMA_DCHPRI6_CHPRI_MASK (0x7U) 3465 #define DMA_DCHPRI6_CHPRI_SHIFT (0U) 3466 #define DMA_DCHPRI6_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_CHPRI_SHIFT)) & DMA_DCHPRI6_CHPRI_MASK) 3467 #define DMA_DCHPRI6_DPA_MASK (0x40U) 3468 #define DMA_DCHPRI6_DPA_SHIFT (6U) 3469 /*! DPA - Disable Preempt Ability. This field resets to 0. 3470 * 0b0..Channel n can suspend a lower priority channel. 3471 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3472 */ 3473 #define DMA_DCHPRI6_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_DPA_SHIFT)) & DMA_DCHPRI6_DPA_MASK) 3474 #define DMA_DCHPRI6_ECP_MASK (0x80U) 3475 #define DMA_DCHPRI6_ECP_SHIFT (7U) 3476 /*! ECP - Enable Channel Preemption. This field resets to 0. 3477 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3478 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3479 */ 3480 #define DMA_DCHPRI6_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI6_ECP_SHIFT)) & DMA_DCHPRI6_ECP_MASK) 3481 /*! @} */ 3482 3483 /*! @name DCHPRI5 - Channel Priority Register */ 3484 /*! @{ */ 3485 #define DMA_DCHPRI5_CHPRI_MASK (0x7U) 3486 #define DMA_DCHPRI5_CHPRI_SHIFT (0U) 3487 #define DMA_DCHPRI5_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_CHPRI_SHIFT)) & DMA_DCHPRI5_CHPRI_MASK) 3488 #define DMA_DCHPRI5_DPA_MASK (0x40U) 3489 #define DMA_DCHPRI5_DPA_SHIFT (6U) 3490 /*! DPA - Disable Preempt Ability. This field resets to 0. 3491 * 0b0..Channel n can suspend a lower priority channel. 3492 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3493 */ 3494 #define DMA_DCHPRI5_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_DPA_SHIFT)) & DMA_DCHPRI5_DPA_MASK) 3495 #define DMA_DCHPRI5_ECP_MASK (0x80U) 3496 #define DMA_DCHPRI5_ECP_SHIFT (7U) 3497 /*! ECP - Enable Channel Preemption. This field resets to 0. 3498 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3499 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3500 */ 3501 #define DMA_DCHPRI5_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI5_ECP_SHIFT)) & DMA_DCHPRI5_ECP_MASK) 3502 /*! @} */ 3503 3504 /*! @name DCHPRI4 - Channel Priority Register */ 3505 /*! @{ */ 3506 #define DMA_DCHPRI4_CHPRI_MASK (0x7U) 3507 #define DMA_DCHPRI4_CHPRI_SHIFT (0U) 3508 #define DMA_DCHPRI4_CHPRI(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_CHPRI_SHIFT)) & DMA_DCHPRI4_CHPRI_MASK) 3509 #define DMA_DCHPRI4_DPA_MASK (0x40U) 3510 #define DMA_DCHPRI4_DPA_SHIFT (6U) 3511 /*! DPA - Disable Preempt Ability. This field resets to 0. 3512 * 0b0..Channel n can suspend a lower priority channel. 3513 * 0b1..Channel n cannot suspend any channel, regardless of channel priority. 3514 */ 3515 #define DMA_DCHPRI4_DPA(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_DPA_SHIFT)) & DMA_DCHPRI4_DPA_MASK) 3516 #define DMA_DCHPRI4_ECP_MASK (0x80U) 3517 #define DMA_DCHPRI4_ECP_SHIFT (7U) 3518 /*! ECP - Enable Channel Preemption. This field resets to 0. 3519 * 0b0..Channel n cannot be suspended by a higher priority channel's service request. 3520 * 0b1..Channel n can be temporarily suspended by the service request of a higher priority channel. 3521 */ 3522 #define DMA_DCHPRI4_ECP(x) (((uint8_t)(((uint8_t)(x)) << DMA_DCHPRI4_ECP_SHIFT)) & DMA_DCHPRI4_ECP_MASK) 3523 /*! @} */ 3524 3525 /*! @name SADDR - TCD Source Address */ 3526 /*! @{ */ 3527 #define DMA_SADDR_SADDR_MASK (0xFFFFFFFFU) 3528 #define DMA_SADDR_SADDR_SHIFT (0U) 3529 #define DMA_SADDR_SADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_SADDR_SADDR_SHIFT)) & DMA_SADDR_SADDR_MASK) 3530 /*! @} */ 3531 3532 /* The count of DMA_SADDR */ 3533 #define DMA_SADDR_COUNT (8U) 3534 3535 /*! @name SOFF - TCD Signed Source Address Offset */ 3536 /*! @{ */ 3537 #define DMA_SOFF_SOFF_MASK (0xFFFFU) 3538 #define DMA_SOFF_SOFF_SHIFT (0U) 3539 #define DMA_SOFF_SOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_SOFF_SOFF_SHIFT)) & DMA_SOFF_SOFF_MASK) 3540 /*! @} */ 3541 3542 /* The count of DMA_SOFF */ 3543 #define DMA_SOFF_COUNT (8U) 3544 3545 /*! @name ATTR - TCD Transfer Attributes */ 3546 /*! @{ */ 3547 #define DMA_ATTR_DSIZE_MASK (0x7U) 3548 #define DMA_ATTR_DSIZE_SHIFT (0U) 3549 #define DMA_ATTR_DSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DSIZE_SHIFT)) & DMA_ATTR_DSIZE_MASK) 3550 #define DMA_ATTR_DMOD_MASK (0xF8U) 3551 #define DMA_ATTR_DMOD_SHIFT (3U) 3552 #define DMA_ATTR_DMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_DMOD_SHIFT)) & DMA_ATTR_DMOD_MASK) 3553 #define DMA_ATTR_SSIZE_MASK (0x700U) 3554 #define DMA_ATTR_SSIZE_SHIFT (8U) 3555 /*! SSIZE - Source data transfer size 3556 * 0b000..8-bit 3557 * 0b001..16-bit 3558 * 0b010..32-bit 3559 * 0b011..Reserved 3560 * 0b100..16-byte 3561 * 0b101..32-byte 3562 * 0b110..Reserved 3563 * 0b111..Reserved 3564 */ 3565 #define DMA_ATTR_SSIZE(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SSIZE_SHIFT)) & DMA_ATTR_SSIZE_MASK) 3566 #define DMA_ATTR_SMOD_MASK (0xF800U) 3567 #define DMA_ATTR_SMOD_SHIFT (11U) 3568 /*! SMOD - Source Address Modulo 3569 * 0b00000..Source address modulo feature is disabled 3570 * 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. 3571 */ 3572 #define DMA_ATTR_SMOD(x) (((uint16_t)(((uint16_t)(x)) << DMA_ATTR_SMOD_SHIFT)) & DMA_ATTR_SMOD_MASK) 3573 /*! @} */ 3574 3575 /* The count of DMA_ATTR */ 3576 #define DMA_ATTR_COUNT (8U) 3577 3578 /*! @name NBYTES_MLNO - TCD Minor Byte Count (Minor Loop Mapping Disabled) */ 3579 /*! @{ */ 3580 #define DMA_NBYTES_MLNO_NBYTES_MASK (0xFFFFFFFFU) 3581 #define DMA_NBYTES_MLNO_NBYTES_SHIFT (0U) 3582 #define DMA_NBYTES_MLNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLNO_NBYTES_SHIFT)) & DMA_NBYTES_MLNO_NBYTES_MASK) 3583 /*! @} */ 3584 3585 /* The count of DMA_NBYTES_MLNO */ 3586 #define DMA_NBYTES_MLNO_COUNT (8U) 3587 3588 /*! @name NBYTES_MLOFFNO - TCD Signed Minor Loop Offset (Minor Loop Mapping Enabled and Offset Disabled) */ 3589 /*! @{ */ 3590 #define DMA_NBYTES_MLOFFNO_NBYTES_MASK (0x3FFFFFFFU) 3591 #define DMA_NBYTES_MLOFFNO_NBYTES_SHIFT (0U) 3592 #define DMA_NBYTES_MLOFFNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFNO_NBYTES_MASK) 3593 #define DMA_NBYTES_MLOFFNO_DMLOE_MASK (0x40000000U) 3594 #define DMA_NBYTES_MLOFFNO_DMLOE_SHIFT (30U) 3595 /*! DMLOE - Destination Minor Loop Offset enable 3596 * 0b0..The minor loop offset is not applied to the DADDR 3597 * 0b1..The minor loop offset is applied to the DADDR 3598 */ 3599 #define DMA_NBYTES_MLOFFNO_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_DMLOE_MASK) 3600 #define DMA_NBYTES_MLOFFNO_SMLOE_MASK (0x80000000U) 3601 #define DMA_NBYTES_MLOFFNO_SMLOE_SHIFT (31U) 3602 /*! SMLOE - Source Minor Loop Offset Enable 3603 * 0b0..The minor loop offset is not applied to the SADDR 3604 * 0b1..The minor loop offset is applied to the SADDR 3605 */ 3606 #define DMA_NBYTES_MLOFFNO_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFNO_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFNO_SMLOE_MASK) 3607 /*! @} */ 3608 3609 /* The count of DMA_NBYTES_MLOFFNO */ 3610 #define DMA_NBYTES_MLOFFNO_COUNT (8U) 3611 3612 /*! @name NBYTES_MLOFFYES - TCD Signed Minor Loop Offset (Minor Loop Mapping and Offset Enabled) */ 3613 /*! @{ */ 3614 #define DMA_NBYTES_MLOFFYES_NBYTES_MASK (0x3FFU) 3615 #define DMA_NBYTES_MLOFFYES_NBYTES_SHIFT (0U) 3616 #define DMA_NBYTES_MLOFFYES_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_NBYTES_SHIFT)) & DMA_NBYTES_MLOFFYES_NBYTES_MASK) 3617 #define DMA_NBYTES_MLOFFYES_MLOFF_MASK (0x3FFFFC00U) 3618 #define DMA_NBYTES_MLOFFYES_MLOFF_SHIFT (10U) 3619 #define DMA_NBYTES_MLOFFYES_MLOFF(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_MLOFF_SHIFT)) & DMA_NBYTES_MLOFFYES_MLOFF_MASK) 3620 #define DMA_NBYTES_MLOFFYES_DMLOE_MASK (0x40000000U) 3621 #define DMA_NBYTES_MLOFFYES_DMLOE_SHIFT (30U) 3622 /*! DMLOE - Destination Minor Loop Offset enable 3623 * 0b0..The minor loop offset is not applied to the DADDR 3624 * 0b1..The minor loop offset is applied to the DADDR 3625 */ 3626 #define DMA_NBYTES_MLOFFYES_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_DMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_DMLOE_MASK) 3627 #define DMA_NBYTES_MLOFFYES_SMLOE_MASK (0x80000000U) 3628 #define DMA_NBYTES_MLOFFYES_SMLOE_SHIFT (31U) 3629 /*! SMLOE - Source Minor Loop Offset Enable 3630 * 0b0..The minor loop offset is not applied to the SADDR 3631 * 0b1..The minor loop offset is applied to the SADDR 3632 */ 3633 #define DMA_NBYTES_MLOFFYES_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << DMA_NBYTES_MLOFFYES_SMLOE_SHIFT)) & DMA_NBYTES_MLOFFYES_SMLOE_MASK) 3634 /*! @} */ 3635 3636 /* The count of DMA_NBYTES_MLOFFYES */ 3637 #define DMA_NBYTES_MLOFFYES_COUNT (8U) 3638 3639 /*! @name SLAST - TCD Last Source Address Adjustment */ 3640 /*! @{ */ 3641 #define DMA_SLAST_SLAST_MASK (0xFFFFFFFFU) 3642 #define DMA_SLAST_SLAST_SHIFT (0U) 3643 #define DMA_SLAST_SLAST(x) (((uint32_t)(((uint32_t)(x)) << DMA_SLAST_SLAST_SHIFT)) & DMA_SLAST_SLAST_MASK) 3644 /*! @} */ 3645 3646 /* The count of DMA_SLAST */ 3647 #define DMA_SLAST_COUNT (8U) 3648 3649 /*! @name DADDR - TCD Destination Address */ 3650 /*! @{ */ 3651 #define DMA_DADDR_DADDR_MASK (0xFFFFFFFFU) 3652 #define DMA_DADDR_DADDR_SHIFT (0U) 3653 #define DMA_DADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << DMA_DADDR_DADDR_SHIFT)) & DMA_DADDR_DADDR_MASK) 3654 /*! @} */ 3655 3656 /* The count of DMA_DADDR */ 3657 #define DMA_DADDR_COUNT (8U) 3658 3659 /*! @name DOFF - TCD Signed Destination Address Offset */ 3660 /*! @{ */ 3661 #define DMA_DOFF_DOFF_MASK (0xFFFFU) 3662 #define DMA_DOFF_DOFF_SHIFT (0U) 3663 #define DMA_DOFF_DOFF(x) (((uint16_t)(((uint16_t)(x)) << DMA_DOFF_DOFF_SHIFT)) & DMA_DOFF_DOFF_MASK) 3664 /*! @} */ 3665 3666 /* The count of DMA_DOFF */ 3667 #define DMA_DOFF_COUNT (8U) 3668 3669 /*! @name CITER_ELINKNO - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled) */ 3670 /*! @{ */ 3671 #define DMA_CITER_ELINKNO_CITER_MASK (0x7FFFU) 3672 #define DMA_CITER_ELINKNO_CITER_SHIFT (0U) 3673 #define DMA_CITER_ELINKNO_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_CITER_SHIFT)) & DMA_CITER_ELINKNO_CITER_MASK) 3674 #define DMA_CITER_ELINKNO_ELINK_MASK (0x8000U) 3675 #define DMA_CITER_ELINKNO_ELINK_SHIFT (15U) 3676 /*! ELINK - Enable channel-to-channel linking on minor-loop complete 3677 * 0b0..The channel-to-channel linking is disabled 3678 * 0b1..The channel-to-channel linking is enabled 3679 */ 3680 #define DMA_CITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKNO_ELINK_SHIFT)) & DMA_CITER_ELINKNO_ELINK_MASK) 3681 /*! @} */ 3682 3683 /* The count of DMA_CITER_ELINKNO */ 3684 #define DMA_CITER_ELINKNO_COUNT (8U) 3685 3686 /*! @name CITER_ELINKYES - TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled) */ 3687 /*! @{ */ 3688 #define DMA_CITER_ELINKYES_CITER_MASK (0x1FFU) 3689 #define DMA_CITER_ELINKYES_CITER_SHIFT (0U) 3690 #define DMA_CITER_ELINKYES_CITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_CITER_SHIFT)) & DMA_CITER_ELINKYES_CITER_MASK) 3691 #define DMA_CITER_ELINKYES_LINKCH_MASK (0xE00U) 3692 #define DMA_CITER_ELINKYES_LINKCH_SHIFT (9U) 3693 #define DMA_CITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_LINKCH_SHIFT)) & DMA_CITER_ELINKYES_LINKCH_MASK) 3694 #define DMA_CITER_ELINKYES_ELINK_MASK (0x8000U) 3695 #define DMA_CITER_ELINKYES_ELINK_SHIFT (15U) 3696 /*! ELINK - Enable channel-to-channel linking on minor-loop complete 3697 * 0b0..The channel-to-channel linking is disabled 3698 * 0b1..The channel-to-channel linking is enabled 3699 */ 3700 #define DMA_CITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CITER_ELINKYES_ELINK_SHIFT)) & DMA_CITER_ELINKYES_ELINK_MASK) 3701 /*! @} */ 3702 3703 /* The count of DMA_CITER_ELINKYES */ 3704 #define DMA_CITER_ELINKYES_COUNT (8U) 3705 3706 /*! @name DLAST_SGA - TCD Last Destination Address Adjustment/Scatter Gather Address */ 3707 /*! @{ */ 3708 #define DMA_DLAST_SGA_DLASTSGA_MASK (0xFFFFFFFFU) 3709 #define DMA_DLAST_SGA_DLASTSGA_SHIFT (0U) 3710 #define DMA_DLAST_SGA_DLASTSGA(x) (((uint32_t)(((uint32_t)(x)) << DMA_DLAST_SGA_DLASTSGA_SHIFT)) & DMA_DLAST_SGA_DLASTSGA_MASK) 3711 /*! @} */ 3712 3713 /* The count of DMA_DLAST_SGA */ 3714 #define DMA_DLAST_SGA_COUNT (8U) 3715 3716 /*! @name CSR - TCD Control and Status */ 3717 /*! @{ */ 3718 #define DMA_CSR_START_MASK (0x1U) 3719 #define DMA_CSR_START_SHIFT (0U) 3720 /*! START - Channel Start 3721 * 0b0..The channel is not explicitly started. 3722 * 0b1..The channel is explicitly started via a software initiated service request. 3723 */ 3724 #define DMA_CSR_START(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_START_SHIFT)) & DMA_CSR_START_MASK) 3725 #define DMA_CSR_INTMAJOR_MASK (0x2U) 3726 #define DMA_CSR_INTMAJOR_SHIFT (1U) 3727 /*! INTMAJOR - Enable an interrupt when major iteration count completes. 3728 * 0b0..The end-of-major loop interrupt is disabled. 3729 * 0b1..The end-of-major loop interrupt is enabled. 3730 */ 3731 #define DMA_CSR_INTMAJOR(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTMAJOR_SHIFT)) & DMA_CSR_INTMAJOR_MASK) 3732 #define DMA_CSR_INTHALF_MASK (0x4U) 3733 #define DMA_CSR_INTHALF_SHIFT (2U) 3734 /*! INTHALF - Enable an interrupt when major counter is half complete. 3735 * 0b0..The half-point interrupt is disabled. 3736 * 0b1..The half-point interrupt is enabled. 3737 */ 3738 #define DMA_CSR_INTHALF(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_INTHALF_SHIFT)) & DMA_CSR_INTHALF_MASK) 3739 #define DMA_CSR_DREQ_MASK (0x8U) 3740 #define DMA_CSR_DREQ_SHIFT (3U) 3741 /*! DREQ - Disable Request 3742 * 0b0..The channel's ERQ bit is not affected. 3743 * 0b1..The channel's ERQ bit is cleared when the major loop is complete. 3744 */ 3745 #define DMA_CSR_DREQ(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DREQ_SHIFT)) & DMA_CSR_DREQ_MASK) 3746 #define DMA_CSR_ESG_MASK (0x10U) 3747 #define DMA_CSR_ESG_SHIFT (4U) 3748 /*! ESG - Enable Scatter/Gather Processing 3749 * 0b0..The current channel's TCD is normal format. 3750 * 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. 3751 */ 3752 #define DMA_CSR_ESG(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ESG_SHIFT)) & DMA_CSR_ESG_MASK) 3753 #define DMA_CSR_MAJORELINK_MASK (0x20U) 3754 #define DMA_CSR_MAJORELINK_SHIFT (5U) 3755 /*! MAJORELINK - Enable channel-to-channel linking on major loop complete 3756 * 0b0..The channel-to-channel linking is disabled. 3757 * 0b1..The channel-to-channel linking is enabled. 3758 */ 3759 #define DMA_CSR_MAJORELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORELINK_SHIFT)) & DMA_CSR_MAJORELINK_MASK) 3760 #define DMA_CSR_ACTIVE_MASK (0x40U) 3761 #define DMA_CSR_ACTIVE_SHIFT (6U) 3762 #define DMA_CSR_ACTIVE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_ACTIVE_SHIFT)) & DMA_CSR_ACTIVE_MASK) 3763 #define DMA_CSR_DONE_MASK (0x80U) 3764 #define DMA_CSR_DONE_SHIFT (7U) 3765 #define DMA_CSR_DONE(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_DONE_SHIFT)) & DMA_CSR_DONE_MASK) 3766 #define DMA_CSR_MAJORLINKCH_MASK (0x700U) 3767 #define DMA_CSR_MAJORLINKCH_SHIFT (8U) 3768 #define DMA_CSR_MAJORLINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_MAJORLINKCH_SHIFT)) & DMA_CSR_MAJORLINKCH_MASK) 3769 #define DMA_CSR_BWC_MASK (0xC000U) 3770 #define DMA_CSR_BWC_SHIFT (14U) 3771 /*! BWC - Bandwidth Control 3772 * 0b00..No eDMA engine stalls. 3773 * 0b01..Reserved 3774 * 0b10..eDMA engine stalls for 4 cycles after each R/W. 3775 * 0b11..eDMA engine stalls for 8 cycles after each R/W. 3776 */ 3777 #define DMA_CSR_BWC(x) (((uint16_t)(((uint16_t)(x)) << DMA_CSR_BWC_SHIFT)) & DMA_CSR_BWC_MASK) 3778 /*! @} */ 3779 3780 /* The count of DMA_CSR */ 3781 #define DMA_CSR_COUNT (8U) 3782 3783 /*! @name BITER_ELINKNO - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled) */ 3784 /*! @{ */ 3785 #define DMA_BITER_ELINKNO_BITER_MASK (0x7FFFU) 3786 #define DMA_BITER_ELINKNO_BITER_SHIFT (0U) 3787 #define DMA_BITER_ELINKNO_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_BITER_SHIFT)) & DMA_BITER_ELINKNO_BITER_MASK) 3788 #define DMA_BITER_ELINKNO_ELINK_MASK (0x8000U) 3789 #define DMA_BITER_ELINKNO_ELINK_SHIFT (15U) 3790 /*! ELINK - Enables channel-to-channel linking on minor loop complete 3791 * 0b0..The channel-to-channel linking is disabled 3792 * 0b1..The channel-to-channel linking is enabled 3793 */ 3794 #define DMA_BITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKNO_ELINK_SHIFT)) & DMA_BITER_ELINKNO_ELINK_MASK) 3795 /*! @} */ 3796 3797 /* The count of DMA_BITER_ELINKNO */ 3798 #define DMA_BITER_ELINKNO_COUNT (8U) 3799 3800 /*! @name BITER_ELINKYES - TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled) */ 3801 /*! @{ */ 3802 #define DMA_BITER_ELINKYES_BITER_MASK (0x1FFU) 3803 #define DMA_BITER_ELINKYES_BITER_SHIFT (0U) 3804 #define DMA_BITER_ELINKYES_BITER(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_BITER_SHIFT)) & DMA_BITER_ELINKYES_BITER_MASK) 3805 #define DMA_BITER_ELINKYES_LINKCH_MASK (0xE00U) 3806 #define DMA_BITER_ELINKYES_LINKCH_SHIFT (9U) 3807 #define DMA_BITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_LINKCH_SHIFT)) & DMA_BITER_ELINKYES_LINKCH_MASK) 3808 #define DMA_BITER_ELINKYES_ELINK_MASK (0x8000U) 3809 #define DMA_BITER_ELINKYES_ELINK_SHIFT (15U) 3810 /*! ELINK - Enables channel-to-channel linking on minor loop complete 3811 * 0b0..The channel-to-channel linking is disabled 3812 * 0b1..The channel-to-channel linking is enabled 3813 */ 3814 #define DMA_BITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << DMA_BITER_ELINKYES_ELINK_SHIFT)) & DMA_BITER_ELINKYES_ELINK_MASK) 3815 /*! @} */ 3816 3817 /* The count of DMA_BITER_ELINKYES */ 3818 #define DMA_BITER_ELINKYES_COUNT (8U) 3819 3820 3821 /*! 3822 * @} 3823 */ /* end of group DMA_Register_Masks */ 3824 3825 3826 /* DMA - Peripheral instance base addresses */ 3827 /** Peripheral DMA1 base address */ 3828 #define DMA1_BASE (0x41008000u) 3829 /** Peripheral DMA1 base pointer */ 3830 #define DMA1 ((DMA_Type *)DMA1_BASE) 3831 /** Array initializer of DMA peripheral base addresses */ 3832 #define DMA_BASE_ADDRS { 0u, DMA1_BASE } 3833 /** Array initializer of DMA peripheral base pointers */ 3834 #define DMA_BASE_PTRS { (DMA_Type *)0u, DMA1 } 3835 /** Interrupt vectors for the DMA peripheral type */ 3836 #define DMA_CHN_IRQS { { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }, { DMA1_04_IRQn, DMA1_15_IRQn, DMA1_26_IRQn, DMA1_37_IRQn, DMA1_04_IRQn, DMA1_15_IRQn, DMA1_26_IRQn, DMA1_37_IRQn } } 3837 #define DMA_ERROR_IRQS { NotAvail_IRQn, DMA1_Error_IRQn } 3838 3839 /*! 3840 * @} 3841 */ /* end of group DMA_Peripheral_Access_Layer */ 3842 3843 3844 /* ---------------------------------------------------------------------------- 3845 -- DMAMUX Peripheral Access Layer 3846 ---------------------------------------------------------------------------- */ 3847 3848 /*! 3849 * @addtogroup DMAMUX_Peripheral_Access_Layer DMAMUX Peripheral Access Layer 3850 * @{ 3851 */ 3852 3853 /** DMAMUX - Register Layout Typedef */ 3854 typedef struct { 3855 __IO uint32_t CHCFG[8]; /**< Channel 0 Configuration Register..Channel 7 Configuration Register, array offset: 0x0, array step: 0x4 */ 3856 } DMAMUX_Type; 3857 3858 /* ---------------------------------------------------------------------------- 3859 -- DMAMUX Register Masks 3860 ---------------------------------------------------------------------------- */ 3861 3862 /*! 3863 * @addtogroup DMAMUX_Register_Masks DMAMUX Register Masks 3864 * @{ 3865 */ 3866 3867 /*! @name CHCFG - Channel 0 Configuration Register..Channel 7 Configuration Register */ 3868 /*! @{ */ 3869 #define DMAMUX_CHCFG_SOURCE_MASK (0x1FU) 3870 #define DMAMUX_CHCFG_SOURCE_SHIFT (0U) 3871 #define DMAMUX_CHCFG_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_SOURCE_SHIFT)) & DMAMUX_CHCFG_SOURCE_MASK) 3872 #define DMAMUX_CHCFG_A_ON_MASK (0x20000000U) 3873 #define DMAMUX_CHCFG_A_ON_SHIFT (29U) 3874 /*! A_ON - DMA Channel Always Enable 3875 * 0b0..DMA Channel Always ON function is disabled 3876 * 0b1..DMA Channel Always ON function is enabled 3877 */ 3878 #define DMAMUX_CHCFG_A_ON(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_A_ON_SHIFT)) & DMAMUX_CHCFG_A_ON_MASK) 3879 #define DMAMUX_CHCFG_TRIG_MASK (0x40000000U) 3880 #define DMAMUX_CHCFG_TRIG_SHIFT (30U) 3881 /*! TRIG - DMA Channel Trigger Enable 3882 * 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) 3883 * 0b1..Triggering is enabled. If triggering is enabled and ENBL is set, the DMA_CH_MUX is in Periodic Trigger mode. 3884 */ 3885 #define DMAMUX_CHCFG_TRIG(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_TRIG_SHIFT)) & DMAMUX_CHCFG_TRIG_MASK) 3886 #define DMAMUX_CHCFG_ENBL_MASK (0x80000000U) 3887 #define DMAMUX_CHCFG_ENBL_SHIFT (31U) 3888 /*! ENBL - DMA Mux Channel Enable 3889 * 0b0..DMA Mux channel is disabled 3890 * 0b1..DMA Mux channel is enabled 3891 */ 3892 #define DMAMUX_CHCFG_ENBL(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_ENBL_SHIFT)) & DMAMUX_CHCFG_ENBL_MASK) 3893 /*! @} */ 3894 3895 /* The count of DMAMUX_CHCFG */ 3896 #define DMAMUX_CHCFG_COUNT (8U) 3897 3898 3899 /*! 3900 * @} 3901 */ /* end of group DMAMUX_Register_Masks */ 3902 3903 3904 /* DMAMUX - Peripheral instance base addresses */ 3905 /** Peripheral DMAMUX1 base address */ 3906 #define DMAMUX1_BASE (0x41021000u) 3907 /** Peripheral DMAMUX1 base pointer */ 3908 #define DMAMUX1 ((DMAMUX_Type *)DMAMUX1_BASE) 3909 /** Array initializer of DMAMUX peripheral base addresses */ 3910 #define DMAMUX_BASE_ADDRS { 0u, DMAMUX1_BASE } 3911 /** Array initializer of DMAMUX peripheral base pointers */ 3912 #define DMAMUX_BASE_PTRS { (DMAMUX_Type *)0u, DMAMUX1 } 3913 3914 /*! 3915 * @} 3916 */ /* end of group DMAMUX_Peripheral_Access_Layer */ 3917 3918 3919 /* ---------------------------------------------------------------------------- 3920 -- EMVSIM Peripheral Access Layer 3921 ---------------------------------------------------------------------------- */ 3922 3923 /*! 3924 * @addtogroup EMVSIM_Peripheral_Access_Layer EMVSIM Peripheral Access Layer 3925 * @{ 3926 */ 3927 3928 /** EMVSIM - Register Layout Typedef */ 3929 typedef struct { 3930 __I uint32_t VER_ID; /**< Version ID Register, offset: 0x0 */ 3931 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 3932 __IO uint32_t CLKCFG; /**< Clock Configuration Register, offset: 0x8 */ 3933 __IO uint32_t DIVISOR; /**< Baud Rate Divisor Register, offset: 0xC */ 3934 __IO uint32_t CTRL; /**< Control Register, offset: 0x10 */ 3935 __IO uint32_t INT_MASK; /**< Interrupt Mask Register, offset: 0x14 */ 3936 __IO uint32_t RX_THD; /**< Receiver Threshold Register, offset: 0x18 */ 3937 __IO uint32_t TX_THD; /**< Transmitter Threshold Register, offset: 0x1C */ 3938 __IO uint32_t RX_STATUS; /**< Receive Status Register, offset: 0x20 */ 3939 __IO uint32_t TX_STATUS; /**< Transmitter Status Register, offset: 0x24 */ 3940 __IO uint32_t PCSR; /**< Port Control and Status Register, offset: 0x28 */ 3941 __I uint32_t RX_BUF; /**< Receive Data Read Buffer, offset: 0x2C */ 3942 __O uint32_t TX_BUF; /**< Transmit Data Buffer, offset: 0x30 */ 3943 __IO uint32_t TX_GETU; /**< Transmitter Guard ETU Value Register, offset: 0x34 */ 3944 __IO uint32_t CWT_VAL; /**< Character Wait Time Value Register, offset: 0x38 */ 3945 __IO uint32_t BWT_VAL; /**< Block Wait Time Value Register, offset: 0x3C */ 3946 __IO uint32_t BGT_VAL; /**< Block Guard Time Value Register, offset: 0x40 */ 3947 __IO uint32_t GPCNT0_VAL; /**< General Purpose Counter 0 Timeout Value Register, offset: 0x44 */ 3948 __IO uint32_t GPCNT1_VAL; /**< General Purpose Counter 1 Timeout Value, offset: 0x48 */ 3949 } EMVSIM_Type; 3950 3951 /* ---------------------------------------------------------------------------- 3952 -- EMVSIM Register Masks 3953 ---------------------------------------------------------------------------- */ 3954 3955 /*! 3956 * @addtogroup EMVSIM_Register_Masks EMVSIM Register Masks 3957 * @{ 3958 */ 3959 3960 /*! @name VER_ID - Version ID Register */ 3961 /*! @{ */ 3962 #define EMVSIM_VER_ID_VER_MASK (0xFFFFFFFFU) 3963 #define EMVSIM_VER_ID_VER_SHIFT (0U) 3964 #define EMVSIM_VER_ID_VER(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_VER_ID_VER_SHIFT)) & EMVSIM_VER_ID_VER_MASK) 3965 /*! @} */ 3966 3967 /*! @name PARAM - Parameter Register */ 3968 /*! @{ */ 3969 #define EMVSIM_PARAM_RX_FIFO_DEPTH_MASK (0xFFU) 3970 #define EMVSIM_PARAM_RX_FIFO_DEPTH_SHIFT (0U) 3971 #define EMVSIM_PARAM_RX_FIFO_DEPTH(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PARAM_RX_FIFO_DEPTH_SHIFT)) & EMVSIM_PARAM_RX_FIFO_DEPTH_MASK) 3972 #define EMVSIM_PARAM_TX_FIFO_DEPTH_MASK (0xFF00U) 3973 #define EMVSIM_PARAM_TX_FIFO_DEPTH_SHIFT (8U) 3974 #define EMVSIM_PARAM_TX_FIFO_DEPTH(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PARAM_TX_FIFO_DEPTH_SHIFT)) & EMVSIM_PARAM_TX_FIFO_DEPTH_MASK) 3975 /*! @} */ 3976 3977 /*! @name CLKCFG - Clock Configuration Register */ 3978 /*! @{ */ 3979 #define EMVSIM_CLKCFG_CLK_PRSC_MASK (0xFFU) 3980 #define EMVSIM_CLKCFG_CLK_PRSC_SHIFT (0U) 3981 /*! CLK_PRSC - Clock Prescaler Value 3982 * 0b00000010..Divide by 2 3983 */ 3984 #define EMVSIM_CLKCFG_CLK_PRSC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_CLK_PRSC_SHIFT)) & EMVSIM_CLKCFG_CLK_PRSC_MASK) 3985 #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL_MASK (0x300U) 3986 #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL_SHIFT (8U) 3987 /*! GPCNT1_CLK_SEL - General Purpose Counter 1 Clock Select 3988 * 0b00..Disabled / Reset (default) 3989 * 0b01..Card Clock 3990 * 0b10..Receive Clock 3991 * 0b11..ETU Clock (transmit clock) 3992 */ 3993 #define EMVSIM_CLKCFG_GPCNT1_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_GPCNT1_CLK_SEL_SHIFT)) & EMVSIM_CLKCFG_GPCNT1_CLK_SEL_MASK) 3994 #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL_MASK (0xC00U) 3995 #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL_SHIFT (10U) 3996 /*! GPCNT0_CLK_SEL - General Purpose Counter 0 Clock Select 3997 * 0b00..Disabled / Reset (default) 3998 * 0b01..Card Clock 3999 * 0b10..Receive Clock 4000 * 0b11..ETU Clock (transmit clock) 4001 */ 4002 #define EMVSIM_CLKCFG_GPCNT0_CLK_SEL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CLKCFG_GPCNT0_CLK_SEL_SHIFT)) & EMVSIM_CLKCFG_GPCNT0_CLK_SEL_MASK) 4003 /*! @} */ 4004 4005 /*! @name DIVISOR - Baud Rate Divisor Register */ 4006 /*! @{ */ 4007 #define EMVSIM_DIVISOR_DIVISOR_VALUE_MASK (0x1FFU) 4008 #define EMVSIM_DIVISOR_DIVISOR_VALUE_SHIFT (0U) 4009 /*! DIVISOR_VALUE - Divisor (F/D) Value 4010 * 0b000000000-0b000000100..Invalid. As per ISO 7816 specification, minimum value of F/D is 5 4011 * 0b101110100..Divisor value for F = 372 and D = 1 (default) 4012 */ 4013 #define EMVSIM_DIVISOR_DIVISOR_VALUE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_DIVISOR_DIVISOR_VALUE_SHIFT)) & EMVSIM_DIVISOR_DIVISOR_VALUE_MASK) 4014 /*! @} */ 4015 4016 /*! @name CTRL - Control Register */ 4017 /*! @{ */ 4018 #define EMVSIM_CTRL_IC_MASK (0x1U) 4019 #define EMVSIM_CTRL_IC_SHIFT (0U) 4020 /*! IC - Inverse Convention 4021 * 0b0..Direction convention transfers enabled (default) 4022 * 0b1..Inverse convention transfers enabled 4023 */ 4024 #define EMVSIM_CTRL_IC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_IC_SHIFT)) & EMVSIM_CTRL_IC_MASK) 4025 #define EMVSIM_CTRL_ICM_MASK (0x2U) 4026 #define EMVSIM_CTRL_ICM_SHIFT (1U) 4027 /*! ICM - Initial Character Mode 4028 * 0b0..Initial Character Mode disabled 4029 * 0b1..Initial Character Mode enabled (default) 4030 */ 4031 #define EMVSIM_CTRL_ICM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ICM_SHIFT)) & EMVSIM_CTRL_ICM_MASK) 4032 #define EMVSIM_CTRL_ANACK_MASK (0x4U) 4033 #define EMVSIM_CTRL_ANACK_SHIFT (2U) 4034 /*! ANACK - Auto NACK Enable 4035 * 0b0..NACK generation on errors disabled 4036 * 0b1..NACK generation on errors enabled (default) 4037 */ 4038 #define EMVSIM_CTRL_ANACK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ANACK_SHIFT)) & EMVSIM_CTRL_ANACK_MASK) 4039 #define EMVSIM_CTRL_ONACK_MASK (0x8U) 4040 #define EMVSIM_CTRL_ONACK_SHIFT (3U) 4041 /*! ONACK - Overrun NACK Enable 4042 * 0b0..NACK generation on overrun is disabled (default) 4043 * 0b1..NACK generation on overrun is enabled 4044 */ 4045 #define EMVSIM_CTRL_ONACK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_ONACK_SHIFT)) & EMVSIM_CTRL_ONACK_MASK) 4046 #define EMVSIM_CTRL_FLSH_RX_MASK (0x100U) 4047 #define EMVSIM_CTRL_FLSH_RX_SHIFT (8U) 4048 /*! FLSH_RX - Flush Receiver Bit 4049 * 0b0..EMV SIM Receiver normal operation (default) 4050 * 0b1..EMV SIM Receiver held in Reset 4051 */ 4052 #define EMVSIM_CTRL_FLSH_RX(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_FLSH_RX_SHIFT)) & EMVSIM_CTRL_FLSH_RX_MASK) 4053 #define EMVSIM_CTRL_FLSH_TX_MASK (0x200U) 4054 #define EMVSIM_CTRL_FLSH_TX_SHIFT (9U) 4055 /*! FLSH_TX - Flush Transmitter Bit 4056 * 0b0..EMV SIM Transmitter normal operation (default) 4057 * 0b1..EMV SIM Transmitter held in Reset 4058 */ 4059 #define EMVSIM_CTRL_FLSH_TX(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_FLSH_TX_SHIFT)) & EMVSIM_CTRL_FLSH_TX_MASK) 4060 #define EMVSIM_CTRL_SW_RST_MASK (0x400U) 4061 #define EMVSIM_CTRL_SW_RST_SHIFT (10U) 4062 /*! SW_RST - Software Reset Bit 4063 * 0b0..EMV SIM Normal operation (default) 4064 * 0b1..EMV SIM held in Reset 4065 */ 4066 #define EMVSIM_CTRL_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_SW_RST_SHIFT)) & EMVSIM_CTRL_SW_RST_MASK) 4067 #define EMVSIM_CTRL_KILL_CLOCKS_MASK (0x800U) 4068 #define EMVSIM_CTRL_KILL_CLOCKS_SHIFT (11U) 4069 /*! KILL_CLOCKS - Kill all internal clocks 4070 * 0b0..EMV SIM input clock enabled (default) 4071 * 0b1..EMV SIM input clock is disabled 4072 */ 4073 #define EMVSIM_CTRL_KILL_CLOCKS(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_KILL_CLOCKS_SHIFT)) & EMVSIM_CTRL_KILL_CLOCKS_MASK) 4074 #define EMVSIM_CTRL_DOZE_EN_MASK (0x1000U) 4075 #define EMVSIM_CTRL_DOZE_EN_SHIFT (12U) 4076 /*! DOZE_EN - Doze Enable 4077 * 0b0..DOZE instruction will gate all internal EMV SIM clocks as well as the Smart Card clock when the transmit FIFO is empty (default) 4078 * 0b1..DOZE instruction has no effect on EMV SIM module 4079 */ 4080 #define EMVSIM_CTRL_DOZE_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_DOZE_EN_SHIFT)) & EMVSIM_CTRL_DOZE_EN_MASK) 4081 #define EMVSIM_CTRL_STOP_EN_MASK (0x2000U) 4082 #define EMVSIM_CTRL_STOP_EN_SHIFT (13U) 4083 /*! STOP_EN - STOP Enable 4084 * 0b0..STOP instruction shuts down all EMV SIM clocks (default) 4085 * 0b1..STOP instruction shuts down all clocks except for the Smart Card Clock (SCK) (clock provided to Smart Card) 4086 */ 4087 #define EMVSIM_CTRL_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_STOP_EN_SHIFT)) & EMVSIM_CTRL_STOP_EN_MASK) 4088 #define EMVSIM_CTRL_RCV_EN_MASK (0x10000U) 4089 #define EMVSIM_CTRL_RCV_EN_SHIFT (16U) 4090 /*! RCV_EN - Receiver Enable 4091 * 0b0..EMV SIM Receiver disabled (default) 4092 * 0b1..EMV SIM Receiver enabled 4093 */ 4094 #define EMVSIM_CTRL_RCV_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RCV_EN_SHIFT)) & EMVSIM_CTRL_RCV_EN_MASK) 4095 #define EMVSIM_CTRL_XMT_EN_MASK (0x20000U) 4096 #define EMVSIM_CTRL_XMT_EN_SHIFT (17U) 4097 /*! XMT_EN - Transmitter Enable 4098 * 0b0..EMV SIM Transmitter disabled (default) 4099 * 0b1..EMV SIM Transmitter enabled 4100 */ 4101 #define EMVSIM_CTRL_XMT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_XMT_EN_SHIFT)) & EMVSIM_CTRL_XMT_EN_MASK) 4102 #define EMVSIM_CTRL_RCVR_11_MASK (0x40000U) 4103 #define EMVSIM_CTRL_RCVR_11_SHIFT (18U) 4104 /*! RCVR_11 - Receiver 11 ETU Mode Enable 4105 * 0b0..Receiver configured for 12 ETU operation mode (default) 4106 * 0b1..Receiver configured for 11 ETU operation mode 4107 */ 4108 #define EMVSIM_CTRL_RCVR_11(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RCVR_11_SHIFT)) & EMVSIM_CTRL_RCVR_11_MASK) 4109 #define EMVSIM_CTRL_RX_DMA_EN_MASK (0x80000U) 4110 #define EMVSIM_CTRL_RX_DMA_EN_SHIFT (19U) 4111 /*! RX_DMA_EN - Receive DMA Enable 4112 * 0b0..No DMA Read Request asserted for Receiver (default) 4113 * 0b1..DMA Read Request asserted for Receiver 4114 */ 4115 #define EMVSIM_CTRL_RX_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_RX_DMA_EN_SHIFT)) & EMVSIM_CTRL_RX_DMA_EN_MASK) 4116 #define EMVSIM_CTRL_TX_DMA_EN_MASK (0x100000U) 4117 #define EMVSIM_CTRL_TX_DMA_EN_SHIFT (20U) 4118 /*! TX_DMA_EN - Transmit DMA Enable 4119 * 0b0..No DMA Write Request asserted for Transmitter (default) 4120 * 0b1..DMA Write Request asserted for Transmitter 4121 */ 4122 #define EMVSIM_CTRL_TX_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_TX_DMA_EN_SHIFT)) & EMVSIM_CTRL_TX_DMA_EN_MASK) 4123 #define EMVSIM_CTRL_INV_CRC_VAL_MASK (0x1000000U) 4124 #define EMVSIM_CTRL_INV_CRC_VAL_SHIFT (24U) 4125 /*! INV_CRC_VAL - Invert bits in the CRC Output Value 4126 * 0b0..Bits in CRC Output value will not be inverted. 4127 * 0b1..Bits in CRC Output value will be inverted. (default) 4128 */ 4129 #define EMVSIM_CTRL_INV_CRC_VAL(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_INV_CRC_VAL_SHIFT)) & EMVSIM_CTRL_INV_CRC_VAL_MASK) 4130 #define EMVSIM_CTRL_CRC_OUT_FLIP_MASK (0x2000000U) 4131 #define EMVSIM_CTRL_CRC_OUT_FLIP_SHIFT (25U) 4132 /*! CRC_OUT_FLIP - CRC Output Value Bit Reversal or Flip 4133 * 0b0..Bits within the CRC output bytes will not be reversed i.e. 15:0 will remain 15:0 (default) 4134 * 0b1..Bits within the CRC output bytes will be reversed i.e. 15:0 will become {8:15,0:7} 4135 */ 4136 #define EMVSIM_CTRL_CRC_OUT_FLIP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_OUT_FLIP_SHIFT)) & EMVSIM_CTRL_CRC_OUT_FLIP_MASK) 4137 #define EMVSIM_CTRL_CRC_IN_FLIP_MASK (0x4000000U) 4138 #define EMVSIM_CTRL_CRC_IN_FLIP_SHIFT (26U) 4139 /*! CRC_IN_FLIP - CRC Input Byte's Bit Reversal or Flip Control 4140 * 0b0..Bits in the input byte will not be reversed (i.e. 7:0 will remain 7:0) before the CRC calculation (default) 4141 * 0b1..Bits in the input byte will be reversed (i.e. 7:0 will become 0:7) before CRC calculation 4142 */ 4143 #define EMVSIM_CTRL_CRC_IN_FLIP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_IN_FLIP_SHIFT)) & EMVSIM_CTRL_CRC_IN_FLIP_MASK) 4144 #define EMVSIM_CTRL_CWT_EN_MASK (0x8000000U) 4145 #define EMVSIM_CTRL_CWT_EN_SHIFT (27U) 4146 /*! CWT_EN - Character Wait Time Counter Enable 4147 * 0b0..Character Wait time Counter is disabled (default) 4148 * 0b1..Character Wait time counter is enabled 4149 */ 4150 #define EMVSIM_CTRL_CWT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CWT_EN_SHIFT)) & EMVSIM_CTRL_CWT_EN_MASK) 4151 #define EMVSIM_CTRL_LRC_EN_MASK (0x10000000U) 4152 #define EMVSIM_CTRL_LRC_EN_SHIFT (28U) 4153 /*! LRC_EN - LRC Enable 4154 * 0b0..8-bit Linear Redundancy Checking disabled (default) 4155 * 0b1..8-bit Linear Redundancy Checking enabled 4156 */ 4157 #define EMVSIM_CTRL_LRC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_LRC_EN_SHIFT)) & EMVSIM_CTRL_LRC_EN_MASK) 4158 #define EMVSIM_CTRL_CRC_EN_MASK (0x20000000U) 4159 #define EMVSIM_CTRL_CRC_EN_SHIFT (29U) 4160 /*! CRC_EN - CRC Enable 4161 * 0b0..16-bit Cyclic Redundancy Checking disabled (default) 4162 * 0b1..16-bit Cyclic Redundancy Checking enabled 4163 */ 4164 #define EMVSIM_CTRL_CRC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_CRC_EN_SHIFT)) & EMVSIM_CTRL_CRC_EN_MASK) 4165 #define EMVSIM_CTRL_XMT_CRC_LRC_MASK (0x40000000U) 4166 #define EMVSIM_CTRL_XMT_CRC_LRC_SHIFT (30U) 4167 /*! XMT_CRC_LRC - Transmit CRC or LRC Enable 4168 * 0b0..No CRC or LRC value is transmitted (default) 4169 * 0b1..Transmit LRC or CRC info when FIFO empties (whichever is enabled) 4170 */ 4171 #define EMVSIM_CTRL_XMT_CRC_LRC(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_XMT_CRC_LRC_SHIFT)) & EMVSIM_CTRL_XMT_CRC_LRC_MASK) 4172 #define EMVSIM_CTRL_BWT_EN_MASK (0x80000000U) 4173 #define EMVSIM_CTRL_BWT_EN_SHIFT (31U) 4174 /*! BWT_EN - Block Wait Time Counter Enable 4175 * 0b0..Disable BWT, BGT Counters (default) 4176 * 0b1..Enable BWT, BGT Counters 4177 */ 4178 #define EMVSIM_CTRL_BWT_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CTRL_BWT_EN_SHIFT)) & EMVSIM_CTRL_BWT_EN_MASK) 4179 /*! @} */ 4180 4181 /*! @name INT_MASK - Interrupt Mask Register */ 4182 /*! @{ */ 4183 #define EMVSIM_INT_MASK_RDT_IM_MASK (0x1U) 4184 #define EMVSIM_INT_MASK_RDT_IM_SHIFT (0U) 4185 /*! RDT_IM - Receive Data Threshold Interrupt Mask 4186 * 0b0..RDTF interrupt enabled 4187 * 0b1..RDTF interrupt masked (default) 4188 */ 4189 #define EMVSIM_INT_MASK_RDT_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RDT_IM_SHIFT)) & EMVSIM_INT_MASK_RDT_IM_MASK) 4190 #define EMVSIM_INT_MASK_TC_IM_MASK (0x2U) 4191 #define EMVSIM_INT_MASK_TC_IM_SHIFT (1U) 4192 /*! TC_IM - Transmit Complete Interrupt Mask 4193 * 0b0..TCF interrupt enabled 4194 * 0b1..TCF interrupt masked (default) 4195 */ 4196 #define EMVSIM_INT_MASK_TC_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TC_IM_SHIFT)) & EMVSIM_INT_MASK_TC_IM_MASK) 4197 #define EMVSIM_INT_MASK_RFO_IM_MASK (0x4U) 4198 #define EMVSIM_INT_MASK_RFO_IM_SHIFT (2U) 4199 /*! RFO_IM - Receive FIFO Overflow Interrupt Mask 4200 * 0b0..RFO interrupt enabled 4201 * 0b1..RFO interrupt masked (default) 4202 */ 4203 #define EMVSIM_INT_MASK_RFO_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RFO_IM_SHIFT)) & EMVSIM_INT_MASK_RFO_IM_MASK) 4204 #define EMVSIM_INT_MASK_ETC_IM_MASK (0x8U) 4205 #define EMVSIM_INT_MASK_ETC_IM_SHIFT (3U) 4206 /*! ETC_IM - Early Transmit Complete Interrupt Mask 4207 * 0b0..ETC interrupt enabled 4208 * 0b1..ETC interrupt masked (default) 4209 */ 4210 #define EMVSIM_INT_MASK_ETC_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_ETC_IM_SHIFT)) & EMVSIM_INT_MASK_ETC_IM_MASK) 4211 #define EMVSIM_INT_MASK_TFE_IM_MASK (0x10U) 4212 #define EMVSIM_INT_MASK_TFE_IM_SHIFT (4U) 4213 /*! TFE_IM - Transmit FIFO Empty Interrupt Mask 4214 * 0b0..TFE interrupt enabled 4215 * 0b1..TFE interrupt masked (default) 4216 */ 4217 #define EMVSIM_INT_MASK_TFE_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TFE_IM_SHIFT)) & EMVSIM_INT_MASK_TFE_IM_MASK) 4218 #define EMVSIM_INT_MASK_TNACK_IM_MASK (0x20U) 4219 #define EMVSIM_INT_MASK_TNACK_IM_SHIFT (5U) 4220 /*! TNACK_IM - Transmit NACK Threshold Interrupt Mask 4221 * 0b0..TNTE interrupt enabled 4222 * 0b1..TNTE interrupt masked (default) 4223 */ 4224 #define EMVSIM_INT_MASK_TNACK_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TNACK_IM_SHIFT)) & EMVSIM_INT_MASK_TNACK_IM_MASK) 4225 #define EMVSIM_INT_MASK_TFF_IM_MASK (0x40U) 4226 #define EMVSIM_INT_MASK_TFF_IM_SHIFT (6U) 4227 /*! TFF_IM - Transmit FIFO Full Interrupt Mask 4228 * 0b0..TFF interrupt enabled 4229 * 0b1..TFF interrupt masked (default) 4230 */ 4231 #define EMVSIM_INT_MASK_TFF_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TFF_IM_SHIFT)) & EMVSIM_INT_MASK_TFF_IM_MASK) 4232 #define EMVSIM_INT_MASK_TDT_IM_MASK (0x80U) 4233 #define EMVSIM_INT_MASK_TDT_IM_SHIFT (7U) 4234 /*! TDT_IM - Transmit Data Threshold Interrupt Mask 4235 * 0b0..TDTF interrupt enabled 4236 * 0b1..TDTF interrupt masked (default) 4237 */ 4238 #define EMVSIM_INT_MASK_TDT_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_TDT_IM_SHIFT)) & EMVSIM_INT_MASK_TDT_IM_MASK) 4239 #define EMVSIM_INT_MASK_GPCNT0_IM_MASK (0x100U) 4240 #define EMVSIM_INT_MASK_GPCNT0_IM_SHIFT (8U) 4241 /*! GPCNT0_IM - General Purpose Timer 0 Timeout Interrupt Mask 4242 * 0b0..GPCNT0_TO interrupt enabled 4243 * 0b1..GPCNT0_TO interrupt masked (default) 4244 */ 4245 #define EMVSIM_INT_MASK_GPCNT0_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_GPCNT0_IM_SHIFT)) & EMVSIM_INT_MASK_GPCNT0_IM_MASK) 4246 #define EMVSIM_INT_MASK_CWT_ERR_IM_MASK (0x200U) 4247 #define EMVSIM_INT_MASK_CWT_ERR_IM_SHIFT (9U) 4248 /*! CWT_ERR_IM - Character Wait Time Error Interrupt Mask 4249 * 0b0..CWT_ERR interrupt enabled 4250 * 0b1..CWT_ERR interrupt masked (default) 4251 */ 4252 #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) 4253 #define EMVSIM_INT_MASK_RNACK_IM_MASK (0x400U) 4254 #define EMVSIM_INT_MASK_RNACK_IM_SHIFT (10U) 4255 /*! RNACK_IM - Receiver NACK Threshold Interrupt Mask 4256 * 0b0..RTE interrupt enabled 4257 * 0b1..RTE interrupt masked (default) 4258 */ 4259 #define EMVSIM_INT_MASK_RNACK_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_RNACK_IM_SHIFT)) & EMVSIM_INT_MASK_RNACK_IM_MASK) 4260 #define EMVSIM_INT_MASK_BWT_ERR_IM_MASK (0x800U) 4261 #define EMVSIM_INT_MASK_BWT_ERR_IM_SHIFT (11U) 4262 /*! BWT_ERR_IM - Block Wait Time Error Interrupt Mask 4263 * 0b0..BWT_ERR interrupt enabled 4264 * 0b1..BWT_ERR interrupt masked (default) 4265 */ 4266 #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) 4267 #define EMVSIM_INT_MASK_BGT_ERR_IM_MASK (0x1000U) 4268 #define EMVSIM_INT_MASK_BGT_ERR_IM_SHIFT (12U) 4269 /*! BGT_ERR_IM - Block Guard Time Error Interrupt 4270 * 0b0..BGT_ERR interrupt enabled 4271 * 0b1..BGT_ERR interrupt masked (default) 4272 */ 4273 #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) 4274 #define EMVSIM_INT_MASK_GPCNT1_IM_MASK (0x2000U) 4275 #define EMVSIM_INT_MASK_GPCNT1_IM_SHIFT (13U) 4276 /*! GPCNT1_IM - General Purpose Counter 1 Timeout Interrupt Mask 4277 * 0b0..GPCNT1_TO interrupt enabled 4278 * 0b1..GPCNT1_TO interrupt masked (default) 4279 */ 4280 #define EMVSIM_INT_MASK_GPCNT1_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_GPCNT1_IM_SHIFT)) & EMVSIM_INT_MASK_GPCNT1_IM_MASK) 4281 #define EMVSIM_INT_MASK_RX_DATA_IM_MASK (0x4000U) 4282 #define EMVSIM_INT_MASK_RX_DATA_IM_SHIFT (14U) 4283 /*! RX_DATA_IM - Receive Data Interrupt Mask 4284 * 0b0..RX_DATA interrupt enabled 4285 * 0b1..RX_DATA interrupt masked (default) 4286 */ 4287 #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) 4288 #define EMVSIM_INT_MASK_PEF_IM_MASK (0x8000U) 4289 #define EMVSIM_INT_MASK_PEF_IM_SHIFT (15U) 4290 /*! PEF_IM - Parity Error Interrupt Mask 4291 * 0b0..PEF interrupt enabled 4292 * 0b1..PEF interrupt masked (default) 4293 */ 4294 #define EMVSIM_INT_MASK_PEF_IM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_INT_MASK_PEF_IM_SHIFT)) & EMVSIM_INT_MASK_PEF_IM_MASK) 4295 /*! @} */ 4296 4297 /*! @name RX_THD - Receiver Threshold Register */ 4298 /*! @{ */ 4299 #define EMVSIM_RX_THD_RDT_MASK (0xFU) 4300 #define EMVSIM_RX_THD_RDT_SHIFT (0U) 4301 #define EMVSIM_RX_THD_RDT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_THD_RDT_SHIFT)) & EMVSIM_RX_THD_RDT_MASK) 4302 #define EMVSIM_RX_THD_RNCK_THD_MASK (0xF00U) 4303 #define EMVSIM_RX_THD_RNCK_THD_SHIFT (8U) 4304 /*! RNCK_THD - Receiver NACK Threshold Value 4305 * 0b0000..Zero Threshold. RTE will not be set 4306 */ 4307 #define EMVSIM_RX_THD_RNCK_THD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_THD_RNCK_THD_SHIFT)) & EMVSIM_RX_THD_RNCK_THD_MASK) 4308 /*! @} */ 4309 4310 /*! @name TX_THD - Transmitter Threshold Register */ 4311 /*! @{ */ 4312 #define EMVSIM_TX_THD_TDT_MASK (0xFU) 4313 #define EMVSIM_TX_THD_TDT_SHIFT (0U) 4314 #define EMVSIM_TX_THD_TDT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_THD_TDT_SHIFT)) & EMVSIM_TX_THD_TDT_MASK) 4315 #define EMVSIM_TX_THD_TNCK_THD_MASK (0xF00U) 4316 #define EMVSIM_TX_THD_TNCK_THD_SHIFT (8U) 4317 /*! TNCK_THD - Transmitter NACK Threshold Value 4318 * 0b0000..TNTE will never be set; retransmission after NACK reception is disabled. 4319 * 0b0001..TNTE will be set after 1 nack is received; 0 retransmissions occurs. 4320 * 0b0010..TNTE will be set after 2 nacks are received; at most 1 retransmission occurs. 4321 * 0b0011..TNTE will be set after 3 nacks are received; at most 2 retransmissions occurs. 4322 * 0b1111..TNTE will be set after 15 nacks are received; at most 14 retransmissions occurs. 4323 */ 4324 #define EMVSIM_TX_THD_TNCK_THD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_THD_TNCK_THD_SHIFT)) & EMVSIM_TX_THD_TNCK_THD_MASK) 4325 /*! @} */ 4326 4327 /*! @name RX_STATUS - Receive Status Register */ 4328 /*! @{ */ 4329 #define EMVSIM_RX_STATUS_RFO_MASK (0x1U) 4330 #define EMVSIM_RX_STATUS_RFO_SHIFT (0U) 4331 /*! RFO - Receive FIFO Overflow Flag 4332 * 0b0..No overrun error has occurred (default) 4333 * 0b1..A byte was received when the received FIFO was already full 4334 */ 4335 #define EMVSIM_RX_STATUS_RFO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RFO_SHIFT)) & EMVSIM_RX_STATUS_RFO_MASK) 4336 #define EMVSIM_RX_STATUS_RX_DATA_MASK (0x10U) 4337 #define EMVSIM_RX_STATUS_RX_DATA_SHIFT (4U) 4338 /*! RX_DATA - Receive Data Interrupt Flag 4339 * 0b0..No new byte is received 4340 * 0b1..New byte is received ans stored in Receive FIFO 4341 */ 4342 #define EMVSIM_RX_STATUS_RX_DATA(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_DATA_SHIFT)) & EMVSIM_RX_STATUS_RX_DATA_MASK) 4343 #define EMVSIM_RX_STATUS_RDTF_MASK (0x20U) 4344 #define EMVSIM_RX_STATUS_RDTF_SHIFT (5U) 4345 /*! RDTF - Receive Data Threshold Interrupt Flag 4346 * 0b0..Number of unread bytes in receive FIFO less than the value set by RDT[3:0] (default). 4347 * 0b1..Number of unread bytes in receive FIFO greater or than equal to value set by RDT[3:0]. 4348 */ 4349 #define EMVSIM_RX_STATUS_RDTF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RDTF_SHIFT)) & EMVSIM_RX_STATUS_RDTF_MASK) 4350 #define EMVSIM_RX_STATUS_LRC_OK_MASK (0x40U) 4351 #define EMVSIM_RX_STATUS_LRC_OK_SHIFT (6U) 4352 /*! LRC_OK - LRC Check OK Flag 4353 * 0b0..Current LRC value does not match remainder. 4354 * 0b1..Current calculated LRC value matches the expected result (i.e. zero). 4355 */ 4356 #define EMVSIM_RX_STATUS_LRC_OK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_LRC_OK_SHIFT)) & EMVSIM_RX_STATUS_LRC_OK_MASK) 4357 #define EMVSIM_RX_STATUS_CRC_OK_MASK (0x80U) 4358 #define EMVSIM_RX_STATUS_CRC_OK_SHIFT (7U) 4359 /*! CRC_OK - CRC Check OK Flag 4360 * 0b0..Current CRC value does not match remainder. 4361 * 0b1..Current calculated CRC value matches the expected result. 4362 */ 4363 #define EMVSIM_RX_STATUS_CRC_OK(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_CRC_OK_SHIFT)) & EMVSIM_RX_STATUS_CRC_OK_MASK) 4364 #define EMVSIM_RX_STATUS_CWT_ERR_MASK (0x100U) 4365 #define EMVSIM_RX_STATUS_CWT_ERR_SHIFT (8U) 4366 /*! CWT_ERR - Character Wait Time Error Flag 4367 * 0b0..No CWT violation has occurred (default). 4368 * 0b1..Time between two consecutive characters has exceeded the value in CHAR_WAIT. 4369 */ 4370 #define EMVSIM_RX_STATUS_CWT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_CWT_ERR_SHIFT)) & EMVSIM_RX_STATUS_CWT_ERR_MASK) 4371 #define EMVSIM_RX_STATUS_RTE_MASK (0x200U) 4372 #define EMVSIM_RX_STATUS_RTE_SHIFT (9U) 4373 /*! RTE - Received NACK Threshold Error Flag 4374 * 0b0..Number of NACKs generated by the receiver is less than the value programmed in RTH[3:0] 4375 * 0b1..Number of NACKs generated by the receiver is equal to the value programmed in RTH[3:0] 4376 */ 4377 #define EMVSIM_RX_STATUS_RTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RTE_SHIFT)) & EMVSIM_RX_STATUS_RTE_MASK) 4378 #define EMVSIM_RX_STATUS_BWT_ERR_MASK (0x400U) 4379 #define EMVSIM_RX_STATUS_BWT_ERR_SHIFT (10U) 4380 /*! BWT_ERR - Block Wait Time Error Flag 4381 * 0b0..Block wait time not exceeded 4382 * 0b1..Block wait time was exceeded 4383 */ 4384 #define EMVSIM_RX_STATUS_BWT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_BWT_ERR_SHIFT)) & EMVSIM_RX_STATUS_BWT_ERR_MASK) 4385 #define EMVSIM_RX_STATUS_BGT_ERR_MASK (0x800U) 4386 #define EMVSIM_RX_STATUS_BGT_ERR_SHIFT (11U) 4387 /*! BGT_ERR - Block Guard Time Error Flag 4388 * 0b0..Block guard time was sufficient 4389 * 0b1..Block guard time was too small 4390 */ 4391 #define EMVSIM_RX_STATUS_BGT_ERR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_BGT_ERR_SHIFT)) & EMVSIM_RX_STATUS_BGT_ERR_MASK) 4392 #define EMVSIM_RX_STATUS_PEF_MASK (0x1000U) 4393 #define EMVSIM_RX_STATUS_PEF_SHIFT (12U) 4394 /*! PEF - Parity Error Flag 4395 * 0b0..No parity error detected 4396 * 0b1..Parity error detected 4397 */ 4398 #define EMVSIM_RX_STATUS_PEF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_PEF_SHIFT)) & EMVSIM_RX_STATUS_PEF_MASK) 4399 #define EMVSIM_RX_STATUS_FEF_MASK (0x2000U) 4400 #define EMVSIM_RX_STATUS_FEF_SHIFT (13U) 4401 /*! FEF - Frame Error Flag 4402 * 0b0..No frame error detected 4403 * 0b1..Frame error detected 4404 */ 4405 #define EMVSIM_RX_STATUS_FEF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_FEF_SHIFT)) & EMVSIM_RX_STATUS_FEF_MASK) 4406 #define EMVSIM_RX_STATUS_RX_WPTR_MASK (0xF0000U) 4407 #define EMVSIM_RX_STATUS_RX_WPTR_SHIFT (16U) 4408 #define EMVSIM_RX_STATUS_RX_WPTR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_WPTR_SHIFT)) & EMVSIM_RX_STATUS_RX_WPTR_MASK) 4409 #define EMVSIM_RX_STATUS_RX_CNT_MASK (0xF000000U) 4410 #define EMVSIM_RX_STATUS_RX_CNT_SHIFT (24U) 4411 /*! RX_CNT - Receive FIFO Byte Count 4412 * 0b0000..FIFO is emtpy 4413 */ 4414 #define EMVSIM_RX_STATUS_RX_CNT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_STATUS_RX_CNT_SHIFT)) & EMVSIM_RX_STATUS_RX_CNT_MASK) 4415 /*! @} */ 4416 4417 /*! @name TX_STATUS - Transmitter Status Register */ 4418 /*! @{ */ 4419 #define EMVSIM_TX_STATUS_TNTE_MASK (0x1U) 4420 #define EMVSIM_TX_STATUS_TNTE_SHIFT (0U) 4421 /*! TNTE - Transmit NACK Threshold Error Flag 4422 * 0b0..Transmit NACK threshold has not been reached (default) 4423 * 0b1..Transmit NACK threshold reached; transmitter frozen 4424 */ 4425 #define EMVSIM_TX_STATUS_TNTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TNTE_SHIFT)) & EMVSIM_TX_STATUS_TNTE_MASK) 4426 #define EMVSIM_TX_STATUS_TFE_MASK (0x8U) 4427 #define EMVSIM_TX_STATUS_TFE_SHIFT (3U) 4428 /*! TFE - Transmit FIFO Empty Flag 4429 * 0b0..Transmit FIFO is not empty 4430 * 0b1..Transmit FIFO is empty (default) 4431 */ 4432 #define EMVSIM_TX_STATUS_TFE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TFE_SHIFT)) & EMVSIM_TX_STATUS_TFE_MASK) 4433 #define EMVSIM_TX_STATUS_ETCF_MASK (0x10U) 4434 #define EMVSIM_TX_STATUS_ETCF_SHIFT (4U) 4435 /*! ETCF - Early Transmit Complete Flag 4436 * 0b0..Transmit pending or in progress 4437 * 0b1..Transmit complete (default) 4438 */ 4439 #define EMVSIM_TX_STATUS_ETCF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_ETCF_SHIFT)) & EMVSIM_TX_STATUS_ETCF_MASK) 4440 #define EMVSIM_TX_STATUS_TCF_MASK (0x20U) 4441 #define EMVSIM_TX_STATUS_TCF_SHIFT (5U) 4442 /*! TCF - Transmit Complete Flag 4443 * 0b0..Transmit pending or in progress 4444 * 0b1..Transmit complete (default) 4445 */ 4446 #define EMVSIM_TX_STATUS_TCF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TCF_SHIFT)) & EMVSIM_TX_STATUS_TCF_MASK) 4447 #define EMVSIM_TX_STATUS_TFF_MASK (0x40U) 4448 #define EMVSIM_TX_STATUS_TFF_SHIFT (6U) 4449 /*! TFF - Transmit FIFO Full Flag 4450 * 0b0..Transmit FIFO Full condition has not occurred (default) 4451 * 0b1..A Transmit FIFO Full condition has occurred 4452 */ 4453 #define EMVSIM_TX_STATUS_TFF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TFF_SHIFT)) & EMVSIM_TX_STATUS_TFF_MASK) 4454 #define EMVSIM_TX_STATUS_TDTF_MASK (0x80U) 4455 #define EMVSIM_TX_STATUS_TDTF_SHIFT (7U) 4456 /*! TDTF - Transmit Data Threshold Flag 4457 * 0b0..Number of bytes in FIFO is greater than TDT[3:0], or bit has been cleared 4458 * 0b1..Number of bytes in FIFO is less than or equal to TDT[3:0] (default) 4459 */ 4460 #define EMVSIM_TX_STATUS_TDTF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TDTF_SHIFT)) & EMVSIM_TX_STATUS_TDTF_MASK) 4461 #define EMVSIM_TX_STATUS_GPCNT0_TO_MASK (0x100U) 4462 #define EMVSIM_TX_STATUS_GPCNT0_TO_SHIFT (8U) 4463 /*! GPCNT0_TO - General Purpose Counter 0 Timeout Flag 4464 * 0b0..GPCNT0_VAL time not reached, or bit has been cleared. (default) 4465 * 0b1..General Purpose counter has reached the GPCNT0_VAL value 4466 */ 4467 #define EMVSIM_TX_STATUS_GPCNT0_TO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_GPCNT0_TO_SHIFT)) & EMVSIM_TX_STATUS_GPCNT0_TO_MASK) 4468 #define EMVSIM_TX_STATUS_GPCNT1_TO_MASK (0x200U) 4469 #define EMVSIM_TX_STATUS_GPCNT1_TO_SHIFT (9U) 4470 /*! GPCNT1_TO - General Purpose Counter 1 Timeout Flag 4471 * 0b0..GPCNT1_VAL time not reached, or bit has been cleared. (default) 4472 * 0b1..General Purpose counter has reached the GPCNT1_VAL value 4473 */ 4474 #define EMVSIM_TX_STATUS_GPCNT1_TO(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_GPCNT1_TO_SHIFT)) & EMVSIM_TX_STATUS_GPCNT1_TO_MASK) 4475 #define EMVSIM_TX_STATUS_TX_RPTR_MASK (0xF0000U) 4476 #define EMVSIM_TX_STATUS_TX_RPTR_SHIFT (16U) 4477 #define EMVSIM_TX_STATUS_TX_RPTR(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TX_RPTR_SHIFT)) & EMVSIM_TX_STATUS_TX_RPTR_MASK) 4478 #define EMVSIM_TX_STATUS_TX_CNT_MASK (0xF000000U) 4479 #define EMVSIM_TX_STATUS_TX_CNT_SHIFT (24U) 4480 /*! TX_CNT - Transmit FIFO Byte Count 4481 * 0b0000..FIFO is emtpy 4482 */ 4483 #define EMVSIM_TX_STATUS_TX_CNT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_STATUS_TX_CNT_SHIFT)) & EMVSIM_TX_STATUS_TX_CNT_MASK) 4484 /*! @} */ 4485 4486 /*! @name PCSR - Port Control and Status Register */ 4487 /*! @{ */ 4488 #define EMVSIM_PCSR_SAPD_MASK (0x1U) 4489 #define EMVSIM_PCSR_SAPD_SHIFT (0U) 4490 /*! SAPD - Auto Power Down Enable 4491 * 0b0..Auto power down disabled (default) 4492 * 0b1..Auto power down enabled 4493 */ 4494 #define EMVSIM_PCSR_SAPD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SAPD_SHIFT)) & EMVSIM_PCSR_SAPD_MASK) 4495 #define EMVSIM_PCSR_SVCC_EN_MASK (0x2U) 4496 #define EMVSIM_PCSR_SVCC_EN_SHIFT (1U) 4497 /*! SVCC_EN - Vcc Enable for Smart Card 4498 * 0b0..Smart Card Voltage disabled (default) 4499 * 0b1..Smart Card Voltage enabled 4500 */ 4501 #define EMVSIM_PCSR_SVCC_EN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SVCC_EN_SHIFT)) & EMVSIM_PCSR_SVCC_EN_MASK) 4502 #define EMVSIM_PCSR_VCCENP_MASK (0x4U) 4503 #define EMVSIM_PCSR_VCCENP_SHIFT (2U) 4504 /*! VCCENP - VCC Enable Polarity Control 4505 * 0b0..VCC_EN is active high. Polarity of SVCC_EN is unchanged. 4506 * 0b1..VCC_EN is active low. Polarity of SVCC_EN is inverted. 4507 */ 4508 #define EMVSIM_PCSR_VCCENP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_VCCENP_SHIFT)) & EMVSIM_PCSR_VCCENP_MASK) 4509 #define EMVSIM_PCSR_SRST_MASK (0x8U) 4510 #define EMVSIM_PCSR_SRST_SHIFT (3U) 4511 /*! SRST - Reset to Smart Card 4512 * 0b0..Smart Card Reset is asserted (default) 4513 * 0b1..Smart Card Reset is de-asserted 4514 */ 4515 #define EMVSIM_PCSR_SRST(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SRST_SHIFT)) & EMVSIM_PCSR_SRST_MASK) 4516 #define EMVSIM_PCSR_SCEN_MASK (0x10U) 4517 #define EMVSIM_PCSR_SCEN_SHIFT (4U) 4518 /*! SCEN - Clock Enable for Smart Card 4519 * 0b0..Smart Card Clock Disabled 4520 * 0b1..Smart Card Clock Enabled 4521 */ 4522 #define EMVSIM_PCSR_SCEN(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SCEN_SHIFT)) & EMVSIM_PCSR_SCEN_MASK) 4523 #define EMVSIM_PCSR_SCSP_MASK (0x20U) 4524 #define EMVSIM_PCSR_SCSP_SHIFT (5U) 4525 /*! SCSP - Smart Card Clock Stop Polarity 4526 * 0b0..Clock is logic 0 when stopped by SCEN 4527 * 0b1..Clock is logic 1 when stopped by SCEN 4528 */ 4529 #define EMVSIM_PCSR_SCSP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SCSP_SHIFT)) & EMVSIM_PCSR_SCSP_MASK) 4530 #define EMVSIM_PCSR_SPD_MASK (0x80U) 4531 #define EMVSIM_PCSR_SPD_SHIFT (7U) 4532 /*! SPD - Auto Power Down Control 4533 * 0b0..No effect (default) 4534 * 0b1..Start Auto Powerdown or Power Down is in progress 4535 */ 4536 #define EMVSIM_PCSR_SPD(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPD_SHIFT)) & EMVSIM_PCSR_SPD_MASK) 4537 #define EMVSIM_PCSR_SPDIM_MASK (0x1000000U) 4538 #define EMVSIM_PCSR_SPDIM_SHIFT (24U) 4539 /*! SPDIM - Smart Card Presence Detect Interrupt Mask 4540 * 0b0..SIM presence detect interrupt is enabled 4541 * 0b1..SIM presence detect interrupt is masked (default) 4542 */ 4543 #define EMVSIM_PCSR_SPDIM(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDIM_SHIFT)) & EMVSIM_PCSR_SPDIM_MASK) 4544 #define EMVSIM_PCSR_SPDIF_MASK (0x2000000U) 4545 #define EMVSIM_PCSR_SPDIF_SHIFT (25U) 4546 /*! SPDIF - Smart Card Presence Detect Interrupt Flag 4547 * 0b0..No insertion or removal of Smart Card detected on Port (default) 4548 * 0b1..Insertion or removal of Smart Card detected on Port 4549 */ 4550 #define EMVSIM_PCSR_SPDIF(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDIF_SHIFT)) & EMVSIM_PCSR_SPDIF_MASK) 4551 #define EMVSIM_PCSR_SPDP_MASK (0x4000000U) 4552 #define EMVSIM_PCSR_SPDP_SHIFT (26U) 4553 /*! SPDP - Smart Card Presence Detect Pin Status 4554 * 0b0..SIM Presence Detect pin is logic low 4555 * 0b1..SIM Presence Detectpin is logic high 4556 */ 4557 #define EMVSIM_PCSR_SPDP(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDP_SHIFT)) & EMVSIM_PCSR_SPDP_MASK) 4558 #define EMVSIM_PCSR_SPDES_MASK (0x8000000U) 4559 #define EMVSIM_PCSR_SPDES_SHIFT (27U) 4560 /*! SPDES - SIM Presence Detect Edge Select 4561 * 0b0..Falling edge on the pin (default) 4562 * 0b1..Rising edge on the pin 4563 */ 4564 #define EMVSIM_PCSR_SPDES(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_PCSR_SPDES_SHIFT)) & EMVSIM_PCSR_SPDES_MASK) 4565 /*! @} */ 4566 4567 /*! @name RX_BUF - Receive Data Read Buffer */ 4568 /*! @{ */ 4569 #define EMVSIM_RX_BUF_RX_BYTE_MASK (0xFFU) 4570 #define EMVSIM_RX_BUF_RX_BYTE_SHIFT (0U) 4571 #define EMVSIM_RX_BUF_RX_BYTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_RX_BUF_RX_BYTE_SHIFT)) & EMVSIM_RX_BUF_RX_BYTE_MASK) 4572 /*! @} */ 4573 4574 /*! @name TX_BUF - Transmit Data Buffer */ 4575 /*! @{ */ 4576 #define EMVSIM_TX_BUF_TX_BYTE_MASK (0xFFU) 4577 #define EMVSIM_TX_BUF_TX_BYTE_SHIFT (0U) 4578 #define EMVSIM_TX_BUF_TX_BYTE(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_BUF_TX_BYTE_SHIFT)) & EMVSIM_TX_BUF_TX_BYTE_MASK) 4579 /*! @} */ 4580 4581 /*! @name TX_GETU - Transmitter Guard ETU Value Register */ 4582 /*! @{ */ 4583 #define EMVSIM_TX_GETU_GETU_MASK (0xFFU) 4584 #define EMVSIM_TX_GETU_GETU_SHIFT (0U) 4585 /*! GETU - Transmitter Guard Time Value in ETU 4586 * 0b00000000..no additional ETUs inserted (default) 4587 * 0b00000001..1 additional ETU inserted 4588 * 0b11111110..254 additional ETUs inserted 4589 * 0b11111111..Subtracts one ETU by reducing the number of STOP bits from two to one 4590 */ 4591 #define EMVSIM_TX_GETU_GETU(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_TX_GETU_GETU_SHIFT)) & EMVSIM_TX_GETU_GETU_MASK) 4592 /*! @} */ 4593 4594 /*! @name CWT_VAL - Character Wait Time Value Register */ 4595 /*! @{ */ 4596 #define EMVSIM_CWT_VAL_CWT_MASK (0xFFFFU) 4597 #define EMVSIM_CWT_VAL_CWT_SHIFT (0U) 4598 #define EMVSIM_CWT_VAL_CWT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_CWT_VAL_CWT_SHIFT)) & EMVSIM_CWT_VAL_CWT_MASK) 4599 /*! @} */ 4600 4601 /*! @name BWT_VAL - Block Wait Time Value Register */ 4602 /*! @{ */ 4603 #define EMVSIM_BWT_VAL_BWT_MASK (0xFFFFFFFFU) 4604 #define EMVSIM_BWT_VAL_BWT_SHIFT (0U) 4605 #define EMVSIM_BWT_VAL_BWT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_BWT_VAL_BWT_SHIFT)) & EMVSIM_BWT_VAL_BWT_MASK) 4606 /*! @} */ 4607 4608 /*! @name BGT_VAL - Block Guard Time Value Register */ 4609 /*! @{ */ 4610 #define EMVSIM_BGT_VAL_BGT_MASK (0xFFFFU) 4611 #define EMVSIM_BGT_VAL_BGT_SHIFT (0U) 4612 #define EMVSIM_BGT_VAL_BGT(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_BGT_VAL_BGT_SHIFT)) & EMVSIM_BGT_VAL_BGT_MASK) 4613 /*! @} */ 4614 4615 /*! @name GPCNT0_VAL - General Purpose Counter 0 Timeout Value Register */ 4616 /*! @{ */ 4617 #define EMVSIM_GPCNT0_VAL_GPCNT0_MASK (0xFFFFU) 4618 #define EMVSIM_GPCNT0_VAL_GPCNT0_SHIFT (0U) 4619 #define EMVSIM_GPCNT0_VAL_GPCNT0(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_GPCNT0_VAL_GPCNT0_SHIFT)) & EMVSIM_GPCNT0_VAL_GPCNT0_MASK) 4620 /*! @} */ 4621 4622 /*! @name GPCNT1_VAL - General Purpose Counter 1 Timeout Value */ 4623 /*! @{ */ 4624 #define EMVSIM_GPCNT1_VAL_GPCNT1_MASK (0xFFFFU) 4625 #define EMVSIM_GPCNT1_VAL_GPCNT1_SHIFT (0U) 4626 #define EMVSIM_GPCNT1_VAL_GPCNT1(x) (((uint32_t)(((uint32_t)(x)) << EMVSIM_GPCNT1_VAL_GPCNT1_SHIFT)) & EMVSIM_GPCNT1_VAL_GPCNT1_MASK) 4627 /*! @} */ 4628 4629 4630 /*! 4631 * @} 4632 */ /* end of group EMVSIM_Register_Masks */ 4633 4634 4635 /* EMVSIM - Peripheral instance base addresses */ 4636 /** Peripheral EMVSIM0 base address */ 4637 #define EMVSIM0_BASE (0x40038000u) 4638 /** Peripheral EMVSIM0 base pointer */ 4639 #define EMVSIM0 ((EMVSIM_Type *)EMVSIM0_BASE) 4640 /** Array initializer of EMVSIM peripheral base addresses */ 4641 #define EMVSIM_BASE_ADDRS { EMVSIM0_BASE } 4642 /** Array initializer of EMVSIM peripheral base pointers */ 4643 #define EMVSIM_BASE_PTRS { EMVSIM0 } 4644 /** Interrupt vectors for the EMVSIM peripheral type */ 4645 #define EMVSIM_IRQS { EMVSIM0_IRQn } 4646 4647 /*! 4648 * @} 4649 */ /* end of group EMVSIM_Peripheral_Access_Layer */ 4650 4651 4652 /* ---------------------------------------------------------------------------- 4653 -- EVENT Peripheral Access Layer 4654 ---------------------------------------------------------------------------- */ 4655 4656 /*! 4657 * @addtogroup EVENT_Peripheral_Access_Layer EVENT Peripheral Access Layer 4658 * @{ 4659 */ 4660 4661 /** EVENT - Register Layout Typedef */ 4662 typedef struct { 4663 __IO uint32_t INTPTEN; /**< Interrupt Enable Register, offset: 0x0 */ 4664 __IO uint32_t INTPTPEND; /**< Interrupt Pengding Register, offset: 0x4 */ 4665 __IO uint32_t INTPTPENDSET; /**< Set Interrupt Pengding Register, offset: 0x8 */ 4666 __IO uint32_t INTPTPENDCLEAR; /**< Clear Interrupt Pengding Register, offset: 0xC */ 4667 __IO uint32_t INTPTSECURE; /**< Interrupt Secure Register, offset: 0x10 */ 4668 __IO uint32_t INTPTPRI[4]; /**< Interrupt Priority 0 Register..Interrupt Priority 3 Register, array offset: 0x14, array step: 0x4 */ 4669 __IO uint32_t INTPRIBASE; /**< Interrupt Priority Base, offset: 0x24 */ 4670 __I uint32_t INTPTENACTIVE; /**< Interrupt Active Register, offset: 0x28 */ 4671 __I uint32_t INTACTPRI[4]; /**< Interrupt Active Priority 0 Register..Interrupt Active Priority 3 Register, array offset: 0x2C, array step: 0x4 */ 4672 uint8_t RESERVED_0[4]; 4673 __IO uint32_t EVENTEN; /**< Event Enable Register, offset: 0x40 */ 4674 __IO uint32_t EVENTPEND; /**< Event Pengding Register, offset: 0x44 */ 4675 __IO uint32_t EVTPENDSET; /**< Set Event Pengding Register, offset: 0x48 */ 4676 __IO uint32_t EVTPENDCLEAR; /**< Clear Event Pengding Register, offset: 0x4C */ 4677 uint8_t RESERVED_1[48]; 4678 __IO uint32_t SLPCTRL; /**< Sleep Control Register, offset: 0x80 */ 4679 __IO uint32_t SLPSTATUS; /**< Sleep Status Register, offset: 0x84 */ 4680 } EVENT_Type; 4681 4682 /* ---------------------------------------------------------------------------- 4683 -- EVENT Register Masks 4684 ---------------------------------------------------------------------------- */ 4685 4686 /*! 4687 * @addtogroup EVENT_Register_Masks EVENT Register Masks 4688 * @{ 4689 */ 4690 4691 /*! @name INTPTEN - Interrupt Enable Register */ 4692 /*! @{ */ 4693 #define EVENT_INTPTEN_IEN_MASK (0xFFFFFFFFU) 4694 #define EVENT_INTPTEN_IEN_SHIFT (0U) 4695 /*! IEN - Interrupt n Enable 4696 * 0b00000000000000000000000000000000..Interrupt n is disabled. 4697 * 0b00000000000000000000000000000001..Interrupt n is enabled. 4698 */ 4699 #define EVENT_INTPTEN_IEN(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTEN_IEN_SHIFT)) & EVENT_INTPTEN_IEN_MASK) 4700 /*! @} */ 4701 4702 /*! @name INTPTPEND - Interrupt Pengding Register */ 4703 /*! @{ */ 4704 #define EVENT_INTPTPEND_IPEND_MASK (0xFFFFFFFFU) 4705 #define EVENT_INTPTPEND_IPEND_SHIFT (0U) 4706 /*! IPEND - Interrupt n Pending 4707 * 0b00000000000000000000000000000000..Interrupt n is not pending. 4708 * 0b00000000000000000000000000000001..Interrupt n is pending. 4709 */ 4710 #define EVENT_INTPTPEND_IPEND(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPEND_IPEND_SHIFT)) & EVENT_INTPTPEND_IPEND_MASK) 4711 /*! @} */ 4712 4713 /*! @name INTPTPENDSET - Set Interrupt Pengding Register */ 4714 /*! @{ */ 4715 #define EVENT_INTPTPENDSET_IPENDSET_MASK (0xFFFFFFFFU) 4716 #define EVENT_INTPTPENDSET_IPENDSET_SHIFT (0U) 4717 /*! IPENDSET - Set Interrupt n Pending 4718 * 0b00000000000000000000000000000000..Not set interrupt n in pending status 4719 * 0b00000000000000000000000000000001..Set interrupt n in pending status. 4720 */ 4721 #define EVENT_INTPTPENDSET_IPENDSET(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPENDSET_IPENDSET_SHIFT)) & EVENT_INTPTPENDSET_IPENDSET_MASK) 4722 /*! @} */ 4723 4724 /*! @name INTPTPENDCLEAR - Clear Interrupt Pengding Register */ 4725 /*! @{ */ 4726 #define EVENT_INTPTPENDCLEAR_IPENDCLEAR_MASK (0xFFFFFFFFU) 4727 #define EVENT_INTPTPENDCLEAR_IPENDCLEAR_SHIFT (0U) 4728 /*! IPENDCLEAR - Clear Interrupt n out of Pending 4729 * 0b00000000000000000000000000000000..Not clear interrupt n out of pending status 4730 * 0b00000000000000000000000000000001..Clear interrupt n out of pending status. 4731 */ 4732 #define EVENT_INTPTPENDCLEAR_IPENDCLEAR(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPENDCLEAR_IPENDCLEAR_SHIFT)) & EVENT_INTPTPENDCLEAR_IPENDCLEAR_MASK) 4733 /*! @} */ 4734 4735 /*! @name INTPTSECURE - Interrupt Secure Register */ 4736 /*! @{ */ 4737 #define EVENT_INTPTSECURE_ISECURE_MASK (0xFFFFFFFFU) 4738 #define EVENT_INTPTSECURE_ISECURE_SHIFT (0U) 4739 /*! ISECURE - Set secure feature of Interrupt n 4740 * 0b00000000000000000000000000000000..Set interrupt n out of security 4741 * 0b00000000000000000000000000000001..Set interrupt n in secruity. 4742 */ 4743 #define EVENT_INTPTSECURE_ISECURE(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTSECURE_ISECURE_SHIFT)) & EVENT_INTPTSECURE_ISECURE_MASK) 4744 /*! @} */ 4745 4746 /*! @name INTPTPRI - Interrupt Priority 0 Register..Interrupt Priority 3 Register */ 4747 /*! @{ */ 4748 #define EVENT_INTPTPRI_IPRI0_MASK (0x7U) 4749 #define EVENT_INTPTPRI_IPRI0_SHIFT (0U) 4750 #define EVENT_INTPTPRI_IPRI0(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI0_SHIFT)) & EVENT_INTPTPRI_IPRI0_MASK) 4751 #define EVENT_INTPTPRI_IPRI8_MASK (0x7U) 4752 #define EVENT_INTPTPRI_IPRI8_SHIFT (0U) 4753 #define EVENT_INTPTPRI_IPRI8(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI8_SHIFT)) & EVENT_INTPTPRI_IPRI8_MASK) 4754 #define EVENT_INTPTPRI_IPRI16_MASK (0x7U) 4755 #define EVENT_INTPTPRI_IPRI16_SHIFT (0U) 4756 #define EVENT_INTPTPRI_IPRI16(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI16_SHIFT)) & EVENT_INTPTPRI_IPRI16_MASK) 4757 #define EVENT_INTPTPRI_IPRI24_MASK (0x7U) 4758 #define EVENT_INTPTPRI_IPRI24_SHIFT (0U) 4759 #define EVENT_INTPTPRI_IPRI24(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI24_SHIFT)) & EVENT_INTPTPRI_IPRI24_MASK) 4760 #define EVENT_INTPTPRI_IPRI1_MASK (0x70U) 4761 #define EVENT_INTPTPRI_IPRI1_SHIFT (4U) 4762 #define EVENT_INTPTPRI_IPRI1(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI1_SHIFT)) & EVENT_INTPTPRI_IPRI1_MASK) 4763 #define EVENT_INTPTPRI_IPRI9_MASK (0x70U) 4764 #define EVENT_INTPTPRI_IPRI9_SHIFT (4U) 4765 #define EVENT_INTPTPRI_IPRI9(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI9_SHIFT)) & EVENT_INTPTPRI_IPRI9_MASK) 4766 #define EVENT_INTPTPRI_IPRI17_MASK (0x70U) 4767 #define EVENT_INTPTPRI_IPRI17_SHIFT (4U) 4768 #define EVENT_INTPTPRI_IPRI17(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI17_SHIFT)) & EVENT_INTPTPRI_IPRI17_MASK) 4769 #define EVENT_INTPTPRI_IPRI25_MASK (0x70U) 4770 #define EVENT_INTPTPRI_IPRI25_SHIFT (4U) 4771 #define EVENT_INTPTPRI_IPRI25(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI25_SHIFT)) & EVENT_INTPTPRI_IPRI25_MASK) 4772 #define EVENT_INTPTPRI_IPRI2_MASK (0x700U) 4773 #define EVENT_INTPTPRI_IPRI2_SHIFT (8U) 4774 #define EVENT_INTPTPRI_IPRI2(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI2_SHIFT)) & EVENT_INTPTPRI_IPRI2_MASK) 4775 #define EVENT_INTPTPRI_IPRI10_MASK (0x700U) 4776 #define EVENT_INTPTPRI_IPRI10_SHIFT (8U) 4777 #define EVENT_INTPTPRI_IPRI10(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI10_SHIFT)) & EVENT_INTPTPRI_IPRI10_MASK) 4778 #define EVENT_INTPTPRI_IPRI18_MASK (0x700U) 4779 #define EVENT_INTPTPRI_IPRI18_SHIFT (8U) 4780 #define EVENT_INTPTPRI_IPRI18(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI18_SHIFT)) & EVENT_INTPTPRI_IPRI18_MASK) 4781 #define EVENT_INTPTPRI_IPRI26_MASK (0x700U) 4782 #define EVENT_INTPTPRI_IPRI26_SHIFT (8U) 4783 #define EVENT_INTPTPRI_IPRI26(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI26_SHIFT)) & EVENT_INTPTPRI_IPRI26_MASK) 4784 #define EVENT_INTPTPRI_IPRI3_MASK (0x7000U) 4785 #define EVENT_INTPTPRI_IPRI3_SHIFT (12U) 4786 #define EVENT_INTPTPRI_IPRI3(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI3_SHIFT)) & EVENT_INTPTPRI_IPRI3_MASK) 4787 #define EVENT_INTPTPRI_IPRI11_MASK (0x7000U) 4788 #define EVENT_INTPTPRI_IPRI11_SHIFT (12U) 4789 #define EVENT_INTPTPRI_IPRI11(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI11_SHIFT)) & EVENT_INTPTPRI_IPRI11_MASK) 4790 #define EVENT_INTPTPRI_IPRI19_MASK (0x7000U) 4791 #define EVENT_INTPTPRI_IPRI19_SHIFT (12U) 4792 #define EVENT_INTPTPRI_IPRI19(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI19_SHIFT)) & EVENT_INTPTPRI_IPRI19_MASK) 4793 #define EVENT_INTPTPRI_IPRI27_MASK (0x7000U) 4794 #define EVENT_INTPTPRI_IPRI27_SHIFT (12U) 4795 #define EVENT_INTPTPRI_IPRI27(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI27_SHIFT)) & EVENT_INTPTPRI_IPRI27_MASK) 4796 #define EVENT_INTPTPRI_IPRI4_MASK (0x70000U) 4797 #define EVENT_INTPTPRI_IPRI4_SHIFT (16U) 4798 #define EVENT_INTPTPRI_IPRI4(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI4_SHIFT)) & EVENT_INTPTPRI_IPRI4_MASK) 4799 #define EVENT_INTPTPRI_IPRI12_MASK (0x70000U) 4800 #define EVENT_INTPTPRI_IPRI12_SHIFT (16U) 4801 #define EVENT_INTPTPRI_IPRI12(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI12_SHIFT)) & EVENT_INTPTPRI_IPRI12_MASK) 4802 #define EVENT_INTPTPRI_IPRI20_MASK (0x70000U) 4803 #define EVENT_INTPTPRI_IPRI20_SHIFT (16U) 4804 #define EVENT_INTPTPRI_IPRI20(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI20_SHIFT)) & EVENT_INTPTPRI_IPRI20_MASK) 4805 #define EVENT_INTPTPRI_IPRI28_MASK (0x70000U) 4806 #define EVENT_INTPTPRI_IPRI28_SHIFT (16U) 4807 #define EVENT_INTPTPRI_IPRI28(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI28_SHIFT)) & EVENT_INTPTPRI_IPRI28_MASK) 4808 #define EVENT_INTPTPRI_IPRI5_MASK (0x700000U) 4809 #define EVENT_INTPTPRI_IPRI5_SHIFT (20U) 4810 #define EVENT_INTPTPRI_IPRI5(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI5_SHIFT)) & EVENT_INTPTPRI_IPRI5_MASK) 4811 #define EVENT_INTPTPRI_IPRI13_MASK (0x700000U) 4812 #define EVENT_INTPTPRI_IPRI13_SHIFT (20U) 4813 #define EVENT_INTPTPRI_IPRI13(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI13_SHIFT)) & EVENT_INTPTPRI_IPRI13_MASK) 4814 #define EVENT_INTPTPRI_IPRI21_MASK (0x700000U) 4815 #define EVENT_INTPTPRI_IPRI21_SHIFT (20U) 4816 #define EVENT_INTPTPRI_IPRI21(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI21_SHIFT)) & EVENT_INTPTPRI_IPRI21_MASK) 4817 #define EVENT_INTPTPRI_IPRI29_MASK (0x700000U) 4818 #define EVENT_INTPTPRI_IPRI29_SHIFT (20U) 4819 #define EVENT_INTPTPRI_IPRI29(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI29_SHIFT)) & EVENT_INTPTPRI_IPRI29_MASK) 4820 #define EVENT_INTPTPRI_IPRI6_MASK (0x7000000U) 4821 #define EVENT_INTPTPRI_IPRI6_SHIFT (24U) 4822 #define EVENT_INTPTPRI_IPRI6(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI6_SHIFT)) & EVENT_INTPTPRI_IPRI6_MASK) 4823 #define EVENT_INTPTPRI_IPRI14_MASK (0x7000000U) 4824 #define EVENT_INTPTPRI_IPRI14_SHIFT (24U) 4825 #define EVENT_INTPTPRI_IPRI14(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI14_SHIFT)) & EVENT_INTPTPRI_IPRI14_MASK) 4826 #define EVENT_INTPTPRI_IPRI22_MASK (0x7000000U) 4827 #define EVENT_INTPTPRI_IPRI22_SHIFT (24U) 4828 #define EVENT_INTPTPRI_IPRI22(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI22_SHIFT)) & EVENT_INTPTPRI_IPRI22_MASK) 4829 #define EVENT_INTPTPRI_IPRI30_MASK (0x7000000U) 4830 #define EVENT_INTPTPRI_IPRI30_SHIFT (24U) 4831 #define EVENT_INTPTPRI_IPRI30(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI30_SHIFT)) & EVENT_INTPTPRI_IPRI30_MASK) 4832 #define EVENT_INTPTPRI_IPRI7_MASK (0x70000000U) 4833 #define EVENT_INTPTPRI_IPRI7_SHIFT (28U) 4834 #define EVENT_INTPTPRI_IPRI7(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI7_SHIFT)) & EVENT_INTPTPRI_IPRI7_MASK) 4835 #define EVENT_INTPTPRI_IPRI15_MASK (0x70000000U) 4836 #define EVENT_INTPTPRI_IPRI15_SHIFT (28U) 4837 #define EVENT_INTPTPRI_IPRI15(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI15_SHIFT)) & EVENT_INTPTPRI_IPRI15_MASK) 4838 #define EVENT_INTPTPRI_IPRI23_MASK (0x70000000U) 4839 #define EVENT_INTPTPRI_IPRI23_SHIFT (28U) 4840 #define EVENT_INTPTPRI_IPRI23(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI23_SHIFT)) & EVENT_INTPTPRI_IPRI23_MASK) 4841 #define EVENT_INTPTPRI_IPRI31_MASK (0x70000000U) 4842 #define EVENT_INTPTPRI_IPRI31_SHIFT (28U) 4843 #define EVENT_INTPTPRI_IPRI31(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTPRI_IPRI31_SHIFT)) & EVENT_INTPTPRI_IPRI31_MASK) 4844 /*! @} */ 4845 4846 /* The count of EVENT_INTPTPRI */ 4847 #define EVENT_INTPTPRI_COUNT (4U) 4848 4849 /*! @name INTPRIBASE - Interrupt Priority Base */ 4850 /*! @{ */ 4851 #define EVENT_INTPRIBASE_IPBASE_MASK (0xFU) 4852 #define EVENT_INTPRIBASE_IPBASE_SHIFT (0U) 4853 #define EVENT_INTPRIBASE_IPBASE(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPRIBASE_IPBASE_SHIFT)) & EVENT_INTPRIBASE_IPBASE_MASK) 4854 /*! @} */ 4855 4856 /*! @name INTPTENACTIVE - Interrupt Active Register */ 4857 /*! @{ */ 4858 #define EVENT_INTPTENACTIVE_IACTIVE_MASK (0xFFFFFFFFU) 4859 #define EVENT_INTPTENACTIVE_IACTIVE_SHIFT (0U) 4860 /*! IACTIVE - Interrupt n Enable 4861 * 0b00000000000000000000000000000000..Interrupt n is not active. 4862 * 0b00000000000000000000000000000001..Interrupt n is active.. 4863 */ 4864 #define EVENT_INTPTENACTIVE_IACTIVE(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTPTENACTIVE_IACTIVE_SHIFT)) & EVENT_INTPTENACTIVE_IACTIVE_MASK) 4865 /*! @} */ 4866 4867 /*! @name INTACTPRI - Interrupt Active Priority 0 Register..Interrupt Active Priority 3 Register */ 4868 /*! @{ */ 4869 #define EVENT_INTACTPRI_IAPRI0_MASK (0x7U) 4870 #define EVENT_INTACTPRI_IAPRI0_SHIFT (0U) 4871 #define EVENT_INTACTPRI_IAPRI0(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI0_SHIFT)) & EVENT_INTACTPRI_IAPRI0_MASK) 4872 #define EVENT_INTACTPRI_IAPRI8_MASK (0x7U) 4873 #define EVENT_INTACTPRI_IAPRI8_SHIFT (0U) 4874 #define EVENT_INTACTPRI_IAPRI8(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI8_SHIFT)) & EVENT_INTACTPRI_IAPRI8_MASK) 4875 #define EVENT_INTACTPRI_IAPRI16_MASK (0x7U) 4876 #define EVENT_INTACTPRI_IAPRI16_SHIFT (0U) 4877 #define EVENT_INTACTPRI_IAPRI16(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI16_SHIFT)) & EVENT_INTACTPRI_IAPRI16_MASK) 4878 #define EVENT_INTACTPRI_IAPRI24_MASK (0x7U) 4879 #define EVENT_INTACTPRI_IAPRI24_SHIFT (0U) 4880 #define EVENT_INTACTPRI_IAPRI24(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI24_SHIFT)) & EVENT_INTACTPRI_IAPRI24_MASK) 4881 #define EVENT_INTACTPRI_IAPRI1_MASK (0x70U) 4882 #define EVENT_INTACTPRI_IAPRI1_SHIFT (4U) 4883 #define EVENT_INTACTPRI_IAPRI1(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI1_SHIFT)) & EVENT_INTACTPRI_IAPRI1_MASK) 4884 #define EVENT_INTACTPRI_IAPRI9_MASK (0x70U) 4885 #define EVENT_INTACTPRI_IAPRI9_SHIFT (4U) 4886 #define EVENT_INTACTPRI_IAPRI9(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI9_SHIFT)) & EVENT_INTACTPRI_IAPRI9_MASK) 4887 #define EVENT_INTACTPRI_IAPRI17_MASK (0x70U) 4888 #define EVENT_INTACTPRI_IAPRI17_SHIFT (4U) 4889 #define EVENT_INTACTPRI_IAPRI17(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI17_SHIFT)) & EVENT_INTACTPRI_IAPRI17_MASK) 4890 #define EVENT_INTACTPRI_IAPRI25_MASK (0x70U) 4891 #define EVENT_INTACTPRI_IAPRI25_SHIFT (4U) 4892 #define EVENT_INTACTPRI_IAPRI25(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI25_SHIFT)) & EVENT_INTACTPRI_IAPRI25_MASK) 4893 #define EVENT_INTACTPRI_IAPRI2_MASK (0x700U) 4894 #define EVENT_INTACTPRI_IAPRI2_SHIFT (8U) 4895 #define EVENT_INTACTPRI_IAPRI2(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI2_SHIFT)) & EVENT_INTACTPRI_IAPRI2_MASK) 4896 #define EVENT_INTACTPRI_IAPRI10_MASK (0x700U) 4897 #define EVENT_INTACTPRI_IAPRI10_SHIFT (8U) 4898 #define EVENT_INTACTPRI_IAPRI10(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI10_SHIFT)) & EVENT_INTACTPRI_IAPRI10_MASK) 4899 #define EVENT_INTACTPRI_IAPRI18_MASK (0x700U) 4900 #define EVENT_INTACTPRI_IAPRI18_SHIFT (8U) 4901 #define EVENT_INTACTPRI_IAPRI18(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI18_SHIFT)) & EVENT_INTACTPRI_IAPRI18_MASK) 4902 #define EVENT_INTACTPRI_IAPRI26_MASK (0x700U) 4903 #define EVENT_INTACTPRI_IAPRI26_SHIFT (8U) 4904 #define EVENT_INTACTPRI_IAPRI26(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI26_SHIFT)) & EVENT_INTACTPRI_IAPRI26_MASK) 4905 #define EVENT_INTACTPRI_IAPRI3_MASK (0x7000U) 4906 #define EVENT_INTACTPRI_IAPRI3_SHIFT (12U) 4907 #define EVENT_INTACTPRI_IAPRI3(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI3_SHIFT)) & EVENT_INTACTPRI_IAPRI3_MASK) 4908 #define EVENT_INTACTPRI_IAPRI11_MASK (0x7000U) 4909 #define EVENT_INTACTPRI_IAPRI11_SHIFT (12U) 4910 #define EVENT_INTACTPRI_IAPRI11(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI11_SHIFT)) & EVENT_INTACTPRI_IAPRI11_MASK) 4911 #define EVENT_INTACTPRI_IAPRI19_MASK (0x7000U) 4912 #define EVENT_INTACTPRI_IAPRI19_SHIFT (12U) 4913 #define EVENT_INTACTPRI_IAPRI19(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI19_SHIFT)) & EVENT_INTACTPRI_IAPRI19_MASK) 4914 #define EVENT_INTACTPRI_IAPRI27_MASK (0x7000U) 4915 #define EVENT_INTACTPRI_IAPRI27_SHIFT (12U) 4916 #define EVENT_INTACTPRI_IAPRI27(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI27_SHIFT)) & EVENT_INTACTPRI_IAPRI27_MASK) 4917 #define EVENT_INTACTPRI_IAPRI4_MASK (0x70000U) 4918 #define EVENT_INTACTPRI_IAPRI4_SHIFT (16U) 4919 #define EVENT_INTACTPRI_IAPRI4(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI4_SHIFT)) & EVENT_INTACTPRI_IAPRI4_MASK) 4920 #define EVENT_INTACTPRI_IAPRI12_MASK (0x70000U) 4921 #define EVENT_INTACTPRI_IAPRI12_SHIFT (16U) 4922 #define EVENT_INTACTPRI_IAPRI12(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI12_SHIFT)) & EVENT_INTACTPRI_IAPRI12_MASK) 4923 #define EVENT_INTACTPRI_IAPRI20_MASK (0x70000U) 4924 #define EVENT_INTACTPRI_IAPRI20_SHIFT (16U) 4925 #define EVENT_INTACTPRI_IAPRI20(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI20_SHIFT)) & EVENT_INTACTPRI_IAPRI20_MASK) 4926 #define EVENT_INTACTPRI_IAPRI28_MASK (0x70000U) 4927 #define EVENT_INTACTPRI_IAPRI28_SHIFT (16U) 4928 #define EVENT_INTACTPRI_IAPRI28(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI28_SHIFT)) & EVENT_INTACTPRI_IAPRI28_MASK) 4929 #define EVENT_INTACTPRI_IAPRI5_MASK (0x700000U) 4930 #define EVENT_INTACTPRI_IAPRI5_SHIFT (20U) 4931 #define EVENT_INTACTPRI_IAPRI5(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI5_SHIFT)) & EVENT_INTACTPRI_IAPRI5_MASK) 4932 #define EVENT_INTACTPRI_IAPRI13_MASK (0x700000U) 4933 #define EVENT_INTACTPRI_IAPRI13_SHIFT (20U) 4934 #define EVENT_INTACTPRI_IAPRI13(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI13_SHIFT)) & EVENT_INTACTPRI_IAPRI13_MASK) 4935 #define EVENT_INTACTPRI_IAPRI21_MASK (0x700000U) 4936 #define EVENT_INTACTPRI_IAPRI21_SHIFT (20U) 4937 #define EVENT_INTACTPRI_IAPRI21(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI21_SHIFT)) & EVENT_INTACTPRI_IAPRI21_MASK) 4938 #define EVENT_INTACTPRI_IAPRI29_MASK (0x700000U) 4939 #define EVENT_INTACTPRI_IAPRI29_SHIFT (20U) 4940 #define EVENT_INTACTPRI_IAPRI29(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI29_SHIFT)) & EVENT_INTACTPRI_IAPRI29_MASK) 4941 #define EVENT_INTACTPRI_IAPRI6_MASK (0x7000000U) 4942 #define EVENT_INTACTPRI_IAPRI6_SHIFT (24U) 4943 #define EVENT_INTACTPRI_IAPRI6(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI6_SHIFT)) & EVENT_INTACTPRI_IAPRI6_MASK) 4944 #define EVENT_INTACTPRI_IAPRI14_MASK (0x7000000U) 4945 #define EVENT_INTACTPRI_IAPRI14_SHIFT (24U) 4946 #define EVENT_INTACTPRI_IAPRI14(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI14_SHIFT)) & EVENT_INTACTPRI_IAPRI14_MASK) 4947 #define EVENT_INTACTPRI_IAPRI22_MASK (0x7000000U) 4948 #define EVENT_INTACTPRI_IAPRI22_SHIFT (24U) 4949 #define EVENT_INTACTPRI_IAPRI22(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI22_SHIFT)) & EVENT_INTACTPRI_IAPRI22_MASK) 4950 #define EVENT_INTACTPRI_IAPRI30_MASK (0x7000000U) 4951 #define EVENT_INTACTPRI_IAPRI30_SHIFT (24U) 4952 #define EVENT_INTACTPRI_IAPRI30(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI30_SHIFT)) & EVENT_INTACTPRI_IAPRI30_MASK) 4953 #define EVENT_INTACTPRI_IAPRI7_MASK (0x70000000U) 4954 #define EVENT_INTACTPRI_IAPRI7_SHIFT (28U) 4955 #define EVENT_INTACTPRI_IAPRI7(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI7_SHIFT)) & EVENT_INTACTPRI_IAPRI7_MASK) 4956 #define EVENT_INTACTPRI_IAPRI15_MASK (0x70000000U) 4957 #define EVENT_INTACTPRI_IAPRI15_SHIFT (28U) 4958 #define EVENT_INTACTPRI_IAPRI15(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI15_SHIFT)) & EVENT_INTACTPRI_IAPRI15_MASK) 4959 #define EVENT_INTACTPRI_IAPRI23_MASK (0x70000000U) 4960 #define EVENT_INTACTPRI_IAPRI23_SHIFT (28U) 4961 #define EVENT_INTACTPRI_IAPRI23(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI23_SHIFT)) & EVENT_INTACTPRI_IAPRI23_MASK) 4962 #define EVENT_INTACTPRI_IAPRI31_MASK (0x70000000U) 4963 #define EVENT_INTACTPRI_IAPRI31_SHIFT (28U) 4964 #define EVENT_INTACTPRI_IAPRI31(x) (((uint32_t)(((uint32_t)(x)) << EVENT_INTACTPRI_IAPRI31_SHIFT)) & EVENT_INTACTPRI_IAPRI31_MASK) 4965 /*! @} */ 4966 4967 /* The count of EVENT_INTACTPRI */ 4968 #define EVENT_INTACTPRI_COUNT (4U) 4969 4970 /*! @name EVENTEN - Event Enable Register */ 4971 /*! @{ */ 4972 #define EVENT_EVENTEN_EEN_MASK (0xFFFFFFFFU) 4973 #define EVENT_EVENTEN_EEN_SHIFT (0U) 4974 /*! EEN - Event n Enable 4975 * 0b00000000000000000000000000000000..Event n is disabled. 4976 * 0b00000000000000000000000000000001..Event n is enabled. 4977 */ 4978 #define EVENT_EVENTEN_EEN(x) (((uint32_t)(((uint32_t)(x)) << EVENT_EVENTEN_EEN_SHIFT)) & EVENT_EVENTEN_EEN_MASK) 4979 /*! @} */ 4980 4981 /*! @name EVENTPEND - Event Pengding Register */ 4982 /*! @{ */ 4983 #define EVENT_EVENTPEND_EPEND_MASK (0xFFFFFFFFU) 4984 #define EVENT_EVENTPEND_EPEND_SHIFT (0U) 4985 /*! EPEND - Event n Pending 4986 * 0b00000000000000000000000000000000..Event n is not pending. 4987 * 0b00000000000000000000000000000001..Event n is pending. 4988 */ 4989 #define EVENT_EVENTPEND_EPEND(x) (((uint32_t)(((uint32_t)(x)) << EVENT_EVENTPEND_EPEND_SHIFT)) & EVENT_EVENTPEND_EPEND_MASK) 4990 /*! @} */ 4991 4992 /*! @name EVTPENDSET - Set Event Pengding Register */ 4993 /*! @{ */ 4994 #define EVENT_EVTPENDSET_EPENDSET_MASK (0xFFFFFFFFU) 4995 #define EVENT_EVTPENDSET_EPENDSET_SHIFT (0U) 4996 /*! EPENDSET - Set Event n Pending 4997 * 0b00000000000000000000000000000000..Not set event n in pending status 4998 * 0b00000000000000000000000000000001..Set event n in pending status. 4999 */ 5000 #define EVENT_EVTPENDSET_EPENDSET(x) (((uint32_t)(((uint32_t)(x)) << EVENT_EVTPENDSET_EPENDSET_SHIFT)) & EVENT_EVTPENDSET_EPENDSET_MASK) 5001 /*! @} */ 5002 5003 /*! @name EVTPENDCLEAR - Clear Event Pengding Register */ 5004 /*! @{ */ 5005 #define EVENT_EVTPENDCLEAR_EPENDCLEAR_MASK (0xFFFFFFFFU) 5006 #define EVENT_EVTPENDCLEAR_EPENDCLEAR_SHIFT (0U) 5007 /*! EPENDCLEAR - Clear Event n out of Pending 5008 * 0b00000000000000000000000000000000..Not clear event n out of pending status 5009 * 0b00000000000000000000000000000001..Clear event n out of pending status. 5010 */ 5011 #define EVENT_EVTPENDCLEAR_EPENDCLEAR(x) (((uint32_t)(((uint32_t)(x)) << EVENT_EVTPENDCLEAR_EPENDCLEAR_SHIFT)) & EVENT_EVTPENDCLEAR_EPENDCLEAR_MASK) 5012 /*! @} */ 5013 5014 /*! @name SLPCTRL - Sleep Control Register */ 5015 /*! @{ */ 5016 #define EVENT_SLPCTRL_SLPCTRL_MASK (0x3U) 5017 #define EVENT_SLPCTRL_SLPCTRL_SHIFT (0U) 5018 /*! SLPCTRL - Sleep Mode Control 5019 * 0b01..Sleep enable 5020 * 0b10..Deep sleep enable 5021 */ 5022 #define EVENT_SLPCTRL_SLPCTRL(x) (((uint32_t)(((uint32_t)(x)) << EVENT_SLPCTRL_SLPCTRL_SHIFT)) & EVENT_SLPCTRL_SLPCTRL_MASK) 5023 #define EVENT_SLPCTRL_SYSRSTREQST_MASK (0x80000000U) 5024 #define EVENT_SLPCTRL_SYSRSTREQST_SHIFT (31U) 5025 /*! SYSRSTREQST - System Reset Request 5026 * 0b0..Do not send system reset request. 5027 * 0b1..Send system reset request 5028 */ 5029 #define EVENT_SLPCTRL_SYSRSTREQST(x) (((uint32_t)(((uint32_t)(x)) << EVENT_SLPCTRL_SYSRSTREQST_SHIFT)) & EVENT_SLPCTRL_SYSRSTREQST_MASK) 5030 /*! @} */ 5031 5032 /*! @name SLPSTATUS - Sleep Status Register */ 5033 /*! @{ */ 5034 #define EVENT_SLPSTATUS_SLPSTAT_MASK (0x3U) 5035 #define EVENT_SLPSTATUS_SLPSTAT_SHIFT (0U) 5036 /*! SLPSTAT - Sleep Status 5037 * 0b01..In sleep mode 5038 * 0b10..In deep sleep mode 5039 */ 5040 #define EVENT_SLPSTATUS_SLPSTAT(x) (((uint32_t)(((uint32_t)(x)) << EVENT_SLPSTATUS_SLPSTAT_SHIFT)) & EVENT_SLPSTATUS_SLPSTAT_MASK) 5041 /*! @} */ 5042 5043 5044 /*! 5045 * @} 5046 */ /* end of group EVENT_Register_Masks */ 5047 5048 5049 /* EVENT - Peripheral instance base addresses */ 5050 /** Peripheral EVENT1 base address */ 5051 #define EVENT1_BASE (0x4101F000u) 5052 /** Peripheral EVENT1 base pointer */ 5053 #define EVENT1 ((EVENT_Type *)EVENT1_BASE) 5054 /** Array initializer of EVENT peripheral base addresses */ 5055 #define EVENT_BASE_ADDRS { EVENT1_BASE } 5056 /** Array initializer of EVENT peripheral base pointers */ 5057 #define EVENT_BASE_PTRS { EVENT1 } 5058 5059 /*! 5060 * @} 5061 */ /* end of group EVENT_Peripheral_Access_Layer */ 5062 5063 5064 /* ---------------------------------------------------------------------------- 5065 -- EWM Peripheral Access Layer 5066 ---------------------------------------------------------------------------- */ 5067 5068 /*! 5069 * @addtogroup EWM_Peripheral_Access_Layer EWM Peripheral Access Layer 5070 * @{ 5071 */ 5072 5073 /** EWM - Register Layout Typedef */ 5074 typedef struct { 5075 __IO uint8_t CTRL; /**< Control Register, offset: 0x0 */ 5076 __O uint8_t SERV; /**< Service Register, offset: 0x1 */ 5077 __IO uint8_t CMPL; /**< Compare Low Register, offset: 0x2 */ 5078 __IO uint8_t CMPH; /**< Compare High Register, offset: 0x3 */ 5079 uint8_t RESERVED_0[1]; 5080 __IO uint8_t CLKPRESCALER; /**< Clock Prescaler Register, offset: 0x5 */ 5081 } EWM_Type; 5082 5083 /* ---------------------------------------------------------------------------- 5084 -- EWM Register Masks 5085 ---------------------------------------------------------------------------- */ 5086 5087 /*! 5088 * @addtogroup EWM_Register_Masks EWM Register Masks 5089 * @{ 5090 */ 5091 5092 /*! @name CTRL - Control Register */ 5093 /*! @{ */ 5094 #define EWM_CTRL_EWMEN_MASK (0x1U) 5095 #define EWM_CTRL_EWMEN_SHIFT (0U) 5096 #define EWM_CTRL_EWMEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_EWMEN_SHIFT)) & EWM_CTRL_EWMEN_MASK) 5097 #define EWM_CTRL_ASSIN_MASK (0x2U) 5098 #define EWM_CTRL_ASSIN_SHIFT (1U) 5099 #define EWM_CTRL_ASSIN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_ASSIN_SHIFT)) & EWM_CTRL_ASSIN_MASK) 5100 #define EWM_CTRL_INEN_MASK (0x4U) 5101 #define EWM_CTRL_INEN_SHIFT (2U) 5102 #define EWM_CTRL_INEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INEN_SHIFT)) & EWM_CTRL_INEN_MASK) 5103 #define EWM_CTRL_INTEN_MASK (0x8U) 5104 #define EWM_CTRL_INTEN_SHIFT (3U) 5105 #define EWM_CTRL_INTEN(x) (((uint8_t)(((uint8_t)(x)) << EWM_CTRL_INTEN_SHIFT)) & EWM_CTRL_INTEN_MASK) 5106 /*! @} */ 5107 5108 /*! @name SERV - Service Register */ 5109 /*! @{ */ 5110 #define EWM_SERV_SERVICE_MASK (0xFFU) 5111 #define EWM_SERV_SERVICE_SHIFT (0U) 5112 #define EWM_SERV_SERVICE(x) (((uint8_t)(((uint8_t)(x)) << EWM_SERV_SERVICE_SHIFT)) & EWM_SERV_SERVICE_MASK) 5113 /*! @} */ 5114 5115 /*! @name CMPL - Compare Low Register */ 5116 /*! @{ */ 5117 #define EWM_CMPL_COMPAREL_MASK (0xFFU) 5118 #define EWM_CMPL_COMPAREL_SHIFT (0U) 5119 #define EWM_CMPL_COMPAREL(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPL_COMPAREL_SHIFT)) & EWM_CMPL_COMPAREL_MASK) 5120 /*! @} */ 5121 5122 /*! @name CMPH - Compare High Register */ 5123 /*! @{ */ 5124 #define EWM_CMPH_COMPAREH_MASK (0xFFU) 5125 #define EWM_CMPH_COMPAREH_SHIFT (0U) 5126 #define EWM_CMPH_COMPAREH(x) (((uint8_t)(((uint8_t)(x)) << EWM_CMPH_COMPAREH_SHIFT)) & EWM_CMPH_COMPAREH_MASK) 5127 /*! @} */ 5128 5129 /*! @name CLKPRESCALER - Clock Prescaler Register */ 5130 /*! @{ */ 5131 #define EWM_CLKPRESCALER_CLK_DIV_MASK (0xFFU) 5132 #define EWM_CLKPRESCALER_CLK_DIV_SHIFT (0U) 5133 #define EWM_CLKPRESCALER_CLK_DIV(x) (((uint8_t)(((uint8_t)(x)) << EWM_CLKPRESCALER_CLK_DIV_SHIFT)) & EWM_CLKPRESCALER_CLK_DIV_MASK) 5134 /*! @} */ 5135 5136 5137 /*! 5138 * @} 5139 */ /* end of group EWM_Register_Masks */ 5140 5141 5142 /* EWM - Peripheral instance base addresses */ 5143 /** Peripheral EWM base address */ 5144 #define EWM_BASE (0x40022000u) 5145 /** Peripheral EWM base pointer */ 5146 #define EWM ((EWM_Type *)EWM_BASE) 5147 /** Array initializer of EWM peripheral base addresses */ 5148 #define EWM_BASE_ADDRS { EWM_BASE } 5149 /** Array initializer of EWM peripheral base pointers */ 5150 #define EWM_BASE_PTRS { EWM } 5151 /** Interrupt vectors for the EWM peripheral type */ 5152 #define EWM_IRQS { EWM_IRQn } 5153 5154 /*! 5155 * @} 5156 */ /* end of group EWM_Peripheral_Access_Layer */ 5157 5158 5159 /* ---------------------------------------------------------------------------- 5160 -- FB Peripheral Access Layer 5161 ---------------------------------------------------------------------------- */ 5162 5163 /*! 5164 * @addtogroup FB_Peripheral_Access_Layer FB Peripheral Access Layer 5165 * @{ 5166 */ 5167 5168 /** FB - Register Layout Typedef */ 5169 typedef struct { 5170 struct { /* offset: 0x0, array step: 0xC */ 5171 __IO uint32_t CSAR; /**< Chip Select Address Register, array offset: 0x0, array step: 0xC */ 5172 __IO uint32_t CSMR; /**< Chip Select Mask Register, array offset: 0x4, array step: 0xC */ 5173 __IO uint32_t CSCR; /**< Chip Select Control Register, array offset: 0x8, array step: 0xC */ 5174 } CS[6]; 5175 uint8_t RESERVED_0[24]; 5176 __IO uint32_t CSPMCR; /**< Chip Select Port Multiplexing Control Register, offset: 0x60 */ 5177 } FB_Type; 5178 5179 /* ---------------------------------------------------------------------------- 5180 -- FB Register Masks 5181 ---------------------------------------------------------------------------- */ 5182 5183 /*! 5184 * @addtogroup FB_Register_Masks FB Register Masks 5185 * @{ 5186 */ 5187 5188 /*! @name CSAR - Chip Select Address Register */ 5189 /*! @{ */ 5190 #define FB_CSAR_BA_MASK (0xFFFF0000U) 5191 #define FB_CSAR_BA_SHIFT (16U) 5192 #define FB_CSAR_BA(x) (((uint32_t)(((uint32_t)(x)) << FB_CSAR_BA_SHIFT)) & FB_CSAR_BA_MASK) 5193 /*! @} */ 5194 5195 /* The count of FB_CSAR */ 5196 #define FB_CSAR_COUNT (6U) 5197 5198 /*! @name CSMR - Chip Select Mask Register */ 5199 /*! @{ */ 5200 #define FB_CSMR_V_MASK (0x1U) 5201 #define FB_CSMR_V_SHIFT (0U) 5202 /*! V - Valid 5203 * 0b0..Chip-select is invalid. 5204 * 0b1..Chip-select is valid. 5205 */ 5206 #define FB_CSMR_V(x) (((uint32_t)(((uint32_t)(x)) << FB_CSMR_V_SHIFT)) & FB_CSMR_V_MASK) 5207 #define FB_CSMR_WP_MASK (0x100U) 5208 #define FB_CSMR_WP_SHIFT (8U) 5209 /*! WP - Write Protect 5210 * 0b0..Write accesses are allowed. 5211 * 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. 5212 */ 5213 #define FB_CSMR_WP(x) (((uint32_t)(((uint32_t)(x)) << FB_CSMR_WP_SHIFT)) & FB_CSMR_WP_MASK) 5214 #define FB_CSMR_BAM_MASK (0xFFFF0000U) 5215 #define FB_CSMR_BAM_SHIFT (16U) 5216 /*! BAM - Base Address Mask 5217 * 0b0000000000000000..The corresponding address bit in CSAR is used in the chip-select decode. 5218 * 0b0000000000000001..The corresponding address bit in CSAR is a don't care in the chip-select decode. 5219 */ 5220 #define FB_CSMR_BAM(x) (((uint32_t)(((uint32_t)(x)) << FB_CSMR_BAM_SHIFT)) & FB_CSMR_BAM_MASK) 5221 /*! @} */ 5222 5223 /* The count of FB_CSMR */ 5224 #define FB_CSMR_COUNT (6U) 5225 5226 /*! @name CSCR - Chip Select Control Register */ 5227 /*! @{ */ 5228 #define FB_CSCR_BSTW_MASK (0x8U) 5229 #define FB_CSCR_BSTW_SHIFT (3U) 5230 /*! BSTW - Burst-Write Enable 5231 * 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. 5232 * 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. 5233 */ 5234 #define FB_CSCR_BSTW(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_BSTW_SHIFT)) & FB_CSCR_BSTW_MASK) 5235 #define FB_CSCR_BSTR_MASK (0x10U) 5236 #define FB_CSCR_BSTR_SHIFT (4U) 5237 /*! BSTR - Burst-Read Enable 5238 * 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. 5239 * 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. 5240 */ 5241 #define FB_CSCR_BSTR(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_BSTR_SHIFT)) & FB_CSCR_BSTR_MASK) 5242 #define FB_CSCR_BEM_MASK (0x20U) 5243 #define FB_CSCR_BEM_SHIFT (5U) 5244 /*! BEM - Byte-Enable Mode 5245 * 0b0..FB_BE_B is asserted for data write only. 5246 * 0b1..FB_BE_B is asserted for data read and write accesses. 5247 */ 5248 #define FB_CSCR_BEM(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_BEM_SHIFT)) & FB_CSCR_BEM_MASK) 5249 #define FB_CSCR_PS_MASK (0xC0U) 5250 #define FB_CSCR_PS_SHIFT (6U) 5251 /*! PS - Port Size 5252 * 0b00..32-bit port size. Valid data is sampled and driven on FB_D[31:0]. 5253 * 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. 5254 * 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. 5255 */ 5256 #define FB_CSCR_PS(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_PS_SHIFT)) & FB_CSCR_PS_MASK) 5257 #define FB_CSCR_AA_MASK (0x100U) 5258 #define FB_CSCR_AA_SHIFT (8U) 5259 /*! AA - Auto-Acknowledge Enable 5260 * 0b0..Disabled. No internal transfer acknowledge is asserted and the cycle is terminated externally. 5261 * 0b1..Enabled. Internal transfer acknowledge is asserted as specified by WS. 5262 */ 5263 #define FB_CSCR_AA(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_AA_SHIFT)) & FB_CSCR_AA_MASK) 5264 #define FB_CSCR_BLS_MASK (0x200U) 5265 #define FB_CSCR_BLS_SHIFT (9U) 5266 /*! BLS - Byte-Lane Shift 5267 * 0b0..Not shifted. Data is left-aligned on FB_AD. 5268 * 0b1..Shifted. Data is right-aligned on FB_AD. 5269 */ 5270 #define FB_CSCR_BLS(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_BLS_SHIFT)) & FB_CSCR_BLS_MASK) 5271 #define FB_CSCR_WS_MASK (0xFC00U) 5272 #define FB_CSCR_WS_SHIFT (10U) 5273 #define FB_CSCR_WS(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_WS_SHIFT)) & FB_CSCR_WS_MASK) 5274 #define FB_CSCR_WRAH_MASK (0x30000U) 5275 #define FB_CSCR_WRAH_SHIFT (16U) 5276 /*! WRAH - Write Address Hold or Deselect 5277 * 0b00..1 cycle (default for all but FB_CS0_B) 5278 * 0b01..2 cycles 5279 * 0b10..3 cycles 5280 * 0b11..4 cycles (default for FB_CS0_B) 5281 */ 5282 #define FB_CSCR_WRAH(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_WRAH_SHIFT)) & FB_CSCR_WRAH_MASK) 5283 #define FB_CSCR_RDAH_MASK (0xC0000U) 5284 #define FB_CSCR_RDAH_SHIFT (18U) 5285 /*! RDAH - Read Address Hold or Deselect 5286 * 0b00..When AA is 1b, 1 cycle. When AA is 0b, 0 cycles. 5287 * 0b01..When AA is 1b, 2 cycles. When AA is 0b, 1 cycle. 5288 * 0b10..When AA is 1b, 3 cycles. When AA is 0b, 2 cycles. 5289 * 0b11..When AA is 1b, 4 cycles. When AA is 0b, 3 cycles. 5290 */ 5291 #define FB_CSCR_RDAH(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_RDAH_SHIFT)) & FB_CSCR_RDAH_MASK) 5292 #define FB_CSCR_ASET_MASK (0x300000U) 5293 #define FB_CSCR_ASET_SHIFT (20U) 5294 /*! ASET - Address Setup 5295 * 0b00..Assert FB_CSn_B on the first rising clock edge after the address is asserted (default for all but FB_CS0_B). 5296 * 0b01..Assert FB_CSn_B on the second rising clock edge after the address is asserted. 5297 * 0b10..Assert FB_CSn_B on the third rising clock edge after the address is asserted. 5298 * 0b11..Assert FB_CSn_B on the fourth rising clock edge after the address is asserted (default for FB_CS0_B ). 5299 */ 5300 #define FB_CSCR_ASET(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_ASET_SHIFT)) & FB_CSCR_ASET_MASK) 5301 #define FB_CSCR_EXTS_MASK (0x400000U) 5302 #define FB_CSCR_EXTS_SHIFT (22U) 5303 /*! EXTS - EXTS 5304 * 0b0..Disabled. FB_TS_B/FB_ALE asserts for one bus clock cycle. 5305 * 0b1..Enabled. FB_TS_B/FB_ALE remains asserted until the first positive clock edge after FB_CSn_B asserts. 5306 */ 5307 #define FB_CSCR_EXTS(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_EXTS_SHIFT)) & FB_CSCR_EXTS_MASK) 5308 #define FB_CSCR_SWSEN_MASK (0x800000U) 5309 #define FB_CSCR_SWSEN_SHIFT (23U) 5310 /*! SWSEN - Secondary Wait State Enable 5311 * 0b0..Disabled. A number of wait states (specified by WS) are inserted before an internal transfer acknowledge is generated for all transfers. 5312 * 0b1..Enabled. A number of wait states (specified by SWS) are inserted before an internal transfer acknowledge is generated for burst transfer secondary terminations. 5313 */ 5314 #define FB_CSCR_SWSEN(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_SWSEN_SHIFT)) & FB_CSCR_SWSEN_MASK) 5315 #define FB_CSCR_SWS_MASK (0xFC000000U) 5316 #define FB_CSCR_SWS_SHIFT (26U) 5317 #define FB_CSCR_SWS(x) (((uint32_t)(((uint32_t)(x)) << FB_CSCR_SWS_SHIFT)) & FB_CSCR_SWS_MASK) 5318 /*! @} */ 5319 5320 /* The count of FB_CSCR */ 5321 #define FB_CSCR_COUNT (6U) 5322 5323 /*! @name CSPMCR - Chip Select Port Multiplexing Control Register */ 5324 /*! @{ */ 5325 #define FB_CSPMCR_GROUP5_MASK (0xF000U) 5326 #define FB_CSPMCR_GROUP5_SHIFT (12U) 5327 /*! GROUP5 - FlexBus Signal Group 5 Multiplex control 5328 * 0b0000..FB_TA_B 5329 * 0b0001..FB_CS3_B. You must also write 1b to CSCR[AA]. 5330 * 0b0010..FB_BE_7_0_B. You must also write 1b to CSCR[AA]. 5331 */ 5332 #define FB_CSPMCR_GROUP5(x) (((uint32_t)(((uint32_t)(x)) << FB_CSPMCR_GROUP5_SHIFT)) & FB_CSPMCR_GROUP5_MASK) 5333 #define FB_CSPMCR_GROUP4_MASK (0xF0000U) 5334 #define FB_CSPMCR_GROUP4_SHIFT (16U) 5335 /*! GROUP4 - FlexBus Signal Group 4 Multiplex control 5336 * 0b0000..FB_TBST_B 5337 * 0b0001..FB_CS2_B 5338 * 0b0010..FB_BE_15_8_B 5339 */ 5340 #define FB_CSPMCR_GROUP4(x) (((uint32_t)(((uint32_t)(x)) << FB_CSPMCR_GROUP4_SHIFT)) & FB_CSPMCR_GROUP4_MASK) 5341 #define FB_CSPMCR_GROUP3_MASK (0xF00000U) 5342 #define FB_CSPMCR_GROUP3_SHIFT (20U) 5343 /*! GROUP3 - FlexBus Signal Group 3 Multiplex control 5344 * 0b0000..FB_CS5_B 5345 * 0b0001..FB_TSIZ1 5346 * 0b0010..FB_BE_23_16_B 5347 */ 5348 #define FB_CSPMCR_GROUP3(x) (((uint32_t)(((uint32_t)(x)) << FB_CSPMCR_GROUP3_SHIFT)) & FB_CSPMCR_GROUP3_MASK) 5349 #define FB_CSPMCR_GROUP2_MASK (0xF000000U) 5350 #define FB_CSPMCR_GROUP2_SHIFT (24U) 5351 /*! GROUP2 - FlexBus Signal Group 2 Multiplex control 5352 * 0b0000..FB_CS4_B 5353 * 0b0001..FB_TSIZ0 5354 * 0b0010..FB_BE_31_24_B 5355 */ 5356 #define FB_CSPMCR_GROUP2(x) (((uint32_t)(((uint32_t)(x)) << FB_CSPMCR_GROUP2_SHIFT)) & FB_CSPMCR_GROUP2_MASK) 5357 #define FB_CSPMCR_GROUP1_MASK (0xF0000000U) 5358 #define FB_CSPMCR_GROUP1_SHIFT (28U) 5359 /*! GROUP1 - FlexBus Signal Group 1 Multiplex control 5360 * 0b0000..FB_ALE 5361 * 0b0001..FB_CS1_B 5362 * 0b0010..FB_TS_B 5363 */ 5364 #define FB_CSPMCR_GROUP1(x) (((uint32_t)(((uint32_t)(x)) << FB_CSPMCR_GROUP1_SHIFT)) & FB_CSPMCR_GROUP1_MASK) 5365 /*! @} */ 5366 5367 5368 /*! 5369 * @} 5370 */ /* end of group FB_Register_Masks */ 5371 5372 5373 /* FB - Peripheral instance base addresses */ 5374 /** Peripheral FB base address */ 5375 #define FB_BASE (0x4000C000u) 5376 /** Peripheral FB base pointer */ 5377 #define FB ((FB_Type *)FB_BASE) 5378 /** Array initializer of FB peripheral base addresses */ 5379 #define FB_BASE_ADDRS { FB_BASE } 5380 /** Array initializer of FB peripheral base pointers */ 5381 #define FB_BASE_PTRS { FB } 5382 5383 /*! 5384 * @} 5385 */ /* end of group FB_Peripheral_Access_Layer */ 5386 5387 5388 /* ---------------------------------------------------------------------------- 5389 -- FGPIO Peripheral Access Layer 5390 ---------------------------------------------------------------------------- */ 5391 5392 /*! 5393 * @addtogroup FGPIO_Peripheral_Access_Layer FGPIO Peripheral Access Layer 5394 * @{ 5395 */ 5396 5397 /** FGPIO - Register Layout Typedef */ 5398 typedef struct { 5399 __IO uint32_t PDOR; /**< Port Data Output Register, offset: 0x0 */ 5400 __O uint32_t PSOR; /**< Port Set Output Register, offset: 0x4 */ 5401 __O uint32_t PCOR; /**< Port Clear Output Register, offset: 0x8 */ 5402 __O uint32_t PTOR; /**< Port Toggle Output Register, offset: 0xC */ 5403 __I uint32_t PDIR; /**< Port Data Input Register, offset: 0x10 */ 5404 __IO uint32_t PDDR; /**< Port Data Direction Register, offset: 0x14 */ 5405 } FGPIO_Type; 5406 5407 /* ---------------------------------------------------------------------------- 5408 -- FGPIO Register Masks 5409 ---------------------------------------------------------------------------- */ 5410 5411 /*! 5412 * @addtogroup FGPIO_Register_Masks FGPIO Register Masks 5413 * @{ 5414 */ 5415 5416 /*! @name PDOR - Port Data Output Register */ 5417 /*! @{ */ 5418 #define FGPIO_PDOR_PDO_MASK (0xFFFFFFFFU) 5419 #define FGPIO_PDOR_PDO_SHIFT (0U) 5420 #define FGPIO_PDOR_PDO(x) (((uint32_t)(((uint32_t)(x)) << FGPIO_PDOR_PDO_SHIFT)) & FGPIO_PDOR_PDO_MASK) 5421 /*! @} */ 5422 5423 /*! @name PSOR - Port Set Output Register */ 5424 /*! @{ */ 5425 #define FGPIO_PSOR_PTSO_MASK (0xFFFFFFFFU) 5426 #define FGPIO_PSOR_PTSO_SHIFT (0U) 5427 #define FGPIO_PSOR_PTSO(x) (((uint32_t)(((uint32_t)(x)) << FGPIO_PSOR_PTSO_SHIFT)) & FGPIO_PSOR_PTSO_MASK) 5428 /*! @} */ 5429 5430 /*! @name PCOR - Port Clear Output Register */ 5431 /*! @{ */ 5432 #define FGPIO_PCOR_PTCO_MASK (0xFFFFFFFFU) 5433 #define FGPIO_PCOR_PTCO_SHIFT (0U) 5434 #define FGPIO_PCOR_PTCO(x) (((uint32_t)(((uint32_t)(x)) << FGPIO_PCOR_PTCO_SHIFT)) & FGPIO_PCOR_PTCO_MASK) 5435 /*! @} */ 5436 5437 /*! @name PTOR - Port Toggle Output Register */ 5438 /*! @{ */ 5439 #define FGPIO_PTOR_PTTO_MASK (0xFFFFFFFFU) 5440 #define FGPIO_PTOR_PTTO_SHIFT (0U) 5441 #define FGPIO_PTOR_PTTO(x) (((uint32_t)(((uint32_t)(x)) << FGPIO_PTOR_PTTO_SHIFT)) & FGPIO_PTOR_PTTO_MASK) 5442 /*! @} */ 5443 5444 /*! @name PDIR - Port Data Input Register */ 5445 /*! @{ */ 5446 #define FGPIO_PDIR_PDI_MASK (0xFFFFFFFFU) 5447 #define FGPIO_PDIR_PDI_SHIFT (0U) 5448 #define FGPIO_PDIR_PDI(x) (((uint32_t)(((uint32_t)(x)) << FGPIO_PDIR_PDI_SHIFT)) & FGPIO_PDIR_PDI_MASK) 5449 /*! @} */ 5450 5451 /*! @name PDDR - Port Data Direction Register */ 5452 /*! @{ */ 5453 #define FGPIO_PDDR_PDD_MASK (0xFFFFFFFFU) 5454 #define FGPIO_PDDR_PDD_SHIFT (0U) 5455 #define FGPIO_PDDR_PDD(x) (((uint32_t)(((uint32_t)(x)) << FGPIO_PDDR_PDD_SHIFT)) & FGPIO_PDDR_PDD_MASK) 5456 /*! @} */ 5457 5458 5459 /*! 5460 * @} 5461 */ /* end of group FGPIO_Register_Masks */ 5462 5463 5464 /* FGPIO - Peripheral instance base addresses */ 5465 /** Peripheral FGPIOE base address */ 5466 #define FGPIOE_BASE (0xF8000000u) 5467 /** Peripheral FGPIOE base pointer */ 5468 #define FGPIOE ((FGPIO_Type *)FGPIOE_BASE) 5469 /** Array initializer of FGPIO peripheral base addresses */ 5470 #define FGPIO_BASE_ADDRS { 0u, 0u, 0u, 0u, FGPIOE_BASE } 5471 /** Array initializer of FGPIO peripheral base pointers */ 5472 #define FGPIO_BASE_PTRS { (FGPIO_Type *)0u, (FGPIO_Type *)0u, (FGPIO_Type *)0u, (FGPIO_Type *)0u, FGPIOE } 5473 5474 /*! 5475 * @} 5476 */ /* end of group FGPIO_Peripheral_Access_Layer */ 5477 5478 5479 /* ---------------------------------------------------------------------------- 5480 -- FLEXIO Peripheral Access Layer 5481 ---------------------------------------------------------------------------- */ 5482 5483 /*! 5484 * @addtogroup FLEXIO_Peripheral_Access_Layer FLEXIO Peripheral Access Layer 5485 * @{ 5486 */ 5487 5488 /** FLEXIO - Register Layout Typedef */ 5489 typedef struct { 5490 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 5491 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 5492 __IO uint32_t CTRL; /**< FlexIO Control Register, offset: 0x8 */ 5493 __I uint32_t PIN; /**< Pin State Register, offset: 0xC */ 5494 __IO uint32_t SHIFTSTAT; /**< Shifter Status Register, offset: 0x10 */ 5495 __IO uint32_t SHIFTERR; /**< Shifter Error Register, offset: 0x14 */ 5496 __IO uint32_t TIMSTAT; /**< Timer Status Register, offset: 0x18 */ 5497 uint8_t RESERVED_0[4]; 5498 __IO uint32_t SHIFTSIEN; /**< Shifter Status Interrupt Enable, offset: 0x20 */ 5499 __IO uint32_t SHIFTEIEN; /**< Shifter Error Interrupt Enable, offset: 0x24 */ 5500 __IO uint32_t TIMIEN; /**< Timer Interrupt Enable Register, offset: 0x28 */ 5501 uint8_t RESERVED_1[4]; 5502 __IO uint32_t SHIFTSDEN; /**< Shifter Status DMA Enable, offset: 0x30 */ 5503 uint8_t RESERVED_2[12]; 5504 __IO uint32_t SHIFTSTATE; /**< Shifter State Register, offset: 0x40 */ 5505 uint8_t RESERVED_3[60]; 5506 __IO uint32_t SHIFTCTL[8]; /**< Shifter Control N Register, array offset: 0x80, array step: 0x4 */ 5507 uint8_t RESERVED_4[96]; 5508 __IO uint32_t SHIFTCFG[8]; /**< Shifter Configuration N Register, array offset: 0x100, array step: 0x4 */ 5509 uint8_t RESERVED_5[224]; 5510 __IO uint32_t SHIFTBUF[8]; /**< Shifter Buffer N Register, array offset: 0x200, array step: 0x4 */ 5511 uint8_t RESERVED_6[96]; 5512 __IO uint32_t SHIFTBUFBIS[8]; /**< Shifter Buffer N Bit Swapped Register, array offset: 0x280, array step: 0x4 */ 5513 uint8_t RESERVED_7[96]; 5514 __IO uint32_t SHIFTBUFBYS[8]; /**< Shifter Buffer N Byte Swapped Register, array offset: 0x300, array step: 0x4 */ 5515 uint8_t RESERVED_8[96]; 5516 __IO uint32_t SHIFTBUFBBS[8]; /**< Shifter Buffer N Bit Byte Swapped Register, array offset: 0x380, array step: 0x4 */ 5517 uint8_t RESERVED_9[96]; 5518 __IO uint32_t TIMCTL[8]; /**< Timer Control N Register, array offset: 0x400, array step: 0x4 */ 5519 uint8_t RESERVED_10[96]; 5520 __IO uint32_t TIMCFG[8]; /**< Timer Configuration N Register, array offset: 0x480, array step: 0x4 */ 5521 uint8_t RESERVED_11[96]; 5522 __IO uint32_t TIMCMP[8]; /**< Timer Compare N Register, array offset: 0x500, array step: 0x4 */ 5523 uint8_t RESERVED_12[352]; 5524 __IO uint32_t SHIFTBUFNBS[8]; /**< Shifter Buffer N Nibble Byte Swapped Register, array offset: 0x680, array step: 0x4 */ 5525 uint8_t RESERVED_13[96]; 5526 __IO uint32_t SHIFTBUFHWS[8]; /**< Shifter Buffer N Half Word Swapped Register, array offset: 0x700, array step: 0x4 */ 5527 uint8_t RESERVED_14[96]; 5528 __IO uint32_t SHIFTBUFNIS[8]; /**< Shifter Buffer N Nibble Swapped Register, array offset: 0x780, array step: 0x4 */ 5529 } FLEXIO_Type; 5530 5531 /* ---------------------------------------------------------------------------- 5532 -- FLEXIO Register Masks 5533 ---------------------------------------------------------------------------- */ 5534 5535 /*! 5536 * @addtogroup FLEXIO_Register_Masks FLEXIO Register Masks 5537 * @{ 5538 */ 5539 5540 /*! @name VERID - Version ID Register */ 5541 /*! @{ */ 5542 #define FLEXIO_VERID_FEATURE_MASK (0xFFFFU) 5543 #define FLEXIO_VERID_FEATURE_SHIFT (0U) 5544 /*! FEATURE - Feature Specification Number 5545 * 0b0000000000000000..Standard features implemented. 5546 * 0b0000000000000001..Supports state, logic and parallel modes. 5547 */ 5548 #define FLEXIO_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_FEATURE_SHIFT)) & FLEXIO_VERID_FEATURE_MASK) 5549 #define FLEXIO_VERID_MINOR_MASK (0xFF0000U) 5550 #define FLEXIO_VERID_MINOR_SHIFT (16U) 5551 #define FLEXIO_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MINOR_SHIFT)) & FLEXIO_VERID_MINOR_MASK) 5552 #define FLEXIO_VERID_MAJOR_MASK (0xFF000000U) 5553 #define FLEXIO_VERID_MAJOR_SHIFT (24U) 5554 #define FLEXIO_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MAJOR_SHIFT)) & FLEXIO_VERID_MAJOR_MASK) 5555 /*! @} */ 5556 5557 /*! @name PARAM - Parameter Register */ 5558 /*! @{ */ 5559 #define FLEXIO_PARAM_SHIFTER_MASK (0xFFU) 5560 #define FLEXIO_PARAM_SHIFTER_SHIFT (0U) 5561 #define FLEXIO_PARAM_SHIFTER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_SHIFTER_SHIFT)) & FLEXIO_PARAM_SHIFTER_MASK) 5562 #define FLEXIO_PARAM_TIMER_MASK (0xFF00U) 5563 #define FLEXIO_PARAM_TIMER_SHIFT (8U) 5564 #define FLEXIO_PARAM_TIMER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TIMER_SHIFT)) & FLEXIO_PARAM_TIMER_MASK) 5565 #define FLEXIO_PARAM_PIN_MASK (0xFF0000U) 5566 #define FLEXIO_PARAM_PIN_SHIFT (16U) 5567 #define FLEXIO_PARAM_PIN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_PIN_SHIFT)) & FLEXIO_PARAM_PIN_MASK) 5568 #define FLEXIO_PARAM_TRIGGER_MASK (0xFF000000U) 5569 #define FLEXIO_PARAM_TRIGGER_SHIFT (24U) 5570 #define FLEXIO_PARAM_TRIGGER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TRIGGER_SHIFT)) & FLEXIO_PARAM_TRIGGER_MASK) 5571 /*! @} */ 5572 5573 /*! @name CTRL - FlexIO Control Register */ 5574 /*! @{ */ 5575 #define FLEXIO_CTRL_FLEXEN_MASK (0x1U) 5576 #define FLEXIO_CTRL_FLEXEN_SHIFT (0U) 5577 /*! FLEXEN - FlexIO Enable 5578 * 0b0..FlexIO module is disabled. 5579 * 0b1..FlexIO module is enabled. 5580 */ 5581 #define FLEXIO_CTRL_FLEXEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FLEXEN_SHIFT)) & FLEXIO_CTRL_FLEXEN_MASK) 5582 #define FLEXIO_CTRL_SWRST_MASK (0x2U) 5583 #define FLEXIO_CTRL_SWRST_SHIFT (1U) 5584 /*! SWRST - Software Reset 5585 * 0b0..Software reset is disabled 5586 * 0b1..Software reset is enabled, all FlexIO registers except the Control Register are reset. 5587 */ 5588 #define FLEXIO_CTRL_SWRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_SWRST_SHIFT)) & FLEXIO_CTRL_SWRST_MASK) 5589 #define FLEXIO_CTRL_FASTACC_MASK (0x4U) 5590 #define FLEXIO_CTRL_FASTACC_SHIFT (2U) 5591 /*! FASTACC - Fast Access 5592 * 0b0..Configures for normal register accesses to FlexIO 5593 * 0b1..Configures for fast register accesses to FlexIO 5594 */ 5595 #define FLEXIO_CTRL_FASTACC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FASTACC_SHIFT)) & FLEXIO_CTRL_FASTACC_MASK) 5596 #define FLEXIO_CTRL_DBGE_MASK (0x40000000U) 5597 #define FLEXIO_CTRL_DBGE_SHIFT (30U) 5598 /*! DBGE - Debug Enable 5599 * 0b0..FlexIO is disabled in debug modes. 5600 * 0b1..FlexIO is enabled in debug modes 5601 */ 5602 #define FLEXIO_CTRL_DBGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DBGE_SHIFT)) & FLEXIO_CTRL_DBGE_MASK) 5603 #define FLEXIO_CTRL_DOZEN_MASK (0x80000000U) 5604 #define FLEXIO_CTRL_DOZEN_SHIFT (31U) 5605 /*! DOZEN - Doze Enable 5606 * 0b0..FlexIO enabled in Doze modes. 5607 * 0b1..FlexIO disabled in Doze modes. 5608 */ 5609 #define FLEXIO_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DOZEN_SHIFT)) & FLEXIO_CTRL_DOZEN_MASK) 5610 /*! @} */ 5611 5612 /*! @name PIN - Pin State Register */ 5613 /*! @{ */ 5614 #define FLEXIO_PIN_PDI_MASK (0xFFFFFFFFU) 5615 #define FLEXIO_PIN_PDI_SHIFT (0U) 5616 #define FLEXIO_PIN_PDI(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PIN_PDI_SHIFT)) & FLEXIO_PIN_PDI_MASK) 5617 /*! @} */ 5618 5619 /*! @name SHIFTSTAT - Shifter Status Register */ 5620 /*! @{ */ 5621 #define FLEXIO_SHIFTSTAT_SSF_MASK (0xFFU) 5622 #define FLEXIO_SHIFTSTAT_SSF_SHIFT (0U) 5623 #define FLEXIO_SHIFTSTAT_SSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTAT_SSF_SHIFT)) & FLEXIO_SHIFTSTAT_SSF_MASK) 5624 /*! @} */ 5625 5626 /*! @name SHIFTERR - Shifter Error Register */ 5627 /*! @{ */ 5628 #define FLEXIO_SHIFTERR_SEF_MASK (0xFFU) 5629 #define FLEXIO_SHIFTERR_SEF_SHIFT (0U) 5630 #define FLEXIO_SHIFTERR_SEF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTERR_SEF_SHIFT)) & FLEXIO_SHIFTERR_SEF_MASK) 5631 /*! @} */ 5632 5633 /*! @name TIMSTAT - Timer Status Register */ 5634 /*! @{ */ 5635 #define FLEXIO_TIMSTAT_TSF_MASK (0xFFU) 5636 #define FLEXIO_TIMSTAT_TSF_SHIFT (0U) 5637 #define FLEXIO_TIMSTAT_TSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMSTAT_TSF_SHIFT)) & FLEXIO_TIMSTAT_TSF_MASK) 5638 /*! @} */ 5639 5640 /*! @name SHIFTSIEN - Shifter Status Interrupt Enable */ 5641 /*! @{ */ 5642 #define FLEXIO_SHIFTSIEN_SSIE_MASK (0xFFU) 5643 #define FLEXIO_SHIFTSIEN_SSIE_SHIFT (0U) 5644 #define FLEXIO_SHIFTSIEN_SSIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSIEN_SSIE_SHIFT)) & FLEXIO_SHIFTSIEN_SSIE_MASK) 5645 /*! @} */ 5646 5647 /*! @name SHIFTEIEN - Shifter Error Interrupt Enable */ 5648 /*! @{ */ 5649 #define FLEXIO_SHIFTEIEN_SEIE_MASK (0xFFU) 5650 #define FLEXIO_SHIFTEIEN_SEIE_SHIFT (0U) 5651 #define FLEXIO_SHIFTEIEN_SEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTEIEN_SEIE_SHIFT)) & FLEXIO_SHIFTEIEN_SEIE_MASK) 5652 /*! @} */ 5653 5654 /*! @name TIMIEN - Timer Interrupt Enable Register */ 5655 /*! @{ */ 5656 #define FLEXIO_TIMIEN_TEIE_MASK (0xFFU) 5657 #define FLEXIO_TIMIEN_TEIE_SHIFT (0U) 5658 #define FLEXIO_TIMIEN_TEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMIEN_TEIE_SHIFT)) & FLEXIO_TIMIEN_TEIE_MASK) 5659 /*! @} */ 5660 5661 /*! @name SHIFTSDEN - Shifter Status DMA Enable */ 5662 /*! @{ */ 5663 #define FLEXIO_SHIFTSDEN_SSDE_MASK (0xFFU) 5664 #define FLEXIO_SHIFTSDEN_SSDE_SHIFT (0U) 5665 #define FLEXIO_SHIFTSDEN_SSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSDEN_SSDE_SHIFT)) & FLEXIO_SHIFTSDEN_SSDE_MASK) 5666 /*! @} */ 5667 5668 /*! @name SHIFTSTATE - Shifter State Register */ 5669 /*! @{ */ 5670 #define FLEXIO_SHIFTSTATE_STATE_MASK (0x7U) 5671 #define FLEXIO_SHIFTSTATE_STATE_SHIFT (0U) 5672 #define FLEXIO_SHIFTSTATE_STATE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTATE_STATE_SHIFT)) & FLEXIO_SHIFTSTATE_STATE_MASK) 5673 /*! @} */ 5674 5675 /*! @name SHIFTCTL - Shifter Control N Register */ 5676 /*! @{ */ 5677 #define FLEXIO_SHIFTCTL_SMOD_MASK (0x7U) 5678 #define FLEXIO_SHIFTCTL_SMOD_SHIFT (0U) 5679 /*! SMOD - Shifter Mode 5680 * 0b000..Disabled. 5681 * 0b001..Receive mode. Captures the current Shifter content into the SHIFTBUF on expiration of the Timer. 5682 * 0b010..Transmit mode. Load SHIFTBUF contents into the Shifter on expiration of the Timer. 5683 * 0b011..Reserved. 5684 * 0b100..Match Store mode. Shifter data is compared to SHIFTBUF content on expiration of the Timer. 5685 * 0b101..Match Continuous mode. Shifter data is continuously compared to SHIFTBUF contents. 5686 * 0b110..State mode. SHIFTBUF contents are used for storing programmable state attributes. 5687 * 0b111..Logic mode. SHIFTBUF contents are used for implementing programmable logic look up table. 5688 */ 5689 #define FLEXIO_SHIFTCTL_SMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_SMOD_SHIFT)) & FLEXIO_SHIFTCTL_SMOD_MASK) 5690 #define FLEXIO_SHIFTCTL_PINPOL_MASK (0x80U) 5691 #define FLEXIO_SHIFTCTL_PINPOL_SHIFT (7U) 5692 /*! PINPOL - Shifter Pin Polarity 5693 * 0b0..Pin is active high 5694 * 0b1..Pin is active low 5695 */ 5696 #define FLEXIO_SHIFTCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINPOL_SHIFT)) & FLEXIO_SHIFTCTL_PINPOL_MASK) 5697 #define FLEXIO_SHIFTCTL_PINSEL_MASK (0x1F00U) 5698 #define FLEXIO_SHIFTCTL_PINSEL_SHIFT (8U) 5699 #define FLEXIO_SHIFTCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINSEL_SHIFT)) & FLEXIO_SHIFTCTL_PINSEL_MASK) 5700 #define FLEXIO_SHIFTCTL_PINCFG_MASK (0x30000U) 5701 #define FLEXIO_SHIFTCTL_PINCFG_SHIFT (16U) 5702 /*! PINCFG - Shifter Pin Configuration 5703 * 0b00..Shifter pin output disabled 5704 * 0b01..Shifter pin open drain or bidirectional output enable 5705 * 0b10..Shifter pin bidirectional output data 5706 * 0b11..Shifter pin output 5707 */ 5708 #define FLEXIO_SHIFTCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINCFG_SHIFT)) & FLEXIO_SHIFTCTL_PINCFG_MASK) 5709 #define FLEXIO_SHIFTCTL_TIMPOL_MASK (0x800000U) 5710 #define FLEXIO_SHIFTCTL_TIMPOL_SHIFT (23U) 5711 /*! TIMPOL - Timer Polarity 5712 * 0b0..Shift on posedge of Shift clock 5713 * 0b1..Shift on negedge of Shift clock 5714 */ 5715 #define FLEXIO_SHIFTCTL_TIMPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMPOL_SHIFT)) & FLEXIO_SHIFTCTL_TIMPOL_MASK) 5716 #define FLEXIO_SHIFTCTL_TIMSEL_MASK (0x7000000U) 5717 #define FLEXIO_SHIFTCTL_TIMSEL_SHIFT (24U) 5718 #define FLEXIO_SHIFTCTL_TIMSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMSEL_SHIFT)) & FLEXIO_SHIFTCTL_TIMSEL_MASK) 5719 /*! @} */ 5720 5721 /* The count of FLEXIO_SHIFTCTL */ 5722 #define FLEXIO_SHIFTCTL_COUNT (8U) 5723 5724 /*! @name SHIFTCFG - Shifter Configuration N Register */ 5725 /*! @{ */ 5726 #define FLEXIO_SHIFTCFG_SSTART_MASK (0x3U) 5727 #define FLEXIO_SHIFTCFG_SSTART_SHIFT (0U) 5728 /*! SSTART - Shifter Start bit 5729 * 0b00..Start bit disabled for transmitter/receiver/match store, transmitter loads data on enable 5730 * 0b01..Start bit disabled for transmitter/receiver/match store, transmitter loads data on first shift 5731 * 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 5732 * 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 5733 */ 5734 #define FLEXIO_SHIFTCFG_SSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTART_SHIFT)) & FLEXIO_SHIFTCFG_SSTART_MASK) 5735 #define FLEXIO_SHIFTCFG_SSTOP_MASK (0x30U) 5736 #define FLEXIO_SHIFTCFG_SSTOP_SHIFT (4U) 5737 /*! SSTOP - Shifter Stop bit 5738 * 0b00..Stop bit disabled for transmitter/receiver/match store 5739 * 0b01..Reserved for transmitter/receiver/match store 5740 * 0b10..Transmitter outputs stop bit value 0 on store, receiver/match store sets error flag if stop bit is not 0 5741 * 0b11..Transmitter outputs stop bit value 1 on store, receiver/match store sets error flag if stop bit is not 1 5742 */ 5743 #define FLEXIO_SHIFTCFG_SSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTOP_SHIFT)) & FLEXIO_SHIFTCFG_SSTOP_MASK) 5744 #define FLEXIO_SHIFTCFG_INSRC_MASK (0x100U) 5745 #define FLEXIO_SHIFTCFG_INSRC_SHIFT (8U) 5746 /*! INSRC - Input Source 5747 * 0b0..Pin 5748 * 0b1..Shifter N+1 Output 5749 */ 5750 #define FLEXIO_SHIFTCFG_INSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_INSRC_SHIFT)) & FLEXIO_SHIFTCFG_INSRC_MASK) 5751 #define FLEXIO_SHIFTCFG_PWIDTH_MASK (0x1F0000U) 5752 #define FLEXIO_SHIFTCFG_PWIDTH_SHIFT (16U) 5753 #define FLEXIO_SHIFTCFG_PWIDTH(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_PWIDTH_SHIFT)) & FLEXIO_SHIFTCFG_PWIDTH_MASK) 5754 /*! @} */ 5755 5756 /* The count of FLEXIO_SHIFTCFG */ 5757 #define FLEXIO_SHIFTCFG_COUNT (8U) 5758 5759 /*! @name SHIFTBUF - Shifter Buffer N Register */ 5760 /*! @{ */ 5761 #define FLEXIO_SHIFTBUF_SHIFTBUF_MASK (0xFFFFFFFFU) 5762 #define FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT (0U) 5763 #define FLEXIO_SHIFTBUF_SHIFTBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT)) & FLEXIO_SHIFTBUF_SHIFTBUF_MASK) 5764 /*! @} */ 5765 5766 /* The count of FLEXIO_SHIFTBUF */ 5767 #define FLEXIO_SHIFTBUF_COUNT (8U) 5768 5769 /*! @name SHIFTBUFBIS - Shifter Buffer N Bit Swapped Register */ 5770 /*! @{ */ 5771 #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK (0xFFFFFFFFU) 5772 #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT (0U) 5773 #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT)) & FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK) 5774 /*! @} */ 5775 5776 /* The count of FLEXIO_SHIFTBUFBIS */ 5777 #define FLEXIO_SHIFTBUFBIS_COUNT (8U) 5778 5779 /*! @name SHIFTBUFBYS - Shifter Buffer N Byte Swapped Register */ 5780 /*! @{ */ 5781 #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK (0xFFFFFFFFU) 5782 #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT (0U) 5783 #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT)) & FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK) 5784 /*! @} */ 5785 5786 /* The count of FLEXIO_SHIFTBUFBYS */ 5787 #define FLEXIO_SHIFTBUFBYS_COUNT (8U) 5788 5789 /*! @name SHIFTBUFBBS - Shifter Buffer N Bit Byte Swapped Register */ 5790 /*! @{ */ 5791 #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK (0xFFFFFFFFU) 5792 #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT (0U) 5793 #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT)) & FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK) 5794 /*! @} */ 5795 5796 /* The count of FLEXIO_SHIFTBUFBBS */ 5797 #define FLEXIO_SHIFTBUFBBS_COUNT (8U) 5798 5799 /*! @name TIMCTL - Timer Control N Register */ 5800 /*! @{ */ 5801 #define FLEXIO_TIMCTL_TIMOD_MASK (0x3U) 5802 #define FLEXIO_TIMCTL_TIMOD_SHIFT (0U) 5803 /*! TIMOD - Timer Mode 5804 * 0b00..Timer Disabled. 5805 * 0b01..Dual 8-bit counters baud mode. 5806 * 0b10..Dual 8-bit counters PWM high mode. 5807 * 0b11..Single 16-bit counter mode. 5808 */ 5809 #define FLEXIO_TIMCTL_TIMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TIMOD_SHIFT)) & FLEXIO_TIMCTL_TIMOD_MASK) 5810 #define FLEXIO_TIMCTL_PINPOL_MASK (0x80U) 5811 #define FLEXIO_TIMCTL_PINPOL_SHIFT (7U) 5812 /*! PINPOL - Timer Pin Polarity 5813 * 0b0..Pin is active high 5814 * 0b1..Pin is active low 5815 */ 5816 #define FLEXIO_TIMCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINPOL_SHIFT)) & FLEXIO_TIMCTL_PINPOL_MASK) 5817 #define FLEXIO_TIMCTL_PINSEL_MASK (0x1F00U) 5818 #define FLEXIO_TIMCTL_PINSEL_SHIFT (8U) 5819 #define FLEXIO_TIMCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINSEL_SHIFT)) & FLEXIO_TIMCTL_PINSEL_MASK) 5820 #define FLEXIO_TIMCTL_PINCFG_MASK (0x30000U) 5821 #define FLEXIO_TIMCTL_PINCFG_SHIFT (16U) 5822 /*! PINCFG - Timer Pin Configuration 5823 * 0b00..Timer pin output disabled 5824 * 0b01..Timer pin open drain or bidirectional output enable 5825 * 0b10..Timer pin bidirectional output data 5826 * 0b11..Timer pin output 5827 */ 5828 #define FLEXIO_TIMCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINCFG_SHIFT)) & FLEXIO_TIMCTL_PINCFG_MASK) 5829 #define FLEXIO_TIMCTL_TRGSRC_MASK (0x400000U) 5830 #define FLEXIO_TIMCTL_TRGSRC_SHIFT (22U) 5831 /*! TRGSRC - Trigger Source 5832 * 0b0..External trigger selected 5833 * 0b1..Internal trigger selected 5834 */ 5835 #define FLEXIO_TIMCTL_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSRC_SHIFT)) & FLEXIO_TIMCTL_TRGSRC_MASK) 5836 #define FLEXIO_TIMCTL_TRGPOL_MASK (0x800000U) 5837 #define FLEXIO_TIMCTL_TRGPOL_SHIFT (23U) 5838 /*! TRGPOL - Trigger Polarity 5839 * 0b0..Trigger active high 5840 * 0b1..Trigger active low 5841 */ 5842 #define FLEXIO_TIMCTL_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGPOL_SHIFT)) & FLEXIO_TIMCTL_TRGPOL_MASK) 5843 #define FLEXIO_TIMCTL_TRGSEL_MASK (0x3F000000U) 5844 #define FLEXIO_TIMCTL_TRGSEL_SHIFT (24U) 5845 #define FLEXIO_TIMCTL_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSEL_SHIFT)) & FLEXIO_TIMCTL_TRGSEL_MASK) 5846 /*! @} */ 5847 5848 /* The count of FLEXIO_TIMCTL */ 5849 #define FLEXIO_TIMCTL_COUNT (8U) 5850 5851 /*! @name TIMCFG - Timer Configuration N Register */ 5852 /*! @{ */ 5853 #define FLEXIO_TIMCFG_TSTART_MASK (0x2U) 5854 #define FLEXIO_TIMCFG_TSTART_SHIFT (1U) 5855 /*! TSTART - Timer Start Bit 5856 * 0b0..Start bit disabled 5857 * 0b1..Start bit enabled 5858 */ 5859 #define FLEXIO_TIMCFG_TSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTART_SHIFT)) & FLEXIO_TIMCFG_TSTART_MASK) 5860 #define FLEXIO_TIMCFG_TSTOP_MASK (0x30U) 5861 #define FLEXIO_TIMCFG_TSTOP_SHIFT (4U) 5862 /*! TSTOP - Timer Stop Bit 5863 * 0b00..Stop bit disabled 5864 * 0b01..Stop bit is enabled on timer compare 5865 * 0b10..Stop bit is enabled on timer disable 5866 * 0b11..Stop bit is enabled on timer compare and timer disable 5867 */ 5868 #define FLEXIO_TIMCFG_TSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTOP_SHIFT)) & FLEXIO_TIMCFG_TSTOP_MASK) 5869 #define FLEXIO_TIMCFG_TIMENA_MASK (0x700U) 5870 #define FLEXIO_TIMCFG_TIMENA_SHIFT (8U) 5871 /*! TIMENA - Timer Enable 5872 * 0b000..Timer always enabled 5873 * 0b001..Timer enabled on Timer N-1 enable 5874 * 0b010..Timer enabled on Trigger high 5875 * 0b011..Timer enabled on Trigger high and Pin high 5876 * 0b100..Timer enabled on Pin rising edge 5877 * 0b101..Timer enabled on Pin rising edge and Trigger high 5878 * 0b110..Timer enabled on Trigger rising edge 5879 * 0b111..Timer enabled on Trigger rising or falling edge 5880 */ 5881 #define FLEXIO_TIMCFG_TIMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMENA_SHIFT)) & FLEXIO_TIMCFG_TIMENA_MASK) 5882 #define FLEXIO_TIMCFG_TIMDIS_MASK (0x7000U) 5883 #define FLEXIO_TIMCFG_TIMDIS_SHIFT (12U) 5884 /*! TIMDIS - Timer Disable 5885 * 0b000..Timer never disabled 5886 * 0b001..Timer disabled on Timer N-1 disable 5887 * 0b010..Timer disabled on Timer compare (upper 8-bits match and decrement) 5888 * 0b011..Timer disabled on Timer compare (upper 8-bits match and decrement) and Trigger Low 5889 * 0b100..Timer disabled on Pin rising or falling edge 5890 * 0b101..Timer disabled on Pin rising or falling edge provided Trigger is high 5891 * 0b110..Timer disabled on Trigger falling edge 5892 * 0b111..Reserved 5893 */ 5894 #define FLEXIO_TIMCFG_TIMDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDIS_SHIFT)) & FLEXIO_TIMCFG_TIMDIS_MASK) 5895 #define FLEXIO_TIMCFG_TIMRST_MASK (0x70000U) 5896 #define FLEXIO_TIMCFG_TIMRST_SHIFT (16U) 5897 /*! TIMRST - Timer Reset 5898 * 0b000..Timer never reset 5899 * 0b001..Reserved 5900 * 0b010..Timer reset on Timer Pin equal to Timer Output 5901 * 0b011..Timer reset on Timer Trigger equal to Timer Output 5902 * 0b100..Timer reset on Timer Pin rising edge 5903 * 0b101..Reserved 5904 * 0b110..Timer reset on Trigger rising edge 5905 * 0b111..Timer reset on Trigger rising or falling edge 5906 */ 5907 #define FLEXIO_TIMCFG_TIMRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMRST_SHIFT)) & FLEXIO_TIMCFG_TIMRST_MASK) 5908 #define FLEXIO_TIMCFG_TIMDEC_MASK (0x300000U) 5909 #define FLEXIO_TIMCFG_TIMDEC_SHIFT (20U) 5910 /*! TIMDEC - Timer Decrement 5911 * 0b00..Decrement counter on FlexIO clock, Shift clock equals Timer output. 5912 * 0b01..Decrement counter on Trigger input (both edges), Shift clock equals Timer output. 5913 * 0b10..Decrement counter on Pin input (both edges), Shift clock equals Pin input. 5914 * 0b11..Decrement counter on Trigger input (both edges), Shift clock equals Trigger input. 5915 */ 5916 #define FLEXIO_TIMCFG_TIMDEC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDEC_SHIFT)) & FLEXIO_TIMCFG_TIMDEC_MASK) 5917 #define FLEXIO_TIMCFG_TIMOUT_MASK (0x3000000U) 5918 #define FLEXIO_TIMCFG_TIMOUT_SHIFT (24U) 5919 /*! TIMOUT - Timer Output 5920 * 0b00..Timer output is logic one when enabled and is not affected by timer reset 5921 * 0b01..Timer output is logic zero when enabled and is not affected by timer reset 5922 * 0b10..Timer output is logic one when enabled and on timer reset 5923 * 0b11..Timer output is logic zero when enabled and on timer reset 5924 */ 5925 #define FLEXIO_TIMCFG_TIMOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMOUT_SHIFT)) & FLEXIO_TIMCFG_TIMOUT_MASK) 5926 /*! @} */ 5927 5928 /* The count of FLEXIO_TIMCFG */ 5929 #define FLEXIO_TIMCFG_COUNT (8U) 5930 5931 /*! @name TIMCMP - Timer Compare N Register */ 5932 /*! @{ */ 5933 #define FLEXIO_TIMCMP_CMP_MASK (0xFFFFU) 5934 #define FLEXIO_TIMCMP_CMP_SHIFT (0U) 5935 #define FLEXIO_TIMCMP_CMP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCMP_CMP_SHIFT)) & FLEXIO_TIMCMP_CMP_MASK) 5936 /*! @} */ 5937 5938 /* The count of FLEXIO_TIMCMP */ 5939 #define FLEXIO_TIMCMP_COUNT (8U) 5940 5941 /*! @name SHIFTBUFNBS - Shifter Buffer N Nibble Byte Swapped Register */ 5942 /*! @{ */ 5943 #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK (0xFFFFFFFFU) 5944 #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT (0U) 5945 #define FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_SHIFT)) & FLEXIO_SHIFTBUFNBS_SHIFTBUFNBS_MASK) 5946 /*! @} */ 5947 5948 /* The count of FLEXIO_SHIFTBUFNBS */ 5949 #define FLEXIO_SHIFTBUFNBS_COUNT (8U) 5950 5951 /*! @name SHIFTBUFHWS - Shifter Buffer N Half Word Swapped Register */ 5952 /*! @{ */ 5953 #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK (0xFFFFFFFFU) 5954 #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT (0U) 5955 #define FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_SHIFT)) & FLEXIO_SHIFTBUFHWS_SHIFTBUFHWS_MASK) 5956 /*! @} */ 5957 5958 /* The count of FLEXIO_SHIFTBUFHWS */ 5959 #define FLEXIO_SHIFTBUFHWS_COUNT (8U) 5960 5961 /*! @name SHIFTBUFNIS - Shifter Buffer N Nibble Swapped Register */ 5962 /*! @{ */ 5963 #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK (0xFFFFFFFFU) 5964 #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT (0U) 5965 #define FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_SHIFT)) & FLEXIO_SHIFTBUFNIS_SHIFTBUFNIS_MASK) 5966 /*! @} */ 5967 5968 /* The count of FLEXIO_SHIFTBUFNIS */ 5969 #define FLEXIO_SHIFTBUFNIS_COUNT (8U) 5970 5971 5972 /*! 5973 * @} 5974 */ /* end of group FLEXIO_Register_Masks */ 5975 5976 5977 /* FLEXIO - Peripheral instance base addresses */ 5978 /** Peripheral FLEXIO0 base address */ 5979 #define FLEXIO0_BASE (0x40039000u) 5980 /** Peripheral FLEXIO0 base pointer */ 5981 #define FLEXIO0 ((FLEXIO_Type *)FLEXIO0_BASE) 5982 /** Array initializer of FLEXIO peripheral base addresses */ 5983 #define FLEXIO_BASE_ADDRS { FLEXIO0_BASE } 5984 /** Array initializer of FLEXIO peripheral base pointers */ 5985 #define FLEXIO_BASE_PTRS { FLEXIO0 } 5986 /** Interrupt vectors for the FLEXIO peripheral type */ 5987 #define FLEXIO_IRQS { FLEXIO0_IRQn } 5988 5989 /*! 5990 * @} 5991 */ /* end of group FLEXIO_Peripheral_Access_Layer */ 5992 5993 5994 /* ---------------------------------------------------------------------------- 5995 -- FTFE Peripheral Access Layer 5996 ---------------------------------------------------------------------------- */ 5997 5998 /*! 5999 * @addtogroup FTFE_Peripheral_Access_Layer FTFE Peripheral Access Layer 6000 * @{ 6001 */ 6002 6003 /** FTFE - Register Layout Typedef */ 6004 typedef struct { 6005 __IO uint8_t FSTAT; /**< Flash Status Register, offset: 0x0 */ 6006 __IO uint8_t FCNFG; /**< Flash Configuration Register, offset: 0x1 */ 6007 __I uint8_t FSEC; /**< Flash Security Register, offset: 0x2 */ 6008 uint8_t RESERVED_0[1]; 6009 __IO uint8_t FCCOB3; /**< Flash Common Command Object Registers, offset: 0x4 */ 6010 __IO uint8_t FCCOB2; /**< Flash Common Command Object Registers, offset: 0x5 */ 6011 __IO uint8_t FCCOB1; /**< Flash Common Command Object Registers, offset: 0x6 */ 6012 __IO uint8_t FCCOB0; /**< Flash Common Command Object Registers, offset: 0x7 */ 6013 __IO uint8_t FCCOB7; /**< Flash Common Command Object Registers, offset: 0x8 */ 6014 __IO uint8_t FCCOB6; /**< Flash Common Command Object Registers, offset: 0x9 */ 6015 __IO uint8_t FCCOB5; /**< Flash Common Command Object Registers, offset: 0xA */ 6016 __IO uint8_t FCCOB4; /**< Flash Common Command Object Registers, offset: 0xB */ 6017 __IO uint8_t FCCOBB; /**< Flash Common Command Object Registers, offset: 0xC */ 6018 __IO uint8_t FCCOBA; /**< Flash Common Command Object Registers, offset: 0xD */ 6019 __IO uint8_t FCCOB9; /**< Flash Common Command Object Registers, offset: 0xE */ 6020 __IO uint8_t FCCOB8; /**< Flash Common Command Object Registers, offset: 0xF */ 6021 __I uint8_t FOPT3; /**< Flash Option Registers, offset: 0x10 */ 6022 __I uint8_t FOPT2; /**< Flash Option Registers, offset: 0x11 */ 6023 __I uint8_t FOPT1; /**< Flash Option Registers, offset: 0x12 */ 6024 __I uint8_t FOPT0; /**< Flash Option Registers, offset: 0x13 */ 6025 uint8_t RESERVED_1[4]; 6026 __IO uint8_t FPROTH3; /**< Primary Program Flash Protection Registers, offset: 0x18 */ 6027 __IO uint8_t FPROTH2; /**< Primary Program Flash Protection Registers, offset: 0x19 */ 6028 __IO uint8_t FPROTH1; /**< Primary Program Flash Protection Registers, offset: 0x1A */ 6029 __IO uint8_t FPROTH0; /**< Primary Program Flash Protection Registers, offset: 0x1B */ 6030 __IO uint8_t FPROTL3; /**< Primary Program Flash Protection Registers, offset: 0x1C */ 6031 __IO uint8_t FPROTL2; /**< Primary Program Flash Protection Registers, offset: 0x1D */ 6032 __IO uint8_t FPROTL1; /**< Primary Program Flash Protection Registers, offset: 0x1E */ 6033 __IO uint8_t FPROTL0; /**< Primary Program Flash Protection Registers, offset: 0x1F */ 6034 uint8_t RESERVED_2[4]; 6035 __IO uint8_t FPROTSL; /**< Secondary Program Flash Protection Registers, offset: 0x24 */ 6036 __IO uint8_t FPROTSH; /**< Secondary Program Flash Protection Registers, offset: 0x25 */ 6037 uint8_t RESERVED_3[6]; 6038 __I uint8_t FACSS; /**< Primary Flash Access Segment Size Register, offset: 0x2C */ 6039 __I uint8_t FACSN; /**< Primary Flash Access Segment Number Register, offset: 0x2D */ 6040 __I uint8_t FACSSS; /**< Secondary Flash Access Segment Size Register, offset: 0x2E */ 6041 __I uint8_t FACSNS; /**< Secondary Flash Access Segment Number Register, offset: 0x2F */ 6042 __I uint8_t XACCH3; /**< Primary Execute-only Access Registers, offset: 0x30 */ 6043 __I uint8_t XACCH2; /**< Primary Execute-only Access Registers, offset: 0x31 */ 6044 __I uint8_t XACCH1; /**< Primary Execute-only Access Registers, offset: 0x32 */ 6045 __I uint8_t XACCH0; /**< Primary Execute-only Access Registers, offset: 0x33 */ 6046 __I uint8_t XACCL3; /**< Primary Execute-only Access Registers, offset: 0x34 */ 6047 __I uint8_t XACCL2; /**< Primary Execute-only Access Registers, offset: 0x35 */ 6048 __I uint8_t XACCL1; /**< Primary Execute-only Access Registers, offset: 0x36 */ 6049 __I uint8_t XACCL0; /**< Primary Execute-only Access Registers, offset: 0x37 */ 6050 __I uint8_t SACCH3; /**< Primary Supervisor-only Access Registers, offset: 0x38 */ 6051 __I uint8_t SACCH2; /**< Primary Supervisor-only Access Registers, offset: 0x39 */ 6052 __I uint8_t SACCH1; /**< Primary Supervisor-only Access Registers, offset: 0x3A */ 6053 __I uint8_t SACCH0; /**< Primary Supervisor-only Access Registers, offset: 0x3B */ 6054 __I uint8_t SACCL3; /**< Primary Supervisor-only Access Registers, offset: 0x3C */ 6055 __I uint8_t SACCL2; /**< Primary Supervisor-only Access Registers, offset: 0x3D */ 6056 __I uint8_t SACCL1; /**< Primary Supervisor-only Access Registers, offset: 0x3E */ 6057 __I uint8_t SACCL0; /**< Primary Supervisor-only Access Registers, offset: 0x3F */ 6058 uint8_t RESERVED_4[4]; 6059 __I uint8_t XACCSL; /**< Secondary Execute-only Access Registers, offset: 0x44 */ 6060 __I uint8_t XACCSH; /**< Secondary Execute-only Access Registers, offset: 0x45 */ 6061 uint8_t RESERVED_5[6]; 6062 __I uint8_t SACCSL; /**< Secondary Supervisor-only Access Registers, offset: 0x4C */ 6063 __I uint8_t SACCSH; /**< Secondary Supervisor-only Access Registers, offset: 0x4D */ 6064 uint8_t RESERVED_6[4]; 6065 __I uint8_t FSTDBYCTL; /**< Flash Standby Control Register, offset: 0x52 */ 6066 __IO uint8_t FSTDBY; /**< Flash Standby Register, offset: 0x53 */ 6067 } FTFE_Type; 6068 6069 /* ---------------------------------------------------------------------------- 6070 -- FTFE Register Masks 6071 ---------------------------------------------------------------------------- */ 6072 6073 /*! 6074 * @addtogroup FTFE_Register_Masks FTFE Register Masks 6075 * @{ 6076 */ 6077 6078 /*! @name FSTAT - Flash Status Register */ 6079 /*! @{ */ 6080 #define FTFE_FSTAT_MGSTAT0_MASK (0x1U) 6081 #define FTFE_FSTAT_MGSTAT0_SHIFT (0U) 6082 #define FTFE_FSTAT_MGSTAT0(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTAT_MGSTAT0_SHIFT)) & FTFE_FSTAT_MGSTAT0_MASK) 6083 #define FTFE_FSTAT_FPVIOL_MASK (0x10U) 6084 #define FTFE_FSTAT_FPVIOL_SHIFT (4U) 6085 /*! FPVIOL - Flash Protection Violation Flag 6086 * 0b0..No protection violation detected 6087 * 0b1..Protection violation detected 6088 */ 6089 #define FTFE_FSTAT_FPVIOL(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTAT_FPVIOL_SHIFT)) & FTFE_FSTAT_FPVIOL_MASK) 6090 #define FTFE_FSTAT_ACCERR_MASK (0x20U) 6091 #define FTFE_FSTAT_ACCERR_SHIFT (5U) 6092 /*! ACCERR - Flash Access Error Flag 6093 * 0b0..No access error detected 6094 * 0b1..Access error detected 6095 */ 6096 #define FTFE_FSTAT_ACCERR(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTAT_ACCERR_SHIFT)) & FTFE_FSTAT_ACCERR_MASK) 6097 #define FTFE_FSTAT_RDCOLERR_MASK (0x40U) 6098 #define FTFE_FSTAT_RDCOLERR_SHIFT (6U) 6099 /*! RDCOLERR - Flash Read Collision Error Flag 6100 * 0b0..No collision error detected 6101 * 0b1..Collision error detected 6102 */ 6103 #define FTFE_FSTAT_RDCOLERR(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTAT_RDCOLERR_SHIFT)) & FTFE_FSTAT_RDCOLERR_MASK) 6104 #define FTFE_FSTAT_CCIF_MASK (0x80U) 6105 #define FTFE_FSTAT_CCIF_SHIFT (7U) 6106 /*! CCIF - Command Complete Interrupt Flag 6107 * 0b0..Flash command in progress 6108 * 0b1..Flash command has completed 6109 */ 6110 #define FTFE_FSTAT_CCIF(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTAT_CCIF_SHIFT)) & FTFE_FSTAT_CCIF_MASK) 6111 /*! @} */ 6112 6113 /*! @name FCNFG - Flash Configuration Register */ 6114 /*! @{ */ 6115 #define FTFE_FCNFG_RAMRDY_MASK (0x2U) 6116 #define FTFE_FCNFG_RAMRDY_SHIFT (1U) 6117 /*! RAMRDY - RAM Ready 6118 * 0b0..Programming acceleration RAM is not available 6119 * 0b1..Programming acceleration RAM is available 6120 */ 6121 #define FTFE_FCNFG_RAMRDY(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_RAMRDY_SHIFT)) & FTFE_FCNFG_RAMRDY_MASK) 6122 #define FTFE_FCNFG_CRCRDY_MASK (0x4U) 6123 #define FTFE_FCNFG_CRCRDY_SHIFT (2U) 6124 /*! CRCRDY - CRC Ready 6125 * 0b0..Programming acceleration RAM is not available for CRC operations 6126 * 0b1..Programming acceleration RAM is available for CRC operations 6127 */ 6128 #define FTFE_FCNFG_CRCRDY(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_CRCRDY_SHIFT)) & FTFE_FCNFG_CRCRDY_MASK) 6129 #define FTFE_FCNFG_SWAP_MASK (0x8U) 6130 #define FTFE_FCNFG_SWAP_SHIFT (3U) 6131 /*! SWAP - Swap 6132 * 0b0..Program flash 0 block is located at relative address 0x0000 6133 * 0b1..Program flash 1 block is located at relative address 0x0000 6134 */ 6135 #define FTFE_FCNFG_SWAP(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_SWAP_SHIFT)) & FTFE_FCNFG_SWAP_MASK) 6136 #define FTFE_FCNFG_ERSSUSP_MASK (0x10U) 6137 #define FTFE_FCNFG_ERSSUSP_SHIFT (4U) 6138 /*! ERSSUSP - Erase Suspend 6139 * 0b0..No suspend requested 6140 * 0b1..Suspend the current Erase Flash Sector command execution 6141 */ 6142 #define FTFE_FCNFG_ERSSUSP(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_ERSSUSP_SHIFT)) & FTFE_FCNFG_ERSSUSP_MASK) 6143 #define FTFE_FCNFG_ERSAREQ_MASK (0x20U) 6144 #define FTFE_FCNFG_ERSAREQ_SHIFT (5U) 6145 /*! ERSAREQ - Erase All Request 6146 * 0b0..No request or request complete 6147 * 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. 6148 */ 6149 #define FTFE_FCNFG_ERSAREQ(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_ERSAREQ_SHIFT)) & FTFE_FCNFG_ERSAREQ_MASK) 6150 #define FTFE_FCNFG_RDCOLLIE_MASK (0x40U) 6151 #define FTFE_FCNFG_RDCOLLIE_SHIFT (6U) 6152 /*! RDCOLLIE - Read Collision Error Interrupt Enable 6153 * 0b0..Read collision error interrupt disabled 6154 * 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]). 6155 */ 6156 #define FTFE_FCNFG_RDCOLLIE(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_RDCOLLIE_SHIFT)) & FTFE_FCNFG_RDCOLLIE_MASK) 6157 #define FTFE_FCNFG_CCIE_MASK (0x80U) 6158 #define FTFE_FCNFG_CCIE_SHIFT (7U) 6159 /*! CCIE - Command Complete Interrupt Enable 6160 * 0b0..Command complete interrupt disabled 6161 * 0b1..Command complete interrupt enabled. An interrupt request is generated whenever the FSTAT[CCIF] flag is set. 6162 */ 6163 #define FTFE_FCNFG_CCIE(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCNFG_CCIE_SHIFT)) & FTFE_FCNFG_CCIE_MASK) 6164 /*! @} */ 6165 6166 /*! @name FSEC - Flash Security Register */ 6167 /*! @{ */ 6168 #define FTFE_FSEC_SEC_MASK (0x3U) 6169 #define FTFE_FSEC_SEC_SHIFT (0U) 6170 /*! SEC - Flash Security 6171 * 0b00..MCU security status is secure 6172 * 0b01..MCU security status is secure 6173 * 0b10..MCU security status is unsecure (The standard shipping condition of the flash module is unsecure.) 6174 * 0b11..MCU security status is secure 6175 */ 6176 #define FTFE_FSEC_SEC(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSEC_SEC_SHIFT)) & FTFE_FSEC_SEC_MASK) 6177 #define FTFE_FSEC_FSLACC_MASK (0xCU) 6178 #define FTFE_FSEC_FSLACC_SHIFT (2U) 6179 /*! FSLACC - Factory Security Level Access Code 6180 * 0b00..Factory access granted 6181 * 0b01..Factory access denied 6182 * 0b10..Factory access denied 6183 * 0b11..Factory access granted 6184 */ 6185 #define FTFE_FSEC_FSLACC(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSEC_FSLACC_SHIFT)) & FTFE_FSEC_FSLACC_MASK) 6186 #define FTFE_FSEC_MEEN_MASK (0x30U) 6187 #define FTFE_FSEC_MEEN_SHIFT (4U) 6188 /*! MEEN - Mass Erase Enable Bits 6189 * 0b00..Mass erase is enabled 6190 * 0b01..Mass erase is enabled 6191 * 0b10..Mass erase is disabled 6192 * 0b11..Mass erase is enabled 6193 */ 6194 #define FTFE_FSEC_MEEN(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSEC_MEEN_SHIFT)) & FTFE_FSEC_MEEN_MASK) 6195 #define FTFE_FSEC_KEYEN_MASK (0xC0U) 6196 #define FTFE_FSEC_KEYEN_SHIFT (6U) 6197 /*! KEYEN - Backdoor Key Security Enable 6198 * 0b00..Backdoor key access disabled 6199 * 0b01..Backdoor key access disabled (preferred KEYEN state to disable backdoor key access) 6200 * 0b10..Backdoor key access enabled 6201 * 0b11..Backdoor key access disabled 6202 */ 6203 #define FTFE_FSEC_KEYEN(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSEC_KEYEN_SHIFT)) & FTFE_FSEC_KEYEN_MASK) 6204 /*! @} */ 6205 6206 /*! @name FCCOB3 - Flash Common Command Object Registers */ 6207 /*! @{ */ 6208 #define FTFE_FCCOB3_CCOBn_MASK (0xFFU) 6209 #define FTFE_FCCOB3_CCOBn_SHIFT (0U) 6210 #define FTFE_FCCOB3_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB3_CCOBn_SHIFT)) & FTFE_FCCOB3_CCOBn_MASK) 6211 /*! @} */ 6212 6213 /*! @name FCCOB2 - Flash Common Command Object Registers */ 6214 /*! @{ */ 6215 #define FTFE_FCCOB2_CCOBn_MASK (0xFFU) 6216 #define FTFE_FCCOB2_CCOBn_SHIFT (0U) 6217 #define FTFE_FCCOB2_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB2_CCOBn_SHIFT)) & FTFE_FCCOB2_CCOBn_MASK) 6218 /*! @} */ 6219 6220 /*! @name FCCOB1 - Flash Common Command Object Registers */ 6221 /*! @{ */ 6222 #define FTFE_FCCOB1_CCOBn_MASK (0xFFU) 6223 #define FTFE_FCCOB1_CCOBn_SHIFT (0U) 6224 #define FTFE_FCCOB1_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB1_CCOBn_SHIFT)) & FTFE_FCCOB1_CCOBn_MASK) 6225 /*! @} */ 6226 6227 /*! @name FCCOB0 - Flash Common Command Object Registers */ 6228 /*! @{ */ 6229 #define FTFE_FCCOB0_CCOBn_MASK (0xFFU) 6230 #define FTFE_FCCOB0_CCOBn_SHIFT (0U) 6231 #define FTFE_FCCOB0_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB0_CCOBn_SHIFT)) & FTFE_FCCOB0_CCOBn_MASK) 6232 /*! @} */ 6233 6234 /*! @name FCCOB7 - Flash Common Command Object Registers */ 6235 /*! @{ */ 6236 #define FTFE_FCCOB7_CCOBn_MASK (0xFFU) 6237 #define FTFE_FCCOB7_CCOBn_SHIFT (0U) 6238 #define FTFE_FCCOB7_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB7_CCOBn_SHIFT)) & FTFE_FCCOB7_CCOBn_MASK) 6239 /*! @} */ 6240 6241 /*! @name FCCOB6 - Flash Common Command Object Registers */ 6242 /*! @{ */ 6243 #define FTFE_FCCOB6_CCOBn_MASK (0xFFU) 6244 #define FTFE_FCCOB6_CCOBn_SHIFT (0U) 6245 #define FTFE_FCCOB6_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB6_CCOBn_SHIFT)) & FTFE_FCCOB6_CCOBn_MASK) 6246 /*! @} */ 6247 6248 /*! @name FCCOB5 - Flash Common Command Object Registers */ 6249 /*! @{ */ 6250 #define FTFE_FCCOB5_CCOBn_MASK (0xFFU) 6251 #define FTFE_FCCOB5_CCOBn_SHIFT (0U) 6252 #define FTFE_FCCOB5_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB5_CCOBn_SHIFT)) & FTFE_FCCOB5_CCOBn_MASK) 6253 /*! @} */ 6254 6255 /*! @name FCCOB4 - Flash Common Command Object Registers */ 6256 /*! @{ */ 6257 #define FTFE_FCCOB4_CCOBn_MASK (0xFFU) 6258 #define FTFE_FCCOB4_CCOBn_SHIFT (0U) 6259 #define FTFE_FCCOB4_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB4_CCOBn_SHIFT)) & FTFE_FCCOB4_CCOBn_MASK) 6260 /*! @} */ 6261 6262 /*! @name FCCOBB - Flash Common Command Object Registers */ 6263 /*! @{ */ 6264 #define FTFE_FCCOBB_CCOBn_MASK (0xFFU) 6265 #define FTFE_FCCOBB_CCOBn_SHIFT (0U) 6266 #define FTFE_FCCOBB_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOBB_CCOBn_SHIFT)) & FTFE_FCCOBB_CCOBn_MASK) 6267 /*! @} */ 6268 6269 /*! @name FCCOBA - Flash Common Command Object Registers */ 6270 /*! @{ */ 6271 #define FTFE_FCCOBA_CCOBn_MASK (0xFFU) 6272 #define FTFE_FCCOBA_CCOBn_SHIFT (0U) 6273 #define FTFE_FCCOBA_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOBA_CCOBn_SHIFT)) & FTFE_FCCOBA_CCOBn_MASK) 6274 /*! @} */ 6275 6276 /*! @name FCCOB9 - Flash Common Command Object Registers */ 6277 /*! @{ */ 6278 #define FTFE_FCCOB9_CCOBn_MASK (0xFFU) 6279 #define FTFE_FCCOB9_CCOBn_SHIFT (0U) 6280 #define FTFE_FCCOB9_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB9_CCOBn_SHIFT)) & FTFE_FCCOB9_CCOBn_MASK) 6281 /*! @} */ 6282 6283 /*! @name FCCOB8 - Flash Common Command Object Registers */ 6284 /*! @{ */ 6285 #define FTFE_FCCOB8_CCOBn_MASK (0xFFU) 6286 #define FTFE_FCCOB8_CCOBn_SHIFT (0U) 6287 #define FTFE_FCCOB8_CCOBn(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FCCOB8_CCOBn_SHIFT)) & FTFE_FCCOB8_CCOBn_MASK) 6288 /*! @} */ 6289 6290 /*! @name FOPT3 - Flash Option Registers */ 6291 /*! @{ */ 6292 #define FTFE_FOPT3_OPT_MASK (0xFFU) 6293 #define FTFE_FOPT3_OPT_SHIFT (0U) 6294 #define FTFE_FOPT3_OPT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FOPT3_OPT_SHIFT)) & FTFE_FOPT3_OPT_MASK) 6295 /*! @} */ 6296 6297 /*! @name FOPT2 - Flash Option Registers */ 6298 /*! @{ */ 6299 #define FTFE_FOPT2_OPT_MASK (0xFFU) 6300 #define FTFE_FOPT2_OPT_SHIFT (0U) 6301 #define FTFE_FOPT2_OPT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FOPT2_OPT_SHIFT)) & FTFE_FOPT2_OPT_MASK) 6302 /*! @} */ 6303 6304 /*! @name FOPT1 - Flash Option Registers */ 6305 /*! @{ */ 6306 #define FTFE_FOPT1_OPT_MASK (0xFFU) 6307 #define FTFE_FOPT1_OPT_SHIFT (0U) 6308 #define FTFE_FOPT1_OPT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FOPT1_OPT_SHIFT)) & FTFE_FOPT1_OPT_MASK) 6309 /*! @} */ 6310 6311 /*! @name FOPT0 - Flash Option Registers */ 6312 /*! @{ */ 6313 #define FTFE_FOPT0_OPT_MASK (0xFFU) 6314 #define FTFE_FOPT0_OPT_SHIFT (0U) 6315 #define FTFE_FOPT0_OPT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FOPT0_OPT_SHIFT)) & FTFE_FOPT0_OPT_MASK) 6316 /*! @} */ 6317 6318 /*! @name FPROTH3 - Primary Program Flash Protection Registers */ 6319 /*! @{ */ 6320 #define FTFE_FPROTH3_PROT_MASK (0xFFU) 6321 #define FTFE_FPROTH3_PROT_SHIFT (0U) 6322 #define FTFE_FPROTH3_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTH3_PROT_SHIFT)) & FTFE_FPROTH3_PROT_MASK) 6323 /*! @} */ 6324 6325 /*! @name FPROTH2 - Primary Program Flash Protection Registers */ 6326 /*! @{ */ 6327 #define FTFE_FPROTH2_PROT_MASK (0xFFU) 6328 #define FTFE_FPROTH2_PROT_SHIFT (0U) 6329 #define FTFE_FPROTH2_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTH2_PROT_SHIFT)) & FTFE_FPROTH2_PROT_MASK) 6330 /*! @} */ 6331 6332 /*! @name FPROTH1 - Primary Program Flash Protection Registers */ 6333 /*! @{ */ 6334 #define FTFE_FPROTH1_PROT_MASK (0xFFU) 6335 #define FTFE_FPROTH1_PROT_SHIFT (0U) 6336 #define FTFE_FPROTH1_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTH1_PROT_SHIFT)) & FTFE_FPROTH1_PROT_MASK) 6337 /*! @} */ 6338 6339 /*! @name FPROTH0 - Primary Program Flash Protection Registers */ 6340 /*! @{ */ 6341 #define FTFE_FPROTH0_PROT_MASK (0xFFU) 6342 #define FTFE_FPROTH0_PROT_SHIFT (0U) 6343 #define FTFE_FPROTH0_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTH0_PROT_SHIFT)) & FTFE_FPROTH0_PROT_MASK) 6344 /*! @} */ 6345 6346 /*! @name FPROTL3 - Primary Program Flash Protection Registers */ 6347 /*! @{ */ 6348 #define FTFE_FPROTL3_PROT_MASK (0xFFU) 6349 #define FTFE_FPROTL3_PROT_SHIFT (0U) 6350 #define FTFE_FPROTL3_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTL3_PROT_SHIFT)) & FTFE_FPROTL3_PROT_MASK) 6351 /*! @} */ 6352 6353 /*! @name FPROTL2 - Primary Program Flash Protection Registers */ 6354 /*! @{ */ 6355 #define FTFE_FPROTL2_PROT_MASK (0xFFU) 6356 #define FTFE_FPROTL2_PROT_SHIFT (0U) 6357 #define FTFE_FPROTL2_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTL2_PROT_SHIFT)) & FTFE_FPROTL2_PROT_MASK) 6358 /*! @} */ 6359 6360 /*! @name FPROTL1 - Primary Program Flash Protection Registers */ 6361 /*! @{ */ 6362 #define FTFE_FPROTL1_PROT_MASK (0xFFU) 6363 #define FTFE_FPROTL1_PROT_SHIFT (0U) 6364 #define FTFE_FPROTL1_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTL1_PROT_SHIFT)) & FTFE_FPROTL1_PROT_MASK) 6365 /*! @} */ 6366 6367 /*! @name FPROTL0 - Primary Program Flash Protection Registers */ 6368 /*! @{ */ 6369 #define FTFE_FPROTL0_PROT_MASK (0xFFU) 6370 #define FTFE_FPROTL0_PROT_SHIFT (0U) 6371 #define FTFE_FPROTL0_PROT(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTL0_PROT_SHIFT)) & FTFE_FPROTL0_PROT_MASK) 6372 /*! @} */ 6373 6374 /*! @name FPROTSL - Secondary Program Flash Protection Registers */ 6375 /*! @{ */ 6376 #define FTFE_FPROTSL_PROTS_MASK (0xFFU) 6377 #define FTFE_FPROTSL_PROTS_SHIFT (0U) 6378 #define FTFE_FPROTSL_PROTS(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTSL_PROTS_SHIFT)) & FTFE_FPROTSL_PROTS_MASK) 6379 /*! @} */ 6380 6381 /*! @name FPROTSH - Secondary Program Flash Protection Registers */ 6382 /*! @{ */ 6383 #define FTFE_FPROTSH_PROTS_MASK (0xFFU) 6384 #define FTFE_FPROTSH_PROTS_SHIFT (0U) 6385 #define FTFE_FPROTSH_PROTS(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FPROTSH_PROTS_SHIFT)) & FTFE_FPROTSH_PROTS_MASK) 6386 /*! @} */ 6387 6388 /*! @name FACSS - Primary Flash Access Segment Size Register */ 6389 /*! @{ */ 6390 #define FTFE_FACSS_SGSIZE_MASK (0xFFU) 6391 #define FTFE_FACSS_SGSIZE_SHIFT (0U) 6392 #define FTFE_FACSS_SGSIZE(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FACSS_SGSIZE_SHIFT)) & FTFE_FACSS_SGSIZE_MASK) 6393 /*! @} */ 6394 6395 /*! @name FACSN - Primary Flash Access Segment Number Register */ 6396 /*! @{ */ 6397 #define FTFE_FACSN_NUMSG_MASK (0xFFU) 6398 #define FTFE_FACSN_NUMSG_SHIFT (0U) 6399 /*! NUMSG - Number of Segments Indicator 6400 * 0b00110000..Primary Program flash memory is divided into 48 segments (768 Kbytes, 1.5 Mbytes) 6401 * 0b01000000..Primary Program flash memory is divided into 64 segments (512 Kbytes, 1 Mbyte, 2 Mbytes) 6402 */ 6403 #define FTFE_FACSN_NUMSG(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FACSN_NUMSG_SHIFT)) & FTFE_FACSN_NUMSG_MASK) 6404 /*! @} */ 6405 6406 /*! @name FACSSS - Secondary Flash Access Segment Size Register */ 6407 /*! @{ */ 6408 #define FTFE_FACSSS_SGSIZE_S_MASK (0xFFU) 6409 #define FTFE_FACSSS_SGSIZE_S_SHIFT (0U) 6410 #define FTFE_FACSSS_SGSIZE_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FACSSS_SGSIZE_S_SHIFT)) & FTFE_FACSSS_SGSIZE_S_MASK) 6411 /*! @} */ 6412 6413 /*! @name FACSNS - Secondary Flash Access Segment Number Register */ 6414 /*! @{ */ 6415 #define FTFE_FACSNS_NUMSG_S_MASK (0xFFU) 6416 #define FTFE_FACSNS_NUMSG_S_SHIFT (0U) 6417 /*! NUMSG_S - Number of Segments Indicator 6418 * 0b00010000..Secondary Program flash memory is divided into 16 segments 6419 */ 6420 #define FTFE_FACSNS_NUMSG_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FACSNS_NUMSG_S_SHIFT)) & FTFE_FACSNS_NUMSG_S_MASK) 6421 /*! @} */ 6422 6423 /*! @name XACCH3 - Primary Execute-only Access Registers */ 6424 /*! @{ */ 6425 #define FTFE_XACCH3_XA_MASK (0xFFU) 6426 #define FTFE_XACCH3_XA_SHIFT (0U) 6427 #define FTFE_XACCH3_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCH3_XA_SHIFT)) & FTFE_XACCH3_XA_MASK) 6428 /*! @} */ 6429 6430 /*! @name XACCH2 - Primary Execute-only Access Registers */ 6431 /*! @{ */ 6432 #define FTFE_XACCH2_XA_MASK (0xFFU) 6433 #define FTFE_XACCH2_XA_SHIFT (0U) 6434 #define FTFE_XACCH2_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCH2_XA_SHIFT)) & FTFE_XACCH2_XA_MASK) 6435 /*! @} */ 6436 6437 /*! @name XACCH1 - Primary Execute-only Access Registers */ 6438 /*! @{ */ 6439 #define FTFE_XACCH1_XA_MASK (0xFFU) 6440 #define FTFE_XACCH1_XA_SHIFT (0U) 6441 #define FTFE_XACCH1_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCH1_XA_SHIFT)) & FTFE_XACCH1_XA_MASK) 6442 /*! @} */ 6443 6444 /*! @name XACCH0 - Primary Execute-only Access Registers */ 6445 /*! @{ */ 6446 #define FTFE_XACCH0_XA_MASK (0xFFU) 6447 #define FTFE_XACCH0_XA_SHIFT (0U) 6448 #define FTFE_XACCH0_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCH0_XA_SHIFT)) & FTFE_XACCH0_XA_MASK) 6449 /*! @} */ 6450 6451 /*! @name XACCL3 - Primary Execute-only Access Registers */ 6452 /*! @{ */ 6453 #define FTFE_XACCL3_XA_MASK (0xFFU) 6454 #define FTFE_XACCL3_XA_SHIFT (0U) 6455 #define FTFE_XACCL3_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCL3_XA_SHIFT)) & FTFE_XACCL3_XA_MASK) 6456 /*! @} */ 6457 6458 /*! @name XACCL2 - Primary Execute-only Access Registers */ 6459 /*! @{ */ 6460 #define FTFE_XACCL2_XA_MASK (0xFFU) 6461 #define FTFE_XACCL2_XA_SHIFT (0U) 6462 #define FTFE_XACCL2_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCL2_XA_SHIFT)) & FTFE_XACCL2_XA_MASK) 6463 /*! @} */ 6464 6465 /*! @name XACCL1 - Primary Execute-only Access Registers */ 6466 /*! @{ */ 6467 #define FTFE_XACCL1_XA_MASK (0xFFU) 6468 #define FTFE_XACCL1_XA_SHIFT (0U) 6469 #define FTFE_XACCL1_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCL1_XA_SHIFT)) & FTFE_XACCL1_XA_MASK) 6470 /*! @} */ 6471 6472 /*! @name XACCL0 - Primary Execute-only Access Registers */ 6473 /*! @{ */ 6474 #define FTFE_XACCL0_XA_MASK (0xFFU) 6475 #define FTFE_XACCL0_XA_SHIFT (0U) 6476 #define FTFE_XACCL0_XA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCL0_XA_SHIFT)) & FTFE_XACCL0_XA_MASK) 6477 /*! @} */ 6478 6479 /*! @name SACCH3 - Primary Supervisor-only Access Registers */ 6480 /*! @{ */ 6481 #define FTFE_SACCH3_SA_MASK (0xFFU) 6482 #define FTFE_SACCH3_SA_SHIFT (0U) 6483 #define FTFE_SACCH3_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCH3_SA_SHIFT)) & FTFE_SACCH3_SA_MASK) 6484 /*! @} */ 6485 6486 /*! @name SACCH2 - Primary Supervisor-only Access Registers */ 6487 /*! @{ */ 6488 #define FTFE_SACCH2_SA_MASK (0xFFU) 6489 #define FTFE_SACCH2_SA_SHIFT (0U) 6490 #define FTFE_SACCH2_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCH2_SA_SHIFT)) & FTFE_SACCH2_SA_MASK) 6491 /*! @} */ 6492 6493 /*! @name SACCH1 - Primary Supervisor-only Access Registers */ 6494 /*! @{ */ 6495 #define FTFE_SACCH1_SA_MASK (0xFFU) 6496 #define FTFE_SACCH1_SA_SHIFT (0U) 6497 #define FTFE_SACCH1_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCH1_SA_SHIFT)) & FTFE_SACCH1_SA_MASK) 6498 /*! @} */ 6499 6500 /*! @name SACCH0 - Primary Supervisor-only Access Registers */ 6501 /*! @{ */ 6502 #define FTFE_SACCH0_SA_MASK (0xFFU) 6503 #define FTFE_SACCH0_SA_SHIFT (0U) 6504 #define FTFE_SACCH0_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCH0_SA_SHIFT)) & FTFE_SACCH0_SA_MASK) 6505 /*! @} */ 6506 6507 /*! @name SACCL3 - Primary Supervisor-only Access Registers */ 6508 /*! @{ */ 6509 #define FTFE_SACCL3_SA_MASK (0xFFU) 6510 #define FTFE_SACCL3_SA_SHIFT (0U) 6511 #define FTFE_SACCL3_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCL3_SA_SHIFT)) & FTFE_SACCL3_SA_MASK) 6512 /*! @} */ 6513 6514 /*! @name SACCL2 - Primary Supervisor-only Access Registers */ 6515 /*! @{ */ 6516 #define FTFE_SACCL2_SA_MASK (0xFFU) 6517 #define FTFE_SACCL2_SA_SHIFT (0U) 6518 #define FTFE_SACCL2_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCL2_SA_SHIFT)) & FTFE_SACCL2_SA_MASK) 6519 /*! @} */ 6520 6521 /*! @name SACCL1 - Primary Supervisor-only Access Registers */ 6522 /*! @{ */ 6523 #define FTFE_SACCL1_SA_MASK (0xFFU) 6524 #define FTFE_SACCL1_SA_SHIFT (0U) 6525 #define FTFE_SACCL1_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCL1_SA_SHIFT)) & FTFE_SACCL1_SA_MASK) 6526 /*! @} */ 6527 6528 /*! @name SACCL0 - Primary Supervisor-only Access Registers */ 6529 /*! @{ */ 6530 #define FTFE_SACCL0_SA_MASK (0xFFU) 6531 #define FTFE_SACCL0_SA_SHIFT (0U) 6532 #define FTFE_SACCL0_SA(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCL0_SA_SHIFT)) & FTFE_SACCL0_SA_MASK) 6533 /*! @} */ 6534 6535 /*! @name XACCSL - Secondary Execute-only Access Registers */ 6536 /*! @{ */ 6537 #define FTFE_XACCSL_XA_S_MASK (0xFFU) 6538 #define FTFE_XACCSL_XA_S_SHIFT (0U) 6539 #define FTFE_XACCSL_XA_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCSL_XA_S_SHIFT)) & FTFE_XACCSL_XA_S_MASK) 6540 /*! @} */ 6541 6542 /*! @name XACCSH - Secondary Execute-only Access Registers */ 6543 /*! @{ */ 6544 #define FTFE_XACCSH_XA_S_MASK (0xFFU) 6545 #define FTFE_XACCSH_XA_S_SHIFT (0U) 6546 #define FTFE_XACCSH_XA_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_XACCSH_XA_S_SHIFT)) & FTFE_XACCSH_XA_S_MASK) 6547 /*! @} */ 6548 6549 /*! @name SACCSL - Secondary Supervisor-only Access Registers */ 6550 /*! @{ */ 6551 #define FTFE_SACCSL_SA_S_MASK (0xFFU) 6552 #define FTFE_SACCSL_SA_S_SHIFT (0U) 6553 #define FTFE_SACCSL_SA_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCSL_SA_S_SHIFT)) & FTFE_SACCSL_SA_S_MASK) 6554 /*! @} */ 6555 6556 /*! @name SACCSH - Secondary Supervisor-only Access Registers */ 6557 /*! @{ */ 6558 #define FTFE_SACCSH_SA_S_MASK (0xFFU) 6559 #define FTFE_SACCSH_SA_S_SHIFT (0U) 6560 #define FTFE_SACCSH_SA_S(x) (((uint8_t)(((uint8_t)(x)) << FTFE_SACCSH_SA_S_SHIFT)) & FTFE_SACCSH_SA_S_MASK) 6561 /*! @} */ 6562 6563 /*! @name FSTDBYCTL - Flash Standby Control Register */ 6564 /*! @{ */ 6565 #define FTFE_FSTDBYCTL_STDBYDIS_MASK (0x1U) 6566 #define FTFE_FSTDBYCTL_STDBYDIS_SHIFT (0U) 6567 /*! STDBYDIS - Standy Mode Disable 6568 * 0b0..Standby mode enabled for flash blocks selected by STDBYx 6569 * 0b1..Standby mode disabled (STDBYx ignored) 6570 */ 6571 #define FTFE_FSTDBYCTL_STDBYDIS(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTDBYCTL_STDBYDIS_SHIFT)) & FTFE_FSTDBYCTL_STDBYDIS_MASK) 6572 /*! @} */ 6573 6574 /*! @name FSTDBY - Flash Standby Register */ 6575 /*! @{ */ 6576 #define FTFE_FSTDBY_STDBY0_MASK (0x1U) 6577 #define FTFE_FSTDBY_STDBY0_SHIFT (0U) 6578 /*! STDBY0 - Standy Mode for Flash Block 0 6579 * 0b0..Standby mode not enabled for flash block 0 6580 * 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) 6581 */ 6582 #define FTFE_FSTDBY_STDBY0(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTDBY_STDBY0_SHIFT)) & FTFE_FSTDBY_STDBY0_MASK) 6583 #define FTFE_FSTDBY_STDBY1_MASK (0x2U) 6584 #define FTFE_FSTDBY_STDBY1_SHIFT (1U) 6585 /*! STDBY1 - Standy Mode for Flash Block 1 6586 * 0b0..Standby mode not enabled for flash block 1 6587 * 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) 6588 */ 6589 #define FTFE_FSTDBY_STDBY1(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTDBY_STDBY1_SHIFT)) & FTFE_FSTDBY_STDBY1_MASK) 6590 #define FTFE_FSTDBY_STDBY2_MASK (0x4U) 6591 #define FTFE_FSTDBY_STDBY2_SHIFT (2U) 6592 /*! STDBY2 - Standy Mode for Flash Block 2 6593 * 0b0..Standby mode not enabled for flash block 2 6594 * 0b1..If STDBYDIS is clear, standby mode is enabled for flash block 2 6595 */ 6596 #define FTFE_FSTDBY_STDBY2(x) (((uint8_t)(((uint8_t)(x)) << FTFE_FSTDBY_STDBY2_SHIFT)) & FTFE_FSTDBY_STDBY2_MASK) 6597 /*! @} */ 6598 6599 6600 /*! 6601 * @} 6602 */ /* end of group FTFE_Register_Masks */ 6603 6604 6605 /* FTFE - Peripheral instance base addresses */ 6606 /** Peripheral FTFE base address */ 6607 #define FTFE_BASE (0x40023000u) 6608 /** Peripheral FTFE base pointer */ 6609 #define FTFE ((FTFE_Type *)FTFE_BASE) 6610 /** Array initializer of FTFE peripheral base addresses */ 6611 #define FTFE_BASE_ADDRS { FTFE_BASE } 6612 /** Array initializer of FTFE peripheral base pointers */ 6613 #define FTFE_BASE_PTRS { FTFE } 6614 /** Interrupt vectors for the FTFE peripheral type */ 6615 #define FTFE_COMMAND_COMPLETE_IRQS { FTFE_Command_Complete_IRQn } 6616 #define FTFE_READ_COLLISION_IRQS { FTFE_Read_Collision_IRQn } 6617 6618 /*! 6619 * @} 6620 */ /* end of group FTFE_Peripheral_Access_Layer */ 6621 6622 6623 /* ---------------------------------------------------------------------------- 6624 -- GENFSK Peripheral Access Layer 6625 ---------------------------------------------------------------------------- */ 6626 6627 /*! 6628 * @addtogroup GENFSK_Peripheral_Access_Layer GENFSK Peripheral Access Layer 6629 * @{ 6630 */ 6631 6632 /** GENFSK - Register Layout Typedef */ 6633 typedef struct { 6634 __IO uint32_t IRQ_CTRL; /**< IRQ CONTROL, offset: 0x0 */ 6635 __IO uint32_t EVENT_TMR; /**< EVENT TIMER, offset: 0x4 */ 6636 __IO uint32_t T1_CMP; /**< T1 COMPARE, offset: 0x8 */ 6637 __IO uint32_t T2_CMP; /**< T2 COMPARE, offset: 0xC */ 6638 __I uint32_t TIMESTAMP; /**< TIMESTAMP, offset: 0x10 */ 6639 __IO uint32_t XCVR_CTRL; /**< TRANSCEIVER CONTROL, offset: 0x14 */ 6640 __I uint32_t XCVR_STS; /**< TRANSCEIVER STATUS, offset: 0x18 */ 6641 __IO uint32_t XCVR_CFG; /**< TRANSCEIVER CONFIGURATION, offset: 0x1C */ 6642 __IO uint32_t CHANNEL_NUM; /**< CHANNEL NUMBER, offset: 0x20 */ 6643 __IO uint32_t TX_POWER; /**< TRANSMIT POWER, offset: 0x24 */ 6644 __IO uint32_t NTW_ADR_CTRL; /**< NETWORK ADDRESS CONTROL, offset: 0x28 */ 6645 __IO uint32_t NTW_ADR_0; /**< NETWORK ADDRESS 0, offset: 0x2C */ 6646 __IO uint32_t NTW_ADR_1; /**< NETWORK ADDRESS 1, offset: 0x30 */ 6647 __IO uint32_t NTW_ADR_2; /**< NETWORK ADDRESS 2, offset: 0x34 */ 6648 __IO uint32_t NTW_ADR_3; /**< NETWORK ADDRESS 3, offset: 0x38 */ 6649 __IO uint32_t RX_WATERMARK; /**< RECEIVE WATERMARK, offset: 0x3C */ 6650 __IO uint32_t DSM_CTRL; /**< DSM CONTROL, offset: 0x40 */ 6651 __I uint32_t PART_ID; /**< PART ID, offset: 0x44 */ 6652 uint8_t RESERVED_0[24]; 6653 __IO uint32_t PACKET_CFG; /**< PACKET CONFIGURATION, offset: 0x60 */ 6654 __IO uint32_t H0_CFG; /**< H0 CONFIGURATION, offset: 0x64 */ 6655 __IO uint32_t H1_CFG; /**< H1 CONFIGURATION, offset: 0x68 */ 6656 __IO uint32_t CRC_CFG; /**< CRC CONFIGURATION, offset: 0x6C */ 6657 __IO uint32_t CRC_INIT; /**< CRC INITIALIZATION, offset: 0x70 */ 6658 __IO uint32_t CRC_POLY; /**< CRC POLYNOMIAL, offset: 0x74 */ 6659 __IO uint32_t CRC_XOR_OUT; /**< CRC XOR OUT, offset: 0x78 */ 6660 __IO uint32_t WHITEN_CFG; /**< WHITENER CONFIGURATION, offset: 0x7C */ 6661 __IO uint32_t WHITEN_POLY; /**< WHITENER POLYNOMIAL, offset: 0x80 */ 6662 __IO uint32_t WHITEN_SZ_THR; /**< WHITENER SIZE THRESHOLD, offset: 0x84 */ 6663 __IO uint32_t BITRATE; /**< BIT RATE, offset: 0x88 */ 6664 __IO uint32_t PB_PARTITION; /**< PACKET BUFFER PARTITION POINT, offset: 0x8C */ 6665 uint8_t RESERVED_1[1648]; 6666 __IO uint16_t PACKET_BUFFER[1088]; /**< PACKET BUFFER, array offset: 0x700, array step: 0x2 */ 6667 } GENFSK_Type; 6668 6669 /* ---------------------------------------------------------------------------- 6670 -- GENFSK Register Masks 6671 ---------------------------------------------------------------------------- */ 6672 6673 /*! 6674 * @addtogroup GENFSK_Register_Masks GENFSK Register Masks 6675 * @{ 6676 */ 6677 6678 /*! @name IRQ_CTRL - IRQ CONTROL */ 6679 /*! @{ */ 6680 #define GENFSK_IRQ_CTRL_SEQ_END_IRQ_MASK (0x1U) 6681 #define GENFSK_IRQ_CTRL_SEQ_END_IRQ_SHIFT (0U) 6682 /*! SEQ_END_IRQ - Sequence End Interrupt 6683 * 0b0..Sequence End Interrupt is not asserted. 6684 * 0b1..Sequence End Interrupt is asserted. 6685 */ 6686 #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) 6687 #define GENFSK_IRQ_CTRL_TX_IRQ_MASK (0x2U) 6688 #define GENFSK_IRQ_CTRL_TX_IRQ_SHIFT (1U) 6689 /*! TX_IRQ - TX Interrupt 6690 * 0b0..TX Interrupt is not asserted. 6691 * 0b1..TX Interrupt is asserted. 6692 */ 6693 #define GENFSK_IRQ_CTRL_TX_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_TX_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_TX_IRQ_MASK) 6694 #define GENFSK_IRQ_CTRL_RX_IRQ_MASK (0x4U) 6695 #define GENFSK_IRQ_CTRL_RX_IRQ_SHIFT (2U) 6696 /*! RX_IRQ - RX Interrupt 6697 * 0b0..RX Interrupt is not asserted. 6698 * 0b1..RX Interrupt is asserted. 6699 */ 6700 #define GENFSK_IRQ_CTRL_RX_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_RX_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_RX_IRQ_MASK) 6701 #define GENFSK_IRQ_CTRL_NTW_ADR_IRQ_MASK (0x8U) 6702 #define GENFSK_IRQ_CTRL_NTW_ADR_IRQ_SHIFT (3U) 6703 /*! NTW_ADR_IRQ - Network Address Match Interrupt 6704 * 0b0..Network Address Match Interrupt is not asserted. 6705 * 0b1..Network Address Match Interrupt is asserted. 6706 */ 6707 #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) 6708 #define GENFSK_IRQ_CTRL_T1_IRQ_MASK (0x10U) 6709 #define GENFSK_IRQ_CTRL_T1_IRQ_SHIFT (4U) 6710 /*! T1_IRQ - Timer1 (T1) Compare Interrupt 6711 * 0b0..Timer1 (T1) Compare Interrupt is not asserted. 6712 * 0b1..Timer1 (T1) Compare Interrupt is asserted. 6713 */ 6714 #define GENFSK_IRQ_CTRL_T1_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_T1_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_T1_IRQ_MASK) 6715 #define GENFSK_IRQ_CTRL_T2_IRQ_MASK (0x20U) 6716 #define GENFSK_IRQ_CTRL_T2_IRQ_SHIFT (5U) 6717 /*! T2_IRQ - Timer2 (T2) Compare Interrupt 6718 * 0b0..Timer2 (T2) Compare Interrupt is not asserted. 6719 * 0b1..Timer2 (T2) Compare Interrupt is asserted. 6720 */ 6721 #define GENFSK_IRQ_CTRL_T2_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_T2_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_T2_IRQ_MASK) 6722 #define GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_MASK (0x40U) 6723 #define GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_SHIFT (6U) 6724 /*! PLL_UNLOCK_IRQ - PLL Unlock Interrupt 6725 * 0b0..PLL Unlock Interrupt is not asserted. 6726 * 0b1..PLL Unlock Interrupt is asserted. 6727 */ 6728 #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) 6729 #define GENFSK_IRQ_CTRL_WAKE_IRQ_MASK (0x80U) 6730 #define GENFSK_IRQ_CTRL_WAKE_IRQ_SHIFT (7U) 6731 /*! WAKE_IRQ - Wake Interrrupt 6732 * 0b0..Wake Interrupt is not asserted. 6733 * 0b1..Wake Interrupt is asserted. 6734 */ 6735 #define GENFSK_IRQ_CTRL_WAKE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_WAKE_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_WAKE_IRQ_MASK) 6736 #define GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_MASK (0x100U) 6737 #define GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_SHIFT (8U) 6738 /*! RX_WATERMARK_IRQ - RX Watermark Interrupt 6739 * 0b0..RX Watermark Interrupt is not asserted. 6740 * 0b1..RX Watermark Interrupt is asserted. 6741 */ 6742 #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) 6743 #define GENFSK_IRQ_CTRL_TSM_IRQ_MASK (0x200U) 6744 #define GENFSK_IRQ_CTRL_TSM_IRQ_SHIFT (9U) 6745 /*! TSM_IRQ - TSM Interrupt 6746 * 0b0..TSM0_IRQ and TSM1_IRQ are both clear. 6747 * 0b1..Indicates TSM0_IRQ or TSM1_IRQ is set in XCVR_STATUS. 6748 */ 6749 #define GENFSK_IRQ_CTRL_TSM_IRQ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_TSM_IRQ_SHIFT)) & GENFSK_IRQ_CTRL_TSM_IRQ_MASK) 6750 #define GENFSK_IRQ_CTRL_SEQ_END_IRQ_EN_MASK (0x10000U) 6751 #define GENFSK_IRQ_CTRL_SEQ_END_IRQ_EN_SHIFT (16U) 6752 /*! SEQ_END_IRQ_EN - SEQ_END_IRQ Enable 6753 * 0b0..Sequence End Interrupt is not enabled. 6754 * 0b1..Sequence End Interrupt is enabled. 6755 */ 6756 #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) 6757 #define GENFSK_IRQ_CTRL_TX_IRQ_EN_MASK (0x20000U) 6758 #define GENFSK_IRQ_CTRL_TX_IRQ_EN_SHIFT (17U) 6759 /*! TX_IRQ_EN - TX_IRQ Enable 6760 * 0b0..TX Interrupt is not enabled. 6761 * 0b1..TX Interrupt is enabled. 6762 */ 6763 #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) 6764 #define GENFSK_IRQ_CTRL_RX_IRQ_EN_MASK (0x40000U) 6765 #define GENFSK_IRQ_CTRL_RX_IRQ_EN_SHIFT (18U) 6766 /*! RX_IRQ_EN - RX_IRQ Enable 6767 * 0b0..RX Interrupt is not enabled. 6768 * 0b1..RX Interrupt is enabled. 6769 */ 6770 #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) 6771 #define GENFSK_IRQ_CTRL_NTW_ADR_IRQ_EN_MASK (0x80000U) 6772 #define GENFSK_IRQ_CTRL_NTW_ADR_IRQ_EN_SHIFT (19U) 6773 /*! NTW_ADR_IRQ_EN - NTW_ADR_IRQ Enable 6774 * 0b0..Network Address Match Interrupt is not enabled. 6775 * 0b1..Network Address Match Interrupt is enabled. 6776 */ 6777 #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) 6778 #define GENFSK_IRQ_CTRL_T1_IRQ_EN_MASK (0x100000U) 6779 #define GENFSK_IRQ_CTRL_T1_IRQ_EN_SHIFT (20U) 6780 /*! T1_IRQ_EN - T1_IRQ Enable 6781 * 0b0..Timer1 (T1) Compare Interrupt is not enabled. 6782 * 0b1..Timer1 (T1) Compare Interrupt is enabled. 6783 */ 6784 #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) 6785 #define GENFSK_IRQ_CTRL_T2_IRQ_EN_MASK (0x200000U) 6786 #define GENFSK_IRQ_CTRL_T2_IRQ_EN_SHIFT (21U) 6787 /*! T2_IRQ_EN - T2_IRQ Enable 6788 * 0b0..Timer1 (T2) Compare Interrupt is not enabled. 6789 * 0b1..Timer1 (T2) Compare Interrupt is enabled. 6790 */ 6791 #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) 6792 #define GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_EN_MASK (0x400000U) 6793 #define GENFSK_IRQ_CTRL_PLL_UNLOCK_IRQ_EN_SHIFT (22U) 6794 /*! PLL_UNLOCK_IRQ_EN - PLL_UNLOCK_IRQ Enable 6795 * 0b0..PLL Unlock Interrupt is not enabled. 6796 * 0b1..PLL Unlock Interrupt is enabled. 6797 */ 6798 #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) 6799 #define GENFSK_IRQ_CTRL_WAKE_IRQ_EN_MASK (0x800000U) 6800 #define GENFSK_IRQ_CTRL_WAKE_IRQ_EN_SHIFT (23U) 6801 /*! WAKE_IRQ_EN - WAKE_IRQ Enable 6802 * 0b0..Wake Interrupt is not enabled. 6803 * 0b1..Wake Interrupt is enabled. 6804 */ 6805 #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) 6806 #define GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_EN_MASK (0x1000000U) 6807 #define GENFSK_IRQ_CTRL_RX_WATERMARK_IRQ_EN_SHIFT (24U) 6808 /*! RX_WATERMARK_IRQ_EN - RX_WATERMARK_IRQ Enable 6809 * 0b0..RX Watermark Interrupt is not enabled. 6810 * 0b1..RX Watermark Interrupt is enabled. 6811 */ 6812 #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) 6813 #define GENFSK_IRQ_CTRL_TSM_IRQ_EN_MASK (0x2000000U) 6814 #define GENFSK_IRQ_CTRL_TSM_IRQ_EN_SHIFT (25U) 6815 /*! TSM_IRQ_EN - TSM_IRQ Enable 6816 * 0b0..TSM Interrupt is not enabled. 6817 * 0b1..TSM Interrupt is enabled. 6818 */ 6819 #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) 6820 #define GENFSK_IRQ_CTRL_GENERIC_FSK_IRQ_EN_MASK (0x4000000U) 6821 #define GENFSK_IRQ_CTRL_GENERIC_FSK_IRQ_EN_SHIFT (26U) 6822 /*! GENERIC_FSK_IRQ_EN - GENERIC_FSK_IRQ Master Enable 6823 * 0b0..All GENERIC_FSK Interrupts are disabled. 6824 * 0b1..All GENERIC_FSK Interrupts can be enabled. 6825 */ 6826 #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) 6827 #define GENFSK_IRQ_CTRL_CRC_IGNORE_MASK (0x8000000U) 6828 #define GENFSK_IRQ_CTRL_CRC_IGNORE_SHIFT (27U) 6829 /*! CRC_IGNORE - CRC Ignore 6830 * 0b0..RX_IRQ will not be asserted for a received packet which fails CRC verification. 6831 * 0b1..RX_IRQ will be asserted even for a received packet which fails CRC verification. 6832 */ 6833 #define GENFSK_IRQ_CTRL_CRC_IGNORE(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_CRC_IGNORE_SHIFT)) & GENFSK_IRQ_CTRL_CRC_IGNORE_MASK) 6834 #define GENFSK_IRQ_CTRL_CRC_VALID_MASK (0x80000000U) 6835 #define GENFSK_IRQ_CTRL_CRC_VALID_SHIFT (31U) 6836 /*! CRC_VALID - CRC Valid 6837 * 0b0..CRC of RX packet is not valid. 6838 * 0b1..CRC of RX packet is valid. 6839 */ 6840 #define GENFSK_IRQ_CTRL_CRC_VALID(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_IRQ_CTRL_CRC_VALID_SHIFT)) & GENFSK_IRQ_CTRL_CRC_VALID_MASK) 6841 /*! @} */ 6842 6843 /*! @name EVENT_TMR - EVENT TIMER */ 6844 /*! @{ */ 6845 #define GENFSK_EVENT_TMR_EVENT_TMR_MASK (0xFFFFFFU) 6846 #define GENFSK_EVENT_TMR_EVENT_TMR_SHIFT (0U) 6847 #define GENFSK_EVENT_TMR_EVENT_TMR(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_EVENT_TMR_EVENT_TMR_SHIFT)) & GENFSK_EVENT_TMR_EVENT_TMR_MASK) 6848 #define GENFSK_EVENT_TMR_EVENT_TMR_LD_MASK (0x1000000U) 6849 #define GENFSK_EVENT_TMR_EVENT_TMR_LD_SHIFT (24U) 6850 #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) 6851 #define GENFSK_EVENT_TMR_EVENT_TMR_ADD_MASK (0x2000000U) 6852 #define GENFSK_EVENT_TMR_EVENT_TMR_ADD_SHIFT (25U) 6853 #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) 6854 /*! @} */ 6855 6856 /*! @name T1_CMP - T1 COMPARE */ 6857 /*! @{ */ 6858 #define GENFSK_T1_CMP_T1_CMP_MASK (0xFFFFFFU) 6859 #define GENFSK_T1_CMP_T1_CMP_SHIFT (0U) 6860 #define GENFSK_T1_CMP_T1_CMP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_T1_CMP_T1_CMP_SHIFT)) & GENFSK_T1_CMP_T1_CMP_MASK) 6861 #define GENFSK_T1_CMP_T1_CMP_EN_MASK (0x1000000U) 6862 #define GENFSK_T1_CMP_T1_CMP_EN_SHIFT (24U) 6863 #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) 6864 /*! @} */ 6865 6866 /*! @name T2_CMP - T2 COMPARE */ 6867 /*! @{ */ 6868 #define GENFSK_T2_CMP_T2_CMP_MASK (0xFFFFFFU) 6869 #define GENFSK_T2_CMP_T2_CMP_SHIFT (0U) 6870 #define GENFSK_T2_CMP_T2_CMP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_T2_CMP_T2_CMP_SHIFT)) & GENFSK_T2_CMP_T2_CMP_MASK) 6871 #define GENFSK_T2_CMP_T2_CMP_EN_MASK (0x1000000U) 6872 #define GENFSK_T2_CMP_T2_CMP_EN_SHIFT (24U) 6873 #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) 6874 /*! @} */ 6875 6876 /*! @name TIMESTAMP - TIMESTAMP */ 6877 /*! @{ */ 6878 #define GENFSK_TIMESTAMP_TIMESTAMP_MASK (0xFFFFFFU) 6879 #define GENFSK_TIMESTAMP_TIMESTAMP_SHIFT (0U) 6880 #define GENFSK_TIMESTAMP_TIMESTAMP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_TIMESTAMP_TIMESTAMP_SHIFT)) & GENFSK_TIMESTAMP_TIMESTAMP_MASK) 6881 /*! @} */ 6882 6883 /*! @name XCVR_CTRL - TRANSCEIVER CONTROL */ 6884 /*! @{ */ 6885 #define GENFSK_XCVR_CTRL_SEQCMD_MASK (0xFU) 6886 #define GENFSK_XCVR_CTRL_SEQCMD_SHIFT (0U) 6887 /*! SEQCMD - Sequence Commands 6888 * 0b0000..No Action 6889 * 0b0001..TX Start Now 6890 * 0b0010..TX Start @ T1 Timer Compare Match (EVENT_TMR = T1_CMP) 6891 * 0b0011..TX Start @ T2 Timer Compare Match (EVENT_TMR = T2_CMP) 6892 * 0b0100..TX Cancel -- Cancels pending TX events but do not abort a TX-in-progress 6893 * 0b0101..RX Start Now 6894 * 0b0110..RX Start @ T1 Timer Compare Match (EVENT_TMR = T1_CMP) 6895 * 0b0111..RX Start @ T2 Timer Compare Match (EVENT_TMR = T2_CMP) 6896 * 0b1000..RX Stop @ T1 Timer Compare Match (EVENT_TMR = T1_CMP) 6897 * 0b1001..RX Stop @ T2 Timer Compare Match (EVENT_TMR = T2_CMP) 6898 * 0b1010..RX Cancel -- Cancels pending RX events but do not abort a RX-in-progress 6899 * 0b1011..Abort All - Cancels all pending events and abort any sequence-in-progress 6900 * 0b1100..Reserved 6901 * 0b1101..Reserved 6902 * 0b1110..Reserved 6903 * 0b1111..Reserved 6904 */ 6905 #define GENFSK_XCVR_CTRL_SEQCMD(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CTRL_SEQCMD_SHIFT)) & GENFSK_XCVR_CTRL_SEQCMD_MASK) 6906 #define GENFSK_XCVR_CTRL_LENGTH_EXT_MASK (0x7FF00U) 6907 #define GENFSK_XCVR_CTRL_LENGTH_EXT_SHIFT (8U) 6908 #define GENFSK_XCVR_CTRL_LENGTH_EXT(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CTRL_LENGTH_EXT_SHIFT)) & GENFSK_XCVR_CTRL_LENGTH_EXT_MASK) 6909 #define GENFSK_XCVR_CTRL_CMDDEC_CS_MASK (0x7000000U) 6910 #define GENFSK_XCVR_CTRL_CMDDEC_CS_SHIFT (24U) 6911 #define GENFSK_XCVR_CTRL_CMDDEC_CS(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CTRL_CMDDEC_CS_SHIFT)) & GENFSK_XCVR_CTRL_CMDDEC_CS_MASK) 6912 #define GENFSK_XCVR_CTRL_XCVR_BUSY_MASK (0x80000000U) 6913 #define GENFSK_XCVR_CTRL_XCVR_BUSY_SHIFT (31U) 6914 /*! XCVR_BUSY - Transceiver Busy 6915 * 0b0..IDLE 6916 * 0b1..BUSY 6917 */ 6918 #define GENFSK_XCVR_CTRL_XCVR_BUSY(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CTRL_XCVR_BUSY_SHIFT)) & GENFSK_XCVR_CTRL_XCVR_BUSY_MASK) 6919 /*! @} */ 6920 6921 /*! @name XCVR_STS - TRANSCEIVER STATUS */ 6922 /*! @{ */ 6923 #define GENFSK_XCVR_STS_TX_START_T1_PEND_MASK (0x1U) 6924 #define GENFSK_XCVR_STS_TX_START_T1_PEND_SHIFT (0U) 6925 #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) 6926 #define GENFSK_XCVR_STS_TX_START_T2_PEND_MASK (0x2U) 6927 #define GENFSK_XCVR_STS_TX_START_T2_PEND_SHIFT (1U) 6928 #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) 6929 #define GENFSK_XCVR_STS_TX_IN_WARMUP_MASK (0x4U) 6930 #define GENFSK_XCVR_STS_TX_IN_WARMUP_SHIFT (2U) 6931 #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) 6932 #define GENFSK_XCVR_STS_TX_IN_PROGRESS_MASK (0x8U) 6933 #define GENFSK_XCVR_STS_TX_IN_PROGRESS_SHIFT (3U) 6934 #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) 6935 #define GENFSK_XCVR_STS_TX_IN_WARMDN_MASK (0x10U) 6936 #define GENFSK_XCVR_STS_TX_IN_WARMDN_SHIFT (4U) 6937 #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) 6938 #define GENFSK_XCVR_STS_RX_START_T1_PEND_MASK (0x20U) 6939 #define GENFSK_XCVR_STS_RX_START_T1_PEND_SHIFT (5U) 6940 #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) 6941 #define GENFSK_XCVR_STS_RX_START_T2_PEND_MASK (0x40U) 6942 #define GENFSK_XCVR_STS_RX_START_T2_PEND_SHIFT (6U) 6943 #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) 6944 #define GENFSK_XCVR_STS_RX_STOP_T1_PEND_MASK (0x80U) 6945 #define GENFSK_XCVR_STS_RX_STOP_T1_PEND_SHIFT (7U) 6946 #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) 6947 #define GENFSK_XCVR_STS_RX_STOP_T2_PEND_MASK (0x100U) 6948 #define GENFSK_XCVR_STS_RX_STOP_T2_PEND_SHIFT (8U) 6949 #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) 6950 #define GENFSK_XCVR_STS_RX_IN_WARMUP_MASK (0x200U) 6951 #define GENFSK_XCVR_STS_RX_IN_WARMUP_SHIFT (9U) 6952 #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) 6953 #define GENFSK_XCVR_STS_RX_IN_SEARCH_MASK (0x400U) 6954 #define GENFSK_XCVR_STS_RX_IN_SEARCH_SHIFT (10U) 6955 #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) 6956 #define GENFSK_XCVR_STS_RX_IN_PROGRESS_MASK (0x800U) 6957 #define GENFSK_XCVR_STS_RX_IN_PROGRESS_SHIFT (11U) 6958 #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) 6959 #define GENFSK_XCVR_STS_RX_IN_WARMDN_MASK (0x1000U) 6960 #define GENFSK_XCVR_STS_RX_IN_WARMDN_SHIFT (12U) 6961 #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) 6962 #define GENFSK_XCVR_STS_LQI_VALID_MASK (0x4000U) 6963 #define GENFSK_XCVR_STS_LQI_VALID_SHIFT (14U) 6964 /*! LQI_VALID - LQI Valid Indicator 6965 * 0b0..LQI is not yet valid for RX packet. 6966 * 0b1..LQI is valid for RX packet. 6967 */ 6968 #define GENFSK_XCVR_STS_LQI_VALID(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_LQI_VALID_SHIFT)) & GENFSK_XCVR_STS_LQI_VALID_MASK) 6969 #define GENFSK_XCVR_STS_CRC_VALID_MASK (0x8000U) 6970 #define GENFSK_XCVR_STS_CRC_VALID_SHIFT (15U) 6971 /*! CRC_VALID - CRC Valid Indicator 6972 * 0b0..CRC is not valid for RX packet. 6973 * 0b1..CRC is valid for RX packet. 6974 */ 6975 #define GENFSK_XCVR_STS_CRC_VALID(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_CRC_VALID_SHIFT)) & GENFSK_XCVR_STS_CRC_VALID_MASK) 6976 #define GENFSK_XCVR_STS_RSSI_MASK (0xFF0000U) 6977 #define GENFSK_XCVR_STS_RSSI_SHIFT (16U) 6978 #define GENFSK_XCVR_STS_RSSI(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_RSSI_SHIFT)) & GENFSK_XCVR_STS_RSSI_MASK) 6979 #define GENFSK_XCVR_STS_LQI_MASK (0xFF000000U) 6980 #define GENFSK_XCVR_STS_LQI_SHIFT (24U) 6981 #define GENFSK_XCVR_STS_LQI(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_STS_LQI_SHIFT)) & GENFSK_XCVR_STS_LQI_MASK) 6982 /*! @} */ 6983 6984 /*! @name XCVR_CFG - TRANSCEIVER CONFIGURATION */ 6985 /*! @{ */ 6986 #define GENFSK_XCVR_CFG_TX_WHITEN_DIS_MASK (0x1U) 6987 #define GENFSK_XCVR_CFG_TX_WHITEN_DIS_SHIFT (0U) 6988 #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) 6989 #define GENFSK_XCVR_CFG_RX_DEWHITEN_DIS_MASK (0x2U) 6990 #define GENFSK_XCVR_CFG_RX_DEWHITEN_DIS_SHIFT (1U) 6991 #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) 6992 #define GENFSK_XCVR_CFG_SW_CRC_EN_MASK (0x4U) 6993 #define GENFSK_XCVR_CFG_SW_CRC_EN_SHIFT (2U) 6994 #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) 6995 #define GENFSK_XCVR_CFG_STOP_POSTPONE_ON_AA_MASK (0x8U) 6996 #define GENFSK_XCVR_CFG_STOP_POSTPONE_ON_AA_SHIFT (3U) 6997 /*! STOP_POSTPONE_ON_AA - Postpone Stop Command Timeout On Access Address Match Enable 6998 * 0b0..STOP Abort will occur on RX_STOP_T1 or RX_STOP_T1 Event Timer match, regardless of ntw_adr_matched 6999 * 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 7000 */ 7001 #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) 7002 #define GENFSK_XCVR_CFG_PREAMBLE_SZ_MASK (0x70U) 7003 #define GENFSK_XCVR_CFG_PREAMBLE_SZ_SHIFT (4U) 7004 #define GENFSK_XCVR_CFG_PREAMBLE_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CFG_PREAMBLE_SZ_SHIFT)) & GENFSK_XCVR_CFG_PREAMBLE_SZ_MASK) 7005 #define GENFSK_XCVR_CFG_TX_WARMUP_MASK (0xFF00U) 7006 #define GENFSK_XCVR_CFG_TX_WARMUP_SHIFT (8U) 7007 #define GENFSK_XCVR_CFG_TX_WARMUP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CFG_TX_WARMUP_SHIFT)) & GENFSK_XCVR_CFG_TX_WARMUP_MASK) 7008 #define GENFSK_XCVR_CFG_RX_WARMUP_MASK (0xFF0000U) 7009 #define GENFSK_XCVR_CFG_RX_WARMUP_SHIFT (16U) 7010 #define GENFSK_XCVR_CFG_RX_WARMUP(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_XCVR_CFG_RX_WARMUP_SHIFT)) & GENFSK_XCVR_CFG_RX_WARMUP_MASK) 7011 /*! @} */ 7012 7013 /*! @name CHANNEL_NUM - CHANNEL NUMBER */ 7014 /*! @{ */ 7015 #define GENFSK_CHANNEL_NUM_CHANNEL_NUM_MASK (0x7FU) 7016 #define GENFSK_CHANNEL_NUM_CHANNEL_NUM_SHIFT (0U) 7017 #define GENFSK_CHANNEL_NUM_CHANNEL_NUM(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CHANNEL_NUM_CHANNEL_NUM_SHIFT)) & GENFSK_CHANNEL_NUM_CHANNEL_NUM_MASK) 7018 /*! @} */ 7019 7020 /*! @name TX_POWER - TRANSMIT POWER */ 7021 /*! @{ */ 7022 #define GENFSK_TX_POWER_TX_POWER_MASK (0x3FU) 7023 #define GENFSK_TX_POWER_TX_POWER_SHIFT (0U) 7024 #define GENFSK_TX_POWER_TX_POWER(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_TX_POWER_TX_POWER_SHIFT)) & GENFSK_TX_POWER_TX_POWER_MASK) 7025 /*! @} */ 7026 7027 /*! @name NTW_ADR_CTRL - NETWORK ADDRESS CONTROL */ 7028 /*! @{ */ 7029 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_EN_MASK (0xFU) 7030 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_EN_SHIFT (0U) 7031 /*! NTW_ADR_EN - Network Address Enable 7032 * 0b0001..Enable Network Address 0 for correlation 7033 * 0b0010..Enable Network Address 1 for correlation 7034 * 0b0100..Enable Network Address 2 for correlation 7035 * 0b1000..Enable Network Address 3 for correlation 7036 */ 7037 #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) 7038 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_MCH_MASK (0xF0U) 7039 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_MCH_SHIFT (4U) 7040 /*! NTW_ADR_MCH - Network Address Match 7041 * 0b0001..Network Address 0 has matched 7042 * 0b0010..Network Address 1 has matched 7043 * 0b0100..Network Address 2 has matched 7044 * 0b1000..Network Address 3 has matched 7045 */ 7046 #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) 7047 #define GENFSK_NTW_ADR_CTRL_NTW_ADR0_SZ_MASK (0x300U) 7048 #define GENFSK_NTW_ADR_CTRL_NTW_ADR0_SZ_SHIFT (8U) 7049 /*! NTW_ADR0_SZ - Network Address 0 Size 7050 * 0b00..Network Address 0 requires a 8-bit correlation 7051 * 0b01..Network Address 0 requires a 16-bit correlation 7052 * 0b10..Network Address 0 requires a 24-bit correlation 7053 * 0b11..Network Address 0 requires a 32-bit correlation 7054 */ 7055 #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) 7056 #define GENFSK_NTW_ADR_CTRL_NTW_ADR1_SZ_MASK (0xC00U) 7057 #define GENFSK_NTW_ADR_CTRL_NTW_ADR1_SZ_SHIFT (10U) 7058 /*! NTW_ADR1_SZ - Network Address 1 Size 7059 * 0b00..Network Address 1 requires a 8-bit correlation 7060 * 0b01..Network Address 1 requires a 16-bit correlation 7061 * 0b10..Network Address 1 requires a 24-bit correlation 7062 * 0b11..Network Address 1 requires a 32-bit correlation 7063 */ 7064 #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) 7065 #define GENFSK_NTW_ADR_CTRL_NTW_ADR2_SZ_MASK (0x3000U) 7066 #define GENFSK_NTW_ADR_CTRL_NTW_ADR2_SZ_SHIFT (12U) 7067 /*! NTW_ADR2_SZ - Network Address 2 Size 7068 * 0b00..Network Address 2 requires a 8-bit correlation 7069 * 0b01..Network Address 2 requires a 16-bit correlation 7070 * 0b10..Network Address 2 requires a 24-bit correlation 7071 * 0b11..Network Address 2 requires a 32-bit correlation 7072 */ 7073 #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) 7074 #define GENFSK_NTW_ADR_CTRL_NTW_ADR3_SZ_MASK (0xC000U) 7075 #define GENFSK_NTW_ADR_CTRL_NTW_ADR3_SZ_SHIFT (14U) 7076 /*! NTW_ADR3_SZ - Network Address 3 Size 7077 * 0b00..Network Address 3 requires a 8-bit correlation 7078 * 0b01..Network Address 3 requires a 16-bit correlation 7079 * 0b10..Network Address 3 requires a 24-bit correlation 7080 * 0b11..Network Address 3 requires a 32-bit correlation 7081 */ 7082 #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) 7083 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR0_MASK (0x70000U) 7084 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR0_SHIFT (16U) 7085 #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) 7086 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR1_MASK (0x700000U) 7087 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR1_SHIFT (20U) 7088 #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) 7089 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR2_MASK (0x7000000U) 7090 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR2_SHIFT (24U) 7091 #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) 7092 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR3_MASK (0x70000000U) 7093 #define GENFSK_NTW_ADR_CTRL_NTW_ADR_THR3_SHIFT (28U) 7094 #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) 7095 /*! @} */ 7096 7097 /*! @name NTW_ADR_0 - NETWORK ADDRESS 0 */ 7098 /*! @{ */ 7099 #define GENFSK_NTW_ADR_0_NTW_ADR_0_MASK (0xFFFFFFFFU) 7100 #define GENFSK_NTW_ADR_0_NTW_ADR_0_SHIFT (0U) 7101 #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) 7102 /*! @} */ 7103 7104 /*! @name NTW_ADR_1 - NETWORK ADDRESS 1 */ 7105 /*! @{ */ 7106 #define GENFSK_NTW_ADR_1_NTW_ADR_1_MASK (0xFFFFFFFFU) 7107 #define GENFSK_NTW_ADR_1_NTW_ADR_1_SHIFT (0U) 7108 #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) 7109 /*! @} */ 7110 7111 /*! @name NTW_ADR_2 - NETWORK ADDRESS 2 */ 7112 /*! @{ */ 7113 #define GENFSK_NTW_ADR_2_NTW_ADR_2_MASK (0xFFFFFFFFU) 7114 #define GENFSK_NTW_ADR_2_NTW_ADR_2_SHIFT (0U) 7115 #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) 7116 /*! @} */ 7117 7118 /*! @name NTW_ADR_3 - NETWORK ADDRESS 3 */ 7119 /*! @{ */ 7120 #define GENFSK_NTW_ADR_3_NTW_ADR_3_MASK (0xFFFFFFFFU) 7121 #define GENFSK_NTW_ADR_3_NTW_ADR_3_SHIFT (0U) 7122 #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) 7123 /*! @} */ 7124 7125 /*! @name RX_WATERMARK - RECEIVE WATERMARK */ 7126 /*! @{ */ 7127 #define GENFSK_RX_WATERMARK_RX_WATERMARK_MASK (0x1FFFU) 7128 #define GENFSK_RX_WATERMARK_RX_WATERMARK_SHIFT (0U) 7129 #define GENFSK_RX_WATERMARK_RX_WATERMARK(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_RX_WATERMARK_RX_WATERMARK_SHIFT)) & GENFSK_RX_WATERMARK_RX_WATERMARK_MASK) 7130 #define GENFSK_RX_WATERMARK_BYTE_COUNTER_MASK (0x1FFF0000U) 7131 #define GENFSK_RX_WATERMARK_BYTE_COUNTER_SHIFT (16U) 7132 #define GENFSK_RX_WATERMARK_BYTE_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_RX_WATERMARK_BYTE_COUNTER_SHIFT)) & GENFSK_RX_WATERMARK_BYTE_COUNTER_MASK) 7133 /*! @} */ 7134 7135 /*! @name DSM_CTRL - DSM CONTROL */ 7136 /*! @{ */ 7137 #define GENFSK_DSM_CTRL_GEN_SLEEP_REQUEST_MASK (0x1U) 7138 #define GENFSK_DSM_CTRL_GEN_SLEEP_REQUEST_SHIFT (0U) 7139 #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) 7140 /*! @} */ 7141 7142 /*! @name PART_ID - PART ID */ 7143 /*! @{ */ 7144 #define GENFSK_PART_ID_PART_ID_MASK (0xFFU) 7145 #define GENFSK_PART_ID_PART_ID_SHIFT (0U) 7146 #define GENFSK_PART_ID_PART_ID(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PART_ID_PART_ID_SHIFT)) & GENFSK_PART_ID_PART_ID_MASK) 7147 /*! @} */ 7148 7149 /*! @name PACKET_CFG - PACKET CONFIGURATION */ 7150 /*! @{ */ 7151 #define GENFSK_PACKET_CFG_LENGTH_SZ_MASK (0x1FU) 7152 #define GENFSK_PACKET_CFG_LENGTH_SZ_SHIFT (0U) 7153 #define GENFSK_PACKET_CFG_LENGTH_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_LENGTH_SZ_SHIFT)) & GENFSK_PACKET_CFG_LENGTH_SZ_MASK) 7154 #define GENFSK_PACKET_CFG_LENGTH_BIT_ORD_MASK (0x20U) 7155 #define GENFSK_PACKET_CFG_LENGTH_BIT_ORD_SHIFT (5U) 7156 /*! LENGTH_BIT_ORD - LENGTH Bit Order 7157 * 0b0..LS Bit First 7158 * 0b1..MS Bit First 7159 */ 7160 #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) 7161 #define GENFSK_PACKET_CFG_SYNC_ADDR_SZ_MASK (0xC0U) 7162 #define GENFSK_PACKET_CFG_SYNC_ADDR_SZ_SHIFT (6U) 7163 #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) 7164 #define GENFSK_PACKET_CFG_LENGTH_ADJ_MASK (0xFF00U) 7165 #define GENFSK_PACKET_CFG_LENGTH_ADJ_SHIFT (8U) 7166 #define GENFSK_PACKET_CFG_LENGTH_ADJ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_LENGTH_ADJ_SHIFT)) & GENFSK_PACKET_CFG_LENGTH_ADJ_MASK) 7167 #define GENFSK_PACKET_CFG_H0_SZ_MASK (0x1F0000U) 7168 #define GENFSK_PACKET_CFG_H0_SZ_SHIFT (16U) 7169 #define GENFSK_PACKET_CFG_H0_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_H0_SZ_SHIFT)) & GENFSK_PACKET_CFG_H0_SZ_MASK) 7170 #define GENFSK_PACKET_CFG_LENGTH_ADJ_UNSIGNED_MASK (0x200000U) 7171 #define GENFSK_PACKET_CFG_LENGTH_ADJ_UNSIGNED_SHIFT (21U) 7172 /*! LENGTH_ADJ_UNSIGNED - Length Adjustment Unsigned Enabled 7173 * 0b0..Hardware interprets LENGTH_ADJ as a signed integer (default) 7174 * 0b1..Hardware interprets LENGTH_ADJ as a unsigned integer 7175 */ 7176 #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) 7177 #define GENFSK_PACKET_CFG_H1_SZ_MASK (0x1F000000U) 7178 #define GENFSK_PACKET_CFG_H1_SZ_SHIFT (24U) 7179 #define GENFSK_PACKET_CFG_H1_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_H1_SZ_SHIFT)) & GENFSK_PACKET_CFG_H1_SZ_MASK) 7180 #define GENFSK_PACKET_CFG_H1_FAIL_MASK (0x20000000U) 7181 #define GENFSK_PACKET_CFG_H1_FAIL_SHIFT (29U) 7182 #define GENFSK_PACKET_CFG_H1_FAIL(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_H1_FAIL_SHIFT)) & GENFSK_PACKET_CFG_H1_FAIL_MASK) 7183 #define GENFSK_PACKET_CFG_H0_FAIL_MASK (0x40000000U) 7184 #define GENFSK_PACKET_CFG_H0_FAIL_SHIFT (30U) 7185 #define GENFSK_PACKET_CFG_H0_FAIL(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_H0_FAIL_SHIFT)) & GENFSK_PACKET_CFG_H0_FAIL_MASK) 7186 #define GENFSK_PACKET_CFG_LENGTH_FAIL_MASK (0x80000000U) 7187 #define GENFSK_PACKET_CFG_LENGTH_FAIL_SHIFT (31U) 7188 #define GENFSK_PACKET_CFG_LENGTH_FAIL(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PACKET_CFG_LENGTH_FAIL_SHIFT)) & GENFSK_PACKET_CFG_LENGTH_FAIL_MASK) 7189 /*! @} */ 7190 7191 /*! @name H0_CFG - H0 CONFIGURATION */ 7192 /*! @{ */ 7193 #define GENFSK_H0_CFG_H0_MATCH_MASK (0xFFFFU) 7194 #define GENFSK_H0_CFG_H0_MATCH_SHIFT (0U) 7195 #define GENFSK_H0_CFG_H0_MATCH(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_H0_CFG_H0_MATCH_SHIFT)) & GENFSK_H0_CFG_H0_MATCH_MASK) 7196 #define GENFSK_H0_CFG_H0_MASK_MASK (0xFFFF0000U) 7197 #define GENFSK_H0_CFG_H0_MASK_SHIFT (16U) 7198 #define GENFSK_H0_CFG_H0_MASK(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_H0_CFG_H0_MASK_SHIFT)) & GENFSK_H0_CFG_H0_MASK_MASK) 7199 /*! @} */ 7200 7201 /*! @name H1_CFG - H1 CONFIGURATION */ 7202 /*! @{ */ 7203 #define GENFSK_H1_CFG_H1_MATCH_MASK (0xFFFFU) 7204 #define GENFSK_H1_CFG_H1_MATCH_SHIFT (0U) 7205 #define GENFSK_H1_CFG_H1_MATCH(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_H1_CFG_H1_MATCH_SHIFT)) & GENFSK_H1_CFG_H1_MATCH_MASK) 7206 #define GENFSK_H1_CFG_H1_MASK_MASK (0xFFFF0000U) 7207 #define GENFSK_H1_CFG_H1_MASK_SHIFT (16U) 7208 #define GENFSK_H1_CFG_H1_MASK(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_H1_CFG_H1_MASK_SHIFT)) & GENFSK_H1_CFG_H1_MASK_MASK) 7209 /*! @} */ 7210 7211 /*! @name CRC_CFG - CRC CONFIGURATION */ 7212 /*! @{ */ 7213 #define GENFSK_CRC_CFG_CRC_SZ_MASK (0x7U) 7214 #define GENFSK_CRC_CFG_CRC_SZ_SHIFT (0U) 7215 #define GENFSK_CRC_CFG_CRC_SZ(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_CFG_CRC_SZ_SHIFT)) & GENFSK_CRC_CFG_CRC_SZ_MASK) 7216 #define GENFSK_CRC_CFG_CRC_START_BYTE_MASK (0xF00U) 7217 #define GENFSK_CRC_CFG_CRC_START_BYTE_SHIFT (8U) 7218 #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) 7219 #define GENFSK_CRC_CFG_CRC_REF_IN_MASK (0x10000U) 7220 #define GENFSK_CRC_CFG_CRC_REF_IN_SHIFT (16U) 7221 /*! CRC_REF_IN - CRC Reflect In 7222 * 0b0..do not manipulate input data stream 7223 * 0b1..reflect each byte in the input stream bitwise 7224 */ 7225 #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) 7226 #define GENFSK_CRC_CFG_CRC_REF_OUT_MASK (0x20000U) 7227 #define GENFSK_CRC_CFG_CRC_REF_OUT_SHIFT (17U) 7228 /*! CRC_REF_OUT - CRC Reflect Out 7229 * 0b0..do not manipulate CRC result 7230 * 0b1..CRC result is to be reflected bitwise (operated on entire word) 7231 */ 7232 #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) 7233 #define GENFSK_CRC_CFG_CRC_BYTE_ORD_MASK (0x40000U) 7234 #define GENFSK_CRC_CFG_CRC_BYTE_ORD_SHIFT (18U) 7235 /*! CRC_BYTE_ORD - CRC Byte Order 7236 * 0b0..LS Byte First 7237 * 0b1..MS Byte First 7238 */ 7239 #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) 7240 /*! @} */ 7241 7242 /*! @name CRC_INIT - CRC INITIALIZATION */ 7243 /*! @{ */ 7244 #define GENFSK_CRC_INIT_CRC_SEED_MASK (0xFFFFFFFFU) 7245 #define GENFSK_CRC_INIT_CRC_SEED_SHIFT (0U) 7246 #define GENFSK_CRC_INIT_CRC_SEED(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_INIT_CRC_SEED_SHIFT)) & GENFSK_CRC_INIT_CRC_SEED_MASK) 7247 /*! @} */ 7248 7249 /*! @name CRC_POLY - CRC POLYNOMIAL */ 7250 /*! @{ */ 7251 #define GENFSK_CRC_POLY_CRC_POLY_MASK (0xFFFFFFFFU) 7252 #define GENFSK_CRC_POLY_CRC_POLY_SHIFT (0U) 7253 #define GENFSK_CRC_POLY_CRC_POLY(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_CRC_POLY_CRC_POLY_SHIFT)) & GENFSK_CRC_POLY_CRC_POLY_MASK) 7254 /*! @} */ 7255 7256 /*! @name CRC_XOR_OUT - CRC XOR OUT */ 7257 /*! @{ */ 7258 #define GENFSK_CRC_XOR_OUT_CRC_XOR_OUT_MASK (0xFFFFFFFFU) 7259 #define GENFSK_CRC_XOR_OUT_CRC_XOR_OUT_SHIFT (0U) 7260 #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) 7261 /*! @} */ 7262 7263 /*! @name WHITEN_CFG - WHITENER CONFIGURATION */ 7264 /*! @{ */ 7265 #define GENFSK_WHITEN_CFG_WHITEN_START_MASK (0x3U) 7266 #define GENFSK_WHITEN_CFG_WHITEN_START_SHIFT (0U) 7267 /*! WHITEN_START - Configure Whitener Start Point 7268 * 0b00..no whitening 7269 * 0b01..start whitening at start-of-H0 7270 * 0b10..start whitening at start-of-H1 but only if LENGTH > WHITEN_SZ_THR 7271 * 0b11..start whitening at start-of-payload but only if LENGTH > WHITEN_SZ_THR 7272 */ 7273 #define GENFSK_WHITEN_CFG_WHITEN_START(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_START_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_START_MASK) 7274 #define GENFSK_WHITEN_CFG_WHITEN_END_MASK (0x4U) 7275 #define GENFSK_WHITEN_CFG_WHITEN_END_SHIFT (2U) 7276 /*! WHITEN_END - Configure end-of-whitening 7277 * 0b0..end whiten at end-of-payload 7278 * 0b1..end whiten at end-of-crc 7279 */ 7280 #define GENFSK_WHITEN_CFG_WHITEN_END(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_END_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_END_MASK) 7281 #define GENFSK_WHITEN_CFG_WHITEN_B4_CRC_MASK (0x8U) 7282 #define GENFSK_WHITEN_CFG_WHITEN_B4_CRC_SHIFT (3U) 7283 /*! WHITEN_B4_CRC - Congifure for Whitening-before-CRC 7284 * 0b0..CRC before whiten/de-whiten 7285 * 0b1..Whiten/de-whiten before CRC 7286 */ 7287 #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) 7288 #define GENFSK_WHITEN_CFG_WHITEN_POLY_TYPE_MASK (0x10U) 7289 #define GENFSK_WHITEN_CFG_WHITEN_POLY_TYPE_SHIFT (4U) 7290 #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) 7291 #define GENFSK_WHITEN_CFG_WHITEN_REF_IN_MASK (0x20U) 7292 #define GENFSK_WHITEN_CFG_WHITEN_REF_IN_SHIFT (5U) 7293 #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) 7294 #define GENFSK_WHITEN_CFG_WHITEN_PAYLOAD_REINIT_MASK (0x40U) 7295 #define GENFSK_WHITEN_CFG_WHITEN_PAYLOAD_REINIT_SHIFT (6U) 7296 /*! WHITEN_PAYLOAD_REINIT - Configure for Whitener re-initialization 7297 * 0b0..Don't re-initialize Whitener LFSR at start-of-payload 7298 * 0b1..Re-initialize Whitener LFSR at start-of-payload 7299 */ 7300 #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) 7301 #define GENFSK_WHITEN_CFG_WHITEN_SIZE_MASK (0xF00U) 7302 #define GENFSK_WHITEN_CFG_WHITEN_SIZE_SHIFT (8U) 7303 #define GENFSK_WHITEN_CFG_WHITEN_SIZE(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_SIZE_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_SIZE_MASK) 7304 #define GENFSK_WHITEN_CFG_MANCHESTER_EN_MASK (0x1000U) 7305 #define GENFSK_WHITEN_CFG_MANCHESTER_EN_SHIFT (12U) 7306 /*! MANCHESTER_EN - Configure for Manchester Encoding/Decoding 7307 * 0b0..Disable Manchester encoding (TX) and decoding (RX) 7308 * 0b1..Enable Manchester encoding (TX) and decoding (RX) 7309 */ 7310 #define GENFSK_WHITEN_CFG_MANCHESTER_EN(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_MANCHESTER_EN_SHIFT)) & GENFSK_WHITEN_CFG_MANCHESTER_EN_MASK) 7311 #define GENFSK_WHITEN_CFG_MANCHESTER_INV_MASK (0x2000U) 7312 #define GENFSK_WHITEN_CFG_MANCHESTER_INV_SHIFT (13U) 7313 /*! MANCHESTER_INV - Configure for Inverted Manchester Encoding 7314 * 0b0..Manchester coding as per 802.3 7315 * 0b1..Manchester coding as per 802.3 but with the encoding signal inverted 7316 */ 7317 #define GENFSK_WHITEN_CFG_MANCHESTER_INV(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_MANCHESTER_INV_SHIFT)) & GENFSK_WHITEN_CFG_MANCHESTER_INV_MASK) 7318 #define GENFSK_WHITEN_CFG_MANCHESTER_START_MASK (0x4000U) 7319 #define GENFSK_WHITEN_CFG_MANCHESTER_START_SHIFT (14U) 7320 /*! MANCHESTER_START - Configure Manchester Encoding Start Point 7321 * 0b0..Start Manchester coding at start-of-payload 7322 * 0b1..Start Manchester coding at start-of-header 7323 */ 7324 #define GENFSK_WHITEN_CFG_MANCHESTER_START(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_MANCHESTER_START_SHIFT)) & GENFSK_WHITEN_CFG_MANCHESTER_START_MASK) 7325 #define GENFSK_WHITEN_CFG_WHITEN_INIT_MASK (0x1FF0000U) 7326 #define GENFSK_WHITEN_CFG_WHITEN_INIT_SHIFT (16U) 7327 #define GENFSK_WHITEN_CFG_WHITEN_INIT(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_CFG_WHITEN_INIT_SHIFT)) & GENFSK_WHITEN_CFG_WHITEN_INIT_MASK) 7328 /*! @} */ 7329 7330 /*! @name WHITEN_POLY - WHITENER POLYNOMIAL */ 7331 /*! @{ */ 7332 #define GENFSK_WHITEN_POLY_WHITEN_POLY_MASK (0x1FFU) 7333 #define GENFSK_WHITEN_POLY_WHITEN_POLY_SHIFT (0U) 7334 #define GENFSK_WHITEN_POLY_WHITEN_POLY(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_WHITEN_POLY_WHITEN_POLY_SHIFT)) & GENFSK_WHITEN_POLY_WHITEN_POLY_MASK) 7335 /*! @} */ 7336 7337 /*! @name WHITEN_SZ_THR - WHITENER SIZE THRESHOLD */ 7338 /*! @{ */ 7339 #define GENFSK_WHITEN_SZ_THR_WHITEN_SZ_THR_MASK (0xFFFU) 7340 #define GENFSK_WHITEN_SZ_THR_WHITEN_SZ_THR_SHIFT (0U) 7341 #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) 7342 #define GENFSK_WHITEN_SZ_THR_LENGTH_MAX_MASK (0x7F0000U) 7343 #define GENFSK_WHITEN_SZ_THR_LENGTH_MAX_SHIFT (16U) 7344 #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) 7345 #define GENFSK_WHITEN_SZ_THR_REC_BAD_PKT_MASK (0x800000U) 7346 #define GENFSK_WHITEN_SZ_THR_REC_BAD_PKT_SHIFT (23U) 7347 /*! REC_BAD_PKT - Receive Bad Packets 7348 * 0b0..packets which fail H0, H1, or LENGTH_MAX result in an automatic recycle after the header is received and parsed 7349 * 0b1..packets which fail H0, H1, or LENGTH_MAX are received in their entirety 7350 */ 7351 #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) 7352 /*! @} */ 7353 7354 /*! @name BITRATE - BIT RATE */ 7355 /*! @{ */ 7356 #define GENFSK_BITRATE_BITRATE_MASK (0x3U) 7357 #define GENFSK_BITRATE_BITRATE_SHIFT (0U) 7358 /*! BITRATE - Bit Rate 7359 * 0b00..1Mbit/sec 7360 * 0b01..500Kbit/sec 7361 * 0b10..250Kbit/sec (not supported if WHITEN_CFG[MANCHESTER_EN]=1) 7362 * 0b11..2Mbit/sec (not supported if WHITEN_CFG[MANCHESTER_EN]=1) 7363 */ 7364 #define GENFSK_BITRATE_BITRATE(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_BITRATE_BITRATE_SHIFT)) & GENFSK_BITRATE_BITRATE_MASK) 7365 /*! @} */ 7366 7367 /*! @name PB_PARTITION - PACKET BUFFER PARTITION POINT */ 7368 /*! @{ */ 7369 #define GENFSK_PB_PARTITION_PB_PARTITION_MASK (0x7FFU) 7370 #define GENFSK_PB_PARTITION_PB_PARTITION_SHIFT (0U) 7371 #define GENFSK_PB_PARTITION_PB_PARTITION(x) (((uint32_t)(((uint32_t)(x)) << GENFSK_PB_PARTITION_PB_PARTITION_SHIFT)) & GENFSK_PB_PARTITION_PB_PARTITION_MASK) 7372 /*! @} */ 7373 7374 /*! @name PACKET_BUFFER - PACKET BUFFER */ 7375 /*! @{ */ 7376 #define GENFSK_PACKET_BUFFER_PACKET_BUFFER_MASK (0xFFFFU) 7377 #define GENFSK_PACKET_BUFFER_PACKET_BUFFER_SHIFT (0U) 7378 #define GENFSK_PACKET_BUFFER_PACKET_BUFFER(x) (((uint16_t)(((uint16_t)(x)) << GENFSK_PACKET_BUFFER_PACKET_BUFFER_SHIFT)) & GENFSK_PACKET_BUFFER_PACKET_BUFFER_MASK) 7379 /*! @} */ 7380 7381 /* The count of GENFSK_PACKET_BUFFER */ 7382 #define GENFSK_PACKET_BUFFER_COUNT (1088U) 7383 7384 7385 /*! 7386 * @} 7387 */ /* end of group GENFSK_Register_Masks */ 7388 7389 7390 /* GENFSK - Peripheral instance base addresses */ 7391 /** Peripheral GENFSK base address */ 7392 #define GENFSK_BASE (0x41033000u) 7393 /** Peripheral GENFSK base pointer */ 7394 #define GENFSK ((GENFSK_Type *)GENFSK_BASE) 7395 /** Array initializer of GENFSK peripheral base addresses */ 7396 #define GENFSK_BASE_ADDRS { GENFSK_BASE } 7397 /** Array initializer of GENFSK peripheral base pointers */ 7398 #define GENFSK_BASE_PTRS { GENFSK } 7399 7400 /*! 7401 * @} 7402 */ /* end of group GENFSK_Peripheral_Access_Layer */ 7403 7404 7405 /* ---------------------------------------------------------------------------- 7406 -- GPIO Peripheral Access Layer 7407 ---------------------------------------------------------------------------- */ 7408 7409 /*! 7410 * @addtogroup GPIO_Peripheral_Access_Layer GPIO Peripheral Access Layer 7411 * @{ 7412 */ 7413 7414 /** GPIO - Register Layout Typedef */ 7415 typedef struct { 7416 __IO uint32_t PDOR; /**< Port Data Output Register, offset: 0x0 */ 7417 __O uint32_t PSOR; /**< Port Set Output Register, offset: 0x4 */ 7418 __O uint32_t PCOR; /**< Port Clear Output Register, offset: 0x8 */ 7419 __O uint32_t PTOR; /**< Port Toggle Output Register, offset: 0xC */ 7420 __I uint32_t PDIR; /**< Port Data Input Register, offset: 0x10 */ 7421 __IO uint32_t PDDR; /**< Port Data Direction Register, offset: 0x14 */ 7422 } GPIO_Type; 7423 7424 /* ---------------------------------------------------------------------------- 7425 -- GPIO Register Masks 7426 ---------------------------------------------------------------------------- */ 7427 7428 /*! 7429 * @addtogroup GPIO_Register_Masks GPIO Register Masks 7430 * @{ 7431 */ 7432 7433 /*! @name PDOR - Port Data Output Register */ 7434 /*! @{ */ 7435 #define GPIO_PDOR_PDO_MASK (0xFFFFFFFFU) 7436 #define GPIO_PDOR_PDO_SHIFT (0U) 7437 #define GPIO_PDOR_PDO(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PDOR_PDO_SHIFT)) & GPIO_PDOR_PDO_MASK) 7438 /*! @} */ 7439 7440 /*! @name PSOR - Port Set Output Register */ 7441 /*! @{ */ 7442 #define GPIO_PSOR_PTSO_MASK (0xFFFFFFFFU) 7443 #define GPIO_PSOR_PTSO_SHIFT (0U) 7444 #define GPIO_PSOR_PTSO(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PSOR_PTSO_SHIFT)) & GPIO_PSOR_PTSO_MASK) 7445 /*! @} */ 7446 7447 /*! @name PCOR - Port Clear Output Register */ 7448 /*! @{ */ 7449 #define GPIO_PCOR_PTCO_MASK (0xFFFFFFFFU) 7450 #define GPIO_PCOR_PTCO_SHIFT (0U) 7451 #define GPIO_PCOR_PTCO(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PCOR_PTCO_SHIFT)) & GPIO_PCOR_PTCO_MASK) 7452 /*! @} */ 7453 7454 /*! @name PTOR - Port Toggle Output Register */ 7455 /*! @{ */ 7456 #define GPIO_PTOR_PTTO_MASK (0xFFFFFFFFU) 7457 #define GPIO_PTOR_PTTO_SHIFT (0U) 7458 #define GPIO_PTOR_PTTO(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PTOR_PTTO_SHIFT)) & GPIO_PTOR_PTTO_MASK) 7459 /*! @} */ 7460 7461 /*! @name PDIR - Port Data Input Register */ 7462 /*! @{ */ 7463 #define GPIO_PDIR_PDI_MASK (0xFFFFFFFFU) 7464 #define GPIO_PDIR_PDI_SHIFT (0U) 7465 #define GPIO_PDIR_PDI(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PDIR_PDI_SHIFT)) & GPIO_PDIR_PDI_MASK) 7466 /*! @} */ 7467 7468 /*! @name PDDR - Port Data Direction Register */ 7469 /*! @{ */ 7470 #define GPIO_PDDR_PDD_MASK (0xFFFFFFFFU) 7471 #define GPIO_PDDR_PDD_SHIFT (0U) 7472 #define GPIO_PDDR_PDD(x) (((uint32_t)(((uint32_t)(x)) << GPIO_PDDR_PDD_SHIFT)) & GPIO_PDDR_PDD_MASK) 7473 /*! @} */ 7474 7475 7476 /*! 7477 * @} 7478 */ /* end of group GPIO_Register_Masks */ 7479 7480 7481 /* GPIO - Peripheral instance base addresses */ 7482 /** Peripheral GPIOA base address */ 7483 #define GPIOA_BASE (0x48020000u) 7484 /** Peripheral GPIOA base pointer */ 7485 #define GPIOA ((GPIO_Type *)GPIOA_BASE) 7486 /** Peripheral GPIOB base address */ 7487 #define GPIOB_BASE (0x48020040u) 7488 /** Peripheral GPIOB base pointer */ 7489 #define GPIOB ((GPIO_Type *)GPIOB_BASE) 7490 /** Peripheral GPIOC base address */ 7491 #define GPIOC_BASE (0x48020080u) 7492 /** Peripheral GPIOC base pointer */ 7493 #define GPIOC ((GPIO_Type *)GPIOC_BASE) 7494 /** Peripheral GPIOD base address */ 7495 #define GPIOD_BASE (0x480200C0u) 7496 /** Peripheral GPIOD base pointer */ 7497 #define GPIOD ((GPIO_Type *)GPIOD_BASE) 7498 /** Peripheral GPIOE base address */ 7499 #define GPIOE_BASE (0x4100F000u) 7500 /** Peripheral GPIOE base pointer */ 7501 #define GPIOE ((GPIO_Type *)GPIOE_BASE) 7502 /** Array initializer of GPIO peripheral base addresses */ 7503 #define GPIO_BASE_ADDRS { GPIOA_BASE, GPIOB_BASE, GPIOC_BASE, GPIOD_BASE, GPIOE_BASE } 7504 /** Array initializer of GPIO peripheral base pointers */ 7505 #define GPIO_BASE_PTRS { GPIOA, GPIOB, GPIOC, GPIOD, GPIOE } 7506 7507 /*! 7508 * @} 7509 */ /* end of group GPIO_Peripheral_Access_Layer */ 7510 7511 7512 /* ---------------------------------------------------------------------------- 7513 -- I2S Peripheral Access Layer 7514 ---------------------------------------------------------------------------- */ 7515 7516 /*! 7517 * @addtogroup I2S_Peripheral_Access_Layer I2S Peripheral Access Layer 7518 * @{ 7519 */ 7520 7521 /** I2S - Register Layout Typedef */ 7522 typedef struct { 7523 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 7524 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 7525 __IO uint32_t TCSR; /**< SAI Transmit Control Register, offset: 0x8 */ 7526 __IO uint32_t TCR1; /**< SAI Transmit Configuration 1 Register, offset: 0xC */ 7527 __IO uint32_t TCR2; /**< SAI Transmit Configuration 2 Register, offset: 0x10 */ 7528 __IO uint32_t TCR3; /**< SAI Transmit Configuration 3 Register, offset: 0x14 */ 7529 __IO uint32_t TCR4; /**< SAI Transmit Configuration 4 Register, offset: 0x18 */ 7530 __IO uint32_t TCR5; /**< SAI Transmit Configuration 5 Register, offset: 0x1C */ 7531 __O uint32_t TDR[2]; /**< SAI Transmit Data Register, array offset: 0x20, array step: 0x4 */ 7532 uint8_t RESERVED_0[24]; 7533 __I uint32_t TFR[2]; /**< SAI Transmit FIFO Register, array offset: 0x40, array step: 0x4 */ 7534 uint8_t RESERVED_1[24]; 7535 __IO uint32_t TMR; /**< SAI Transmit Mask Register, offset: 0x60 */ 7536 uint8_t RESERVED_2[36]; 7537 __IO uint32_t RCSR; /**< SAI Receive Control Register, offset: 0x88 */ 7538 __IO uint32_t RCR1; /**< SAI Receive Configuration 1 Register, offset: 0x8C */ 7539 __IO uint32_t RCR2; /**< SAI Receive Configuration 2 Register, offset: 0x90 */ 7540 __IO uint32_t RCR3; /**< SAI Receive Configuration 3 Register, offset: 0x94 */ 7541 __IO uint32_t RCR4; /**< SAI Receive Configuration 4 Register, offset: 0x98 */ 7542 __IO uint32_t RCR5; /**< SAI Receive Configuration 5 Register, offset: 0x9C */ 7543 __I uint32_t RDR[2]; /**< SAI Receive Data Register, array offset: 0xA0, array step: 0x4 */ 7544 uint8_t RESERVED_3[24]; 7545 __I uint32_t RFR[2]; /**< SAI Receive FIFO Register, array offset: 0xC0, array step: 0x4 */ 7546 uint8_t RESERVED_4[24]; 7547 __IO uint32_t RMR; /**< SAI Receive Mask Register, offset: 0xE0 */ 7548 } I2S_Type; 7549 7550 /* ---------------------------------------------------------------------------- 7551 -- I2S Register Masks 7552 ---------------------------------------------------------------------------- */ 7553 7554 /*! 7555 * @addtogroup I2S_Register_Masks I2S Register Masks 7556 * @{ 7557 */ 7558 7559 /*! @name VERID - Version ID Register */ 7560 /*! @{ */ 7561 #define I2S_VERID_FEATURE_MASK (0xFFFFU) 7562 #define I2S_VERID_FEATURE_SHIFT (0U) 7563 /*! FEATURE - Feature Specification Number 7564 * 0b0000000000000000..Standard feature set. 7565 */ 7566 #define I2S_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_FEATURE_SHIFT)) & I2S_VERID_FEATURE_MASK) 7567 #define I2S_VERID_MINOR_MASK (0xFF0000U) 7568 #define I2S_VERID_MINOR_SHIFT (16U) 7569 #define I2S_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MINOR_SHIFT)) & I2S_VERID_MINOR_MASK) 7570 #define I2S_VERID_MAJOR_MASK (0xFF000000U) 7571 #define I2S_VERID_MAJOR_SHIFT (24U) 7572 #define I2S_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << I2S_VERID_MAJOR_SHIFT)) & I2S_VERID_MAJOR_MASK) 7573 /*! @} */ 7574 7575 /*! @name PARAM - Parameter Register */ 7576 /*! @{ */ 7577 #define I2S_PARAM_DATALINE_MASK (0xFU) 7578 #define I2S_PARAM_DATALINE_SHIFT (0U) 7579 #define I2S_PARAM_DATALINE(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_DATALINE_SHIFT)) & I2S_PARAM_DATALINE_MASK) 7580 #define I2S_PARAM_FIFO_MASK (0xF00U) 7581 #define I2S_PARAM_FIFO_SHIFT (8U) 7582 #define I2S_PARAM_FIFO(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FIFO_SHIFT)) & I2S_PARAM_FIFO_MASK) 7583 #define I2S_PARAM_FRAME_MASK (0xF0000U) 7584 #define I2S_PARAM_FRAME_SHIFT (16U) 7585 #define I2S_PARAM_FRAME(x) (((uint32_t)(((uint32_t)(x)) << I2S_PARAM_FRAME_SHIFT)) & I2S_PARAM_FRAME_MASK) 7586 /*! @} */ 7587 7588 /*! @name TCSR - SAI Transmit Control Register */ 7589 /*! @{ */ 7590 #define I2S_TCSR_FRDE_MASK (0x1U) 7591 #define I2S_TCSR_FRDE_SHIFT (0U) 7592 /*! FRDE - FIFO Request DMA Enable 7593 * 0b0..Disables the DMA request. 7594 * 0b1..Enables the DMA request. 7595 */ 7596 #define I2S_TCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRDE_SHIFT)) & I2S_TCSR_FRDE_MASK) 7597 #define I2S_TCSR_FWDE_MASK (0x2U) 7598 #define I2S_TCSR_FWDE_SHIFT (1U) 7599 /*! FWDE - FIFO Warning DMA Enable 7600 * 0b0..Disables the DMA request. 7601 * 0b1..Enables the DMA request. 7602 */ 7603 #define I2S_TCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWDE_SHIFT)) & I2S_TCSR_FWDE_MASK) 7604 #define I2S_TCSR_FRIE_MASK (0x100U) 7605 #define I2S_TCSR_FRIE_SHIFT (8U) 7606 /*! FRIE - FIFO Request Interrupt Enable 7607 * 0b0..Disables the interrupt. 7608 * 0b1..Enables the interrupt. 7609 */ 7610 #define I2S_TCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRIE_SHIFT)) & I2S_TCSR_FRIE_MASK) 7611 #define I2S_TCSR_FWIE_MASK (0x200U) 7612 #define I2S_TCSR_FWIE_SHIFT (9U) 7613 /*! FWIE - FIFO Warning Interrupt Enable 7614 * 0b0..Disables the interrupt. 7615 * 0b1..Enables the interrupt. 7616 */ 7617 #define I2S_TCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWIE_SHIFT)) & I2S_TCSR_FWIE_MASK) 7618 #define I2S_TCSR_FEIE_MASK (0x400U) 7619 #define I2S_TCSR_FEIE_SHIFT (10U) 7620 /*! FEIE - FIFO Error Interrupt Enable 7621 * 0b0..Disables the interrupt. 7622 * 0b1..Enables the interrupt. 7623 */ 7624 #define I2S_TCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEIE_SHIFT)) & I2S_TCSR_FEIE_MASK) 7625 #define I2S_TCSR_SEIE_MASK (0x800U) 7626 #define I2S_TCSR_SEIE_SHIFT (11U) 7627 /*! SEIE - Sync Error Interrupt Enable 7628 * 0b0..Disables interrupt. 7629 * 0b1..Enables interrupt. 7630 */ 7631 #define I2S_TCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEIE_SHIFT)) & I2S_TCSR_SEIE_MASK) 7632 #define I2S_TCSR_WSIE_MASK (0x1000U) 7633 #define I2S_TCSR_WSIE_SHIFT (12U) 7634 /*! WSIE - Word Start Interrupt Enable 7635 * 0b0..Disables interrupt. 7636 * 0b1..Enables interrupt. 7637 */ 7638 #define I2S_TCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSIE_SHIFT)) & I2S_TCSR_WSIE_MASK) 7639 #define I2S_TCSR_FRF_MASK (0x10000U) 7640 #define I2S_TCSR_FRF_SHIFT (16U) 7641 /*! FRF - FIFO Request Flag 7642 * 0b0..Transmit FIFO watermark has not been reached. 7643 * 0b1..Transmit FIFO watermark has been reached. 7644 */ 7645 #define I2S_TCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FRF_SHIFT)) & I2S_TCSR_FRF_MASK) 7646 #define I2S_TCSR_FWF_MASK (0x20000U) 7647 #define I2S_TCSR_FWF_SHIFT (17U) 7648 /*! FWF - FIFO Warning Flag 7649 * 0b0..No enabled transmit FIFO is empty. 7650 * 0b1..Enabled transmit FIFO is empty. 7651 */ 7652 #define I2S_TCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FWF_SHIFT)) & I2S_TCSR_FWF_MASK) 7653 #define I2S_TCSR_FEF_MASK (0x40000U) 7654 #define I2S_TCSR_FEF_SHIFT (18U) 7655 /*! FEF - FIFO Error Flag 7656 * 0b0..Transmit underrun not detected. 7657 * 0b1..Transmit underrun detected. 7658 */ 7659 #define I2S_TCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FEF_SHIFT)) & I2S_TCSR_FEF_MASK) 7660 #define I2S_TCSR_SEF_MASK (0x80000U) 7661 #define I2S_TCSR_SEF_SHIFT (19U) 7662 /*! SEF - Sync Error Flag 7663 * 0b0..Sync error not detected. 7664 * 0b1..Frame sync error detected. 7665 */ 7666 #define I2S_TCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SEF_SHIFT)) & I2S_TCSR_SEF_MASK) 7667 #define I2S_TCSR_WSF_MASK (0x100000U) 7668 #define I2S_TCSR_WSF_SHIFT (20U) 7669 /*! WSF - Word Start Flag 7670 * 0b0..Start of word not detected. 7671 * 0b1..Start of word detected. 7672 */ 7673 #define I2S_TCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_WSF_SHIFT)) & I2S_TCSR_WSF_MASK) 7674 #define I2S_TCSR_SR_MASK (0x1000000U) 7675 #define I2S_TCSR_SR_SHIFT (24U) 7676 /*! SR - Software Reset 7677 * 0b0..No effect. 7678 * 0b1..Software reset. 7679 */ 7680 #define I2S_TCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_SR_SHIFT)) & I2S_TCSR_SR_MASK) 7681 #define I2S_TCSR_FR_MASK (0x2000000U) 7682 #define I2S_TCSR_FR_SHIFT (25U) 7683 /*! FR - FIFO Reset 7684 * 0b0..No effect. 7685 * 0b1..FIFO reset. 7686 */ 7687 #define I2S_TCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_FR_SHIFT)) & I2S_TCSR_FR_MASK) 7688 #define I2S_TCSR_BCE_MASK (0x10000000U) 7689 #define I2S_TCSR_BCE_SHIFT (28U) 7690 /*! BCE - Bit Clock Enable 7691 * 0b0..Transmit bit clock is disabled. 7692 * 0b1..Transmit bit clock is enabled. 7693 */ 7694 #define I2S_TCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_BCE_SHIFT)) & I2S_TCSR_BCE_MASK) 7695 #define I2S_TCSR_DBGE_MASK (0x20000000U) 7696 #define I2S_TCSR_DBGE_SHIFT (29U) 7697 /*! DBGE - Debug Enable 7698 * 0b0..Transmitter is disabled in Debug mode, after completing the current frame. 7699 * 0b1..Transmitter is enabled in Debug mode. 7700 */ 7701 #define I2S_TCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_DBGE_SHIFT)) & I2S_TCSR_DBGE_MASK) 7702 #define I2S_TCSR_STOPE_MASK (0x40000000U) 7703 #define I2S_TCSR_STOPE_SHIFT (30U) 7704 /*! STOPE - Stop Enable 7705 * 0b0..Transmitter disabled in Stop mode. 7706 * 0b1..Transmitter enabled in Stop mode. 7707 */ 7708 #define I2S_TCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_STOPE_SHIFT)) & I2S_TCSR_STOPE_MASK) 7709 #define I2S_TCSR_TE_MASK (0x80000000U) 7710 #define I2S_TCSR_TE_SHIFT (31U) 7711 /*! TE - Transmitter Enable 7712 * 0b0..Transmitter is disabled. 7713 * 0b1..Transmitter is enabled, or transmitter has been disabled and has not yet reached end of frame. 7714 */ 7715 #define I2S_TCSR_TE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCSR_TE_SHIFT)) & I2S_TCSR_TE_MASK) 7716 /*! @} */ 7717 7718 /*! @name TCR1 - SAI Transmit Configuration 1 Register */ 7719 /*! @{ */ 7720 #define I2S_TCR1_TFW_MASK (0x7U) 7721 #define I2S_TCR1_TFW_SHIFT (0U) 7722 #define I2S_TCR1_TFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR1_TFW_SHIFT)) & I2S_TCR1_TFW_MASK) 7723 /*! @} */ 7724 7725 /*! @name TCR2 - SAI Transmit Configuration 2 Register */ 7726 /*! @{ */ 7727 #define I2S_TCR2_DIV_MASK (0xFFU) 7728 #define I2S_TCR2_DIV_SHIFT (0U) 7729 #define I2S_TCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_DIV_SHIFT)) & I2S_TCR2_DIV_MASK) 7730 #define I2S_TCR2_BCD_MASK (0x1000000U) 7731 #define I2S_TCR2_BCD_SHIFT (24U) 7732 /*! BCD - Bit Clock Direction 7733 * 0b0..Bit clock is generated externally in Slave mode. 7734 * 0b1..Bit clock is generated internally in Master mode. 7735 */ 7736 #define I2S_TCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCD_SHIFT)) & I2S_TCR2_BCD_MASK) 7737 #define I2S_TCR2_BCP_MASK (0x2000000U) 7738 #define I2S_TCR2_BCP_SHIFT (25U) 7739 /*! BCP - Bit Clock Polarity 7740 * 0b0..Bit clock is active high with drive outputs on rising edge and sample inputs on falling edge. 7741 * 0b1..Bit clock is active low with drive outputs on falling edge and sample inputs on rising edge. 7742 */ 7743 #define I2S_TCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCP_SHIFT)) & I2S_TCR2_BCP_MASK) 7744 #define I2S_TCR2_MSEL_MASK (0xC000000U) 7745 #define I2S_TCR2_MSEL_SHIFT (26U) 7746 /*! MSEL - MCLK Select 7747 * 0b00..Bus Clock selected. 7748 * 0b01..Master Clock (MCLK) 1 option selected. 7749 * 0b10..Master Clock (MCLK) 2 option selected. 7750 * 0b11..Master Clock (MCLK) 3 option selected. 7751 */ 7752 #define I2S_TCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_MSEL_SHIFT)) & I2S_TCR2_MSEL_MASK) 7753 #define I2S_TCR2_BCI_MASK (0x10000000U) 7754 #define I2S_TCR2_BCI_SHIFT (28U) 7755 /*! BCI - Bit Clock Input 7756 * 0b0..No effect. 7757 * 0b1..Internal logic is clocked as if bit clock was externally generated. 7758 */ 7759 #define I2S_TCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCI_SHIFT)) & I2S_TCR2_BCI_MASK) 7760 #define I2S_TCR2_BCS_MASK (0x20000000U) 7761 #define I2S_TCR2_BCS_SHIFT (29U) 7762 /*! BCS - Bit Clock Swap 7763 * 0b0..Use the normal bit clock source. 7764 * 0b1..Swap the bit clock source. 7765 */ 7766 #define I2S_TCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_BCS_SHIFT)) & I2S_TCR2_BCS_MASK) 7767 #define I2S_TCR2_SYNC_MASK (0xC0000000U) 7768 #define I2S_TCR2_SYNC_SHIFT (30U) 7769 /*! SYNC - Synchronous Mode 7770 * 0b00..Asynchronous mode. 7771 * 0b01..Synchronous with receiver. 7772 * 0b10..Synchronous with another SAI transmitter. 7773 * 0b11..Synchronous with another SAI receiver. 7774 */ 7775 #define I2S_TCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR2_SYNC_SHIFT)) & I2S_TCR2_SYNC_MASK) 7776 /*! @} */ 7777 7778 /*! @name TCR3 - SAI Transmit Configuration 3 Register */ 7779 /*! @{ */ 7780 #define I2S_TCR3_WDFL_MASK (0x1FU) 7781 #define I2S_TCR3_WDFL_SHIFT (0U) 7782 #define I2S_TCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_WDFL_SHIFT)) & I2S_TCR3_WDFL_MASK) 7783 #define I2S_TCR3_TCE_MASK (0x30000U) 7784 #define I2S_TCR3_TCE_SHIFT (16U) 7785 #define I2S_TCR3_TCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_TCE_SHIFT)) & I2S_TCR3_TCE_MASK) 7786 #define I2S_TCR3_CFR_MASK (0x3000000U) 7787 #define I2S_TCR3_CFR_SHIFT (24U) 7788 #define I2S_TCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR3_CFR_SHIFT)) & I2S_TCR3_CFR_MASK) 7789 /*! @} */ 7790 7791 /*! @name TCR4 - SAI Transmit Configuration 4 Register */ 7792 /*! @{ */ 7793 #define I2S_TCR4_FSD_MASK (0x1U) 7794 #define I2S_TCR4_FSD_SHIFT (0U) 7795 /*! FSD - Frame Sync Direction 7796 * 0b0..Frame sync is generated externally in Slave mode. 7797 * 0b1..Frame sync is generated internally in Master mode. 7798 */ 7799 #define I2S_TCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSD_SHIFT)) & I2S_TCR4_FSD_MASK) 7800 #define I2S_TCR4_FSP_MASK (0x2U) 7801 #define I2S_TCR4_FSP_SHIFT (1U) 7802 /*! FSP - Frame Sync Polarity 7803 * 0b0..Frame sync is active high. 7804 * 0b1..Frame sync is active low. 7805 */ 7806 #define I2S_TCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSP_SHIFT)) & I2S_TCR4_FSP_MASK) 7807 #define I2S_TCR4_ONDEM_MASK (0x4U) 7808 #define I2S_TCR4_ONDEM_SHIFT (2U) 7809 /*! ONDEM - On Demand Mode 7810 * 0b0..Internal frame sync is generated continuously. 7811 * 0b1..Internal frame sync is generated when the FIFO warning flag is clear. 7812 */ 7813 #define I2S_TCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_ONDEM_SHIFT)) & I2S_TCR4_ONDEM_MASK) 7814 #define I2S_TCR4_FSE_MASK (0x8U) 7815 #define I2S_TCR4_FSE_SHIFT (3U) 7816 /*! FSE - Frame Sync Early 7817 * 0b0..Frame sync asserts with the first bit of the frame. 7818 * 0b1..Frame sync asserts one bit before the first bit of the frame. 7819 */ 7820 #define I2S_TCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FSE_SHIFT)) & I2S_TCR4_FSE_MASK) 7821 #define I2S_TCR4_MF_MASK (0x10U) 7822 #define I2S_TCR4_MF_SHIFT (4U) 7823 /*! MF - MSB First 7824 * 0b0..LSB is transmitted first. 7825 * 0b1..MSB is transmitted first. 7826 */ 7827 #define I2S_TCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_MF_SHIFT)) & I2S_TCR4_MF_MASK) 7828 #define I2S_TCR4_CHMOD_MASK (0x20U) 7829 #define I2S_TCR4_CHMOD_SHIFT (5U) 7830 /*! CHMOD - Channel Mode 7831 * 0b0..TDM mode, transmit data pins are tri-stated when slots are masked or channels are disabled. 7832 * 0b1..Output mode, transmit data pins are never tri-stated and will output zero when slots are masked or channels are disabled. 7833 */ 7834 #define I2S_TCR4_CHMOD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_CHMOD_SHIFT)) & I2S_TCR4_CHMOD_MASK) 7835 #define I2S_TCR4_SYWD_MASK (0x1F00U) 7836 #define I2S_TCR4_SYWD_SHIFT (8U) 7837 #define I2S_TCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_SYWD_SHIFT)) & I2S_TCR4_SYWD_MASK) 7838 #define I2S_TCR4_FRSZ_MASK (0x1F0000U) 7839 #define I2S_TCR4_FRSZ_SHIFT (16U) 7840 #define I2S_TCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FRSZ_SHIFT)) & I2S_TCR4_FRSZ_MASK) 7841 #define I2S_TCR4_FPACK_MASK (0x3000000U) 7842 #define I2S_TCR4_FPACK_SHIFT (24U) 7843 /*! FPACK - FIFO Packing Mode 7844 * 0b00..FIFO packing is disabled 7845 * 0b01..Reserved 7846 * 0b10..8-bit FIFO packing is enabled 7847 * 0b11..16-bit FIFO packing is enabled 7848 */ 7849 #define I2S_TCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FPACK_SHIFT)) & I2S_TCR4_FPACK_MASK) 7850 #define I2S_TCR4_FCOMB_MASK (0xC000000U) 7851 #define I2S_TCR4_FCOMB_SHIFT (26U) 7852 /*! FCOMB - FIFO Combine Mode 7853 * 0b00..FIFO combine mode disabled. 7854 * 0b01..FIFO combine mode enabled on FIFO reads (from transmit shift registers). 7855 * 0b10..FIFO combine mode enabled on FIFO writes (by software). 7856 * 0b11..FIFO combine mode enabled on FIFO reads (from transmit shift registers) and writes (by software). 7857 */ 7858 #define I2S_TCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCOMB_SHIFT)) & I2S_TCR4_FCOMB_MASK) 7859 #define I2S_TCR4_FCONT_MASK (0x10000000U) 7860 #define I2S_TCR4_FCONT_SHIFT (28U) 7861 /*! FCONT - FIFO Continue on Error 7862 * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared. 7863 * 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. 7864 */ 7865 #define I2S_TCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR4_FCONT_SHIFT)) & I2S_TCR4_FCONT_MASK) 7866 /*! @} */ 7867 7868 /*! @name TCR5 - SAI Transmit Configuration 5 Register */ 7869 /*! @{ */ 7870 #define I2S_TCR5_FBT_MASK (0x1F00U) 7871 #define I2S_TCR5_FBT_SHIFT (8U) 7872 #define I2S_TCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_FBT_SHIFT)) & I2S_TCR5_FBT_MASK) 7873 #define I2S_TCR5_W0W_MASK (0x1F0000U) 7874 #define I2S_TCR5_W0W_SHIFT (16U) 7875 #define I2S_TCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_W0W_SHIFT)) & I2S_TCR5_W0W_MASK) 7876 #define I2S_TCR5_WNW_MASK (0x1F000000U) 7877 #define I2S_TCR5_WNW_SHIFT (24U) 7878 #define I2S_TCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_TCR5_WNW_SHIFT)) & I2S_TCR5_WNW_MASK) 7879 /*! @} */ 7880 7881 /*! @name TDR - SAI Transmit Data Register */ 7882 /*! @{ */ 7883 #define I2S_TDR_TDR_MASK (0xFFFFFFFFU) 7884 #define I2S_TDR_TDR_SHIFT (0U) 7885 #define I2S_TDR_TDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_TDR_TDR_SHIFT)) & I2S_TDR_TDR_MASK) 7886 /*! @} */ 7887 7888 /* The count of I2S_TDR */ 7889 #define I2S_TDR_COUNT (2U) 7890 7891 /*! @name TFR - SAI Transmit FIFO Register */ 7892 /*! @{ */ 7893 #define I2S_TFR_RFP_MASK (0xFU) 7894 #define I2S_TFR_RFP_SHIFT (0U) 7895 #define I2S_TFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_RFP_SHIFT)) & I2S_TFR_RFP_MASK) 7896 #define I2S_TFR_WFP_MASK (0xF0000U) 7897 #define I2S_TFR_WFP_SHIFT (16U) 7898 #define I2S_TFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WFP_SHIFT)) & I2S_TFR_WFP_MASK) 7899 #define I2S_TFR_WCP_MASK (0x80000000U) 7900 #define I2S_TFR_WCP_SHIFT (31U) 7901 /*! WCP - Write Channel Pointer 7902 * 0b0..No effect. 7903 * 0b1..FIFO combine is enabled for FIFO writes and this FIFO will be written on the next FIFO write. 7904 */ 7905 #define I2S_TFR_WCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_TFR_WCP_SHIFT)) & I2S_TFR_WCP_MASK) 7906 /*! @} */ 7907 7908 /* The count of I2S_TFR */ 7909 #define I2S_TFR_COUNT (2U) 7910 7911 /*! @name TMR - SAI Transmit Mask Register */ 7912 /*! @{ */ 7913 #define I2S_TMR_TWM_MASK (0xFFFFFFFFU) 7914 #define I2S_TMR_TWM_SHIFT (0U) 7915 /*! TWM - Transmit Word Mask 7916 * 0b00000000000000000000000000000000..Word N is enabled. 7917 * 0b00000000000000000000000000000001..Word N is masked. The transmit data pins are tri-stated or drive zero when masked. 7918 */ 7919 #define I2S_TMR_TWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_TMR_TWM_SHIFT)) & I2S_TMR_TWM_MASK) 7920 /*! @} */ 7921 7922 /*! @name RCSR - SAI Receive Control Register */ 7923 /*! @{ */ 7924 #define I2S_RCSR_FRDE_MASK (0x1U) 7925 #define I2S_RCSR_FRDE_SHIFT (0U) 7926 /*! FRDE - FIFO Request DMA Enable 7927 * 0b0..Disables the DMA request. 7928 * 0b1..Enables the DMA request. 7929 */ 7930 #define I2S_RCSR_FRDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRDE_SHIFT)) & I2S_RCSR_FRDE_MASK) 7931 #define I2S_RCSR_FWDE_MASK (0x2U) 7932 #define I2S_RCSR_FWDE_SHIFT (1U) 7933 /*! FWDE - FIFO Warning DMA Enable 7934 * 0b0..Disables the DMA request. 7935 * 0b1..Enables the DMA request. 7936 */ 7937 #define I2S_RCSR_FWDE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWDE_SHIFT)) & I2S_RCSR_FWDE_MASK) 7938 #define I2S_RCSR_FRIE_MASK (0x100U) 7939 #define I2S_RCSR_FRIE_SHIFT (8U) 7940 /*! FRIE - FIFO Request Interrupt Enable 7941 * 0b0..Disables the interrupt. 7942 * 0b1..Enables the interrupt. 7943 */ 7944 #define I2S_RCSR_FRIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRIE_SHIFT)) & I2S_RCSR_FRIE_MASK) 7945 #define I2S_RCSR_FWIE_MASK (0x200U) 7946 #define I2S_RCSR_FWIE_SHIFT (9U) 7947 /*! FWIE - FIFO Warning Interrupt Enable 7948 * 0b0..Disables the interrupt. 7949 * 0b1..Enables the interrupt. 7950 */ 7951 #define I2S_RCSR_FWIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWIE_SHIFT)) & I2S_RCSR_FWIE_MASK) 7952 #define I2S_RCSR_FEIE_MASK (0x400U) 7953 #define I2S_RCSR_FEIE_SHIFT (10U) 7954 /*! FEIE - FIFO Error Interrupt Enable 7955 * 0b0..Disables the interrupt. 7956 * 0b1..Enables the interrupt. 7957 */ 7958 #define I2S_RCSR_FEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEIE_SHIFT)) & I2S_RCSR_FEIE_MASK) 7959 #define I2S_RCSR_SEIE_MASK (0x800U) 7960 #define I2S_RCSR_SEIE_SHIFT (11U) 7961 /*! SEIE - Sync Error Interrupt Enable 7962 * 0b0..Disables interrupt. 7963 * 0b1..Enables interrupt. 7964 */ 7965 #define I2S_RCSR_SEIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEIE_SHIFT)) & I2S_RCSR_SEIE_MASK) 7966 #define I2S_RCSR_WSIE_MASK (0x1000U) 7967 #define I2S_RCSR_WSIE_SHIFT (12U) 7968 /*! WSIE - Word Start Interrupt Enable 7969 * 0b0..Disables interrupt. 7970 * 0b1..Enables interrupt. 7971 */ 7972 #define I2S_RCSR_WSIE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSIE_SHIFT)) & I2S_RCSR_WSIE_MASK) 7973 #define I2S_RCSR_FRF_MASK (0x10000U) 7974 #define I2S_RCSR_FRF_SHIFT (16U) 7975 /*! FRF - FIFO Request Flag 7976 * 0b0..Receive FIFO watermark not reached. 7977 * 0b1..Receive FIFO watermark has been reached. 7978 */ 7979 #define I2S_RCSR_FRF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FRF_SHIFT)) & I2S_RCSR_FRF_MASK) 7980 #define I2S_RCSR_FWF_MASK (0x20000U) 7981 #define I2S_RCSR_FWF_SHIFT (17U) 7982 /*! FWF - FIFO Warning Flag 7983 * 0b0..No enabled receive FIFO is full. 7984 * 0b1..Enabled receive FIFO is full. 7985 */ 7986 #define I2S_RCSR_FWF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FWF_SHIFT)) & I2S_RCSR_FWF_MASK) 7987 #define I2S_RCSR_FEF_MASK (0x40000U) 7988 #define I2S_RCSR_FEF_SHIFT (18U) 7989 /*! FEF - FIFO Error Flag 7990 * 0b0..Receive overflow not detected. 7991 * 0b1..Receive overflow detected. 7992 */ 7993 #define I2S_RCSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FEF_SHIFT)) & I2S_RCSR_FEF_MASK) 7994 #define I2S_RCSR_SEF_MASK (0x80000U) 7995 #define I2S_RCSR_SEF_SHIFT (19U) 7996 /*! SEF - Sync Error Flag 7997 * 0b0..Sync error not detected. 7998 * 0b1..Frame sync error detected. 7999 */ 8000 #define I2S_RCSR_SEF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SEF_SHIFT)) & I2S_RCSR_SEF_MASK) 8001 #define I2S_RCSR_WSF_MASK (0x100000U) 8002 #define I2S_RCSR_WSF_SHIFT (20U) 8003 /*! WSF - Word Start Flag 8004 * 0b0..Start of word not detected. 8005 * 0b1..Start of word detected. 8006 */ 8007 #define I2S_RCSR_WSF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_WSF_SHIFT)) & I2S_RCSR_WSF_MASK) 8008 #define I2S_RCSR_SR_MASK (0x1000000U) 8009 #define I2S_RCSR_SR_SHIFT (24U) 8010 /*! SR - Software Reset 8011 * 0b0..No effect. 8012 * 0b1..Software reset. 8013 */ 8014 #define I2S_RCSR_SR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_SR_SHIFT)) & I2S_RCSR_SR_MASK) 8015 #define I2S_RCSR_FR_MASK (0x2000000U) 8016 #define I2S_RCSR_FR_SHIFT (25U) 8017 /*! FR - FIFO Reset 8018 * 0b0..No effect. 8019 * 0b1..FIFO reset. 8020 */ 8021 #define I2S_RCSR_FR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_FR_SHIFT)) & I2S_RCSR_FR_MASK) 8022 #define I2S_RCSR_BCE_MASK (0x10000000U) 8023 #define I2S_RCSR_BCE_SHIFT (28U) 8024 /*! BCE - Bit Clock Enable 8025 * 0b0..Receive bit clock is disabled. 8026 * 0b1..Receive bit clock is enabled. 8027 */ 8028 #define I2S_RCSR_BCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_BCE_SHIFT)) & I2S_RCSR_BCE_MASK) 8029 #define I2S_RCSR_DBGE_MASK (0x20000000U) 8030 #define I2S_RCSR_DBGE_SHIFT (29U) 8031 /*! DBGE - Debug Enable 8032 * 0b0..Receiver is disabled in Debug mode, after completing the current frame. 8033 * 0b1..Receiver is enabled in Debug mode. 8034 */ 8035 #define I2S_RCSR_DBGE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_DBGE_SHIFT)) & I2S_RCSR_DBGE_MASK) 8036 #define I2S_RCSR_STOPE_MASK (0x40000000U) 8037 #define I2S_RCSR_STOPE_SHIFT (30U) 8038 /*! STOPE - Stop Enable 8039 * 0b0..Receiver disabled in Stop mode. 8040 * 0b1..Receiver enabled in Stop mode. 8041 */ 8042 #define I2S_RCSR_STOPE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_STOPE_SHIFT)) & I2S_RCSR_STOPE_MASK) 8043 #define I2S_RCSR_RE_MASK (0x80000000U) 8044 #define I2S_RCSR_RE_SHIFT (31U) 8045 /*! RE - Receiver Enable 8046 * 0b0..Receiver is disabled. 8047 * 0b1..Receiver is enabled, or receiver has been disabled and has not yet reached end of frame. 8048 */ 8049 #define I2S_RCSR_RE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCSR_RE_SHIFT)) & I2S_RCSR_RE_MASK) 8050 /*! @} */ 8051 8052 /*! @name RCR1 - SAI Receive Configuration 1 Register */ 8053 /*! @{ */ 8054 #define I2S_RCR1_RFW_MASK (0x7U) 8055 #define I2S_RCR1_RFW_SHIFT (0U) 8056 #define I2S_RCR1_RFW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR1_RFW_SHIFT)) & I2S_RCR1_RFW_MASK) 8057 /*! @} */ 8058 8059 /*! @name RCR2 - SAI Receive Configuration 2 Register */ 8060 /*! @{ */ 8061 #define I2S_RCR2_DIV_MASK (0xFFU) 8062 #define I2S_RCR2_DIV_SHIFT (0U) 8063 #define I2S_RCR2_DIV(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_DIV_SHIFT)) & I2S_RCR2_DIV_MASK) 8064 #define I2S_RCR2_BCD_MASK (0x1000000U) 8065 #define I2S_RCR2_BCD_SHIFT (24U) 8066 /*! BCD - Bit Clock Direction 8067 * 0b0..Bit clock is generated externally in Slave mode. 8068 * 0b1..Bit clock is generated internally in Master mode. 8069 */ 8070 #define I2S_RCR2_BCD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCD_SHIFT)) & I2S_RCR2_BCD_MASK) 8071 #define I2S_RCR2_BCP_MASK (0x2000000U) 8072 #define I2S_RCR2_BCP_SHIFT (25U) 8073 /*! BCP - Bit Clock Polarity 8074 * 0b0..Bit Clock is active high with drive outputs on rising edge and sample inputs on falling edge. 8075 * 0b1..Bit Clock is active low with drive outputs on falling edge and sample inputs on rising edge. 8076 */ 8077 #define I2S_RCR2_BCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCP_SHIFT)) & I2S_RCR2_BCP_MASK) 8078 #define I2S_RCR2_MSEL_MASK (0xC000000U) 8079 #define I2S_RCR2_MSEL_SHIFT (26U) 8080 /*! MSEL - MCLK Select 8081 * 0b00..Bus Clock selected. 8082 * 0b01..Master Clock (MCLK) 1 option selected. 8083 * 0b10..Master Clock (MCLK) 2 option selected. 8084 * 0b11..Master Clock (MCLK) 3 option selected. 8085 */ 8086 #define I2S_RCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_MSEL_SHIFT)) & I2S_RCR2_MSEL_MASK) 8087 #define I2S_RCR2_BCI_MASK (0x10000000U) 8088 #define I2S_RCR2_BCI_SHIFT (28U) 8089 /*! BCI - Bit Clock Input 8090 * 0b0..No effect. 8091 * 0b1..Internal logic is clocked as if bit clock was externally generated. 8092 */ 8093 #define I2S_RCR2_BCI(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCI_SHIFT)) & I2S_RCR2_BCI_MASK) 8094 #define I2S_RCR2_BCS_MASK (0x20000000U) 8095 #define I2S_RCR2_BCS_SHIFT (29U) 8096 /*! BCS - Bit Clock Swap 8097 * 0b0..Use the normal bit clock source. 8098 * 0b1..Swap the bit clock source. 8099 */ 8100 #define I2S_RCR2_BCS(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_BCS_SHIFT)) & I2S_RCR2_BCS_MASK) 8101 #define I2S_RCR2_SYNC_MASK (0xC0000000U) 8102 #define I2S_RCR2_SYNC_SHIFT (30U) 8103 /*! SYNC - Synchronous Mode 8104 * 0b00..Asynchronous mode. 8105 * 0b01..Synchronous with transmitter. 8106 * 0b10..Synchronous with another SAI receiver. 8107 * 0b11..Synchronous with another SAI transmitter. 8108 */ 8109 #define I2S_RCR2_SYNC(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR2_SYNC_SHIFT)) & I2S_RCR2_SYNC_MASK) 8110 /*! @} */ 8111 8112 /*! @name RCR3 - SAI Receive Configuration 3 Register */ 8113 /*! @{ */ 8114 #define I2S_RCR3_WDFL_MASK (0x1FU) 8115 #define I2S_RCR3_WDFL_SHIFT (0U) 8116 #define I2S_RCR3_WDFL(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_WDFL_SHIFT)) & I2S_RCR3_WDFL_MASK) 8117 #define I2S_RCR3_RCE_MASK (0x30000U) 8118 #define I2S_RCR3_RCE_SHIFT (16U) 8119 #define I2S_RCR3_RCE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_RCE_SHIFT)) & I2S_RCR3_RCE_MASK) 8120 #define I2S_RCR3_CFR_MASK (0x3000000U) 8121 #define I2S_RCR3_CFR_SHIFT (24U) 8122 #define I2S_RCR3_CFR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR3_CFR_SHIFT)) & I2S_RCR3_CFR_MASK) 8123 /*! @} */ 8124 8125 /*! @name RCR4 - SAI Receive Configuration 4 Register */ 8126 /*! @{ */ 8127 #define I2S_RCR4_FSD_MASK (0x1U) 8128 #define I2S_RCR4_FSD_SHIFT (0U) 8129 /*! FSD - Frame Sync Direction 8130 * 0b0..Frame Sync is generated externally in Slave mode. 8131 * 0b1..Frame Sync is generated internally in Master mode. 8132 */ 8133 #define I2S_RCR4_FSD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSD_SHIFT)) & I2S_RCR4_FSD_MASK) 8134 #define I2S_RCR4_FSP_MASK (0x2U) 8135 #define I2S_RCR4_FSP_SHIFT (1U) 8136 /*! FSP - Frame Sync Polarity 8137 * 0b0..Frame sync is active high. 8138 * 0b1..Frame sync is active low. 8139 */ 8140 #define I2S_RCR4_FSP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSP_SHIFT)) & I2S_RCR4_FSP_MASK) 8141 #define I2S_RCR4_ONDEM_MASK (0x4U) 8142 #define I2S_RCR4_ONDEM_SHIFT (2U) 8143 /*! ONDEM - On Demand Mode 8144 * 0b0..Internal frame sync is generated continuously. 8145 * 0b1..Internal frame sync is generated when the FIFO warning flag is clear. 8146 */ 8147 #define I2S_RCR4_ONDEM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_ONDEM_SHIFT)) & I2S_RCR4_ONDEM_MASK) 8148 #define I2S_RCR4_FSE_MASK (0x8U) 8149 #define I2S_RCR4_FSE_SHIFT (3U) 8150 /*! FSE - Frame Sync Early 8151 * 0b0..Frame sync asserts with the first bit of the frame. 8152 * 0b1..Frame sync asserts one bit before the first bit of the frame. 8153 */ 8154 #define I2S_RCR4_FSE(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FSE_SHIFT)) & I2S_RCR4_FSE_MASK) 8155 #define I2S_RCR4_MF_MASK (0x10U) 8156 #define I2S_RCR4_MF_SHIFT (4U) 8157 /*! MF - MSB First 8158 * 0b0..LSB is received first. 8159 * 0b1..MSB is received first. 8160 */ 8161 #define I2S_RCR4_MF(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_MF_SHIFT)) & I2S_RCR4_MF_MASK) 8162 #define I2S_RCR4_SYWD_MASK (0x1F00U) 8163 #define I2S_RCR4_SYWD_SHIFT (8U) 8164 #define I2S_RCR4_SYWD(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_SYWD_SHIFT)) & I2S_RCR4_SYWD_MASK) 8165 #define I2S_RCR4_FRSZ_MASK (0x1F0000U) 8166 #define I2S_RCR4_FRSZ_SHIFT (16U) 8167 #define I2S_RCR4_FRSZ(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FRSZ_SHIFT)) & I2S_RCR4_FRSZ_MASK) 8168 #define I2S_RCR4_FPACK_MASK (0x3000000U) 8169 #define I2S_RCR4_FPACK_SHIFT (24U) 8170 /*! FPACK - FIFO Packing Mode 8171 * 0b00..FIFO packing is disabled 8172 * 0b01..Reserved. 8173 * 0b10..8-bit FIFO packing is enabled 8174 * 0b11..16-bit FIFO packing is enabled 8175 */ 8176 #define I2S_RCR4_FPACK(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FPACK_SHIFT)) & I2S_RCR4_FPACK_MASK) 8177 #define I2S_RCR4_FCOMB_MASK (0xC000000U) 8178 #define I2S_RCR4_FCOMB_SHIFT (26U) 8179 /*! FCOMB - FIFO Combine Mode 8180 * 0b00..FIFO combine mode disabled. 8181 * 0b01..FIFO combine mode enabled on FIFO writes (from receive shift registers). 8182 * 0b10..FIFO combine mode enabled on FIFO reads (by software). 8183 * 0b11..FIFO combine mode enabled on FIFO writes (from receive shift registers) and reads (by software). 8184 */ 8185 #define I2S_RCR4_FCOMB(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCOMB_SHIFT)) & I2S_RCR4_FCOMB_MASK) 8186 #define I2S_RCR4_FCONT_MASK (0x10000000U) 8187 #define I2S_RCR4_FCONT_SHIFT (28U) 8188 /*! FCONT - FIFO Continue on Error 8189 * 0b0..On FIFO error, the SAI will continue from the start of the next frame after the FIFO error flag has been cleared. 8190 * 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. 8191 */ 8192 #define I2S_RCR4_FCONT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR4_FCONT_SHIFT)) & I2S_RCR4_FCONT_MASK) 8193 /*! @} */ 8194 8195 /*! @name RCR5 - SAI Receive Configuration 5 Register */ 8196 /*! @{ */ 8197 #define I2S_RCR5_FBT_MASK (0x1F00U) 8198 #define I2S_RCR5_FBT_SHIFT (8U) 8199 #define I2S_RCR5_FBT(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_FBT_SHIFT)) & I2S_RCR5_FBT_MASK) 8200 #define I2S_RCR5_W0W_MASK (0x1F0000U) 8201 #define I2S_RCR5_W0W_SHIFT (16U) 8202 #define I2S_RCR5_W0W(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_W0W_SHIFT)) & I2S_RCR5_W0W_MASK) 8203 #define I2S_RCR5_WNW_MASK (0x1F000000U) 8204 #define I2S_RCR5_WNW_SHIFT (24U) 8205 #define I2S_RCR5_WNW(x) (((uint32_t)(((uint32_t)(x)) << I2S_RCR5_WNW_SHIFT)) & I2S_RCR5_WNW_MASK) 8206 /*! @} */ 8207 8208 /*! @name RDR - SAI Receive Data Register */ 8209 /*! @{ */ 8210 #define I2S_RDR_RDR_MASK (0xFFFFFFFFU) 8211 #define I2S_RDR_RDR_SHIFT (0U) 8212 #define I2S_RDR_RDR(x) (((uint32_t)(((uint32_t)(x)) << I2S_RDR_RDR_SHIFT)) & I2S_RDR_RDR_MASK) 8213 /*! @} */ 8214 8215 /* The count of I2S_RDR */ 8216 #define I2S_RDR_COUNT (2U) 8217 8218 /*! @name RFR - SAI Receive FIFO Register */ 8219 /*! @{ */ 8220 #define I2S_RFR_RFP_MASK (0xFU) 8221 #define I2S_RFR_RFP_SHIFT (0U) 8222 #define I2S_RFR_RFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RFP_SHIFT)) & I2S_RFR_RFP_MASK) 8223 #define I2S_RFR_RCP_MASK (0x8000U) 8224 #define I2S_RFR_RCP_SHIFT (15U) 8225 /*! RCP - Receive Channel Pointer 8226 * 0b0..No effect. 8227 * 0b1..FIFO combine is enabled for FIFO reads and this FIFO will be read on the next FIFO read. 8228 */ 8229 #define I2S_RFR_RCP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_RCP_SHIFT)) & I2S_RFR_RCP_MASK) 8230 #define I2S_RFR_WFP_MASK (0xF0000U) 8231 #define I2S_RFR_WFP_SHIFT (16U) 8232 #define I2S_RFR_WFP(x) (((uint32_t)(((uint32_t)(x)) << I2S_RFR_WFP_SHIFT)) & I2S_RFR_WFP_MASK) 8233 /*! @} */ 8234 8235 /* The count of I2S_RFR */ 8236 #define I2S_RFR_COUNT (2U) 8237 8238 /*! @name RMR - SAI Receive Mask Register */ 8239 /*! @{ */ 8240 #define I2S_RMR_RWM_MASK (0xFFFFFFFFU) 8241 #define I2S_RMR_RWM_SHIFT (0U) 8242 /*! RWM - Receive Word Mask 8243 * 0b00000000000000000000000000000000..Word N is enabled. 8244 * 0b00000000000000000000000000000001..Word N is masked. 8245 */ 8246 #define I2S_RMR_RWM(x) (((uint32_t)(((uint32_t)(x)) << I2S_RMR_RWM_SHIFT)) & I2S_RMR_RWM_MASK) 8247 /*! @} */ 8248 8249 8250 /*! 8251 * @} 8252 */ /* end of group I2S_Register_Masks */ 8253 8254 8255 /* I2S - Peripheral instance base addresses */ 8256 /** Peripheral I2S0 base address */ 8257 #define I2S0_BASE (0x4003D000u) 8258 /** Peripheral I2S0 base pointer */ 8259 #define I2S0 ((I2S_Type *)I2S0_BASE) 8260 /** Array initializer of I2S peripheral base addresses */ 8261 #define I2S_BASE_ADDRS { I2S0_BASE } 8262 /** Array initializer of I2S peripheral base pointers */ 8263 #define I2S_BASE_PTRS { I2S0 } 8264 /** Interrupt vectors for the I2S peripheral type */ 8265 #define I2S_RX_IRQS { I2S0_IRQn } 8266 #define I2S_TX_IRQS { I2S0_IRQn } 8267 8268 /*! 8269 * @} 8270 */ /* end of group I2S_Peripheral_Access_Layer */ 8271 8272 8273 /* ---------------------------------------------------------------------------- 8274 -- INTMUX Peripheral Access Layer 8275 ---------------------------------------------------------------------------- */ 8276 8277 /*! 8278 * @addtogroup INTMUX_Peripheral_Access_Layer INTMUX Peripheral Access Layer 8279 * @{ 8280 */ 8281 8282 /** INTMUX - Register Layout Typedef */ 8283 typedef struct { 8284 struct { /* offset: 0x0, array step: 0x40 */ 8285 __IO uint32_t CHn_CSR; /**< Channel n Control Status Register, array offset: 0x0, array step: 0x40 */ 8286 __I uint32_t CHn_VEC; /**< Channel n Vector Number Register, array offset: 0x4, array step: 0x40 */ 8287 uint8_t RESERVED_0[8]; 8288 __IO uint32_t CHn_IER_31_0; /**< Channel n Interrupt Enable Register, array offset: 0x10, array step: 0x40 */ 8289 uint8_t RESERVED_1[12]; 8290 __I uint32_t CHn_IPR_31_0; /**< Channel n Interrupt Pending Register, array offset: 0x20, array step: 0x40 */ 8291 uint8_t RESERVED_2[28]; 8292 } CHANNEL[8]; 8293 } INTMUX_Type; 8294 8295 /* ---------------------------------------------------------------------------- 8296 -- INTMUX Register Masks 8297 ---------------------------------------------------------------------------- */ 8298 8299 /*! 8300 * @addtogroup INTMUX_Register_Masks INTMUX Register Masks 8301 * @{ 8302 */ 8303 8304 /*! @name CHn_CSR - Channel n Control Status Register */ 8305 /*! @{ */ 8306 #define INTMUX_CHn_CSR_RST_MASK (0x1U) 8307 #define INTMUX_CHn_CSR_RST_SHIFT (0U) 8308 /*! RST - Software Reset 8309 * 0b0..No operation. 8310 * 0b1..Perform a software reset on this channel. 8311 */ 8312 #define INTMUX_CHn_CSR_RST(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_CSR_RST_SHIFT)) & INTMUX_CHn_CSR_RST_MASK) 8313 #define INTMUX_CHn_CSR_AND_MASK (0x2U) 8314 #define INTMUX_CHn_CSR_AND_SHIFT (1U) 8315 /*! AND - Logic AND 8316 * 0b0..Logic OR all enabled interrupt inputs. 8317 * 0b1..Logic AND all enabled interrupt inputs. 8318 */ 8319 #define INTMUX_CHn_CSR_AND(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_CSR_AND_SHIFT)) & INTMUX_CHn_CSR_AND_MASK) 8320 #define INTMUX_CHn_CSR_IRQN_MASK (0x30U) 8321 #define INTMUX_CHn_CSR_IRQN_SHIFT (4U) 8322 /*! IRQN - Channel Input Number 8323 * 0b00..32 interrupt inputs 8324 * 0b01..Reserved 8325 * 0b10..Reserved 8326 * 0b11..Reserved 8327 */ 8328 #define INTMUX_CHn_CSR_IRQN(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_CSR_IRQN_SHIFT)) & INTMUX_CHn_CSR_IRQN_MASK) 8329 #define INTMUX_CHn_CSR_CHIN_MASK (0xF00U) 8330 #define INTMUX_CHn_CSR_CHIN_SHIFT (8U) 8331 #define INTMUX_CHn_CSR_CHIN(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_CSR_CHIN_SHIFT)) & INTMUX_CHn_CSR_CHIN_MASK) 8332 #define INTMUX_CHn_CSR_IRQP_MASK (0x80000000U) 8333 #define INTMUX_CHn_CSR_IRQP_SHIFT (31U) 8334 /*! IRQP - Channel Interrupt Request Pending 8335 * 0b0..No interrupt is pending. 8336 * 0b1..The interrupt output of this channel is pending. 8337 */ 8338 #define INTMUX_CHn_CSR_IRQP(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_CSR_IRQP_SHIFT)) & INTMUX_CHn_CSR_IRQP_MASK) 8339 /*! @} */ 8340 8341 /* The count of INTMUX_CHn_CSR */ 8342 #define INTMUX_CHn_CSR_COUNT (8U) 8343 8344 /*! @name CHn_VEC - Channel n Vector Number Register */ 8345 /*! @{ */ 8346 #define INTMUX_CHn_VEC_VECN_MASK (0x3FFCU) 8347 #define INTMUX_CHn_VEC_VECN_SHIFT (2U) 8348 #define INTMUX_CHn_VEC_VECN(x) (((uint32_t)(((uint32_t)(x)) << INTMUX_CHn_VEC_VECN_SHIFT)) & INTMUX_CHn_VEC_VECN_MASK) 8349 /*! @} */ 8350 8351 /* The count of INTMUX_CHn_VEC */ 8352 #define INTMUX_CHn_VEC_COUNT (8U) 8353 8354 /*! @name CHn_IER_31_0 - Channel n Interrupt Enable Register */ 8355 /*! @{ */ 8356 #define INTMUX_CHn_IER_31_0_INTE_MASK (0xFFFFFFFFU) 8357 #define INTMUX_CHn_IER_31_0_INTE_SHIFT (0U) 8358 #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) 8359 /*! @} */ 8360 8361 /* The count of INTMUX_CHn_IER_31_0 */ 8362 #define INTMUX_CHn_IER_31_0_COUNT (8U) 8363 8364 /*! @name CHn_IPR_31_0 - Channel n Interrupt Pending Register */ 8365 /*! @{ */ 8366 #define INTMUX_CHn_IPR_31_0_INTP_MASK (0xFFFFFFFFU) 8367 #define INTMUX_CHn_IPR_31_0_INTP_SHIFT (0U) 8368 #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) 8369 /*! @} */ 8370 8371 /* The count of INTMUX_CHn_IPR_31_0 */ 8372 #define INTMUX_CHn_IPR_31_0_COUNT (8U) 8373 8374 8375 /*! 8376 * @} 8377 */ /* end of group INTMUX_Register_Masks */ 8378 8379 8380 /* INTMUX - Peripheral instance base addresses */ 8381 /** Peripheral INTMUX1 base address */ 8382 #define INTMUX1_BASE (0x41022000u) 8383 /** Peripheral INTMUX1 base pointer */ 8384 #define INTMUX1 ((INTMUX_Type *)INTMUX1_BASE) 8385 /** Array initializer of INTMUX peripheral base addresses */ 8386 #define INTMUX_BASE_ADDRS { 0u, INTMUX1_BASE } 8387 /** Array initializer of INTMUX peripheral base pointers */ 8388 #define INTMUX_BASE_PTRS { (INTMUX_Type *)0u, INTMUX1 } 8389 /** Interrupt vectors for the INTMUX peripheral type */ 8390 #define INTMUX_IRQS { { NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn, NotAvail_IRQn }, { INTMUX1_0_IRQn, INTMUX1_1_IRQn, INTMUX1_2_IRQn, INTMUX1_3_IRQn, INTMUX1_4_IRQn, INTMUX1_5_IRQn, INTMUX1_6_IRQn, INTMUX1_7_IRQn } } 8391 8392 /*! 8393 * @} 8394 */ /* end of group INTMUX_Peripheral_Access_Layer */ 8395 8396 8397 /* ---------------------------------------------------------------------------- 8398 -- LLWU Peripheral Access Layer 8399 ---------------------------------------------------------------------------- */ 8400 8401 /*! 8402 * @addtogroup LLWU_Peripheral_Access_Layer LLWU Peripheral Access Layer 8403 * @{ 8404 */ 8405 8406 /** LLWU - Register Layout Typedef */ 8407 typedef struct { 8408 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 8409 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 8410 __IO uint32_t PE1; /**< Pin Enable 1 register, offset: 0x8 */ 8411 __IO uint32_t PE2; /**< Pin Enable 2 register, offset: 0xC */ 8412 uint8_t RESERVED_0[8]; 8413 __IO uint32_t ME; /**< Module Interrupt Enable register, offset: 0x18 */ 8414 __IO uint32_t DE; /**< Module DMA/Trigger Enable register, offset: 0x1C */ 8415 __IO uint32_t PF; /**< Pin Flag register, offset: 0x20 */ 8416 uint8_t RESERVED_1[12]; 8417 __IO uint32_t FILT; /**< Pin Filter register, offset: 0x30 */ 8418 uint8_t RESERVED_2[4]; 8419 __IO uint32_t PDC1; /**< Pin DMA/Trigger Configuration 1 register, offset: 0x38 */ 8420 __IO uint32_t PDC2; /**< Pin DMA/Trigger Configuration 2 register, offset: 0x3C */ 8421 uint8_t RESERVED_3[8]; 8422 __IO uint32_t FDC; /**< Pin Filter DMA/Trigger Configuration register, offset: 0x48 */ 8423 uint8_t RESERVED_4[4]; 8424 __IO uint32_t PMC; /**< Pin Mode Configuration register, offset: 0x50 */ 8425 uint8_t RESERVED_5[4]; 8426 __IO uint32_t FMC; /**< Pin Filter Mode Configuration register, offset: 0x58 */ 8427 } LLWU_Type; 8428 8429 /* ---------------------------------------------------------------------------- 8430 -- LLWU Register Masks 8431 ---------------------------------------------------------------------------- */ 8432 8433 /*! 8434 * @addtogroup LLWU_Register_Masks LLWU Register Masks 8435 * @{ 8436 */ 8437 8438 /*! @name VERID - Version ID Register */ 8439 /*! @{ */ 8440 #define LLWU_VERID_FEATURE_MASK (0xFFFFU) 8441 #define LLWU_VERID_FEATURE_SHIFT (0U) 8442 /*! FEATURE - Feature Specification Number 8443 * 0b0000000000000000..Standard features implemented 8444 * 0b0000000000000001..Support for DMA/Trigger generation from wakeup pins and filters enabled. Support for external pin/filter detection during all power modes enabled. 8445 */ 8446 #define LLWU_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LLWU_VERID_FEATURE_SHIFT)) & LLWU_VERID_FEATURE_MASK) 8447 #define LLWU_VERID_MINOR_MASK (0xFF0000U) 8448 #define LLWU_VERID_MINOR_SHIFT (16U) 8449 #define LLWU_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LLWU_VERID_MINOR_SHIFT)) & LLWU_VERID_MINOR_MASK) 8450 #define LLWU_VERID_MAJOR_MASK (0xFF000000U) 8451 #define LLWU_VERID_MAJOR_SHIFT (24U) 8452 #define LLWU_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LLWU_VERID_MAJOR_SHIFT)) & LLWU_VERID_MAJOR_MASK) 8453 /*! @} */ 8454 8455 /*! @name PARAM - Parameter Register */ 8456 /*! @{ */ 8457 #define LLWU_PARAM_FILTERS_MASK (0xFFU) 8458 #define LLWU_PARAM_FILTERS_SHIFT (0U) 8459 #define LLWU_PARAM_FILTERS(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PARAM_FILTERS_SHIFT)) & LLWU_PARAM_FILTERS_MASK) 8460 #define LLWU_PARAM_DMAS_MASK (0xFF00U) 8461 #define LLWU_PARAM_DMAS_SHIFT (8U) 8462 #define LLWU_PARAM_DMAS(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PARAM_DMAS_SHIFT)) & LLWU_PARAM_DMAS_MASK) 8463 #define LLWU_PARAM_MODULES_MASK (0xFF0000U) 8464 #define LLWU_PARAM_MODULES_SHIFT (16U) 8465 #define LLWU_PARAM_MODULES(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PARAM_MODULES_SHIFT)) & LLWU_PARAM_MODULES_MASK) 8466 #define LLWU_PARAM_PINS_MASK (0xFF000000U) 8467 #define LLWU_PARAM_PINS_SHIFT (24U) 8468 #define LLWU_PARAM_PINS(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PARAM_PINS_SHIFT)) & LLWU_PARAM_PINS_MASK) 8469 /*! @} */ 8470 8471 /*! @name PE1 - Pin Enable 1 register */ 8472 /*! @{ */ 8473 #define LLWU_PE1_WUPE0_MASK (0x3U) 8474 #define LLWU_PE1_WUPE0_SHIFT (0U) 8475 /*! WUPE0 - Wakeup pin enable for LLWU_Pn 8476 * 0b00..External input pin disabled as wakeup input 8477 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8478 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8479 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8480 */ 8481 #define LLWU_PE1_WUPE0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE0_SHIFT)) & LLWU_PE1_WUPE0_MASK) 8482 #define LLWU_PE1_WUPE1_MASK (0xCU) 8483 #define LLWU_PE1_WUPE1_SHIFT (2U) 8484 /*! WUPE1 - Wakeup pin enable for LLWU_Pn 8485 * 0b00..External input pin disabled as wakeup input 8486 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8487 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8488 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8489 */ 8490 #define LLWU_PE1_WUPE1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE1_SHIFT)) & LLWU_PE1_WUPE1_MASK) 8491 #define LLWU_PE1_WUPE2_MASK (0x30U) 8492 #define LLWU_PE1_WUPE2_SHIFT (4U) 8493 /*! WUPE2 - Wakeup pin enable for LLWU_Pn 8494 * 0b00..External input pin disabled as wakeup input 8495 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8496 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8497 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8498 */ 8499 #define LLWU_PE1_WUPE2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE2_SHIFT)) & LLWU_PE1_WUPE2_MASK) 8500 #define LLWU_PE1_WUPE3_MASK (0xC0U) 8501 #define LLWU_PE1_WUPE3_SHIFT (6U) 8502 /*! WUPE3 - Wakeup pin enable for LLWU_Pn 8503 * 0b00..External input pin disabled as wakeup input 8504 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8505 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8506 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8507 */ 8508 #define LLWU_PE1_WUPE3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE3_SHIFT)) & LLWU_PE1_WUPE3_MASK) 8509 #define LLWU_PE1_WUPE4_MASK (0x300U) 8510 #define LLWU_PE1_WUPE4_SHIFT (8U) 8511 /*! WUPE4 - Wakeup pin enable for LLWU_Pn 8512 * 0b00..External input pin disabled as wakeup input 8513 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8514 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8515 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8516 */ 8517 #define LLWU_PE1_WUPE4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE4_SHIFT)) & LLWU_PE1_WUPE4_MASK) 8518 #define LLWU_PE1_WUPE5_MASK (0xC00U) 8519 #define LLWU_PE1_WUPE5_SHIFT (10U) 8520 /*! WUPE5 - Wakeup pin enable for LLWU_Pn 8521 * 0b00..External input pin disabled as wakeup input 8522 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8523 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8524 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8525 */ 8526 #define LLWU_PE1_WUPE5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE5_SHIFT)) & LLWU_PE1_WUPE5_MASK) 8527 #define LLWU_PE1_WUPE6_MASK (0x3000U) 8528 #define LLWU_PE1_WUPE6_SHIFT (12U) 8529 /*! WUPE6 - Wakeup pin enable for LLWU_Pn 8530 * 0b00..External input pin disabled as wakeup input 8531 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8532 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8533 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8534 */ 8535 #define LLWU_PE1_WUPE6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE6_SHIFT)) & LLWU_PE1_WUPE6_MASK) 8536 #define LLWU_PE1_WUPE7_MASK (0xC000U) 8537 #define LLWU_PE1_WUPE7_SHIFT (14U) 8538 /*! WUPE7 - Wakeup pin enable for LLWU_Pn 8539 * 0b00..External input pin disabled as wakeup input 8540 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8541 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8542 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8543 */ 8544 #define LLWU_PE1_WUPE7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE7_SHIFT)) & LLWU_PE1_WUPE7_MASK) 8545 #define LLWU_PE1_WUPE8_MASK (0x30000U) 8546 #define LLWU_PE1_WUPE8_SHIFT (16U) 8547 /*! WUPE8 - Wakeup pin enable for LLWU_Pn 8548 * 0b00..External input pin disabled as wakeup input 8549 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8550 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8551 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8552 */ 8553 #define LLWU_PE1_WUPE8(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE8_SHIFT)) & LLWU_PE1_WUPE8_MASK) 8554 #define LLWU_PE1_WUPE9_MASK (0xC0000U) 8555 #define LLWU_PE1_WUPE9_SHIFT (18U) 8556 /*! WUPE9 - Wakeup pin enable for LLWU_Pn 8557 * 0b00..External input pin disabled as wakeup input 8558 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8559 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8560 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8561 */ 8562 #define LLWU_PE1_WUPE9(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE9_SHIFT)) & LLWU_PE1_WUPE9_MASK) 8563 #define LLWU_PE1_WUPE10_MASK (0x300000U) 8564 #define LLWU_PE1_WUPE10_SHIFT (20U) 8565 /*! WUPE10 - Wakeup pin enable for LLWU_Pn 8566 * 0b00..External input pin disabled as wakeup input 8567 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8568 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8569 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8570 */ 8571 #define LLWU_PE1_WUPE10(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE10_SHIFT)) & LLWU_PE1_WUPE10_MASK) 8572 #define LLWU_PE1_WUPE11_MASK (0xC00000U) 8573 #define LLWU_PE1_WUPE11_SHIFT (22U) 8574 /*! WUPE11 - Wakeup pin enable for LLWU_Pn 8575 * 0b00..External input pin disabled as wakeup input 8576 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8577 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8578 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8579 */ 8580 #define LLWU_PE1_WUPE11(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE11_SHIFT)) & LLWU_PE1_WUPE11_MASK) 8581 #define LLWU_PE1_WUPE12_MASK (0x3000000U) 8582 #define LLWU_PE1_WUPE12_SHIFT (24U) 8583 /*! WUPE12 - Wakeup pin enable for LLWU_Pn 8584 * 0b00..External input pin disabled as wakeup input 8585 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8586 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8587 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8588 */ 8589 #define LLWU_PE1_WUPE12(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE12_SHIFT)) & LLWU_PE1_WUPE12_MASK) 8590 #define LLWU_PE1_WUPE13_MASK (0xC000000U) 8591 #define LLWU_PE1_WUPE13_SHIFT (26U) 8592 /*! WUPE13 - Wakeup pin enable for LLWU_Pn 8593 * 0b00..External input pin disabled as wakeup input 8594 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8595 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8596 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8597 */ 8598 #define LLWU_PE1_WUPE13(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE13_SHIFT)) & LLWU_PE1_WUPE13_MASK) 8599 #define LLWU_PE1_WUPE14_MASK (0x30000000U) 8600 #define LLWU_PE1_WUPE14_SHIFT (28U) 8601 /*! WUPE14 - Wakeup pin enable for LLWU_Pn 8602 * 0b00..External input pin disabled as wakeup input 8603 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8604 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8605 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8606 */ 8607 #define LLWU_PE1_WUPE14(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE14_SHIFT)) & LLWU_PE1_WUPE14_MASK) 8608 #define LLWU_PE1_WUPE15_MASK (0xC0000000U) 8609 #define LLWU_PE1_WUPE15_SHIFT (30U) 8610 /*! WUPE15 - Wakeup pin enable for LLWU_Pn 8611 * 0b00..External input pin disabled as wakeup input 8612 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8613 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8614 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8615 */ 8616 #define LLWU_PE1_WUPE15(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE1_WUPE15_SHIFT)) & LLWU_PE1_WUPE15_MASK) 8617 /*! @} */ 8618 8619 /*! @name PE2 - Pin Enable 2 register */ 8620 /*! @{ */ 8621 #define LLWU_PE2_WUPE16_MASK (0x3U) 8622 #define LLWU_PE2_WUPE16_SHIFT (0U) 8623 /*! WUPE16 - Wakeup pin enable for LLWU_Pn 8624 * 0b00..External input pin disabled as wakeup input 8625 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8626 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8627 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8628 */ 8629 #define LLWU_PE2_WUPE16(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE16_SHIFT)) & LLWU_PE2_WUPE16_MASK) 8630 #define LLWU_PE2_WUPE17_MASK (0xCU) 8631 #define LLWU_PE2_WUPE17_SHIFT (2U) 8632 /*! WUPE17 - Wakeup pin enable for LLWU_Pn 8633 * 0b00..External input pin disabled as wakeup input 8634 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8635 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8636 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8637 */ 8638 #define LLWU_PE2_WUPE17(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE17_SHIFT)) & LLWU_PE2_WUPE17_MASK) 8639 #define LLWU_PE2_WUPE18_MASK (0x30U) 8640 #define LLWU_PE2_WUPE18_SHIFT (4U) 8641 /*! WUPE18 - Wakeup pin enable for LLWU_Pn 8642 * 0b00..External input pin disabled as wakeup input 8643 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8644 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8645 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8646 */ 8647 #define LLWU_PE2_WUPE18(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE18_SHIFT)) & LLWU_PE2_WUPE18_MASK) 8648 #define LLWU_PE2_WUPE19_MASK (0xC0U) 8649 #define LLWU_PE2_WUPE19_SHIFT (6U) 8650 /*! WUPE19 - Wakeup pin enable for LLWU_Pn 8651 * 0b00..External input pin disabled as wakeup input 8652 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8653 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8654 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8655 */ 8656 #define LLWU_PE2_WUPE19(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE19_SHIFT)) & LLWU_PE2_WUPE19_MASK) 8657 #define LLWU_PE2_WUPE20_MASK (0x300U) 8658 #define LLWU_PE2_WUPE20_SHIFT (8U) 8659 /*! WUPE20 - Wakeup pin enable for LLWU_Pn 8660 * 0b00..External input pin disabled as wakeup input 8661 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8662 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8663 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8664 */ 8665 #define LLWU_PE2_WUPE20(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE20_SHIFT)) & LLWU_PE2_WUPE20_MASK) 8666 #define LLWU_PE2_WUPE21_MASK (0xC00U) 8667 #define LLWU_PE2_WUPE21_SHIFT (10U) 8668 /*! WUPE21 - Wakeup pin enable for LLWU_Pn 8669 * 0b00..External input pin disabled as wakeup input 8670 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8671 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8672 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8673 */ 8674 #define LLWU_PE2_WUPE21(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE21_SHIFT)) & LLWU_PE2_WUPE21_MASK) 8675 #define LLWU_PE2_WUPE22_MASK (0x3000U) 8676 #define LLWU_PE2_WUPE22_SHIFT (12U) 8677 /*! WUPE22 - Wakeup pin enable for LLWU_Pn 8678 * 0b00..External input pin disabled as wakeup input 8679 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8680 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8681 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8682 */ 8683 #define LLWU_PE2_WUPE22(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE22_SHIFT)) & LLWU_PE2_WUPE22_MASK) 8684 #define LLWU_PE2_WUPE23_MASK (0xC000U) 8685 #define LLWU_PE2_WUPE23_SHIFT (14U) 8686 /*! WUPE23 - Wakeup pin enable for LLWU_Pn 8687 * 0b00..External input pin disabled as wakeup input 8688 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8689 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8690 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8691 */ 8692 #define LLWU_PE2_WUPE23(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE23_SHIFT)) & LLWU_PE2_WUPE23_MASK) 8693 #define LLWU_PE2_WUPE24_MASK (0x30000U) 8694 #define LLWU_PE2_WUPE24_SHIFT (16U) 8695 /*! WUPE24 - Wakeup pin enable for LLWU_Pn 8696 * 0b00..External input pin disabled as wakeup input 8697 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8698 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8699 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8700 */ 8701 #define LLWU_PE2_WUPE24(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE24_SHIFT)) & LLWU_PE2_WUPE24_MASK) 8702 #define LLWU_PE2_WUPE25_MASK (0xC0000U) 8703 #define LLWU_PE2_WUPE25_SHIFT (18U) 8704 /*! WUPE25 - Wakeup pin enable for LLWU_Pn 8705 * 0b00..External input pin disabled as wakeup input 8706 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8707 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8708 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8709 */ 8710 #define LLWU_PE2_WUPE25(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE25_SHIFT)) & LLWU_PE2_WUPE25_MASK) 8711 #define LLWU_PE2_WUPE26_MASK (0x300000U) 8712 #define LLWU_PE2_WUPE26_SHIFT (20U) 8713 /*! WUPE26 - Wakeup pin enable for LLWU_Pn 8714 * 0b00..External input pin disabled as wakeup input 8715 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8716 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8717 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8718 */ 8719 #define LLWU_PE2_WUPE26(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE26_SHIFT)) & LLWU_PE2_WUPE26_MASK) 8720 #define LLWU_PE2_Reserved27_MASK (0xC00000U) 8721 #define LLWU_PE2_Reserved27_SHIFT (22U) 8722 /*! Reserved27 - Wakeup pin enable for LLWU_Pn 8723 * 0b00..External input pin disabled as wakeup input 8724 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8725 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8726 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8727 */ 8728 #define LLWU_PE2_Reserved27(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_Reserved27_SHIFT)) & LLWU_PE2_Reserved27_MASK) 8729 #define LLWU_PE2_Reserved28_MASK (0x3000000U) 8730 #define LLWU_PE2_Reserved28_SHIFT (24U) 8731 /*! Reserved28 - Wakeup pin enable for LLWU_Pn 8732 * 0b00..External input pin disabled as wakeup input 8733 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8734 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8735 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8736 */ 8737 #define LLWU_PE2_Reserved28(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_Reserved28_SHIFT)) & LLWU_PE2_Reserved28_MASK) 8738 #define LLWU_PE2_WUPE29_MASK (0xC000000U) 8739 #define LLWU_PE2_WUPE29_SHIFT (26U) 8740 /*! WUPE29 - Wakeup pin enable for LLWU_Pn 8741 * 0b00..External input pin disabled as wakeup input 8742 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8743 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8744 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8745 */ 8746 #define LLWU_PE2_WUPE29(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE29_SHIFT)) & LLWU_PE2_WUPE29_MASK) 8747 #define LLWU_PE2_WUPE30_MASK (0x30000000U) 8748 #define LLWU_PE2_WUPE30_SHIFT (28U) 8749 /*! WUPE30 - Wakeup pin enable for LLWU_Pn 8750 * 0b00..External input pin disabled as wakeup input 8751 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8752 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8753 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8754 */ 8755 #define LLWU_PE2_WUPE30(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE30_SHIFT)) & LLWU_PE2_WUPE30_MASK) 8756 #define LLWU_PE2_WUPE31_MASK (0xC0000000U) 8757 #define LLWU_PE2_WUPE31_SHIFT (30U) 8758 /*! WUPE31 - Wakeup pin enable for LLWU_Pn 8759 * 0b00..External input pin disabled as wakeup input 8760 * 0b01..External input pin enabled with rising edge detection when configured as interrupt/DMA request or high level detection when configured as trigger request 8761 * 0b10..External input pin enabled with falling edge detection when configured as interrupt/DMA request or low level detection when configured as trigger request 8762 * 0b11..External input pin enabled with any change detection when configured as interrupt/DMA request 8763 */ 8764 #define LLWU_PE2_WUPE31(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PE2_WUPE31_SHIFT)) & LLWU_PE2_WUPE31_MASK) 8765 /*! @} */ 8766 8767 /*! @name ME - Module Interrupt Enable register */ 8768 /*! @{ */ 8769 #define LLWU_ME_WUME0_MASK (0x1U) 8770 #define LLWU_ME_WUME0_SHIFT (0U) 8771 /*! WUME0 - Wakeup module enable for module n 8772 * 0b0..Internal module flag not used as wakeup source 8773 * 0b1..Internal module flag used as wakeup source 8774 */ 8775 #define LLWU_ME_WUME0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME0_SHIFT)) & LLWU_ME_WUME0_MASK) 8776 #define LLWU_ME_WUME1_MASK (0x2U) 8777 #define LLWU_ME_WUME1_SHIFT (1U) 8778 /*! WUME1 - Wakeup module enable for module n 8779 * 0b0..Internal module flag not used as wakeup source 8780 * 0b1..Internal module flag used as wakeup source 8781 */ 8782 #define LLWU_ME_WUME1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME1_SHIFT)) & LLWU_ME_WUME1_MASK) 8783 #define LLWU_ME_WUME2_MASK (0x4U) 8784 #define LLWU_ME_WUME2_SHIFT (2U) 8785 /*! WUME2 - Wakeup module enable for module n 8786 * 0b0..Internal module flag not used as wakeup source 8787 * 0b1..Internal module flag used as wakeup source 8788 */ 8789 #define LLWU_ME_WUME2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME2_SHIFT)) & LLWU_ME_WUME2_MASK) 8790 #define LLWU_ME_Reserved3_MASK (0x8U) 8791 #define LLWU_ME_Reserved3_SHIFT (3U) 8792 /*! Reserved3 - Wakeup module enable for module n 8793 * 0b0..Internal module flag not used as wakeup source 8794 * 0b1..Internal module flag used as wakeup source 8795 */ 8796 #define LLWU_ME_Reserved3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_Reserved3_SHIFT)) & LLWU_ME_Reserved3_MASK) 8797 #define LLWU_ME_WUME3_MASK (0x8U) 8798 #define LLWU_ME_WUME3_SHIFT (3U) 8799 /*! WUME3 - Wakeup module enable for module n 8800 * 0b0..Internal module flag not used as wakeup source 8801 * 0b1..Internal module flag used as wakeup source 8802 */ 8803 #define LLWU_ME_WUME3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME3_SHIFT)) & LLWU_ME_WUME3_MASK) 8804 #define LLWU_ME_Reserved4_MASK (0x10U) 8805 #define LLWU_ME_Reserved4_SHIFT (4U) 8806 /*! Reserved4 - Wakeup module enable for module n 8807 * 0b0..Internal module flag not used as wakeup source 8808 * 0b1..Internal module flag used as wakeup source 8809 */ 8810 #define LLWU_ME_Reserved4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_Reserved4_SHIFT)) & LLWU_ME_Reserved4_MASK) 8811 #define LLWU_ME_WUME5_MASK (0x20U) 8812 #define LLWU_ME_WUME5_SHIFT (5U) 8813 /*! WUME5 - Wakeup module enable for module n 8814 * 0b0..Internal module flag not used as wakeup source 8815 * 0b1..Internal module flag used as wakeup source 8816 */ 8817 #define LLWU_ME_WUME5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME5_SHIFT)) & LLWU_ME_WUME5_MASK) 8818 #define LLWU_ME_WUME6_MASK (0x40U) 8819 #define LLWU_ME_WUME6_SHIFT (6U) 8820 /*! WUME6 - Wakeup module enable for module n 8821 * 0b0..Internal module flag not used as wakeup source 8822 * 0b1..Internal module flag used as wakeup source 8823 */ 8824 #define LLWU_ME_WUME6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME6_SHIFT)) & LLWU_ME_WUME6_MASK) 8825 #define LLWU_ME_WUME7_MASK (0x80U) 8826 #define LLWU_ME_WUME7_SHIFT (7U) 8827 /*! WUME7 - Wakeup module enable for module n 8828 * 0b0..Internal module flag not used as wakeup source 8829 * 0b1..Internal module flag used as wakeup source 8830 */ 8831 #define LLWU_ME_WUME7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_ME_WUME7_SHIFT)) & LLWU_ME_WUME7_MASK) 8832 /*! @} */ 8833 8834 /*! @name DE - Module DMA/Trigger Enable register */ 8835 /*! @{ */ 8836 #define LLWU_DE_WUDE0_MASK (0x1U) 8837 #define LLWU_DE_WUDE0_SHIFT (0U) 8838 /*! WUDE0 - DMA/Trigger wakeup enable for module n 8839 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8840 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8841 */ 8842 #define LLWU_DE_WUDE0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE0_SHIFT)) & LLWU_DE_WUDE0_MASK) 8843 #define LLWU_DE_WUDE1_MASK (0x2U) 8844 #define LLWU_DE_WUDE1_SHIFT (1U) 8845 /*! WUDE1 - DMA/Trigger wakeup enable for module n 8846 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8847 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8848 */ 8849 #define LLWU_DE_WUDE1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE1_SHIFT)) & LLWU_DE_WUDE1_MASK) 8850 #define LLWU_DE_WUDE2_MASK (0x4U) 8851 #define LLWU_DE_WUDE2_SHIFT (2U) 8852 /*! WUDE2 - DMA/Trigger wakeup enable for module n 8853 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8854 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8855 */ 8856 #define LLWU_DE_WUDE2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE2_SHIFT)) & LLWU_DE_WUDE2_MASK) 8857 #define LLWU_DE_Reserved3_MASK (0x8U) 8858 #define LLWU_DE_Reserved3_SHIFT (3U) 8859 /*! Reserved3 - DMA/Trigger wakeup enable for module n 8860 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8861 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8862 */ 8863 #define LLWU_DE_Reserved3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_Reserved3_SHIFT)) & LLWU_DE_Reserved3_MASK) 8864 #define LLWU_DE_WUDE4_MASK (0x10U) 8865 #define LLWU_DE_WUDE4_SHIFT (4U) 8866 /*! WUDE4 - DMA/Trigger wakeup enable for module n 8867 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8868 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8869 */ 8870 #define LLWU_DE_WUDE4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE4_SHIFT)) & LLWU_DE_WUDE4_MASK) 8871 #define LLWU_DE_WUDE5_MASK (0x20U) 8872 #define LLWU_DE_WUDE5_SHIFT (5U) 8873 /*! WUDE5 - DMA/Trigger wakeup enable for module n 8874 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8875 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8876 */ 8877 #define LLWU_DE_WUDE5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE5_SHIFT)) & LLWU_DE_WUDE5_MASK) 8878 #define LLWU_DE_WUDE6_MASK (0x40U) 8879 #define LLWU_DE_WUDE6_SHIFT (6U) 8880 /*! WUDE6 - DMA/Trigger wakeup enable for module n 8881 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8882 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8883 */ 8884 #define LLWU_DE_WUDE6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_WUDE6_SHIFT)) & LLWU_DE_WUDE6_MASK) 8885 #define LLWU_DE_Reserved7_MASK (0x80U) 8886 #define LLWU_DE_Reserved7_SHIFT (7U) 8887 /*! Reserved7 - DMA/Trigger wakeup enable for module n 8888 * 0b0..Internal module request not enabled as a DMA/Trigger wakeup source 8889 * 0b1..Internal module request enabled as a DMA/Trigger wakeup source 8890 */ 8891 #define LLWU_DE_Reserved7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_DE_Reserved7_SHIFT)) & LLWU_DE_Reserved7_MASK) 8892 /*! @} */ 8893 8894 /*! @name PF - Pin Flag register */ 8895 /*! @{ */ 8896 #define LLWU_PF_WUF0_MASK (0x1U) 8897 #define LLWU_PF_WUF0_SHIFT (0U) 8898 /*! WUF0 - Wakeup flag for LLWU_Pn 8899 * 0b0..LLWU_Pn input was not a wakeup source 8900 * 0b1..LLWU_Pn input was a wakeup source 8901 */ 8902 #define LLWU_PF_WUF0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF0_SHIFT)) & LLWU_PF_WUF0_MASK) 8903 #define LLWU_PF_WUF1_MASK (0x2U) 8904 #define LLWU_PF_WUF1_SHIFT (1U) 8905 /*! WUF1 - Wakeup flag for LLWU_Pn 8906 * 0b0..LLWU_Pn input was not a wakeup source 8907 * 0b1..LLWU_Pn input was a wakeup source 8908 */ 8909 #define LLWU_PF_WUF1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF1_SHIFT)) & LLWU_PF_WUF1_MASK) 8910 #define LLWU_PF_WUF2_MASK (0x4U) 8911 #define LLWU_PF_WUF2_SHIFT (2U) 8912 /*! WUF2 - Wakeup flag for LLWU_Pn 8913 * 0b0..LLWU_Pn input was not a wakeup source 8914 * 0b1..LLWU_Pn input was a wakeup source 8915 */ 8916 #define LLWU_PF_WUF2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF2_SHIFT)) & LLWU_PF_WUF2_MASK) 8917 #define LLWU_PF_WUF3_MASK (0x8U) 8918 #define LLWU_PF_WUF3_SHIFT (3U) 8919 /*! WUF3 - Wakeup flag for LLWU_Pn 8920 * 0b0..LLWU_Pn input was not a wakeup source 8921 * 0b1..LLWU_Pn input was a wakeup source 8922 */ 8923 #define LLWU_PF_WUF3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF3_SHIFT)) & LLWU_PF_WUF3_MASK) 8924 #define LLWU_PF_WUF4_MASK (0x10U) 8925 #define LLWU_PF_WUF4_SHIFT (4U) 8926 /*! WUF4 - Wakeup flag for LLWU_Pn 8927 * 0b0..LLWU_Pn input was not a wakeup source 8928 * 0b1..LLWU_Pn input was a wakeup source 8929 */ 8930 #define LLWU_PF_WUF4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF4_SHIFT)) & LLWU_PF_WUF4_MASK) 8931 #define LLWU_PF_WUF5_MASK (0x20U) 8932 #define LLWU_PF_WUF5_SHIFT (5U) 8933 /*! WUF5 - Wakeup flag for LLWU_Pn 8934 * 0b0..LLWU_Pn input was not a wakeup source 8935 * 0b1..LLWU_Pn input was a wakeup source 8936 */ 8937 #define LLWU_PF_WUF5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF5_SHIFT)) & LLWU_PF_WUF5_MASK) 8938 #define LLWU_PF_WUF6_MASK (0x40U) 8939 #define LLWU_PF_WUF6_SHIFT (6U) 8940 /*! WUF6 - Wakeup flag for LLWU_Pn 8941 * 0b0..LLWU_Pn input was not a wakeup source 8942 * 0b1..LLWU_Pn input was a wakeup source 8943 */ 8944 #define LLWU_PF_WUF6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF6_SHIFT)) & LLWU_PF_WUF6_MASK) 8945 #define LLWU_PF_WUF7_MASK (0x80U) 8946 #define LLWU_PF_WUF7_SHIFT (7U) 8947 /*! WUF7 - Wakeup flag for LLWU_Pn 8948 * 0b0..LLWU_Pn input was not a wakeup source 8949 * 0b1..LLWU_Pn input was a wakeup source 8950 */ 8951 #define LLWU_PF_WUF7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF7_SHIFT)) & LLWU_PF_WUF7_MASK) 8952 #define LLWU_PF_WUF8_MASK (0x100U) 8953 #define LLWU_PF_WUF8_SHIFT (8U) 8954 /*! WUF8 - Wakeup flag for LLWU_Pn 8955 * 0b0..LLWU_Pn input was not a wakeup source 8956 * 0b1..LLWU_Pn input was a wakeup source 8957 */ 8958 #define LLWU_PF_WUF8(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF8_SHIFT)) & LLWU_PF_WUF8_MASK) 8959 #define LLWU_PF_WUF9_MASK (0x200U) 8960 #define LLWU_PF_WUF9_SHIFT (9U) 8961 /*! WUF9 - Wakeup flag for LLWU_Pn 8962 * 0b0..LLWU_Pn input was not a wakeup source 8963 * 0b1..LLWU_Pn input was a wakeup source 8964 */ 8965 #define LLWU_PF_WUF9(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF9_SHIFT)) & LLWU_PF_WUF9_MASK) 8966 #define LLWU_PF_WUF10_MASK (0x400U) 8967 #define LLWU_PF_WUF10_SHIFT (10U) 8968 /*! WUF10 - Wakeup flag for LLWU_Pn 8969 * 0b0..LLWU_Pn input was not a wakeup source 8970 * 0b1..LLWU_Pn input was a wakeup source 8971 */ 8972 #define LLWU_PF_WUF10(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF10_SHIFT)) & LLWU_PF_WUF10_MASK) 8973 #define LLWU_PF_WUF11_MASK (0x800U) 8974 #define LLWU_PF_WUF11_SHIFT (11U) 8975 /*! WUF11 - Wakeup flag for LLWU_Pn 8976 * 0b0..LLWU_Pn input was not a wakeup source 8977 * 0b1..LLWU_Pn input was a wakeup source 8978 */ 8979 #define LLWU_PF_WUF11(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF11_SHIFT)) & LLWU_PF_WUF11_MASK) 8980 #define LLWU_PF_WUF12_MASK (0x1000U) 8981 #define LLWU_PF_WUF12_SHIFT (12U) 8982 /*! WUF12 - Wakeup flag for LLWU_Pn 8983 * 0b0..LLWU_Pn input was not a wakeup source 8984 * 0b1..LLWU_Pn input was a wakeup source 8985 */ 8986 #define LLWU_PF_WUF12(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF12_SHIFT)) & LLWU_PF_WUF12_MASK) 8987 #define LLWU_PF_WUF13_MASK (0x2000U) 8988 #define LLWU_PF_WUF13_SHIFT (13U) 8989 /*! WUF13 - Wakeup flag for LLWU_Pn 8990 * 0b0..LLWU_Pn input was not a wakeup source 8991 * 0b1..LLWU_Pn input was a wakeup source 8992 */ 8993 #define LLWU_PF_WUF13(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF13_SHIFT)) & LLWU_PF_WUF13_MASK) 8994 #define LLWU_PF_WUF14_MASK (0x4000U) 8995 #define LLWU_PF_WUF14_SHIFT (14U) 8996 /*! WUF14 - Wakeup flag for LLWU_Pn 8997 * 0b0..LLWU_Pn input was not a wakeup source 8998 * 0b1..LLWU_Pn input was a wakeup source 8999 */ 9000 #define LLWU_PF_WUF14(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF14_SHIFT)) & LLWU_PF_WUF14_MASK) 9001 #define LLWU_PF_WUF15_MASK (0x8000U) 9002 #define LLWU_PF_WUF15_SHIFT (15U) 9003 /*! WUF15 - Wakeup flag for LLWU_Pn 9004 * 0b0..LLWU_Pn input was not a wakeup source 9005 * 0b1..LLWU_Pn input was a wakeup source 9006 */ 9007 #define LLWU_PF_WUF15(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF15_SHIFT)) & LLWU_PF_WUF15_MASK) 9008 #define LLWU_PF_WUF16_MASK (0x10000U) 9009 #define LLWU_PF_WUF16_SHIFT (16U) 9010 /*! WUF16 - Wakeup flag for LLWU_Pn 9011 * 0b0..LLWU_Pn input was not a wakeup source 9012 * 0b1..LLWU_Pn input was a wakeup source 9013 */ 9014 #define LLWU_PF_WUF16(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF16_SHIFT)) & LLWU_PF_WUF16_MASK) 9015 #define LLWU_PF_WUF17_MASK (0x20000U) 9016 #define LLWU_PF_WUF17_SHIFT (17U) 9017 /*! WUF17 - Wakeup flag for LLWU_Pn 9018 * 0b0..LLWU_Pn input was not a wakeup source 9019 * 0b1..LLWU_Pn input was a wakeup source 9020 */ 9021 #define LLWU_PF_WUF17(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF17_SHIFT)) & LLWU_PF_WUF17_MASK) 9022 #define LLWU_PF_WUF18_MASK (0x40000U) 9023 #define LLWU_PF_WUF18_SHIFT (18U) 9024 /*! WUF18 - Wakeup flag for LLWU_Pn 9025 * 0b0..LLWU_Pn input was not a wakeup source 9026 * 0b1..LLWU_Pn input was a wakeup source 9027 */ 9028 #define LLWU_PF_WUF18(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF18_SHIFT)) & LLWU_PF_WUF18_MASK) 9029 #define LLWU_PF_WUF19_MASK (0x80000U) 9030 #define LLWU_PF_WUF19_SHIFT (19U) 9031 /*! WUF19 - Wakeup flag for LLWU_Pn 9032 * 0b0..LLWU_Pn input was not a wakeup source 9033 * 0b1..LLWU_Pn input was a wakeup source 9034 */ 9035 #define LLWU_PF_WUF19(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF19_SHIFT)) & LLWU_PF_WUF19_MASK) 9036 #define LLWU_PF_WUF20_MASK (0x100000U) 9037 #define LLWU_PF_WUF20_SHIFT (20U) 9038 /*! WUF20 - Wakeup flag for LLWU_Pn 9039 * 0b0..LLWU_Pn input was not a wakeup source 9040 * 0b1..LLWU_Pn input was a wakeup source 9041 */ 9042 #define LLWU_PF_WUF20(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF20_SHIFT)) & LLWU_PF_WUF20_MASK) 9043 #define LLWU_PF_WUF21_MASK (0x200000U) 9044 #define LLWU_PF_WUF21_SHIFT (21U) 9045 /*! WUF21 - Wakeup flag for LLWU_Pn 9046 * 0b0..LLWU_Pn input was not a wakeup source 9047 * 0b1..LLWU_Pn input was a wakeup source 9048 */ 9049 #define LLWU_PF_WUF21(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF21_SHIFT)) & LLWU_PF_WUF21_MASK) 9050 #define LLWU_PF_WUF22_MASK (0x400000U) 9051 #define LLWU_PF_WUF22_SHIFT (22U) 9052 /*! WUF22 - Wakeup flag for LLWU_Pn 9053 * 0b0..LLWU_Pn input was not a wakeup source 9054 * 0b1..LLWU_Pn input was a wakeup source 9055 */ 9056 #define LLWU_PF_WUF22(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF22_SHIFT)) & LLWU_PF_WUF22_MASK) 9057 #define LLWU_PF_WUF23_MASK (0x800000U) 9058 #define LLWU_PF_WUF23_SHIFT (23U) 9059 /*! WUF23 - Wakeup flag for LLWU_Pn 9060 * 0b0..LLWU_Pn input was not a wakeup source 9061 * 0b1..LLWU_Pn input was a wakeup source 9062 */ 9063 #define LLWU_PF_WUF23(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF23_SHIFT)) & LLWU_PF_WUF23_MASK) 9064 #define LLWU_PF_WUF24_MASK (0x1000000U) 9065 #define LLWU_PF_WUF24_SHIFT (24U) 9066 /*! WUF24 - Wakeup flag for LLWU_Pn 9067 * 0b0..LLWU_Pn input was not a wakeup source 9068 * 0b1..LLWU_Pn input was a wakeup source 9069 */ 9070 #define LLWU_PF_WUF24(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF24_SHIFT)) & LLWU_PF_WUF24_MASK) 9071 #define LLWU_PF_WUF25_MASK (0x2000000U) 9072 #define LLWU_PF_WUF25_SHIFT (25U) 9073 /*! WUF25 - Wakeup flag for LLWU_Pn 9074 * 0b0..LLWU_Pn input was not a wakeup source 9075 * 0b1..LLWU_Pn input was a wakeup source 9076 */ 9077 #define LLWU_PF_WUF25(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF25_SHIFT)) & LLWU_PF_WUF25_MASK) 9078 #define LLWU_PF_WUF26_MASK (0x4000000U) 9079 #define LLWU_PF_WUF26_SHIFT (26U) 9080 /*! WUF26 - Wakeup flag for LLWU_Pn 9081 * 0b0..LLWU_Pn input was not a wakeup source 9082 * 0b1..LLWU_Pn input was a wakeup source 9083 */ 9084 #define LLWU_PF_WUF26(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF26_SHIFT)) & LLWU_PF_WUF26_MASK) 9085 #define LLWU_PF_Reserved27_MASK (0x8000000U) 9086 #define LLWU_PF_Reserved27_SHIFT (27U) 9087 /*! Reserved27 - Wakeup flag for LLWU_Pn 9088 * 0b0..LLWU_Pn input was not a wakeup source 9089 * 0b1..LLWU_Pn input was a wakeup source 9090 */ 9091 #define LLWU_PF_Reserved27(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_Reserved27_SHIFT)) & LLWU_PF_Reserved27_MASK) 9092 #define LLWU_PF_Reserved28_MASK (0x10000000U) 9093 #define LLWU_PF_Reserved28_SHIFT (28U) 9094 /*! Reserved28 - Wakeup flag for LLWU_Pn 9095 * 0b0..LLWU_Pn input was not a wakeup source 9096 * 0b1..LLWU_Pn input was a wakeup source 9097 */ 9098 #define LLWU_PF_Reserved28(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_Reserved28_SHIFT)) & LLWU_PF_Reserved28_MASK) 9099 #define LLWU_PF_WUF29_MASK (0x20000000U) 9100 #define LLWU_PF_WUF29_SHIFT (29U) 9101 /*! WUF29 - Wakeup flag for LLWU_Pn 9102 * 0b0..LLWU_Pn input was not a wakeup source 9103 * 0b1..LLWU_Pn input was a wakeup source 9104 */ 9105 #define LLWU_PF_WUF29(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF29_SHIFT)) & LLWU_PF_WUF29_MASK) 9106 #define LLWU_PF_WUF30_MASK (0x40000000U) 9107 #define LLWU_PF_WUF30_SHIFT (30U) 9108 /*! WUF30 - Wakeup flag for LLWU_Pn 9109 * 0b0..LLWU_Pn input was not a wakeup source 9110 * 0b1..LLWU_Pn input was a wakeup source 9111 */ 9112 #define LLWU_PF_WUF30(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF30_SHIFT)) & LLWU_PF_WUF30_MASK) 9113 #define LLWU_PF_WUF31_MASK (0x80000000U) 9114 #define LLWU_PF_WUF31_SHIFT (31U) 9115 /*! WUF31 - Wakeup flag for LLWU_Pn 9116 * 0b0..LLWU_Pn input was not a wakeup source 9117 * 0b1..LLWU_Pn input was a wakeup source 9118 */ 9119 #define LLWU_PF_WUF31(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PF_WUF31_SHIFT)) & LLWU_PF_WUF31_MASK) 9120 /*! @} */ 9121 9122 /*! @name FILT - Pin Filter register */ 9123 /*! @{ */ 9124 #define LLWU_FILT_FILTSEL1_MASK (0x1FU) 9125 #define LLWU_FILT_FILTSEL1_SHIFT (0U) 9126 /*! FILTSEL1 - Filter 1 Pin Select 9127 * 0b00000..Select LLWU_P0 for filter 9128 * 0b11111..Select LLWU_P31 for filter 9129 */ 9130 #define LLWU_FILT_FILTSEL1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTSEL1_SHIFT)) & LLWU_FILT_FILTSEL1_MASK) 9131 #define LLWU_FILT_FILTE1_MASK (0x60U) 9132 #define LLWU_FILT_FILTE1_SHIFT (5U) 9133 /*! FILTE1 - Filter 1 Enable 9134 * 0b00..Filter disabled 9135 * 0b01..Filter posedge detect enabled when configured as interrupt/DMA request or high level detection when configured as trigger request 9136 * 0b10..Filter negedge detect enabled when configured as interrupt/DMA request or low level detection when configured as trigger request 9137 * 0b11..Filter any edge detect enabled when configured as interrupt/DMA request 9138 */ 9139 #define LLWU_FILT_FILTE1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTE1_SHIFT)) & LLWU_FILT_FILTE1_MASK) 9140 #define LLWU_FILT_FILTF1_MASK (0x80U) 9141 #define LLWU_FILT_FILTF1_SHIFT (7U) 9142 /*! FILTF1 - Filter 1 Flag 9143 * 0b0..Pin Filter 1 was not a wakeup source 9144 * 0b1..Pin Filter 1 was a wakeup source 9145 */ 9146 #define LLWU_FILT_FILTF1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTF1_SHIFT)) & LLWU_FILT_FILTF1_MASK) 9147 #define LLWU_FILT_FILTSEL2_MASK (0x1F00U) 9148 #define LLWU_FILT_FILTSEL2_SHIFT (8U) 9149 /*! FILTSEL2 - Filter 2 Pin Select 9150 * 0b00000..Select LLWU_P0 for filter 9151 * 0b11111..Select LLWU_P31 for filter 9152 */ 9153 #define LLWU_FILT_FILTSEL2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTSEL2_SHIFT)) & LLWU_FILT_FILTSEL2_MASK) 9154 #define LLWU_FILT_FILTE2_MASK (0x6000U) 9155 #define LLWU_FILT_FILTE2_SHIFT (13U) 9156 /*! FILTE2 - Filter 2 Enable 9157 * 0b00..Filter disabled 9158 * 0b01..Filter posedge detect enabled when configured as interrupt/DMA request or high level detection when configured as trigger request 9159 * 0b10..Filter negedge detect enabled when configured as interrupt/DMA request or low level detection when configured as trigger request 9160 * 0b11..Filter any edge detect enabled when configured as interrupt/DMA request 9161 */ 9162 #define LLWU_FILT_FILTE2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTE2_SHIFT)) & LLWU_FILT_FILTE2_MASK) 9163 #define LLWU_FILT_FILTF2_MASK (0x8000U) 9164 #define LLWU_FILT_FILTF2_SHIFT (15U) 9165 /*! FILTF2 - Filter 2 Flag 9166 * 0b0..Pin Filter 2 was not a wakeup source 9167 * 0b1..Pin Filter 2 was a wakeup source 9168 */ 9169 #define LLWU_FILT_FILTF2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FILT_FILTF2_SHIFT)) & LLWU_FILT_FILTF2_MASK) 9170 /*! @} */ 9171 9172 /*! @name PDC1 - Pin DMA/Trigger Configuration 1 register */ 9173 /*! @{ */ 9174 #define LLWU_PDC1_WUPDC0_MASK (0x3U) 9175 #define LLWU_PDC1_WUPDC0_SHIFT (0U) 9176 /*! WUPDC0 - Wakeup pin configuration for LLWU_Pn 9177 * 0b00..External input pin configured as interrupt 9178 * 0b01..External input pin configured as DMA request 9179 * 0b10..External input pin configured as trigger event 9180 * 0b11..Reserved 9181 */ 9182 #define LLWU_PDC1_WUPDC0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC0_SHIFT)) & LLWU_PDC1_WUPDC0_MASK) 9183 #define LLWU_PDC1_WUPDC1_MASK (0xCU) 9184 #define LLWU_PDC1_WUPDC1_SHIFT (2U) 9185 /*! WUPDC1 - Wakeup pin configuration for LLWU_Pn 9186 * 0b00..External input pin configured as interrupt 9187 * 0b01..External input pin configured as DMA request 9188 * 0b10..External input pin configured as trigger event 9189 * 0b11..Reserved 9190 */ 9191 #define LLWU_PDC1_WUPDC1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC1_SHIFT)) & LLWU_PDC1_WUPDC1_MASK) 9192 #define LLWU_PDC1_WUPDC2_MASK (0x30U) 9193 #define LLWU_PDC1_WUPDC2_SHIFT (4U) 9194 /*! WUPDC2 - Wakeup pin configuration for LLWU_Pn 9195 * 0b00..External input pin configured as interrupt 9196 * 0b01..External input pin configured as DMA request 9197 * 0b10..External input pin configured as trigger event 9198 * 0b11..Reserved 9199 */ 9200 #define LLWU_PDC1_WUPDC2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC2_SHIFT)) & LLWU_PDC1_WUPDC2_MASK) 9201 #define LLWU_PDC1_WUPDC3_MASK (0xC0U) 9202 #define LLWU_PDC1_WUPDC3_SHIFT (6U) 9203 /*! WUPDC3 - Wakeup pin configuration for LLWU_Pn 9204 * 0b00..External input pin configured as interrupt 9205 * 0b01..External input pin configured as DMA request 9206 * 0b10..External input pin configured as trigger event 9207 * 0b11..Reserved 9208 */ 9209 #define LLWU_PDC1_WUPDC3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC3_SHIFT)) & LLWU_PDC1_WUPDC3_MASK) 9210 #define LLWU_PDC1_WUPDC4_MASK (0x300U) 9211 #define LLWU_PDC1_WUPDC4_SHIFT (8U) 9212 /*! WUPDC4 - Wakeup pin configuration for LLWU_Pn 9213 * 0b00..External input pin configured as interrupt 9214 * 0b01..External input pin configured as DMA request 9215 * 0b10..External input pin configured as trigger event 9216 * 0b11..Reserved 9217 */ 9218 #define LLWU_PDC1_WUPDC4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC4_SHIFT)) & LLWU_PDC1_WUPDC4_MASK) 9219 #define LLWU_PDC1_WUPDC5_MASK (0xC00U) 9220 #define LLWU_PDC1_WUPDC5_SHIFT (10U) 9221 /*! WUPDC5 - Wakeup pin configuration for LLWU_Pn 9222 * 0b00..External input pin configured as interrupt 9223 * 0b01..External input pin configured as DMA request 9224 * 0b10..External input pin configured as trigger event 9225 * 0b11..Reserved 9226 */ 9227 #define LLWU_PDC1_WUPDC5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC5_SHIFT)) & LLWU_PDC1_WUPDC5_MASK) 9228 #define LLWU_PDC1_WUPDC6_MASK (0x3000U) 9229 #define LLWU_PDC1_WUPDC6_SHIFT (12U) 9230 /*! WUPDC6 - Wakeup pin configuration for LLWU_Pn 9231 * 0b00..External input pin configured as interrupt 9232 * 0b01..External input pin configured as DMA request 9233 * 0b10..External input pin configured as trigger event 9234 * 0b11..Reserved 9235 */ 9236 #define LLWU_PDC1_WUPDC6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC6_SHIFT)) & LLWU_PDC1_WUPDC6_MASK) 9237 #define LLWU_PDC1_WUPDC7_MASK (0xC000U) 9238 #define LLWU_PDC1_WUPDC7_SHIFT (14U) 9239 /*! WUPDC7 - Wakeup pin configuration for LLWU_Pn 9240 * 0b00..External input pin configured as interrupt 9241 * 0b01..External input pin configured as DMA request 9242 * 0b10..External input pin configured as trigger event 9243 * 0b11..Reserved 9244 */ 9245 #define LLWU_PDC1_WUPDC7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC7_SHIFT)) & LLWU_PDC1_WUPDC7_MASK) 9246 #define LLWU_PDC1_WUPDC8_MASK (0x30000U) 9247 #define LLWU_PDC1_WUPDC8_SHIFT (16U) 9248 /*! WUPDC8 - Wakeup pin configuration for LLWU_Pn 9249 * 0b00..External input pin configured as interrupt 9250 * 0b01..External input pin configured as DMA request 9251 * 0b10..External input pin configured as trigger event 9252 * 0b11..Reserved 9253 */ 9254 #define LLWU_PDC1_WUPDC8(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC8_SHIFT)) & LLWU_PDC1_WUPDC8_MASK) 9255 #define LLWU_PDC1_WUPDC9_MASK (0xC0000U) 9256 #define LLWU_PDC1_WUPDC9_SHIFT (18U) 9257 /*! WUPDC9 - Wakeup pin configuration for LLWU_Pn 9258 * 0b00..External input pin configured as interrupt 9259 * 0b01..External input pin configured as DMA request 9260 * 0b10..External input pin configured as trigger event 9261 * 0b11..Reserved 9262 */ 9263 #define LLWU_PDC1_WUPDC9(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC9_SHIFT)) & LLWU_PDC1_WUPDC9_MASK) 9264 #define LLWU_PDC1_WUPDC10_MASK (0x300000U) 9265 #define LLWU_PDC1_WUPDC10_SHIFT (20U) 9266 /*! WUPDC10 - Wakeup pin configuration for LLWU_Pn 9267 * 0b00..External input pin configured as interrupt 9268 * 0b01..External input pin configured as DMA request 9269 * 0b10..External input pin configured as trigger event 9270 * 0b11..Reserved 9271 */ 9272 #define LLWU_PDC1_WUPDC10(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC10_SHIFT)) & LLWU_PDC1_WUPDC10_MASK) 9273 #define LLWU_PDC1_WUPDC11_MASK (0xC00000U) 9274 #define LLWU_PDC1_WUPDC11_SHIFT (22U) 9275 /*! WUPDC11 - Wakeup pin configuration for LLWU_Pn 9276 * 0b00..External input pin configured as interrupt 9277 * 0b01..External input pin configured as DMA request 9278 * 0b10..External input pin configured as trigger event 9279 * 0b11..Reserved 9280 */ 9281 #define LLWU_PDC1_WUPDC11(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC11_SHIFT)) & LLWU_PDC1_WUPDC11_MASK) 9282 #define LLWU_PDC1_WUPDC12_MASK (0x3000000U) 9283 #define LLWU_PDC1_WUPDC12_SHIFT (24U) 9284 /*! WUPDC12 - Wakeup pin configuration for LLWU_Pn 9285 * 0b00..External input pin configured as interrupt 9286 * 0b01..External input pin configured as DMA request 9287 * 0b10..External input pin configured as trigger event 9288 * 0b11..Reserved 9289 */ 9290 #define LLWU_PDC1_WUPDC12(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC12_SHIFT)) & LLWU_PDC1_WUPDC12_MASK) 9291 #define LLWU_PDC1_WUPDC13_MASK (0xC000000U) 9292 #define LLWU_PDC1_WUPDC13_SHIFT (26U) 9293 /*! WUPDC13 - Wakeup pin configuration for LLWU_Pn 9294 * 0b00..External input pin configured as interrupt 9295 * 0b01..External input pin configured as DMA request 9296 * 0b10..External input pin configured as trigger event 9297 * 0b11..Reserved 9298 */ 9299 #define LLWU_PDC1_WUPDC13(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC13_SHIFT)) & LLWU_PDC1_WUPDC13_MASK) 9300 #define LLWU_PDC1_WUPDC14_MASK (0x30000000U) 9301 #define LLWU_PDC1_WUPDC14_SHIFT (28U) 9302 /*! WUPDC14 - Wakeup pin configuration for LLWU_Pn 9303 * 0b00..External input pin configured as interrupt 9304 * 0b01..External input pin configured as DMA request 9305 * 0b10..External input pin configured as trigger event 9306 * 0b11..Reserved 9307 */ 9308 #define LLWU_PDC1_WUPDC14(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC14_SHIFT)) & LLWU_PDC1_WUPDC14_MASK) 9309 #define LLWU_PDC1_WUPDC15_MASK (0xC0000000U) 9310 #define LLWU_PDC1_WUPDC15_SHIFT (30U) 9311 /*! WUPDC15 - Wakeup pin configuration for LLWU_Pn 9312 * 0b00..External input pin configured as interrupt 9313 * 0b01..External input pin configured as DMA request 9314 * 0b10..External input pin configured as trigger event 9315 * 0b11..Reserved 9316 */ 9317 #define LLWU_PDC1_WUPDC15(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC1_WUPDC15_SHIFT)) & LLWU_PDC1_WUPDC15_MASK) 9318 /*! @} */ 9319 9320 /*! @name PDC2 - Pin DMA/Trigger Configuration 2 register */ 9321 /*! @{ */ 9322 #define LLWU_PDC2_WUPDC16_MASK (0x3U) 9323 #define LLWU_PDC2_WUPDC16_SHIFT (0U) 9324 /*! WUPDC16 - Wakeup pin configuration for LLWU_Pn 9325 * 0b00..External input pin configured as interrupt 9326 * 0b01..External input pin configured as DMA request 9327 * 0b10..External input pin configured as trigger event 9328 * 0b11..Reserved 9329 */ 9330 #define LLWU_PDC2_WUPDC16(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC16_SHIFT)) & LLWU_PDC2_WUPDC16_MASK) 9331 #define LLWU_PDC2_WUPDC17_MASK (0xCU) 9332 #define LLWU_PDC2_WUPDC17_SHIFT (2U) 9333 /*! WUPDC17 - Wakeup pin configuration for LLWU_Pn 9334 * 0b00..External input pin configured as interrupt 9335 * 0b01..External input pin configured as DMA request 9336 * 0b10..External input pin configured as trigger event 9337 * 0b11..Reserved 9338 */ 9339 #define LLWU_PDC2_WUPDC17(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC17_SHIFT)) & LLWU_PDC2_WUPDC17_MASK) 9340 #define LLWU_PDC2_WUPDC18_MASK (0x30U) 9341 #define LLWU_PDC2_WUPDC18_SHIFT (4U) 9342 /*! WUPDC18 - Wakeup pin configuration for LLWU_Pn 9343 * 0b00..External input pin configured as interrupt 9344 * 0b01..External input pin configured as DMA request 9345 * 0b10..External input pin configured as trigger event 9346 * 0b11..Reserved 9347 */ 9348 #define LLWU_PDC2_WUPDC18(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC18_SHIFT)) & LLWU_PDC2_WUPDC18_MASK) 9349 #define LLWU_PDC2_WUPDC19_MASK (0xC0U) 9350 #define LLWU_PDC2_WUPDC19_SHIFT (6U) 9351 /*! WUPDC19 - Wakeup pin configuration for LLWU_Pn 9352 * 0b00..External input pin configured as interrupt 9353 * 0b01..External input pin configured as DMA request 9354 * 0b10..External input pin configured as trigger event 9355 * 0b11..Reserved 9356 */ 9357 #define LLWU_PDC2_WUPDC19(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC19_SHIFT)) & LLWU_PDC2_WUPDC19_MASK) 9358 #define LLWU_PDC2_WUPDC20_MASK (0x300U) 9359 #define LLWU_PDC2_WUPDC20_SHIFT (8U) 9360 /*! WUPDC20 - Wakeup pin configuration for LLWU_Pn 9361 * 0b00..External input pin configured as interrupt 9362 * 0b01..External input pin configured as DMA request 9363 * 0b10..External input pin configured as trigger event 9364 * 0b11..Reserved 9365 */ 9366 #define LLWU_PDC2_WUPDC20(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC20_SHIFT)) & LLWU_PDC2_WUPDC20_MASK) 9367 #define LLWU_PDC2_WUPDC21_MASK (0xC00U) 9368 #define LLWU_PDC2_WUPDC21_SHIFT (10U) 9369 /*! WUPDC21 - Wakeup pin configuration for LLWU_Pn 9370 * 0b00..External input pin configured as interrupt 9371 * 0b01..External input pin configured as DMA request 9372 * 0b10..External input pin configured as trigger event 9373 * 0b11..Reserved 9374 */ 9375 #define LLWU_PDC2_WUPDC21(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC21_SHIFT)) & LLWU_PDC2_WUPDC21_MASK) 9376 #define LLWU_PDC2_WUPDC22_MASK (0x3000U) 9377 #define LLWU_PDC2_WUPDC22_SHIFT (12U) 9378 /*! WUPDC22 - Wakeup pin configuration for LLWU_Pn 9379 * 0b00..External input pin configured as interrupt 9380 * 0b01..External input pin configured as DMA request 9381 * 0b10..External input pin configured as trigger event 9382 * 0b11..Reserved 9383 */ 9384 #define LLWU_PDC2_WUPDC22(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC22_SHIFT)) & LLWU_PDC2_WUPDC22_MASK) 9385 #define LLWU_PDC2_WUPDC23_MASK (0xC000U) 9386 #define LLWU_PDC2_WUPDC23_SHIFT (14U) 9387 /*! WUPDC23 - Wakeup pin configuration for LLWU_Pn 9388 * 0b00..External input pin configured as interrupt 9389 * 0b01..External input pin configured as DMA request 9390 * 0b10..External input pin configured as trigger event 9391 * 0b11..Reserved 9392 */ 9393 #define LLWU_PDC2_WUPDC23(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC23_SHIFT)) & LLWU_PDC2_WUPDC23_MASK) 9394 #define LLWU_PDC2_WUPDC24_MASK (0x30000U) 9395 #define LLWU_PDC2_WUPDC24_SHIFT (16U) 9396 /*! WUPDC24 - Wakeup pin configuration for LLWU_Pn 9397 * 0b00..External input pin configured as interrupt 9398 * 0b01..External input pin configured as DMA request 9399 * 0b10..External input pin configured as trigger event 9400 * 0b11..Reserved 9401 */ 9402 #define LLWU_PDC2_WUPDC24(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC24_SHIFT)) & LLWU_PDC2_WUPDC24_MASK) 9403 #define LLWU_PDC2_WUPDC25_MASK (0xC0000U) 9404 #define LLWU_PDC2_WUPDC25_SHIFT (18U) 9405 /*! WUPDC25 - Wakeup pin configuration for LLWU_Pn 9406 * 0b00..External input pin configured as interrupt 9407 * 0b01..External input pin configured as DMA request 9408 * 0b10..External input pin configured as trigger event 9409 * 0b11..Reserved 9410 */ 9411 #define LLWU_PDC2_WUPDC25(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC25_SHIFT)) & LLWU_PDC2_WUPDC25_MASK) 9412 #define LLWU_PDC2_WUPDC26_MASK (0x300000U) 9413 #define LLWU_PDC2_WUPDC26_SHIFT (20U) 9414 /*! WUPDC26 - Wakeup pin configuration for LLWU_Pn 9415 * 0b00..External input pin configured as interrupt 9416 * 0b01..External input pin configured as DMA request 9417 * 0b10..External input pin configured as trigger event 9418 * 0b11..Reserved 9419 */ 9420 #define LLWU_PDC2_WUPDC26(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC26_SHIFT)) & LLWU_PDC2_WUPDC26_MASK) 9421 #define LLWU_PDC2_Reserved27_MASK (0xC00000U) 9422 #define LLWU_PDC2_Reserved27_SHIFT (22U) 9423 /*! Reserved27 - Wakeup pin configuration for LLWU_Pn 9424 * 0b00..External input pin configured as interrupt 9425 * 0b01..External input pin configured as DMA request 9426 * 0b10..External input pin configured as trigger event 9427 * 0b11..Reserved 9428 */ 9429 #define LLWU_PDC2_Reserved27(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_Reserved27_SHIFT)) & LLWU_PDC2_Reserved27_MASK) 9430 #define LLWU_PDC2_Reserved28_MASK (0x3000000U) 9431 #define LLWU_PDC2_Reserved28_SHIFT (24U) 9432 /*! Reserved28 - Wakeup pin configuration for LLWU_Pn 9433 * 0b00..External input pin configured as interrupt 9434 * 0b01..External input pin configured as DMA request 9435 * 0b10..External input pin configured as trigger event 9436 * 0b11..Reserved 9437 */ 9438 #define LLWU_PDC2_Reserved28(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_Reserved28_SHIFT)) & LLWU_PDC2_Reserved28_MASK) 9439 #define LLWU_PDC2_WUPDC29_MASK (0xC000000U) 9440 #define LLWU_PDC2_WUPDC29_SHIFT (26U) 9441 /*! WUPDC29 - Wakeup pin configuration for LLWU_Pn 9442 * 0b00..External input pin configured as interrupt 9443 * 0b01..External input pin configured as DMA request 9444 * 0b10..External input pin configured as trigger event 9445 * 0b11..Reserved 9446 */ 9447 #define LLWU_PDC2_WUPDC29(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC29_SHIFT)) & LLWU_PDC2_WUPDC29_MASK) 9448 #define LLWU_PDC2_WUPDC30_MASK (0x30000000U) 9449 #define LLWU_PDC2_WUPDC30_SHIFT (28U) 9450 /*! WUPDC30 - Wakeup pin configuration for LLWU_Pn 9451 * 0b00..External input pin configured as interrupt 9452 * 0b01..External input pin configured as DMA request 9453 * 0b10..External input pin configured as trigger event 9454 * 0b11..Reserved 9455 */ 9456 #define LLWU_PDC2_WUPDC30(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC30_SHIFT)) & LLWU_PDC2_WUPDC30_MASK) 9457 #define LLWU_PDC2_WUPDC31_MASK (0xC0000000U) 9458 #define LLWU_PDC2_WUPDC31_SHIFT (30U) 9459 /*! WUPDC31 - Wakeup pin configuration for LLWU_Pn 9460 * 0b00..External input pin configured as interrupt 9461 * 0b01..External input pin configured as DMA request 9462 * 0b10..External input pin configured as trigger event 9463 * 0b11..Reserved 9464 */ 9465 #define LLWU_PDC2_WUPDC31(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PDC2_WUPDC31_SHIFT)) & LLWU_PDC2_WUPDC31_MASK) 9466 /*! @} */ 9467 9468 /*! @name FDC - Pin Filter DMA/Trigger Configuration register */ 9469 /*! @{ */ 9470 #define LLWU_FDC_FILTC1_MASK (0x3U) 9471 #define LLWU_FDC_FILTC1_SHIFT (0U) 9472 /*! FILTC1 - Filter configuration for FILT1 9473 * 0b00..Filter output configured as interrupt 9474 * 0b01..Filter output configured as DMA request 9475 * 0b10..Filter output configured as trigger event 9476 * 0b11..Reserved 9477 */ 9478 #define LLWU_FDC_FILTC1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FDC_FILTC1_SHIFT)) & LLWU_FDC_FILTC1_MASK) 9479 #define LLWU_FDC_FILTC2_MASK (0xCU) 9480 #define LLWU_FDC_FILTC2_SHIFT (2U) 9481 /*! FILTC2 - Filter configuration for FILT2 9482 * 0b00..Filter output configured as interrupt 9483 * 0b01..Filter output configured as DMA request 9484 * 0b10..Filter output configured as trigger event 9485 * 0b11..Reserved 9486 */ 9487 #define LLWU_FDC_FILTC2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FDC_FILTC2_SHIFT)) & LLWU_FDC_FILTC2_MASK) 9488 /*! @} */ 9489 9490 /*! @name PMC - Pin Mode Configuration register */ 9491 /*! @{ */ 9492 #define LLWU_PMC_WUPMC0_MASK (0x1U) 9493 #define LLWU_PMC_WUPMC0_SHIFT (0U) 9494 /*! WUPMC0 - Wakeup pin mode for LLWU_Pn 9495 * 0b0..External input pin detection active only during LLS/VLLS mode 9496 * 0b1..External input pin detection active during all power modes 9497 */ 9498 #define LLWU_PMC_WUPMC0(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC0_SHIFT)) & LLWU_PMC_WUPMC0_MASK) 9499 #define LLWU_PMC_WUPMC1_MASK (0x2U) 9500 #define LLWU_PMC_WUPMC1_SHIFT (1U) 9501 /*! WUPMC1 - Wakeup pin mode for LLWU_Pn 9502 * 0b0..External input pin detection active only during LLS/VLLS mode 9503 * 0b1..External input pin detection active during all power modes 9504 */ 9505 #define LLWU_PMC_WUPMC1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC1_SHIFT)) & LLWU_PMC_WUPMC1_MASK) 9506 #define LLWU_PMC_WUPMC2_MASK (0x4U) 9507 #define LLWU_PMC_WUPMC2_SHIFT (2U) 9508 /*! WUPMC2 - Wakeup pin mode for LLWU_Pn 9509 * 0b0..External input pin detection active only during LLS/VLLS mode 9510 * 0b1..External input pin detection active during all power modes 9511 */ 9512 #define LLWU_PMC_WUPMC2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC2_SHIFT)) & LLWU_PMC_WUPMC2_MASK) 9513 #define LLWU_PMC_WUPMC3_MASK (0x8U) 9514 #define LLWU_PMC_WUPMC3_SHIFT (3U) 9515 /*! WUPMC3 - Wakeup pin mode for LLWU_Pn 9516 * 0b0..External input pin detection active only during LLS/VLLS mode 9517 * 0b1..External input pin detection active during all power modes 9518 */ 9519 #define LLWU_PMC_WUPMC3(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC3_SHIFT)) & LLWU_PMC_WUPMC3_MASK) 9520 #define LLWU_PMC_WUPMC4_MASK (0x10U) 9521 #define LLWU_PMC_WUPMC4_SHIFT (4U) 9522 /*! WUPMC4 - Wakeup pin mode for LLWU_Pn 9523 * 0b0..External input pin detection active only during LLS/VLLS mode 9524 * 0b1..External input pin detection active during all power modes 9525 */ 9526 #define LLWU_PMC_WUPMC4(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC4_SHIFT)) & LLWU_PMC_WUPMC4_MASK) 9527 #define LLWU_PMC_WUPMC5_MASK (0x20U) 9528 #define LLWU_PMC_WUPMC5_SHIFT (5U) 9529 /*! WUPMC5 - Wakeup pin mode for LLWU_Pn 9530 * 0b0..External input pin detection active only during LLS/VLLS mode 9531 * 0b1..External input pin detection active during all power modes 9532 */ 9533 #define LLWU_PMC_WUPMC5(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC5_SHIFT)) & LLWU_PMC_WUPMC5_MASK) 9534 #define LLWU_PMC_WUPMC6_MASK (0x40U) 9535 #define LLWU_PMC_WUPMC6_SHIFT (6U) 9536 /*! WUPMC6 - Wakeup pin mode for LLWU_Pn 9537 * 0b0..External input pin detection active only during LLS/VLLS mode 9538 * 0b1..External input pin detection active during all power modes 9539 */ 9540 #define LLWU_PMC_WUPMC6(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC6_SHIFT)) & LLWU_PMC_WUPMC6_MASK) 9541 #define LLWU_PMC_WUPMC7_MASK (0x80U) 9542 #define LLWU_PMC_WUPMC7_SHIFT (7U) 9543 /*! WUPMC7 - Wakeup pin mode for LLWU_Pn 9544 * 0b0..External input pin detection active only during LLS/VLLS mode 9545 * 0b1..External input pin detection active during all power modes 9546 */ 9547 #define LLWU_PMC_WUPMC7(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC7_SHIFT)) & LLWU_PMC_WUPMC7_MASK) 9548 #define LLWU_PMC_WUPMC8_MASK (0x100U) 9549 #define LLWU_PMC_WUPMC8_SHIFT (8U) 9550 /*! WUPMC8 - Wakeup pin mode for LLWU_Pn 9551 * 0b0..External input pin detection active only during LLS/VLLS mode 9552 * 0b1..External input pin detection active during all power modes 9553 */ 9554 #define LLWU_PMC_WUPMC8(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC8_SHIFT)) & LLWU_PMC_WUPMC8_MASK) 9555 #define LLWU_PMC_WUPMC9_MASK (0x200U) 9556 #define LLWU_PMC_WUPMC9_SHIFT (9U) 9557 /*! WUPMC9 - Wakeup pin mode for LLWU_Pn 9558 * 0b0..External input pin detection active only during LLS/VLLS mode 9559 * 0b1..External input pin detection active during all power modes 9560 */ 9561 #define LLWU_PMC_WUPMC9(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC9_SHIFT)) & LLWU_PMC_WUPMC9_MASK) 9562 #define LLWU_PMC_WUPMC10_MASK (0x400U) 9563 #define LLWU_PMC_WUPMC10_SHIFT (10U) 9564 /*! WUPMC10 - Wakeup pin mode for LLWU_Pn 9565 * 0b0..External input pin detection active only during LLS/VLLS mode 9566 * 0b1..External input pin detection active during all power modes 9567 */ 9568 #define LLWU_PMC_WUPMC10(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC10_SHIFT)) & LLWU_PMC_WUPMC10_MASK) 9569 #define LLWU_PMC_WUPMC11_MASK (0x800U) 9570 #define LLWU_PMC_WUPMC11_SHIFT (11U) 9571 /*! WUPMC11 - Wakeup pin mode for LLWU_Pn 9572 * 0b0..External input pin detection active only during LLS/VLLS mode 9573 * 0b1..External input pin detection active during all power modes 9574 */ 9575 #define LLWU_PMC_WUPMC11(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC11_SHIFT)) & LLWU_PMC_WUPMC11_MASK) 9576 #define LLWU_PMC_WUPMC12_MASK (0x1000U) 9577 #define LLWU_PMC_WUPMC12_SHIFT (12U) 9578 /*! WUPMC12 - Wakeup pin mode for LLWU_Pn 9579 * 0b0..External input pin detection active only during LLS/VLLS mode 9580 * 0b1..External input pin detection active during all power modes 9581 */ 9582 #define LLWU_PMC_WUPMC12(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC12_SHIFT)) & LLWU_PMC_WUPMC12_MASK) 9583 #define LLWU_PMC_WUPMC13_MASK (0x2000U) 9584 #define LLWU_PMC_WUPMC13_SHIFT (13U) 9585 /*! WUPMC13 - Wakeup pin mode for LLWU_Pn 9586 * 0b0..External input pin detection active only during LLS/VLLS mode 9587 * 0b1..External input pin detection active during all power modes 9588 */ 9589 #define LLWU_PMC_WUPMC13(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC13_SHIFT)) & LLWU_PMC_WUPMC13_MASK) 9590 #define LLWU_PMC_WUPMC14_MASK (0x4000U) 9591 #define LLWU_PMC_WUPMC14_SHIFT (14U) 9592 /*! WUPMC14 - Wakeup pin mode for LLWU_Pn 9593 * 0b0..External input pin detection active only during LLS/VLLS mode 9594 * 0b1..External input pin detection active during all power modes 9595 */ 9596 #define LLWU_PMC_WUPMC14(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC14_SHIFT)) & LLWU_PMC_WUPMC14_MASK) 9597 #define LLWU_PMC_WUPMC15_MASK (0x8000U) 9598 #define LLWU_PMC_WUPMC15_SHIFT (15U) 9599 /*! WUPMC15 - Wakeup pin mode for LLWU_Pn 9600 * 0b0..External input pin detection active only during LLS/VLLS mode 9601 * 0b1..External input pin detection active during all power modes 9602 */ 9603 #define LLWU_PMC_WUPMC15(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC15_SHIFT)) & LLWU_PMC_WUPMC15_MASK) 9604 #define LLWU_PMC_WUPMC16_MASK (0x10000U) 9605 #define LLWU_PMC_WUPMC16_SHIFT (16U) 9606 /*! WUPMC16 - Wakeup pin mode for LLWU_Pn 9607 * 0b0..External input pin detection active only during LLS/VLLS mode 9608 * 0b1..External input pin detection active during all power modes 9609 */ 9610 #define LLWU_PMC_WUPMC16(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC16_SHIFT)) & LLWU_PMC_WUPMC16_MASK) 9611 #define LLWU_PMC_WUPMC17_MASK (0x20000U) 9612 #define LLWU_PMC_WUPMC17_SHIFT (17U) 9613 /*! WUPMC17 - Wakeup pin mode for LLWU_Pn 9614 * 0b0..External input pin detection active only during LLS/VLLS mode 9615 * 0b1..External input pin detection active during all power modes 9616 */ 9617 #define LLWU_PMC_WUPMC17(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC17_SHIFT)) & LLWU_PMC_WUPMC17_MASK) 9618 #define LLWU_PMC_WUPMC18_MASK (0x40000U) 9619 #define LLWU_PMC_WUPMC18_SHIFT (18U) 9620 /*! WUPMC18 - Wakeup pin mode for LLWU_Pn 9621 * 0b0..External input pin detection active only during LLS/VLLS mode 9622 * 0b1..External input pin detection active during all power modes 9623 */ 9624 #define LLWU_PMC_WUPMC18(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC18_SHIFT)) & LLWU_PMC_WUPMC18_MASK) 9625 #define LLWU_PMC_WUPMC19_MASK (0x80000U) 9626 #define LLWU_PMC_WUPMC19_SHIFT (19U) 9627 /*! WUPMC19 - Wakeup pin mode for LLWU_Pn 9628 * 0b0..External input pin detection active only during LLS/VLLS mode 9629 * 0b1..External input pin detection active during all power modes 9630 */ 9631 #define LLWU_PMC_WUPMC19(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC19_SHIFT)) & LLWU_PMC_WUPMC19_MASK) 9632 #define LLWU_PMC_WUPMC20_MASK (0x100000U) 9633 #define LLWU_PMC_WUPMC20_SHIFT (20U) 9634 /*! WUPMC20 - Wakeup pin mode for LLWU_Pn 9635 * 0b0..External input pin detection active only during LLS/VLLS mode 9636 * 0b1..External input pin detection active during all power modes 9637 */ 9638 #define LLWU_PMC_WUPMC20(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC20_SHIFT)) & LLWU_PMC_WUPMC20_MASK) 9639 #define LLWU_PMC_WUPMC21_MASK (0x200000U) 9640 #define LLWU_PMC_WUPMC21_SHIFT (21U) 9641 /*! WUPMC21 - Wakeup pin mode for LLWU_Pn 9642 * 0b0..External input pin detection active only during LLS/VLLS mode 9643 * 0b1..External input pin detection active during all power modes 9644 */ 9645 #define LLWU_PMC_WUPMC21(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC21_SHIFT)) & LLWU_PMC_WUPMC21_MASK) 9646 #define LLWU_PMC_WUPMC22_MASK (0x400000U) 9647 #define LLWU_PMC_WUPMC22_SHIFT (22U) 9648 /*! WUPMC22 - Wakeup pin mode for LLWU_Pn 9649 * 0b0..External input pin detection active only during LLS/VLLS mode 9650 * 0b1..External input pin detection active during all power modes 9651 */ 9652 #define LLWU_PMC_WUPMC22(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC22_SHIFT)) & LLWU_PMC_WUPMC22_MASK) 9653 #define LLWU_PMC_WUPMC23_MASK (0x800000U) 9654 #define LLWU_PMC_WUPMC23_SHIFT (23U) 9655 /*! WUPMC23 - Wakeup pin mode for LLWU_Pn 9656 * 0b0..External input pin detection active only during LLS/VLLS mode 9657 * 0b1..External input pin detection active during all power modes 9658 */ 9659 #define LLWU_PMC_WUPMC23(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC23_SHIFT)) & LLWU_PMC_WUPMC23_MASK) 9660 #define LLWU_PMC_WUPMC24_MASK (0x1000000U) 9661 #define LLWU_PMC_WUPMC24_SHIFT (24U) 9662 /*! WUPMC24 - Wakeup pin mode for LLWU_Pn 9663 * 0b0..External input pin detection active only during LLS/VLLS mode 9664 * 0b1..External input pin detection active during all power modes 9665 */ 9666 #define LLWU_PMC_WUPMC24(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC24_SHIFT)) & LLWU_PMC_WUPMC24_MASK) 9667 #define LLWU_PMC_WUPMC25_MASK (0x2000000U) 9668 #define LLWU_PMC_WUPMC25_SHIFT (25U) 9669 /*! WUPMC25 - Wakeup pin mode for LLWU_Pn 9670 * 0b0..External input pin detection active only during LLS/VLLS mode 9671 * 0b1..External input pin detection active during all power modes 9672 */ 9673 #define LLWU_PMC_WUPMC25(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC25_SHIFT)) & LLWU_PMC_WUPMC25_MASK) 9674 #define LLWU_PMC_WUPMC26_MASK (0x4000000U) 9675 #define LLWU_PMC_WUPMC26_SHIFT (26U) 9676 /*! WUPMC26 - Wakeup pin mode for LLWU_Pn 9677 * 0b0..External input pin detection active only during LLS/VLLS mode 9678 * 0b1..External input pin detection active during all power modes 9679 */ 9680 #define LLWU_PMC_WUPMC26(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC26_SHIFT)) & LLWU_PMC_WUPMC26_MASK) 9681 #define LLWU_PMC_Reserved27_MASK (0x8000000U) 9682 #define LLWU_PMC_Reserved27_SHIFT (27U) 9683 /*! Reserved27 - Wakeup pin mode for LLWU_Pn 9684 * 0b0..External input pin detection active only during LLS/VLLS mode 9685 * 0b1..External input pin detection active during all power modes 9686 */ 9687 #define LLWU_PMC_Reserved27(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_Reserved27_SHIFT)) & LLWU_PMC_Reserved27_MASK) 9688 #define LLWU_PMC_Reserved28_MASK (0x10000000U) 9689 #define LLWU_PMC_Reserved28_SHIFT (28U) 9690 /*! Reserved28 - Wakeup pin mode for LLWU_Pn 9691 * 0b0..External input pin detection active only during LLS/VLLS mode 9692 * 0b1..External input pin detection active during all power modes 9693 */ 9694 #define LLWU_PMC_Reserved28(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_Reserved28_SHIFT)) & LLWU_PMC_Reserved28_MASK) 9695 #define LLWU_PMC_WUPMC29_MASK (0x20000000U) 9696 #define LLWU_PMC_WUPMC29_SHIFT (29U) 9697 /*! WUPMC29 - Wakeup pin mode for LLWU_Pn 9698 * 0b0..External input pin detection active only during LLS/VLLS mode 9699 * 0b1..External input pin detection active during all power modes 9700 */ 9701 #define LLWU_PMC_WUPMC29(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC29_SHIFT)) & LLWU_PMC_WUPMC29_MASK) 9702 #define LLWU_PMC_WUPMC30_MASK (0x40000000U) 9703 #define LLWU_PMC_WUPMC30_SHIFT (30U) 9704 /*! WUPMC30 - Wakeup pin mode for LLWU_Pn 9705 * 0b0..External input pin detection active only during LLS/VLLS mode 9706 * 0b1..External input pin detection active during all power modes 9707 */ 9708 #define LLWU_PMC_WUPMC30(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC30_SHIFT)) & LLWU_PMC_WUPMC30_MASK) 9709 #define LLWU_PMC_WUPMC31_MASK (0x80000000U) 9710 #define LLWU_PMC_WUPMC31_SHIFT (31U) 9711 /*! WUPMC31 - Wakeup pin mode for LLWU_Pn 9712 * 0b0..External input pin detection active only during LLS/VLLS mode 9713 * 0b1..External input pin detection active during all power modes 9714 */ 9715 #define LLWU_PMC_WUPMC31(x) (((uint32_t)(((uint32_t)(x)) << LLWU_PMC_WUPMC31_SHIFT)) & LLWU_PMC_WUPMC31_MASK) 9716 /*! @} */ 9717 9718 /*! @name FMC - Pin Filter Mode Configuration register */ 9719 /*! @{ */ 9720 #define LLWU_FMC_FILTM1_MASK (0x1U) 9721 #define LLWU_FMC_FILTM1_SHIFT (0U) 9722 /*! FILTM1 - Filter Mode for FILT1 9723 * 0b0..External input pin filter detection active only during LLS/VLLS mode 9724 * 0b1..External input pin filter detection active during all power modes 9725 */ 9726 #define LLWU_FMC_FILTM1(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FMC_FILTM1_SHIFT)) & LLWU_FMC_FILTM1_MASK) 9727 #define LLWU_FMC_FILTM2_MASK (0x2U) 9728 #define LLWU_FMC_FILTM2_SHIFT (1U) 9729 /*! FILTM2 - Filter Mode for FILT2 9730 * 0b0..External input pin filter detection active only during LLS/VLLS mode 9731 * 0b1..External input pin filter detection active during all power modes 9732 */ 9733 #define LLWU_FMC_FILTM2(x) (((uint32_t)(((uint32_t)(x)) << LLWU_FMC_FILTM2_SHIFT)) & LLWU_FMC_FILTM2_MASK) 9734 /*! @} */ 9735 9736 9737 /*! 9738 * @} 9739 */ /* end of group LLWU_Register_Masks */ 9740 9741 9742 /* LLWU - Peripheral instance base addresses */ 9743 /** Peripheral LLWU0 base address */ 9744 #define LLWU0_BASE (0x40024000u) 9745 /** Peripheral LLWU0 base pointer */ 9746 #define LLWU0 ((LLWU_Type *)LLWU0_BASE) 9747 /** Peripheral LLWU1 base address */ 9748 #define LLWU1_BASE (0x41023000u) 9749 /** Peripheral LLWU1 base pointer */ 9750 #define LLWU1 ((LLWU_Type *)LLWU1_BASE) 9751 /** Array initializer of LLWU peripheral base addresses */ 9752 #define LLWU_BASE_ADDRS { LLWU0_BASE, LLWU1_BASE } 9753 /** Array initializer of LLWU peripheral base pointers */ 9754 #define LLWU_BASE_PTRS { LLWU0, LLWU1 } 9755 /** Interrupt vectors for the LLWU peripheral type */ 9756 #define LLWU_IRQS { NotAvail_IRQn, LLWU1_IRQn } 9757 9758 /*! 9759 * @} 9760 */ /* end of group LLWU_Peripheral_Access_Layer */ 9761 9762 9763 /* ---------------------------------------------------------------------------- 9764 -- LPCMP Peripheral Access Layer 9765 ---------------------------------------------------------------------------- */ 9766 9767 /*! 9768 * @addtogroup LPCMP_Peripheral_Access_Layer LPCMP Peripheral Access Layer 9769 * @{ 9770 */ 9771 9772 /** LPCMP - Register Layout Typedef */ 9773 typedef struct { 9774 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 9775 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 9776 __IO uint32_t CCR0; /**< Comparator Control Register 0, offset: 0x8 */ 9777 __IO uint32_t CCR1; /**< Comparator Control Register 1, offset: 0xC */ 9778 __IO uint32_t CCR2; /**< Comparator Control Register 2, offset: 0x10 */ 9779 uint8_t RESERVED_0[4]; 9780 __IO uint32_t DCR; /**< DAC Control Register, offset: 0x18 */ 9781 __IO uint32_t IER; /**< Interrupt Enable Register, offset: 0x1C */ 9782 __IO uint32_t CSR; /**< Comparator Status Register, offset: 0x20 */ 9783 } LPCMP_Type; 9784 9785 /* ---------------------------------------------------------------------------- 9786 -- LPCMP Register Masks 9787 ---------------------------------------------------------------------------- */ 9788 9789 /*! 9790 * @addtogroup LPCMP_Register_Masks LPCMP Register Masks 9791 * @{ 9792 */ 9793 9794 /*! @name VERID - Version ID Register */ 9795 /*! @{ */ 9796 #define LPCMP_VERID_FEATURE_MASK (0xFFFFU) 9797 #define LPCMP_VERID_FEATURE_SHIFT (0U) 9798 /*! FEATURE - Feature Specification Number 9799 * 0b0000000000000001..Round robin feature 9800 */ 9801 #define LPCMP_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_VERID_FEATURE_SHIFT)) & LPCMP_VERID_FEATURE_MASK) 9802 #define LPCMP_VERID_MINOR_MASK (0xFF0000U) 9803 #define LPCMP_VERID_MINOR_SHIFT (16U) 9804 #define LPCMP_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_VERID_MINOR_SHIFT)) & LPCMP_VERID_MINOR_MASK) 9805 #define LPCMP_VERID_MAJOR_MASK (0xFF000000U) 9806 #define LPCMP_VERID_MAJOR_SHIFT (24U) 9807 #define LPCMP_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_VERID_MAJOR_SHIFT)) & LPCMP_VERID_MAJOR_MASK) 9808 /*! @} */ 9809 9810 /*! @name PARAM - Parameter Register */ 9811 /*! @{ */ 9812 #define LPCMP_PARAM_DAC_RES_MASK (0xFU) 9813 #define LPCMP_PARAM_DAC_RES_SHIFT (0U) 9814 /*! DAC_RES - DAC resolution 9815 * 0b0000..4 bit DAC 9816 * 0b0001..6 bit DAC 9817 * 0b0010..8 bit DAC 9818 * 0b0011..10 bit DAC 9819 * 0b0100..12 bit DAC 9820 * 0b0101..14 bit DAC 9821 * 0b0110..16 bit DAC 9822 */ 9823 #define LPCMP_PARAM_DAC_RES(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_PARAM_DAC_RES_SHIFT)) & LPCMP_PARAM_DAC_RES_MASK) 9824 /*! @} */ 9825 9826 /*! @name CCR0 - Comparator Control Register 0 */ 9827 /*! @{ */ 9828 #define LPCMP_CCR0_CMP_EN_MASK (0x1U) 9829 #define LPCMP_CCR0_CMP_EN_SHIFT (0U) 9830 /*! CMP_EN - Comparator Module Enable 9831 * 0b0..Analog Comparator is disabled. 9832 * 0b1..Analog Comparator is enabled. 9833 */ 9834 #define LPCMP_CCR0_CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR0_CMP_EN_SHIFT)) & LPCMP_CCR0_CMP_EN_MASK) 9835 #define LPCMP_CCR0_CMP_STOP_EN_MASK (0x2U) 9836 #define LPCMP_CCR0_CMP_STOP_EN_SHIFT (1U) 9837 /*! CMP_STOP_EN - Comparator Module STOP Mode Enable 9838 * 0b0..Comparator is disabled in STOP modes regardless of CMP_EN. 9839 * 0b1..Comparator is enabled in STOP mode if CMP_EN is active 9840 */ 9841 #define LPCMP_CCR0_CMP_STOP_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR0_CMP_STOP_EN_SHIFT)) & LPCMP_CCR0_CMP_STOP_EN_MASK) 9842 /*! @} */ 9843 9844 /*! @name CCR1 - Comparator Control Register 1 */ 9845 /*! @{ */ 9846 #define LPCMP_CCR1_WINDOW_EN_MASK (0x1U) 9847 #define LPCMP_CCR1_WINDOW_EN_SHIFT (0U) 9848 /*! WINDOW_EN - Windowing Enable 9849 * 0b0..Windowing mode is not selected. 9850 * 0b1..Windowing mode is selected. 9851 */ 9852 #define LPCMP_CCR1_WINDOW_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_WINDOW_EN_SHIFT)) & LPCMP_CCR1_WINDOW_EN_MASK) 9853 #define LPCMP_CCR1_SAMPLE_EN_MASK (0x2U) 9854 #define LPCMP_CCR1_SAMPLE_EN_SHIFT (1U) 9855 /*! SAMPLE_EN - Sample Enable 9856 * 0b0..Sampling mode is not selected. 9857 * 0b1..Sampling mode is selected. 9858 */ 9859 #define LPCMP_CCR1_SAMPLE_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_SAMPLE_EN_SHIFT)) & LPCMP_CCR1_SAMPLE_EN_MASK) 9860 #define LPCMP_CCR1_DMA_EN_MASK (0x4U) 9861 #define LPCMP_CCR1_DMA_EN_SHIFT (2U) 9862 /*! DMA_EN - DMA Enable 9863 * 0b0..DMA is disabled. 9864 * 0b1..DMA is enabled. 9865 */ 9866 #define LPCMP_CCR1_DMA_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_DMA_EN_SHIFT)) & LPCMP_CCR1_DMA_EN_MASK) 9867 #define LPCMP_CCR1_COUT_INV_MASK (0x8U) 9868 #define LPCMP_CCR1_COUT_INV_SHIFT (3U) 9869 /*! COUT_INV - Comparator invert 9870 * 0b0..Does not invert the comparator output. 9871 * 0b1..Inverts the comparator output. 9872 */ 9873 #define LPCMP_CCR1_COUT_INV(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUT_INV_SHIFT)) & LPCMP_CCR1_COUT_INV_MASK) 9874 #define LPCMP_CCR1_COUT_SEL_MASK (0x10U) 9875 #define LPCMP_CCR1_COUT_SEL_SHIFT (4U) 9876 /*! COUT_SEL - Comparator Output Select 9877 * 0b0..Set CMPO to equal COUT (filtered comparator output). 9878 * 0b1..Set CMPO to equal COUTA (unfiltered comparator output). 9879 */ 9880 #define LPCMP_CCR1_COUT_SEL(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUT_SEL_SHIFT)) & LPCMP_CCR1_COUT_SEL_MASK) 9881 #define LPCMP_CCR1_COUT_PEN_MASK (0x20U) 9882 #define LPCMP_CCR1_COUT_PEN_SHIFT (5U) 9883 /*! COUT_PEN - Comparator Output Pin Enable 9884 * 0b0..When COUT_PEN is 0, the comparator output (after window/filter settings dependent on software configuration) is not available to a packaged pin. 9885 * 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. 9886 */ 9887 #define LPCMP_CCR1_COUT_PEN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_COUT_PEN_SHIFT)) & LPCMP_CCR1_COUT_PEN_MASK) 9888 #define LPCMP_CCR1_FILT_CNT_MASK (0x70000U) 9889 #define LPCMP_CCR1_FILT_CNT_SHIFT (16U) 9890 /*! FILT_CNT - Filter Sample Count 9891 * 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. 9892 * 0b001..1 consecutive sample must agree (comparator output is simply sampled). 9893 * 0b010..2 consecutive samples must agree. 9894 * 0b011..3 consecutive samples must agree. 9895 * 0b100..4 consecutive samples must agree. 9896 * 0b101..5 consecutive samples must agree. 9897 * 0b110..6 consecutive samples must agree. 9898 * 0b111..7 consecutive samples must agree. 9899 */ 9900 #define LPCMP_CCR1_FILT_CNT(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_FILT_CNT_SHIFT)) & LPCMP_CCR1_FILT_CNT_MASK) 9901 #define LPCMP_CCR1_FILT_PER_MASK (0xFF000000U) 9902 #define LPCMP_CCR1_FILT_PER_SHIFT (24U) 9903 #define LPCMP_CCR1_FILT_PER(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR1_FILT_PER_SHIFT)) & LPCMP_CCR1_FILT_PER_MASK) 9904 /*! @} */ 9905 9906 /*! @name CCR2 - Comparator Control Register 2 */ 9907 /*! @{ */ 9908 #define LPCMP_CCR2_CMP_HPMD_MASK (0x1U) 9909 #define LPCMP_CCR2_CMP_HPMD_SHIFT (0U) 9910 /*! CMP_HPMD - CMP High Power Mode Select 9911 * 0b0..Low speed comparison mode is selected.(when CMP_NPMD is 0) 9912 * 0b1..High speed comparison mode is selected.(when CMP_NPMD is 0) 9913 */ 9914 #define LPCMP_CCR2_CMP_HPMD(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_CMP_HPMD_SHIFT)) & LPCMP_CCR2_CMP_HPMD_MASK) 9915 #define LPCMP_CCR2_CMP_NPMD_MASK (0x2U) 9916 #define LPCMP_CCR2_CMP_NPMD_SHIFT (1U) 9917 /*! CMP_NPMD - CMP Nano Power Mode Select 9918 * 0b0..Nano Power Comparator is not enabled (mode is determined by CMP_HPMD) 9919 * 0b1..Nano Power Comparator is enabled 9920 */ 9921 #define LPCMP_CCR2_CMP_NPMD(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_CMP_NPMD_SHIFT)) & LPCMP_CCR2_CMP_NPMD_MASK) 9922 #define LPCMP_CCR2_HYSTCTR_MASK (0x30U) 9923 #define LPCMP_CCR2_HYSTCTR_SHIFT (4U) 9924 /*! HYSTCTR - Comparator hard block hysteresis control. See chip data sheet to get the actual hystersis value with each level 9925 * 0b00..The hard block output has level 0 hysteresis internally. 9926 * 0b01..The hard block output has level 1 hysteresis internally. 9927 * 0b10..The hard block output has level 2 hysteresis internally. 9928 * 0b11..The hard block output has level 3 hysteresis internally. 9929 */ 9930 #define LPCMP_CCR2_HYSTCTR(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_HYSTCTR_SHIFT)) & LPCMP_CCR2_HYSTCTR_MASK) 9931 #define LPCMP_CCR2_PSEL_MASK (0x70000U) 9932 #define LPCMP_CCR2_PSEL_SHIFT (16U) 9933 /*! PSEL - Plus Input MUX Control 9934 * 0b000..Input 0 9935 * 0b001..Input 1 9936 * 0b010..Input 2 9937 * 0b011..Input 3 9938 * 0b100..Input 4 9939 * 0b101..Input 5 9940 * 0b110..Input 6 9941 * 0b111..Internal DAC output 9942 */ 9943 #define LPCMP_CCR2_PSEL(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_PSEL_SHIFT)) & LPCMP_CCR2_PSEL_MASK) 9944 #define LPCMP_CCR2_MSEL_MASK (0x700000U) 9945 #define LPCMP_CCR2_MSEL_SHIFT (20U) 9946 /*! MSEL - Minus Input MUX Control 9947 * 0b000..Input 0 9948 * 0b001..Input 1 9949 * 0b010..Input 2 9950 * 0b011..Input 3 9951 * 0b100..Input 4 9952 * 0b101..Input 5 9953 * 0b110..Input 6 9954 * 0b111..Internal DAC output 9955 */ 9956 #define LPCMP_CCR2_MSEL(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CCR2_MSEL_SHIFT)) & LPCMP_CCR2_MSEL_MASK) 9957 /*! @} */ 9958 9959 /*! @name DCR - DAC Control Register */ 9960 /*! @{ */ 9961 #define LPCMP_DCR_DAC_EN_MASK (0x1U) 9962 #define LPCMP_DCR_DAC_EN_SHIFT (0U) 9963 /*! DAC_EN - DAC Enable 9964 * 0b0..DAC is disabled. 9965 * 0b1..DAC is enabled. 9966 */ 9967 #define LPCMP_DCR_DAC_EN(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_DAC_EN_SHIFT)) & LPCMP_DCR_DAC_EN_MASK) 9968 #define LPCMP_DCR_DAC_HPMD_MASK (0x2U) 9969 #define LPCMP_DCR_DAC_HPMD_SHIFT (1U) 9970 /*! DAC_HPMD - DAC High Power Mode Select 9971 * 0b0..DAC high power mode is not enabled. 9972 * 0b1..DAC high power mode is enabled. 9973 */ 9974 #define LPCMP_DCR_DAC_HPMD(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_DAC_HPMD_SHIFT)) & LPCMP_DCR_DAC_HPMD_MASK) 9975 #define LPCMP_DCR_VRSEL_MASK (0x100U) 9976 #define LPCMP_DCR_VRSEL_SHIFT (8U) 9977 /*! VRSEL - Supply Voltage Reference Source Select 9978 * 0b0..vrefh_int is selected as resistor ladder network supply reference Vin. 9979 * 0b1..vrefh_ext is selected as resistor ladder network supply reference Vin. 9980 */ 9981 #define LPCMP_DCR_VRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_VRSEL_SHIFT)) & LPCMP_DCR_VRSEL_MASK) 9982 #define LPCMP_DCR_DAC_DATA_MASK (0x3F0000U) 9983 #define LPCMP_DCR_DAC_DATA_SHIFT (16U) 9984 #define LPCMP_DCR_DAC_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_DCR_DAC_DATA_SHIFT)) & LPCMP_DCR_DAC_DATA_MASK) 9985 /*! @} */ 9986 9987 /*! @name IER - Interrupt Enable Register */ 9988 /*! @{ */ 9989 #define LPCMP_IER_CFR_IE_MASK (0x1U) 9990 #define LPCMP_IER_CFR_IE_SHIFT (0U) 9991 /*! CFR_IE - Comparator Flag Rising Interrupt Enable 9992 * 0b0..CFR interrupt is disabled. 9993 * 0b1..CFR interrupt is enabled. 9994 */ 9995 #define LPCMP_IER_CFR_IE(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_IER_CFR_IE_SHIFT)) & LPCMP_IER_CFR_IE_MASK) 9996 #define LPCMP_IER_CFF_IE_MASK (0x2U) 9997 #define LPCMP_IER_CFF_IE_SHIFT (1U) 9998 /*! CFF_IE - Comparator Flag Falling Interrupt Enable 9999 * 0b0..CFF interrupt is disabled. 10000 * 0b1..CFF interrupt is enabled. 10001 */ 10002 #define LPCMP_IER_CFF_IE(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_IER_CFF_IE_SHIFT)) & LPCMP_IER_CFF_IE_MASK) 10003 /*! @} */ 10004 10005 /*! @name CSR - Comparator Status Register */ 10006 /*! @{ */ 10007 #define LPCMP_CSR_CFR_MASK (0x1U) 10008 #define LPCMP_CSR_CFR_SHIFT (0U) 10009 /*! CFR - Analog Comparator Flag Rising 10010 * 0b0..A rising edge has not been detected on COUT. 10011 * 0b1..A rising edge on COUT has occurred. 10012 */ 10013 #define LPCMP_CSR_CFR(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CSR_CFR_SHIFT)) & LPCMP_CSR_CFR_MASK) 10014 #define LPCMP_CSR_CFF_MASK (0x2U) 10015 #define LPCMP_CSR_CFF_SHIFT (1U) 10016 /*! CFF - Analog Comparator Flag Falling 10017 * 0b0..A falling edge has not been detected on COUT. 10018 * 0b1..A falling edge on COUT has occurred. 10019 */ 10020 #define LPCMP_CSR_CFF(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CSR_CFF_SHIFT)) & LPCMP_CSR_CFF_MASK) 10021 #define LPCMP_CSR_COUT_MASK (0x100U) 10022 #define LPCMP_CSR_COUT_SHIFT (8U) 10023 #define LPCMP_CSR_COUT(x) (((uint32_t)(((uint32_t)(x)) << LPCMP_CSR_COUT_SHIFT)) & LPCMP_CSR_COUT_MASK) 10024 /*! @} */ 10025 10026 10027 /*! 10028 * @} 10029 */ /* end of group LPCMP_Register_Masks */ 10030 10031 10032 /* LPCMP - Peripheral instance base addresses */ 10033 /** Peripheral LPCMP0 base address */ 10034 #define LPCMP0_BASE (0x4004B000u) 10035 /** Peripheral LPCMP0 base pointer */ 10036 #define LPCMP0 ((LPCMP_Type *)LPCMP0_BASE) 10037 /** Peripheral LPCMP1 base address */ 10038 #define LPCMP1_BASE (0x41038000u) 10039 /** Peripheral LPCMP1 base pointer */ 10040 #define LPCMP1 ((LPCMP_Type *)LPCMP1_BASE) 10041 /** Array initializer of LPCMP peripheral base addresses */ 10042 #define LPCMP_BASE_ADDRS { LPCMP0_BASE, LPCMP1_BASE } 10043 /** Array initializer of LPCMP peripheral base pointers */ 10044 #define LPCMP_BASE_PTRS { LPCMP0, LPCMP1 } 10045 /** Interrupt vectors for the LPCMP peripheral type */ 10046 #define LPCMP_IRQS { LPCMP0_IRQn, LPCMP1_IRQn } 10047 10048 /*! 10049 * @} 10050 */ /* end of group LPCMP_Peripheral_Access_Layer */ 10051 10052 10053 /* ---------------------------------------------------------------------------- 10054 -- LPDAC Peripheral Access Layer 10055 ---------------------------------------------------------------------------- */ 10056 10057 /*! 10058 * @addtogroup LPDAC_Peripheral_Access_Layer LPDAC Peripheral Access Layer 10059 * @{ 10060 */ 10061 10062 /** LPDAC - Register Layout Typedef */ 10063 typedef struct { 10064 __I uint32_t VERID; /**< Version Identifier Register, offset: 0x0 */ 10065 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 10066 __O uint32_t DATA; /**< DAC Data Register, offset: 0x8 */ 10067 __IO uint32_t GCR; /**< DAC Global Control Register, offset: 0xC */ 10068 __IO uint32_t FCR; /**< DAC FIFO Control Register, offset: 0x10 */ 10069 __I uint32_t FPR; /**< DAC FIFO Pointer Register, offset: 0x14 */ 10070 __IO uint32_t FSR; /**< FIFO Status Register, offset: 0x18 */ 10071 __IO uint32_t IER; /**< DAC Interrupt Enable Register, offset: 0x1C */ 10072 __IO uint32_t DER; /**< DAC DMA Enable Register, offset: 0x20 */ 10073 __IO uint32_t RCR; /**< DAC Reset Control Register, offset: 0x24 */ 10074 __O uint32_t TCR; /**< DAC Trigger Control Register, offset: 0x28 */ 10075 } LPDAC_Type; 10076 10077 /* ---------------------------------------------------------------------------- 10078 -- LPDAC Register Masks 10079 ---------------------------------------------------------------------------- */ 10080 10081 /*! 10082 * @addtogroup LPDAC_Register_Masks LPDAC Register Masks 10083 * @{ 10084 */ 10085 10086 /*! @name VERID - Version Identifier Register */ 10087 /*! @{ */ 10088 #define LPDAC_VERID_FEATURE_MASK (0xFFFFU) 10089 #define LPDAC_VERID_FEATURE_SHIFT (0U) 10090 #define LPDAC_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_VERID_FEATURE_SHIFT)) & LPDAC_VERID_FEATURE_MASK) 10091 #define LPDAC_VERID_MINOR_MASK (0xFF0000U) 10092 #define LPDAC_VERID_MINOR_SHIFT (16U) 10093 #define LPDAC_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_VERID_MINOR_SHIFT)) & LPDAC_VERID_MINOR_MASK) 10094 #define LPDAC_VERID_MAJOR_MASK (0xFF000000U) 10095 #define LPDAC_VERID_MAJOR_SHIFT (24U) 10096 #define LPDAC_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_VERID_MAJOR_SHIFT)) & LPDAC_VERID_MAJOR_MASK) 10097 /*! @} */ 10098 10099 /*! @name PARAM - Parameter Register */ 10100 /*! @{ */ 10101 #define LPDAC_PARAM_FIFOSZ_MASK (0x7U) 10102 #define LPDAC_PARAM_FIFOSZ_SHIFT (0U) 10103 /*! FIFOSZ - FIFO size 10104 * 0b000..Reserved 10105 * 0b001..FIFO depth is 4 10106 * 0b010..FIFO depth is 8 10107 * 0b011..FIFO depth is 16 10108 * 0b100..FIFO depth is 32 10109 * 0b101..FIFO depth is 64 10110 * 0b110..FIFO depth is 128 10111 * 0b111..FIFO depth is 256 10112 */ 10113 #define LPDAC_PARAM_FIFOSZ(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_PARAM_FIFOSZ_SHIFT)) & LPDAC_PARAM_FIFOSZ_MASK) 10114 /*! @} */ 10115 10116 /*! @name DATA - DAC Data Register */ 10117 /*! @{ */ 10118 #define LPDAC_DATA_DATA_MASK (0xFFFU) 10119 #define LPDAC_DATA_DATA_SHIFT (0U) 10120 #define LPDAC_DATA_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_DATA_DATA_SHIFT)) & LPDAC_DATA_DATA_MASK) 10121 /*! @} */ 10122 10123 /*! @name GCR - DAC Global Control Register */ 10124 /*! @{ */ 10125 #define LPDAC_GCR_DACEN_MASK (0x1U) 10126 #define LPDAC_GCR_DACEN_SHIFT (0U) 10127 /*! DACEN - DAC Enable 10128 * 0b0..The DAC system is disabled. 10129 * 0b1..The DAC system is enabled. 10130 */ 10131 #define LPDAC_GCR_DACEN(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_DACEN_SHIFT)) & LPDAC_GCR_DACEN_MASK) 10132 #define LPDAC_GCR_DACRFS_MASK (0x2U) 10133 #define LPDAC_GCR_DACRFS_SHIFT (1U) 10134 /*! DACRFS - DAC Reference Select 10135 * 0b0..The DAC selects VREFH_INT as the reference voltage. 10136 * 0b1..The DAC selects VREFH_EXT as the reference voltage. 10137 */ 10138 #define LPDAC_GCR_DACRFS(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_DACRFS_SHIFT)) & LPDAC_GCR_DACRFS_MASK) 10139 #define LPDAC_GCR_LPEN_MASK (0x4U) 10140 #define LPDAC_GCR_LPEN_SHIFT (2U) 10141 /*! LPEN - Low Power Enable 10142 * 0b0..High-Power mode 10143 * 0b1..Low-Power mode 10144 */ 10145 #define LPDAC_GCR_LPEN(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_LPEN_SHIFT)) & LPDAC_GCR_LPEN_MASK) 10146 #define LPDAC_GCR_FIFOEN_MASK (0x8U) 10147 #define LPDAC_GCR_FIFOEN_SHIFT (3U) 10148 /*! FIFOEN - FIFO Enable 10149 * 0b0..FIFO mode is disabled and buffer mode is enabled. Any data written to DATA[DATA] goes to buffer then goes to conversion. 10150 * 0b1..FIFO mode is enabled. Data will be first read from FIFO to buffer then goes to conversion 10151 */ 10152 #define LPDAC_GCR_FIFOEN(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_FIFOEN_SHIFT)) & LPDAC_GCR_FIFOEN_MASK) 10153 #define LPDAC_GCR_SWMD_MASK (0x10U) 10154 #define LPDAC_GCR_SWMD_SHIFT (4U) 10155 /*! SWMD - Swing Back Mode 10156 * 0b0..Swing back mode disable 10157 * 0b1..Swing back mode enable 10158 */ 10159 #define LPDAC_GCR_SWMD(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_SWMD_SHIFT)) & LPDAC_GCR_SWMD_MASK) 10160 #define LPDAC_GCR_TRGSEL_MASK (0x20U) 10161 #define LPDAC_GCR_TRGSEL_SHIFT (5U) 10162 /*! TRGSEL - DAC Trigger Select 10163 * 0b0..The DAC hardware trigger is selected. 10164 * 0b1..The DAC software trigger is selected. 10165 */ 10166 #define LPDAC_GCR_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_GCR_TRGSEL_SHIFT)) & LPDAC_GCR_TRGSEL_MASK) 10167 /*! @} */ 10168 10169 /*! @name FCR - DAC FIFO Control Register */ 10170 /*! @{ */ 10171 #define LPDAC_FCR_WML_MASK (0xFU) 10172 #define LPDAC_FCR_WML_SHIFT (0U) 10173 #define LPDAC_FCR_WML(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FCR_WML_SHIFT)) & LPDAC_FCR_WML_MASK) 10174 /*! @} */ 10175 10176 /*! @name FPR - DAC FIFO Pointer Register */ 10177 /*! @{ */ 10178 #define LPDAC_FPR_FIFO_RPT_MASK (0xFU) 10179 #define LPDAC_FPR_FIFO_RPT_SHIFT (0U) 10180 #define LPDAC_FPR_FIFO_RPT(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FPR_FIFO_RPT_SHIFT)) & LPDAC_FPR_FIFO_RPT_MASK) 10181 #define LPDAC_FPR_FIFO_WPT_MASK (0xF0000U) 10182 #define LPDAC_FPR_FIFO_WPT_SHIFT (16U) 10183 #define LPDAC_FPR_FIFO_WPT(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FPR_FIFO_WPT_SHIFT)) & LPDAC_FPR_FIFO_WPT_MASK) 10184 /*! @} */ 10185 10186 /*! @name FSR - FIFO Status Register */ 10187 /*! @{ */ 10188 #define LPDAC_FSR_FULL_MASK (0x1U) 10189 #define LPDAC_FSR_FULL_SHIFT (0U) 10190 /*! FULL - FIFO Full Flag 10191 * 0b0..FIFO is not full 10192 * 0b1..FIFO is full 10193 */ 10194 #define LPDAC_FSR_FULL(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_FULL_SHIFT)) & LPDAC_FSR_FULL_MASK) 10195 #define LPDAC_FSR_EMPTY_MASK (0x2U) 10196 #define LPDAC_FSR_EMPTY_SHIFT (1U) 10197 /*! EMPTY - FIFO Empty Flag 10198 * 0b0..FIFO is not empty 10199 * 0b1..FIFO is empty 10200 */ 10201 #define LPDAC_FSR_EMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_EMPTY_SHIFT)) & LPDAC_FSR_EMPTY_MASK) 10202 #define LPDAC_FSR_WM_MASK (0x4U) 10203 #define LPDAC_FSR_WM_SHIFT (2U) 10204 /*! WM - FIFO Watermark Status Flag 10205 * 0b0..Data in FIFO is more than watermark level 10206 * 0b1..Data in FIFO is less than or equal to watermark level 10207 */ 10208 #define LPDAC_FSR_WM(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_WM_SHIFT)) & LPDAC_FSR_WM_MASK) 10209 #define LPDAC_FSR_SWBK_MASK (0x8U) 10210 #define LPDAC_FSR_SWBK_SHIFT (3U) 10211 /*! SWBK - Swing Back One Cycle Complete Flag 10212 * 0b0..No swing back cycle has completed since the last time the flag was cleared. 10213 * 0b1..At least one swing back cycle has occurred since the last time the flag was cleared. 10214 */ 10215 #define LPDAC_FSR_SWBK(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_SWBK_SHIFT)) & LPDAC_FSR_SWBK_MASK) 10216 #define LPDAC_FSR_OF_MASK (0x40U) 10217 #define LPDAC_FSR_OF_SHIFT (6U) 10218 /*! OF - FIFO Overflow Flag 10219 * 0b0..No overflow has occurred since the last time the flag was cleared. 10220 * 0b1..At least one FIFO overflow has occurred since the last time the flag was cleared. 10221 */ 10222 #define LPDAC_FSR_OF(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_OF_SHIFT)) & LPDAC_FSR_OF_MASK) 10223 #define LPDAC_FSR_UF_MASK (0x80U) 10224 #define LPDAC_FSR_UF_SHIFT (7U) 10225 /*! UF - FIFO Underflow Flag 10226 * 0b0..No underflow has occurred since the last time the flag was cleared. 10227 * 0b1..At least one trigger underflow has occurred since the last time the flag was cleared. 10228 */ 10229 #define LPDAC_FSR_UF(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_FSR_UF_SHIFT)) & LPDAC_FSR_UF_MASK) 10230 /*! @} */ 10231 10232 /*! @name IER - DAC Interrupt Enable Register */ 10233 /*! @{ */ 10234 #define LPDAC_IER_FULL_IE_MASK (0x1U) 10235 #define LPDAC_IER_FULL_IE_SHIFT (0U) 10236 /*! FULL_IE - FIFO Full Interrupt Enable 10237 * 0b0..FIFO Full interrupt is disabled. 10238 * 0b1..FIFO Full interrupt is enabled. 10239 */ 10240 #define LPDAC_IER_FULL_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_FULL_IE_SHIFT)) & LPDAC_IER_FULL_IE_MASK) 10241 #define LPDAC_IER_EMPTY_IE_MASK (0x2U) 10242 #define LPDAC_IER_EMPTY_IE_SHIFT (1U) 10243 /*! EMPTY_IE - FIFO Empty Interrupt Enable 10244 * 0b0..FIFO Empty interrupt is disabled. 10245 * 0b1..FIFO Empty interrupt is enabled. 10246 */ 10247 #define LPDAC_IER_EMPTY_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_EMPTY_IE_SHIFT)) & LPDAC_IER_EMPTY_IE_MASK) 10248 #define LPDAC_IER_WM_IE_MASK (0x4U) 10249 #define LPDAC_IER_WM_IE_SHIFT (2U) 10250 /*! WM_IE - FIFO Watermark Interrupt Enable 10251 * 0b0..Watermark interrupt is disabled. 10252 * 0b1..Watermark interrupt is enabled. 10253 */ 10254 #define LPDAC_IER_WM_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_WM_IE_SHIFT)) & LPDAC_IER_WM_IE_MASK) 10255 #define LPDAC_IER_SWBK_IE_MASK (0x8U) 10256 #define LPDAC_IER_SWBK_IE_SHIFT (3U) 10257 /*! SWBK_IE - Swing back One Cycle Complete Interrupt Enable 10258 * 0b0..Swing back one time complete interrupt is disabled. 10259 * 0b1..Swing back one time complete interrupt is enabled. 10260 */ 10261 #define LPDAC_IER_SWBK_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_SWBK_IE_SHIFT)) & LPDAC_IER_SWBK_IE_MASK) 10262 #define LPDAC_IER_OF_IE_MASK (0x40U) 10263 #define LPDAC_IER_OF_IE_SHIFT (6U) 10264 /*! OF_IE - FIFO Overflow Interrupt Enable 10265 * 0b0..Overflow interrupt is disabled 10266 * 0b1..Overflow interrupt is enabled. 10267 */ 10268 #define LPDAC_IER_OF_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_OF_IE_SHIFT)) & LPDAC_IER_OF_IE_MASK) 10269 #define LPDAC_IER_UF_IE_MASK (0x80U) 10270 #define LPDAC_IER_UF_IE_SHIFT (7U) 10271 /*! UF_IE - FIFO Underflow Interrupt Enable 10272 * 0b0..Underflow interrupt is disabled. 10273 * 0b1..Underflow interrupt is enabled. 10274 */ 10275 #define LPDAC_IER_UF_IE(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_IER_UF_IE_SHIFT)) & LPDAC_IER_UF_IE_MASK) 10276 /*! @} */ 10277 10278 /*! @name DER - DAC DMA Enable Register */ 10279 /*! @{ */ 10280 #define LPDAC_DER_EMPTY_DMAEN_MASK (0x2U) 10281 #define LPDAC_DER_EMPTY_DMAEN_SHIFT (1U) 10282 /*! EMPTY_DMAEN - FIFO Empty DMA Enable 10283 * 0b0..FIFO Empty DMA request is disabled. 10284 * 0b1..FIFO Empty DMA request is enabled. 10285 */ 10286 #define LPDAC_DER_EMPTY_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_DER_EMPTY_DMAEN_SHIFT)) & LPDAC_DER_EMPTY_DMAEN_MASK) 10287 #define LPDAC_DER_WM_DMAEN_MASK (0x4U) 10288 #define LPDAC_DER_WM_DMAEN_SHIFT (2U) 10289 /*! WM_DMAEN - FIFO Watermark DMA Enable 10290 * 0b0..Watermark DMA request is disabled. 10291 * 0b1..Watermark DMA request is enabled. 10292 */ 10293 #define LPDAC_DER_WM_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_DER_WM_DMAEN_SHIFT)) & LPDAC_DER_WM_DMAEN_MASK) 10294 /*! @} */ 10295 10296 /*! @name RCR - DAC Reset Control Register */ 10297 /*! @{ */ 10298 #define LPDAC_RCR_SWRST_MASK (0x1U) 10299 #define LPDAC_RCR_SWRST_SHIFT (0U) 10300 /*! SWRST - Software Reset 10301 * 0b0..No effect 10302 * 0b1..Software reset 10303 */ 10304 #define LPDAC_RCR_SWRST(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_RCR_SWRST_SHIFT)) & LPDAC_RCR_SWRST_MASK) 10305 #define LPDAC_RCR_FIFORST_MASK (0x2U) 10306 #define LPDAC_RCR_FIFORST_SHIFT (1U) 10307 /*! FIFORST - FIFO Reset 10308 * 0b0..No effect 10309 * 0b1..FIFO reset 10310 */ 10311 #define LPDAC_RCR_FIFORST(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_RCR_FIFORST_SHIFT)) & LPDAC_RCR_FIFORST_MASK) 10312 /*! @} */ 10313 10314 /*! @name TCR - DAC Trigger Control Register */ 10315 /*! @{ */ 10316 #define LPDAC_TCR_SWTRG_MASK (0x1U) 10317 #define LPDAC_TCR_SWTRG_SHIFT (0U) 10318 /*! SWTRG - Software Trigger 10319 * 0b0..The DAC soft trigger is not valid. 10320 * 0b1..The DAC soft trigger is valid. 10321 */ 10322 #define LPDAC_TCR_SWTRG(x) (((uint32_t)(((uint32_t)(x)) << LPDAC_TCR_SWTRG_SHIFT)) & LPDAC_TCR_SWTRG_MASK) 10323 /*! @} */ 10324 10325 10326 /*! 10327 * @} 10328 */ /* end of group LPDAC_Register_Masks */ 10329 10330 10331 /* LPDAC - Peripheral instance base addresses */ 10332 /** Peripheral LPDAC0 base address */ 10333 #define LPDAC0_BASE (0x4004C000u) 10334 /** Peripheral LPDAC0 base pointer */ 10335 #define LPDAC0 ((LPDAC_Type *)LPDAC0_BASE) 10336 /** Array initializer of LPDAC peripheral base addresses */ 10337 #define LPDAC_BASE_ADDRS { LPDAC0_BASE } 10338 /** Array initializer of LPDAC peripheral base pointers */ 10339 #define LPDAC_BASE_PTRS { LPDAC0 } 10340 /** Interrupt vectors for the LPDAC peripheral type */ 10341 #define LPDAC_IRQS { LPDAC0_IRQn } 10342 10343 /*! 10344 * @} 10345 */ /* end of group LPDAC_Peripheral_Access_Layer */ 10346 10347 10348 /* ---------------------------------------------------------------------------- 10349 -- LPI2C Peripheral Access Layer 10350 ---------------------------------------------------------------------------- */ 10351 10352 /*! 10353 * @addtogroup LPI2C_Peripheral_Access_Layer LPI2C Peripheral Access Layer 10354 * @{ 10355 */ 10356 10357 /** LPI2C - Register Layout Typedef */ 10358 typedef struct { 10359 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 10360 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 10361 uint8_t RESERVED_0[8]; 10362 __IO uint32_t MCR; /**< Master Control Register, offset: 0x10 */ 10363 __IO uint32_t MSR; /**< Master Status Register, offset: 0x14 */ 10364 __IO uint32_t MIER; /**< Master Interrupt Enable Register, offset: 0x18 */ 10365 __IO uint32_t MDER; /**< Master DMA Enable Register, offset: 0x1C */ 10366 __IO uint32_t MCFGR0; /**< Master Configuration Register 0, offset: 0x20 */ 10367 __IO uint32_t MCFGR1; /**< Master Configuration Register 1, offset: 0x24 */ 10368 __IO uint32_t MCFGR2; /**< Master Configuration Register 2, offset: 0x28 */ 10369 __IO uint32_t MCFGR3; /**< Master Configuration Register 3, offset: 0x2C */ 10370 uint8_t RESERVED_1[16]; 10371 __IO uint32_t MDMR; /**< Master Data Match Register, offset: 0x40 */ 10372 uint8_t RESERVED_2[4]; 10373 __IO uint32_t MCCR0; /**< Master Clock Configuration Register 0, offset: 0x48 */ 10374 uint8_t RESERVED_3[4]; 10375 __IO uint32_t MCCR1; /**< Master Clock Configuration Register 1, offset: 0x50 */ 10376 uint8_t RESERVED_4[4]; 10377 __IO uint32_t MFCR; /**< Master FIFO Control Register, offset: 0x58 */ 10378 __I uint32_t MFSR; /**< Master FIFO Status Register, offset: 0x5C */ 10379 __O uint32_t MTDR; /**< Master Transmit Data Register, offset: 0x60 */ 10380 uint8_t RESERVED_5[12]; 10381 __I uint32_t MRDR; /**< Master Receive Data Register, offset: 0x70 */ 10382 uint8_t RESERVED_6[156]; 10383 __IO uint32_t SCR; /**< Slave Control Register, offset: 0x110 */ 10384 __IO uint32_t SSR; /**< Slave Status Register, offset: 0x114 */ 10385 __IO uint32_t SIER; /**< Slave Interrupt Enable Register, offset: 0x118 */ 10386 __IO uint32_t SDER; /**< Slave DMA Enable Register, offset: 0x11C */ 10387 uint8_t RESERVED_7[4]; 10388 __IO uint32_t SCFGR1; /**< Slave Configuration Register 1, offset: 0x124 */ 10389 __IO uint32_t SCFGR2; /**< Slave Configuration Register 2, offset: 0x128 */ 10390 uint8_t RESERVED_8[20]; 10391 __IO uint32_t SAMR; /**< Slave Address Match Register, offset: 0x140 */ 10392 uint8_t RESERVED_9[12]; 10393 __I uint32_t SASR; /**< Slave Address Status Register, offset: 0x150 */ 10394 __IO uint32_t STAR; /**< Slave Transmit ACK Register, offset: 0x154 */ 10395 uint8_t RESERVED_10[8]; 10396 __O uint32_t STDR; /**< Slave Transmit Data Register, offset: 0x160 */ 10397 uint8_t RESERVED_11[12]; 10398 __I uint32_t SRDR; /**< Slave Receive Data Register, offset: 0x170 */ 10399 } LPI2C_Type; 10400 10401 /* ---------------------------------------------------------------------------- 10402 -- LPI2C Register Masks 10403 ---------------------------------------------------------------------------- */ 10404 10405 /*! 10406 * @addtogroup LPI2C_Register_Masks LPI2C Register Masks 10407 * @{ 10408 */ 10409 10410 /*! @name VERID - Version ID Register */ 10411 /*! @{ */ 10412 #define LPI2C_VERID_FEATURE_MASK (0xFFFFU) 10413 #define LPI2C_VERID_FEATURE_SHIFT (0U) 10414 /*! FEATURE - Feature Specification Number 10415 * 0b0000000000000010..Master only, with standard feature set 10416 * 0b0000000000000011..Master and slave, with standard feature set 10417 */ 10418 #define LPI2C_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_FEATURE_SHIFT)) & LPI2C_VERID_FEATURE_MASK) 10419 #define LPI2C_VERID_MINOR_MASK (0xFF0000U) 10420 #define LPI2C_VERID_MINOR_SHIFT (16U) 10421 #define LPI2C_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MINOR_SHIFT)) & LPI2C_VERID_MINOR_MASK) 10422 #define LPI2C_VERID_MAJOR_MASK (0xFF000000U) 10423 #define LPI2C_VERID_MAJOR_SHIFT (24U) 10424 #define LPI2C_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_VERID_MAJOR_SHIFT)) & LPI2C_VERID_MAJOR_MASK) 10425 /*! @} */ 10426 10427 /*! @name PARAM - Parameter Register */ 10428 /*! @{ */ 10429 #define LPI2C_PARAM_MTXFIFO_MASK (0xFU) 10430 #define LPI2C_PARAM_MTXFIFO_SHIFT (0U) 10431 #define LPI2C_PARAM_MTXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MTXFIFO_SHIFT)) & LPI2C_PARAM_MTXFIFO_MASK) 10432 #define LPI2C_PARAM_MRXFIFO_MASK (0xF00U) 10433 #define LPI2C_PARAM_MRXFIFO_SHIFT (8U) 10434 #define LPI2C_PARAM_MRXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_PARAM_MRXFIFO_SHIFT)) & LPI2C_PARAM_MRXFIFO_MASK) 10435 /*! @} */ 10436 10437 /*! @name MCR - Master Control Register */ 10438 /*! @{ */ 10439 #define LPI2C_MCR_MEN_MASK (0x1U) 10440 #define LPI2C_MCR_MEN_SHIFT (0U) 10441 /*! MEN - Master Enable 10442 * 0b0..Master logic is disabled 10443 * 0b1..Master logic is enabled 10444 */ 10445 #define LPI2C_MCR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_MEN_SHIFT)) & LPI2C_MCR_MEN_MASK) 10446 #define LPI2C_MCR_RST_MASK (0x2U) 10447 #define LPI2C_MCR_RST_SHIFT (1U) 10448 /*! RST - Software Reset 10449 * 0b0..Master logic is not reset 10450 * 0b1..Master logic is reset 10451 */ 10452 #define LPI2C_MCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RST_SHIFT)) & LPI2C_MCR_RST_MASK) 10453 #define LPI2C_MCR_DOZEN_MASK (0x4U) 10454 #define LPI2C_MCR_DOZEN_SHIFT (2U) 10455 /*! DOZEN - Doze mode enable 10456 * 0b0..Master is enabled in Doze mode 10457 * 0b1..Master is disabled in Doze mode 10458 */ 10459 #define LPI2C_MCR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DOZEN_SHIFT)) & LPI2C_MCR_DOZEN_MASK) 10460 #define LPI2C_MCR_DBGEN_MASK (0x8U) 10461 #define LPI2C_MCR_DBGEN_SHIFT (3U) 10462 /*! DBGEN - Debug Enable 10463 * 0b0..Master is disabled in debug mode 10464 * 0b1..Master is enabled in debug mode 10465 */ 10466 #define LPI2C_MCR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_DBGEN_SHIFT)) & LPI2C_MCR_DBGEN_MASK) 10467 #define LPI2C_MCR_RTF_MASK (0x100U) 10468 #define LPI2C_MCR_RTF_SHIFT (8U) 10469 /*! RTF - Reset Transmit FIFO 10470 * 0b0..No effect 10471 * 0b1..Transmit FIFO is reset 10472 */ 10473 #define LPI2C_MCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RTF_SHIFT)) & LPI2C_MCR_RTF_MASK) 10474 #define LPI2C_MCR_RRF_MASK (0x200U) 10475 #define LPI2C_MCR_RRF_SHIFT (9U) 10476 /*! RRF - Reset Receive FIFO 10477 * 0b0..No effect 10478 * 0b1..Receive FIFO is reset 10479 */ 10480 #define LPI2C_MCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCR_RRF_SHIFT)) & LPI2C_MCR_RRF_MASK) 10481 /*! @} */ 10482 10483 /*! @name MSR - Master Status Register */ 10484 /*! @{ */ 10485 #define LPI2C_MSR_TDF_MASK (0x1U) 10486 #define LPI2C_MSR_TDF_SHIFT (0U) 10487 /*! TDF - Transmit Data Flag 10488 * 0b0..Transmit data is not requested 10489 * 0b1..Transmit data is requested 10490 */ 10491 #define LPI2C_MSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_TDF_SHIFT)) & LPI2C_MSR_TDF_MASK) 10492 #define LPI2C_MSR_RDF_MASK (0x2U) 10493 #define LPI2C_MSR_RDF_SHIFT (1U) 10494 /*! RDF - Receive Data Flag 10495 * 0b0..Receive Data is not ready 10496 * 0b1..Receive data is ready 10497 */ 10498 #define LPI2C_MSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_RDF_SHIFT)) & LPI2C_MSR_RDF_MASK) 10499 #define LPI2C_MSR_EPF_MASK (0x100U) 10500 #define LPI2C_MSR_EPF_SHIFT (8U) 10501 /*! EPF - End Packet Flag 10502 * 0b0..Master has not generated a STOP or Repeated START condition 10503 * 0b1..Master has generated a STOP or Repeated START condition 10504 */ 10505 #define LPI2C_MSR_EPF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_EPF_SHIFT)) & LPI2C_MSR_EPF_MASK) 10506 #define LPI2C_MSR_SDF_MASK (0x200U) 10507 #define LPI2C_MSR_SDF_SHIFT (9U) 10508 /*! SDF - STOP Detect Flag 10509 * 0b0..Master has not generated a STOP condition 10510 * 0b1..Master has generated a STOP condition 10511 */ 10512 #define LPI2C_MSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_SDF_SHIFT)) & LPI2C_MSR_SDF_MASK) 10513 #define LPI2C_MSR_NDF_MASK (0x400U) 10514 #define LPI2C_MSR_NDF_SHIFT (10U) 10515 /*! NDF - NACK Detect Flag 10516 * 0b0..Unexpected NACK was not detected 10517 * 0b1..Unexpected NACK was detected 10518 */ 10519 #define LPI2C_MSR_NDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_NDF_SHIFT)) & LPI2C_MSR_NDF_MASK) 10520 #define LPI2C_MSR_ALF_MASK (0x800U) 10521 #define LPI2C_MSR_ALF_SHIFT (11U) 10522 /*! ALF - Arbitration Lost Flag 10523 * 0b0..Master has not lost arbitration 10524 * 0b1..Master has lost arbitration 10525 */ 10526 #define LPI2C_MSR_ALF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_ALF_SHIFT)) & LPI2C_MSR_ALF_MASK) 10527 #define LPI2C_MSR_FEF_MASK (0x1000U) 10528 #define LPI2C_MSR_FEF_SHIFT (12U) 10529 /*! FEF - FIFO Error Flag 10530 * 0b0..No error 10531 * 0b1..Master sending or receiving data without a START condition 10532 */ 10533 #define LPI2C_MSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_FEF_SHIFT)) & LPI2C_MSR_FEF_MASK) 10534 #define LPI2C_MSR_PLTF_MASK (0x2000U) 10535 #define LPI2C_MSR_PLTF_SHIFT (13U) 10536 /*! PLTF - Pin Low Timeout Flag 10537 * 0b0..Pin low timeout has not occurred or is disabled 10538 * 0b1..Pin low timeout has occurred 10539 */ 10540 #define LPI2C_MSR_PLTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_PLTF_SHIFT)) & LPI2C_MSR_PLTF_MASK) 10541 #define LPI2C_MSR_DMF_MASK (0x4000U) 10542 #define LPI2C_MSR_DMF_SHIFT (14U) 10543 /*! DMF - Data Match Flag 10544 * 0b0..Have not received matching data 10545 * 0b1..Have received matching data 10546 */ 10547 #define LPI2C_MSR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_DMF_SHIFT)) & LPI2C_MSR_DMF_MASK) 10548 #define LPI2C_MSR_MBF_MASK (0x1000000U) 10549 #define LPI2C_MSR_MBF_SHIFT (24U) 10550 /*! MBF - Master Busy Flag 10551 * 0b0..I2C Master is idle 10552 * 0b1..I2C Master is busy 10553 */ 10554 #define LPI2C_MSR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_MBF_SHIFT)) & LPI2C_MSR_MBF_MASK) 10555 #define LPI2C_MSR_BBF_MASK (0x2000000U) 10556 #define LPI2C_MSR_BBF_SHIFT (25U) 10557 /*! BBF - Bus Busy Flag 10558 * 0b0..I2C Bus is idle 10559 * 0b1..I2C Bus is busy 10560 */ 10561 #define LPI2C_MSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MSR_BBF_SHIFT)) & LPI2C_MSR_BBF_MASK) 10562 /*! @} */ 10563 10564 /*! @name MIER - Master Interrupt Enable Register */ 10565 /*! @{ */ 10566 #define LPI2C_MIER_TDIE_MASK (0x1U) 10567 #define LPI2C_MIER_TDIE_SHIFT (0U) 10568 /*! TDIE - Transmit Data Interrupt Enable 10569 * 0b0..Disabled 10570 * 0b1..Enabled 10571 */ 10572 #define LPI2C_MIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_TDIE_SHIFT)) & LPI2C_MIER_TDIE_MASK) 10573 #define LPI2C_MIER_RDIE_MASK (0x2U) 10574 #define LPI2C_MIER_RDIE_SHIFT (1U) 10575 /*! RDIE - Receive Data Interrupt Enable 10576 * 0b0..Disabled 10577 * 0b1..Enabled 10578 */ 10579 #define LPI2C_MIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_RDIE_SHIFT)) & LPI2C_MIER_RDIE_MASK) 10580 #define LPI2C_MIER_EPIE_MASK (0x100U) 10581 #define LPI2C_MIER_EPIE_SHIFT (8U) 10582 /*! EPIE - End Packet Interrupt Enable 10583 * 0b0..Disabled 10584 * 0b1..Enabled 10585 */ 10586 #define LPI2C_MIER_EPIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_EPIE_SHIFT)) & LPI2C_MIER_EPIE_MASK) 10587 #define LPI2C_MIER_SDIE_MASK (0x200U) 10588 #define LPI2C_MIER_SDIE_SHIFT (9U) 10589 /*! SDIE - STOP Detect Interrupt Enable 10590 * 0b0..Disabled 10591 * 0b1..Enabled 10592 */ 10593 #define LPI2C_MIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_SDIE_SHIFT)) & LPI2C_MIER_SDIE_MASK) 10594 #define LPI2C_MIER_NDIE_MASK (0x400U) 10595 #define LPI2C_MIER_NDIE_SHIFT (10U) 10596 /*! NDIE - NACK Detect Interrupt Enable 10597 * 0b0..Disabled 10598 * 0b1..Enabled 10599 */ 10600 #define LPI2C_MIER_NDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_NDIE_SHIFT)) & LPI2C_MIER_NDIE_MASK) 10601 #define LPI2C_MIER_ALIE_MASK (0x800U) 10602 #define LPI2C_MIER_ALIE_SHIFT (11U) 10603 /*! ALIE - Arbitration Lost Interrupt Enable 10604 * 0b0..Disabled 10605 * 0b1..Enabled 10606 */ 10607 #define LPI2C_MIER_ALIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_ALIE_SHIFT)) & LPI2C_MIER_ALIE_MASK) 10608 #define LPI2C_MIER_FEIE_MASK (0x1000U) 10609 #define LPI2C_MIER_FEIE_SHIFT (12U) 10610 /*! FEIE - FIFO Error Interrupt Enable 10611 * 0b0..Enabled 10612 * 0b1..Disabled 10613 */ 10614 #define LPI2C_MIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_FEIE_SHIFT)) & LPI2C_MIER_FEIE_MASK) 10615 #define LPI2C_MIER_PLTIE_MASK (0x2000U) 10616 #define LPI2C_MIER_PLTIE_SHIFT (13U) 10617 /*! PLTIE - Pin Low Timeout Interrupt Enable 10618 * 0b0..Disabled 10619 * 0b1..Enabled 10620 */ 10621 #define LPI2C_MIER_PLTIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_PLTIE_SHIFT)) & LPI2C_MIER_PLTIE_MASK) 10622 #define LPI2C_MIER_DMIE_MASK (0x4000U) 10623 #define LPI2C_MIER_DMIE_SHIFT (14U) 10624 /*! DMIE - Data Match Interrupt Enable 10625 * 0b0..Disabled 10626 * 0b1..Enabled 10627 */ 10628 #define LPI2C_MIER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MIER_DMIE_SHIFT)) & LPI2C_MIER_DMIE_MASK) 10629 /*! @} */ 10630 10631 /*! @name MDER - Master DMA Enable Register */ 10632 /*! @{ */ 10633 #define LPI2C_MDER_TDDE_MASK (0x1U) 10634 #define LPI2C_MDER_TDDE_SHIFT (0U) 10635 /*! TDDE - Transmit Data DMA Enable 10636 * 0b0..DMA request is disabled 10637 * 0b1..DMA request is enabled 10638 */ 10639 #define LPI2C_MDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_TDDE_SHIFT)) & LPI2C_MDER_TDDE_MASK) 10640 #define LPI2C_MDER_RDDE_MASK (0x2U) 10641 #define LPI2C_MDER_RDDE_SHIFT (1U) 10642 /*! RDDE - Receive Data DMA Enable 10643 * 0b0..DMA request is disabled 10644 * 0b1..DMA request is enabled 10645 */ 10646 #define LPI2C_MDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDER_RDDE_SHIFT)) & LPI2C_MDER_RDDE_MASK) 10647 /*! @} */ 10648 10649 /*! @name MCFGR0 - Master Configuration Register 0 */ 10650 /*! @{ */ 10651 #define LPI2C_MCFGR0_HREN_MASK (0x1U) 10652 #define LPI2C_MCFGR0_HREN_SHIFT (0U) 10653 /*! HREN - Host Request Enable 10654 * 0b0..Host request input is disabled 10655 * 0b1..Host request input is enabled 10656 */ 10657 #define LPI2C_MCFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HREN_SHIFT)) & LPI2C_MCFGR0_HREN_MASK) 10658 #define LPI2C_MCFGR0_HRPOL_MASK (0x2U) 10659 #define LPI2C_MCFGR0_HRPOL_SHIFT (1U) 10660 /*! HRPOL - Host Request Polarity 10661 * 0b0..Active low 10662 * 0b1..Active high 10663 */ 10664 #define LPI2C_MCFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRPOL_SHIFT)) & LPI2C_MCFGR0_HRPOL_MASK) 10665 #define LPI2C_MCFGR0_HRSEL_MASK (0x4U) 10666 #define LPI2C_MCFGR0_HRSEL_SHIFT (2U) 10667 /*! HRSEL - Host Request Select 10668 * 0b0..Host request input is pin HREQ 10669 * 0b1..Host request input is input trigger 10670 */ 10671 #define LPI2C_MCFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_HRSEL_SHIFT)) & LPI2C_MCFGR0_HRSEL_MASK) 10672 #define LPI2C_MCFGR0_CIRFIFO_MASK (0x100U) 10673 #define LPI2C_MCFGR0_CIRFIFO_SHIFT (8U) 10674 /*! CIRFIFO - Circular FIFO Enable 10675 * 0b0..Circular FIFO is disabled 10676 * 0b1..Circular FIFO is enabled 10677 */ 10678 #define LPI2C_MCFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_CIRFIFO_SHIFT)) & LPI2C_MCFGR0_CIRFIFO_MASK) 10679 #define LPI2C_MCFGR0_RDMO_MASK (0x200U) 10680 #define LPI2C_MCFGR0_RDMO_SHIFT (9U) 10681 /*! RDMO - Receive Data Match Only 10682 * 0b0..Received data is stored in the receive FIFO 10683 * 0b1..Received data is discarded unless the the Data Match Flag (MSR[DMF]) is set 10684 */ 10685 #define LPI2C_MCFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR0_RDMO_SHIFT)) & LPI2C_MCFGR0_RDMO_MASK) 10686 /*! @} */ 10687 10688 /*! @name MCFGR1 - Master Configuration Register 1 */ 10689 /*! @{ */ 10690 #define LPI2C_MCFGR1_PRESCALE_MASK (0x7U) 10691 #define LPI2C_MCFGR1_PRESCALE_SHIFT (0U) 10692 /*! PRESCALE - Prescaler 10693 * 0b000..Divide by 1 10694 * 0b001..Divide by 2 10695 * 0b010..Divide by 4 10696 * 0b011..Divide by 8 10697 * 0b100..Divide by 16 10698 * 0b101..Divide by 32 10699 * 0b110..Divide by 64 10700 * 0b111..Divide by 128 10701 */ 10702 #define LPI2C_MCFGR1_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PRESCALE_SHIFT)) & LPI2C_MCFGR1_PRESCALE_MASK) 10703 #define LPI2C_MCFGR1_AUTOSTOP_MASK (0x100U) 10704 #define LPI2C_MCFGR1_AUTOSTOP_SHIFT (8U) 10705 /*! AUTOSTOP - Automatic STOP Generation 10706 * 0b0..No effect 10707 * 0b1..STOP condition is automatically generated whenever the transmit FIFO is empty and the LPI2C master is busy 10708 */ 10709 #define LPI2C_MCFGR1_AUTOSTOP(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_AUTOSTOP_SHIFT)) & LPI2C_MCFGR1_AUTOSTOP_MASK) 10710 #define LPI2C_MCFGR1_IGNACK_MASK (0x200U) 10711 #define LPI2C_MCFGR1_IGNACK_SHIFT (9U) 10712 /*! IGNACK - IGNACK 10713 * 0b0..LPI2C Master will receive ACK and NACK normally 10714 * 0b1..LPI2C Master will treat a received NACK as if it (NACK) was an ACK 10715 */ 10716 #define LPI2C_MCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_IGNACK_SHIFT)) & LPI2C_MCFGR1_IGNACK_MASK) 10717 #define LPI2C_MCFGR1_TIMECFG_MASK (0x400U) 10718 #define LPI2C_MCFGR1_TIMECFG_SHIFT (10U) 10719 /*! TIMECFG - Timeout Configuration 10720 * 0b0..Pin Low Timeout Flag will set if SCL is low for longer than the configured timeout 10721 * 0b1..Pin Low Timeout Flag will set if either SCL or SDA is low for longer than the configured timeout 10722 */ 10723 #define LPI2C_MCFGR1_TIMECFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_TIMECFG_SHIFT)) & LPI2C_MCFGR1_TIMECFG_MASK) 10724 #define LPI2C_MCFGR1_MATCFG_MASK (0x70000U) 10725 #define LPI2C_MCFGR1_MATCFG_SHIFT (16U) 10726 /*! MATCFG - Match Configuration 10727 * 0b000..Match is disabled 10728 * 0b001..Reserved 10729 * 0b010..Match is enabled (1st data word equals MATCH0 OR MATCH1) 10730 * 0b011..Match is enabled (any data word equals MATCH0 OR MATCH1) 10731 * 0b100..Match is enabled (1st data word equals MATCH0 AND 2nd data word equals MATCH1) 10732 * 0b101..Match is enabled (any data word equals MATCH0 AND next data word equals MATCH1) 10733 * 0b110..Match is enabled (1st data word AND MATCH1 equals MATCH0 AND MATCH1) 10734 * 0b111..Match is enabled (any data word AND MATCH1 equals MATCH0 AND MATCH1) 10735 */ 10736 #define LPI2C_MCFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_MATCFG_SHIFT)) & LPI2C_MCFGR1_MATCFG_MASK) 10737 #define LPI2C_MCFGR1_PINCFG_MASK (0x7000000U) 10738 #define LPI2C_MCFGR1_PINCFG_SHIFT (24U) 10739 /*! PINCFG - Pin Configuration 10740 * 0b000..2-pin open drain mode 10741 * 0b001..2-pin output only mode (ultra-fast mode) 10742 * 0b010..2-pin push-pull mode 10743 * 0b011..4-pin push-pull mode 10744 * 0b100..2-pin open drain mode with separate LPI2C slave 10745 * 0b101..2-pin output only mode (ultra-fast mode) with separate LPI2C slave 10746 * 0b110..2-pin push-pull mode with separate LPI2C slave 10747 * 0b111..4-pin push-pull mode (inverted outputs) 10748 */ 10749 #define LPI2C_MCFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR1_PINCFG_SHIFT)) & LPI2C_MCFGR1_PINCFG_MASK) 10750 /*! @} */ 10751 10752 /*! @name MCFGR2 - Master Configuration Register 2 */ 10753 /*! @{ */ 10754 #define LPI2C_MCFGR2_BUSIDLE_MASK (0xFFFU) 10755 #define LPI2C_MCFGR2_BUSIDLE_SHIFT (0U) 10756 #define LPI2C_MCFGR2_BUSIDLE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_BUSIDLE_SHIFT)) & LPI2C_MCFGR2_BUSIDLE_MASK) 10757 #define LPI2C_MCFGR2_FILTSCL_MASK (0xF0000U) 10758 #define LPI2C_MCFGR2_FILTSCL_SHIFT (16U) 10759 #define LPI2C_MCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSCL_SHIFT)) & LPI2C_MCFGR2_FILTSCL_MASK) 10760 #define LPI2C_MCFGR2_FILTSDA_MASK (0xF000000U) 10761 #define LPI2C_MCFGR2_FILTSDA_SHIFT (24U) 10762 #define LPI2C_MCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR2_FILTSDA_SHIFT)) & LPI2C_MCFGR2_FILTSDA_MASK) 10763 /*! @} */ 10764 10765 /*! @name MCFGR3 - Master Configuration Register 3 */ 10766 /*! @{ */ 10767 #define LPI2C_MCFGR3_PINLOW_MASK (0xFFF00U) 10768 #define LPI2C_MCFGR3_PINLOW_SHIFT (8U) 10769 #define LPI2C_MCFGR3_PINLOW(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCFGR3_PINLOW_SHIFT)) & LPI2C_MCFGR3_PINLOW_MASK) 10770 /*! @} */ 10771 10772 /*! @name MDMR - Master Data Match Register */ 10773 /*! @{ */ 10774 #define LPI2C_MDMR_MATCH0_MASK (0xFFU) 10775 #define LPI2C_MDMR_MATCH0_SHIFT (0U) 10776 #define LPI2C_MDMR_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH0_SHIFT)) & LPI2C_MDMR_MATCH0_MASK) 10777 #define LPI2C_MDMR_MATCH1_MASK (0xFF0000U) 10778 #define LPI2C_MDMR_MATCH1_SHIFT (16U) 10779 #define LPI2C_MDMR_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MDMR_MATCH1_SHIFT)) & LPI2C_MDMR_MATCH1_MASK) 10780 /*! @} */ 10781 10782 /*! @name MCCR0 - Master Clock Configuration Register 0 */ 10783 /*! @{ */ 10784 #define LPI2C_MCCR0_CLKLO_MASK (0x3FU) 10785 #define LPI2C_MCCR0_CLKLO_SHIFT (0U) 10786 #define LPI2C_MCCR0_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKLO_SHIFT)) & LPI2C_MCCR0_CLKLO_MASK) 10787 #define LPI2C_MCCR0_CLKHI_MASK (0x3F00U) 10788 #define LPI2C_MCCR0_CLKHI_SHIFT (8U) 10789 #define LPI2C_MCCR0_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_CLKHI_SHIFT)) & LPI2C_MCCR0_CLKHI_MASK) 10790 #define LPI2C_MCCR0_SETHOLD_MASK (0x3F0000U) 10791 #define LPI2C_MCCR0_SETHOLD_SHIFT (16U) 10792 #define LPI2C_MCCR0_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_SETHOLD_SHIFT)) & LPI2C_MCCR0_SETHOLD_MASK) 10793 #define LPI2C_MCCR0_DATAVD_MASK (0x3F000000U) 10794 #define LPI2C_MCCR0_DATAVD_SHIFT (24U) 10795 #define LPI2C_MCCR0_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR0_DATAVD_SHIFT)) & LPI2C_MCCR0_DATAVD_MASK) 10796 /*! @} */ 10797 10798 /*! @name MCCR1 - Master Clock Configuration Register 1 */ 10799 /*! @{ */ 10800 #define LPI2C_MCCR1_CLKLO_MASK (0x3FU) 10801 #define LPI2C_MCCR1_CLKLO_SHIFT (0U) 10802 #define LPI2C_MCCR1_CLKLO(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKLO_SHIFT)) & LPI2C_MCCR1_CLKLO_MASK) 10803 #define LPI2C_MCCR1_CLKHI_MASK (0x3F00U) 10804 #define LPI2C_MCCR1_CLKHI_SHIFT (8U) 10805 #define LPI2C_MCCR1_CLKHI(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_CLKHI_SHIFT)) & LPI2C_MCCR1_CLKHI_MASK) 10806 #define LPI2C_MCCR1_SETHOLD_MASK (0x3F0000U) 10807 #define LPI2C_MCCR1_SETHOLD_SHIFT (16U) 10808 #define LPI2C_MCCR1_SETHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_SETHOLD_SHIFT)) & LPI2C_MCCR1_SETHOLD_MASK) 10809 #define LPI2C_MCCR1_DATAVD_MASK (0x3F000000U) 10810 #define LPI2C_MCCR1_DATAVD_SHIFT (24U) 10811 #define LPI2C_MCCR1_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MCCR1_DATAVD_SHIFT)) & LPI2C_MCCR1_DATAVD_MASK) 10812 /*! @} */ 10813 10814 /*! @name MFCR - Master FIFO Control Register */ 10815 /*! @{ */ 10816 #define LPI2C_MFCR_TXWATER_MASK (0x3U) 10817 #define LPI2C_MFCR_TXWATER_SHIFT (0U) 10818 #define LPI2C_MFCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_TXWATER_SHIFT)) & LPI2C_MFCR_TXWATER_MASK) 10819 #define LPI2C_MFCR_RXWATER_MASK (0x30000U) 10820 #define LPI2C_MFCR_RXWATER_SHIFT (16U) 10821 #define LPI2C_MFCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFCR_RXWATER_SHIFT)) & LPI2C_MFCR_RXWATER_MASK) 10822 /*! @} */ 10823 10824 /*! @name MFSR - Master FIFO Status Register */ 10825 /*! @{ */ 10826 #define LPI2C_MFSR_TXCOUNT_MASK (0x7U) 10827 #define LPI2C_MFSR_TXCOUNT_SHIFT (0U) 10828 #define LPI2C_MFSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_TXCOUNT_SHIFT)) & LPI2C_MFSR_TXCOUNT_MASK) 10829 #define LPI2C_MFSR_RXCOUNT_MASK (0x70000U) 10830 #define LPI2C_MFSR_RXCOUNT_SHIFT (16U) 10831 #define LPI2C_MFSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MFSR_RXCOUNT_SHIFT)) & LPI2C_MFSR_RXCOUNT_MASK) 10832 /*! @} */ 10833 10834 /*! @name MTDR - Master Transmit Data Register */ 10835 /*! @{ */ 10836 #define LPI2C_MTDR_DATA_MASK (0xFFU) 10837 #define LPI2C_MTDR_DATA_SHIFT (0U) 10838 #define LPI2C_MTDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_DATA_SHIFT)) & LPI2C_MTDR_DATA_MASK) 10839 #define LPI2C_MTDR_CMD_MASK (0x700U) 10840 #define LPI2C_MTDR_CMD_SHIFT (8U) 10841 /*! CMD - Command Data 10842 * 0b000..Transmit DATA[7:0] 10843 * 0b001..Receive (DATA[7:0] + 1) bytes 10844 * 0b010..Generate STOP condition 10845 * 0b011..Receive and discard (DATA[7:0] + 1) bytes 10846 * 0b100..Generate (repeated) START and transmit address in DATA[7:0] 10847 * 0b101..Generate (repeated) START and transmit address in DATA[7:0]. This transfer expects a NACK to be returned. 10848 * 0b110..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode 10849 * 0b111..Generate (repeated) START and transmit address in DATA[7:0] using high speed mode. This transfer expects a NACK to be returned. 10850 */ 10851 #define LPI2C_MTDR_CMD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MTDR_CMD_SHIFT)) & LPI2C_MTDR_CMD_MASK) 10852 /*! @} */ 10853 10854 /*! @name MRDR - Master Receive Data Register */ 10855 /*! @{ */ 10856 #define LPI2C_MRDR_DATA_MASK (0xFFU) 10857 #define LPI2C_MRDR_DATA_SHIFT (0U) 10858 #define LPI2C_MRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_DATA_SHIFT)) & LPI2C_MRDR_DATA_MASK) 10859 #define LPI2C_MRDR_RXEMPTY_MASK (0x4000U) 10860 #define LPI2C_MRDR_RXEMPTY_SHIFT (14U) 10861 /*! RXEMPTY - RX Empty 10862 * 0b0..Receive FIFO is not empty 10863 * 0b1..Receive FIFO is empty 10864 */ 10865 #define LPI2C_MRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_MRDR_RXEMPTY_SHIFT)) & LPI2C_MRDR_RXEMPTY_MASK) 10866 /*! @} */ 10867 10868 /*! @name SCR - Slave Control Register */ 10869 /*! @{ */ 10870 #define LPI2C_SCR_SEN_MASK (0x1U) 10871 #define LPI2C_SCR_SEN_SHIFT (0U) 10872 /*! SEN - Slave Enable 10873 * 0b0..I2C Slave mode is disabled 10874 * 0b1..I2C Slave mode is enabled 10875 */ 10876 #define LPI2C_SCR_SEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_SEN_SHIFT)) & LPI2C_SCR_SEN_MASK) 10877 #define LPI2C_SCR_RST_MASK (0x2U) 10878 #define LPI2C_SCR_RST_SHIFT (1U) 10879 /*! RST - Software Reset 10880 * 0b0..Slave mode logic is not reset 10881 * 0b1..Slave mode logic is reset 10882 */ 10883 #define LPI2C_SCR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RST_SHIFT)) & LPI2C_SCR_RST_MASK) 10884 #define LPI2C_SCR_FILTEN_MASK (0x10U) 10885 #define LPI2C_SCR_FILTEN_SHIFT (4U) 10886 /*! FILTEN - Filter Enable 10887 * 0b0..Disable digital filter and output delay counter for slave mode 10888 * 0b1..Enable digital filter and output delay counter for slave mode 10889 */ 10890 #define LPI2C_SCR_FILTEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTEN_SHIFT)) & LPI2C_SCR_FILTEN_MASK) 10891 #define LPI2C_SCR_FILTDZ_MASK (0x20U) 10892 #define LPI2C_SCR_FILTDZ_SHIFT (5U) 10893 /*! FILTDZ - Filter Doze Enable 10894 * 0b0..Filter remains enabled in Doze mode 10895 * 0b1..Filter is disabled in Doze mode 10896 */ 10897 #define LPI2C_SCR_FILTDZ(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_FILTDZ_SHIFT)) & LPI2C_SCR_FILTDZ_MASK) 10898 #define LPI2C_SCR_RTF_MASK (0x100U) 10899 #define LPI2C_SCR_RTF_SHIFT (8U) 10900 /*! RTF - Reset Transmit FIFO 10901 * 0b0..No effect 10902 * 0b1..Transmit Data Register is now empty 10903 */ 10904 #define LPI2C_SCR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RTF_SHIFT)) & LPI2C_SCR_RTF_MASK) 10905 #define LPI2C_SCR_RRF_MASK (0x200U) 10906 #define LPI2C_SCR_RRF_SHIFT (9U) 10907 /*! RRF - Reset Receive FIFO 10908 * 0b0..No effect 10909 * 0b1..Receive Data Register is now empty 10910 */ 10911 #define LPI2C_SCR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCR_RRF_SHIFT)) & LPI2C_SCR_RRF_MASK) 10912 /*! @} */ 10913 10914 /*! @name SSR - Slave Status Register */ 10915 /*! @{ */ 10916 #define LPI2C_SSR_TDF_MASK (0x1U) 10917 #define LPI2C_SSR_TDF_SHIFT (0U) 10918 /*! TDF - Transmit Data Flag 10919 * 0b0..Transmit data not requested 10920 * 0b1..Transmit data is requested 10921 */ 10922 #define LPI2C_SSR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TDF_SHIFT)) & LPI2C_SSR_TDF_MASK) 10923 #define LPI2C_SSR_RDF_MASK (0x2U) 10924 #define LPI2C_SSR_RDF_SHIFT (1U) 10925 /*! RDF - Receive Data Flag 10926 * 0b0..Receive data is not ready 10927 * 0b1..Receive data is ready 10928 */ 10929 #define LPI2C_SSR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RDF_SHIFT)) & LPI2C_SSR_RDF_MASK) 10930 #define LPI2C_SSR_AVF_MASK (0x4U) 10931 #define LPI2C_SSR_AVF_SHIFT (2U) 10932 /*! AVF - Address Valid Flag 10933 * 0b0..Address Status Register is not valid 10934 * 0b1..Address Status Register is valid 10935 */ 10936 #define LPI2C_SSR_AVF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AVF_SHIFT)) & LPI2C_SSR_AVF_MASK) 10937 #define LPI2C_SSR_TAF_MASK (0x8U) 10938 #define LPI2C_SSR_TAF_SHIFT (3U) 10939 /*! TAF - Transmit ACK Flag 10940 * 0b0..Transmit ACK/NACK is not required 10941 * 0b1..Transmit ACK/NACK is required 10942 */ 10943 #define LPI2C_SSR_TAF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_TAF_SHIFT)) & LPI2C_SSR_TAF_MASK) 10944 #define LPI2C_SSR_RSF_MASK (0x100U) 10945 #define LPI2C_SSR_RSF_SHIFT (8U) 10946 /*! RSF - Repeated Start Flag 10947 * 0b0..Slave has not detected a Repeated START condition 10948 * 0b1..Slave has detected a Repeated START condition 10949 */ 10950 #define LPI2C_SSR_RSF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_RSF_SHIFT)) & LPI2C_SSR_RSF_MASK) 10951 #define LPI2C_SSR_SDF_MASK (0x200U) 10952 #define LPI2C_SSR_SDF_SHIFT (9U) 10953 /*! SDF - STOP Detect Flag 10954 * 0b0..Slave has not detected a STOP condition 10955 * 0b1..Slave has detected a STOP condition 10956 */ 10957 #define LPI2C_SSR_SDF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SDF_SHIFT)) & LPI2C_SSR_SDF_MASK) 10958 #define LPI2C_SSR_BEF_MASK (0x400U) 10959 #define LPI2C_SSR_BEF_SHIFT (10U) 10960 /*! BEF - Bit Error Flag 10961 * 0b0..Slave has not detected a bit error 10962 * 0b1..Slave has detected a bit error 10963 */ 10964 #define LPI2C_SSR_BEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BEF_SHIFT)) & LPI2C_SSR_BEF_MASK) 10965 #define LPI2C_SSR_FEF_MASK (0x800U) 10966 #define LPI2C_SSR_FEF_SHIFT (11U) 10967 /*! FEF - FIFO Error Flag 10968 * 0b0..FIFO underflow or overflow was not detected 10969 * 0b1..FIFO underflow or overflow was detected 10970 */ 10971 #define LPI2C_SSR_FEF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_FEF_SHIFT)) & LPI2C_SSR_FEF_MASK) 10972 #define LPI2C_SSR_AM0F_MASK (0x1000U) 10973 #define LPI2C_SSR_AM0F_SHIFT (12U) 10974 /*! AM0F - Address Match 0 Flag 10975 * 0b0..Have not received an ADDR0 matching address 10976 * 0b1..Have received an ADDR0 matching address 10977 */ 10978 #define LPI2C_SSR_AM0F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM0F_SHIFT)) & LPI2C_SSR_AM0F_MASK) 10979 #define LPI2C_SSR_AM1F_MASK (0x2000U) 10980 #define LPI2C_SSR_AM1F_SHIFT (13U) 10981 /*! AM1F - Address Match 1 Flag 10982 * 0b0..Have not received an ADDR1 or ADDR0/ADDR1 range matching address 10983 * 0b1..Have received an ADDR1 or ADDR0/ADDR1 range matching address 10984 */ 10985 #define LPI2C_SSR_AM1F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_AM1F_SHIFT)) & LPI2C_SSR_AM1F_MASK) 10986 #define LPI2C_SSR_GCF_MASK (0x4000U) 10987 #define LPI2C_SSR_GCF_SHIFT (14U) 10988 /*! GCF - General Call Flag 10989 * 0b0..Slave has not detected the General Call Address or the General Call Address is disabled 10990 * 0b1..Slave has detected the General Call Address 10991 */ 10992 #define LPI2C_SSR_GCF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_GCF_SHIFT)) & LPI2C_SSR_GCF_MASK) 10993 #define LPI2C_SSR_SARF_MASK (0x8000U) 10994 #define LPI2C_SSR_SARF_SHIFT (15U) 10995 /*! SARF - SMBus Alert Response Flag 10996 * 0b0..SMBus Alert Response is disabled or not detected 10997 * 0b1..SMBus Alert Response is enabled and detected 10998 */ 10999 #define LPI2C_SSR_SARF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SARF_SHIFT)) & LPI2C_SSR_SARF_MASK) 11000 #define LPI2C_SSR_SBF_MASK (0x1000000U) 11001 #define LPI2C_SSR_SBF_SHIFT (24U) 11002 /*! SBF - Slave Busy Flag 11003 * 0b0..I2C Slave is idle 11004 * 0b1..I2C Slave is busy 11005 */ 11006 #define LPI2C_SSR_SBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_SBF_SHIFT)) & LPI2C_SSR_SBF_MASK) 11007 #define LPI2C_SSR_BBF_MASK (0x2000000U) 11008 #define LPI2C_SSR_BBF_SHIFT (25U) 11009 /*! BBF - Bus Busy Flag 11010 * 0b0..I2C Bus is idle 11011 * 0b1..I2C Bus is busy 11012 */ 11013 #define LPI2C_SSR_BBF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SSR_BBF_SHIFT)) & LPI2C_SSR_BBF_MASK) 11014 /*! @} */ 11015 11016 /*! @name SIER - Slave Interrupt Enable Register */ 11017 /*! @{ */ 11018 #define LPI2C_SIER_TDIE_MASK (0x1U) 11019 #define LPI2C_SIER_TDIE_SHIFT (0U) 11020 /*! TDIE - Transmit Data Interrupt Enable 11021 * 0b0..Disabled 11022 * 0b1..Enabled 11023 */ 11024 #define LPI2C_SIER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TDIE_SHIFT)) & LPI2C_SIER_TDIE_MASK) 11025 #define LPI2C_SIER_RDIE_MASK (0x2U) 11026 #define LPI2C_SIER_RDIE_SHIFT (1U) 11027 /*! RDIE - Receive Data Interrupt Enable 11028 * 0b0..Disabled 11029 * 0b1..Enabled 11030 */ 11031 #define LPI2C_SIER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RDIE_SHIFT)) & LPI2C_SIER_RDIE_MASK) 11032 #define LPI2C_SIER_AVIE_MASK (0x4U) 11033 #define LPI2C_SIER_AVIE_SHIFT (2U) 11034 /*! AVIE - Address Valid Interrupt Enable 11035 * 0b0..Disabled 11036 * 0b1..Enabled 11037 */ 11038 #define LPI2C_SIER_AVIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AVIE_SHIFT)) & LPI2C_SIER_AVIE_MASK) 11039 #define LPI2C_SIER_TAIE_MASK (0x8U) 11040 #define LPI2C_SIER_TAIE_SHIFT (3U) 11041 /*! TAIE - Transmit ACK Interrupt Enable 11042 * 0b0..Disabled 11043 * 0b1..Enabled 11044 */ 11045 #define LPI2C_SIER_TAIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_TAIE_SHIFT)) & LPI2C_SIER_TAIE_MASK) 11046 #define LPI2C_SIER_RSIE_MASK (0x100U) 11047 #define LPI2C_SIER_RSIE_SHIFT (8U) 11048 /*! RSIE - Repeated Start Interrupt Enable 11049 * 0b0..Disabled 11050 * 0b1..Enabled 11051 */ 11052 #define LPI2C_SIER_RSIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_RSIE_SHIFT)) & LPI2C_SIER_RSIE_MASK) 11053 #define LPI2C_SIER_SDIE_MASK (0x200U) 11054 #define LPI2C_SIER_SDIE_SHIFT (9U) 11055 /*! SDIE - STOP Detect Interrupt Enable 11056 * 0b0..Disabled 11057 * 0b1..Enabled 11058 */ 11059 #define LPI2C_SIER_SDIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SDIE_SHIFT)) & LPI2C_SIER_SDIE_MASK) 11060 #define LPI2C_SIER_BEIE_MASK (0x400U) 11061 #define LPI2C_SIER_BEIE_SHIFT (10U) 11062 /*! BEIE - Bit Error Interrupt Enable 11063 * 0b0..Disabled 11064 * 0b1..Enabled 11065 */ 11066 #define LPI2C_SIER_BEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_BEIE_SHIFT)) & LPI2C_SIER_BEIE_MASK) 11067 #define LPI2C_SIER_FEIE_MASK (0x800U) 11068 #define LPI2C_SIER_FEIE_SHIFT (11U) 11069 /*! FEIE - FIFO Error Interrupt Enable 11070 * 0b0..Disabled 11071 * 0b1..Enabled 11072 */ 11073 #define LPI2C_SIER_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_FEIE_SHIFT)) & LPI2C_SIER_FEIE_MASK) 11074 #define LPI2C_SIER_AM0IE_MASK (0x1000U) 11075 #define LPI2C_SIER_AM0IE_SHIFT (12U) 11076 /*! AM0IE - Address Match 0 Interrupt Enable 11077 * 0b0..Enabled 11078 * 0b1..Disabled 11079 */ 11080 #define LPI2C_SIER_AM0IE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM0IE_SHIFT)) & LPI2C_SIER_AM0IE_MASK) 11081 #define LPI2C_SIER_AM1F_MASK (0x2000U) 11082 #define LPI2C_SIER_AM1F_SHIFT (13U) 11083 /*! AM1F - Address Match 1 Interrupt Enable 11084 * 0b0..Disabled 11085 * 0b1..Enabled 11086 */ 11087 #define LPI2C_SIER_AM1F(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_AM1F_SHIFT)) & LPI2C_SIER_AM1F_MASK) 11088 #define LPI2C_SIER_GCIE_MASK (0x4000U) 11089 #define LPI2C_SIER_GCIE_SHIFT (14U) 11090 /*! GCIE - General Call Interrupt Enable 11091 * 0b0..Disabled 11092 * 0b1..Enabled 11093 */ 11094 #define LPI2C_SIER_GCIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_GCIE_SHIFT)) & LPI2C_SIER_GCIE_MASK) 11095 #define LPI2C_SIER_SARIE_MASK (0x8000U) 11096 #define LPI2C_SIER_SARIE_SHIFT (15U) 11097 /*! SARIE - SMBus Alert Response Interrupt Enable 11098 * 0b0..Disabled 11099 * 0b1..Enabled 11100 */ 11101 #define LPI2C_SIER_SARIE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SIER_SARIE_SHIFT)) & LPI2C_SIER_SARIE_MASK) 11102 /*! @} */ 11103 11104 /*! @name SDER - Slave DMA Enable Register */ 11105 /*! @{ */ 11106 #define LPI2C_SDER_TDDE_MASK (0x1U) 11107 #define LPI2C_SDER_TDDE_SHIFT (0U) 11108 /*! TDDE - Transmit Data DMA Enable 11109 * 0b0..DMA request is disabled 11110 * 0b1..DMA request is enabled 11111 */ 11112 #define LPI2C_SDER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_TDDE_SHIFT)) & LPI2C_SDER_TDDE_MASK) 11113 #define LPI2C_SDER_RDDE_MASK (0x2U) 11114 #define LPI2C_SDER_RDDE_SHIFT (1U) 11115 /*! RDDE - Receive Data DMA Enable 11116 * 0b0..DMA request is disabled 11117 * 0b1..DMA request is enabled 11118 */ 11119 #define LPI2C_SDER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_RDDE_SHIFT)) & LPI2C_SDER_RDDE_MASK) 11120 #define LPI2C_SDER_AVDE_MASK (0x4U) 11121 #define LPI2C_SDER_AVDE_SHIFT (2U) 11122 /*! AVDE - Address Valid DMA Enable 11123 * 0b0..DMA request is disabled 11124 * 0b1..DMA request is enabled 11125 */ 11126 #define LPI2C_SDER_AVDE(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SDER_AVDE_SHIFT)) & LPI2C_SDER_AVDE_MASK) 11127 /*! @} */ 11128 11129 /*! @name SCFGR1 - Slave Configuration Register 1 */ 11130 /*! @{ */ 11131 #define LPI2C_SCFGR1_ADRSTALL_MASK (0x1U) 11132 #define LPI2C_SCFGR1_ADRSTALL_SHIFT (0U) 11133 /*! ADRSTALL - Address SCL Stall 11134 * 0b0..Clock stretching is disabled 11135 * 0b1..Clock stretching is enabled 11136 */ 11137 #define LPI2C_SCFGR1_ADRSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADRSTALL_SHIFT)) & LPI2C_SCFGR1_ADRSTALL_MASK) 11138 #define LPI2C_SCFGR1_RXSTALL_MASK (0x2U) 11139 #define LPI2C_SCFGR1_RXSTALL_SHIFT (1U) 11140 /*! RXSTALL - RX SCL Stall 11141 * 0b0..Clock stretching is disabled 11142 * 0b1..Clock stretching is enabled 11143 */ 11144 #define LPI2C_SCFGR1_RXSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXSTALL_SHIFT)) & LPI2C_SCFGR1_RXSTALL_MASK) 11145 #define LPI2C_SCFGR1_TXDSTALL_MASK (0x4U) 11146 #define LPI2C_SCFGR1_TXDSTALL_SHIFT (2U) 11147 /*! TXDSTALL - TX Data SCL Stall 11148 * 0b0..Clock stretching is disabled 11149 * 0b1..Clock stretching is enabled 11150 */ 11151 #define LPI2C_SCFGR1_TXDSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXDSTALL_SHIFT)) & LPI2C_SCFGR1_TXDSTALL_MASK) 11152 #define LPI2C_SCFGR1_ACKSTALL_MASK (0x8U) 11153 #define LPI2C_SCFGR1_ACKSTALL_SHIFT (3U) 11154 /*! ACKSTALL - ACK SCL Stall 11155 * 0b0..Clock stretching is disabled 11156 * 0b1..Clock stretching is enabled 11157 */ 11158 #define LPI2C_SCFGR1_ACKSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ACKSTALL_SHIFT)) & LPI2C_SCFGR1_ACKSTALL_MASK) 11159 #define LPI2C_SCFGR1_GCEN_MASK (0x100U) 11160 #define LPI2C_SCFGR1_GCEN_SHIFT (8U) 11161 /*! GCEN - General Call Enable 11162 * 0b0..General Call address is disabled 11163 * 0b1..General Call address is enabled 11164 */ 11165 #define LPI2C_SCFGR1_GCEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_GCEN_SHIFT)) & LPI2C_SCFGR1_GCEN_MASK) 11166 #define LPI2C_SCFGR1_SAEN_MASK (0x200U) 11167 #define LPI2C_SCFGR1_SAEN_SHIFT (9U) 11168 /*! SAEN - SMBus Alert Enable 11169 * 0b0..Disables match on SMBus Alert 11170 * 0b1..Enables match on SMBus Alert 11171 */ 11172 #define LPI2C_SCFGR1_SAEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_SAEN_SHIFT)) & LPI2C_SCFGR1_SAEN_MASK) 11173 #define LPI2C_SCFGR1_TXCFG_MASK (0x400U) 11174 #define LPI2C_SCFGR1_TXCFG_SHIFT (10U) 11175 /*! TXCFG - Transmit Flag Configuration 11176 * 0b0..Transmit Data Flag will only assert during a slave-transmit transfer when the Transmit Data register is empty 11177 * 0b1..Transmit Data Flag will assert whenever the Transmit Data register is empty 11178 */ 11179 #define LPI2C_SCFGR1_TXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_TXCFG_SHIFT)) & LPI2C_SCFGR1_TXCFG_MASK) 11180 #define LPI2C_SCFGR1_RXCFG_MASK (0x800U) 11181 #define LPI2C_SCFGR1_RXCFG_SHIFT (11U) 11182 /*! RXCFG - Receive Data Configuration 11183 * 0b0..Reading the Receive Data register will return received data and clear the Receive Data flag (MSR[RDF]). 11184 * 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]). 11185 */ 11186 #define LPI2C_SCFGR1_RXCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_RXCFG_SHIFT)) & LPI2C_SCFGR1_RXCFG_MASK) 11187 #define LPI2C_SCFGR1_IGNACK_MASK (0x1000U) 11188 #define LPI2C_SCFGR1_IGNACK_SHIFT (12U) 11189 /*! IGNACK - Ignore NACK 11190 * 0b0..Slave will end transfer when NACK is detected 11191 * 0b1..Slave will not end transfer when NACK detected 11192 */ 11193 #define LPI2C_SCFGR1_IGNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_IGNACK_SHIFT)) & LPI2C_SCFGR1_IGNACK_MASK) 11194 #define LPI2C_SCFGR1_HSMEN_MASK (0x2000U) 11195 #define LPI2C_SCFGR1_HSMEN_SHIFT (13U) 11196 /*! HSMEN - High Speed Mode Enable 11197 * 0b0..Disables detection of HS-mode master code 11198 * 0b1..Enables detection of HS-mode master code 11199 */ 11200 #define LPI2C_SCFGR1_HSMEN(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_HSMEN_SHIFT)) & LPI2C_SCFGR1_HSMEN_MASK) 11201 #define LPI2C_SCFGR1_ADDRCFG_MASK (0x70000U) 11202 #define LPI2C_SCFGR1_ADDRCFG_SHIFT (16U) 11203 /*! ADDRCFG - Address Configuration 11204 * 0b000..Address match 0 (7-bit) 11205 * 0b001..Address match 0 (10-bit) 11206 * 0b010..Address match 0 (7-bit) or Address match 1 (7-bit) 11207 * 0b011..Address match 0 (10-bit) or Address match 1 (10-bit) 11208 * 0b100..Address match 0 (7-bit) or Address match 1 (10-bit) 11209 * 0b101..Address match 0 (10-bit) or Address match 1 (7-bit) 11210 * 0b110..From Address match 0 (7-bit) to Address match 1 (7-bit) 11211 * 0b111..From Address match 0 (10-bit) to Address match 1 (10-bit) 11212 */ 11213 #define LPI2C_SCFGR1_ADDRCFG(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR1_ADDRCFG_SHIFT)) & LPI2C_SCFGR1_ADDRCFG_MASK) 11214 /*! @} */ 11215 11216 /*! @name SCFGR2 - Slave Configuration Register 2 */ 11217 /*! @{ */ 11218 #define LPI2C_SCFGR2_CLKHOLD_MASK (0xFU) 11219 #define LPI2C_SCFGR2_CLKHOLD_SHIFT (0U) 11220 #define LPI2C_SCFGR2_CLKHOLD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_CLKHOLD_SHIFT)) & LPI2C_SCFGR2_CLKHOLD_MASK) 11221 #define LPI2C_SCFGR2_DATAVD_MASK (0x3F00U) 11222 #define LPI2C_SCFGR2_DATAVD_SHIFT (8U) 11223 #define LPI2C_SCFGR2_DATAVD(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_DATAVD_SHIFT)) & LPI2C_SCFGR2_DATAVD_MASK) 11224 #define LPI2C_SCFGR2_FILTSCL_MASK (0xF0000U) 11225 #define LPI2C_SCFGR2_FILTSCL_SHIFT (16U) 11226 #define LPI2C_SCFGR2_FILTSCL(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSCL_SHIFT)) & LPI2C_SCFGR2_FILTSCL_MASK) 11227 #define LPI2C_SCFGR2_FILTSDA_MASK (0xF000000U) 11228 #define LPI2C_SCFGR2_FILTSDA_SHIFT (24U) 11229 #define LPI2C_SCFGR2_FILTSDA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SCFGR2_FILTSDA_SHIFT)) & LPI2C_SCFGR2_FILTSDA_MASK) 11230 /*! @} */ 11231 11232 /*! @name SAMR - Slave Address Match Register */ 11233 /*! @{ */ 11234 #define LPI2C_SAMR_ADDR0_MASK (0x7FEU) 11235 #define LPI2C_SAMR_ADDR0_SHIFT (1U) 11236 #define LPI2C_SAMR_ADDR0(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR0_SHIFT)) & LPI2C_SAMR_ADDR0_MASK) 11237 #define LPI2C_SAMR_ADDR1_MASK (0x7FE0000U) 11238 #define LPI2C_SAMR_ADDR1_SHIFT (17U) 11239 #define LPI2C_SAMR_ADDR1(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SAMR_ADDR1_SHIFT)) & LPI2C_SAMR_ADDR1_MASK) 11240 /*! @} */ 11241 11242 /*! @name SASR - Slave Address Status Register */ 11243 /*! @{ */ 11244 #define LPI2C_SASR_RADDR_MASK (0x7FFU) 11245 #define LPI2C_SASR_RADDR_SHIFT (0U) 11246 #define LPI2C_SASR_RADDR(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_RADDR_SHIFT)) & LPI2C_SASR_RADDR_MASK) 11247 #define LPI2C_SASR_ANV_MASK (0x4000U) 11248 #define LPI2C_SASR_ANV_SHIFT (14U) 11249 /*! ANV - Address Not Valid 11250 * 0b0..Received Address (RADDR) is valid 11251 * 0b1..Received Address (RADDR) is not valid 11252 */ 11253 #define LPI2C_SASR_ANV(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SASR_ANV_SHIFT)) & LPI2C_SASR_ANV_MASK) 11254 /*! @} */ 11255 11256 /*! @name STAR - Slave Transmit ACK Register */ 11257 /*! @{ */ 11258 #define LPI2C_STAR_TXNACK_MASK (0x1U) 11259 #define LPI2C_STAR_TXNACK_SHIFT (0U) 11260 /*! TXNACK - Transmit NACK 11261 * 0b0..Write a Transmit ACK for each received word 11262 * 0b1..Write a Transmit NACK for each received word 11263 */ 11264 #define LPI2C_STAR_TXNACK(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STAR_TXNACK_SHIFT)) & LPI2C_STAR_TXNACK_MASK) 11265 /*! @} */ 11266 11267 /*! @name STDR - Slave Transmit Data Register */ 11268 /*! @{ */ 11269 #define LPI2C_STDR_DATA_MASK (0xFFU) 11270 #define LPI2C_STDR_DATA_SHIFT (0U) 11271 #define LPI2C_STDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_STDR_DATA_SHIFT)) & LPI2C_STDR_DATA_MASK) 11272 /*! @} */ 11273 11274 /*! @name SRDR - Slave Receive Data Register */ 11275 /*! @{ */ 11276 #define LPI2C_SRDR_DATA_MASK (0xFFU) 11277 #define LPI2C_SRDR_DATA_SHIFT (0U) 11278 #define LPI2C_SRDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_DATA_SHIFT)) & LPI2C_SRDR_DATA_MASK) 11279 #define LPI2C_SRDR_RXEMPTY_MASK (0x4000U) 11280 #define LPI2C_SRDR_RXEMPTY_SHIFT (14U) 11281 /*! RXEMPTY - RX Empty 11282 * 0b0..The Receive Data Register is not empty 11283 * 0b1..The Receive Data Register is empty 11284 */ 11285 #define LPI2C_SRDR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_RXEMPTY_SHIFT)) & LPI2C_SRDR_RXEMPTY_MASK) 11286 #define LPI2C_SRDR_SOF_MASK (0x8000U) 11287 #define LPI2C_SRDR_SOF_SHIFT (15U) 11288 /*! SOF - Start Of Frame 11289 * 0b0..Indicates this is not the first data word since a (repeated) START or STOP condition 11290 * 0b1..Indicates this is the first data word since a (repeated) START or STOP condition 11291 */ 11292 #define LPI2C_SRDR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPI2C_SRDR_SOF_SHIFT)) & LPI2C_SRDR_SOF_MASK) 11293 /*! @} */ 11294 11295 11296 /*! 11297 * @} 11298 */ /* end of group LPI2C_Register_Masks */ 11299 11300 11301 /* LPI2C - Peripheral instance base addresses */ 11302 /** Peripheral LPI2C0 base address */ 11303 #define LPI2C0_BASE (0x4003A000u) 11304 /** Peripheral LPI2C0 base pointer */ 11305 #define LPI2C0 ((LPI2C_Type *)LPI2C0_BASE) 11306 /** Peripheral LPI2C1 base address */ 11307 #define LPI2C1_BASE (0x4003B000u) 11308 /** Peripheral LPI2C1 base pointer */ 11309 #define LPI2C1 ((LPI2C_Type *)LPI2C1_BASE) 11310 /** Peripheral LPI2C2 base address */ 11311 #define LPI2C2_BASE (0x4003C000u) 11312 /** Peripheral LPI2C2 base pointer */ 11313 #define LPI2C2 ((LPI2C_Type *)LPI2C2_BASE) 11314 /** Peripheral LPI2C3 base address */ 11315 #define LPI2C3_BASE (0x4102E000u) 11316 /** Peripheral LPI2C3 base pointer */ 11317 #define LPI2C3 ((LPI2C_Type *)LPI2C3_BASE) 11318 /** Array initializer of LPI2C peripheral base addresses */ 11319 #define LPI2C_BASE_ADDRS { LPI2C0_BASE, LPI2C1_BASE, LPI2C2_BASE, LPI2C3_BASE } 11320 /** Array initializer of LPI2C peripheral base pointers */ 11321 #define LPI2C_BASE_PTRS { LPI2C0, LPI2C1, LPI2C2, LPI2C3 } 11322 /** Interrupt vectors for the LPI2C peripheral type */ 11323 #define LPI2C_IRQS { LPI2C0_IRQn, LPI2C1_IRQn, LPI2C2_IRQn, LPI2C3_IRQn } 11324 11325 /*! 11326 * @} 11327 */ /* end of group LPI2C_Peripheral_Access_Layer */ 11328 11329 11330 /* ---------------------------------------------------------------------------- 11331 -- LPIT Peripheral Access Layer 11332 ---------------------------------------------------------------------------- */ 11333 11334 /*! 11335 * @addtogroup LPIT_Peripheral_Access_Layer LPIT Peripheral Access Layer 11336 * @{ 11337 */ 11338 11339 /** LPIT - Register Layout Typedef */ 11340 typedef struct { 11341 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 11342 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 11343 __IO uint32_t MCR; /**< Module Control Register, offset: 0x8 */ 11344 __IO uint32_t MSR; /**< Module Status Register, offset: 0xC */ 11345 __IO uint32_t MIER; /**< Module Interrupt Enable Register, offset: 0x10 */ 11346 __IO uint32_t SETTEN; /**< Set Timer Enable Register, offset: 0x14 */ 11347 __O uint32_t CLRTEN; /**< Clear Timer Enable Register, offset: 0x18 */ 11348 uint8_t RESERVED_0[4]; 11349 struct { /* offset: 0x20, array step: 0x10 */ 11350 __IO uint32_t TVAL; /**< Timer Value Register, array offset: 0x20, array step: 0x10 */ 11351 __I uint32_t CVAL; /**< Current Timer Value, array offset: 0x24, array step: 0x10 */ 11352 __IO uint32_t TCTRL; /**< Timer Control Register, array offset: 0x28, array step: 0x10 */ 11353 uint8_t RESERVED_0[4]; 11354 } CHANNEL[4]; 11355 } LPIT_Type; 11356 11357 /* ---------------------------------------------------------------------------- 11358 -- LPIT Register Masks 11359 ---------------------------------------------------------------------------- */ 11360 11361 /*! 11362 * @addtogroup LPIT_Register_Masks LPIT Register Masks 11363 * @{ 11364 */ 11365 11366 /*! @name VERID - Version ID Register */ 11367 /*! @{ */ 11368 #define LPIT_VERID_FEATURE_MASK (0xFFFFU) 11369 #define LPIT_VERID_FEATURE_SHIFT (0U) 11370 #define LPIT_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPIT_VERID_FEATURE_SHIFT)) & LPIT_VERID_FEATURE_MASK) 11371 #define LPIT_VERID_MINOR_MASK (0xFF0000U) 11372 #define LPIT_VERID_MINOR_SHIFT (16U) 11373 #define LPIT_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPIT_VERID_MINOR_SHIFT)) & LPIT_VERID_MINOR_MASK) 11374 #define LPIT_VERID_MAJOR_MASK (0xFF000000U) 11375 #define LPIT_VERID_MAJOR_SHIFT (24U) 11376 #define LPIT_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPIT_VERID_MAJOR_SHIFT)) & LPIT_VERID_MAJOR_MASK) 11377 /*! @} */ 11378 11379 /*! @name PARAM - Parameter Register */ 11380 /*! @{ */ 11381 #define LPIT_PARAM_CHANNEL_MASK (0xFFU) 11382 #define LPIT_PARAM_CHANNEL_SHIFT (0U) 11383 #define LPIT_PARAM_CHANNEL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_PARAM_CHANNEL_SHIFT)) & LPIT_PARAM_CHANNEL_MASK) 11384 #define LPIT_PARAM_EXT_TRIG_MASK (0xFF00U) 11385 #define LPIT_PARAM_EXT_TRIG_SHIFT (8U) 11386 #define LPIT_PARAM_EXT_TRIG(x) (((uint32_t)(((uint32_t)(x)) << LPIT_PARAM_EXT_TRIG_SHIFT)) & LPIT_PARAM_EXT_TRIG_MASK) 11387 /*! @} */ 11388 11389 /*! @name MCR - Module Control Register */ 11390 /*! @{ */ 11391 #define LPIT_MCR_M_CEN_MASK (0x1U) 11392 #define LPIT_MCR_M_CEN_SHIFT (0U) 11393 /*! M_CEN - Module Clock Enable 11394 * 0b0..Disable peripheral clock to timers 11395 * 0b1..Enable peripheral clock to timers 11396 */ 11397 #define LPIT_MCR_M_CEN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_M_CEN_SHIFT)) & LPIT_MCR_M_CEN_MASK) 11398 #define LPIT_MCR_SW_RST_MASK (0x2U) 11399 #define LPIT_MCR_SW_RST_SHIFT (1U) 11400 /*! SW_RST - Software Reset Bit 11401 * 0b0..Timer channels and registers are not reset 11402 * 0b1..Reset timer channels and registers 11403 */ 11404 #define LPIT_MCR_SW_RST(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_SW_RST_SHIFT)) & LPIT_MCR_SW_RST_MASK) 11405 #define LPIT_MCR_DOZE_EN_MASK (0x4U) 11406 #define LPIT_MCR_DOZE_EN_SHIFT (2U) 11407 /*! DOZE_EN - DOZE Mode Enable Bit 11408 * 0b0..Stop timer channels in DOZE mode 11409 * 0b1..Allow timer channels to continue to run in DOZE mode 11410 */ 11411 #define LPIT_MCR_DOZE_EN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_DOZE_EN_SHIFT)) & LPIT_MCR_DOZE_EN_MASK) 11412 #define LPIT_MCR_DBG_EN_MASK (0x8U) 11413 #define LPIT_MCR_DBG_EN_SHIFT (3U) 11414 /*! DBG_EN - Debug Enable Bit 11415 * 0b0..Stop timer channels in Debug mode 11416 * 0b1..Allow timer channels to continue to run in Debug mode 11417 */ 11418 #define LPIT_MCR_DBG_EN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MCR_DBG_EN_SHIFT)) & LPIT_MCR_DBG_EN_MASK) 11419 /*! @} */ 11420 11421 /*! @name MSR - Module Status Register */ 11422 /*! @{ */ 11423 #define LPIT_MSR_TIF0_MASK (0x1U) 11424 #define LPIT_MSR_TIF0_SHIFT (0U) 11425 /*! TIF0 - Channel 0 Timer Interrupt Flag 11426 * 0b0..Timer has not timed out 11427 * 0b1..Timeout has occurred (timer has timed out) 11428 */ 11429 #define LPIT_MSR_TIF0(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF0_SHIFT)) & LPIT_MSR_TIF0_MASK) 11430 #define LPIT_MSR_TIF1_MASK (0x2U) 11431 #define LPIT_MSR_TIF1_SHIFT (1U) 11432 /*! TIF1 - Channel 1 Timer Interrupt Flag 11433 * 0b0..Timer has not timed out 11434 * 0b1..Timeout has occurred (timer has timed out) 11435 */ 11436 #define LPIT_MSR_TIF1(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF1_SHIFT)) & LPIT_MSR_TIF1_MASK) 11437 #define LPIT_MSR_TIF2_MASK (0x4U) 11438 #define LPIT_MSR_TIF2_SHIFT (2U) 11439 /*! TIF2 - Channel 2 Timer Interrupt Flag 11440 * 0b0..Timer has not timed out 11441 * 0b1..Timeout has occurred (timer has timed out) 11442 */ 11443 #define LPIT_MSR_TIF2(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF2_SHIFT)) & LPIT_MSR_TIF2_MASK) 11444 #define LPIT_MSR_TIF3_MASK (0x8U) 11445 #define LPIT_MSR_TIF3_SHIFT (3U) 11446 /*! TIF3 - Channel 3 Timer Interrupt Flag 11447 * 0b0..Timer has not timed out 11448 * 0b1..Timeout has occurred (timer has timed out) 11449 */ 11450 #define LPIT_MSR_TIF3(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MSR_TIF3_SHIFT)) & LPIT_MSR_TIF3_MASK) 11451 /*! @} */ 11452 11453 /*! @name MIER - Module Interrupt Enable Register */ 11454 /*! @{ */ 11455 #define LPIT_MIER_TIE0_MASK (0x1U) 11456 #define LPIT_MIER_TIE0_SHIFT (0U) 11457 /*! TIE0 - Channel 0 Timer Interrupt Enable 11458 * 0b0..Disabled 11459 * 0b1..Enabled 11460 */ 11461 #define LPIT_MIER_TIE0(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE0_SHIFT)) & LPIT_MIER_TIE0_MASK) 11462 #define LPIT_MIER_TIE1_MASK (0x2U) 11463 #define LPIT_MIER_TIE1_SHIFT (1U) 11464 /*! TIE1 - Channel 1 Timer Interrupt Enable 11465 * 0b0..Disabled 11466 * 0b1..Enabled 11467 */ 11468 #define LPIT_MIER_TIE1(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE1_SHIFT)) & LPIT_MIER_TIE1_MASK) 11469 #define LPIT_MIER_TIE2_MASK (0x4U) 11470 #define LPIT_MIER_TIE2_SHIFT (2U) 11471 /*! TIE2 - Channel 2 Timer Interrupt Enable 11472 * 0b0..Disabled 11473 * 0b1..Enabled 11474 */ 11475 #define LPIT_MIER_TIE2(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE2_SHIFT)) & LPIT_MIER_TIE2_MASK) 11476 #define LPIT_MIER_TIE3_MASK (0x8U) 11477 #define LPIT_MIER_TIE3_SHIFT (3U) 11478 /*! TIE3 - Channel 3 Timer Interrupt Enable 11479 * 0b0..Disabled 11480 * 0b1..Enabled 11481 */ 11482 #define LPIT_MIER_TIE3(x) (((uint32_t)(((uint32_t)(x)) << LPIT_MIER_TIE3_SHIFT)) & LPIT_MIER_TIE3_MASK) 11483 /*! @} */ 11484 11485 /*! @name SETTEN - Set Timer Enable Register */ 11486 /*! @{ */ 11487 #define LPIT_SETTEN_SET_T_EN_0_MASK (0x1U) 11488 #define LPIT_SETTEN_SET_T_EN_0_SHIFT (0U) 11489 /*! SET_T_EN_0 - Set Timer 0 Enable 11490 * 0b0..No effect 11491 * 0b1..Enables Timer Channel 0 11492 */ 11493 #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) 11494 #define LPIT_SETTEN_SET_T_EN_1_MASK (0x2U) 11495 #define LPIT_SETTEN_SET_T_EN_1_SHIFT (1U) 11496 /*! SET_T_EN_1 - Set Timer 1 Enable 11497 * 0b0..No Effect 11498 * 0b1..Enables Timer Channel 1 11499 */ 11500 #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) 11501 #define LPIT_SETTEN_SET_T_EN_2_MASK (0x4U) 11502 #define LPIT_SETTEN_SET_T_EN_2_SHIFT (2U) 11503 /*! SET_T_EN_2 - Set Timer 2 Enable 11504 * 0b0..No Effect 11505 * 0b1..Enables Timer Channel 2 11506 */ 11507 #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) 11508 #define LPIT_SETTEN_SET_T_EN_3_MASK (0x8U) 11509 #define LPIT_SETTEN_SET_T_EN_3_SHIFT (3U) 11510 /*! SET_T_EN_3 - Set Timer 3 Enable 11511 * 0b0..No effect 11512 * 0b1..Enables Timer Channel 3 11513 */ 11514 #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) 11515 /*! @} */ 11516 11517 /*! @name CLRTEN - Clear Timer Enable Register */ 11518 /*! @{ */ 11519 #define LPIT_CLRTEN_CLR_T_EN_0_MASK (0x1U) 11520 #define LPIT_CLRTEN_CLR_T_EN_0_SHIFT (0U) 11521 /*! CLR_T_EN_0 - Clear Timer 0 Enable 11522 * 0b0..No action 11523 * 0b1..Clear the Timer Enable bit (TCTRL0[T_EN]) for Timer Channel 0 11524 */ 11525 #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) 11526 #define LPIT_CLRTEN_CLR_T_EN_1_MASK (0x2U) 11527 #define LPIT_CLRTEN_CLR_T_EN_1_SHIFT (1U) 11528 /*! CLR_T_EN_1 - Clear Timer 1 Enable 11529 * 0b0..No Action 11530 * 0b1..Clear the Timer Enable bit (TCTRL1[T_EN]) for Timer Channel 1 11531 */ 11532 #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) 11533 #define LPIT_CLRTEN_CLR_T_EN_2_MASK (0x4U) 11534 #define LPIT_CLRTEN_CLR_T_EN_2_SHIFT (2U) 11535 /*! CLR_T_EN_2 - Clear Timer 2 Enable 11536 * 0b0..No Action 11537 * 0b1..Clear the Timer Enable bit (TCTRL2[T_EN]) for Timer Channel 2 11538 */ 11539 #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) 11540 #define LPIT_CLRTEN_CLR_T_EN_3_MASK (0x8U) 11541 #define LPIT_CLRTEN_CLR_T_EN_3_SHIFT (3U) 11542 /*! CLR_T_EN_3 - Clear Timer 3 Enable 11543 * 0b0..No Action 11544 * 0b1..Clear the Timer Enable bit (TCTRL3[T_EN]) for Timer Channel 3 11545 */ 11546 #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) 11547 /*! @} */ 11548 11549 /*! @name TVAL - Timer Value Register */ 11550 /*! @{ */ 11551 #define LPIT_TVAL_TMR_VAL_MASK (0xFFFFFFFFU) 11552 #define LPIT_TVAL_TMR_VAL_SHIFT (0U) 11553 /*! TMR_VAL - Timer Value 11554 * 0b00000000000000000000000000000000..Invalid load value in compare mode 11555 * 0b00000000000000000000000000000001..Invalid load value in compare mode 11556 * 0b00000000000000000000000000000010-0b11111111111111111111111111111111..In compare mode: the value to be loaded; in capture mode, the value of the timer 11557 */ 11558 #define LPIT_TVAL_TMR_VAL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TVAL_TMR_VAL_SHIFT)) & LPIT_TVAL_TMR_VAL_MASK) 11559 /*! @} */ 11560 11561 /* The count of LPIT_TVAL */ 11562 #define LPIT_TVAL_COUNT (4U) 11563 11564 /*! @name CVAL - Current Timer Value */ 11565 /*! @{ */ 11566 #define LPIT_CVAL_TMR_CUR_VAL_MASK (0xFFFFFFFFU) 11567 #define LPIT_CVAL_TMR_CUR_VAL_SHIFT (0U) 11568 #define LPIT_CVAL_TMR_CUR_VAL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_CVAL_TMR_CUR_VAL_SHIFT)) & LPIT_CVAL_TMR_CUR_VAL_MASK) 11569 /*! @} */ 11570 11571 /* The count of LPIT_CVAL */ 11572 #define LPIT_CVAL_COUNT (4U) 11573 11574 /*! @name TCTRL - Timer Control Register */ 11575 /*! @{ */ 11576 #define LPIT_TCTRL_T_EN_MASK (0x1U) 11577 #define LPIT_TCTRL_T_EN_SHIFT (0U) 11578 /*! T_EN - Timer Enable 11579 * 0b0..Timer Channel is disabled 11580 * 0b1..Timer Channel is enabled 11581 */ 11582 #define LPIT_TCTRL_T_EN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_T_EN_SHIFT)) & LPIT_TCTRL_T_EN_MASK) 11583 #define LPIT_TCTRL_CHAIN_MASK (0x2U) 11584 #define LPIT_TCTRL_CHAIN_SHIFT (1U) 11585 /*! CHAIN - Chain Channel 11586 * 0b0..Channel Chaining is disabled. The channel timer runs independently. 11587 * 0b1..Channel Chaining is enabled. The timer decrements on the previous channel's timeout. 11588 */ 11589 #define LPIT_TCTRL_CHAIN(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_CHAIN_SHIFT)) & LPIT_TCTRL_CHAIN_MASK) 11590 #define LPIT_TCTRL_MODE_MASK (0xCU) 11591 #define LPIT_TCTRL_MODE_SHIFT (2U) 11592 /*! MODE - Timer Operation Mode 11593 * 0b00..32-bit Periodic Counter 11594 * 0b01..Dual 16-bit Periodic Counter 11595 * 0b10..32-bit Trigger Accumulator 11596 * 0b11..32-bit Trigger Input Capture 11597 */ 11598 #define LPIT_TCTRL_MODE(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_MODE_SHIFT)) & LPIT_TCTRL_MODE_MASK) 11599 #define LPIT_TCTRL_TSOT_MASK (0x10000U) 11600 #define LPIT_TCTRL_TSOT_SHIFT (16U) 11601 /*! TSOT - Timer Start On Trigger 11602 * 0b0..Timer starts to decrement immediately based on the restart condition (controlled by the Timer Stop On Interrupt bit (TSOI)) 11603 * 0b1..Timer starts to decrement when a rising edge on a selected trigger is detected 11604 */ 11605 #define LPIT_TCTRL_TSOT(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TSOT_SHIFT)) & LPIT_TCTRL_TSOT_MASK) 11606 #define LPIT_TCTRL_TSOI_MASK (0x20000U) 11607 #define LPIT_TCTRL_TSOI_SHIFT (17U) 11608 /*! TSOI - Timer Stop On Interrupt 11609 * 0b0..The channel timer does not stop after timeout 11610 * 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. 11611 */ 11612 #define LPIT_TCTRL_TSOI(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TSOI_SHIFT)) & LPIT_TCTRL_TSOI_MASK) 11613 #define LPIT_TCTRL_TROT_MASK (0x40000U) 11614 #define LPIT_TCTRL_TROT_SHIFT (18U) 11615 /*! TROT - Timer Reload On Trigger 11616 * 0b0..Timer will not reload on the selected trigger 11617 * 0b1..Timer will reload on the selected trigger 11618 */ 11619 #define LPIT_TCTRL_TROT(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TROT_SHIFT)) & LPIT_TCTRL_TROT_MASK) 11620 #define LPIT_TCTRL_TRG_SRC_MASK (0x800000U) 11621 #define LPIT_TCTRL_TRG_SRC_SHIFT (23U) 11622 /*! TRG_SRC - Trigger Source 11623 * 0b0..Selects external triggers 11624 * 0b1..Selects internal triggers 11625 */ 11626 #define LPIT_TCTRL_TRG_SRC(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TRG_SRC_SHIFT)) & LPIT_TCTRL_TRG_SRC_MASK) 11627 #define LPIT_TCTRL_TRG_SEL_MASK (0xF000000U) 11628 #define LPIT_TCTRL_TRG_SEL_SHIFT (24U) 11629 /*! TRG_SEL - Trigger Select 11630 * 0b0000-0b0011..Timer channel 0 - 3 trigger source is selected 11631 * 0b0100-0b1111..Reserved 11632 */ 11633 #define LPIT_TCTRL_TRG_SEL(x) (((uint32_t)(((uint32_t)(x)) << LPIT_TCTRL_TRG_SEL_SHIFT)) & LPIT_TCTRL_TRG_SEL_MASK) 11634 /*! @} */ 11635 11636 /* The count of LPIT_TCTRL */ 11637 #define LPIT_TCTRL_COUNT (4U) 11638 11639 11640 /*! 11641 * @} 11642 */ /* end of group LPIT_Register_Masks */ 11643 11644 11645 /* LPIT - Peripheral instance base addresses */ 11646 /** Peripheral LPIT0 base address */ 11647 #define LPIT0_BASE (0x40030000u) 11648 /** Peripheral LPIT0 base pointer */ 11649 #define LPIT0 ((LPIT_Type *)LPIT0_BASE) 11650 /** Peripheral LPIT1 base address */ 11651 #define LPIT1_BASE (0x4102A000u) 11652 /** Peripheral LPIT1 base pointer */ 11653 #define LPIT1 ((LPIT_Type *)LPIT1_BASE) 11654 /** Array initializer of LPIT peripheral base addresses */ 11655 #define LPIT_BASE_ADDRS { LPIT0_BASE, LPIT1_BASE } 11656 /** Array initializer of LPIT peripheral base pointers */ 11657 #define LPIT_BASE_PTRS { LPIT0, LPIT1 } 11658 /** Interrupt vectors for the LPIT peripheral type */ 11659 #define LPIT_IRQS { { LPIT0_IRQn, LPIT0_IRQn, LPIT0_IRQn, LPIT0_IRQn }, { LPIT1_IRQn, LPIT1_IRQn, LPIT1_IRQn, LPIT1_IRQn } } 11660 11661 /*! 11662 * @} 11663 */ /* end of group LPIT_Peripheral_Access_Layer */ 11664 11665 11666 /* ---------------------------------------------------------------------------- 11667 -- LPSPI Peripheral Access Layer 11668 ---------------------------------------------------------------------------- */ 11669 11670 /*! 11671 * @addtogroup LPSPI_Peripheral_Access_Layer LPSPI Peripheral Access Layer 11672 * @{ 11673 */ 11674 11675 /** LPSPI - Register Layout Typedef */ 11676 typedef struct { 11677 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 11678 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 11679 uint8_t RESERVED_0[8]; 11680 __IO uint32_t CR; /**< Control Register, offset: 0x10 */ 11681 __IO uint32_t SR; /**< Status Register, offset: 0x14 */ 11682 __IO uint32_t IER; /**< Interrupt Enable Register, offset: 0x18 */ 11683 __IO uint32_t DER; /**< DMA Enable Register, offset: 0x1C */ 11684 __IO uint32_t CFGR0; /**< Configuration Register 0, offset: 0x20 */ 11685 __IO uint32_t CFGR1; /**< Configuration Register 1, offset: 0x24 */ 11686 uint8_t RESERVED_1[8]; 11687 __IO uint32_t DMR0; /**< Data Match Register 0, offset: 0x30 */ 11688 __IO uint32_t DMR1; /**< Data Match Register 1, offset: 0x34 */ 11689 uint8_t RESERVED_2[8]; 11690 __IO uint32_t CCR; /**< Clock Configuration Register, offset: 0x40 */ 11691 uint8_t RESERVED_3[20]; 11692 __IO uint32_t FCR; /**< FIFO Control Register, offset: 0x58 */ 11693 __I uint32_t FSR; /**< FIFO Status Register, offset: 0x5C */ 11694 __IO uint32_t TCR; /**< Transmit Command Register, offset: 0x60 */ 11695 __O uint32_t TDR; /**< Transmit Data Register, offset: 0x64 */ 11696 uint8_t RESERVED_4[8]; 11697 __I uint32_t RSR; /**< Receive Status Register, offset: 0x70 */ 11698 __I uint32_t RDR; /**< Receive Data Register, offset: 0x74 */ 11699 } LPSPI_Type; 11700 11701 /* ---------------------------------------------------------------------------- 11702 -- LPSPI Register Masks 11703 ---------------------------------------------------------------------------- */ 11704 11705 /*! 11706 * @addtogroup LPSPI_Register_Masks LPSPI Register Masks 11707 * @{ 11708 */ 11709 11710 /*! @name VERID - Version ID Register */ 11711 /*! @{ */ 11712 #define LPSPI_VERID_FEATURE_MASK (0xFFFFU) 11713 #define LPSPI_VERID_FEATURE_SHIFT (0U) 11714 /*! FEATURE - Module Identification Number 11715 * 0b0000000000000100..Standard feature set supporting a 32-bit shift register. 11716 */ 11717 #define LPSPI_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_FEATURE_SHIFT)) & LPSPI_VERID_FEATURE_MASK) 11718 #define LPSPI_VERID_MINOR_MASK (0xFF0000U) 11719 #define LPSPI_VERID_MINOR_SHIFT (16U) 11720 #define LPSPI_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MINOR_SHIFT)) & LPSPI_VERID_MINOR_MASK) 11721 #define LPSPI_VERID_MAJOR_MASK (0xFF000000U) 11722 #define LPSPI_VERID_MAJOR_SHIFT (24U) 11723 #define LPSPI_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_VERID_MAJOR_SHIFT)) & LPSPI_VERID_MAJOR_MASK) 11724 /*! @} */ 11725 11726 /*! @name PARAM - Parameter Register */ 11727 /*! @{ */ 11728 #define LPSPI_PARAM_TXFIFO_MASK (0xFFU) 11729 #define LPSPI_PARAM_TXFIFO_SHIFT (0U) 11730 #define LPSPI_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_TXFIFO_SHIFT)) & LPSPI_PARAM_TXFIFO_MASK) 11731 #define LPSPI_PARAM_RXFIFO_MASK (0xFF00U) 11732 #define LPSPI_PARAM_RXFIFO_SHIFT (8U) 11733 #define LPSPI_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_PARAM_RXFIFO_SHIFT)) & LPSPI_PARAM_RXFIFO_MASK) 11734 /*! @} */ 11735 11736 /*! @name CR - Control Register */ 11737 /*! @{ */ 11738 #define LPSPI_CR_MEN_MASK (0x1U) 11739 #define LPSPI_CR_MEN_SHIFT (0U) 11740 /*! MEN - Module Enable 11741 * 0b0..Module is disabled 11742 * 0b1..Module is enabled 11743 */ 11744 #define LPSPI_CR_MEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_MEN_SHIFT)) & LPSPI_CR_MEN_MASK) 11745 #define LPSPI_CR_RST_MASK (0x2U) 11746 #define LPSPI_CR_RST_SHIFT (1U) 11747 /*! RST - Software Reset 11748 * 0b0..Master logic is not reset 11749 * 0b1..Master logic is reset 11750 */ 11751 #define LPSPI_CR_RST(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RST_SHIFT)) & LPSPI_CR_RST_MASK) 11752 #define LPSPI_CR_DOZEN_MASK (0x4U) 11753 #define LPSPI_CR_DOZEN_SHIFT (2U) 11754 /*! DOZEN - Doze mode enable 11755 * 0b0..Module is enabled in Doze mode 11756 * 0b1..Module is disabled in Doze mode 11757 */ 11758 #define LPSPI_CR_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DOZEN_SHIFT)) & LPSPI_CR_DOZEN_MASK) 11759 #define LPSPI_CR_DBGEN_MASK (0x8U) 11760 #define LPSPI_CR_DBGEN_SHIFT (3U) 11761 /*! DBGEN - Debug Enable 11762 * 0b0..Module is disabled in debug mode 11763 * 0b1..Module is enabled in debug mode 11764 */ 11765 #define LPSPI_CR_DBGEN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_DBGEN_SHIFT)) & LPSPI_CR_DBGEN_MASK) 11766 #define LPSPI_CR_RTF_MASK (0x100U) 11767 #define LPSPI_CR_RTF_SHIFT (8U) 11768 /*! RTF - Reset Transmit FIFO 11769 * 0b0..No effect 11770 * 0b1..Transmit FIFO is reset 11771 */ 11772 #define LPSPI_CR_RTF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RTF_SHIFT)) & LPSPI_CR_RTF_MASK) 11773 #define LPSPI_CR_RRF_MASK (0x200U) 11774 #define LPSPI_CR_RRF_SHIFT (9U) 11775 /*! RRF - Reset Receive FIFO 11776 * 0b0..No effect 11777 * 0b1..Receive FIFO is reset 11778 */ 11779 #define LPSPI_CR_RRF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CR_RRF_SHIFT)) & LPSPI_CR_RRF_MASK) 11780 /*! @} */ 11781 11782 /*! @name SR - Status Register */ 11783 /*! @{ */ 11784 #define LPSPI_SR_TDF_MASK (0x1U) 11785 #define LPSPI_SR_TDF_SHIFT (0U) 11786 /*! TDF - Transmit Data Flag 11787 * 0b0..Transmit data not requested 11788 * 0b1..Transmit data is requested 11789 */ 11790 #define LPSPI_SR_TDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TDF_SHIFT)) & LPSPI_SR_TDF_MASK) 11791 #define LPSPI_SR_RDF_MASK (0x2U) 11792 #define LPSPI_SR_RDF_SHIFT (1U) 11793 /*! RDF - Receive Data Flag 11794 * 0b0..Receive Data is not ready 11795 * 0b1..Receive data is ready 11796 */ 11797 #define LPSPI_SR_RDF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_RDF_SHIFT)) & LPSPI_SR_RDF_MASK) 11798 #define LPSPI_SR_WCF_MASK (0x100U) 11799 #define LPSPI_SR_WCF_SHIFT (8U) 11800 /*! WCF - Word Complete Flag 11801 * 0b0..Transfer of a received word has not yet completed 11802 * 0b1..Transfer of a received word has completed 11803 */ 11804 #define LPSPI_SR_WCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_WCF_SHIFT)) & LPSPI_SR_WCF_MASK) 11805 #define LPSPI_SR_FCF_MASK (0x200U) 11806 #define LPSPI_SR_FCF_SHIFT (9U) 11807 /*! FCF - Frame Complete Flag 11808 * 0b0..Frame transfer has not completed 11809 * 0b1..Frame transfer has completed 11810 */ 11811 #define LPSPI_SR_FCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_FCF_SHIFT)) & LPSPI_SR_FCF_MASK) 11812 #define LPSPI_SR_TCF_MASK (0x400U) 11813 #define LPSPI_SR_TCF_SHIFT (10U) 11814 /*! TCF - Transfer Complete Flag 11815 * 0b0..All transfers have not completed 11816 * 0b1..All transfers have completed 11817 */ 11818 #define LPSPI_SR_TCF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TCF_SHIFT)) & LPSPI_SR_TCF_MASK) 11819 #define LPSPI_SR_TEF_MASK (0x800U) 11820 #define LPSPI_SR_TEF_SHIFT (11U) 11821 /*! TEF - Transmit Error Flag 11822 * 0b0..Transmit FIFO underrun has not occurred 11823 * 0b1..Transmit FIFO underrun has occurred 11824 */ 11825 #define LPSPI_SR_TEF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_TEF_SHIFT)) & LPSPI_SR_TEF_MASK) 11826 #define LPSPI_SR_REF_MASK (0x1000U) 11827 #define LPSPI_SR_REF_SHIFT (12U) 11828 /*! REF - Receive Error Flag 11829 * 0b0..Receive FIFO has not overflowed 11830 * 0b1..Receive FIFO has overflowed 11831 */ 11832 #define LPSPI_SR_REF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_REF_SHIFT)) & LPSPI_SR_REF_MASK) 11833 #define LPSPI_SR_DMF_MASK (0x2000U) 11834 #define LPSPI_SR_DMF_SHIFT (13U) 11835 /*! DMF - Data Match Flag 11836 * 0b0..Have not received matching data 11837 * 0b1..Have received matching data 11838 */ 11839 #define LPSPI_SR_DMF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_DMF_SHIFT)) & LPSPI_SR_DMF_MASK) 11840 #define LPSPI_SR_MBF_MASK (0x1000000U) 11841 #define LPSPI_SR_MBF_SHIFT (24U) 11842 /*! MBF - Module Busy Flag 11843 * 0b0..LPSPI is idle 11844 * 0b1..LPSPI is busy 11845 */ 11846 #define LPSPI_SR_MBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_SR_MBF_SHIFT)) & LPSPI_SR_MBF_MASK) 11847 /*! @} */ 11848 11849 /*! @name IER - Interrupt Enable Register */ 11850 /*! @{ */ 11851 #define LPSPI_IER_TDIE_MASK (0x1U) 11852 #define LPSPI_IER_TDIE_SHIFT (0U) 11853 /*! TDIE - Transmit Data Interrupt Enable 11854 * 0b0..Disabled 11855 * 0b1..Enabled 11856 */ 11857 #define LPSPI_IER_TDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TDIE_SHIFT)) & LPSPI_IER_TDIE_MASK) 11858 #define LPSPI_IER_RDIE_MASK (0x2U) 11859 #define LPSPI_IER_RDIE_SHIFT (1U) 11860 /*! RDIE - Receive Data Interrupt Enable 11861 * 0b0..Disabled 11862 * 0b1..Enabled 11863 */ 11864 #define LPSPI_IER_RDIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_RDIE_SHIFT)) & LPSPI_IER_RDIE_MASK) 11865 #define LPSPI_IER_WCIE_MASK (0x100U) 11866 #define LPSPI_IER_WCIE_SHIFT (8U) 11867 /*! WCIE - Word Complete Interrupt Enable 11868 * 0b0..Disabled 11869 * 0b1..Enabled 11870 */ 11871 #define LPSPI_IER_WCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_WCIE_SHIFT)) & LPSPI_IER_WCIE_MASK) 11872 #define LPSPI_IER_FCIE_MASK (0x200U) 11873 #define LPSPI_IER_FCIE_SHIFT (9U) 11874 /*! FCIE - Frame Complete Interrupt Enable 11875 * 0b0..Disabled 11876 * 0b1..Enabled 11877 */ 11878 #define LPSPI_IER_FCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_FCIE_SHIFT)) & LPSPI_IER_FCIE_MASK) 11879 #define LPSPI_IER_TCIE_MASK (0x400U) 11880 #define LPSPI_IER_TCIE_SHIFT (10U) 11881 /*! TCIE - Transfer Complete Interrupt Enable 11882 * 0b0..Disabled 11883 * 0b1..Enabled 11884 */ 11885 #define LPSPI_IER_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TCIE_SHIFT)) & LPSPI_IER_TCIE_MASK) 11886 #define LPSPI_IER_TEIE_MASK (0x800U) 11887 #define LPSPI_IER_TEIE_SHIFT (11U) 11888 /*! TEIE - Transmit Error Interrupt Enable 11889 * 0b0..Disabled 11890 * 0b1..Enabled 11891 */ 11892 #define LPSPI_IER_TEIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_TEIE_SHIFT)) & LPSPI_IER_TEIE_MASK) 11893 #define LPSPI_IER_REIE_MASK (0x1000U) 11894 #define LPSPI_IER_REIE_SHIFT (12U) 11895 /*! REIE - Receive Error Interrupt Enable 11896 * 0b0..Disabled 11897 * 0b1..Enabled 11898 */ 11899 #define LPSPI_IER_REIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_REIE_SHIFT)) & LPSPI_IER_REIE_MASK) 11900 #define LPSPI_IER_DMIE_MASK (0x2000U) 11901 #define LPSPI_IER_DMIE_SHIFT (13U) 11902 /*! DMIE - Data Match Interrupt Enable 11903 * 0b0..Disabled 11904 * 0b1..Enabled 11905 */ 11906 #define LPSPI_IER_DMIE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_IER_DMIE_SHIFT)) & LPSPI_IER_DMIE_MASK) 11907 /*! @} */ 11908 11909 /*! @name DER - DMA Enable Register */ 11910 /*! @{ */ 11911 #define LPSPI_DER_TDDE_MASK (0x1U) 11912 #define LPSPI_DER_TDDE_SHIFT (0U) 11913 /*! TDDE - Transmit Data DMA Enable 11914 * 0b0..DMA request is disabled 11915 * 0b1..DMA request is enabled 11916 */ 11917 #define LPSPI_DER_TDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_TDDE_SHIFT)) & LPSPI_DER_TDDE_MASK) 11918 #define LPSPI_DER_RDDE_MASK (0x2U) 11919 #define LPSPI_DER_RDDE_SHIFT (1U) 11920 /*! RDDE - Receive Data DMA Enable 11921 * 0b0..DMA request is disabled 11922 * 0b1..DMA request is enabled 11923 */ 11924 #define LPSPI_DER_RDDE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DER_RDDE_SHIFT)) & LPSPI_DER_RDDE_MASK) 11925 /*! @} */ 11926 11927 /*! @name CFGR0 - Configuration Register 0 */ 11928 /*! @{ */ 11929 #define LPSPI_CFGR0_HREN_MASK (0x1U) 11930 #define LPSPI_CFGR0_HREN_SHIFT (0U) 11931 /*! HREN - Host Request Enable 11932 * 0b0..Host request is disabled 11933 * 0b1..Host request is enabled 11934 */ 11935 #define LPSPI_CFGR0_HREN(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HREN_SHIFT)) & LPSPI_CFGR0_HREN_MASK) 11936 #define LPSPI_CFGR0_HRPOL_MASK (0x2U) 11937 #define LPSPI_CFGR0_HRPOL_SHIFT (1U) 11938 /*! HRPOL - Host Request Polarity 11939 * 0b0..Active low 11940 * 0b1..Active high 11941 */ 11942 #define LPSPI_CFGR0_HRPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HRPOL_SHIFT)) & LPSPI_CFGR0_HRPOL_MASK) 11943 #define LPSPI_CFGR0_HRSEL_MASK (0x4U) 11944 #define LPSPI_CFGR0_HRSEL_SHIFT (2U) 11945 /*! HRSEL - Host Request Select 11946 * 0b0..Host request input is the LPSPI_HREQ pin 11947 * 0b1..Host request input is the input trigger 11948 */ 11949 #define LPSPI_CFGR0_HRSEL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_HRSEL_SHIFT)) & LPSPI_CFGR0_HRSEL_MASK) 11950 #define LPSPI_CFGR0_CIRFIFO_MASK (0x100U) 11951 #define LPSPI_CFGR0_CIRFIFO_SHIFT (8U) 11952 /*! CIRFIFO - Circular FIFO Enable 11953 * 0b0..Circular FIFO is disabled 11954 * 0b1..Circular FIFO is enabled 11955 */ 11956 #define LPSPI_CFGR0_CIRFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_CIRFIFO_SHIFT)) & LPSPI_CFGR0_CIRFIFO_MASK) 11957 #define LPSPI_CFGR0_RDMO_MASK (0x200U) 11958 #define LPSPI_CFGR0_RDMO_SHIFT (9U) 11959 /*! RDMO - Receive Data Match Only 11960 * 0b0..Received data is stored in the receive FIFO as in normal operations 11961 * 0b1..Received data is discarded unless the Data Match Flag (DMF) is set 11962 */ 11963 #define LPSPI_CFGR0_RDMO(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR0_RDMO_SHIFT)) & LPSPI_CFGR0_RDMO_MASK) 11964 /*! @} */ 11965 11966 /*! @name CFGR1 - Configuration Register 1 */ 11967 /*! @{ */ 11968 #define LPSPI_CFGR1_MASTER_MASK (0x1U) 11969 #define LPSPI_CFGR1_MASTER_SHIFT (0U) 11970 /*! MASTER - Master Mode 11971 * 0b0..Slave mode 11972 * 0b1..Master mode 11973 */ 11974 #define LPSPI_CFGR1_MASTER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MASTER_SHIFT)) & LPSPI_CFGR1_MASTER_MASK) 11975 #define LPSPI_CFGR1_SAMPLE_MASK (0x2U) 11976 #define LPSPI_CFGR1_SAMPLE_SHIFT (1U) 11977 /*! SAMPLE - Sample Point 11978 * 0b0..Input data is sampled on SCK edge 11979 * 0b1..Input data is sampled on delayed SCK edge 11980 */ 11981 #define LPSPI_CFGR1_SAMPLE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_SAMPLE_SHIFT)) & LPSPI_CFGR1_SAMPLE_MASK) 11982 #define LPSPI_CFGR1_AUTOPCS_MASK (0x4U) 11983 #define LPSPI_CFGR1_AUTOPCS_SHIFT (2U) 11984 /*! AUTOPCS - Automatic PCS 11985 * 0b0..Automatic PCS generation is disabled 11986 * 0b1..Automatic PCS generation is enabled 11987 */ 11988 #define LPSPI_CFGR1_AUTOPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_AUTOPCS_SHIFT)) & LPSPI_CFGR1_AUTOPCS_MASK) 11989 #define LPSPI_CFGR1_NOSTALL_MASK (0x8U) 11990 #define LPSPI_CFGR1_NOSTALL_SHIFT (3U) 11991 /*! NOSTALL - No Stall 11992 * 0b0..Transfers will stall when the transmit FIFO is empty or the receive FIFO is full 11993 * 0b1..Transfers will not stall, allowing transmit FIFO underruns or receive FIFO overruns to occur 11994 */ 11995 #define LPSPI_CFGR1_NOSTALL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_NOSTALL_SHIFT)) & LPSPI_CFGR1_NOSTALL_MASK) 11996 #define LPSPI_CFGR1_PCSPOL_MASK (0xF00U) 11997 #define LPSPI_CFGR1_PCSPOL_SHIFT (8U) 11998 /*! PCSPOL - Peripheral Chip Select Polarity 11999 * 0b0000..The Peripheral Chip Select pin PCSx is active low 12000 * 0b0001..The Peripheral Chip Select pin PCSx is active high 12001 */ 12002 #define LPSPI_CFGR1_PCSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSPOL_SHIFT)) & LPSPI_CFGR1_PCSPOL_MASK) 12003 #define LPSPI_CFGR1_MATCFG_MASK (0x70000U) 12004 #define LPSPI_CFGR1_MATCFG_SHIFT (16U) 12005 /*! MATCFG - Match Configuration 12006 * 0b000..Match is disabled 12007 * 0b001..Reserved 12008 * 0b010..010b - Match is enabled, if 1st data word equals MATCH0 OR MATCH1, i.e., (1st data word = MATCH0 + MATCH1) 12009 * 0b011..011b - Match is enabled, if any data word equals MATCH0 OR MATCH1, i.e., (any data word = MATCH0 + MATCH1) 12010 * 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)] 12011 * 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)] 12012 * 0b110..110b - Match is enabled, if (1st data word AND MATCH1) equals (MATCH0 AND MATCH1), i.e., [(1st data word * MATCH1) = (MATCH0 * MATCH1)] 12013 * 0b111..111b - Match is enabled, if (any data word AND MATCH1) equals (MATCH0 AND MATCH1), i.e., [(any data word * MATCH1) = (MATCH0 * MATCH1)] 12014 */ 12015 #define LPSPI_CFGR1_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_MATCFG_SHIFT)) & LPSPI_CFGR1_MATCFG_MASK) 12016 #define LPSPI_CFGR1_PINCFG_MASK (0x3000000U) 12017 #define LPSPI_CFGR1_PINCFG_SHIFT (24U) 12018 /*! PINCFG - Pin Configuration 12019 * 0b00..SIN is used for input data and SOUT is used for output data 12020 * 0b01..SIN is used for both input and output data 12021 * 0b10..SOUT is used for both input and output data 12022 * 0b11..SOUT is used for input data and SIN is used for output data 12023 */ 12024 #define LPSPI_CFGR1_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PINCFG_SHIFT)) & LPSPI_CFGR1_PINCFG_MASK) 12025 #define LPSPI_CFGR1_OUTCFG_MASK (0x4000000U) 12026 #define LPSPI_CFGR1_OUTCFG_SHIFT (26U) 12027 /*! OUTCFG - Output Config 12028 * 0b0..Output data retains last value when chip select is negated 12029 * 0b1..Output data is tristated when chip select is negated 12030 */ 12031 #define LPSPI_CFGR1_OUTCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_OUTCFG_SHIFT)) & LPSPI_CFGR1_OUTCFG_MASK) 12032 #define LPSPI_CFGR1_PCSCFG_MASK (0x8000000U) 12033 #define LPSPI_CFGR1_PCSCFG_SHIFT (27U) 12034 /*! PCSCFG - Peripheral Chip Select Configuration 12035 * 0b0..PCS[3:2] are enabled 12036 * 0b1..PCS[3:2] are disabled 12037 */ 12038 #define LPSPI_CFGR1_PCSCFG(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CFGR1_PCSCFG_SHIFT)) & LPSPI_CFGR1_PCSCFG_MASK) 12039 /*! @} */ 12040 12041 /*! @name DMR0 - Data Match Register 0 */ 12042 /*! @{ */ 12043 #define LPSPI_DMR0_MATCH0_MASK (0xFFFFFFFFU) 12044 #define LPSPI_DMR0_MATCH0_SHIFT (0U) 12045 #define LPSPI_DMR0_MATCH0(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR0_MATCH0_SHIFT)) & LPSPI_DMR0_MATCH0_MASK) 12046 /*! @} */ 12047 12048 /*! @name DMR1 - Data Match Register 1 */ 12049 /*! @{ */ 12050 #define LPSPI_DMR1_MATCH1_MASK (0xFFFFFFFFU) 12051 #define LPSPI_DMR1_MATCH1_SHIFT (0U) 12052 #define LPSPI_DMR1_MATCH1(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_DMR1_MATCH1_SHIFT)) & LPSPI_DMR1_MATCH1_MASK) 12053 /*! @} */ 12054 12055 /*! @name CCR - Clock Configuration Register */ 12056 /*! @{ */ 12057 #define LPSPI_CCR_SCKDIV_MASK (0xFFU) 12058 #define LPSPI_CCR_SCKDIV_SHIFT (0U) 12059 #define LPSPI_CCR_SCKDIV(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKDIV_SHIFT)) & LPSPI_CCR_SCKDIV_MASK) 12060 #define LPSPI_CCR_DBT_MASK (0xFF00U) 12061 #define LPSPI_CCR_DBT_SHIFT (8U) 12062 #define LPSPI_CCR_DBT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_DBT_SHIFT)) & LPSPI_CCR_DBT_MASK) 12063 #define LPSPI_CCR_PCSSCK_MASK (0xFF0000U) 12064 #define LPSPI_CCR_PCSSCK_SHIFT (16U) 12065 #define LPSPI_CCR_PCSSCK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_PCSSCK_SHIFT)) & LPSPI_CCR_PCSSCK_MASK) 12066 #define LPSPI_CCR_SCKPCS_MASK (0xFF000000U) 12067 #define LPSPI_CCR_SCKPCS_SHIFT (24U) 12068 #define LPSPI_CCR_SCKPCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_CCR_SCKPCS_SHIFT)) & LPSPI_CCR_SCKPCS_MASK) 12069 /*! @} */ 12070 12071 /*! @name FCR - FIFO Control Register */ 12072 /*! @{ */ 12073 #define LPSPI_FCR_TXWATER_MASK (0x3U) 12074 #define LPSPI_FCR_TXWATER_SHIFT (0U) 12075 #define LPSPI_FCR_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_TXWATER_SHIFT)) & LPSPI_FCR_TXWATER_MASK) 12076 #define LPSPI_FCR_RXWATER_MASK (0x30000U) 12077 #define LPSPI_FCR_RXWATER_SHIFT (16U) 12078 #define LPSPI_FCR_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FCR_RXWATER_SHIFT)) & LPSPI_FCR_RXWATER_MASK) 12079 /*! @} */ 12080 12081 /*! @name FSR - FIFO Status Register */ 12082 /*! @{ */ 12083 #define LPSPI_FSR_TXCOUNT_MASK (0x7U) 12084 #define LPSPI_FSR_TXCOUNT_SHIFT (0U) 12085 #define LPSPI_FSR_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_TXCOUNT_SHIFT)) & LPSPI_FSR_TXCOUNT_MASK) 12086 #define LPSPI_FSR_RXCOUNT_MASK (0x70000U) 12087 #define LPSPI_FSR_RXCOUNT_SHIFT (16U) 12088 #define LPSPI_FSR_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_FSR_RXCOUNT_SHIFT)) & LPSPI_FSR_RXCOUNT_MASK) 12089 /*! @} */ 12090 12091 /*! @name TCR - Transmit Command Register */ 12092 /*! @{ */ 12093 #define LPSPI_TCR_FRAMESZ_MASK (0xFFFU) 12094 #define LPSPI_TCR_FRAMESZ_SHIFT (0U) 12095 #define LPSPI_TCR_FRAMESZ(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_FRAMESZ_SHIFT)) & LPSPI_TCR_FRAMESZ_MASK) 12096 #define LPSPI_TCR_WIDTH_MASK (0x30000U) 12097 #define LPSPI_TCR_WIDTH_SHIFT (16U) 12098 /*! WIDTH - Transfer Width 12099 * 0b00..1 bit transfer 12100 * 0b01..2 bit transfer 12101 * 0b10..4 bit transfer 12102 * 0b11..Reserved 12103 */ 12104 #define LPSPI_TCR_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_WIDTH_SHIFT)) & LPSPI_TCR_WIDTH_MASK) 12105 #define LPSPI_TCR_TXMSK_MASK (0x40000U) 12106 #define LPSPI_TCR_TXMSK_SHIFT (18U) 12107 /*! TXMSK - Transmit Data Mask 12108 * 0b0..Normal transfer 12109 * 0b1..Mask transmit data 12110 */ 12111 #define LPSPI_TCR_TXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_TXMSK_SHIFT)) & LPSPI_TCR_TXMSK_MASK) 12112 #define LPSPI_TCR_RXMSK_MASK (0x80000U) 12113 #define LPSPI_TCR_RXMSK_SHIFT (19U) 12114 /*! RXMSK - Receive Data Mask 12115 * 0b0..Normal transfer 12116 * 0b1..Receive data is masked 12117 */ 12118 #define LPSPI_TCR_RXMSK(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_RXMSK_SHIFT)) & LPSPI_TCR_RXMSK_MASK) 12119 #define LPSPI_TCR_CONTC_MASK (0x100000U) 12120 #define LPSPI_TCR_CONTC_SHIFT (20U) 12121 /*! CONTC - Continuing Command 12122 * 0b0..Command word for start of new transfer 12123 * 0b1..Command word for continuing transfer 12124 */ 12125 #define LPSPI_TCR_CONTC(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONTC_SHIFT)) & LPSPI_TCR_CONTC_MASK) 12126 #define LPSPI_TCR_CONT_MASK (0x200000U) 12127 #define LPSPI_TCR_CONT_SHIFT (21U) 12128 /*! CONT - Continuous Transfer 12129 * 0b0..Continuous transfer is disabled 12130 * 0b1..Continuous transfer is enabled 12131 */ 12132 #define LPSPI_TCR_CONT(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CONT_SHIFT)) & LPSPI_TCR_CONT_MASK) 12133 #define LPSPI_TCR_BYSW_MASK (0x400000U) 12134 #define LPSPI_TCR_BYSW_SHIFT (22U) 12135 /*! BYSW - Byte Swap 12136 * 0b0..Byte swap is disabled 12137 * 0b1..Byte swap is enabled 12138 */ 12139 #define LPSPI_TCR_BYSW(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_BYSW_SHIFT)) & LPSPI_TCR_BYSW_MASK) 12140 #define LPSPI_TCR_LSBF_MASK (0x800000U) 12141 #define LPSPI_TCR_LSBF_SHIFT (23U) 12142 /*! LSBF - LSB First 12143 * 0b0..Data is transferred MSB first 12144 * 0b1..Data is transferred LSB first 12145 */ 12146 #define LPSPI_TCR_LSBF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_LSBF_SHIFT)) & LPSPI_TCR_LSBF_MASK) 12147 #define LPSPI_TCR_PCS_MASK (0x3000000U) 12148 #define LPSPI_TCR_PCS_SHIFT (24U) 12149 /*! PCS - Peripheral Chip Select 12150 * 0b00..Transfer using LPSPI_PCS[0] 12151 * 0b01..Transfer using LPSPI_PCS[1] 12152 * 0b10..Transfer using LPSPI_PCS[2] 12153 * 0b11..Transfer using LPSPI_PCS[3] 12154 */ 12155 #define LPSPI_TCR_PCS(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PCS_SHIFT)) & LPSPI_TCR_PCS_MASK) 12156 #define LPSPI_TCR_PRESCALE_MASK (0x38000000U) 12157 #define LPSPI_TCR_PRESCALE_SHIFT (27U) 12158 /*! PRESCALE - Prescaler Value 12159 * 0b000..Divide by 1 12160 * 0b001..Divide by 2 12161 * 0b010..Divide by 4 12162 * 0b011..Divide by 8 12163 * 0b100..Divide by 16 12164 * 0b101..Divide by 32 12165 * 0b110..Divide by 64 12166 * 0b111..Divide by 128 12167 */ 12168 #define LPSPI_TCR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_PRESCALE_SHIFT)) & LPSPI_TCR_PRESCALE_MASK) 12169 #define LPSPI_TCR_CPHA_MASK (0x40000000U) 12170 #define LPSPI_TCR_CPHA_SHIFT (30U) 12171 /*! CPHA - Clock Phase 12172 * 0b0..Data is captured on the leading edge of SCK and changed on the following edge of SCK 12173 * 0b1..Data is changed on the leading edge of SCK and captured on the following edge of SCK 12174 */ 12175 #define LPSPI_TCR_CPHA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPHA_SHIFT)) & LPSPI_TCR_CPHA_MASK) 12176 #define LPSPI_TCR_CPOL_MASK (0x80000000U) 12177 #define LPSPI_TCR_CPOL_SHIFT (31U) 12178 /*! CPOL - Clock Polarity 12179 * 0b0..The inactive state value of SCK is low 12180 * 0b1..The inactive state value of SCK is high 12181 */ 12182 #define LPSPI_TCR_CPOL(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TCR_CPOL_SHIFT)) & LPSPI_TCR_CPOL_MASK) 12183 /*! @} */ 12184 12185 /*! @name TDR - Transmit Data Register */ 12186 /*! @{ */ 12187 #define LPSPI_TDR_DATA_MASK (0xFFFFFFFFU) 12188 #define LPSPI_TDR_DATA_SHIFT (0U) 12189 #define LPSPI_TDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_TDR_DATA_SHIFT)) & LPSPI_TDR_DATA_MASK) 12190 /*! @} */ 12191 12192 /*! @name RSR - Receive Status Register */ 12193 /*! @{ */ 12194 #define LPSPI_RSR_SOF_MASK (0x1U) 12195 #define LPSPI_RSR_SOF_SHIFT (0U) 12196 /*! SOF - Start Of Frame 12197 * 0b0..Subsequent data word received after LPSPI_PCS assertion 12198 * 0b1..First data word received after LPSPI_PCS assertion 12199 */ 12200 #define LPSPI_RSR_SOF(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_SOF_SHIFT)) & LPSPI_RSR_SOF_MASK) 12201 #define LPSPI_RSR_RXEMPTY_MASK (0x2U) 12202 #define LPSPI_RSR_RXEMPTY_SHIFT (1U) 12203 /*! RXEMPTY - RX FIFO Empty 12204 * 0b0..RX FIFO is not empty 12205 * 0b1..RX FIFO is empty 12206 */ 12207 #define LPSPI_RSR_RXEMPTY(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RSR_RXEMPTY_SHIFT)) & LPSPI_RSR_RXEMPTY_MASK) 12208 /*! @} */ 12209 12210 /*! @name RDR - Receive Data Register */ 12211 /*! @{ */ 12212 #define LPSPI_RDR_DATA_MASK (0xFFFFFFFFU) 12213 #define LPSPI_RDR_DATA_SHIFT (0U) 12214 #define LPSPI_RDR_DATA(x) (((uint32_t)(((uint32_t)(x)) << LPSPI_RDR_DATA_SHIFT)) & LPSPI_RDR_DATA_MASK) 12215 /*! @} */ 12216 12217 12218 /*! 12219 * @} 12220 */ /* end of group LPSPI_Register_Masks */ 12221 12222 12223 /* LPSPI - Peripheral instance base addresses */ 12224 /** Peripheral LPSPI0 base address */ 12225 #define LPSPI0_BASE (0x4003F000u) 12226 /** Peripheral LPSPI0 base pointer */ 12227 #define LPSPI0 ((LPSPI_Type *)LPSPI0_BASE) 12228 /** Peripheral LPSPI1 base address */ 12229 #define LPSPI1_BASE (0x40040000u) 12230 /** Peripheral LPSPI1 base pointer */ 12231 #define LPSPI1 ((LPSPI_Type *)LPSPI1_BASE) 12232 /** Peripheral LPSPI2 base address */ 12233 #define LPSPI2_BASE (0x40041000u) 12234 /** Peripheral LPSPI2 base pointer */ 12235 #define LPSPI2 ((LPSPI_Type *)LPSPI2_BASE) 12236 /** Peripheral LPSPI3 base address */ 12237 #define LPSPI3_BASE (0x41035000u) 12238 /** Peripheral LPSPI3 base pointer */ 12239 #define LPSPI3 ((LPSPI_Type *)LPSPI3_BASE) 12240 /** Array initializer of LPSPI peripheral base addresses */ 12241 #define LPSPI_BASE_ADDRS { LPSPI0_BASE, LPSPI1_BASE, LPSPI2_BASE, LPSPI3_BASE } 12242 /** Array initializer of LPSPI peripheral base pointers */ 12243 #define LPSPI_BASE_PTRS { LPSPI0, LPSPI1, LPSPI2, LPSPI3 } 12244 /** Interrupt vectors for the LPSPI peripheral type */ 12245 #define LPSPI_IRQS { LPSPI0_IRQn, LPSPI1_IRQn, LPSPI2_IRQn, LPSPI3_IRQn } 12246 12247 /*! 12248 * @} 12249 */ /* end of group LPSPI_Peripheral_Access_Layer */ 12250 12251 12252 /* ---------------------------------------------------------------------------- 12253 -- LPTMR Peripheral Access Layer 12254 ---------------------------------------------------------------------------- */ 12255 12256 /*! 12257 * @addtogroup LPTMR_Peripheral_Access_Layer LPTMR Peripheral Access Layer 12258 * @{ 12259 */ 12260 12261 /** LPTMR - Register Layout Typedef */ 12262 typedef struct { 12263 __IO uint32_t CSR; /**< Low Power Timer Control Status Register, offset: 0x0 */ 12264 __IO uint32_t PSR; /**< Low Power Timer Prescale Register, offset: 0x4 */ 12265 __IO uint32_t CMR; /**< Low Power Timer Compare Register, offset: 0x8 */ 12266 __IO uint32_t CNR; /**< Low Power Timer Counter Register, offset: 0xC */ 12267 } LPTMR_Type; 12268 12269 /* ---------------------------------------------------------------------------- 12270 -- LPTMR Register Masks 12271 ---------------------------------------------------------------------------- */ 12272 12273 /*! 12274 * @addtogroup LPTMR_Register_Masks LPTMR Register Masks 12275 * @{ 12276 */ 12277 12278 /*! @name CSR - Low Power Timer Control Status Register */ 12279 /*! @{ */ 12280 #define LPTMR_CSR_TEN_MASK (0x1U) 12281 #define LPTMR_CSR_TEN_SHIFT (0U) 12282 /*! TEN - Timer Enable 12283 * 0b0..LPTMR is disabled and internal logic is reset. 12284 * 0b1..LPTMR is enabled. 12285 */ 12286 #define LPTMR_CSR_TEN(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TEN_SHIFT)) & LPTMR_CSR_TEN_MASK) 12287 #define LPTMR_CSR_TMS_MASK (0x2U) 12288 #define LPTMR_CSR_TMS_SHIFT (1U) 12289 /*! TMS - Timer Mode Select 12290 * 0b0..Time Counter mode. 12291 * 0b1..Pulse Counter mode. 12292 */ 12293 #define LPTMR_CSR_TMS(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TMS_SHIFT)) & LPTMR_CSR_TMS_MASK) 12294 #define LPTMR_CSR_TFC_MASK (0x4U) 12295 #define LPTMR_CSR_TFC_SHIFT (2U) 12296 /*! TFC - Timer Free-Running Counter 12297 * 0b0..CNR is reset whenever TCF is set. 12298 * 0b1..CNR is reset on overflow. 12299 */ 12300 #define LPTMR_CSR_TFC(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TFC_SHIFT)) & LPTMR_CSR_TFC_MASK) 12301 #define LPTMR_CSR_TPP_MASK (0x8U) 12302 #define LPTMR_CSR_TPP_SHIFT (3U) 12303 /*! TPP - Timer Pin Polarity 12304 * 0b0..Pulse Counter input source is active-high, and the CNR will increment on the rising-edge. 12305 * 0b1..Pulse Counter input source is active-low, and the CNR will increment on the falling-edge. 12306 */ 12307 #define LPTMR_CSR_TPP(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TPP_SHIFT)) & LPTMR_CSR_TPP_MASK) 12308 #define LPTMR_CSR_TPS_MASK (0x30U) 12309 #define LPTMR_CSR_TPS_SHIFT (4U) 12310 /*! TPS - Timer Pin Select 12311 * 0b00..Pulse counter input 0 is selected. 12312 * 0b01..Pulse counter input 1 is selected. 12313 * 0b10..Pulse counter input 2 is selected. 12314 * 0b11..Pulse counter input 3 is selected. 12315 */ 12316 #define LPTMR_CSR_TPS(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TPS_SHIFT)) & LPTMR_CSR_TPS_MASK) 12317 #define LPTMR_CSR_TIE_MASK (0x40U) 12318 #define LPTMR_CSR_TIE_SHIFT (6U) 12319 /*! TIE - Timer Interrupt Enable 12320 * 0b0..Timer interrupt disabled. 12321 * 0b1..Timer interrupt enabled. 12322 */ 12323 #define LPTMR_CSR_TIE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TIE_SHIFT)) & LPTMR_CSR_TIE_MASK) 12324 #define LPTMR_CSR_TCF_MASK (0x80U) 12325 #define LPTMR_CSR_TCF_SHIFT (7U) 12326 /*! TCF - Timer Compare Flag 12327 * 0b0..The value of CNR is not equal to CMR and increments. 12328 * 0b1..The value of CNR is equal to CMR and increments. 12329 */ 12330 #define LPTMR_CSR_TCF(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TCF_SHIFT)) & LPTMR_CSR_TCF_MASK) 12331 #define LPTMR_CSR_TDRE_MASK (0x100U) 12332 #define LPTMR_CSR_TDRE_SHIFT (8U) 12333 /*! TDRE - Timer DMA Request Enable 12334 * 0b0..Timer DMA Request disabled. 12335 * 0b1..Timer DMA Request enabled. 12336 */ 12337 #define LPTMR_CSR_TDRE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CSR_TDRE_SHIFT)) & LPTMR_CSR_TDRE_MASK) 12338 /*! @} */ 12339 12340 /*! @name PSR - Low Power Timer Prescale Register */ 12341 /*! @{ */ 12342 #define LPTMR_PSR_PCS_MASK (0x3U) 12343 #define LPTMR_PSR_PCS_SHIFT (0U) 12344 /*! PCS - Prescaler Clock Select 12345 * 0b00..Prescaler/glitch filter clock 0 selected. 12346 * 0b01..Prescaler/glitch filter clock 1 selected. 12347 * 0b10..Prescaler/glitch filter clock 2 selected. 12348 * 0b11..Prescaler/glitch filter clock 3 selected. 12349 */ 12350 #define LPTMR_PSR_PCS(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_PSR_PCS_SHIFT)) & LPTMR_PSR_PCS_MASK) 12351 #define LPTMR_PSR_PBYP_MASK (0x4U) 12352 #define LPTMR_PSR_PBYP_SHIFT (2U) 12353 /*! PBYP - Prescaler Bypass 12354 * 0b0..Prescaler/glitch filter is enabled. 12355 * 0b1..Prescaler/glitch filter is bypassed. 12356 */ 12357 #define LPTMR_PSR_PBYP(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_PSR_PBYP_SHIFT)) & LPTMR_PSR_PBYP_MASK) 12358 #define LPTMR_PSR_PRESCALE_MASK (0x78U) 12359 #define LPTMR_PSR_PRESCALE_SHIFT (3U) 12360 /*! PRESCALE - Prescale Value 12361 * 0b0000..Prescaler divides the prescaler clock by 2; glitch filter does not support this configuration. 12362 * 0b0001..Prescaler divides the prescaler clock by 4; glitch filter recognizes change on input pin after 2 rising clock edges. 12363 * 0b0010..Prescaler divides the prescaler clock by 8; glitch filter recognizes change on input pin after 4 rising clock edges. 12364 * 0b0011..Prescaler divides the prescaler clock by 16; glitch filter recognizes change on input pin after 8 rising clock edges. 12365 * 0b0100..Prescaler divides the prescaler clock by 32; glitch filter recognizes change on input pin after 16 rising clock edges. 12366 * 0b0101..Prescaler divides the prescaler clock by 64; glitch filter recognizes change on input pin after 32 rising clock edges. 12367 * 0b0110..Prescaler divides the prescaler clock by 128; glitch filter recognizes change on input pin after 64 rising clock edges. 12368 * 0b0111..Prescaler divides the prescaler clock by 256; glitch filter recognizes change on input pin after 128 rising clock edges. 12369 * 0b1000..Prescaler divides the prescaler clock by 512; glitch filter recognizes change on input pin after 256 rising clock edges. 12370 * 0b1001..Prescaler divides the prescaler clock by 1024; glitch filter recognizes change on input pin after 512 rising clock edges. 12371 * 0b1010..Prescaler divides the prescaler clock by 2048; glitch filter recognizes change on input pin after 1024 rising clock edges. 12372 * 0b1011..Prescaler divides the prescaler clock by 4096; glitch filter recognizes change on input pin after 2048 rising clock edges. 12373 * 0b1100..Prescaler divides the prescaler clock by 8192; glitch filter recognizes change on input pin after 4096 rising clock edges. 12374 * 0b1101..Prescaler divides the prescaler clock by 16,384; glitch filter recognizes change on input pin after 8192 rising clock edges. 12375 * 0b1110..Prescaler divides the prescaler clock by 32,768; glitch filter recognizes change on input pin after 16,384 rising clock edges. 12376 * 0b1111..Prescaler divides the prescaler clock by 65,536; glitch filter recognizes change on input pin after 32,768 rising clock edges. 12377 */ 12378 #define LPTMR_PSR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_PSR_PRESCALE_SHIFT)) & LPTMR_PSR_PRESCALE_MASK) 12379 /*! @} */ 12380 12381 /*! @name CMR - Low Power Timer Compare Register */ 12382 /*! @{ */ 12383 #define LPTMR_CMR_COMPARE_MASK (0xFFFFFFFFU) 12384 #define LPTMR_CMR_COMPARE_SHIFT (0U) 12385 #define LPTMR_CMR_COMPARE(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CMR_COMPARE_SHIFT)) & LPTMR_CMR_COMPARE_MASK) 12386 /*! @} */ 12387 12388 /*! @name CNR - Low Power Timer Counter Register */ 12389 /*! @{ */ 12390 #define LPTMR_CNR_COUNTER_MASK (0xFFFFFFFFU) 12391 #define LPTMR_CNR_COUNTER_SHIFT (0U) 12392 #define LPTMR_CNR_COUNTER(x) (((uint32_t)(((uint32_t)(x)) << LPTMR_CNR_COUNTER_SHIFT)) & LPTMR_CNR_COUNTER_MASK) 12393 /*! @} */ 12394 12395 12396 /*! 12397 * @} 12398 */ /* end of group LPTMR_Register_Masks */ 12399 12400 12401 /* LPTMR - Peripheral instance base addresses */ 12402 /** Peripheral LPTMR0 base address */ 12403 #define LPTMR0_BASE (0x40032000u) 12404 /** Peripheral LPTMR0 base pointer */ 12405 #define LPTMR0 ((LPTMR_Type *)LPTMR0_BASE) 12406 /** Peripheral LPTMR1 base address */ 12407 #define LPTMR1_BASE (0x40033000u) 12408 /** Peripheral LPTMR1 base pointer */ 12409 #define LPTMR1 ((LPTMR_Type *)LPTMR1_BASE) 12410 /** Peripheral LPTMR2 base address */ 12411 #define LPTMR2_BASE (0x4102B000u) 12412 /** Peripheral LPTMR2 base pointer */ 12413 #define LPTMR2 ((LPTMR_Type *)LPTMR2_BASE) 12414 /** Array initializer of LPTMR peripheral base addresses */ 12415 #define LPTMR_BASE_ADDRS { LPTMR0_BASE, LPTMR1_BASE, LPTMR2_BASE } 12416 /** Array initializer of LPTMR peripheral base pointers */ 12417 #define LPTMR_BASE_PTRS { LPTMR0, LPTMR1, LPTMR2 } 12418 /** Interrupt vectors for the LPTMR peripheral type */ 12419 #define LPTMR_IRQS { LPTMR0_IRQn, LPTMR1_IRQn, LPTMR2_IRQn } 12420 12421 /*! 12422 * @} 12423 */ /* end of group LPTMR_Peripheral_Access_Layer */ 12424 12425 12426 /* ---------------------------------------------------------------------------- 12427 -- LPUART Peripheral Access Layer 12428 ---------------------------------------------------------------------------- */ 12429 12430 /*! 12431 * @addtogroup LPUART_Peripheral_Access_Layer LPUART Peripheral Access Layer 12432 * @{ 12433 */ 12434 12435 /** LPUART - Register Layout Typedef */ 12436 typedef struct { 12437 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 12438 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 12439 __IO uint32_t GLOBAL; /**< LPUART Global Register, offset: 0x8 */ 12440 __IO uint32_t PINCFG; /**< LPUART Pin Configuration Register, offset: 0xC */ 12441 __IO uint32_t BAUD; /**< LPUART Baud Rate Register, offset: 0x10 */ 12442 __IO uint32_t STAT; /**< LPUART Status Register, offset: 0x14 */ 12443 __IO uint32_t CTRL; /**< LPUART Control Register, offset: 0x18 */ 12444 __IO uint32_t DATA; /**< LPUART Data Register, offset: 0x1C */ 12445 __IO uint32_t MATCH; /**< LPUART Match Address Register, offset: 0x20 */ 12446 __IO uint32_t MODIR; /**< LPUART Modem IrDA Register, offset: 0x24 */ 12447 __IO uint32_t FIFO; /**< LPUART FIFO Register, offset: 0x28 */ 12448 __IO uint32_t WATER; /**< LPUART Watermark Register, offset: 0x2C */ 12449 } LPUART_Type; 12450 12451 /* ---------------------------------------------------------------------------- 12452 -- LPUART Register Masks 12453 ---------------------------------------------------------------------------- */ 12454 12455 /*! 12456 * @addtogroup LPUART_Register_Masks LPUART Register Masks 12457 * @{ 12458 */ 12459 12460 /*! @name VERID - Version ID Register */ 12461 /*! @{ */ 12462 #define LPUART_VERID_FEATURE_MASK (0xFFFFU) 12463 #define LPUART_VERID_FEATURE_SHIFT (0U) 12464 /*! FEATURE - Feature Identification Number 12465 * 0b0000000000000001..Standard feature set. 12466 * 0b0000000000000011..Standard feature set with MODEM/IrDA support. 12467 */ 12468 #define LPUART_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_FEATURE_SHIFT)) & LPUART_VERID_FEATURE_MASK) 12469 #define LPUART_VERID_MINOR_MASK (0xFF0000U) 12470 #define LPUART_VERID_MINOR_SHIFT (16U) 12471 #define LPUART_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MINOR_SHIFT)) & LPUART_VERID_MINOR_MASK) 12472 #define LPUART_VERID_MAJOR_MASK (0xFF000000U) 12473 #define LPUART_VERID_MAJOR_SHIFT (24U) 12474 #define LPUART_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_VERID_MAJOR_SHIFT)) & LPUART_VERID_MAJOR_MASK) 12475 /*! @} */ 12476 12477 /*! @name PARAM - Parameter Register */ 12478 /*! @{ */ 12479 #define LPUART_PARAM_TXFIFO_MASK (0xFFU) 12480 #define LPUART_PARAM_TXFIFO_SHIFT (0U) 12481 #define LPUART_PARAM_TXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_TXFIFO_SHIFT)) & LPUART_PARAM_TXFIFO_MASK) 12482 #define LPUART_PARAM_RXFIFO_MASK (0xFF00U) 12483 #define LPUART_PARAM_RXFIFO_SHIFT (8U) 12484 #define LPUART_PARAM_RXFIFO(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PARAM_RXFIFO_SHIFT)) & LPUART_PARAM_RXFIFO_MASK) 12485 /*! @} */ 12486 12487 /*! @name GLOBAL - LPUART Global Register */ 12488 /*! @{ */ 12489 #define LPUART_GLOBAL_RST_MASK (0x2U) 12490 #define LPUART_GLOBAL_RST_SHIFT (1U) 12491 /*! RST - Software Reset 12492 * 0b0..Module is not reset. 12493 * 0b1..Module is reset. 12494 */ 12495 #define LPUART_GLOBAL_RST(x) (((uint32_t)(((uint32_t)(x)) << LPUART_GLOBAL_RST_SHIFT)) & LPUART_GLOBAL_RST_MASK) 12496 /*! @} */ 12497 12498 /*! @name PINCFG - LPUART Pin Configuration Register */ 12499 /*! @{ */ 12500 #define LPUART_PINCFG_TRGSEL_MASK (0x3U) 12501 #define LPUART_PINCFG_TRGSEL_SHIFT (0U) 12502 /*! TRGSEL - Trigger Select 12503 * 0b00..Input trigger is disabled. 12504 * 0b01..Input trigger is used instead of RXD pin input. 12505 * 0b10..Input trigger is used instead of CTS_B pin input. 12506 * 0b11..Input trigger is used to modulate the TXD pin output. The TXD pin output (after TXINV configuration) is ANDed with the input trigger. 12507 */ 12508 #define LPUART_PINCFG_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_PINCFG_TRGSEL_SHIFT)) & LPUART_PINCFG_TRGSEL_MASK) 12509 /*! @} */ 12510 12511 /*! @name BAUD - LPUART Baud Rate Register */ 12512 /*! @{ */ 12513 #define LPUART_BAUD_SBR_MASK (0x1FFFU) 12514 #define LPUART_BAUD_SBR_SHIFT (0U) 12515 #define LPUART_BAUD_SBR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBR_SHIFT)) & LPUART_BAUD_SBR_MASK) 12516 #define LPUART_BAUD_SBNS_MASK (0x2000U) 12517 #define LPUART_BAUD_SBNS_SHIFT (13U) 12518 /*! SBNS - Stop Bit Number Select 12519 * 0b0..One stop bit. 12520 * 0b1..Two stop bits. 12521 */ 12522 #define LPUART_BAUD_SBNS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_SBNS_SHIFT)) & LPUART_BAUD_SBNS_MASK) 12523 #define LPUART_BAUD_RXEDGIE_MASK (0x4000U) 12524 #define LPUART_BAUD_RXEDGIE_SHIFT (14U) 12525 /*! RXEDGIE - RX Input Active Edge Interrupt Enable 12526 * 0b0..Hardware interrupts from LPUART_STAT[RXEDGIF] disabled. 12527 * 0b1..Hardware interrupt requested when LPUART_STAT[RXEDGIF] flag is 1. 12528 */ 12529 #define LPUART_BAUD_RXEDGIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RXEDGIE_SHIFT)) & LPUART_BAUD_RXEDGIE_MASK) 12530 #define LPUART_BAUD_LBKDIE_MASK (0x8000U) 12531 #define LPUART_BAUD_LBKDIE_SHIFT (15U) 12532 /*! LBKDIE - LIN Break Detect Interrupt Enable 12533 * 0b0..Hardware interrupts from LPUART_STAT[LBKDIF] disabled (use polling). 12534 * 0b1..Hardware interrupt requested when LPUART_STAT[LBKDIF] flag is 1. 12535 */ 12536 #define LPUART_BAUD_LBKDIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_LBKDIE_SHIFT)) & LPUART_BAUD_LBKDIE_MASK) 12537 #define LPUART_BAUD_RESYNCDIS_MASK (0x10000U) 12538 #define LPUART_BAUD_RESYNCDIS_SHIFT (16U) 12539 /*! RESYNCDIS - Resynchronization Disable 12540 * 0b0..Resynchronization during received data word is supported 12541 * 0b1..Resynchronization during received data word is disabled 12542 */ 12543 #define LPUART_BAUD_RESYNCDIS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RESYNCDIS_SHIFT)) & LPUART_BAUD_RESYNCDIS_MASK) 12544 #define LPUART_BAUD_BOTHEDGE_MASK (0x20000U) 12545 #define LPUART_BAUD_BOTHEDGE_SHIFT (17U) 12546 /*! BOTHEDGE - Both Edge Sampling 12547 * 0b0..Receiver samples input data using the rising edge of the baud rate clock. 12548 * 0b1..Receiver samples input data using the rising and falling edge of the baud rate clock. 12549 */ 12550 #define LPUART_BAUD_BOTHEDGE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_BOTHEDGE_SHIFT)) & LPUART_BAUD_BOTHEDGE_MASK) 12551 #define LPUART_BAUD_MATCFG_MASK (0xC0000U) 12552 #define LPUART_BAUD_MATCFG_SHIFT (18U) 12553 /*! MATCFG - Match Configuration 12554 * 0b00..Address Match Wakeup 12555 * 0b01..Idle Match Wakeup 12556 * 0b10..Match On and Match Off 12557 * 0b11..Enables RWU on Data Match and Match On/Off for transmitter CTS input 12558 */ 12559 #define LPUART_BAUD_MATCFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MATCFG_SHIFT)) & LPUART_BAUD_MATCFG_MASK) 12560 #define LPUART_BAUD_RIDMAE_MASK (0x100000U) 12561 #define LPUART_BAUD_RIDMAE_SHIFT (20U) 12562 /*! RIDMAE - Receiver Idle DMA Enable 12563 * 0b0..DMA request disabled. 12564 * 0b1..DMA request enabled. 12565 */ 12566 #define LPUART_BAUD_RIDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RIDMAE_SHIFT)) & LPUART_BAUD_RIDMAE_MASK) 12567 #define LPUART_BAUD_RDMAE_MASK (0x200000U) 12568 #define LPUART_BAUD_RDMAE_SHIFT (21U) 12569 /*! RDMAE - Receiver Full DMA Enable 12570 * 0b0..DMA request disabled. 12571 * 0b1..DMA request enabled. 12572 */ 12573 #define LPUART_BAUD_RDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_RDMAE_SHIFT)) & LPUART_BAUD_RDMAE_MASK) 12574 #define LPUART_BAUD_TDMAE_MASK (0x800000U) 12575 #define LPUART_BAUD_TDMAE_SHIFT (23U) 12576 /*! TDMAE - Transmitter DMA Enable 12577 * 0b0..DMA request disabled. 12578 * 0b1..DMA request enabled. 12579 */ 12580 #define LPUART_BAUD_TDMAE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_TDMAE_SHIFT)) & LPUART_BAUD_TDMAE_MASK) 12581 #define LPUART_BAUD_OSR_MASK (0x1F000000U) 12582 #define LPUART_BAUD_OSR_SHIFT (24U) 12583 /*! OSR - Oversampling Ratio 12584 * 0b00000..Writing 0 to this field will result in an oversampling ratio of 16 12585 * 0b00001..Reserved 12586 * 0b00010..Reserved 12587 * 0b00011..Oversampling ratio of 4, requires BOTHEDGE to be set. 12588 * 0b00100..Oversampling ratio of 5, requires BOTHEDGE to be set. 12589 * 0b00101..Oversampling ratio of 6, requires BOTHEDGE to be set. 12590 * 0b00110..Oversampling ratio of 7, requires BOTHEDGE to be set. 12591 * 0b00111..Oversampling ratio of 8. 12592 * 0b01000..Oversampling ratio of 9. 12593 * 0b01001..Oversampling ratio of 10. 12594 * 0b01010..Oversampling ratio of 11. 12595 * 0b01011..Oversampling ratio of 12. 12596 * 0b01100..Oversampling ratio of 13. 12597 * 0b01101..Oversampling ratio of 14. 12598 * 0b01110..Oversampling ratio of 15. 12599 * 0b01111..Oversampling ratio of 16. 12600 * 0b10000..Oversampling ratio of 17. 12601 * 0b10001..Oversampling ratio of 18. 12602 * 0b10010..Oversampling ratio of 19. 12603 * 0b10011..Oversampling ratio of 20. 12604 * 0b10100..Oversampling ratio of 21. 12605 * 0b10101..Oversampling ratio of 22. 12606 * 0b10110..Oversampling ratio of 23. 12607 * 0b10111..Oversampling ratio of 24. 12608 * 0b11000..Oversampling ratio of 25. 12609 * 0b11001..Oversampling ratio of 26. 12610 * 0b11010..Oversampling ratio of 27. 12611 * 0b11011..Oversampling ratio of 28. 12612 * 0b11100..Oversampling ratio of 29. 12613 * 0b11101..Oversampling ratio of 30. 12614 * 0b11110..Oversampling ratio of 31. 12615 * 0b11111..Oversampling ratio of 32. 12616 */ 12617 #define LPUART_BAUD_OSR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_OSR_SHIFT)) & LPUART_BAUD_OSR_MASK) 12618 #define LPUART_BAUD_M10_MASK (0x20000000U) 12619 #define LPUART_BAUD_M10_SHIFT (29U) 12620 /*! M10 - 10-bit Mode select 12621 * 0b0..Receiver and transmitter use 7-bit to 9-bit data characters. 12622 * 0b1..Receiver and transmitter use 10-bit data characters. 12623 */ 12624 #define LPUART_BAUD_M10(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_M10_SHIFT)) & LPUART_BAUD_M10_MASK) 12625 #define LPUART_BAUD_MAEN2_MASK (0x40000000U) 12626 #define LPUART_BAUD_MAEN2_SHIFT (30U) 12627 /*! MAEN2 - Match Address Mode Enable 2 12628 * 0b0..Normal operation. 12629 * 0b1..Enables automatic address matching or data matching mode for MATCH[MA2]. 12630 */ 12631 #define LPUART_BAUD_MAEN2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN2_SHIFT)) & LPUART_BAUD_MAEN2_MASK) 12632 #define LPUART_BAUD_MAEN1_MASK (0x80000000U) 12633 #define LPUART_BAUD_MAEN1_SHIFT (31U) 12634 /*! MAEN1 - Match Address Mode Enable 1 12635 * 0b0..Normal operation. 12636 * 0b1..Enables automatic address matching or data matching mode for MATCH[MA1]. 12637 */ 12638 #define LPUART_BAUD_MAEN1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_BAUD_MAEN1_SHIFT)) & LPUART_BAUD_MAEN1_MASK) 12639 /*! @} */ 12640 12641 /*! @name STAT - LPUART Status Register */ 12642 /*! @{ */ 12643 #define LPUART_STAT_MA2F_MASK (0x4000U) 12644 #define LPUART_STAT_MA2F_SHIFT (14U) 12645 /*! MA2F - Match 2 Flag 12646 * 0b0..Received data is not equal to MA2 12647 * 0b1..Received data is equal to MA2 12648 */ 12649 #define LPUART_STAT_MA2F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA2F_SHIFT)) & LPUART_STAT_MA2F_MASK) 12650 #define LPUART_STAT_MA1F_MASK (0x8000U) 12651 #define LPUART_STAT_MA1F_SHIFT (15U) 12652 /*! MA1F - Match 1 Flag 12653 * 0b0..Received data is not equal to MA1 12654 * 0b1..Received data is equal to MA1 12655 */ 12656 #define LPUART_STAT_MA1F(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MA1F_SHIFT)) & LPUART_STAT_MA1F_MASK) 12657 #define LPUART_STAT_PF_MASK (0x10000U) 12658 #define LPUART_STAT_PF_SHIFT (16U) 12659 /*! PF - Parity Error Flag 12660 * 0b0..No parity error. 12661 * 0b1..Parity error. 12662 */ 12663 #define LPUART_STAT_PF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_PF_SHIFT)) & LPUART_STAT_PF_MASK) 12664 #define LPUART_STAT_FE_MASK (0x20000U) 12665 #define LPUART_STAT_FE_SHIFT (17U) 12666 /*! FE - Framing Error Flag 12667 * 0b0..No framing error detected. This does not guarantee the framing is correct. 12668 * 0b1..Framing error. 12669 */ 12670 #define LPUART_STAT_FE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_FE_SHIFT)) & LPUART_STAT_FE_MASK) 12671 #define LPUART_STAT_NF_MASK (0x40000U) 12672 #define LPUART_STAT_NF_SHIFT (18U) 12673 /*! NF - Noise Flag 12674 * 0b0..No noise detected. 12675 * 0b1..Noise detected in the received character in LPUART_DATA. 12676 */ 12677 #define LPUART_STAT_NF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_NF_SHIFT)) & LPUART_STAT_NF_MASK) 12678 #define LPUART_STAT_OR_MASK (0x80000U) 12679 #define LPUART_STAT_OR_SHIFT (19U) 12680 /*! OR - Receiver Overrun Flag 12681 * 0b0..No overrun. 12682 * 0b1..Receive overrun (new LPUART data lost). 12683 */ 12684 #define LPUART_STAT_OR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_OR_SHIFT)) & LPUART_STAT_OR_MASK) 12685 #define LPUART_STAT_IDLE_MASK (0x100000U) 12686 #define LPUART_STAT_IDLE_SHIFT (20U) 12687 /*! IDLE - Idle Line Flag 12688 * 0b0..No idle line detected. 12689 * 0b1..Idle line was detected. 12690 */ 12691 #define LPUART_STAT_IDLE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_IDLE_SHIFT)) & LPUART_STAT_IDLE_MASK) 12692 #define LPUART_STAT_RDRF_MASK (0x200000U) 12693 #define LPUART_STAT_RDRF_SHIFT (21U) 12694 /*! RDRF - Receive Data Register Full Flag 12695 * 0b0..Receive data buffer empty. 12696 * 0b1..Receive data buffer full. 12697 */ 12698 #define LPUART_STAT_RDRF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RDRF_SHIFT)) & LPUART_STAT_RDRF_MASK) 12699 #define LPUART_STAT_TC_MASK (0x400000U) 12700 #define LPUART_STAT_TC_SHIFT (22U) 12701 /*! TC - Transmission Complete Flag 12702 * 0b0..Transmitter active (sending data, a preamble, or a break). 12703 * 0b1..Transmitter idle (transmission activity complete). 12704 */ 12705 #define LPUART_STAT_TC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TC_SHIFT)) & LPUART_STAT_TC_MASK) 12706 #define LPUART_STAT_TDRE_MASK (0x800000U) 12707 #define LPUART_STAT_TDRE_SHIFT (23U) 12708 /*! TDRE - Transmit Data Register Empty Flag 12709 * 0b0..Transmit data buffer full. 12710 * 0b1..Transmit data buffer empty. 12711 */ 12712 #define LPUART_STAT_TDRE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_TDRE_SHIFT)) & LPUART_STAT_TDRE_MASK) 12713 #define LPUART_STAT_RAF_MASK (0x1000000U) 12714 #define LPUART_STAT_RAF_SHIFT (24U) 12715 /*! RAF - Receiver Active Flag 12716 * 0b0..LPUART receiver idle waiting for a start bit. 12717 * 0b1..LPUART receiver active (RXD input not idle). 12718 */ 12719 #define LPUART_STAT_RAF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RAF_SHIFT)) & LPUART_STAT_RAF_MASK) 12720 #define LPUART_STAT_LBKDE_MASK (0x2000000U) 12721 #define LPUART_STAT_LBKDE_SHIFT (25U) 12722 /*! LBKDE - LIN Break Detection Enable 12723 * 0b0..LIN break detect is disabled, normal break character can be detected. 12724 * 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). 12725 */ 12726 #define LPUART_STAT_LBKDE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDE_SHIFT)) & LPUART_STAT_LBKDE_MASK) 12727 #define LPUART_STAT_BRK13_MASK (0x4000000U) 12728 #define LPUART_STAT_BRK13_SHIFT (26U) 12729 /*! BRK13 - Break Character Generation Length 12730 * 0b0..Break character is transmitted with length of 9 to 13 bit times. 12731 * 0b1..Break character is transmitted with length of 12 to 15 bit times. 12732 */ 12733 #define LPUART_STAT_BRK13(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_BRK13_SHIFT)) & LPUART_STAT_BRK13_MASK) 12734 #define LPUART_STAT_RWUID_MASK (0x8000000U) 12735 #define LPUART_STAT_RWUID_SHIFT (27U) 12736 /*! RWUID - Receive Wake Up Idle Detect 12737 * 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. 12738 * 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. 12739 */ 12740 #define LPUART_STAT_RWUID(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RWUID_SHIFT)) & LPUART_STAT_RWUID_MASK) 12741 #define LPUART_STAT_RXINV_MASK (0x10000000U) 12742 #define LPUART_STAT_RXINV_SHIFT (28U) 12743 /*! RXINV - Receive Data Inversion 12744 * 0b0..Receive data not inverted. 12745 * 0b1..Receive data inverted. 12746 */ 12747 #define LPUART_STAT_RXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXINV_SHIFT)) & LPUART_STAT_RXINV_MASK) 12748 #define LPUART_STAT_MSBF_MASK (0x20000000U) 12749 #define LPUART_STAT_MSBF_SHIFT (29U) 12750 /*! MSBF - MSB First 12751 * 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. 12752 * 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]. 12753 */ 12754 #define LPUART_STAT_MSBF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_MSBF_SHIFT)) & LPUART_STAT_MSBF_MASK) 12755 #define LPUART_STAT_RXEDGIF_MASK (0x40000000U) 12756 #define LPUART_STAT_RXEDGIF_SHIFT (30U) 12757 /*! RXEDGIF - RXD Pin Active Edge Interrupt Flag 12758 * 0b0..No active edge on the receive pin has occurred. 12759 * 0b1..An active edge on the receive pin has occurred. 12760 */ 12761 #define LPUART_STAT_RXEDGIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_RXEDGIF_SHIFT)) & LPUART_STAT_RXEDGIF_MASK) 12762 #define LPUART_STAT_LBKDIF_MASK (0x80000000U) 12763 #define LPUART_STAT_LBKDIF_SHIFT (31U) 12764 /*! LBKDIF - LIN Break Detect Interrupt Flag 12765 * 0b0..No LIN break character has been detected. 12766 * 0b1..LIN break character has been detected. 12767 */ 12768 #define LPUART_STAT_LBKDIF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_STAT_LBKDIF_SHIFT)) & LPUART_STAT_LBKDIF_MASK) 12769 /*! @} */ 12770 12771 /*! @name CTRL - LPUART Control Register */ 12772 /*! @{ */ 12773 #define LPUART_CTRL_PT_MASK (0x1U) 12774 #define LPUART_CTRL_PT_SHIFT (0U) 12775 /*! PT - Parity Type 12776 * 0b0..Even parity. 12777 * 0b1..Odd parity. 12778 */ 12779 #define LPUART_CTRL_PT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PT_SHIFT)) & LPUART_CTRL_PT_MASK) 12780 #define LPUART_CTRL_PE_MASK (0x2U) 12781 #define LPUART_CTRL_PE_SHIFT (1U) 12782 /*! PE - Parity Enable 12783 * 0b0..No hardware parity generation or checking. 12784 * 0b1..Parity enabled. 12785 */ 12786 #define LPUART_CTRL_PE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PE_SHIFT)) & LPUART_CTRL_PE_MASK) 12787 #define LPUART_CTRL_ILT_MASK (0x4U) 12788 #define LPUART_CTRL_ILT_SHIFT (2U) 12789 /*! ILT - Idle Line Type Select 12790 * 0b0..Idle character bit count starts after start bit. 12791 * 0b1..Idle character bit count starts after stop bit. 12792 */ 12793 #define LPUART_CTRL_ILT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILT_SHIFT)) & LPUART_CTRL_ILT_MASK) 12794 #define LPUART_CTRL_WAKE_MASK (0x8U) 12795 #define LPUART_CTRL_WAKE_SHIFT (3U) 12796 /*! WAKE - Receiver Wakeup Method Select 12797 * 0b0..Configures RWU for idle-line wakeup. 12798 * 0b1..Configures RWU with address-mark wakeup. 12799 */ 12800 #define LPUART_CTRL_WAKE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_WAKE_SHIFT)) & LPUART_CTRL_WAKE_MASK) 12801 #define LPUART_CTRL_M_MASK (0x10U) 12802 #define LPUART_CTRL_M_SHIFT (4U) 12803 /*! M - 9-Bit or 8-Bit Mode Select 12804 * 0b0..Receiver and transmitter use 8-bit data characters. 12805 * 0b1..Receiver and transmitter use 9-bit data characters. 12806 */ 12807 #define LPUART_CTRL_M(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M_SHIFT)) & LPUART_CTRL_M_MASK) 12808 #define LPUART_CTRL_RSRC_MASK (0x20U) 12809 #define LPUART_CTRL_RSRC_SHIFT (5U) 12810 /*! RSRC - Receiver Source Select 12811 * 0b0..Provided LOOPS is set, RSRC is cleared, selects internal loop back mode and the LPUART does not use the RXD pin. 12812 * 0b1..Single-wire LPUART mode where the TXD pin is connected to the transmitter output and receiver input. 12813 */ 12814 #define LPUART_CTRL_RSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RSRC_SHIFT)) & LPUART_CTRL_RSRC_MASK) 12815 #define LPUART_CTRL_DOZEEN_MASK (0x40U) 12816 #define LPUART_CTRL_DOZEEN_SHIFT (6U) 12817 /*! DOZEEN - Doze Enable 12818 * 0b0..LPUART is enabled in Doze mode. 12819 * 0b1..LPUART is disabled in Doze mode. 12820 */ 12821 #define LPUART_CTRL_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_DOZEEN_SHIFT)) & LPUART_CTRL_DOZEEN_MASK) 12822 #define LPUART_CTRL_LOOPS_MASK (0x80U) 12823 #define LPUART_CTRL_LOOPS_SHIFT (7U) 12824 /*! LOOPS - Loop Mode Select 12825 * 0b0..Normal operation - RXD and TXD use separate pins. 12826 * 0b1..Loop mode or single-wire mode where transmitter outputs are internally connected to receiver input (see RSRC bit). 12827 */ 12828 #define LPUART_CTRL_LOOPS(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_LOOPS_SHIFT)) & LPUART_CTRL_LOOPS_MASK) 12829 #define LPUART_CTRL_IDLECFG_MASK (0x700U) 12830 #define LPUART_CTRL_IDLECFG_SHIFT (8U) 12831 /*! IDLECFG - Idle Configuration 12832 * 0b000..1 idle character 12833 * 0b001..2 idle characters 12834 * 0b010..4 idle characters 12835 * 0b011..8 idle characters 12836 * 0b100..16 idle characters 12837 * 0b101..32 idle characters 12838 * 0b110..64 idle characters 12839 * 0b111..128 idle characters 12840 */ 12841 #define LPUART_CTRL_IDLECFG(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_IDLECFG_SHIFT)) & LPUART_CTRL_IDLECFG_MASK) 12842 #define LPUART_CTRL_M7_MASK (0x800U) 12843 #define LPUART_CTRL_M7_SHIFT (11U) 12844 /*! M7 - 7-Bit Mode Select 12845 * 0b0..Receiver and transmitter use 8-bit to 10-bit data characters. 12846 * 0b1..Receiver and transmitter use 7-bit data characters. 12847 */ 12848 #define LPUART_CTRL_M7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_M7_SHIFT)) & LPUART_CTRL_M7_MASK) 12849 #define LPUART_CTRL_MA2IE_MASK (0x4000U) 12850 #define LPUART_CTRL_MA2IE_SHIFT (14U) 12851 /*! MA2IE - Match 2 Interrupt Enable 12852 * 0b0..MA2F interrupt disabled 12853 * 0b1..MA2F interrupt enabled 12854 */ 12855 #define LPUART_CTRL_MA2IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA2IE_SHIFT)) & LPUART_CTRL_MA2IE_MASK) 12856 #define LPUART_CTRL_MA1IE_MASK (0x8000U) 12857 #define LPUART_CTRL_MA1IE_SHIFT (15U) 12858 /*! MA1IE - Match 1 Interrupt Enable 12859 * 0b0..MA1F interrupt disabled 12860 * 0b1..MA1F interrupt enabled 12861 */ 12862 #define LPUART_CTRL_MA1IE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_MA1IE_SHIFT)) & LPUART_CTRL_MA1IE_MASK) 12863 #define LPUART_CTRL_SBK_MASK (0x10000U) 12864 #define LPUART_CTRL_SBK_SHIFT (16U) 12865 /*! SBK - Send Break 12866 * 0b0..Normal transmitter operation. 12867 * 0b1..Queue break character(s) to be sent. 12868 */ 12869 #define LPUART_CTRL_SBK(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_SBK_SHIFT)) & LPUART_CTRL_SBK_MASK) 12870 #define LPUART_CTRL_RWU_MASK (0x20000U) 12871 #define LPUART_CTRL_RWU_SHIFT (17U) 12872 /*! RWU - Receiver Wakeup Control 12873 * 0b0..Normal receiver operation. 12874 * 0b1..LPUART receiver in standby waiting for wakeup condition. 12875 */ 12876 #define LPUART_CTRL_RWU(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RWU_SHIFT)) & LPUART_CTRL_RWU_MASK) 12877 #define LPUART_CTRL_RE_MASK (0x40000U) 12878 #define LPUART_CTRL_RE_SHIFT (18U) 12879 /*! RE - Receiver Enable 12880 * 0b0..Receiver disabled. 12881 * 0b1..Receiver enabled. 12882 */ 12883 #define LPUART_CTRL_RE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RE_SHIFT)) & LPUART_CTRL_RE_MASK) 12884 #define LPUART_CTRL_TE_MASK (0x80000U) 12885 #define LPUART_CTRL_TE_SHIFT (19U) 12886 /*! TE - Transmitter Enable 12887 * 0b0..Transmitter disabled. 12888 * 0b1..Transmitter enabled. 12889 */ 12890 #define LPUART_CTRL_TE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TE_SHIFT)) & LPUART_CTRL_TE_MASK) 12891 #define LPUART_CTRL_ILIE_MASK (0x100000U) 12892 #define LPUART_CTRL_ILIE_SHIFT (20U) 12893 /*! ILIE - Idle Line Interrupt Enable 12894 * 0b0..Hardware interrupts from IDLE disabled; use polling. 12895 * 0b1..Hardware interrupt requested when IDLE flag is 1. 12896 */ 12897 #define LPUART_CTRL_ILIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ILIE_SHIFT)) & LPUART_CTRL_ILIE_MASK) 12898 #define LPUART_CTRL_RIE_MASK (0x200000U) 12899 #define LPUART_CTRL_RIE_SHIFT (21U) 12900 /*! RIE - Receiver Interrupt Enable 12901 * 0b0..Hardware interrupts from RDRF disabled; use polling. 12902 * 0b1..Hardware interrupt requested when RDRF flag is 1. 12903 */ 12904 #define LPUART_CTRL_RIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_RIE_SHIFT)) & LPUART_CTRL_RIE_MASK) 12905 #define LPUART_CTRL_TCIE_MASK (0x400000U) 12906 #define LPUART_CTRL_TCIE_SHIFT (22U) 12907 /*! TCIE - Transmission Complete Interrupt Enable for 12908 * 0b0..Hardware interrupts from TC disabled; use polling. 12909 * 0b1..Hardware interrupt requested when TC flag is 1. 12910 */ 12911 #define LPUART_CTRL_TCIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TCIE_SHIFT)) & LPUART_CTRL_TCIE_MASK) 12912 #define LPUART_CTRL_TIE_MASK (0x800000U) 12913 #define LPUART_CTRL_TIE_SHIFT (23U) 12914 /*! TIE - Transmit Interrupt Enable 12915 * 0b0..Hardware interrupts from TDRE disabled; use polling. 12916 * 0b1..Hardware interrupt requested when TDRE flag is 1. 12917 */ 12918 #define LPUART_CTRL_TIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TIE_SHIFT)) & LPUART_CTRL_TIE_MASK) 12919 #define LPUART_CTRL_PEIE_MASK (0x1000000U) 12920 #define LPUART_CTRL_PEIE_SHIFT (24U) 12921 /*! PEIE - Parity Error Interrupt Enable 12922 * 0b0..PF interrupts disabled; use polling). 12923 * 0b1..Hardware interrupt requested when PF is set. 12924 */ 12925 #define LPUART_CTRL_PEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_PEIE_SHIFT)) & LPUART_CTRL_PEIE_MASK) 12926 #define LPUART_CTRL_FEIE_MASK (0x2000000U) 12927 #define LPUART_CTRL_FEIE_SHIFT (25U) 12928 /*! FEIE - Framing Error Interrupt Enable 12929 * 0b0..FE interrupts disabled; use polling. 12930 * 0b1..Hardware interrupt requested when FE is set. 12931 */ 12932 #define LPUART_CTRL_FEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_FEIE_SHIFT)) & LPUART_CTRL_FEIE_MASK) 12933 #define LPUART_CTRL_NEIE_MASK (0x4000000U) 12934 #define LPUART_CTRL_NEIE_SHIFT (26U) 12935 /*! NEIE - Noise Error Interrupt Enable 12936 * 0b0..NF interrupts disabled; use polling. 12937 * 0b1..Hardware interrupt requested when NF is set. 12938 */ 12939 #define LPUART_CTRL_NEIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_NEIE_SHIFT)) & LPUART_CTRL_NEIE_MASK) 12940 #define LPUART_CTRL_ORIE_MASK (0x8000000U) 12941 #define LPUART_CTRL_ORIE_SHIFT (27U) 12942 /*! ORIE - Overrun Interrupt Enable 12943 * 0b0..OR interrupts disabled; use polling. 12944 * 0b1..Hardware interrupt requested when OR is set. 12945 */ 12946 #define LPUART_CTRL_ORIE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_ORIE_SHIFT)) & LPUART_CTRL_ORIE_MASK) 12947 #define LPUART_CTRL_TXINV_MASK (0x10000000U) 12948 #define LPUART_CTRL_TXINV_SHIFT (28U) 12949 /*! TXINV - Transmit Data Inversion 12950 * 0b0..Transmit data not inverted. 12951 * 0b1..Transmit data inverted. 12952 */ 12953 #define LPUART_CTRL_TXINV(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXINV_SHIFT)) & LPUART_CTRL_TXINV_MASK) 12954 #define LPUART_CTRL_TXDIR_MASK (0x20000000U) 12955 #define LPUART_CTRL_TXDIR_SHIFT (29U) 12956 /*! TXDIR - TXD Pin Direction in Single-Wire Mode 12957 * 0b0..TXD pin is an input in single-wire mode. 12958 * 0b1..TXD pin is an output in single-wire mode. 12959 */ 12960 #define LPUART_CTRL_TXDIR(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_TXDIR_SHIFT)) & LPUART_CTRL_TXDIR_MASK) 12961 #define LPUART_CTRL_R9T8_MASK (0x40000000U) 12962 #define LPUART_CTRL_R9T8_SHIFT (30U) 12963 #define LPUART_CTRL_R9T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R9T8_SHIFT)) & LPUART_CTRL_R9T8_MASK) 12964 #define LPUART_CTRL_R8T9_MASK (0x80000000U) 12965 #define LPUART_CTRL_R8T9_SHIFT (31U) 12966 #define LPUART_CTRL_R8T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_CTRL_R8T9_SHIFT)) & LPUART_CTRL_R8T9_MASK) 12967 /*! @} */ 12968 12969 /*! @name DATA - LPUART Data Register */ 12970 /*! @{ */ 12971 #define LPUART_DATA_R0T0_MASK (0x1U) 12972 #define LPUART_DATA_R0T0_SHIFT (0U) 12973 #define LPUART_DATA_R0T0(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R0T0_SHIFT)) & LPUART_DATA_R0T0_MASK) 12974 #define LPUART_DATA_R1T1_MASK (0x2U) 12975 #define LPUART_DATA_R1T1_SHIFT (1U) 12976 #define LPUART_DATA_R1T1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R1T1_SHIFT)) & LPUART_DATA_R1T1_MASK) 12977 #define LPUART_DATA_R2T2_MASK (0x4U) 12978 #define LPUART_DATA_R2T2_SHIFT (2U) 12979 #define LPUART_DATA_R2T2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R2T2_SHIFT)) & LPUART_DATA_R2T2_MASK) 12980 #define LPUART_DATA_R3T3_MASK (0x8U) 12981 #define LPUART_DATA_R3T3_SHIFT (3U) 12982 #define LPUART_DATA_R3T3(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R3T3_SHIFT)) & LPUART_DATA_R3T3_MASK) 12983 #define LPUART_DATA_R4T4_MASK (0x10U) 12984 #define LPUART_DATA_R4T4_SHIFT (4U) 12985 #define LPUART_DATA_R4T4(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R4T4_SHIFT)) & LPUART_DATA_R4T4_MASK) 12986 #define LPUART_DATA_R5T5_MASK (0x20U) 12987 #define LPUART_DATA_R5T5_SHIFT (5U) 12988 #define LPUART_DATA_R5T5(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R5T5_SHIFT)) & LPUART_DATA_R5T5_MASK) 12989 #define LPUART_DATA_R6T6_MASK (0x40U) 12990 #define LPUART_DATA_R6T6_SHIFT (6U) 12991 #define LPUART_DATA_R6T6(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R6T6_SHIFT)) & LPUART_DATA_R6T6_MASK) 12992 #define LPUART_DATA_R7T7_MASK (0x80U) 12993 #define LPUART_DATA_R7T7_SHIFT (7U) 12994 #define LPUART_DATA_R7T7(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R7T7_SHIFT)) & LPUART_DATA_R7T7_MASK) 12995 #define LPUART_DATA_R8T8_MASK (0x100U) 12996 #define LPUART_DATA_R8T8_SHIFT (8U) 12997 #define LPUART_DATA_R8T8(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R8T8_SHIFT)) & LPUART_DATA_R8T8_MASK) 12998 #define LPUART_DATA_R9T9_MASK (0x200U) 12999 #define LPUART_DATA_R9T9_SHIFT (9U) 13000 #define LPUART_DATA_R9T9(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_R9T9_SHIFT)) & LPUART_DATA_R9T9_MASK) 13001 #define LPUART_DATA_IDLINE_MASK (0x800U) 13002 #define LPUART_DATA_IDLINE_SHIFT (11U) 13003 /*! IDLINE - Idle Line 13004 * 0b0..Receiver was not idle before receiving this character. 13005 * 0b1..Receiver was idle before receiving this character. 13006 */ 13007 #define LPUART_DATA_IDLINE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_IDLINE_SHIFT)) & LPUART_DATA_IDLINE_MASK) 13008 #define LPUART_DATA_RXEMPT_MASK (0x1000U) 13009 #define LPUART_DATA_RXEMPT_SHIFT (12U) 13010 /*! RXEMPT - Receive Buffer Empty 13011 * 0b0..Receive buffer contains valid data. 13012 * 0b1..Receive buffer is empty, data returned on read is not valid. 13013 */ 13014 #define LPUART_DATA_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_RXEMPT_SHIFT)) & LPUART_DATA_RXEMPT_MASK) 13015 #define LPUART_DATA_FRETSC_MASK (0x2000U) 13016 #define LPUART_DATA_FRETSC_SHIFT (13U) 13017 /*! FRETSC - Frame Error / Transmit Special Character 13018 * 0b0..The dataword was received without a frame error on read, or transmit a normal character on write. 13019 * 0b1..The dataword was received with a frame error, or transmit an idle or break character on transmit. 13020 */ 13021 #define LPUART_DATA_FRETSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_FRETSC_SHIFT)) & LPUART_DATA_FRETSC_MASK) 13022 #define LPUART_DATA_PARITYE_MASK (0x4000U) 13023 #define LPUART_DATA_PARITYE_SHIFT (14U) 13024 /*! PARITYE - PARITYE 13025 * 0b0..The dataword was received without a parity error. 13026 * 0b1..The dataword was received with a parity error. 13027 */ 13028 #define LPUART_DATA_PARITYE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_PARITYE_SHIFT)) & LPUART_DATA_PARITYE_MASK) 13029 #define LPUART_DATA_NOISY_MASK (0x8000U) 13030 #define LPUART_DATA_NOISY_SHIFT (15U) 13031 /*! NOISY - NOISY 13032 * 0b0..The dataword was received without noise. 13033 * 0b1..The data was received with noise. 13034 */ 13035 #define LPUART_DATA_NOISY(x) (((uint32_t)(((uint32_t)(x)) << LPUART_DATA_NOISY_SHIFT)) & LPUART_DATA_NOISY_MASK) 13036 /*! @} */ 13037 13038 /*! @name MATCH - LPUART Match Address Register */ 13039 /*! @{ */ 13040 #define LPUART_MATCH_MA1_MASK (0x3FFU) 13041 #define LPUART_MATCH_MA1_SHIFT (0U) 13042 #define LPUART_MATCH_MA1(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA1_SHIFT)) & LPUART_MATCH_MA1_MASK) 13043 #define LPUART_MATCH_MA2_MASK (0x3FF0000U) 13044 #define LPUART_MATCH_MA2_SHIFT (16U) 13045 #define LPUART_MATCH_MA2(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MATCH_MA2_SHIFT)) & LPUART_MATCH_MA2_MASK) 13046 /*! @} */ 13047 13048 /*! @name MODIR - LPUART Modem IrDA Register */ 13049 /*! @{ */ 13050 #define LPUART_MODIR_TXCTSE_MASK (0x1U) 13051 #define LPUART_MODIR_TXCTSE_SHIFT (0U) 13052 /*! TXCTSE - Transmitter clear-to-send enable 13053 * 0b0..CTS has no effect on the transmitter. 13054 * 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. 13055 */ 13056 #define LPUART_MODIR_TXCTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSE_SHIFT)) & LPUART_MODIR_TXCTSE_MASK) 13057 #define LPUART_MODIR_TXRTSE_MASK (0x2U) 13058 #define LPUART_MODIR_TXRTSE_SHIFT (1U) 13059 /*! TXRTSE - Transmitter request-to-send enable 13060 * 0b0..The transmitter has no effect on RTS. 13061 * 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. 13062 */ 13063 #define LPUART_MODIR_TXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSE_SHIFT)) & LPUART_MODIR_TXRTSE_MASK) 13064 #define LPUART_MODIR_TXRTSPOL_MASK (0x4U) 13065 #define LPUART_MODIR_TXRTSPOL_SHIFT (2U) 13066 /*! TXRTSPOL - Transmitter request-to-send polarity 13067 * 0b0..Transmitter RTS is active low. 13068 * 0b1..Transmitter RTS is active high. 13069 */ 13070 #define LPUART_MODIR_TXRTSPOL(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXRTSPOL_SHIFT)) & LPUART_MODIR_TXRTSPOL_MASK) 13071 #define LPUART_MODIR_RXRTSE_MASK (0x8U) 13072 #define LPUART_MODIR_RXRTSE_SHIFT (3U) 13073 /*! RXRTSE - Receiver request-to-send enable 13074 * 0b0..The receiver has no effect on RTS. 13075 * 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. 13076 */ 13077 #define LPUART_MODIR_RXRTSE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RXRTSE_SHIFT)) & LPUART_MODIR_RXRTSE_MASK) 13078 #define LPUART_MODIR_TXCTSC_MASK (0x10U) 13079 #define LPUART_MODIR_TXCTSC_SHIFT (4U) 13080 /*! TXCTSC - Transmit CTS Configuration 13081 * 0b0..CTS input is sampled at the start of each character. 13082 * 0b1..CTS input is sampled when the transmitter is idle. 13083 */ 13084 #define LPUART_MODIR_TXCTSC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSC_SHIFT)) & LPUART_MODIR_TXCTSC_MASK) 13085 #define LPUART_MODIR_TXCTSSRC_MASK (0x20U) 13086 #define LPUART_MODIR_TXCTSSRC_SHIFT (5U) 13087 /*! TXCTSSRC - Transmit CTS Source 13088 * 0b0..CTS input is the CTS_B pin. 13089 * 0b1..CTS input is the inverted Receiver Match result. 13090 */ 13091 #define LPUART_MODIR_TXCTSSRC(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TXCTSSRC_SHIFT)) & LPUART_MODIR_TXCTSSRC_MASK) 13092 #define LPUART_MODIR_RTSWATER_MASK (0x700U) 13093 #define LPUART_MODIR_RTSWATER_SHIFT (8U) 13094 #define LPUART_MODIR_RTSWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_RTSWATER_SHIFT)) & LPUART_MODIR_RTSWATER_MASK) 13095 #define LPUART_MODIR_TNP_MASK (0x30000U) 13096 #define LPUART_MODIR_TNP_SHIFT (16U) 13097 /*! TNP - Transmitter narrow pulse 13098 * 0b00..1/OSR. 13099 * 0b01..2/OSR. 13100 * 0b10..3/OSR. 13101 * 0b11..4/OSR. 13102 */ 13103 #define LPUART_MODIR_TNP(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_TNP_SHIFT)) & LPUART_MODIR_TNP_MASK) 13104 #define LPUART_MODIR_IREN_MASK (0x40000U) 13105 #define LPUART_MODIR_IREN_SHIFT (18U) 13106 /*! IREN - Infrared enable 13107 * 0b0..IR disabled. 13108 * 0b1..IR enabled. 13109 */ 13110 #define LPUART_MODIR_IREN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_MODIR_IREN_SHIFT)) & LPUART_MODIR_IREN_MASK) 13111 /*! @} */ 13112 13113 /*! @name FIFO - LPUART FIFO Register */ 13114 /*! @{ */ 13115 #define LPUART_FIFO_RXFIFOSIZE_MASK (0x7U) 13116 #define LPUART_FIFO_RXFIFOSIZE_SHIFT (0U) 13117 /*! RXFIFOSIZE - Receive FIFO. Buffer Depth 13118 * 0b000..Receive FIFO/Buffer depth = 1 dataword. 13119 * 0b001..Receive FIFO/Buffer depth = 4 datawords. 13120 * 0b010..Receive FIFO/Buffer depth = 8 datawords. 13121 * 0b011..Receive FIFO/Buffer depth = 16 datawords. 13122 * 0b100..Receive FIFO/Buffer depth = 32 datawords. 13123 * 0b101..Receive FIFO/Buffer depth = 64 datawords. 13124 * 0b110..Receive FIFO/Buffer depth = 128 datawords. 13125 * 0b111..Receive FIFO/Buffer depth = 256 datawords. 13126 */ 13127 #define LPUART_FIFO_RXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFIFOSIZE_SHIFT)) & LPUART_FIFO_RXFIFOSIZE_MASK) 13128 #define LPUART_FIFO_RXFE_MASK (0x8U) 13129 #define LPUART_FIFO_RXFE_SHIFT (3U) 13130 /*! RXFE - Receive FIFO Enable 13131 * 0b0..Receive FIFO is not enabled. Buffer is depth 1. (Legacy support) 13132 * 0b1..Receive FIFO is enabled. Buffer is depth indicted by RXFIFOSIZE. 13133 */ 13134 #define LPUART_FIFO_RXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFE_SHIFT)) & LPUART_FIFO_RXFE_MASK) 13135 #define LPUART_FIFO_TXFIFOSIZE_MASK (0x70U) 13136 #define LPUART_FIFO_TXFIFOSIZE_SHIFT (4U) 13137 /*! TXFIFOSIZE - Transmit FIFO. Buffer Depth 13138 * 0b000..Transmit FIFO/Buffer depth = 1 dataword. 13139 * 0b001..Transmit FIFO/Buffer depth = 4 datawords. 13140 * 0b010..Transmit FIFO/Buffer depth = 8 datawords. 13141 * 0b011..Transmit FIFO/Buffer depth = 16 datawords. 13142 * 0b100..Transmit FIFO/Buffer depth = 32 datawords. 13143 * 0b101..Transmit FIFO/Buffer depth = 64 datawords. 13144 * 0b110..Transmit FIFO/Buffer depth = 128 datawords. 13145 * 0b111..Transmit FIFO/Buffer depth = 256 datawords 13146 */ 13147 #define LPUART_FIFO_TXFIFOSIZE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFIFOSIZE_SHIFT)) & LPUART_FIFO_TXFIFOSIZE_MASK) 13148 #define LPUART_FIFO_TXFE_MASK (0x80U) 13149 #define LPUART_FIFO_TXFE_SHIFT (7U) 13150 /*! TXFE - Transmit FIFO Enable 13151 * 0b0..Transmit FIFO is not enabled. Buffer is depth 1. (Legacy support). 13152 * 0b1..Transmit FIFO is enabled. Buffer is depth indicated by TXFIFOSIZE. 13153 */ 13154 #define LPUART_FIFO_TXFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFE_SHIFT)) & LPUART_FIFO_TXFE_MASK) 13155 #define LPUART_FIFO_RXUFE_MASK (0x100U) 13156 #define LPUART_FIFO_RXUFE_SHIFT (8U) 13157 /*! RXUFE - Receive FIFO Underflow Interrupt Enable 13158 * 0b0..RXUF flag does not generate an interrupt to the host. 13159 * 0b1..RXUF flag generates an interrupt to the host. 13160 */ 13161 #define LPUART_FIFO_RXUFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUFE_SHIFT)) & LPUART_FIFO_RXUFE_MASK) 13162 #define LPUART_FIFO_TXOFE_MASK (0x200U) 13163 #define LPUART_FIFO_TXOFE_SHIFT (9U) 13164 /*! TXOFE - Transmit FIFO Overflow Interrupt Enable 13165 * 0b0..TXOF flag does not generate an interrupt to the host. 13166 * 0b1..TXOF flag generates an interrupt to the host. 13167 */ 13168 #define LPUART_FIFO_TXOFE(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOFE_SHIFT)) & LPUART_FIFO_TXOFE_MASK) 13169 #define LPUART_FIFO_RXIDEN_MASK (0x1C00U) 13170 #define LPUART_FIFO_RXIDEN_SHIFT (10U) 13171 /*! RXIDEN - Receiver Idle Empty Enable 13172 * 0b000..Disable RDRF assertion due to partially filled FIFO when receiver is idle. 13173 * 0b001..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 1 character. 13174 * 0b010..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 2 characters. 13175 * 0b011..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 4 characters. 13176 * 0b100..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 8 characters. 13177 * 0b101..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 16 characters. 13178 * 0b110..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 32 characters. 13179 * 0b111..Enable RDRF assertion due to partially filled FIFO when receiver is idle for 64 characters. 13180 */ 13181 #define LPUART_FIFO_RXIDEN(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXIDEN_SHIFT)) & LPUART_FIFO_RXIDEN_MASK) 13182 #define LPUART_FIFO_RXFLUSH_MASK (0x4000U) 13183 #define LPUART_FIFO_RXFLUSH_SHIFT (14U) 13184 /*! RXFLUSH - Receive FIFO/Buffer Flush 13185 * 0b0..No flush operation occurs. 13186 * 0b1..All data in the receive FIFO/buffer is cleared out. 13187 */ 13188 #define LPUART_FIFO_RXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFLUSH_SHIFT)) & LPUART_FIFO_RXFLUSH_MASK) 13189 #define LPUART_FIFO_TXFLUSH_MASK (0x8000U) 13190 #define LPUART_FIFO_TXFLUSH_SHIFT (15U) 13191 /*! TXFLUSH - Transmit FIFO/Buffer Flush 13192 * 0b0..No flush operation occurs. 13193 * 0b1..All data in the transmit FIFO/Buffer is cleared out. 13194 */ 13195 #define LPUART_FIFO_TXFLUSH(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXFLUSH_SHIFT)) & LPUART_FIFO_TXFLUSH_MASK) 13196 #define LPUART_FIFO_RXUF_MASK (0x10000U) 13197 #define LPUART_FIFO_RXUF_SHIFT (16U) 13198 /*! RXUF - Receiver Buffer Underflow Flag 13199 * 0b0..No receive buffer underflow has occurred since the last time the flag was cleared. 13200 * 0b1..At least one receive buffer underflow has occurred since the last time the flag was cleared. 13201 */ 13202 #define LPUART_FIFO_RXUF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXUF_SHIFT)) & LPUART_FIFO_RXUF_MASK) 13203 #define LPUART_FIFO_TXOF_MASK (0x20000U) 13204 #define LPUART_FIFO_TXOF_SHIFT (17U) 13205 /*! TXOF - Transmitter Buffer Overflow Flag 13206 * 0b0..No transmit buffer overflow has occurred since the last time the flag was cleared. 13207 * 0b1..At least one transmit buffer overflow has occurred since the last time the flag was cleared. 13208 */ 13209 #define LPUART_FIFO_TXOF(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXOF_SHIFT)) & LPUART_FIFO_TXOF_MASK) 13210 #define LPUART_FIFO_RXEMPT_MASK (0x400000U) 13211 #define LPUART_FIFO_RXEMPT_SHIFT (22U) 13212 /*! RXEMPT - Receive Buffer/FIFO Empty 13213 * 0b0..Receive buffer is not empty. 13214 * 0b1..Receive buffer is empty. 13215 */ 13216 #define LPUART_FIFO_RXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXEMPT_SHIFT)) & LPUART_FIFO_RXEMPT_MASK) 13217 #define LPUART_FIFO_TXEMPT_MASK (0x800000U) 13218 #define LPUART_FIFO_TXEMPT_SHIFT (23U) 13219 /*! TXEMPT - Transmit Buffer/FIFO Empty 13220 * 0b0..Transmit buffer is not empty. 13221 * 0b1..Transmit buffer is empty. 13222 */ 13223 #define LPUART_FIFO_TXEMPT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_TXEMPT_SHIFT)) & LPUART_FIFO_TXEMPT_MASK) 13224 /*! @} */ 13225 13226 /*! @name WATER - LPUART Watermark Register */ 13227 /*! @{ */ 13228 #define LPUART_WATER_TXWATER_MASK (0x7U) 13229 #define LPUART_WATER_TXWATER_SHIFT (0U) 13230 #define LPUART_WATER_TXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXWATER_SHIFT)) & LPUART_WATER_TXWATER_MASK) 13231 #define LPUART_WATER_TXCOUNT_MASK (0xF00U) 13232 #define LPUART_WATER_TXCOUNT_SHIFT (8U) 13233 #define LPUART_WATER_TXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_TXCOUNT_SHIFT)) & LPUART_WATER_TXCOUNT_MASK) 13234 #define LPUART_WATER_RXWATER_MASK (0x70000U) 13235 #define LPUART_WATER_RXWATER_SHIFT (16U) 13236 #define LPUART_WATER_RXWATER(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXWATER_SHIFT)) & LPUART_WATER_RXWATER_MASK) 13237 #define LPUART_WATER_RXCOUNT_MASK (0xF000000U) 13238 #define LPUART_WATER_RXCOUNT_SHIFT (24U) 13239 #define LPUART_WATER_RXCOUNT(x) (((uint32_t)(((uint32_t)(x)) << LPUART_WATER_RXCOUNT_SHIFT)) & LPUART_WATER_RXCOUNT_MASK) 13240 /*! @} */ 13241 13242 13243 /*! 13244 * @} 13245 */ /* end of group LPUART_Register_Masks */ 13246 13247 13248 /* LPUART - Peripheral instance base addresses */ 13249 /** Peripheral LPUART0 base address */ 13250 #define LPUART0_BASE (0x40042000u) 13251 /** Peripheral LPUART0 base pointer */ 13252 #define LPUART0 ((LPUART_Type *)LPUART0_BASE) 13253 /** Peripheral LPUART1 base address */ 13254 #define LPUART1_BASE (0x40043000u) 13255 /** Peripheral LPUART1 base pointer */ 13256 #define LPUART1 ((LPUART_Type *)LPUART1_BASE) 13257 /** Peripheral LPUART2 base address */ 13258 #define LPUART2_BASE (0x40044000u) 13259 /** Peripheral LPUART2 base pointer */ 13260 #define LPUART2 ((LPUART_Type *)LPUART2_BASE) 13261 /** Peripheral LPUART3 base address */ 13262 #define LPUART3_BASE (0x41036000u) 13263 /** Peripheral LPUART3 base pointer */ 13264 #define LPUART3 ((LPUART_Type *)LPUART3_BASE) 13265 /** Array initializer of LPUART peripheral base addresses */ 13266 #define LPUART_BASE_ADDRS { LPUART0_BASE, LPUART1_BASE, LPUART2_BASE, LPUART3_BASE } 13267 /** Array initializer of LPUART peripheral base pointers */ 13268 #define LPUART_BASE_PTRS { LPUART0, LPUART1, LPUART2, LPUART3 } 13269 /** Interrupt vectors for the LPUART peripheral type */ 13270 #define LPUART_RX_TX_IRQS { LPUART0_IRQn, LPUART1_IRQn, LPUART2_IRQn, LPUART3_IRQn } 13271 #define LPUART_ERR_IRQS { LPUART0_IRQn, LPUART1_IRQn, LPUART2_IRQn, LPUART3_IRQn } 13272 13273 /*! 13274 * @} 13275 */ /* end of group LPUART_Peripheral_Access_Layer */ 13276 13277 13278 /* ---------------------------------------------------------------------------- 13279 -- MCM Peripheral Access Layer 13280 ---------------------------------------------------------------------------- */ 13281 13282 /*! 13283 * @addtogroup MCM_Peripheral_Access_Layer MCM Peripheral Access Layer 13284 * @{ 13285 */ 13286 13287 /** MCM - Register Layout Typedef */ 13288 typedef struct { 13289 uint8_t RESERVED_0[8]; 13290 __I uint16_t PLASC; /**< Crossbar Switch (AXBS) Slave Configuration, offset: 0x8 */ 13291 __I uint16_t PLAMC; /**< Crossbar Switch (AXBS) Master Configuration, offset: 0xA */ 13292 __IO uint32_t CPCR; /**< Core Platform Control Register, offset: 0xC */ 13293 uint8_t RESERVED_1[36]; 13294 __IO uint32_t CPCR2; /**< Core Platform Control Register 2, offset: 0x34 */ 13295 uint8_t RESERVED_2[8]; 13296 __IO uint32_t CPO; /**< Compute Operation Control Register, offset: 0x40 */ 13297 } MCM_Type; 13298 13299 /* ---------------------------------------------------------------------------- 13300 -- MCM Register Masks 13301 ---------------------------------------------------------------------------- */ 13302 13303 /*! 13304 * @addtogroup MCM_Register_Masks MCM Register Masks 13305 * @{ 13306 */ 13307 13308 /*! @name PLASC - Crossbar Switch (AXBS) Slave Configuration */ 13309 /*! @{ */ 13310 #define MCM_PLASC_ASC_MASK (0xFFU) 13311 #define MCM_PLASC_ASC_SHIFT (0U) 13312 /*! ASC - Each bit in the ASC field indicates whether there is a corresponding connection to the crossbar switch's slave input port. 13313 * 0b00000000..A bus slave connection to AXBS input port n is absent 13314 * 0b00000001..A bus slave connection to AXBS input port n is present 13315 */ 13316 #define MCM_PLASC_ASC(x) (((uint16_t)(((uint16_t)(x)) << MCM_PLASC_ASC_SHIFT)) & MCM_PLASC_ASC_MASK) 13317 /*! @} */ 13318 13319 /*! @name PLAMC - Crossbar Switch (AXBS) Master Configuration */ 13320 /*! @{ */ 13321 #define MCM_PLAMC_AMC_MASK (0xFFU) 13322 #define MCM_PLAMC_AMC_SHIFT (0U) 13323 /*! AMC - Each bit in the AMC field indicates whether there is a corresponding connection to the AXBS master input port. 13324 * 0b00000000..A bus master connection to AXBS input port n is absent 13325 * 0b00000001..A bus master connection to AXBS input port n is present 13326 */ 13327 #define MCM_PLAMC_AMC(x) (((uint16_t)(((uint16_t)(x)) << MCM_PLAMC_AMC_SHIFT)) & MCM_PLAMC_AMC_MASK) 13328 /*! @} */ 13329 13330 /*! @name CPCR - Core Platform Control Register */ 13331 /*! @{ */ 13332 #define MCM_CPCR_ARB_MASK (0x200U) 13333 #define MCM_CPCR_ARB_SHIFT (9U) 13334 /*! ARB - Arbitration select 13335 * 0b0..Fixed-priority arbitration for the crossbar masters 13336 * 0b1..Round-robin arbitration for the crossbar masters 13337 */ 13338 #define MCM_CPCR_ARB(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPCR_ARB_SHIFT)) & MCM_CPCR_ARB_MASK) 13339 /*! @} */ 13340 13341 /*! @name CPCR2 - Core Platform Control Register 2 */ 13342 /*! @{ */ 13343 #define MCM_CPCR2_CCBC_MASK (0x1U) 13344 #define MCM_CPCR2_CCBC_SHIFT (0U) 13345 #define MCM_CPCR2_CCBC(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPCR2_CCBC_SHIFT)) & MCM_CPCR2_CCBC_MASK) 13346 #define MCM_CPCR2_DCC_MASK (0x8U) 13347 #define MCM_CPCR2_DCC_SHIFT (3U) 13348 #define MCM_CPCR2_DCC(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPCR2_DCC_SHIFT)) & MCM_CPCR2_DCC_MASK) 13349 #define MCM_CPCR2_CCSIZ_MASK (0xF0U) 13350 #define MCM_CPCR2_CCSIZ_SHIFT (4U) 13351 /*! CCSIZ - Code cache size 13352 * 0b0000..No cache 13353 * 0b0010..2KB 13354 * 0b0011..4KB 13355 * 0b0100..8KB 13356 */ 13357 #define MCM_CPCR2_CCSIZ(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPCR2_CCSIZ_SHIFT)) & MCM_CPCR2_CCSIZ_MASK) 13358 /*! @} */ 13359 13360 /*! @name CPO - Compute Operation Control Register */ 13361 /*! @{ */ 13362 #define MCM_CPO_CPOREQ_MASK (0x1U) 13363 #define MCM_CPO_CPOREQ_SHIFT (0U) 13364 /*! CPOREQ - Compute Operation request 13365 * 0b0..Request is cleared. 13366 * 0b1..Request Compute Operation. 13367 */ 13368 #define MCM_CPO_CPOREQ(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPO_CPOREQ_SHIFT)) & MCM_CPO_CPOREQ_MASK) 13369 #define MCM_CPO_CPOACK_MASK (0x2U) 13370 #define MCM_CPO_CPOACK_SHIFT (1U) 13371 /*! CPOACK - Compute Operation acknowledge 13372 * 0b0..Compute operation entry has not completed or compute operation exit has completed. 13373 * 0b1..Compute operation entry has completed or compute operation exit has not completed. 13374 */ 13375 #define MCM_CPO_CPOACK(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPO_CPOACK_SHIFT)) & MCM_CPO_CPOACK_MASK) 13376 #define MCM_CPO_CPOWOI_MASK (0x4U) 13377 #define MCM_CPO_CPOWOI_SHIFT (2U) 13378 /*! CPOWOI - Compute Operation wakeup on interrupt 13379 * 0b0..No effect. 13380 * 0b1..When set, the CPOREQ is cleared on any interrupt or exception vector fetch. 13381 */ 13382 #define MCM_CPO_CPOWOI(x) (((uint32_t)(((uint32_t)(x)) << MCM_CPO_CPOWOI_SHIFT)) & MCM_CPO_CPOWOI_MASK) 13383 /*! @} */ 13384 13385 13386 /*! 13387 * @} 13388 */ /* end of group MCM_Register_Masks */ 13389 13390 13391 /* MCM - Peripheral instance base addresses */ 13392 /** Peripheral MCM1 base address */ 13393 #define MCM1_BASE (0xF0003000u) 13394 /** Peripheral MCM1 base pointer */ 13395 #define MCM1 ((MCM_Type *)MCM1_BASE) 13396 /** Array initializer of MCM peripheral base addresses */ 13397 #define MCM_BASE_ADDRS { 0u, MCM1_BASE } 13398 /** Array initializer of MCM peripheral base pointers */ 13399 #define MCM_BASE_PTRS { (MCM_Type *)0u, MCM1 } 13400 /* MCM compatibility definitions */ 13401 #define MCM_BASE MCM1_BASE 13402 #define MCM MCM1 13403 13404 13405 /*! 13406 * @} 13407 */ /* end of group MCM_Peripheral_Access_Layer */ 13408 13409 13410 /* ---------------------------------------------------------------------------- 13411 -- MMDVSQ Peripheral Access Layer 13412 ---------------------------------------------------------------------------- */ 13413 13414 /*! 13415 * @addtogroup MMDVSQ_Peripheral_Access_Layer MMDVSQ Peripheral Access Layer 13416 * @{ 13417 */ 13418 13419 /** MMDVSQ - Register Layout Typedef */ 13420 typedef struct { 13421 __IO uint32_t DEND; /**< Dividend Register, offset: 0x0 */ 13422 __IO uint32_t DSOR; /**< Divisor Register, offset: 0x4 */ 13423 __IO uint32_t CSR; /**< Control/Status Register, offset: 0x8 */ 13424 __IO uint32_t RES; /**< Result Register, offset: 0xC */ 13425 __O uint32_t RCND; /**< Radicand Register, offset: 0x10 */ 13426 } MMDVSQ_Type; 13427 13428 /* ---------------------------------------------------------------------------- 13429 -- MMDVSQ Register Masks 13430 ---------------------------------------------------------------------------- */ 13431 13432 /*! 13433 * @addtogroup MMDVSQ_Register_Masks MMDVSQ Register Masks 13434 * @{ 13435 */ 13436 13437 /*! @name DEND - Dividend Register */ 13438 /*! @{ */ 13439 #define MMDVSQ_DEND_DIVIDEND_MASK (0xFFFFFFFFU) 13440 #define MMDVSQ_DEND_DIVIDEND_SHIFT (0U) 13441 #define MMDVSQ_DEND_DIVIDEND(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_DEND_DIVIDEND_SHIFT)) & MMDVSQ_DEND_DIVIDEND_MASK) 13442 /*! @} */ 13443 13444 /*! @name DSOR - Divisor Register */ 13445 /*! @{ */ 13446 #define MMDVSQ_DSOR_DIVISOR_MASK (0xFFFFFFFFU) 13447 #define MMDVSQ_DSOR_DIVISOR_SHIFT (0U) 13448 #define MMDVSQ_DSOR_DIVISOR(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_DSOR_DIVISOR_SHIFT)) & MMDVSQ_DSOR_DIVISOR_MASK) 13449 /*! @} */ 13450 13451 /*! @name CSR - Control/Status Register */ 13452 /*! @{ */ 13453 #define MMDVSQ_CSR_SRT_MASK (0x1U) 13454 #define MMDVSQ_CSR_SRT_SHIFT (0U) 13455 /*! SRT - Start 13456 * 0b0..No operation initiated 13457 * 0b1..If CSR[DFS] = 1, then initiate a divide calculation, else ignore 13458 */ 13459 #define MMDVSQ_CSR_SRT(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_CSR_SRT_SHIFT)) & MMDVSQ_CSR_SRT_MASK) 13460 #define MMDVSQ_CSR_USGN_MASK (0x2U) 13461 #define MMDVSQ_CSR_USGN_SHIFT (1U) 13462 /*! USGN - Unsigned calculation 13463 * 0b0..Perform a signed divide 13464 * 0b1..Perform an unsigned divide 13465 */ 13466 #define MMDVSQ_CSR_USGN(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_CSR_USGN_SHIFT)) & MMDVSQ_CSR_USGN_MASK) 13467 #define MMDVSQ_CSR_REM_MASK (0x4U) 13468 #define MMDVSQ_CSR_REM_SHIFT (2U) 13469 /*! REM - REMainder calculation 13470 * 0b0..Return the quotient in the RES for the divide calculation 13471 * 0b1..Return the remainder in the RES for the divide calculation 13472 */ 13473 #define MMDVSQ_CSR_REM(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_CSR_REM_SHIFT)) & MMDVSQ_CSR_REM_MASK) 13474 #define MMDVSQ_CSR_DZE_MASK (0x8U) 13475 #define MMDVSQ_CSR_DZE_SHIFT (3U) 13476 /*! DZE - Divide-by-Zero-Enable 13477 * 0b0..Reads of the RES register return the register contents 13478 * 0b1..If CSR[DZ] = 1, an attempted read of RES register is error terminated to signal a divide-by-zero, else the register contents are returned 13479 */ 13480 #define MMDVSQ_CSR_DZE(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_CSR_DZE_SHIFT)) & MMDVSQ_CSR_DZE_MASK) 13481 #define MMDVSQ_CSR_DZ_MASK (0x10U) 13482 #define MMDVSQ_CSR_DZ_SHIFT (4U) 13483 /*! DZ - Divide-by-Zero 13484 * 0b0..The last divide operation had a non-zero divisor, that is, DSOR != 0 13485 * 0b1..The last divide operation had a zero divisor, that is, DSOR = 0 13486 */ 13487 #define MMDVSQ_CSR_DZ(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_CSR_DZ_SHIFT)) & MMDVSQ_CSR_DZ_MASK) 13488 #define MMDVSQ_CSR_DFS_MASK (0x20U) 13489 #define MMDVSQ_CSR_DFS_SHIFT (5U) 13490 /*! DFS - Disable Fast Start 13491 * 0b0..A divide operation is initiated by a write to the DSOR register 13492 * 0b1..A divide operation is initiated by a write to the CSR register with CSR[SRT] = 1 13493 */ 13494 #define MMDVSQ_CSR_DFS(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_CSR_DFS_SHIFT)) & MMDVSQ_CSR_DFS_MASK) 13495 #define MMDVSQ_CSR_SQRT_MASK (0x20000000U) 13496 #define MMDVSQ_CSR_SQRT_SHIFT (29U) 13497 /*! SQRT - SQUARE ROOT 13498 * 0b0..Current or last MMDVSQ operation was not a square root 13499 * 0b1..Current or last MMDVSQ operation was a square root 13500 */ 13501 #define MMDVSQ_CSR_SQRT(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_CSR_SQRT_SHIFT)) & MMDVSQ_CSR_SQRT_MASK) 13502 #define MMDVSQ_CSR_DIV_MASK (0x40000000U) 13503 #define MMDVSQ_CSR_DIV_SHIFT (30U) 13504 /*! DIV - DIVIDE 13505 * 0b0..Current or last MMDVSQ operation was not a divide 13506 * 0b1..Current or last MMDVSQ operation was a divide 13507 */ 13508 #define MMDVSQ_CSR_DIV(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_CSR_DIV_SHIFT)) & MMDVSQ_CSR_DIV_MASK) 13509 #define MMDVSQ_CSR_BUSY_MASK (0x80000000U) 13510 #define MMDVSQ_CSR_BUSY_SHIFT (31U) 13511 /*! BUSY - BUSY 13512 * 0b0..MMDVSQ is idle 13513 * 0b1..MMDVSQ is busy performing a divide or square root calculation 13514 */ 13515 #define MMDVSQ_CSR_BUSY(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_CSR_BUSY_SHIFT)) & MMDVSQ_CSR_BUSY_MASK) 13516 /*! @} */ 13517 13518 /*! @name RES - Result Register */ 13519 /*! @{ */ 13520 #define MMDVSQ_RES_RESULT_MASK (0xFFFFFFFFU) 13521 #define MMDVSQ_RES_RESULT_SHIFT (0U) 13522 #define MMDVSQ_RES_RESULT(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_RES_RESULT_SHIFT)) & MMDVSQ_RES_RESULT_MASK) 13523 /*! @} */ 13524 13525 /*! @name RCND - Radicand Register */ 13526 /*! @{ */ 13527 #define MMDVSQ_RCND_RADICAND_MASK (0xFFFFFFFFU) 13528 #define MMDVSQ_RCND_RADICAND_SHIFT (0U) 13529 #define MMDVSQ_RCND_RADICAND(x) (((uint32_t)(((uint32_t)(x)) << MMDVSQ_RCND_RADICAND_SHIFT)) & MMDVSQ_RCND_RADICAND_MASK) 13530 /*! @} */ 13531 13532 13533 /*! 13534 * @} 13535 */ /* end of group MMDVSQ_Register_Masks */ 13536 13537 13538 /* MMDVSQ - Peripheral instance base addresses */ 13539 /** Peripheral MMDVSQ1 base address */ 13540 #define MMDVSQ1_BASE (0xF0004000u) 13541 /** Peripheral MMDVSQ1 base pointer */ 13542 #define MMDVSQ1 ((MMDVSQ_Type *)MMDVSQ1_BASE) 13543 /** Array initializer of MMDVSQ peripheral base addresses */ 13544 #define MMDVSQ_BASE_ADDRS { 0u, MMDVSQ1_BASE } 13545 /** Array initializer of MMDVSQ peripheral base pointers */ 13546 #define MMDVSQ_BASE_PTRS { (MMDVSQ_Type *)0u, MMDVSQ1 } 13547 13548 /*! 13549 * @} 13550 */ /* end of group MMDVSQ_Peripheral_Access_Layer */ 13551 13552 13553 /* ---------------------------------------------------------------------------- 13554 -- MSCM Peripheral Access Layer 13555 ---------------------------------------------------------------------------- */ 13556 13557 /*! 13558 * @addtogroup MSCM_Peripheral_Access_Layer MSCM Peripheral Access Layer 13559 * @{ 13560 */ 13561 13562 /** MSCM - Register Layout Typedef */ 13563 typedef struct { 13564 __I uint32_t CPXTYPE; /**< Processor X Type Register, offset: 0x0 */ 13565 __I uint32_t CPXNUM; /**< Processor X Number Register, offset: 0x4 */ 13566 __I uint32_t CPXMASTER; /**< Processor X Master Register, offset: 0x8 */ 13567 __I uint32_t CPXCOUNT; /**< Processor X Count Register, offset: 0xC */ 13568 __I uint32_t CPXCFG0; /**< Processor X Configuration Register 0, offset: 0x10 */ 13569 __I uint32_t CPXCFG1; /**< Processor X Configuration Register 1, offset: 0x14 */ 13570 __I uint32_t CPXCFG2; /**< Processor X Configuration Register 2, offset: 0x18 */ 13571 __I uint32_t CPXCFG3; /**< Processor X Configuration Register 3, offset: 0x1C */ 13572 struct { /* offset: 0x20, array step: 0x20 */ 13573 __I uint32_t TYPE; /**< Processor 0 Type Register..Processor 1 Type Register, array offset: 0x20, array step: 0x20 */ 13574 __I uint32_t NUM; /**< Processor 0 Number Register..Processor 1 Number Register, array offset: 0x24, array step: 0x20 */ 13575 __I uint32_t MASTER; /**< Processor 0 Master Register..Processor 1 Master Register, array offset: 0x28, array step: 0x20 */ 13576 __I uint32_t COUNT; /**< Processor 0 Count Register..Processor 1 Count Register, array offset: 0x2C, array step: 0x20 */ 13577 __I uint32_t CFG0; /**< Processor 0 Configuration Register 0..Processor 1 Configuration Register 0, array offset: 0x30, array step: 0x20 */ 13578 __I uint32_t CFG1; /**< Processor 0 Configuration Register 1..Processor 1 Configuration Register 1, array offset: 0x34, array step: 0x20 */ 13579 __I uint32_t CFG2; /**< Processor 0 Configuration Register 2..Processor 1 Configuration Register 2, array offset: 0x38, array step: 0x20 */ 13580 __I uint32_t CFG3; /**< Processor 0 Configuration Register 3..Processor 1 Configuration Register 3, array offset: 0x3C, array step: 0x20 */ 13581 } CP[2]; 13582 uint8_t RESERVED_0[928]; 13583 __IO uint32_t OCMDR0; /**< On-Chip Memory Descriptor Register, offset: 0x400 */ 13584 __IO uint32_t OCMDR1; /**< On-Chip Memory Descriptor Register, offset: 0x404 */ 13585 __IO uint32_t OCMDR2; /**< On-Chip Memory Descriptor Register, offset: 0x408 */ 13586 __IO uint32_t OCMDR3; /**< On-Chip Memory Descriptor Register, offset: 0x40C */ 13587 } MSCM_Type; 13588 13589 /* ---------------------------------------------------------------------------- 13590 -- MSCM Register Masks 13591 ---------------------------------------------------------------------------- */ 13592 13593 /*! 13594 * @addtogroup MSCM_Register_Masks MSCM Register Masks 13595 * @{ 13596 */ 13597 13598 /*! @name CPXTYPE - Processor X Type Register */ 13599 /*! @{ */ 13600 #define MSCM_CPXTYPE_RYPZ_MASK (0xFFU) 13601 #define MSCM_CPXTYPE_RYPZ_SHIFT (0U) 13602 #define MSCM_CPXTYPE_RYPZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXTYPE_RYPZ_SHIFT)) & MSCM_CPXTYPE_RYPZ_MASK) 13603 #define MSCM_CPXTYPE_PERSONALITY_MASK (0xFFFFFF00U) 13604 #define MSCM_CPXTYPE_PERSONALITY_SHIFT (8U) 13605 #define MSCM_CPXTYPE_PERSONALITY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXTYPE_PERSONALITY_SHIFT)) & MSCM_CPXTYPE_PERSONALITY_MASK) 13606 /*! @} */ 13607 13608 /*! @name CPXNUM - Processor X Number Register */ 13609 /*! @{ */ 13610 #define MSCM_CPXNUM_CPN_MASK (0x1U) 13611 #define MSCM_CPXNUM_CPN_SHIFT (0U) 13612 #define MSCM_CPXNUM_CPN(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXNUM_CPN_SHIFT)) & MSCM_CPXNUM_CPN_MASK) 13613 /*! @} */ 13614 13615 /*! @name CPXMASTER - Processor X Master Register */ 13616 /*! @{ */ 13617 #define MSCM_CPXMASTER_PPMN_MASK (0x3FU) 13618 #define MSCM_CPXMASTER_PPMN_SHIFT (0U) 13619 #define MSCM_CPXMASTER_PPMN(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXMASTER_PPMN_SHIFT)) & MSCM_CPXMASTER_PPMN_MASK) 13620 /*! @} */ 13621 13622 /*! @name CPXCOUNT - Processor X Count Register */ 13623 /*! @{ */ 13624 #define MSCM_CPXCOUNT_PCNT_MASK (0x3U) 13625 #define MSCM_CPXCOUNT_PCNT_SHIFT (0U) 13626 #define MSCM_CPXCOUNT_PCNT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCOUNT_PCNT_SHIFT)) & MSCM_CPXCOUNT_PCNT_MASK) 13627 /*! @} */ 13628 13629 /*! @name CPXCFG0 - Processor X Configuration Register 0 */ 13630 /*! @{ */ 13631 #define MSCM_CPXCFG0_DCWY_MASK (0xFFU) 13632 #define MSCM_CPXCFG0_DCWY_SHIFT (0U) 13633 #define MSCM_CPXCFG0_DCWY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG0_DCWY_SHIFT)) & MSCM_CPXCFG0_DCWY_MASK) 13634 #define MSCM_CPXCFG0_DCSZ_MASK (0xFF00U) 13635 #define MSCM_CPXCFG0_DCSZ_SHIFT (8U) 13636 #define MSCM_CPXCFG0_DCSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG0_DCSZ_SHIFT)) & MSCM_CPXCFG0_DCSZ_MASK) 13637 #define MSCM_CPXCFG0_ICWY_MASK (0xFF0000U) 13638 #define MSCM_CPXCFG0_ICWY_SHIFT (16U) 13639 #define MSCM_CPXCFG0_ICWY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG0_ICWY_SHIFT)) & MSCM_CPXCFG0_ICWY_MASK) 13640 #define MSCM_CPXCFG0_ICSZ_MASK (0xFF000000U) 13641 #define MSCM_CPXCFG0_ICSZ_SHIFT (24U) 13642 #define MSCM_CPXCFG0_ICSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG0_ICSZ_SHIFT)) & MSCM_CPXCFG0_ICSZ_MASK) 13643 /*! @} */ 13644 13645 /*! @name CPXCFG1 - Processor X Configuration Register 1 */ 13646 /*! @{ */ 13647 #define MSCM_CPXCFG1_L2WY_MASK (0xFF0000U) 13648 #define MSCM_CPXCFG1_L2WY_SHIFT (16U) 13649 #define MSCM_CPXCFG1_L2WY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG1_L2WY_SHIFT)) & MSCM_CPXCFG1_L2WY_MASK) 13650 #define MSCM_CPXCFG1_L2SZ_MASK (0xFF000000U) 13651 #define MSCM_CPXCFG1_L2SZ_SHIFT (24U) 13652 #define MSCM_CPXCFG1_L2SZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG1_L2SZ_SHIFT)) & MSCM_CPXCFG1_L2SZ_MASK) 13653 /*! @} */ 13654 13655 /*! @name CPXCFG2 - Processor X Configuration Register 2 */ 13656 /*! @{ */ 13657 #define MSCM_CPXCFG2_TMUSZ_MASK (0xFF00U) 13658 #define MSCM_CPXCFG2_TMUSZ_SHIFT (8U) 13659 #define MSCM_CPXCFG2_TMUSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG2_TMUSZ_SHIFT)) & MSCM_CPXCFG2_TMUSZ_MASK) 13660 #define MSCM_CPXCFG2_TMLSZ_MASK (0xFF000000U) 13661 #define MSCM_CPXCFG2_TMLSZ_SHIFT (24U) 13662 #define MSCM_CPXCFG2_TMLSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG2_TMLSZ_SHIFT)) & MSCM_CPXCFG2_TMLSZ_MASK) 13663 /*! @} */ 13664 13665 /*! @name CPXCFG3 - Processor X Configuration Register 3 */ 13666 /*! @{ */ 13667 #define MSCM_CPXCFG3_FPU_MASK (0x1U) 13668 #define MSCM_CPXCFG3_FPU_SHIFT (0U) 13669 /*! FPU - Floating Point Unit 13670 * 0b0..FPU support is not included. 13671 * 0b1..FPU support is included. 13672 */ 13673 #define MSCM_CPXCFG3_FPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_FPU_SHIFT)) & MSCM_CPXCFG3_FPU_MASK) 13674 #define MSCM_CPXCFG3_SIMD_MASK (0x2U) 13675 #define MSCM_CPXCFG3_SIMD_SHIFT (1U) 13676 /*! SIMD - SIMD/NEON instruction support 13677 * 0b0..SIMD/NEON support is not included. 13678 * 0b1..SIMD/NEON support is included. 13679 */ 13680 #define MSCM_CPXCFG3_SIMD(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_SIMD_SHIFT)) & MSCM_CPXCFG3_SIMD_MASK) 13681 #define MSCM_CPXCFG3_JAZ_MASK (0x4U) 13682 #define MSCM_CPXCFG3_JAZ_SHIFT (2U) 13683 /*! JAZ - Jazelle support 13684 * 0b0..Jazelle support is not included. 13685 * 0b1..Jazelle support is included. 13686 */ 13687 #define MSCM_CPXCFG3_JAZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_JAZ_SHIFT)) & MSCM_CPXCFG3_JAZ_MASK) 13688 #define MSCM_CPXCFG3_MMU_MASK (0x8U) 13689 #define MSCM_CPXCFG3_MMU_SHIFT (3U) 13690 /*! MMU - Memory Management Unit 13691 * 0b0..MMU support is not included. 13692 * 0b1..MMU support is included. 13693 */ 13694 #define MSCM_CPXCFG3_MMU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_MMU_SHIFT)) & MSCM_CPXCFG3_MMU_MASK) 13695 #define MSCM_CPXCFG3_TZ_MASK (0x10U) 13696 #define MSCM_CPXCFG3_TZ_SHIFT (4U) 13697 /*! TZ - Trust Zone 13698 * 0b0..Trust Zone support is not included. 13699 * 0b1..Trust Zone support is included. 13700 */ 13701 #define MSCM_CPXCFG3_TZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_TZ_SHIFT)) & MSCM_CPXCFG3_TZ_MASK) 13702 #define MSCM_CPXCFG3_CMP_MASK (0x20U) 13703 #define MSCM_CPXCFG3_CMP_SHIFT (5U) 13704 /*! CMP - Core Memory Protection unit 13705 * 0b0..Core Memory Protection is not included. 13706 * 0b1..Core Memory Protection is included. 13707 */ 13708 #define MSCM_CPXCFG3_CMP(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_CMP_SHIFT)) & MSCM_CPXCFG3_CMP_MASK) 13709 #define MSCM_CPXCFG3_BB_MASK (0x40U) 13710 #define MSCM_CPXCFG3_BB_SHIFT (6U) 13711 /*! BB - Bit Banding 13712 * 0b0..Bit Banding is not supported. 13713 * 0b1..Bit Banding is supported. 13714 */ 13715 #define MSCM_CPXCFG3_BB(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_BB_SHIFT)) & MSCM_CPXCFG3_BB_MASK) 13716 #define MSCM_CPXCFG3_SBP_MASK (0x300U) 13717 #define MSCM_CPXCFG3_SBP_SHIFT (8U) 13718 #define MSCM_CPXCFG3_SBP(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CPXCFG3_SBP_SHIFT)) & MSCM_CPXCFG3_SBP_MASK) 13719 /*! @} */ 13720 13721 /*! @name TYPE - Processor 0 Type Register..Processor 1 Type Register */ 13722 /*! @{ */ 13723 #define MSCM_TYPE_RYPZ_MASK (0xFFU) 13724 #define MSCM_TYPE_RYPZ_SHIFT (0U) 13725 #define MSCM_TYPE_RYPZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_TYPE_RYPZ_SHIFT)) & MSCM_TYPE_RYPZ_MASK) 13726 #define MSCM_TYPE_PERSONALITY_MASK (0xFFFFFF00U) 13727 #define MSCM_TYPE_PERSONALITY_SHIFT (8U) 13728 #define MSCM_TYPE_PERSONALITY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_TYPE_PERSONALITY_SHIFT)) & MSCM_TYPE_PERSONALITY_MASK) 13729 /*! @} */ 13730 13731 /* The count of MSCM_TYPE */ 13732 #define MSCM_TYPE_COUNT (2U) 13733 13734 /*! @name NUM - Processor 0 Number Register..Processor 1 Number Register */ 13735 /*! @{ */ 13736 #define MSCM_NUM_CPN_MASK (0x1U) 13737 #define MSCM_NUM_CPN_SHIFT (0U) 13738 #define MSCM_NUM_CPN(x) (((uint32_t)(((uint32_t)(x)) << MSCM_NUM_CPN_SHIFT)) & MSCM_NUM_CPN_MASK) 13739 /*! @} */ 13740 13741 /* The count of MSCM_NUM */ 13742 #define MSCM_NUM_COUNT (2U) 13743 13744 /*! @name MASTER - Processor 0 Master Register..Processor 1 Master Register */ 13745 /*! @{ */ 13746 #define MSCM_MASTER_PPMN_MASK (0x3FU) 13747 #define MSCM_MASTER_PPMN_SHIFT (0U) 13748 #define MSCM_MASTER_PPMN(x) (((uint32_t)(((uint32_t)(x)) << MSCM_MASTER_PPMN_SHIFT)) & MSCM_MASTER_PPMN_MASK) 13749 /*! @} */ 13750 13751 /* The count of MSCM_MASTER */ 13752 #define MSCM_MASTER_COUNT (2U) 13753 13754 /*! @name COUNT - Processor 0 Count Register..Processor 1 Count Register */ 13755 /*! @{ */ 13756 #define MSCM_COUNT_PCNT_MASK (0x3U) 13757 #define MSCM_COUNT_PCNT_SHIFT (0U) 13758 #define MSCM_COUNT_PCNT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_COUNT_PCNT_SHIFT)) & MSCM_COUNT_PCNT_MASK) 13759 /*! @} */ 13760 13761 /* The count of MSCM_COUNT */ 13762 #define MSCM_COUNT_COUNT (2U) 13763 13764 /*! @name CFG0 - Processor 0 Configuration Register 0..Processor 1 Configuration Register 0 */ 13765 /*! @{ */ 13766 #define MSCM_CFG0_DCWY_MASK (0xFFU) 13767 #define MSCM_CFG0_DCWY_SHIFT (0U) 13768 #define MSCM_CFG0_DCWY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG0_DCWY_SHIFT)) & MSCM_CFG0_DCWY_MASK) 13769 #define MSCM_CFG0_DCSZ_MASK (0xFF00U) 13770 #define MSCM_CFG0_DCSZ_SHIFT (8U) 13771 #define MSCM_CFG0_DCSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG0_DCSZ_SHIFT)) & MSCM_CFG0_DCSZ_MASK) 13772 #define MSCM_CFG0_ICWY_MASK (0xFF0000U) 13773 #define MSCM_CFG0_ICWY_SHIFT (16U) 13774 #define MSCM_CFG0_ICWY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG0_ICWY_SHIFT)) & MSCM_CFG0_ICWY_MASK) 13775 #define MSCM_CFG0_ICSZ_MASK (0xFF000000U) 13776 #define MSCM_CFG0_ICSZ_SHIFT (24U) 13777 #define MSCM_CFG0_ICSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG0_ICSZ_SHIFT)) & MSCM_CFG0_ICSZ_MASK) 13778 /*! @} */ 13779 13780 /* The count of MSCM_CFG0 */ 13781 #define MSCM_CFG0_COUNT (2U) 13782 13783 /*! @name CFG1 - Processor 0 Configuration Register 1..Processor 1 Configuration Register 1 */ 13784 /*! @{ */ 13785 #define MSCM_CFG1_L2WY_MASK (0xFF0000U) 13786 #define MSCM_CFG1_L2WY_SHIFT (16U) 13787 #define MSCM_CFG1_L2WY(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG1_L2WY_SHIFT)) & MSCM_CFG1_L2WY_MASK) 13788 #define MSCM_CFG1_L2SZ_MASK (0xFF000000U) 13789 #define MSCM_CFG1_L2SZ_SHIFT (24U) 13790 #define MSCM_CFG1_L2SZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG1_L2SZ_SHIFT)) & MSCM_CFG1_L2SZ_MASK) 13791 /*! @} */ 13792 13793 /* The count of MSCM_CFG1 */ 13794 #define MSCM_CFG1_COUNT (2U) 13795 13796 /*! @name CFG2 - Processor 0 Configuration Register 2..Processor 1 Configuration Register 2 */ 13797 /*! @{ */ 13798 #define MSCM_CFG2_TMUSZ_MASK (0xFF00U) 13799 #define MSCM_CFG2_TMUSZ_SHIFT (8U) 13800 #define MSCM_CFG2_TMUSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG2_TMUSZ_SHIFT)) & MSCM_CFG2_TMUSZ_MASK) 13801 #define MSCM_CFG2_TMLSZ_MASK (0xFF000000U) 13802 #define MSCM_CFG2_TMLSZ_SHIFT (24U) 13803 #define MSCM_CFG2_TMLSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG2_TMLSZ_SHIFT)) & MSCM_CFG2_TMLSZ_MASK) 13804 /*! @} */ 13805 13806 /* The count of MSCM_CFG2 */ 13807 #define MSCM_CFG2_COUNT (2U) 13808 13809 /*! @name CFG3 - Processor 0 Configuration Register 3..Processor 1 Configuration Register 3 */ 13810 /*! @{ */ 13811 #define MSCM_CFG3_FPU_MASK (0x1U) 13812 #define MSCM_CFG3_FPU_SHIFT (0U) 13813 /*! FPU - Floating Point Unit 13814 * 0b0..FPU support is not included. 13815 * 0b1..FPU support is included. 13816 */ 13817 #define MSCM_CFG3_FPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_FPU_SHIFT)) & MSCM_CFG3_FPU_MASK) 13818 #define MSCM_CFG3_SIMD_MASK (0x2U) 13819 #define MSCM_CFG3_SIMD_SHIFT (1U) 13820 /*! SIMD - SIMD/NEON instruction support 13821 * 0b0..SIMD/NEON support is not included. 13822 * 0b1..SIMD/NEON support is included. 13823 */ 13824 #define MSCM_CFG3_SIMD(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_SIMD_SHIFT)) & MSCM_CFG3_SIMD_MASK) 13825 #define MSCM_CFG3_JAZ_MASK (0x4U) 13826 #define MSCM_CFG3_JAZ_SHIFT (2U) 13827 /*! JAZ - Jazelle support 13828 * 0b0..Jazelle support is not included. 13829 * 0b1..Jazelle support is included. 13830 */ 13831 #define MSCM_CFG3_JAZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_JAZ_SHIFT)) & MSCM_CFG3_JAZ_MASK) 13832 #define MSCM_CFG3_MMU_MASK (0x8U) 13833 #define MSCM_CFG3_MMU_SHIFT (3U) 13834 /*! MMU - Memory Management Unit 13835 * 0b0..MMU support is not included. 13836 * 0b1..MMU support is included. 13837 */ 13838 #define MSCM_CFG3_MMU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_MMU_SHIFT)) & MSCM_CFG3_MMU_MASK) 13839 #define MSCM_CFG3_TZ_MASK (0x10U) 13840 #define MSCM_CFG3_TZ_SHIFT (4U) 13841 /*! TZ - Trust Zone 13842 * 0b0..Trust Zone support is not included. 13843 * 0b1..Trust Zone support is included. 13844 */ 13845 #define MSCM_CFG3_TZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_TZ_SHIFT)) & MSCM_CFG3_TZ_MASK) 13846 #define MSCM_CFG3_CMP_MASK (0x20U) 13847 #define MSCM_CFG3_CMP_SHIFT (5U) 13848 /*! CMP - Core Memory Protection unit 13849 * 0b0..Core Memory Protection is not included. 13850 * 0b1..Core Memory Protection is included. 13851 */ 13852 #define MSCM_CFG3_CMP(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_CMP_SHIFT)) & MSCM_CFG3_CMP_MASK) 13853 #define MSCM_CFG3_BB_MASK (0x40U) 13854 #define MSCM_CFG3_BB_SHIFT (6U) 13855 /*! BB - Bit Banding 13856 * 0b0..Bit Banding is not supported. 13857 * 0b1..Bit Banding is supported. 13858 */ 13859 #define MSCM_CFG3_BB(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_BB_SHIFT)) & MSCM_CFG3_BB_MASK) 13860 #define MSCM_CFG3_SBP_MASK (0x300U) 13861 #define MSCM_CFG3_SBP_SHIFT (8U) 13862 #define MSCM_CFG3_SBP(x) (((uint32_t)(((uint32_t)(x)) << MSCM_CFG3_SBP_SHIFT)) & MSCM_CFG3_SBP_MASK) 13863 /*! @} */ 13864 13865 /* The count of MSCM_CFG3 */ 13866 #define MSCM_CFG3_COUNT (2U) 13867 13868 /*! @name OCMDR0 - On-Chip Memory Descriptor Register */ 13869 /*! @{ */ 13870 #define MSCM_OCMDR0_OCM1_MASK (0x30U) 13871 #define MSCM_OCMDR0_OCM1_SHIFT (4U) 13872 #define MSCM_OCMDR0_OCM1(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCM1_SHIFT)) & MSCM_OCMDR0_OCM1_MASK) 13873 #define MSCM_OCMDR0_OCMPU_MASK (0x1000U) 13874 #define MSCM_OCMDR0_OCMPU_SHIFT (12U) 13875 #define MSCM_OCMDR0_OCMPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCMPU_SHIFT)) & MSCM_OCMDR0_OCMPU_MASK) 13876 #define MSCM_OCMDR0_OCMT_MASK (0xE000U) 13877 #define MSCM_OCMDR0_OCMT_SHIFT (13U) 13878 /*! OCMT - OCMT 13879 * 0b000..Reserved 13880 * 0b001..Reserved 13881 * 0b010..Reserved 13882 * 0b011..OCMEMn is a ROM. 13883 * 0b100..OCMEMn is a Program Flash. 13884 * 0b101..Reserved 13885 * 0b110..OCMEMn is an EEE. 13886 * 0b111..Reserved 13887 */ 13888 #define MSCM_OCMDR0_OCMT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCMT_SHIFT)) & MSCM_OCMDR0_OCMT_MASK) 13889 #define MSCM_OCMDR0_RO_MASK (0x10000U) 13890 #define MSCM_OCMDR0_RO_SHIFT (16U) 13891 /*! RO - RO 13892 * 0b0..Writes to the OCMDRn[11:0] are allowed 13893 * 0b1..Writes to the OCMDRn[11:0] are ignored 13894 */ 13895 #define MSCM_OCMDR0_RO(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_RO_SHIFT)) & MSCM_OCMDR0_RO_MASK) 13896 #define MSCM_OCMDR0_OCMW_MASK (0xE0000U) 13897 #define MSCM_OCMDR0_OCMW_SHIFT (17U) 13898 /*! OCMW - OCMW 13899 * 0b000-0b001..Reserved 13900 * 0b010..OCMEMn 32-bits wide 13901 * 0b011..OCMEMn 64-bits wide 13902 * 0b100..OCMEMn 128-bits wide 13903 * 0b101..OCMEMn 256-bits wide 13904 * 0b110-0b111..Reserved 13905 */ 13906 #define MSCM_OCMDR0_OCMW(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCMW_SHIFT)) & MSCM_OCMDR0_OCMW_MASK) 13907 #define MSCM_OCMDR0_OCMSZ_MASK (0xF000000U) 13908 #define MSCM_OCMDR0_OCMSZ_SHIFT (24U) 13909 /*! OCMSZ - OCMSZ 13910 * 0b0000..no OCMEMn 13911 * 0b0001..1KB OCMEMn 13912 * 0b0010..2KB OCMEMn 13913 * 0b0011..4KB OCMEMn 13914 * 0b0100..8KB OCMEMn 13915 * 0b0101..16KB OCMEMn 13916 * 0b0110..32KB OCMEMn 13917 * 0b0111..64KB OCMEMn 13918 * 0b1000..128KB OCMEMn 13919 * 0b1001..256KB OCMEMn 13920 * 0b1010..512KB OCMEMn 13921 * 0b1011..1MB OCMEMn 13922 * 0b1100..2MB OCMEMn 13923 * 0b1101..4MB OCMEMn 13924 * 0b1110..8MB OCMEMn 13925 * 0b1111..16MB OCMEMn 13926 */ 13927 #define MSCM_OCMDR0_OCMSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCMSZ_SHIFT)) & MSCM_OCMDR0_OCMSZ_MASK) 13928 #define MSCM_OCMDR0_OCMSZH_MASK (0x10000000U) 13929 #define MSCM_OCMDR0_OCMSZH_SHIFT (28U) 13930 /*! OCMSZH - OCMSZH 13931 * 0b0..OCMEMn is a power-of-2 capacity. 13932 * 0b1..OCMEMn is not a power-of-2, with a capacity is 0.75 * OCMSZ. 13933 */ 13934 #define MSCM_OCMDR0_OCMSZH(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_OCMSZH_SHIFT)) & MSCM_OCMDR0_OCMSZH_MASK) 13935 #define MSCM_OCMDR0_V_MASK (0x80000000U) 13936 #define MSCM_OCMDR0_V_SHIFT (31U) 13937 /*! V - V 13938 * 0b0..OCMEMn is not present. 13939 * 0b1..OCMEMn is present. 13940 */ 13941 #define MSCM_OCMDR0_V(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR0_V_SHIFT)) & MSCM_OCMDR0_V_MASK) 13942 /*! @} */ 13943 13944 /*! @name OCMDR1 - On-Chip Memory Descriptor Register */ 13945 /*! @{ */ 13946 #define MSCM_OCMDR1_OCM1_MASK (0x30U) 13947 #define MSCM_OCMDR1_OCM1_SHIFT (4U) 13948 #define MSCM_OCMDR1_OCM1(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCM1_SHIFT)) & MSCM_OCMDR1_OCM1_MASK) 13949 #define MSCM_OCMDR1_OCMPU_MASK (0x1000U) 13950 #define MSCM_OCMDR1_OCMPU_SHIFT (12U) 13951 #define MSCM_OCMDR1_OCMPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCMPU_SHIFT)) & MSCM_OCMDR1_OCMPU_MASK) 13952 #define MSCM_OCMDR1_OCMT_MASK (0xE000U) 13953 #define MSCM_OCMDR1_OCMT_SHIFT (13U) 13954 /*! OCMT - OCMT 13955 * 0b000..Reserved 13956 * 0b001..Reserved 13957 * 0b010..Reserved 13958 * 0b011..OCMEMn is a ROM. 13959 * 0b100..OCMEMn is a Program Flash. 13960 * 0b101..Reserved 13961 * 0b110..OCMEMn is an EEE. 13962 * 0b111..Reserved 13963 */ 13964 #define MSCM_OCMDR1_OCMT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCMT_SHIFT)) & MSCM_OCMDR1_OCMT_MASK) 13965 #define MSCM_OCMDR1_RO_MASK (0x10000U) 13966 #define MSCM_OCMDR1_RO_SHIFT (16U) 13967 /*! RO - RO 13968 * 0b0..Writes to the OCMDRn[11:0] are allowed 13969 * 0b1..Writes to the OCMDRn[11:0] are ignored 13970 */ 13971 #define MSCM_OCMDR1_RO(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_RO_SHIFT)) & MSCM_OCMDR1_RO_MASK) 13972 #define MSCM_OCMDR1_OCMW_MASK (0xE0000U) 13973 #define MSCM_OCMDR1_OCMW_SHIFT (17U) 13974 /*! OCMW - OCMW 13975 * 0b000-0b001..Reserved 13976 * 0b010..OCMEMn 32-bits wide 13977 * 0b011..OCMEMn 64-bits wide 13978 * 0b100..OCMEMn 128-bits wide 13979 * 0b101..OCMEMn 256-bits wide 13980 * 0b110-0b111..Reserved 13981 */ 13982 #define MSCM_OCMDR1_OCMW(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCMW_SHIFT)) & MSCM_OCMDR1_OCMW_MASK) 13983 #define MSCM_OCMDR1_OCMSZ_MASK (0xF000000U) 13984 #define MSCM_OCMDR1_OCMSZ_SHIFT (24U) 13985 /*! OCMSZ - OCMSZ 13986 * 0b0000..no OCMEMn 13987 * 0b0001..1KB OCMEMn 13988 * 0b0010..2KB OCMEMn 13989 * 0b0011..4KB OCMEMn 13990 * 0b0100..8KB OCMEMn 13991 * 0b0101..16KB OCMEMn 13992 * 0b0110..32KB OCMEMn 13993 * 0b0111..64KB OCMEMn 13994 * 0b1000..128KB OCMEMn 13995 * 0b1001..256KB OCMEMn 13996 * 0b1010..512KB OCMEMn 13997 * 0b1011..1MB OCMEMn 13998 * 0b1100..2MB OCMEMn 13999 * 0b1101..4MB OCMEMn 14000 * 0b1110..8MB OCMEMn 14001 * 0b1111..16MB OCMEMn 14002 */ 14003 #define MSCM_OCMDR1_OCMSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCMSZ_SHIFT)) & MSCM_OCMDR1_OCMSZ_MASK) 14004 #define MSCM_OCMDR1_OCMSZH_MASK (0x10000000U) 14005 #define MSCM_OCMDR1_OCMSZH_SHIFT (28U) 14006 /*! OCMSZH - OCMSZH 14007 * 0b0..OCMEMn is a power-of-2 capacity. 14008 * 0b1..OCMEMn is not a power-of-2, with a capacity is 0.75 * OCMSZ. 14009 */ 14010 #define MSCM_OCMDR1_OCMSZH(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_OCMSZH_SHIFT)) & MSCM_OCMDR1_OCMSZH_MASK) 14011 #define MSCM_OCMDR1_V_MASK (0x80000000U) 14012 #define MSCM_OCMDR1_V_SHIFT (31U) 14013 /*! V - V 14014 * 0b0..OCMEMn is not present. 14015 * 0b1..OCMEMn is present. 14016 */ 14017 #define MSCM_OCMDR1_V(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR1_V_SHIFT)) & MSCM_OCMDR1_V_MASK) 14018 /*! @} */ 14019 14020 /*! @name OCMDR2 - On-Chip Memory Descriptor Register */ 14021 /*! @{ */ 14022 #define MSCM_OCMDR2_OCMPU_MASK (0x1000U) 14023 #define MSCM_OCMDR2_OCMPU_SHIFT (12U) 14024 #define MSCM_OCMDR2_OCMPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_OCMPU_SHIFT)) & MSCM_OCMDR2_OCMPU_MASK) 14025 #define MSCM_OCMDR2_OCMT_MASK (0xE000U) 14026 #define MSCM_OCMDR2_OCMT_SHIFT (13U) 14027 /*! OCMT - OCMT 14028 * 0b000..Reserved 14029 * 0b001..Reserved 14030 * 0b010..Reserved 14031 * 0b011..OCMEMn is a ROM. 14032 * 0b100..OCMEMn is a Program Flash. 14033 * 0b101..Reserved 14034 * 0b110..OCMEMn is an EEE. 14035 * 0b111..Reserved 14036 */ 14037 #define MSCM_OCMDR2_OCMT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_OCMT_SHIFT)) & MSCM_OCMDR2_OCMT_MASK) 14038 #define MSCM_OCMDR2_RO_MASK (0x10000U) 14039 #define MSCM_OCMDR2_RO_SHIFT (16U) 14040 /*! RO - RO 14041 * 0b0..Writes to the OCMDRn[11:0] are allowed 14042 * 0b1..Writes to the OCMDRn[11:0] are ignored 14043 */ 14044 #define MSCM_OCMDR2_RO(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_RO_SHIFT)) & MSCM_OCMDR2_RO_MASK) 14045 #define MSCM_OCMDR2_OCMW_MASK (0xE0000U) 14046 #define MSCM_OCMDR2_OCMW_SHIFT (17U) 14047 /*! OCMW - OCMW 14048 * 0b000-0b001..Reserved 14049 * 0b010..OCMEMn 32-bits wide 14050 * 0b011..OCMEMn 64-bits wide 14051 * 0b100..OCMEMn 128-bits wide 14052 * 0b101..OCMEMn 256-bits wide 14053 * 0b110-0b111..Reserved 14054 */ 14055 #define MSCM_OCMDR2_OCMW(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_OCMW_SHIFT)) & MSCM_OCMDR2_OCMW_MASK) 14056 #define MSCM_OCMDR2_OCMSZ_MASK (0xF000000U) 14057 #define MSCM_OCMDR2_OCMSZ_SHIFT (24U) 14058 /*! OCMSZ - OCMSZ 14059 * 0b0000..no OCMEMn 14060 * 0b0001..1KB OCMEMn 14061 * 0b0010..2KB OCMEMn 14062 * 0b0011..4KB OCMEMn 14063 * 0b0100..8KB OCMEMn 14064 * 0b0101..16KB OCMEMn 14065 * 0b0110..32KB OCMEMn 14066 * 0b0111..64KB OCMEMn 14067 * 0b1000..128KB OCMEMn 14068 * 0b1001..256KB OCMEMn 14069 * 0b1010..512KB OCMEMn 14070 * 0b1011..1MB OCMEMn 14071 * 0b1100..2MB OCMEMn 14072 * 0b1101..4MB OCMEMn 14073 * 0b1110..8MB OCMEMn 14074 * 0b1111..16MB OCMEMn 14075 */ 14076 #define MSCM_OCMDR2_OCMSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_OCMSZ_SHIFT)) & MSCM_OCMDR2_OCMSZ_MASK) 14077 #define MSCM_OCMDR2_OCMSZH_MASK (0x10000000U) 14078 #define MSCM_OCMDR2_OCMSZH_SHIFT (28U) 14079 /*! OCMSZH - OCMSZH 14080 * 0b0..OCMEMn is a power-of-2 capacity. 14081 * 0b1..OCMEMn is not a power-of-2, with a capacity is 0.75 * OCMSZ. 14082 */ 14083 #define MSCM_OCMDR2_OCMSZH(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_OCMSZH_SHIFT)) & MSCM_OCMDR2_OCMSZH_MASK) 14084 #define MSCM_OCMDR2_V_MASK (0x80000000U) 14085 #define MSCM_OCMDR2_V_SHIFT (31U) 14086 /*! V - V 14087 * 0b0..OCMEMn is not present. 14088 * 0b1..OCMEMn is present. 14089 */ 14090 #define MSCM_OCMDR2_V(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR2_V_SHIFT)) & MSCM_OCMDR2_V_MASK) 14091 /*! @} */ 14092 14093 /*! @name OCMDR3 - On-Chip Memory Descriptor Register */ 14094 /*! @{ */ 14095 #define MSCM_OCMDR3_OCMPU_MASK (0x1000U) 14096 #define MSCM_OCMDR3_OCMPU_SHIFT (12U) 14097 #define MSCM_OCMDR3_OCMPU(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_OCMPU_SHIFT)) & MSCM_OCMDR3_OCMPU_MASK) 14098 #define MSCM_OCMDR3_OCMT_MASK (0xE000U) 14099 #define MSCM_OCMDR3_OCMT_SHIFT (13U) 14100 /*! OCMT - OCMT 14101 * 0b000..Reserved 14102 * 0b001..Reserved 14103 * 0b010..Reserved 14104 * 0b011..OCMEMn is a ROM. 14105 * 0b100..OCMEMn is a Program Flash. 14106 * 0b101..Reserved 14107 * 0b110..OCMEMn is an EEE. 14108 * 0b111..Reserved 14109 */ 14110 #define MSCM_OCMDR3_OCMT(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_OCMT_SHIFT)) & MSCM_OCMDR3_OCMT_MASK) 14111 #define MSCM_OCMDR3_RO_MASK (0x10000U) 14112 #define MSCM_OCMDR3_RO_SHIFT (16U) 14113 /*! RO - RO 14114 * 0b0..Writes to the OCMDRn[11:0] are allowed 14115 * 0b1..Writes to the OCMDRn[11:0] are ignored 14116 */ 14117 #define MSCM_OCMDR3_RO(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_RO_SHIFT)) & MSCM_OCMDR3_RO_MASK) 14118 #define MSCM_OCMDR3_OCMW_MASK (0xE0000U) 14119 #define MSCM_OCMDR3_OCMW_SHIFT (17U) 14120 /*! OCMW - OCMW 14121 * 0b000-0b001..Reserved 14122 * 0b010..OCMEMn 32-bits wide 14123 * 0b011..OCMEMn 64-bits wide 14124 * 0b100..OCMEMn 128-bits wide 14125 * 0b101..OCMEMn 256-bits wide 14126 * 0b110-0b111..Reserved 14127 */ 14128 #define MSCM_OCMDR3_OCMW(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_OCMW_SHIFT)) & MSCM_OCMDR3_OCMW_MASK) 14129 #define MSCM_OCMDR3_OCMSZ_MASK (0xF000000U) 14130 #define MSCM_OCMDR3_OCMSZ_SHIFT (24U) 14131 /*! OCMSZ - OCMSZ 14132 * 0b0000..no OCMEMn 14133 * 0b0001..1KB OCMEMn 14134 * 0b0010..2KB OCMEMn 14135 * 0b0011..4KB OCMEMn 14136 * 0b0100..8KB OCMEMn 14137 * 0b0101..16KB OCMEMn 14138 * 0b0110..32KB OCMEMn 14139 * 0b0111..64KB OCMEMn 14140 * 0b1000..128KB OCMEMn 14141 * 0b1001..256KB OCMEMn 14142 * 0b1010..512KB OCMEMn 14143 * 0b1011..1MB OCMEMn 14144 * 0b1100..2MB OCMEMn 14145 * 0b1101..4MB OCMEMn 14146 * 0b1110..8MB OCMEMn 14147 * 0b1111..16MB OCMEMn 14148 */ 14149 #define MSCM_OCMDR3_OCMSZ(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_OCMSZ_SHIFT)) & MSCM_OCMDR3_OCMSZ_MASK) 14150 #define MSCM_OCMDR3_OCMSZH_MASK (0x10000000U) 14151 #define MSCM_OCMDR3_OCMSZH_SHIFT (28U) 14152 /*! OCMSZH - OCMSZH 14153 * 0b0..OCMEMn is a power-of-2 capacity. 14154 * 0b1..OCMEMn is not a power-of-2, with a capacity is 0.75 * OCMSZ. 14155 */ 14156 #define MSCM_OCMDR3_OCMSZH(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_OCMSZH_SHIFT)) & MSCM_OCMDR3_OCMSZH_MASK) 14157 #define MSCM_OCMDR3_V_MASK (0x80000000U) 14158 #define MSCM_OCMDR3_V_SHIFT (31U) 14159 /*! V - V 14160 * 0b0..OCMEMn is not present. 14161 * 0b1..OCMEMn is present. 14162 */ 14163 #define MSCM_OCMDR3_V(x) (((uint32_t)(((uint32_t)(x)) << MSCM_OCMDR3_V_SHIFT)) & MSCM_OCMDR3_V_MASK) 14164 /*! @} */ 14165 14166 14167 /*! 14168 * @} 14169 */ /* end of group MSCM_Register_Masks */ 14170 14171 14172 /* MSCM - Peripheral instance base addresses */ 14173 /** Peripheral MSCM base address */ 14174 #define MSCM_BASE (0x40001000u) 14175 /** Peripheral MSCM base pointer */ 14176 #define MSCM ((MSCM_Type *)MSCM_BASE) 14177 /** Array initializer of MSCM peripheral base addresses */ 14178 #define MSCM_BASE_ADDRS { MSCM_BASE } 14179 /** Array initializer of MSCM peripheral base pointers */ 14180 #define MSCM_BASE_PTRS { MSCM } 14181 14182 /*! 14183 * @} 14184 */ /* end of group MSCM_Peripheral_Access_Layer */ 14185 14186 14187 /* ---------------------------------------------------------------------------- 14188 -- MTB Peripheral Access Layer 14189 ---------------------------------------------------------------------------- */ 14190 14191 /*! 14192 * @addtogroup MTB_Peripheral_Access_Layer MTB Peripheral Access Layer 14193 * @{ 14194 */ 14195 14196 /** MTB - Register Layout Typedef */ 14197 typedef struct { 14198 __IO uint32_t POSITION; /**< MTB Position Register, offset: 0x0 */ 14199 __IO uint32_t MASTER; /**< MTB Master Register, offset: 0x4 */ 14200 __IO uint32_t FLOW; /**< MTB Flow Register, offset: 0x8 */ 14201 __I uint32_t BASE; /**< MTB Base Register, offset: 0xC */ 14202 uint8_t RESERVED_0[3824]; 14203 __I uint32_t MODECTRL; /**< Integration Mode Control Register, offset: 0xF00 */ 14204 uint8_t RESERVED_1[156]; 14205 __I uint32_t TAGSET; /**< Claim TAG Set Register, offset: 0xFA0 */ 14206 __I uint32_t TAGCLEAR; /**< Claim TAG Clear Register, offset: 0xFA4 */ 14207 uint8_t RESERVED_2[8]; 14208 __I uint32_t LOCKACCESS; /**< Lock Access Register, offset: 0xFB0 */ 14209 __I uint32_t LOCKSTAT; /**< Lock Status Register, offset: 0xFB4 */ 14210 __I uint32_t AUTHSTAT; /**< Authentication Status Register, offset: 0xFB8 */ 14211 __I uint32_t DEVICEARCH; /**< Device Architecture Register, offset: 0xFBC */ 14212 uint8_t RESERVED_3[8]; 14213 __I uint32_t DEVICECFG; /**< Device Configuration Register, offset: 0xFC8 */ 14214 __I uint32_t DEVICETYPID; /**< Device Type Identifier Register, offset: 0xFCC */ 14215 __I uint32_t PERIPHID4; /**< Peripheral ID Register, offset: 0xFD0 */ 14216 __I uint32_t PERIPHID5; /**< Peripheral ID Register, offset: 0xFD4 */ 14217 __I uint32_t PERIPHID6; /**< Peripheral ID Register, offset: 0xFD8 */ 14218 __I uint32_t PERIPHID7; /**< Peripheral ID Register, offset: 0xFDC */ 14219 __I uint32_t PERIPHID0; /**< Peripheral ID Register, offset: 0xFE0 */ 14220 __I uint32_t PERIPHID1; /**< Peripheral ID Register, offset: 0xFE4 */ 14221 __I uint32_t PERIPHID2; /**< Peripheral ID Register, offset: 0xFE8 */ 14222 __I uint32_t PERIPHID3; /**< Peripheral ID Register, offset: 0xFEC */ 14223 __I uint32_t COMPID[4]; /**< Component ID Register, array offset: 0xFF0, array step: 0x4 */ 14224 } MTB_Type; 14225 14226 /* ---------------------------------------------------------------------------- 14227 -- MTB Register Masks 14228 ---------------------------------------------------------------------------- */ 14229 14230 /*! 14231 * @addtogroup MTB_Register_Masks MTB Register Masks 14232 * @{ 14233 */ 14234 14235 /*! @name POSITION - MTB Position Register */ 14236 /*! @{ */ 14237 #define MTB_POSITION_WRAP_MASK (0x4U) 14238 #define MTB_POSITION_WRAP_SHIFT (2U) 14239 #define MTB_POSITION_WRAP(x) (((uint32_t)(((uint32_t)(x)) << MTB_POSITION_WRAP_SHIFT)) & MTB_POSITION_WRAP_MASK) 14240 #define MTB_POSITION_POINTER_MASK (0xFFF8U) 14241 #define MTB_POSITION_POINTER_SHIFT (3U) 14242 #define MTB_POSITION_POINTER(x) (((uint32_t)(((uint32_t)(x)) << MTB_POSITION_POINTER_SHIFT)) & MTB_POSITION_POINTER_MASK) 14243 /*! @} */ 14244 14245 /*! @name MASTER - MTB Master Register */ 14246 /*! @{ */ 14247 #define MTB_MASTER_MASK_MASK (0x1FU) 14248 #define MTB_MASTER_MASK_SHIFT (0U) 14249 #define MTB_MASTER_MASK(x) (((uint32_t)(((uint32_t)(x)) << MTB_MASTER_MASK_SHIFT)) & MTB_MASTER_MASK_MASK) 14250 #define MTB_MASTER_TSTARTEN_MASK (0x20U) 14251 #define MTB_MASTER_TSTARTEN_SHIFT (5U) 14252 #define MTB_MASTER_TSTARTEN(x) (((uint32_t)(((uint32_t)(x)) << MTB_MASTER_TSTARTEN_SHIFT)) & MTB_MASTER_TSTARTEN_MASK) 14253 #define MTB_MASTER_TSTOPEN_MASK (0x40U) 14254 #define MTB_MASTER_TSTOPEN_SHIFT (6U) 14255 #define MTB_MASTER_TSTOPEN(x) (((uint32_t)(((uint32_t)(x)) << MTB_MASTER_TSTOPEN_SHIFT)) & MTB_MASTER_TSTOPEN_MASK) 14256 #define MTB_MASTER_SFRWPRIV_MASK (0x80U) 14257 #define MTB_MASTER_SFRWPRIV_SHIFT (7U) 14258 #define MTB_MASTER_SFRWPRIV(x) (((uint32_t)(((uint32_t)(x)) << MTB_MASTER_SFRWPRIV_SHIFT)) & MTB_MASTER_SFRWPRIV_MASK) 14259 #define MTB_MASTER_RAMPRIV_MASK (0x100U) 14260 #define MTB_MASTER_RAMPRIV_SHIFT (8U) 14261 #define MTB_MASTER_RAMPRIV(x) (((uint32_t)(((uint32_t)(x)) << MTB_MASTER_RAMPRIV_SHIFT)) & MTB_MASTER_RAMPRIV_MASK) 14262 #define MTB_MASTER_HALTREQ_MASK (0x200U) 14263 #define MTB_MASTER_HALTREQ_SHIFT (9U) 14264 #define MTB_MASTER_HALTREQ(x) (((uint32_t)(((uint32_t)(x)) << MTB_MASTER_HALTREQ_SHIFT)) & MTB_MASTER_HALTREQ_MASK) 14265 #define MTB_MASTER_EN_MASK (0x80000000U) 14266 #define MTB_MASTER_EN_SHIFT (31U) 14267 #define MTB_MASTER_EN(x) (((uint32_t)(((uint32_t)(x)) << MTB_MASTER_EN_SHIFT)) & MTB_MASTER_EN_MASK) 14268 /*! @} */ 14269 14270 /*! @name FLOW - MTB Flow Register */ 14271 /*! @{ */ 14272 #define MTB_FLOW_AUTOSTOP_MASK (0x1U) 14273 #define MTB_FLOW_AUTOSTOP_SHIFT (0U) 14274 #define MTB_FLOW_AUTOSTOP(x) (((uint32_t)(((uint32_t)(x)) << MTB_FLOW_AUTOSTOP_SHIFT)) & MTB_FLOW_AUTOSTOP_MASK) 14275 #define MTB_FLOW_AUTOHALT_MASK (0x2U) 14276 #define MTB_FLOW_AUTOHALT_SHIFT (1U) 14277 #define MTB_FLOW_AUTOHALT(x) (((uint32_t)(((uint32_t)(x)) << MTB_FLOW_AUTOHALT_SHIFT)) & MTB_FLOW_AUTOHALT_MASK) 14278 #define MTB_FLOW_WATERMARK_MASK (0xFFFFFFF8U) 14279 #define MTB_FLOW_WATERMARK_SHIFT (3U) 14280 #define MTB_FLOW_WATERMARK(x) (((uint32_t)(((uint32_t)(x)) << MTB_FLOW_WATERMARK_SHIFT)) & MTB_FLOW_WATERMARK_MASK) 14281 /*! @} */ 14282 14283 /*! @name BASE - MTB Base Register */ 14284 /*! @{ */ 14285 #define MTB_BASE_BASEADDR_MASK (0xFFFFFFFFU) 14286 #define MTB_BASE_BASEADDR_SHIFT (0U) 14287 #define MTB_BASE_BASEADDR(x) (((uint32_t)(((uint32_t)(x)) << MTB_BASE_BASEADDR_SHIFT)) & MTB_BASE_BASEADDR_MASK) 14288 /*! @} */ 14289 14290 /*! @name MODECTRL - Integration Mode Control Register */ 14291 /*! @{ */ 14292 #define MTB_MODECTRL_MODECTRL_MASK (0xFFFFFFFFU) 14293 #define MTB_MODECTRL_MODECTRL_SHIFT (0U) 14294 #define MTB_MODECTRL_MODECTRL(x) (((uint32_t)(((uint32_t)(x)) << MTB_MODECTRL_MODECTRL_SHIFT)) & MTB_MODECTRL_MODECTRL_MASK) 14295 /*! @} */ 14296 14297 /*! @name TAGSET - Claim TAG Set Register */ 14298 /*! @{ */ 14299 #define MTB_TAGSET_TAGSET_MASK (0xFFFFFFFFU) 14300 #define MTB_TAGSET_TAGSET_SHIFT (0U) 14301 #define MTB_TAGSET_TAGSET(x) (((uint32_t)(((uint32_t)(x)) << MTB_TAGSET_TAGSET_SHIFT)) & MTB_TAGSET_TAGSET_MASK) 14302 /*! @} */ 14303 14304 /*! @name TAGCLEAR - Claim TAG Clear Register */ 14305 /*! @{ */ 14306 #define MTB_TAGCLEAR_TAGCLEAR_MASK (0xFFFFFFFFU) 14307 #define MTB_TAGCLEAR_TAGCLEAR_SHIFT (0U) 14308 #define MTB_TAGCLEAR_TAGCLEAR(x) (((uint32_t)(((uint32_t)(x)) << MTB_TAGCLEAR_TAGCLEAR_SHIFT)) & MTB_TAGCLEAR_TAGCLEAR_MASK) 14309 /*! @} */ 14310 14311 /*! @name LOCKACCESS - Lock Access Register */ 14312 /*! @{ */ 14313 #define MTB_LOCKACCESS_LOCKACCESS_MASK (0xFFFFFFFFU) 14314 #define MTB_LOCKACCESS_LOCKACCESS_SHIFT (0U) 14315 #define MTB_LOCKACCESS_LOCKACCESS(x) (((uint32_t)(((uint32_t)(x)) << MTB_LOCKACCESS_LOCKACCESS_SHIFT)) & MTB_LOCKACCESS_LOCKACCESS_MASK) 14316 /*! @} */ 14317 14318 /*! @name LOCKSTAT - Lock Status Register */ 14319 /*! @{ */ 14320 #define MTB_LOCKSTAT_LOCKSTAT_MASK (0xFFFFFFFFU) 14321 #define MTB_LOCKSTAT_LOCKSTAT_SHIFT (0U) 14322 #define MTB_LOCKSTAT_LOCKSTAT(x) (((uint32_t)(((uint32_t)(x)) << MTB_LOCKSTAT_LOCKSTAT_SHIFT)) & MTB_LOCKSTAT_LOCKSTAT_MASK) 14323 /*! @} */ 14324 14325 /*! @name AUTHSTAT - Authentication Status Register */ 14326 /*! @{ */ 14327 #define MTB_AUTHSTAT_BIT0_MASK (0x1U) 14328 #define MTB_AUTHSTAT_BIT0_SHIFT (0U) 14329 #define MTB_AUTHSTAT_BIT0(x) (((uint32_t)(((uint32_t)(x)) << MTB_AUTHSTAT_BIT0_SHIFT)) & MTB_AUTHSTAT_BIT0_MASK) 14330 #define MTB_AUTHSTAT_BIT1_MASK (0x2U) 14331 #define MTB_AUTHSTAT_BIT1_SHIFT (1U) 14332 #define MTB_AUTHSTAT_BIT1(x) (((uint32_t)(((uint32_t)(x)) << MTB_AUTHSTAT_BIT1_SHIFT)) & MTB_AUTHSTAT_BIT1_MASK) 14333 #define MTB_AUTHSTAT_BIT2_MASK (0x4U) 14334 #define MTB_AUTHSTAT_BIT2_SHIFT (2U) 14335 #define MTB_AUTHSTAT_BIT2(x) (((uint32_t)(((uint32_t)(x)) << MTB_AUTHSTAT_BIT2_SHIFT)) & MTB_AUTHSTAT_BIT2_MASK) 14336 #define MTB_AUTHSTAT_BIT3_MASK (0x8U) 14337 #define MTB_AUTHSTAT_BIT3_SHIFT (3U) 14338 #define MTB_AUTHSTAT_BIT3(x) (((uint32_t)(((uint32_t)(x)) << MTB_AUTHSTAT_BIT3_SHIFT)) & MTB_AUTHSTAT_BIT3_MASK) 14339 /*! @} */ 14340 14341 /*! @name DEVICEARCH - Device Architecture Register */ 14342 /*! @{ */ 14343 #define MTB_DEVICEARCH_DEVICEARCH_MASK (0xFFFFFFFFU) 14344 #define MTB_DEVICEARCH_DEVICEARCH_SHIFT (0U) 14345 #define MTB_DEVICEARCH_DEVICEARCH(x) (((uint32_t)(((uint32_t)(x)) << MTB_DEVICEARCH_DEVICEARCH_SHIFT)) & MTB_DEVICEARCH_DEVICEARCH_MASK) 14346 /*! @} */ 14347 14348 /*! @name DEVICECFG - Device Configuration Register */ 14349 /*! @{ */ 14350 #define MTB_DEVICECFG_DEVICECFG_MASK (0xFFFFFFFFU) 14351 #define MTB_DEVICECFG_DEVICECFG_SHIFT (0U) 14352 #define MTB_DEVICECFG_DEVICECFG(x) (((uint32_t)(((uint32_t)(x)) << MTB_DEVICECFG_DEVICECFG_SHIFT)) & MTB_DEVICECFG_DEVICECFG_MASK) 14353 /*! @} */ 14354 14355 /*! @name DEVICETYPID - Device Type Identifier Register */ 14356 /*! @{ */ 14357 #define MTB_DEVICETYPID_DEVICETYPID_MASK (0xFFFFFFFFU) 14358 #define MTB_DEVICETYPID_DEVICETYPID_SHIFT (0U) 14359 #define MTB_DEVICETYPID_DEVICETYPID(x) (((uint32_t)(((uint32_t)(x)) << MTB_DEVICETYPID_DEVICETYPID_SHIFT)) & MTB_DEVICETYPID_DEVICETYPID_MASK) 14360 /*! @} */ 14361 14362 /*! @name PERIPHID4 - Peripheral ID Register */ 14363 /*! @{ */ 14364 #define MTB_PERIPHID4_PERIPHID_MASK (0xFFFFFFFFU) 14365 #define MTB_PERIPHID4_PERIPHID_SHIFT (0U) 14366 #define MTB_PERIPHID4_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTB_PERIPHID4_PERIPHID_SHIFT)) & MTB_PERIPHID4_PERIPHID_MASK) 14367 /*! @} */ 14368 14369 /*! @name PERIPHID5 - Peripheral ID Register */ 14370 /*! @{ */ 14371 #define MTB_PERIPHID5_PERIPHID_MASK (0xFFFFFFFFU) 14372 #define MTB_PERIPHID5_PERIPHID_SHIFT (0U) 14373 #define MTB_PERIPHID5_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTB_PERIPHID5_PERIPHID_SHIFT)) & MTB_PERIPHID5_PERIPHID_MASK) 14374 /*! @} */ 14375 14376 /*! @name PERIPHID6 - Peripheral ID Register */ 14377 /*! @{ */ 14378 #define MTB_PERIPHID6_PERIPHID_MASK (0xFFFFFFFFU) 14379 #define MTB_PERIPHID6_PERIPHID_SHIFT (0U) 14380 #define MTB_PERIPHID6_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTB_PERIPHID6_PERIPHID_SHIFT)) & MTB_PERIPHID6_PERIPHID_MASK) 14381 /*! @} */ 14382 14383 /*! @name PERIPHID7 - Peripheral ID Register */ 14384 /*! @{ */ 14385 #define MTB_PERIPHID7_PERIPHID_MASK (0xFFFFFFFFU) 14386 #define MTB_PERIPHID7_PERIPHID_SHIFT (0U) 14387 #define MTB_PERIPHID7_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTB_PERIPHID7_PERIPHID_SHIFT)) & MTB_PERIPHID7_PERIPHID_MASK) 14388 /*! @} */ 14389 14390 /*! @name PERIPHID0 - Peripheral ID Register */ 14391 /*! @{ */ 14392 #define MTB_PERIPHID0_PERIPHID_MASK (0xFFFFFFFFU) 14393 #define MTB_PERIPHID0_PERIPHID_SHIFT (0U) 14394 #define MTB_PERIPHID0_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTB_PERIPHID0_PERIPHID_SHIFT)) & MTB_PERIPHID0_PERIPHID_MASK) 14395 /*! @} */ 14396 14397 /*! @name PERIPHID1 - Peripheral ID Register */ 14398 /*! @{ */ 14399 #define MTB_PERIPHID1_PERIPHID_MASK (0xFFFFFFFFU) 14400 #define MTB_PERIPHID1_PERIPHID_SHIFT (0U) 14401 #define MTB_PERIPHID1_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTB_PERIPHID1_PERIPHID_SHIFT)) & MTB_PERIPHID1_PERIPHID_MASK) 14402 /*! @} */ 14403 14404 /*! @name PERIPHID2 - Peripheral ID Register */ 14405 /*! @{ */ 14406 #define MTB_PERIPHID2_PERIPHID_MASK (0xFFFFFFFFU) 14407 #define MTB_PERIPHID2_PERIPHID_SHIFT (0U) 14408 #define MTB_PERIPHID2_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTB_PERIPHID2_PERIPHID_SHIFT)) & MTB_PERIPHID2_PERIPHID_MASK) 14409 /*! @} */ 14410 14411 /*! @name PERIPHID3 - Peripheral ID Register */ 14412 /*! @{ */ 14413 #define MTB_PERIPHID3_PERIPHID_MASK (0xFFFFFFFFU) 14414 #define MTB_PERIPHID3_PERIPHID_SHIFT (0U) 14415 #define MTB_PERIPHID3_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTB_PERIPHID3_PERIPHID_SHIFT)) & MTB_PERIPHID3_PERIPHID_MASK) 14416 /*! @} */ 14417 14418 /*! @name COMPID - Component ID Register */ 14419 /*! @{ */ 14420 #define MTB_COMPID_COMPID_MASK (0xFFFFFFFFU) 14421 #define MTB_COMPID_COMPID_SHIFT (0U) 14422 #define MTB_COMPID_COMPID(x) (((uint32_t)(((uint32_t)(x)) << MTB_COMPID_COMPID_SHIFT)) & MTB_COMPID_COMPID_MASK) 14423 /*! @} */ 14424 14425 /* The count of MTB_COMPID */ 14426 #define MTB_COMPID_COUNT (4U) 14427 14428 14429 /*! 14430 * @} 14431 */ /* end of group MTB_Register_Masks */ 14432 14433 14434 /* MTB - Peripheral instance base addresses */ 14435 /** Peripheral MTB base address */ 14436 #define MTB_BASE (0xF0000000u) 14437 /** Peripheral MTB base pointer */ 14438 #define MTB ((MTB_Type *)MTB_BASE) 14439 /** Array initializer of MTB peripheral base addresses */ 14440 #define MTB_BASE_ADDRS { MTB_BASE } 14441 /** Array initializer of MTB peripheral base pointers */ 14442 #define MTB_BASE_PTRS { MTB } 14443 14444 /*! 14445 * @} 14446 */ /* end of group MTB_Peripheral_Access_Layer */ 14447 14448 14449 /* ---------------------------------------------------------------------------- 14450 -- MTBDWT Peripheral Access Layer 14451 ---------------------------------------------------------------------------- */ 14452 14453 /*! 14454 * @addtogroup MTBDWT_Peripheral_Access_Layer MTBDWT Peripheral Access Layer 14455 * @{ 14456 */ 14457 14458 /** MTBDWT - Register Layout Typedef */ 14459 typedef struct { 14460 __I uint32_t CTRL; /**< DWT Control Register, offset: 0x0 */ 14461 uint8_t RESERVED_0[28]; 14462 struct { /* offset: 0x20, array step: 0x10 */ 14463 __IO uint32_t COMP; /**< DWT Comparator Register, array offset: 0x20, array step: 0x10 */ 14464 __IO uint32_t MASK; /**< DWT Comparator Mask Register, array offset: 0x24, array step: 0x10 */ 14465 __IO uint32_t FCT; /**< DWT Comparator Function Register 0..DWT Comparator Function Register 1, array offset: 0x28, array step: 0x10 */ 14466 uint8_t RESERVED_0[4]; 14467 } COMPARATOR[2]; 14468 uint8_t RESERVED_1[448]; 14469 __IO uint32_t TBCTRL; /**< DWT Trace Buffer Control Register, offset: 0x200 */ 14470 uint8_t RESERVED_2[3524]; 14471 __I uint32_t DEVICECFG; /**< Device Configuration Register, offset: 0xFC8 */ 14472 __I uint32_t DEVICETYPID; /**< Device Type Identifier Register, offset: 0xFCC */ 14473 __I uint32_t PERIPHID4; /**< Peripheral ID Register, offset: 0xFD0 */ 14474 __I uint32_t PERIPHID5; /**< Peripheral ID Register, offset: 0xFD4 */ 14475 __I uint32_t PERIPHID6; /**< Peripheral ID Register, offset: 0xFD8 */ 14476 __I uint32_t PERIPHID7; /**< Peripheral ID Register, offset: 0xFDC */ 14477 __I uint32_t PERIPHID0; /**< Peripheral ID Register, offset: 0xFE0 */ 14478 __I uint32_t PERIPHID1; /**< Peripheral ID Register, offset: 0xFE4 */ 14479 __I uint32_t PERIPHID2; /**< Peripheral ID Register, offset: 0xFE8 */ 14480 __I uint32_t PERIPHID3; /**< Peripheral ID Register, offset: 0xFEC */ 14481 __I uint32_t COMPID[4]; /**< Component ID Register, array offset: 0xFF0, array step: 0x4 */ 14482 } MTBDWT_Type; 14483 14484 /* ---------------------------------------------------------------------------- 14485 -- MTBDWT Register Masks 14486 ---------------------------------------------------------------------------- */ 14487 14488 /*! 14489 * @addtogroup MTBDWT_Register_Masks MTBDWT Register Masks 14490 * @{ 14491 */ 14492 14493 /*! @name CTRL - DWT Control Register */ 14494 /*! @{ */ 14495 #define MTBDWT_CTRL_DWTCFGCTRL_MASK (0xFFFFFFFU) 14496 #define MTBDWT_CTRL_DWTCFGCTRL_SHIFT (0U) 14497 #define MTBDWT_CTRL_DWTCFGCTRL(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_CTRL_DWTCFGCTRL_SHIFT)) & MTBDWT_CTRL_DWTCFGCTRL_MASK) 14498 #define MTBDWT_CTRL_NUMCMP_MASK (0xF0000000U) 14499 #define MTBDWT_CTRL_NUMCMP_SHIFT (28U) 14500 #define MTBDWT_CTRL_NUMCMP(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_CTRL_NUMCMP_SHIFT)) & MTBDWT_CTRL_NUMCMP_MASK) 14501 /*! @} */ 14502 14503 /*! @name COMP - DWT Comparator Register */ 14504 /*! @{ */ 14505 #define MTBDWT_COMP_COMP_MASK (0xFFFFFFFFU) 14506 #define MTBDWT_COMP_COMP_SHIFT (0U) 14507 #define MTBDWT_COMP_COMP(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_COMP_COMP_SHIFT)) & MTBDWT_COMP_COMP_MASK) 14508 /*! @} */ 14509 14510 /* The count of MTBDWT_COMP */ 14511 #define MTBDWT_COMP_COUNT (2U) 14512 14513 /*! @name MASK - DWT Comparator Mask Register */ 14514 /*! @{ */ 14515 #define MTBDWT_MASK_MASK_MASK (0x1FU) 14516 #define MTBDWT_MASK_MASK_SHIFT (0U) 14517 #define MTBDWT_MASK_MASK(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_MASK_MASK_SHIFT)) & MTBDWT_MASK_MASK_MASK) 14518 /*! @} */ 14519 14520 /* The count of MTBDWT_MASK */ 14521 #define MTBDWT_MASK_COUNT (2U) 14522 14523 /*! @name FCT - DWT Comparator Function Register 0..DWT Comparator Function Register 1 */ 14524 /*! @{ */ 14525 #define MTBDWT_FCT_FUNCTION_MASK (0xFU) 14526 #define MTBDWT_FCT_FUNCTION_SHIFT (0U) 14527 /*! FUNCTION - Function 14528 * 0b0000..Disabled. 14529 * 0b0001-0b0011..Reserved. Any attempts to use this value results in UNPREDICTABLE behavior. 14530 * 0b0100..Instruction fetch. 14531 * 0b0101..Data operand read. 14532 * 0b0110..Data operand write. 14533 * 0b0111..Data operand (read + write). 14534 * 0b1000-0b1111..Reserved. Any attempts to use this value results in UNPREDICTABLE behavior. 14535 */ 14536 #define MTBDWT_FCT_FUNCTION(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_FCT_FUNCTION_SHIFT)) & MTBDWT_FCT_FUNCTION_MASK) 14537 #define MTBDWT_FCT_DATAVMATCH_MASK (0x100U) 14538 #define MTBDWT_FCT_DATAVMATCH_SHIFT (8U) 14539 /*! DATAVMATCH - Data Value Match 14540 * 0b0..Perform address comparison. 14541 * 0b1..Perform data value comparison. 14542 */ 14543 #define MTBDWT_FCT_DATAVMATCH(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_FCT_DATAVMATCH_SHIFT)) & MTBDWT_FCT_DATAVMATCH_MASK) 14544 #define MTBDWT_FCT_DATAVSIZE_MASK (0xC00U) 14545 #define MTBDWT_FCT_DATAVSIZE_SHIFT (10U) 14546 /*! DATAVSIZE - Data Value Size 14547 * 0b00..Byte. 14548 * 0b01..Halfword. 14549 * 0b10..Word. 14550 * 0b11..Reserved. Any attempts to use this value results in UNPREDICTABLE behavior. 14551 */ 14552 #define MTBDWT_FCT_DATAVSIZE(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_FCT_DATAVSIZE_SHIFT)) & MTBDWT_FCT_DATAVSIZE_MASK) 14553 #define MTBDWT_FCT_DATAVADDR0_MASK (0xF000U) 14554 #define MTBDWT_FCT_DATAVADDR0_SHIFT (12U) 14555 #define MTBDWT_FCT_DATAVADDR0(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_FCT_DATAVADDR0_SHIFT)) & MTBDWT_FCT_DATAVADDR0_MASK) 14556 #define MTBDWT_FCT_MATCHED_MASK (0x1000000U) 14557 #define MTBDWT_FCT_MATCHED_SHIFT (24U) 14558 /*! MATCHED - Comparator match 14559 * 0b0..No match. 14560 * 0b1..Match occurred. 14561 */ 14562 #define MTBDWT_FCT_MATCHED(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_FCT_MATCHED_SHIFT)) & MTBDWT_FCT_MATCHED_MASK) 14563 /*! @} */ 14564 14565 /* The count of MTBDWT_FCT */ 14566 #define MTBDWT_FCT_COUNT (2U) 14567 14568 /*! @name TBCTRL - DWT Trace Buffer Control Register */ 14569 /*! @{ */ 14570 #define MTBDWT_TBCTRL_ACOMP0_MASK (0x1U) 14571 #define MTBDWT_TBCTRL_ACOMP0_SHIFT (0U) 14572 /*! ACOMP0 - Action based on Comparator 0 match 14573 * 0b0..Trigger TSTOP based on the assertion of FCT0[MATCHED]. 14574 * 0b1..Trigger TSTART based on the assertion of FCT0[MATCHED]. 14575 */ 14576 #define MTBDWT_TBCTRL_ACOMP0(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_TBCTRL_ACOMP0_SHIFT)) & MTBDWT_TBCTRL_ACOMP0_MASK) 14577 #define MTBDWT_TBCTRL_ACOMP1_MASK (0x2U) 14578 #define MTBDWT_TBCTRL_ACOMP1_SHIFT (1U) 14579 /*! ACOMP1 - Action based on Comparator 1 match 14580 * 0b0..Trigger TSTOP based on the assertion of FCT1[MATCHED]. 14581 * 0b1..Trigger TSTART based on the assertion of FCT1[MATCHED]. 14582 */ 14583 #define MTBDWT_TBCTRL_ACOMP1(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_TBCTRL_ACOMP1_SHIFT)) & MTBDWT_TBCTRL_ACOMP1_MASK) 14584 #define MTBDWT_TBCTRL_NUMCOMP_MASK (0xF0000000U) 14585 #define MTBDWT_TBCTRL_NUMCOMP_SHIFT (28U) 14586 #define MTBDWT_TBCTRL_NUMCOMP(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_TBCTRL_NUMCOMP_SHIFT)) & MTBDWT_TBCTRL_NUMCOMP_MASK) 14587 /*! @} */ 14588 14589 /*! @name DEVICECFG - Device Configuration Register */ 14590 /*! @{ */ 14591 #define MTBDWT_DEVICECFG_DEVICECFG_MASK (0xFFFFFFFFU) 14592 #define MTBDWT_DEVICECFG_DEVICECFG_SHIFT (0U) 14593 #define MTBDWT_DEVICECFG_DEVICECFG(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_DEVICECFG_DEVICECFG_SHIFT)) & MTBDWT_DEVICECFG_DEVICECFG_MASK) 14594 /*! @} */ 14595 14596 /*! @name DEVICETYPID - Device Type Identifier Register */ 14597 /*! @{ */ 14598 #define MTBDWT_DEVICETYPID_DEVICETYPID_MASK (0xFFFFFFFFU) 14599 #define MTBDWT_DEVICETYPID_DEVICETYPID_SHIFT (0U) 14600 #define MTBDWT_DEVICETYPID_DEVICETYPID(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_DEVICETYPID_DEVICETYPID_SHIFT)) & MTBDWT_DEVICETYPID_DEVICETYPID_MASK) 14601 /*! @} */ 14602 14603 /*! @name PERIPHID4 - Peripheral ID Register */ 14604 /*! @{ */ 14605 #define MTBDWT_PERIPHID4_PERIPHID_MASK (0xFFFFFFFFU) 14606 #define MTBDWT_PERIPHID4_PERIPHID_SHIFT (0U) 14607 #define MTBDWT_PERIPHID4_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_PERIPHID4_PERIPHID_SHIFT)) & MTBDWT_PERIPHID4_PERIPHID_MASK) 14608 /*! @} */ 14609 14610 /*! @name PERIPHID5 - Peripheral ID Register */ 14611 /*! @{ */ 14612 #define MTBDWT_PERIPHID5_PERIPHID_MASK (0xFFFFFFFFU) 14613 #define MTBDWT_PERIPHID5_PERIPHID_SHIFT (0U) 14614 #define MTBDWT_PERIPHID5_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_PERIPHID5_PERIPHID_SHIFT)) & MTBDWT_PERIPHID5_PERIPHID_MASK) 14615 /*! @} */ 14616 14617 /*! @name PERIPHID6 - Peripheral ID Register */ 14618 /*! @{ */ 14619 #define MTBDWT_PERIPHID6_PERIPHID_MASK (0xFFFFFFFFU) 14620 #define MTBDWT_PERIPHID6_PERIPHID_SHIFT (0U) 14621 #define MTBDWT_PERIPHID6_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_PERIPHID6_PERIPHID_SHIFT)) & MTBDWT_PERIPHID6_PERIPHID_MASK) 14622 /*! @} */ 14623 14624 /*! @name PERIPHID7 - Peripheral ID Register */ 14625 /*! @{ */ 14626 #define MTBDWT_PERIPHID7_PERIPHID_MASK (0xFFFFFFFFU) 14627 #define MTBDWT_PERIPHID7_PERIPHID_SHIFT (0U) 14628 #define MTBDWT_PERIPHID7_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_PERIPHID7_PERIPHID_SHIFT)) & MTBDWT_PERIPHID7_PERIPHID_MASK) 14629 /*! @} */ 14630 14631 /*! @name PERIPHID0 - Peripheral ID Register */ 14632 /*! @{ */ 14633 #define MTBDWT_PERIPHID0_PERIPHID_MASK (0xFFFFFFFFU) 14634 #define MTBDWT_PERIPHID0_PERIPHID_SHIFT (0U) 14635 #define MTBDWT_PERIPHID0_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_PERIPHID0_PERIPHID_SHIFT)) & MTBDWT_PERIPHID0_PERIPHID_MASK) 14636 /*! @} */ 14637 14638 /*! @name PERIPHID1 - Peripheral ID Register */ 14639 /*! @{ */ 14640 #define MTBDWT_PERIPHID1_PERIPHID_MASK (0xFFFFFFFFU) 14641 #define MTBDWT_PERIPHID1_PERIPHID_SHIFT (0U) 14642 #define MTBDWT_PERIPHID1_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_PERIPHID1_PERIPHID_SHIFT)) & MTBDWT_PERIPHID1_PERIPHID_MASK) 14643 /*! @} */ 14644 14645 /*! @name PERIPHID2 - Peripheral ID Register */ 14646 /*! @{ */ 14647 #define MTBDWT_PERIPHID2_PERIPHID_MASK (0xFFFFFFFFU) 14648 #define MTBDWT_PERIPHID2_PERIPHID_SHIFT (0U) 14649 #define MTBDWT_PERIPHID2_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_PERIPHID2_PERIPHID_SHIFT)) & MTBDWT_PERIPHID2_PERIPHID_MASK) 14650 /*! @} */ 14651 14652 /*! @name PERIPHID3 - Peripheral ID Register */ 14653 /*! @{ */ 14654 #define MTBDWT_PERIPHID3_PERIPHID_MASK (0xFFFFFFFFU) 14655 #define MTBDWT_PERIPHID3_PERIPHID_SHIFT (0U) 14656 #define MTBDWT_PERIPHID3_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_PERIPHID3_PERIPHID_SHIFT)) & MTBDWT_PERIPHID3_PERIPHID_MASK) 14657 /*! @} */ 14658 14659 /*! @name COMPID - Component ID Register */ 14660 /*! @{ */ 14661 #define MTBDWT_COMPID_COMPID_MASK (0xFFFFFFFFU) 14662 #define MTBDWT_COMPID_COMPID_SHIFT (0U) 14663 #define MTBDWT_COMPID_COMPID(x) (((uint32_t)(((uint32_t)(x)) << MTBDWT_COMPID_COMPID_SHIFT)) & MTBDWT_COMPID_COMPID_MASK) 14664 /*! @} */ 14665 14666 /* The count of MTBDWT_COMPID */ 14667 #define MTBDWT_COMPID_COUNT (4U) 14668 14669 14670 /*! 14671 * @} 14672 */ /* end of group MTBDWT_Register_Masks */ 14673 14674 14675 /* MTBDWT - Peripheral instance base addresses */ 14676 /** Peripheral MTBDWT base address */ 14677 #define MTBDWT_BASE (0xF0001000u) 14678 /** Peripheral MTBDWT base pointer */ 14679 #define MTBDWT ((MTBDWT_Type *)MTBDWT_BASE) 14680 /** Array initializer of MTBDWT peripheral base addresses */ 14681 #define MTBDWT_BASE_ADDRS { MTBDWT_BASE } 14682 /** Array initializer of MTBDWT peripheral base pointers */ 14683 #define MTBDWT_BASE_PTRS { MTBDWT } 14684 14685 /*! 14686 * @} 14687 */ /* end of group MTBDWT_Peripheral_Access_Layer */ 14688 14689 /*! 14690 * @brief Core boot mode. 14691 */ 14692 typedef enum _mu_core_boot_mode 14693 { 14694 kMU_CoreBootFromPflashBase = 0x00U, /*!< Boot from pflash base. */ 14695 kMU_CoreBootFromCore0RamBase = 0x02U, /*!< Boot from RI5CY RAM base. */ 14696 } mu_core_boot_mode_t; 14697 /*! 14698 * @brief Power mode on the other side definition. 14699 */ 14700 typedef enum _mu_power_mode 14701 { 14702 kMU_PowerModeRun = 0x00U, /*!< Run mode. */ 14703 kMU_PowerModeCoo = 0x01U, /*!< COO mode. */ 14704 kMU_PowerModeWait = 0x02U, /*!< WAIT mode. */ 14705 kMU_PowerModeStop = 0x03U, /*!< STOP/VLPS mode. */ 14706 kMU_PowerModeDsm = 0x04U /*!< DSM: LLS/VLLS mode. */ 14707 } mu_power_mode_t; 14708 14709 14710 /* ---------------------------------------------------------------------------- 14711 -- MU Peripheral Access Layer 14712 ---------------------------------------------------------------------------- */ 14713 14714 /*! 14715 * @addtogroup MU_Peripheral_Access_Layer MU Peripheral Access Layer 14716 * @{ 14717 */ 14718 14719 /** MU - Register Layout Typedef */ 14720 typedef struct { 14721 __I uint32_t VER; /**< Version ID Register, offset: 0x0 */ 14722 __I uint32_t PAR; /**< Parameter Register, offset: 0x4 */ 14723 uint8_t RESERVED_0[24]; 14724 __IO uint32_t TR[4]; /**< Transmit Register, array offset: 0x20, array step: 0x4 */ 14725 uint8_t RESERVED_1[16]; 14726 __I uint32_t RR[4]; /**< Receive Register, array offset: 0x40, array step: 0x4 */ 14727 uint8_t RESERVED_2[16]; 14728 __IO uint32_t SR; /**< Status Register, offset: 0x60 */ 14729 __IO uint32_t CR; /**< Control Register, offset: 0x64 */ 14730 __IO uint32_t CCR; /**< Core Control Register, offset: 0x68 */ 14731 } MU_Type; 14732 14733 /* ---------------------------------------------------------------------------- 14734 -- MU Register Masks 14735 ---------------------------------------------------------------------------- */ 14736 14737 /*! 14738 * @addtogroup MU_Register_Masks MU Register Masks 14739 * @{ 14740 */ 14741 14742 /*! @name VER - Version ID Register */ 14743 /*! @{ */ 14744 #define MU_VER_FEATURE_MASK (0xFFFFU) 14745 #define MU_VER_FEATURE_SHIFT (0U) 14746 /*! FEATURE - Feature Specification Number 14747 * 0b000000000000x1xx..Core Control and Status Registers are implemented in both MUA and MUB. 14748 * 0b000000000000xx1x..RAIP/RAIE register bits are implemented. 14749 * 0b000000000000xxx0..Standard features implemented 14750 */ 14751 #define MU_VER_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_FEATURE_SHIFT)) & MU_VER_FEATURE_MASK) 14752 #define MU_VER_MINOR_MASK (0xFF0000U) 14753 #define MU_VER_MINOR_SHIFT (16U) 14754 #define MU_VER_MINOR(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_MINOR_SHIFT)) & MU_VER_MINOR_MASK) 14755 #define MU_VER_MAJOR_MASK (0xFF000000U) 14756 #define MU_VER_MAJOR_SHIFT (24U) 14757 #define MU_VER_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << MU_VER_MAJOR_SHIFT)) & MU_VER_MAJOR_MASK) 14758 /*! @} */ 14759 14760 /*! @name PAR - Parameter Register */ 14761 /*! @{ */ 14762 #define MU_PAR_PARAMETER_MASK (0xFFFFFFFFU) 14763 #define MU_PAR_PARAMETER_SHIFT (0U) 14764 #define MU_PAR_PARAMETER(x) (((uint32_t)(((uint32_t)(x)) << MU_PAR_PARAMETER_SHIFT)) & MU_PAR_PARAMETER_MASK) 14765 /*! @} */ 14766 14767 /*! @name TR - Transmit Register */ 14768 /*! @{ */ 14769 #define MU_TR_DATA_MASK (0xFFFFFFFFU) 14770 #define MU_TR_DATA_SHIFT (0U) 14771 #define MU_TR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_TR_DATA_SHIFT)) & MU_TR_DATA_MASK) 14772 /*! @} */ 14773 14774 /* The count of MU_TR */ 14775 #define MU_TR_COUNT (4U) 14776 14777 /*! @name RR - Receive Register */ 14778 /*! @{ */ 14779 #define MU_RR_DATA_MASK (0xFFFFFFFFU) 14780 #define MU_RR_DATA_SHIFT (0U) 14781 #define MU_RR_DATA(x) (((uint32_t)(((uint32_t)(x)) << MU_RR_DATA_SHIFT)) & MU_RR_DATA_MASK) 14782 /*! @} */ 14783 14784 /* The count of MU_RR */ 14785 #define MU_RR_COUNT (4U) 14786 14787 /*! @name SR - Status Register */ 14788 /*! @{ */ 14789 #define MU_SR_Fn_MASK (0x7U) 14790 #define MU_SR_Fn_SHIFT (0U) 14791 /*! Fn - Fn 14792 * 0b000..Fn bit in the MUA CR register is written 0 (default). 14793 * 0b001..Fn bit in the MUA CR register is written 1. 14794 */ 14795 #define MU_SR_Fn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_Fn_SHIFT)) & MU_SR_Fn_MASK) 14796 #define MU_SR_NMIC_MASK (0x8U) 14797 #define MU_SR_NMIC_SHIFT (3U) 14798 /*! NMIC - NMIC 14799 * 0b0..Default 14800 * 0b1..Writing "1" clears the NMI bit in the MUA CR register. 14801 */ 14802 #define MU_SR_NMIC(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_NMIC_SHIFT)) & MU_SR_NMIC_MASK) 14803 #define MU_SR_EP_MASK (0x10U) 14804 #define MU_SR_EP_SHIFT (4U) 14805 /*! EP - EP 14806 * 0b0..The MUB side event is not pending (default). 14807 * 0b1..The MUB side event is pending. 14808 */ 14809 #define MU_SR_EP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_EP_SHIFT)) & MU_SR_EP_MASK) 14810 #define MU_SR_HRIP_MASK (0x80U) 14811 #define MU_SR_HRIP_SHIFT (7U) 14812 /*! HRIP - HRIP 14813 * 0b0..MUA didn't issue hardware reset to Processor B 14814 * 0b1..MUA had initiated a hardware reset to Processor B through HR bit. 14815 */ 14816 #define MU_SR_HRIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_HRIP_SHIFT)) & MU_SR_HRIP_MASK) 14817 #define MU_SR_FUP_MASK (0x100U) 14818 #define MU_SR_FUP_SHIFT (8U) 14819 /*! FUP - FUP 14820 * 0b0..No flags updated, initiated by the MUB, in progress (default) 14821 * 0b1..MUB initiated flags update, processing 14822 */ 14823 #define MU_SR_FUP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_FUP_SHIFT)) & MU_SR_FUP_MASK) 14824 #define MU_SR_RDIP_MASK (0x200U) 14825 #define MU_SR_RDIP_SHIFT (9U) 14826 /*! RDIP - RDIP 14827 * 0b0..Processor A did not exit reset 14828 * 0b1..Processor A exited from reset 14829 */ 14830 #define MU_SR_RDIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RDIP_SHIFT)) & MU_SR_RDIP_MASK) 14831 #define MU_SR_RAIP_MASK (0x400U) 14832 #define MU_SR_RAIP_SHIFT (10U) 14833 /*! RAIP - RAIP 14834 * 0b0..Processor A did not enter reset 14835 * 0b1..Processor A entered reset 14836 */ 14837 #define MU_SR_RAIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RAIP_SHIFT)) & MU_SR_RAIP_MASK) 14838 #define MU_SR_MURIP_MASK (0x800U) 14839 #define MU_SR_MURIP_SHIFT (11U) 14840 /*! MURIP - MURIP 14841 * 0b0..Processor A did not issue MU reset 14842 * 0b1..Processor A issued MU reset 14843 */ 14844 #define MU_SR_MURIP(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_MURIP_SHIFT)) & MU_SR_MURIP_MASK) 14845 #define MU_SR_PM_MASK (0x7000U) 14846 #define MU_SR_PM_SHIFT (12U) 14847 /*! PM - PM 14848 * 0b000..The MUA processor is in Run Mode. 14849 * 0b001..The MUA processor is in COO Mode. 14850 * 0b010..The MUA processor is in WAIT Mode. 14851 * 0b011..The MUA processor is in STOP/VLPS Mode. 14852 * 0b100..The MUA processor is in LLS/VLLS Mode. 14853 */ 14854 #define MU_SR_PM(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_PM_SHIFT)) & MU_SR_PM_MASK) 14855 #define MU_SR_TEn_MASK (0xF00000U) 14856 #define MU_SR_TEn_SHIFT (20U) 14857 /*! TEn - TEn 14858 * 0b0000..MUB TRn register is not empty. 14859 * 0b0001..MUB TRn register is empty (default). 14860 */ 14861 #define MU_SR_TEn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_TEn_SHIFT)) & MU_SR_TEn_MASK) 14862 #define MU_SR_RFn_MASK (0xF000000U) 14863 #define MU_SR_RFn_SHIFT (24U) 14864 /*! RFn - RFn 14865 * 0b0000..MUB RRn register is not full (default). 14866 * 0b0001..MUB RRn register has received data from MUA TRn register and is ready to be read by the MUB. 14867 */ 14868 #define MU_SR_RFn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_RFn_SHIFT)) & MU_SR_RFn_MASK) 14869 #define MU_SR_GIPn_MASK (0xF0000000U) 14870 #define MU_SR_GIPn_SHIFT (28U) 14871 /*! GIPn - GIPn 14872 * 0b0000..MUB general purpose interrupt n is not pending. (default) 14873 * 0b0001..MUB general purpose interrupt n is pending. 14874 */ 14875 #define MU_SR_GIPn(x) (((uint32_t)(((uint32_t)(x)) << MU_SR_GIPn_SHIFT)) & MU_SR_GIPn_MASK) 14876 /*! @} */ 14877 14878 /*! @name CR - Control Register */ 14879 /*! @{ */ 14880 #define MU_CR_Fn_MASK (0x7U) 14881 #define MU_CR_Fn_SHIFT (0U) 14882 /*! Fn - Fn 14883 * 0b000..Clears the Fn bit in the SR register. 14884 * 0b001..Sets the Fn bit in the SR register. 14885 */ 14886 #define MU_CR_Fn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_Fn_SHIFT)) & MU_CR_Fn_MASK) 14887 #define MU_CR_NMI_MASK (0x8U) 14888 #define MU_CR_NMI_SHIFT (3U) 14889 /*! NMI - NMI 14890 * 0b0..Non-maskable interrupt is not issued to the Processor A by the Processor B (default). 14891 * 0b1..Non-maskable interrupt is issued to the Processor A by the Processor B. 14892 */ 14893 #define MU_CR_NMI(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_NMI_SHIFT)) & MU_CR_NMI_MASK) 14894 #define MU_CR_MUR_MASK (0x20U) 14895 #define MU_CR_MUR_SHIFT (5U) 14896 /*! MUR - MUR 14897 * 0b0..N/A. Self clearing bit (default). 14898 * 0b1..Asserts the MU reset. 14899 */ 14900 #define MU_CR_MUR(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_MUR_SHIFT)) & MU_CR_MUR_MASK) 14901 #define MU_CR_RDIE_MASK (0x40U) 14902 #define MU_CR_RDIE_SHIFT (6U) 14903 /*! RDIE - RDIE 14904 * 0b0..Disables Processor B General Purpose Interrupt 3 request due to Processor A reset de-assertion. 14905 * 0b1..Enables Processor B General Purpose Interrupt 3 request due to Processor A reset de-assertion. 14906 */ 14907 #define MU_CR_RDIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RDIE_SHIFT)) & MU_CR_RDIE_MASK) 14908 #define MU_CR_HRIE_MASK (0x80U) 14909 #define MU_CR_HRIE_SHIFT (7U) 14910 /*! HRIE - Processor B hardware reset interrupt enable 14911 * 0b0..Disables Processor B General Purpose Interrupt 3 request due to Processor A issued HR to Processor B. 14912 * 0b1..Enables Processor B General Purpose Interrupt 3 request due to Processor A issued HR to Processor B. 14913 */ 14914 #define MU_CR_HRIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_HRIE_SHIFT)) & MU_CR_HRIE_MASK) 14915 #define MU_CR_MURIE_MASK (0x800U) 14916 #define MU_CR_MURIE_SHIFT (11U) 14917 /*! MURIE - MURIE 14918 * 0b0..Disables Processor B-side General Purpose Interrupt 3 request due to MU reset issued by MUA. 14919 * 0b1..Enables Processor B-side General Purpose Interrupt 3 request due to MU reset issued by MUA. 14920 */ 14921 #define MU_CR_MURIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_MURIE_SHIFT)) & MU_CR_MURIE_MASK) 14922 #define MU_CR_RAIE_MASK (0x1000U) 14923 #define MU_CR_RAIE_SHIFT (12U) 14924 /*! RAIE - RAIE 14925 * 0b0..Disables Processor B-side General Purpose Interrupt 3 request due to Processor A reset assertion. 14926 * 0b1..Enables Processor B-side General Purpose Interrupt 3 request due to Processor A reset assertion. 14927 */ 14928 #define MU_CR_RAIE(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RAIE_SHIFT)) & MU_CR_RAIE_MASK) 14929 #define MU_CR_GIRn_MASK (0xF0000U) 14930 #define MU_CR_GIRn_SHIFT (16U) 14931 /*! GIRn - GIRn 14932 * 0b0000..MUB General Interrupt n is not requested to the MUA (default). 14933 * 0b0001..MUB General Interrupt n is requested to the MUA. 14934 */ 14935 #define MU_CR_GIRn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_GIRn_SHIFT)) & MU_CR_GIRn_MASK) 14936 #define MU_CR_TIEn_MASK (0xF00000U) 14937 #define MU_CR_TIEn_SHIFT (20U) 14938 /*! TIEn - TIEn 14939 * 0b0000..Disables MUB Transmit Interrupt n. (default) 14940 * 0b0001..Enables MUB Transmit Interrupt n. 14941 */ 14942 #define MU_CR_TIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_TIEn_SHIFT)) & MU_CR_TIEn_MASK) 14943 #define MU_CR_RIEn_MASK (0xF000000U) 14944 #define MU_CR_RIEn_SHIFT (24U) 14945 /*! RIEn - RIEn 14946 * 0b0000..Disables MUB Receive Interrupt n. (default) 14947 * 0b0001..Enables MUB Receive Interrupt n. 14948 */ 14949 #define MU_CR_RIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_RIEn_SHIFT)) & MU_CR_RIEn_MASK) 14950 #define MU_CR_GIEn_MASK (0xF0000000U) 14951 #define MU_CR_GIEn_SHIFT (28U) 14952 /*! GIEn - GIEn 14953 * 0b0000..Disables MUB General Interrupt n. (default) 14954 * 0b0001..Enables MUB General Interrupt n. 14955 */ 14956 #define MU_CR_GIEn(x) (((uint32_t)(((uint32_t)(x)) << MU_CR_GIEn_SHIFT)) & MU_CR_GIEn_MASK) 14957 /*! @} */ 14958 14959 /*! @name CCR - Core Control Register */ 14960 /*! @{ */ 14961 #define MU_CCR_HR_MASK (0x1U) 14962 #define MU_CCR_HR_SHIFT (0U) 14963 /*! HR - HR 14964 * 0b0..De-assert Hardware reset to the Processor A. (default) 14965 * 0b1..Assert Hardware reset to the Processor A. 14966 */ 14967 #define MU_CCR_HR(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR_HR_SHIFT)) & MU_CCR_HR_MASK) 14968 #define MU_CCR_HRM_MASK (0x2U) 14969 #define MU_CCR_HRM_SHIFT (1U) 14970 /*! HRM - When set, HR bit in MUA CCR has no effect 14971 * 0b0..HR bit in MUA CCR is not masked, enables the hardware reset to the Processor B (default after hardware reset). 14972 * 0b1..HR bit in MUA CCR is masked, disables the hardware reset request to the Processor B. 14973 */ 14974 #define MU_CCR_HRM(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR_HRM_SHIFT)) & MU_CCR_HRM_MASK) 14975 #define MU_CCR_RSTH_MASK (0x4U) 14976 #define MU_CCR_RSTH_SHIFT (2U) 14977 /*! RSTH - Processor A Reset Hold 14978 * 0b0..Release Processor A from reset 14979 * 0b1..Hold Processor A in reset 14980 */ 14981 #define MU_CCR_RSTH(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR_RSTH_SHIFT)) & MU_CCR_RSTH_MASK) 14982 #define MU_CCR_CLKE_MASK (0x8U) 14983 #define MU_CCR_CLKE_SHIFT (3U) 14984 /*! CLKE - MUA clock enable 14985 * 0b0..MUA platform clock gated when MUA-side enters a stop mode. 14986 * 0b1..MUA platform clock kept running after MUA-side enters a stop mode, until MUB also enters a stop mode. 14987 */ 14988 #define MU_CCR_CLKE(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR_CLKE_SHIFT)) & MU_CCR_CLKE_MASK) 14989 #define MU_CCR_BOOT_MASK (0x30U) 14990 #define MU_CCR_BOOT_SHIFT (4U) 14991 /*! BOOT - Slave Processor A Boot Config. 14992 * 0b00..Boot from Pflash base 14993 * 0b01..Reserved 14994 * 0b10..Boot from CM4 RAM base 14995 * 0b11..Reserved 14996 */ 14997 #define MU_CCR_BOOT(x) (((uint32_t)(((uint32_t)(x)) << MU_CCR_BOOT_SHIFT)) & MU_CCR_BOOT_MASK) 14998 /*! @} */ 14999 15000 15001 /*! 15002 * @} 15003 */ /* end of group MU_Register_Masks */ 15004 15005 15006 /* MU - Peripheral instance base addresses */ 15007 /** Peripheral MUB base address */ 15008 #define MUB_BASE (0x41024000u) 15009 /** Peripheral MUB base pointer */ 15010 #define MUB ((MU_Type *)MUB_BASE) 15011 /** Array initializer of MU peripheral base addresses */ 15012 #define MU_BASE_ADDRS { MUB_BASE } 15013 /** Array initializer of MU peripheral base pointers */ 15014 #define MU_BASE_PTRS { MUB } 15015 /** Interrupt vectors for the MU peripheral type */ 15016 #define MU_IRQS { MUB_IRQn } 15017 15018 /*! 15019 * @} 15020 */ /* end of group MU_Peripheral_Access_Layer */ 15021 15022 15023 /* ---------------------------------------------------------------------------- 15024 -- PCC Peripheral Access Layer 15025 ---------------------------------------------------------------------------- */ 15026 15027 /*! 15028 * @addtogroup PCC_Peripheral_Access_Layer PCC Peripheral Access Layer 15029 * @{ 15030 */ 15031 15032 /** PCC - Register Layout Typedef */ 15033 typedef struct { 15034 __IO uint32_t CLKCFG[130]; /**< PCC MSCM Register..PCC EXT_CLK Register, array offset: 0x0, array step: 0x4 */ 15035 } PCC_Type; 15036 15037 /* ---------------------------------------------------------------------------- 15038 -- PCC Register Masks 15039 ---------------------------------------------------------------------------- */ 15040 15041 /*! 15042 * @addtogroup PCC_Register_Masks PCC Register Masks 15043 * @{ 15044 */ 15045 15046 /*! @name CLKCFG - PCC MSCM Register..PCC EXT_CLK Register */ 15047 /*! @{ */ 15048 #define PCC_CLKCFG_PCD_MASK (0x7U) 15049 #define PCC_CLKCFG_PCD_SHIFT (0U) 15050 /*! PCD - Peripheral Clock Divider Select 15051 * 0b000..Divide by 1. 15052 * 0b001..Divide by 2. 15053 * 0b010..Divide by 3. 15054 * 0b011..Divide by 4. 15055 * 0b100..Divide by 5. 15056 * 0b101..Divide by 6. 15057 * 0b110..Divide by 7. 15058 * 0b111..Divide by 8. 15059 */ 15060 #define PCC_CLKCFG_PCD(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_PCD_SHIFT)) & PCC_CLKCFG_PCD_MASK) 15061 #define PCC_CLKCFG_FRAC_MASK (0x8U) 15062 #define PCC_CLKCFG_FRAC_SHIFT (3U) 15063 /*! FRAC - Peripheral Clock Divider Fraction 15064 * 0b0..Fractional value is 0. 15065 * 0b1..Fractional value is 1. 15066 */ 15067 #define PCC_CLKCFG_FRAC(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_FRAC_SHIFT)) & PCC_CLKCFG_FRAC_MASK) 15068 #define PCC_CLKCFG_PCS_MASK (0x7000000U) 15069 #define PCC_CLKCFG_PCS_SHIFT (24U) 15070 /*! PCS - Peripheral Clock Source Select 15071 * 0b000..Clock is off. An external clock can be enabled for this peripheral. 15072 * 0b001..Clock option 1 15073 * 0b010..Clock option 2 15074 * 0b011..Clock option 3 15075 * 0b100..Clock option 4 15076 * 0b101..Clock option 5 15077 * 0b110..Clock option 6 15078 * 0b111..Clock option 7 15079 */ 15080 #define PCC_CLKCFG_PCS(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_PCS_SHIFT)) & PCC_CLKCFG_PCS_MASK) 15081 #define PCC_CLKCFG_INUSE_MASK (0x20000000U) 15082 #define PCC_CLKCFG_INUSE_SHIFT (29U) 15083 /*! INUSE - In use flag 15084 * 0b0..Peripheral is not being used. 15085 * 0b1..Peripheral is being used. Software cannot modify the existing clocking configuration. 15086 */ 15087 #define PCC_CLKCFG_INUSE(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_INUSE_SHIFT)) & PCC_CLKCFG_INUSE_MASK) 15088 #define PCC_CLKCFG_CGC_MASK (0x40000000U) 15089 #define PCC_CLKCFG_CGC_SHIFT (30U) 15090 /*! CGC - Clock Gate Control 15091 * 0b0..Clock disabled 15092 * 0b1..Clock enabled. The current clock selection and divider options are locked. 15093 */ 15094 #define PCC_CLKCFG_CGC(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_CGC_SHIFT)) & PCC_CLKCFG_CGC_MASK) 15095 #define PCC_CLKCFG_PR_MASK (0x80000000U) 15096 #define PCC_CLKCFG_PR_SHIFT (31U) 15097 /*! PR - Present 15098 * 0b0..Peripheral is not present. 15099 * 0b1..Peripheral is present. 15100 */ 15101 #define PCC_CLKCFG_PR(x) (((uint32_t)(((uint32_t)(x)) << PCC_CLKCFG_PR_SHIFT)) & PCC_CLKCFG_PR_MASK) 15102 /*! @} */ 15103 15104 /* The count of PCC_CLKCFG */ 15105 #define PCC_CLKCFG_COUNT (130U) 15106 15107 15108 /*! 15109 * @} 15110 */ /* end of group PCC_Register_Masks */ 15111 15112 15113 /* PCC - Peripheral instance base addresses */ 15114 /** Peripheral PCC0 base address */ 15115 #define PCC0_BASE (0x4002B000u) 15116 /** Peripheral PCC0 base pointer */ 15117 #define PCC0 ((PCC_Type *)PCC0_BASE) 15118 /** Peripheral PCC1 base address */ 15119 #define PCC1_BASE (0x41027000u) 15120 /** Peripheral PCC1 base pointer */ 15121 #define PCC1 ((PCC_Type *)PCC1_BASE) 15122 /** Array initializer of PCC peripheral base addresses */ 15123 #define PCC_BASE_ADDRS { PCC0_BASE, PCC1_BASE } 15124 /** Array initializer of PCC peripheral base pointers */ 15125 #define PCC_BASE_PTRS { PCC0, PCC1 } 15126 #define PCC_INSTANCE_MASK (0xFu) 15127 #define PCC_INSTANCE_SHIFT (12u) 15128 #define PCC_PERIPHERAL_MASK (0xFFFu) 15129 #define PCC_PERIPHERAL_SHIFT (0u) 15130 #define PCC_INSTANCE_0 (0u) 15131 #define PCC_INSTANCE_1 (1u) 15132 15133 #define PCC_MSCM_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 1U) 15134 #define PCC_AXBS0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 4U) 15135 #define PCC_DMA0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 8U) 15136 #define PCC_FLEXBUS_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 12U) 15137 #define PCC_XRDC_MGR_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 20U) 15138 #define PCC0_XRDC_PAC_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 22U) 15139 #define PCC0_XRDC_MRC_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 23U) 15140 #define PCC_SEMA42_0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 27U) 15141 #define PCC_DMAMUX0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 33U) 15142 #define PCC_EWM_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 34U) 15143 #define PCC_MUA_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 37U) 15144 #define PCC_CRC0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 47U) 15145 #define PCC_LPIT0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 48U) 15146 #define PCC_TPM0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 53U) 15147 #define PCC_TPM1_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 54U) 15148 #define PCC_TPM2_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 55U) 15149 #define PCC_EMVSIM0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 56U) 15150 #define PCC_FLEXIO0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 57U) 15151 #define PCC_LPI2C0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 58U) 15152 #define PCC_LPI2C1_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 59U) 15153 #define PCC_LPI2C2_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 60U) 15154 #define PCC_I2S0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 61U) 15155 #define PCC_USDHC0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 62U) 15156 #define PCC_LPSPI0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 63U) 15157 #define PCC_LPSPI1_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 64U) 15158 #define PCC_LPSPI2_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 65U) 15159 #define PCC_LPUART0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 66U) 15160 #define PCC_LPUART1_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 67U) 15161 #define PCC_LPUART2_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 68U) 15162 #define PCC_USB0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 69U) 15163 #define PCC_PORTA_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 70U) 15164 #define PCC_PORTB_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 71U) 15165 #define PCC_PORTC_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 72U) 15166 #define PCC_PORTD_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 73U) 15167 #define PCC_ADC0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 74U) 15168 #define PCC_LPDAC0_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 76U) 15169 #define PCC_VREF_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 77U) 15170 #define PCC_TRACE_INDEX ((uint16_t)((PCC_INSTANCE_0 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 128U) 15171 #define PCC_DMA1_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 8U) 15172 #define PCC_GPIOE_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 15U) 15173 #define PCC1_XRDC_PAC_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 22U) 15174 #define PCC1_XRDC_MRC_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 23U) 15175 #define PCC_SEMA42_1_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 27U) 15176 #define PCC_DMAMUX1_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 33U) 15177 #define PCC_INTMUX1_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 34U) 15178 #define PCC_MUB_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 36U) 15179 #define PCC_CAU3_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 40U) 15180 #define PCC_TRNG_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 41U) 15181 #define PCC_LPIT1_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 42U) 15182 #define PCC_TPM3_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 45U) 15183 #define PCC_LPI2C3_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 46U) 15184 #define PCC_LPSPI3_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 53U) 15185 #define PCC_LPUART3_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 54U) 15186 #define PCC_PORTE_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 55U) 15187 #define PCC_MTB_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 128U) 15188 #define PCC_EXT_CLK_INDEX ((uint16_t)((PCC_INSTANCE_1 & PCC_INSTANCE_MASK) << PCC_INSTANCE_SHIFT) | 129U) 15189 #define PCC_MSCM (PCC0->CLKCFG[1]) 15190 #define PCC_AXBS0 (PCC0->CLKCFG[4]) 15191 #define PCC_DMA0 (PCC0->CLKCFG[8]) 15192 #define PCC_FLEXBUS (PCC0->CLKCFG[12]) 15193 #define PCC_XRDC_MGR (PCC0->CLKCFG[20]) 15194 #define PCC0_XRDC_PAC (PCC0->CLKCFG[22]) 15195 #define PCC0_XRDC_MRC (PCC0->CLKCFG[23]) 15196 #define PCC_SEMA42_0 (PCC0->CLKCFG[27]) 15197 #define PCC_DMAMUX0 (PCC0->CLKCFG[33]) 15198 #define PCC_EWM (PCC0->CLKCFG[34]) 15199 #define PCC_MUA (PCC0->CLKCFG[37]) 15200 #define PCC_CRC0 (PCC0->CLKCFG[47]) 15201 #define PCC_LPIT0 (PCC0->CLKCFG[48]) 15202 #define PCC_TPM0 (PCC0->CLKCFG[53]) 15203 #define PCC_TPM1 (PCC0->CLKCFG[54]) 15204 #define PCC_TPM2 (PCC0->CLKCFG[55]) 15205 #define PCC_EMVSIM0 (PCC0->CLKCFG[56]) 15206 #define PCC_FLEXIO0 (PCC0->CLKCFG[57]) 15207 #define PCC_LPI2C0 (PCC0->CLKCFG[58]) 15208 #define PCC_LPI2C1 (PCC0->CLKCFG[59]) 15209 #define PCC_LPI2C2 (PCC0->CLKCFG[60]) 15210 #define PCC_I2S0 (PCC0->CLKCFG[61]) 15211 #define PCC_USDHC0 (PCC0->CLKCFG[62]) 15212 #define PCC_LPSPI0 (PCC0->CLKCFG[63]) 15213 #define PCC_LPSPI1 (PCC0->CLKCFG[64]) 15214 #define PCC_LPSPI2 (PCC0->CLKCFG[65]) 15215 #define PCC_LPUART0 (PCC0->CLKCFG[66]) 15216 #define PCC_LPUART1 (PCC0->CLKCFG[67]) 15217 #define PCC_LPUART2 (PCC0->CLKCFG[68]) 15218 #define PCC_USB0 (PCC0->CLKCFG[69]) 15219 #define PCC_PORTA (PCC0->CLKCFG[70]) 15220 #define PCC_PORTB (PCC0->CLKCFG[71]) 15221 #define PCC_PORTC (PCC0->CLKCFG[72]) 15222 #define PCC_PORTD (PCC0->CLKCFG[73]) 15223 #define PCC_ADC0 (PCC0->CLKCFG[74]) 15224 #define PCC_LPDAC0 (PCC0->CLKCFG[76]) 15225 #define PCC_VREF (PCC0->CLKCFG[77]) 15226 #define PCC_TRACE (PCC0->CLKCFG[128]) 15227 #define PCC_DMA1 (PCC1->CLKCFG[8]) 15228 #define PCC_GPIOE (PCC1->CLKCFG[15]) 15229 #define PCC1_XRDC_PAC (PCC1->CLKCFG[22]) 15230 #define PCC1_XRDC_MRC (PCC1->CLKCFG[23]) 15231 #define PCC_SEMA42_1 (PCC1->CLKCFG[27]) 15232 #define PCC_DMAMUX1 (PCC1->CLKCFG[33]) 15233 #define PCC_INTMUX1 (PCC1->CLKCFG[34]) 15234 #define PCC_MUB (PCC1->CLKCFG[36]) 15235 #define PCC_CAU3 (PCC1->CLKCFG[40]) 15236 #define PCC_TRNG (PCC1->CLKCFG[41]) 15237 #define PCC_LPIT1 (PCC1->CLKCFG[42]) 15238 #define PCC_TPM3 (PCC1->CLKCFG[45]) 15239 #define PCC_LPI2C3 (PCC1->CLKCFG[46]) 15240 #define PCC_LPSPI3 (PCC1->CLKCFG[53]) 15241 #define PCC_LPUART3 (PCC1->CLKCFG[54]) 15242 #define PCC_PORTE (PCC1->CLKCFG[55]) 15243 #define PCC_MTB (PCC1->CLKCFG[128]) 15244 #define PCC_EXT_CLK (PCC1->CLKCFG[129]) 15245 15246 15247 /*! 15248 * @} 15249 */ /* end of group PCC_Peripheral_Access_Layer */ 15250 15251 15252 /* ---------------------------------------------------------------------------- 15253 -- PORT Peripheral Access Layer 15254 ---------------------------------------------------------------------------- */ 15255 15256 /*! 15257 * @addtogroup PORT_Peripheral_Access_Layer PORT Peripheral Access Layer 15258 * @{ 15259 */ 15260 15261 /** PORT - Register Layout Typedef */ 15262 typedef struct { 15263 __IO uint32_t PCR[32]; /**< Pin Control Register 0..Pin Control Register 30, array offset: 0x0, array step: 0x4 */ 15264 __O uint32_t GPCLR; /**< Global Pin Control Low Register, offset: 0x80 */ 15265 __O uint32_t GPCHR; /**< Global Pin Control High Register, offset: 0x84 */ 15266 __O uint32_t GICLR; /**< Global Interrupt Control Low Register, offset: 0x88 */ 15267 __O uint32_t GICHR; /**< Global Interrupt Control High Register, offset: 0x8C */ 15268 uint8_t RESERVED_0[16]; 15269 __IO uint32_t ISFR; /**< Interrupt Status Flag Register, offset: 0xA0 */ 15270 uint8_t RESERVED_1[28]; 15271 __IO uint32_t DFER; /**< Digital Filter Enable Register, offset: 0xC0 */ 15272 __IO uint32_t DFCR; /**< Digital Filter Clock Register, offset: 0xC4 */ 15273 __IO uint32_t DFWR; /**< Digital Filter Width Register, offset: 0xC8 */ 15274 } PORT_Type; 15275 15276 /* ---------------------------------------------------------------------------- 15277 -- PORT Register Masks 15278 ---------------------------------------------------------------------------- */ 15279 15280 /*! 15281 * @addtogroup PORT_Register_Masks PORT Register Masks 15282 * @{ 15283 */ 15284 15285 /*! @name PCR - Pin Control Register 0..Pin Control Register 30 */ 15286 /*! @{ */ 15287 #define PORT_PCR_PS_MASK (0x1U) 15288 #define PORT_PCR_PS_SHIFT (0U) 15289 /*! PS - Pull Select 15290 * 0b0..Internal pulldown resistor is enabled on the corresponding pin, if the corresponding PE field is set. 15291 * 0b1..Internal pullup resistor is enabled on the corresponding pin, if the corresponding PE field is set. 15292 */ 15293 #define PORT_PCR_PS(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_PS_SHIFT)) & PORT_PCR_PS_MASK) 15294 #define PORT_PCR_PE_MASK (0x2U) 15295 #define PORT_PCR_PE_SHIFT (1U) 15296 /*! PE - Pull Enable 15297 * 0b0..Internal pull resistor is not enabled on the corresponding pin. 15298 * 0b1..Internal pull resistor is enabled on the corresponding pin, if the pin is configured as a digital input. 15299 */ 15300 #define PORT_PCR_PE(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_PE_SHIFT)) & PORT_PCR_PE_MASK) 15301 #define PORT_PCR_SRE_MASK (0x4U) 15302 #define PORT_PCR_SRE_SHIFT (2U) 15303 /*! SRE - Slew Rate Enable 15304 * 0b0..Fast slew rate is configured on the corresponding pin, if the pin is configured as a digital output. 15305 * 0b1..Slow slew rate is configured on the corresponding pin, if the pin is configured as a digital output. 15306 */ 15307 #define PORT_PCR_SRE(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_SRE_SHIFT)) & PORT_PCR_SRE_MASK) 15308 #define PORT_PCR_PFE_MASK (0x10U) 15309 #define PORT_PCR_PFE_SHIFT (4U) 15310 /*! PFE - Passive Filter Enable 15311 * 0b0..Passive input filter is disabled on the corresponding pin. 15312 * 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. 15313 */ 15314 #define PORT_PCR_PFE(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_PFE_SHIFT)) & PORT_PCR_PFE_MASK) 15315 #define PORT_PCR_ODE_MASK (0x20U) 15316 #define PORT_PCR_ODE_SHIFT (5U) 15317 /*! ODE - Open Drain Enable 15318 * 0b0..Open drain output is disabled on the corresponding pin. 15319 * 0b1..Open drain output is enabled on the corresponding pin, if the pin is configured as a digital output. 15320 */ 15321 #define PORT_PCR_ODE(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_ODE_SHIFT)) & PORT_PCR_ODE_MASK) 15322 #define PORT_PCR_DSE_MASK (0x40U) 15323 #define PORT_PCR_DSE_SHIFT (6U) 15324 /*! DSE - Drive Strength Enable 15325 * 0b0..Low drive strength is configured on the corresponding pin, if pin is configured as a digital output. 15326 * 0b1..High drive strength is configured on the corresponding pin, if pin is configured as a digital output. 15327 */ 15328 #define PORT_PCR_DSE(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_DSE_SHIFT)) & PORT_PCR_DSE_MASK) 15329 #define PORT_PCR_MUX_MASK (0x700U) 15330 #define PORT_PCR_MUX_SHIFT (8U) 15331 /*! MUX - Pin Mux Control 15332 * 0b000..Pin disabled (Alternative 0) (analog). 15333 * 0b001..Alternative 1 (GPIO). 15334 * 0b010..Alternative 2 (chip-specific). 15335 * 0b011..Alternative 3 (chip-specific). 15336 * 0b100..Alternative 4 (chip-specific). 15337 * 0b101..Alternative 5 (chip-specific). 15338 * 0b110..Alternative 6 (chip-specific). 15339 * 0b111..Alternative 7 (chip-specific). 15340 */ 15341 #define PORT_PCR_MUX(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_MUX_SHIFT)) & PORT_PCR_MUX_MASK) 15342 #define PORT_PCR_LK_MASK (0x8000U) 15343 #define PORT_PCR_LK_SHIFT (15U) 15344 /*! LK - Lock Register 15345 * 0b0..Pin Control Register is not locked. 15346 * 0b1..Pin Control Register is locked and cannot be updated until the next system reset. 15347 */ 15348 #define PORT_PCR_LK(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_LK_SHIFT)) & PORT_PCR_LK_MASK) 15349 #define PORT_PCR_IRQC_MASK (0xF0000U) 15350 #define PORT_PCR_IRQC_SHIFT (16U) 15351 /*! IRQC - Interrupt Configuration 15352 * 0b0000..Interrupt Status Flag (ISF) is disabled. 15353 * 0b0001..ISF flag and DMA request on rising edge. 15354 * 0b0010..ISF flag and DMA request on falling edge. 15355 * 0b0011..ISF flag and DMA request on either edge. 15356 * 0b0100..Reserved. 15357 * 0b0101..Flag sets on rising edge. 15358 * 0b0110..Flag sets on falling edge. 15359 * 0b0111..Flag sets on either edge. 15360 * 0b1000..ISF flag and Interrupt when logic 0. 15361 * 0b1001..ISF flag and Interrupt on rising-edge. 15362 * 0b1010..ISF flag and Interrupt on falling-edge. 15363 * 0b1011..ISF flag and Interrupt on either edge. 15364 * 0b1100..ISF flag and Interrupt when logic 1. 15365 * 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)] 15366 * 0b1110..Enable active low trigger output, flag is disabled. 15367 * 0b1111..Reserved. 15368 */ 15369 #define PORT_PCR_IRQC(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_IRQC_SHIFT)) & PORT_PCR_IRQC_MASK) 15370 #define PORT_PCR_ISF_MASK (0x1000000U) 15371 #define PORT_PCR_ISF_SHIFT (24U) 15372 /*! ISF - Interrupt Status Flag 15373 * 0b0..Configured interrupt is not detected. 15374 * 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. 15375 */ 15376 #define PORT_PCR_ISF(x) (((uint32_t)(((uint32_t)(x)) << PORT_PCR_ISF_SHIFT)) & PORT_PCR_ISF_MASK) 15377 /*! @} */ 15378 15379 /* The count of PORT_PCR */ 15380 #define PORT_PCR_COUNT (32U) 15381 15382 /*! @name GPCLR - Global Pin Control Low Register */ 15383 /*! @{ */ 15384 #define PORT_GPCLR_GPWD_MASK (0xFFFFU) 15385 #define PORT_GPCLR_GPWD_SHIFT (0U) 15386 #define PORT_GPCLR_GPWD(x) (((uint32_t)(((uint32_t)(x)) << PORT_GPCLR_GPWD_SHIFT)) & PORT_GPCLR_GPWD_MASK) 15387 #define PORT_GPCLR_GPWE_MASK (0xFFFF0000U) 15388 #define PORT_GPCLR_GPWE_SHIFT (16U) 15389 #define PORT_GPCLR_GPWE(x) (((uint32_t)(((uint32_t)(x)) << PORT_GPCLR_GPWE_SHIFT)) & PORT_GPCLR_GPWE_MASK) 15390 /*! @} */ 15391 15392 /*! @name GPCHR - Global Pin Control High Register */ 15393 /*! @{ */ 15394 #define PORT_GPCHR_GPWD_MASK (0xFFFFU) 15395 #define PORT_GPCHR_GPWD_SHIFT (0U) 15396 #define PORT_GPCHR_GPWD(x) (((uint32_t)(((uint32_t)(x)) << PORT_GPCHR_GPWD_SHIFT)) & PORT_GPCHR_GPWD_MASK) 15397 #define PORT_GPCHR_GPWE_MASK (0xFFFF0000U) 15398 #define PORT_GPCHR_GPWE_SHIFT (16U) 15399 #define PORT_GPCHR_GPWE(x) (((uint32_t)(((uint32_t)(x)) << PORT_GPCHR_GPWE_SHIFT)) & PORT_GPCHR_GPWE_MASK) 15400 /*! @} */ 15401 15402 /*! @name GICLR - Global Interrupt Control Low Register */ 15403 /*! @{ */ 15404 #define PORT_GICLR_GIWE_MASK (0xFFFFU) 15405 #define PORT_GICLR_GIWE_SHIFT (0U) 15406 #define PORT_GICLR_GIWE(x) (((uint32_t)(((uint32_t)(x)) << PORT_GICLR_GIWE_SHIFT)) & PORT_GICLR_GIWE_MASK) 15407 #define PORT_GICLR_GIWD_MASK (0xFFFF0000U) 15408 #define PORT_GICLR_GIWD_SHIFT (16U) 15409 #define PORT_GICLR_GIWD(x) (((uint32_t)(((uint32_t)(x)) << PORT_GICLR_GIWD_SHIFT)) & PORT_GICLR_GIWD_MASK) 15410 /*! @} */ 15411 15412 /*! @name GICHR - Global Interrupt Control High Register */ 15413 /*! @{ */ 15414 #define PORT_GICHR_GIWE_MASK (0xFFFFU) 15415 #define PORT_GICHR_GIWE_SHIFT (0U) 15416 #define PORT_GICHR_GIWE(x) (((uint32_t)(((uint32_t)(x)) << PORT_GICHR_GIWE_SHIFT)) & PORT_GICHR_GIWE_MASK) 15417 #define PORT_GICHR_GIWD_MASK (0xFFFF0000U) 15418 #define PORT_GICHR_GIWD_SHIFT (16U) 15419 #define PORT_GICHR_GIWD(x) (((uint32_t)(((uint32_t)(x)) << PORT_GICHR_GIWD_SHIFT)) & PORT_GICHR_GIWD_MASK) 15420 /*! @} */ 15421 15422 /*! @name ISFR - Interrupt Status Flag Register */ 15423 /*! @{ */ 15424 #define PORT_ISFR_ISF_MASK (0xFFFFFFFFU) 15425 #define PORT_ISFR_ISF_SHIFT (0U) 15426 #define PORT_ISFR_ISF(x) (((uint32_t)(((uint32_t)(x)) << PORT_ISFR_ISF_SHIFT)) & PORT_ISFR_ISF_MASK) 15427 /*! @} */ 15428 15429 /*! @name DFER - Digital Filter Enable Register */ 15430 /*! @{ */ 15431 #define PORT_DFER_DFE_MASK (0xFFFFFFFFU) 15432 #define PORT_DFER_DFE_SHIFT (0U) 15433 #define PORT_DFER_DFE(x) (((uint32_t)(((uint32_t)(x)) << PORT_DFER_DFE_SHIFT)) & PORT_DFER_DFE_MASK) 15434 /*! @} */ 15435 15436 /*! @name DFCR - Digital Filter Clock Register */ 15437 /*! @{ */ 15438 #define PORT_DFCR_CS_MASK (0x1U) 15439 #define PORT_DFCR_CS_SHIFT (0U) 15440 /*! CS - Clock Source 15441 * 0b0..Digital filters are clocked by the bus clock. 15442 * 0b1..Digital filters are clocked by the 8 clock. 15443 */ 15444 #define PORT_DFCR_CS(x) (((uint32_t)(((uint32_t)(x)) << PORT_DFCR_CS_SHIFT)) & PORT_DFCR_CS_MASK) 15445 /*! @} */ 15446 15447 /*! @name DFWR - Digital Filter Width Register */ 15448 /*! @{ */ 15449 #define PORT_DFWR_FILT_MASK (0x1FU) 15450 #define PORT_DFWR_FILT_SHIFT (0U) 15451 #define PORT_DFWR_FILT(x) (((uint32_t)(((uint32_t)(x)) << PORT_DFWR_FILT_SHIFT)) & PORT_DFWR_FILT_MASK) 15452 /*! @} */ 15453 15454 15455 /*! 15456 * @} 15457 */ /* end of group PORT_Register_Masks */ 15458 15459 15460 /* PORT - Peripheral instance base addresses */ 15461 /** Peripheral PORTA base address */ 15462 #define PORTA_BASE (0x40046000u) 15463 /** Peripheral PORTA base pointer */ 15464 #define PORTA ((PORT_Type *)PORTA_BASE) 15465 /** Peripheral PORTB base address */ 15466 #define PORTB_BASE (0x40047000u) 15467 /** Peripheral PORTB base pointer */ 15468 #define PORTB ((PORT_Type *)PORTB_BASE) 15469 /** Peripheral PORTC base address */ 15470 #define PORTC_BASE (0x40048000u) 15471 /** Peripheral PORTC base pointer */ 15472 #define PORTC ((PORT_Type *)PORTC_BASE) 15473 /** Peripheral PORTD base address */ 15474 #define PORTD_BASE (0x40049000u) 15475 /** Peripheral PORTD base pointer */ 15476 #define PORTD ((PORT_Type *)PORTD_BASE) 15477 /** Peripheral PORTE base address */ 15478 #define PORTE_BASE (0x41037000u) 15479 /** Peripheral PORTE base pointer */ 15480 #define PORTE ((PORT_Type *)PORTE_BASE) 15481 /** Array initializer of PORT peripheral base addresses */ 15482 #define PORT_BASE_ADDRS { PORTA_BASE, PORTB_BASE, PORTC_BASE, PORTD_BASE, PORTE_BASE } 15483 /** Array initializer of PORT peripheral base pointers */ 15484 #define PORT_BASE_PTRS { PORTA, PORTB, PORTC, PORTD, PORTE } 15485 /** Interrupt vectors for the PORT peripheral type */ 15486 #define PORT_IRQS { PORTA_IRQn, PORTB_IRQn, PORTC_IRQn, PORTD_IRQn, PORTE_IRQn } 15487 15488 /*! 15489 * @} 15490 */ /* end of group PORT_Peripheral_Access_Layer */ 15491 15492 15493 /* ---------------------------------------------------------------------------- 15494 -- ROM Peripheral Access Layer 15495 ---------------------------------------------------------------------------- */ 15496 15497 /*! 15498 * @addtogroup ROM_Peripheral_Access_Layer ROM Peripheral Access Layer 15499 * @{ 15500 */ 15501 15502 /** ROM - Register Layout Typedef */ 15503 typedef struct { 15504 __I uint32_t ENTRY[4]; /**< Entry, array offset: 0x0, array step: 0x4 */ 15505 __I uint32_t TABLEMARK; /**< End of Table Marker Register, offset: 0x10 */ 15506 uint8_t RESERVED_0[4024]; 15507 __I uint32_t SYSACCESS; /**< System Access Register, offset: 0xFCC */ 15508 __I uint32_t PERIPHID4; /**< Peripheral ID Register, offset: 0xFD0 */ 15509 __I uint32_t PERIPHID5; /**< Peripheral ID Register, offset: 0xFD4 */ 15510 __I uint32_t PERIPHID6; /**< Peripheral ID Register, offset: 0xFD8 */ 15511 __I uint32_t PERIPHID7; /**< Peripheral ID Register, offset: 0xFDC */ 15512 __I uint32_t PERIPHID0; /**< Peripheral ID Register, offset: 0xFE0 */ 15513 __I uint32_t PERIPHID1; /**< Peripheral ID Register, offset: 0xFE4 */ 15514 __I uint32_t PERIPHID2; /**< Peripheral ID Register, offset: 0xFE8 */ 15515 __I uint32_t PERIPHID3; /**< Peripheral ID Register, offset: 0xFEC */ 15516 __I uint32_t COMPID[4]; /**< Component ID Register, array offset: 0xFF0, array step: 0x4 */ 15517 } ROM_Type; 15518 15519 /* ---------------------------------------------------------------------------- 15520 -- ROM Register Masks 15521 ---------------------------------------------------------------------------- */ 15522 15523 /*! 15524 * @addtogroup ROM_Register_Masks ROM Register Masks 15525 * @{ 15526 */ 15527 15528 /*! @name ENTRY - Entry */ 15529 /*! @{ */ 15530 #define ROM_ENTRY_ENTRY_MASK (0xFFFFFFFFU) 15531 #define ROM_ENTRY_ENTRY_SHIFT (0U) 15532 #define ROM_ENTRY_ENTRY(x) (((uint32_t)(((uint32_t)(x)) << ROM_ENTRY_ENTRY_SHIFT)) & ROM_ENTRY_ENTRY_MASK) 15533 /*! @} */ 15534 15535 /* The count of ROM_ENTRY */ 15536 #define ROM_ENTRY_COUNT (4U) 15537 15538 /*! @name TABLEMARK - End of Table Marker Register */ 15539 /*! @{ */ 15540 #define ROM_TABLEMARK_MARK_MASK (0xFFFFFFFFU) 15541 #define ROM_TABLEMARK_MARK_SHIFT (0U) 15542 #define ROM_TABLEMARK_MARK(x) (((uint32_t)(((uint32_t)(x)) << ROM_TABLEMARK_MARK_SHIFT)) & ROM_TABLEMARK_MARK_MASK) 15543 /*! @} */ 15544 15545 /*! @name SYSACCESS - System Access Register */ 15546 /*! @{ */ 15547 #define ROM_SYSACCESS_SYSACCESS_MASK (0xFFFFFFFFU) 15548 #define ROM_SYSACCESS_SYSACCESS_SHIFT (0U) 15549 #define ROM_SYSACCESS_SYSACCESS(x) (((uint32_t)(((uint32_t)(x)) << ROM_SYSACCESS_SYSACCESS_SHIFT)) & ROM_SYSACCESS_SYSACCESS_MASK) 15550 /*! @} */ 15551 15552 /*! @name PERIPHID4 - Peripheral ID Register */ 15553 /*! @{ */ 15554 #define ROM_PERIPHID4_PERIPHID_MASK (0xFFFFFFFFU) 15555 #define ROM_PERIPHID4_PERIPHID_SHIFT (0U) 15556 #define ROM_PERIPHID4_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << ROM_PERIPHID4_PERIPHID_SHIFT)) & ROM_PERIPHID4_PERIPHID_MASK) 15557 /*! @} */ 15558 15559 /*! @name PERIPHID5 - Peripheral ID Register */ 15560 /*! @{ */ 15561 #define ROM_PERIPHID5_PERIPHID_MASK (0xFFFFFFFFU) 15562 #define ROM_PERIPHID5_PERIPHID_SHIFT (0U) 15563 #define ROM_PERIPHID5_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << ROM_PERIPHID5_PERIPHID_SHIFT)) & ROM_PERIPHID5_PERIPHID_MASK) 15564 /*! @} */ 15565 15566 /*! @name PERIPHID6 - Peripheral ID Register */ 15567 /*! @{ */ 15568 #define ROM_PERIPHID6_PERIPHID_MASK (0xFFFFFFFFU) 15569 #define ROM_PERIPHID6_PERIPHID_SHIFT (0U) 15570 #define ROM_PERIPHID6_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << ROM_PERIPHID6_PERIPHID_SHIFT)) & ROM_PERIPHID6_PERIPHID_MASK) 15571 /*! @} */ 15572 15573 /*! @name PERIPHID7 - Peripheral ID Register */ 15574 /*! @{ */ 15575 #define ROM_PERIPHID7_PERIPHID_MASK (0xFFFFFFFFU) 15576 #define ROM_PERIPHID7_PERIPHID_SHIFT (0U) 15577 #define ROM_PERIPHID7_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << ROM_PERIPHID7_PERIPHID_SHIFT)) & ROM_PERIPHID7_PERIPHID_MASK) 15578 /*! @} */ 15579 15580 /*! @name PERIPHID0 - Peripheral ID Register */ 15581 /*! @{ */ 15582 #define ROM_PERIPHID0_PERIPHID_MASK (0xFFFFFFFFU) 15583 #define ROM_PERIPHID0_PERIPHID_SHIFT (0U) 15584 #define ROM_PERIPHID0_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << ROM_PERIPHID0_PERIPHID_SHIFT)) & ROM_PERIPHID0_PERIPHID_MASK) 15585 /*! @} */ 15586 15587 /*! @name PERIPHID1 - Peripheral ID Register */ 15588 /*! @{ */ 15589 #define ROM_PERIPHID1_PERIPHID_MASK (0xFFFFFFFFU) 15590 #define ROM_PERIPHID1_PERIPHID_SHIFT (0U) 15591 #define ROM_PERIPHID1_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << ROM_PERIPHID1_PERIPHID_SHIFT)) & ROM_PERIPHID1_PERIPHID_MASK) 15592 /*! @} */ 15593 15594 /*! @name PERIPHID2 - Peripheral ID Register */ 15595 /*! @{ */ 15596 #define ROM_PERIPHID2_PERIPHID_MASK (0xFFFFFFFFU) 15597 #define ROM_PERIPHID2_PERIPHID_SHIFT (0U) 15598 #define ROM_PERIPHID2_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << ROM_PERIPHID2_PERIPHID_SHIFT)) & ROM_PERIPHID2_PERIPHID_MASK) 15599 /*! @} */ 15600 15601 /*! @name PERIPHID3 - Peripheral ID Register */ 15602 /*! @{ */ 15603 #define ROM_PERIPHID3_PERIPHID_MASK (0xFFFFFFFFU) 15604 #define ROM_PERIPHID3_PERIPHID_SHIFT (0U) 15605 #define ROM_PERIPHID3_PERIPHID(x) (((uint32_t)(((uint32_t)(x)) << ROM_PERIPHID3_PERIPHID_SHIFT)) & ROM_PERIPHID3_PERIPHID_MASK) 15606 /*! @} */ 15607 15608 /*! @name COMPID - Component ID Register */ 15609 /*! @{ */ 15610 #define ROM_COMPID_COMPID_MASK (0xFFFFFFFFU) 15611 #define ROM_COMPID_COMPID_SHIFT (0U) 15612 #define ROM_COMPID_COMPID(x) (((uint32_t)(((uint32_t)(x)) << ROM_COMPID_COMPID_SHIFT)) & ROM_COMPID_COMPID_MASK) 15613 /*! @} */ 15614 15615 /* The count of ROM_COMPID */ 15616 #define ROM_COMPID_COUNT (4U) 15617 15618 15619 /*! 15620 * @} 15621 */ /* end of group ROM_Register_Masks */ 15622 15623 15624 /* ROM - Peripheral instance base addresses */ 15625 /** Peripheral ROM base address */ 15626 #define ROM_BASE (0xF0002000u) 15627 /** Peripheral ROM base pointer */ 15628 #define ROM ((ROM_Type *)ROM_BASE) 15629 /** Array initializer of ROM peripheral base addresses */ 15630 #define ROM_BASE_ADDRS { ROM_BASE } 15631 /** Array initializer of ROM peripheral base pointers */ 15632 #define ROM_BASE_PTRS { ROM } 15633 15634 /*! 15635 * @} 15636 */ /* end of group ROM_Peripheral_Access_Layer */ 15637 15638 15639 /* ---------------------------------------------------------------------------- 15640 -- RSIM Peripheral Access Layer 15641 ---------------------------------------------------------------------------- */ 15642 15643 /*! 15644 * @addtogroup RSIM_Peripheral_Access_Layer RSIM Peripheral Access Layer 15645 * @{ 15646 */ 15647 15648 /** RSIM - Register Layout Typedef */ 15649 typedef struct { 15650 __IO uint32_t CONTROL; /**< Radio System Control, offset: 0x0 */ 15651 uint8_t RESERVED_0[12]; 15652 __IO uint32_t MISC; /**< Radio Miscellaneous, offset: 0x10 */ 15653 __IO uint32_t POWER; /**< RSIM Power Control, offset: 0x14 */ 15654 __IO uint32_t SW_CONFIG; /**< Radio Software Configuration, offset: 0x18 */ 15655 uint8_t RESERVED_1[228]; 15656 __I uint32_t DSM_TIMER; /**< Deep Sleep Timer, offset: 0x100 */ 15657 __IO uint32_t DSM_CONTROL; /**< Deep Sleep Timer Control, offset: 0x104 */ 15658 __IO uint32_t DSM_WAKEUP; /**< Deep Sleep Wakeup Sequence, offset: 0x108 */ 15659 __I uint32_t WOR_DURATION; /**< WOR Deep Sleep Duration, offset: 0x10C */ 15660 __IO uint32_t WOR_WAKE; /**< WOR Deep Sleep Wake Time, offset: 0x110 */ 15661 uint8_t RESERVED_2[8]; 15662 __IO uint32_t MAN_SLEEP; /**< MAN Deep Sleep Time, offset: 0x11C */ 15663 __IO uint32_t MAN_WAKE; /**< MAN Deep Sleep Wake Time, offset: 0x120 */ 15664 __IO uint32_t RF_OSC_CTRL; /**< Radio Oscillator Control, offset: 0x124 */ 15665 __IO uint32_t ANA_TEST; /**< Radio Analog Test Registers, offset: 0x128 */ 15666 __IO uint32_t ANA_TRIM; /**< Radio Analog Trim Registers, offset: 0x12C */ 15667 } RSIM_Type; 15668 15669 /* ---------------------------------------------------------------------------- 15670 -- RSIM Register Masks 15671 ---------------------------------------------------------------------------- */ 15672 15673 /*! 15674 * @addtogroup RSIM_Register_Masks RSIM Register Masks 15675 * @{ 15676 */ 15677 15678 /*! @name CONTROL - Radio System Control */ 15679 /*! @{ */ 15680 #define RSIM_CONTROL_BLE_RF_POWER_REQ_EN_MASK (0x1U) 15681 #define RSIM_CONTROL_BLE_RF_POWER_REQ_EN_SHIFT (0U) 15682 #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) 15683 #define RSIM_CONTROL_BLE_RF_POWER_REQ_STAT_MASK (0x2U) 15684 #define RSIM_CONTROL_BLE_RF_POWER_REQ_STAT_SHIFT (1U) 15685 #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) 15686 #define RSIM_CONTROL_BLE_RF_POWER_REQ_INT_EN_MASK (0x10U) 15687 #define RSIM_CONTROL_BLE_RF_POWER_REQ_INT_EN_SHIFT (4U) 15688 #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) 15689 #define RSIM_CONTROL_BLE_RF_POWER_REQ_INT_MASK (0x20U) 15690 #define RSIM_CONTROL_BLE_RF_POWER_REQ_INT_SHIFT (5U) 15691 #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) 15692 #define RSIM_CONTROL_RF_OSC_EN_MASK (0x100U) 15693 #define RSIM_CONTROL_RF_OSC_EN_SHIFT (8U) 15694 #define RSIM_CONTROL_RF_OSC_EN(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RF_OSC_EN_SHIFT)) & RSIM_CONTROL_RF_OSC_EN_MASK) 15695 #define RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_EN_MASK (0x1000U) 15696 #define RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_EN_SHIFT (12U) 15697 #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) 15698 #define RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_MASK (0x2000U) 15699 #define RSIM_CONTROL_RADIO_GASKET_BYPASS_OVRD_SHIFT (13U) 15700 /*! RADIO_GASKET_BYPASS_OVRD - Radio Gasket Bypass Override 15701 * 0b0..XCVR and Link Layer Register Clock is the RF Ref Osc Clock 15702 * 0b1..XCVR and Link Layer Register Clock is the SoC IPG Clock 15703 */ 15704 #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) 15705 #define RSIM_CONTROL_IPP_OBE_BLE_EARLY_WARNING_MASK (0x4000U) 15706 #define RSIM_CONTROL_IPP_OBE_BLE_EARLY_WARNING_SHIFT (14U) 15707 #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) 15708 #define RSIM_CONTROL_IPP_OBE_RF_ACTIVE_MASK (0x8000U) 15709 #define RSIM_CONTROL_IPP_OBE_RF_ACTIVE_SHIFT (15U) 15710 #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) 15711 #define RSIM_CONTROL_IPP_OBE_RF_OSC_EN_MASK (0x10000U) 15712 #define RSIM_CONTROL_IPP_OBE_RF_OSC_EN_SHIFT (16U) 15713 #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) 15714 #define RSIM_CONTROL_IPP_OBE_RF_STATUS_MASK (0x40000U) 15715 #define RSIM_CONTROL_IPP_OBE_RF_STATUS_SHIFT (18U) 15716 #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) 15717 #define RSIM_CONTROL_IPP_OBE_RF_PRIORITY_MASK (0x80000U) 15718 #define RSIM_CONTROL_IPP_OBE_RF_PRIORITY_SHIFT (19U) 15719 #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) 15720 #define RSIM_CONTROL_BLE_DSM_EXIT_MASK (0x100000U) 15721 #define RSIM_CONTROL_BLE_DSM_EXIT_SHIFT (20U) 15722 #define RSIM_CONTROL_BLE_DSM_EXIT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_BLE_DSM_EXIT_SHIFT)) & RSIM_CONTROL_BLE_DSM_EXIT_MASK) 15723 #define RSIM_CONTROL_WOR_DSM_EXIT_MASK (0x200000U) 15724 #define RSIM_CONTROL_WOR_DSM_EXIT_SHIFT (21U) 15725 #define RSIM_CONTROL_WOR_DSM_EXIT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_WOR_DSM_EXIT_SHIFT)) & RSIM_CONTROL_WOR_DSM_EXIT_MASK) 15726 #define RSIM_CONTROL_RF_OSC_READY_MASK (0x1000000U) 15727 #define RSIM_CONTROL_RF_OSC_READY_SHIFT (24U) 15728 #define RSIM_CONTROL_RF_OSC_READY(x) (((uint32_t)(((uint32_t)(x)) << RSIM_CONTROL_RF_OSC_READY_SHIFT)) & RSIM_CONTROL_RF_OSC_READY_MASK) 15729 #define RSIM_CONTROL_RF_OSC_READY_OVRD_EN_MASK (0x2000000U) 15730 #define RSIM_CONTROL_RF_OSC_READY_OVRD_EN_SHIFT (25U) 15731 #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) 15732 #define RSIM_CONTROL_RF_OSC_READY_OVRD_MASK (0x4000000U) 15733 #define RSIM_CONTROL_RF_OSC_READY_OVRD_SHIFT (26U) 15734 #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) 15735 #define RSIM_CONTROL_RSIM_CGC_BLE_EN_MASK (0x8000000U) 15736 #define RSIM_CONTROL_RSIM_CGC_BLE_EN_SHIFT (27U) 15737 /*! RSIM_CGC_BLE_EN - BLE Clock Gate Control 15738 * 0b0..Clock disabled 15739 * 0b1..Clock enabled 15740 */ 15741 #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) 15742 #define RSIM_CONTROL_RSIM_CGC_XCVR_EN_MASK (0x10000000U) 15743 #define RSIM_CONTROL_RSIM_CGC_XCVR_EN_SHIFT (28U) 15744 /*! RSIM_CGC_XCVR_EN - XCVR Clock Gate Control 15745 * 0b0..Clock disabled 15746 * 0b1..Clock enabled 15747 */ 15748 #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) 15749 #define RSIM_CONTROL_RSIM_CGC_ZIG_EN_MASK (0x20000000U) 15750 #define RSIM_CONTROL_RSIM_CGC_ZIG_EN_SHIFT (29U) 15751 /*! RSIM_CGC_ZIG_EN - ZIG Clock Gate Control 15752 * 0b0..Clock disabled 15753 * 0b1..Clock enabled 15754 */ 15755 #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) 15756 #define RSIM_CONTROL_RSIM_CGC_GEN_EN_MASK (0x80000000U) 15757 #define RSIM_CONTROL_RSIM_CGC_GEN_EN_SHIFT (31U) 15758 /*! RSIM_CGC_GEN_EN - GEN Clock Gate Control 15759 * 0b0..Clock disabled 15760 * 0b1..Clock enabled 15761 */ 15762 #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) 15763 /*! @} */ 15764 15765 /*! @name MISC - Radio Miscellaneous */ 15766 /*! @{ */ 15767 #define RSIM_MISC_RADIO_VERSION_MASK (0xFF000000U) 15768 #define RSIM_MISC_RADIO_VERSION_SHIFT (24U) 15769 #define RSIM_MISC_RADIO_VERSION(x) (((uint32_t)(((uint32_t)(x)) << RSIM_MISC_RADIO_VERSION_SHIFT)) & RSIM_MISC_RADIO_VERSION_MASK) 15770 /*! @} */ 15771 15772 /*! @name POWER - RSIM Power Control */ 15773 /*! @{ */ 15774 #define RSIM_POWER_RADIO_STOP_MODE_STAT_MASK (0x7U) 15775 #define RSIM_POWER_RADIO_STOP_MODE_STAT_SHIFT (0U) 15776 #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) 15777 #define RSIM_POWER_SPM_STOP_ACK_STAT_MASK (0x8U) 15778 #define RSIM_POWER_SPM_STOP_ACK_STAT_SHIFT (3U) 15779 #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) 15780 #define RSIM_POWER_RADIO_STOP_MODE_OVRD_MASK (0x70U) 15781 #define RSIM_POWER_RADIO_STOP_MODE_OVRD_SHIFT (4U) 15782 #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) 15783 #define RSIM_POWER_RADIO_STOP_MODE_OVRD_EN_MASK (0x80U) 15784 #define RSIM_POWER_RADIO_STOP_MODE_OVRD_EN_SHIFT (7U) 15785 #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) 15786 #define RSIM_POWER_RADIO_STOP_ACK_STAT_MASK (0x100U) 15787 #define RSIM_POWER_RADIO_STOP_ACK_STAT_SHIFT (8U) 15788 #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) 15789 #define RSIM_POWER_RADIO_STOP_REQ_STAT_MASK (0x200U) 15790 #define RSIM_POWER_RADIO_STOP_REQ_STAT_SHIFT (9U) 15791 #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) 15792 #define RSIM_POWER_RSIM_STOP_REQ_OVRD_MASK (0x400U) 15793 #define RSIM_POWER_RSIM_STOP_REQ_OVRD_SHIFT (10U) 15794 #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) 15795 #define RSIM_POWER_RSIM_STOP_REQ_OVRD_EN_MASK (0x800U) 15796 #define RSIM_POWER_RSIM_STOP_REQ_OVRD_EN_SHIFT (11U) 15797 #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) 15798 #define RSIM_POWER_RF_OSC_EN_OVRD_MASK (0x1000U) 15799 #define RSIM_POWER_RF_OSC_EN_OVRD_SHIFT (12U) 15800 #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) 15801 #define RSIM_POWER_RF_OSC_EN_OVRD_EN_MASK (0x2000U) 15802 #define RSIM_POWER_RF_OSC_EN_OVRD_EN_SHIFT (13U) 15803 #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) 15804 #define RSIM_POWER_RF_POWER_EN_OVRD_MASK (0x4000U) 15805 #define RSIM_POWER_RF_POWER_EN_OVRD_SHIFT (14U) 15806 #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) 15807 #define RSIM_POWER_RF_POWER_EN_OVRD_EN_MASK (0x8000U) 15808 #define RSIM_POWER_RF_POWER_EN_OVRD_EN_SHIFT (15U) 15809 #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) 15810 #define RSIM_POWER_SPM_ISO_STAT_MASK (0x10000U) 15811 #define RSIM_POWER_SPM_ISO_STAT_SHIFT (16U) 15812 #define RSIM_POWER_SPM_ISO_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_SPM_ISO_STAT_SHIFT)) & RSIM_POWER_SPM_ISO_STAT_MASK) 15813 #define RSIM_POWER_RADIO_ISO_STAT_MASK (0x20000U) 15814 #define RSIM_POWER_RADIO_ISO_STAT_SHIFT (17U) 15815 #define RSIM_POWER_RADIO_ISO_STAT(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RADIO_ISO_STAT_SHIFT)) & RSIM_POWER_RADIO_ISO_STAT_MASK) 15816 #define RSIM_POWER_RSIM_ISO_OVRD_MASK (0x40000U) 15817 #define RSIM_POWER_RSIM_ISO_OVRD_SHIFT (18U) 15818 #define RSIM_POWER_RSIM_ISO_OVRD(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_ISO_OVRD_SHIFT)) & RSIM_POWER_RSIM_ISO_OVRD_MASK) 15819 #define RSIM_POWER_RSIM_ISO_OVRD_EN_MASK (0x80000U) 15820 #define RSIM_POWER_RSIM_ISO_OVRD_EN_SHIFT (19U) 15821 #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) 15822 #define RSIM_POWER_SPM_RUN_ACK_STAT_MASK (0x100000U) 15823 #define RSIM_POWER_SPM_RUN_ACK_STAT_SHIFT (20U) 15824 #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) 15825 #define RSIM_POWER_RADIO_RUN_REQ_STAT_MASK (0x200000U) 15826 #define RSIM_POWER_RADIO_RUN_REQ_STAT_SHIFT (21U) 15827 #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) 15828 #define RSIM_POWER_RSIM_RUN_REQ_OVRD_MASK (0x400000U) 15829 #define RSIM_POWER_RSIM_RUN_REQ_OVRD_SHIFT (22U) 15830 #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) 15831 #define RSIM_POWER_RSIM_RUN_REQ_OVRD_EN_MASK (0x800000U) 15832 #define RSIM_POWER_RSIM_RUN_REQ_OVRD_EN_SHIFT (23U) 15833 #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) 15834 #define RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_MASK (0x1000000U) 15835 #define RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_SHIFT (24U) 15836 #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) 15837 #define RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_EN_MASK (0x2000000U) 15838 #define RSIM_POWER_SPM_STOP_REQ_ACK_OVRD_EN_SHIFT (25U) 15839 #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) 15840 #define RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_MASK (0x4000000U) 15841 #define RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_SHIFT (26U) 15842 #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) 15843 #define RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_EN_MASK (0x8000000U) 15844 #define RSIM_POWER_SPM_RUN_REQ_ACK_OVRD_EN_SHIFT (27U) 15845 #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) 15846 #define RSIM_POWER_RSIM_STOP_MODE_MASK (0x70000000U) 15847 #define RSIM_POWER_RSIM_STOP_MODE_SHIFT (28U) 15848 /*! RSIM_STOP_MODE - RSIM lowest allowed Stop Mode 15849 * 0b000..Reserved 15850 * 0b001..Reserved 15851 * 0b011..RLLS mode (Radio State Retention mode) 15852 * 0b111..RVLLS mode (This is the POR setting) 15853 */ 15854 #define RSIM_POWER_RSIM_STOP_MODE(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_STOP_MODE_SHIFT)) & RSIM_POWER_RSIM_STOP_MODE_MASK) 15855 #define RSIM_POWER_RSIM_RUN_REQUEST_MASK (0x80000000U) 15856 #define RSIM_POWER_RSIM_RUN_REQUEST_SHIFT (31U) 15857 #define RSIM_POWER_RSIM_RUN_REQUEST(x) (((uint32_t)(((uint32_t)(x)) << RSIM_POWER_RSIM_RUN_REQUEST_SHIFT)) & RSIM_POWER_RSIM_RUN_REQUEST_MASK) 15858 /*! @} */ 15859 15860 /*! @name SW_CONFIG - Radio Software Configuration */ 15861 /*! @{ */ 15862 #define RSIM_SW_CONFIG_RADIO_CONFIGURED_POR_RESET_MASK (0x1U) 15863 #define RSIM_SW_CONFIG_RADIO_CONFIGURED_POR_RESET_SHIFT (0U) 15864 #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) 15865 #define RSIM_SW_CONFIG_RADIO_CONFIGURED_SYS_RESET_MASK (0x2U) 15866 #define RSIM_SW_CONFIG_RADIO_CONFIGURED_SYS_RESET_SHIFT (1U) 15867 #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) 15868 #define RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_MASK (0x10U) 15869 #define RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_SHIFT (4U) 15870 #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) 15871 #define RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_EN_MASK (0x20U) 15872 #define RSIM_SW_CONFIG_RSIM_RF_ACTIVE_OVRD_EN_SHIFT (5U) 15873 #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) 15874 #define RSIM_SW_CONFIG_RADIO_POR_BIT_MASK (0x100U) 15875 #define RSIM_SW_CONFIG_RADIO_POR_BIT_SHIFT (8U) 15876 #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) 15877 #define RSIM_SW_CONFIG_RSIM_RADIO_ISO_POR_OVRD_MASK (0x1000U) 15878 #define RSIM_SW_CONFIG_RSIM_RADIO_ISO_POR_OVRD_SHIFT (12U) 15879 #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) 15880 #define RSIM_SW_CONFIG_RADIO_RESET_BIT_MASK (0x10000U) 15881 #define RSIM_SW_CONFIG_RADIO_RESET_BIT_SHIFT (16U) 15882 #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) 15883 #define RSIM_SW_CONFIG_WAKEUP_INTERRUPT_SOURCE_MASK (0x300000U) 15884 #define RSIM_SW_CONFIG_WAKEUP_INTERRUPT_SOURCE_SHIFT (20U) 15885 /*! WAKEUP_INTERRUPT_SOURCE - RSIM Wakeup Interrupt Source Selector 15886 * 0b00..No Radio Power-On Sequence interrupt will be generated. 15887 * 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. 15888 * 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. 15889 * 0b11..A Power-On Sequence interrupt will be generated when the RSIM RF Active Warning occurs 15890 */ 15891 #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) 15892 #define RSIM_SW_CONFIG_RADIO0_INTERRUPT_EN_MASK (0x1000000U) 15893 #define RSIM_SW_CONFIG_RADIO0_INTERRUPT_EN_SHIFT (24U) 15894 #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) 15895 #define RSIM_SW_CONFIG_RADIO1_INTERRUPT_EN_MASK (0x2000000U) 15896 #define RSIM_SW_CONFIG_RADIO1_INTERRUPT_EN_SHIFT (25U) 15897 #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) 15898 #define RSIM_SW_CONFIG_BLOCK_SOC_RESETS_MASK (0x10000000U) 15899 #define RSIM_SW_CONFIG_BLOCK_SOC_RESETS_SHIFT (28U) 15900 #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) 15901 #define RSIM_SW_CONFIG_BLOCK_RADIO_OUTPUTS_MASK (0x20000000U) 15902 #define RSIM_SW_CONFIG_BLOCK_RADIO_OUTPUTS_SHIFT (29U) 15903 #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) 15904 #define RSIM_SW_CONFIG_ALLOW_DFT_RESETS_MASK (0x40000000U) 15905 #define RSIM_SW_CONFIG_ALLOW_DFT_RESETS_SHIFT (30U) 15906 #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) 15907 #define RSIM_SW_CONFIG_BLOCK_EXT_OSC_PWR_REQ_MASK (0x80000000U) 15908 #define RSIM_SW_CONFIG_BLOCK_EXT_OSC_PWR_REQ_SHIFT (31U) 15909 #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) 15910 /*! @} */ 15911 15912 /*! @name DSM_TIMER - Deep Sleep Timer */ 15913 /*! @{ */ 15914 #define RSIM_DSM_TIMER_DSM_TIMER_MASK (0xFFFFFFU) 15915 #define RSIM_DSM_TIMER_DSM_TIMER_SHIFT (0U) 15916 #define RSIM_DSM_TIMER_DSM_TIMER(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_TIMER_DSM_TIMER_SHIFT)) & RSIM_DSM_TIMER_DSM_TIMER_MASK) 15917 /*! @} */ 15918 15919 /*! @name DSM_CONTROL - Deep Sleep Timer Control */ 15920 /*! @{ */ 15921 #define RSIM_DSM_CONTROL_DSM_WOR_READY_MASK (0x1U) 15922 #define RSIM_DSM_CONTROL_DSM_WOR_READY_SHIFT (0U) 15923 #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) 15924 #define RSIM_DSM_CONTROL_WOR_DEEP_SLEEP_STATUS_MASK (0x2U) 15925 #define RSIM_DSM_CONTROL_WOR_DEEP_SLEEP_STATUS_SHIFT (1U) 15926 #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) 15927 #define RSIM_DSM_CONTROL_DSM_WOR_FINISHED_MASK (0x4U) 15928 #define RSIM_DSM_CONTROL_DSM_WOR_FINISHED_SHIFT (2U) 15929 #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) 15930 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQUEST_EN_MASK (0x8U) 15931 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQUEST_EN_SHIFT (3U) 15932 #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) 15933 #define RSIM_DSM_CONTROL_WOR_SLEEP_REQUEST_MASK (0x10U) 15934 #define RSIM_DSM_CONTROL_WOR_SLEEP_REQUEST_SHIFT (4U) 15935 #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) 15936 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_MASK (0x20U) 15937 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_SHIFT (5U) 15938 #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) 15939 #define RSIM_DSM_CONTROL_WOR_WAKEUP_INTERRUPT_EN_MASK (0x40U) 15940 #define RSIM_DSM_CONTROL_WOR_WAKEUP_INTERRUPT_EN_SHIFT (6U) 15941 #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) 15942 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_INT_MASK (0x80U) 15943 #define RSIM_DSM_CONTROL_WOR_WAKEUP_REQ_INT_SHIFT (7U) 15944 #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) 15945 #define RSIM_DSM_CONTROL_DSM_MAN_READY_MASK (0x100U) 15946 #define RSIM_DSM_CONTROL_DSM_MAN_READY_SHIFT (8U) 15947 #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) 15948 #define RSIM_DSM_CONTROL_MAN_DEEP_SLEEP_STATUS_MASK (0x200U) 15949 #define RSIM_DSM_CONTROL_MAN_DEEP_SLEEP_STATUS_SHIFT (9U) 15950 #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) 15951 #define RSIM_DSM_CONTROL_DSM_MAN_FINISHED_MASK (0x400U) 15952 #define RSIM_DSM_CONTROL_DSM_MAN_FINISHED_SHIFT (10U) 15953 #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) 15954 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQUEST_EN_MASK (0x800U) 15955 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQUEST_EN_SHIFT (11U) 15956 #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) 15957 #define RSIM_DSM_CONTROL_MAN_SLEEP_REQUEST_MASK (0x1000U) 15958 #define RSIM_DSM_CONTROL_MAN_SLEEP_REQUEST_SHIFT (12U) 15959 #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) 15960 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_MASK (0x2000U) 15961 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_SHIFT (13U) 15962 #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) 15963 #define RSIM_DSM_CONTROL_MAN_WAKEUP_INTERRUPT_EN_MASK (0x4000U) 15964 #define RSIM_DSM_CONTROL_MAN_WAKEUP_INTERRUPT_EN_SHIFT (14U) 15965 #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) 15966 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_INT_MASK (0x8000U) 15967 #define RSIM_DSM_CONTROL_MAN_WAKEUP_REQ_INT_SHIFT (15U) 15968 #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) 15969 #define RSIM_DSM_CONTROL_WIFI_COEXIST_1_MASK (0x10000U) 15970 #define RSIM_DSM_CONTROL_WIFI_COEXIST_1_SHIFT (16U) 15971 #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) 15972 #define RSIM_DSM_CONTROL_WIFI_COEXIST_2_MASK (0x20000U) 15973 #define RSIM_DSM_CONTROL_WIFI_COEXIST_2_SHIFT (17U) 15974 #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) 15975 #define RSIM_DSM_CONTROL_WIFI_COEXIST_3_MASK (0x40000U) 15976 #define RSIM_DSM_CONTROL_WIFI_COEXIST_3_SHIFT (18U) 15977 #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) 15978 #define RSIM_DSM_CONTROL_RF_ACTIVE_ENDS_WITH_TSM_MASK (0x100000U) 15979 #define RSIM_DSM_CONTROL_RF_ACTIVE_ENDS_WITH_TSM_SHIFT (20U) 15980 #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) 15981 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_ENDS_WITH_TSM_MASK (0x200000U) 15982 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_ENDS_WITH_TSM_SHIFT (21U) 15983 #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) 15984 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_BIT_MASK (0x400000U) 15985 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_BIT_SHIFT (22U) 15986 #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) 15987 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_EN_MASK (0x800000U) 15988 #define RSIM_DSM_CONTROL_SW_RF_ACTIVE_EN_SHIFT (23U) 15989 #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) 15990 #define RSIM_DSM_CONTROL_DSM_TIMER_CLR_MASK (0x8000000U) 15991 #define RSIM_DSM_CONTROL_DSM_TIMER_CLR_SHIFT (27U) 15992 #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) 15993 #define RSIM_DSM_CONTROL_DSM_TIMER_EN_MASK (0x80000000U) 15994 #define RSIM_DSM_CONTROL_DSM_TIMER_EN_SHIFT (31U) 15995 #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) 15996 /*! @} */ 15997 15998 /*! @name DSM_WAKEUP - Deep Sleep Wakeup Sequence */ 15999 /*! @{ */ 16000 #define RSIM_DSM_WAKEUP_DSM_POWER_OFFSET_TIME_MASK (0x3FFU) 16001 #define RSIM_DSM_WAKEUP_DSM_POWER_OFFSET_TIME_SHIFT (0U) 16002 #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) 16003 #define RSIM_DSM_WAKEUP_ACTIVE_WARNING_MASK (0x3F000U) 16004 #define RSIM_DSM_WAKEUP_ACTIVE_WARNING_SHIFT (12U) 16005 #define RSIM_DSM_WAKEUP_ACTIVE_WARNING(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_WAKEUP_ACTIVE_WARNING_SHIFT)) & RSIM_DSM_WAKEUP_ACTIVE_WARNING_MASK) 16006 #define RSIM_DSM_WAKEUP_FINE_DELAY_MASK (0x3F00000U) 16007 #define RSIM_DSM_WAKEUP_FINE_DELAY_SHIFT (20U) 16008 #define RSIM_DSM_WAKEUP_FINE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_WAKEUP_FINE_DELAY_SHIFT)) & RSIM_DSM_WAKEUP_FINE_DELAY_MASK) 16009 #define RSIM_DSM_WAKEUP_COARSE_DELAY_MASK (0xF0000000U) 16010 #define RSIM_DSM_WAKEUP_COARSE_DELAY_SHIFT (28U) 16011 #define RSIM_DSM_WAKEUP_COARSE_DELAY(x) (((uint32_t)(((uint32_t)(x)) << RSIM_DSM_WAKEUP_COARSE_DELAY_SHIFT)) & RSIM_DSM_WAKEUP_COARSE_DELAY_MASK) 16012 /*! @} */ 16013 16014 /*! @name WOR_DURATION - WOR Deep Sleep Duration */ 16015 /*! @{ */ 16016 #define RSIM_WOR_DURATION_WOR_DSM_DURATION_MASK (0xFFFFFFU) 16017 #define RSIM_WOR_DURATION_WOR_DSM_DURATION_SHIFT (0U) 16018 #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) 16019 /*! @} */ 16020 16021 /*! @name WOR_WAKE - WOR Deep Sleep Wake Time */ 16022 /*! @{ */ 16023 #define RSIM_WOR_WAKE_WOR_WAKE_TIME_MASK (0xFFFFFFU) 16024 #define RSIM_WOR_WAKE_WOR_WAKE_TIME_SHIFT (0U) 16025 #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) 16026 #define RSIM_WOR_WAKE_WOR_FSM_STATE_MASK (0x70000000U) 16027 #define RSIM_WOR_WAKE_WOR_FSM_STATE_SHIFT (28U) 16028 #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) 16029 /*! @} */ 16030 16031 /*! @name MAN_SLEEP - MAN Deep Sleep Time */ 16032 /*! @{ */ 16033 #define RSIM_MAN_SLEEP_MAN_SLEEP_TIME_MASK (0xFFFFFFU) 16034 #define RSIM_MAN_SLEEP_MAN_SLEEP_TIME_SHIFT (0U) 16035 #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) 16036 /*! @} */ 16037 16038 /*! @name MAN_WAKE - MAN Deep Sleep Wake Time */ 16039 /*! @{ */ 16040 #define RSIM_MAN_WAKE_MAN_WAKE_TIME_MASK (0xFFFFFFU) 16041 #define RSIM_MAN_WAKE_MAN_WAKE_TIME_SHIFT (0U) 16042 #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) 16043 #define RSIM_MAN_WAKE_MAN_FSM_STATE_MASK (0x70000000U) 16044 #define RSIM_MAN_WAKE_MAN_FSM_STATE_SHIFT (28U) 16045 #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) 16046 /*! @} */ 16047 16048 /*! @name RF_OSC_CTRL - Radio Oscillator Control */ 16049 /*! @{ */ 16050 #define RSIM_RF_OSC_CTRL_BB_XTAL_ALC_COUNT_SEL_MASK (0x3U) 16051 #define RSIM_RF_OSC_CTRL_BB_XTAL_ALC_COUNT_SEL_SHIFT (0U) 16052 /*! BB_XTAL_ALC_COUNT_SEL - rmap_bb_xtal_alc_count_sel_hv[1:0] 16053 * 0b00..2048 (64 us @ 32 MHz) 16054 * 0b01..4096 (128 us @ 32 MHz) 16055 * 0b10..8192 (256 us @ 32 MHz) 16056 * 0b11..16384 (512 us @ 32 MHz) 16057 */ 16058 #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) 16059 #define RSIM_RF_OSC_CTRL_BB_XTAL_ALC_ON_MASK (0x4U) 16060 #define RSIM_RF_OSC_CTRL_BB_XTAL_ALC_ON_SHIFT (2U) 16061 #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) 16062 #define RSIM_RF_OSC_CTRL_RF_OSC_BYPASS_EN_MASK (0x8U) 16063 #define RSIM_RF_OSC_CTRL_RF_OSC_BYPASS_EN_SHIFT (3U) 16064 #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) 16065 #define RSIM_RF_OSC_CTRL_BB_XTAL_COMP_BIAS_MASK (0x1F0U) 16066 #define RSIM_RF_OSC_CTRL_BB_XTAL_COMP_BIAS_SHIFT (4U) 16067 #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) 16068 #define RSIM_RF_OSC_CTRL_BB_XTAL_DC_COUP_MODE_EN_MASK (0x200U) 16069 #define RSIM_RF_OSC_CTRL_BB_XTAL_DC_COUP_MODE_EN_SHIFT (9U) 16070 #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) 16071 #define RSIM_RF_OSC_CTRL_BB_XTAL_DIAGSEL_MASK (0x400U) 16072 #define RSIM_RF_OSC_CTRL_BB_XTAL_DIAGSEL_SHIFT (10U) 16073 #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) 16074 #define RSIM_RF_OSC_CTRL_BB_XTAL_DIG_CLK_ON_MASK (0x800U) 16075 #define RSIM_RF_OSC_CTRL_BB_XTAL_DIG_CLK_ON_SHIFT (11U) 16076 #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) 16077 #define RSIM_RF_OSC_CTRL_BB_XTAL_GM_MASK (0x1F000U) 16078 #define RSIM_RF_OSC_CTRL_BB_XTAL_GM_SHIFT (12U) 16079 #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) 16080 #define RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_MASK (0x20000U) 16081 #define RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_SHIFT (17U) 16082 #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) 16083 #define RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_ON_MASK (0x40000U) 16084 #define RSIM_RF_OSC_CTRL_BB_XTAL_ON_OVRD_ON_SHIFT (18U) 16085 /*! BB_XTAL_ON_OVRD_ON - rmap_bb_xtal_on_ovrd_on_hv 16086 * 0b0..rfctrl_bb_xtal_on_hv is asserted 16087 * 0b1..rfctrl_bb_xtal_on_ovrd_hv is asserted 16088 */ 16089 #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) 16090 #define RSIM_RF_OSC_CTRL_BB_XTAL_READY_COUNT_SEL_MASK (0x300000U) 16091 #define RSIM_RF_OSC_CTRL_BB_XTAL_READY_COUNT_SEL_SHIFT (20U) 16092 /*! BB_XTAL_READY_COUNT_SEL - rmap_bb_xtal_ready_count_sel_hv[1:0] 16093 * 0b00..1024 counts (32 us @ 32 MHz) 16094 * 0b01..2048 (64 us @ 32 MHz) 16095 * 0b10..4096 (128 us @ 32 MHz) 16096 * 0b11..8192 (256 us @ 32 MHz) 16097 */ 16098 #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) 16099 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_RF_EN_SEL_MASK (0x8000000U) 16100 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_RF_EN_SEL_SHIFT (27U) 16101 #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) 16102 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_MASK (0x10000000U) 16103 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_SHIFT (28U) 16104 #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) 16105 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_EN_MASK (0x20000000U) 16106 #define RSIM_RF_OSC_CTRL_RADIO_EXT_OSC_OVRD_EN_SHIFT (29U) 16107 #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) 16108 #define RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_MASK (0x40000000U) 16109 #define RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_SHIFT (30U) 16110 #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) 16111 #define RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_EN_MASK (0x80000000U) 16112 #define RSIM_RF_OSC_CTRL_RF_NOT_ALLOWED_OVRD_EN_SHIFT (31U) 16113 #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) 16114 /*! @} */ 16115 16116 /*! @name ANA_TEST - Radio Analog Test Registers */ 16117 /*! @{ */ 16118 #define RSIM_ANA_TEST_XTAL_OUT_BUF_EN_MASK (0x10U) 16119 #define RSIM_ANA_TEST_XTAL_OUT_BUF_EN_SHIFT (4U) 16120 #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) 16121 /*! @} */ 16122 16123 /*! @name ANA_TRIM - Radio Analog Trim Registers */ 16124 /*! @{ */ 16125 #define RSIM_ANA_TRIM_BB_LDO_LS_SPARE_MASK (0x3U) 16126 #define RSIM_ANA_TRIM_BB_LDO_LS_SPARE_SHIFT (0U) 16127 #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) 16128 #define RSIM_ANA_TRIM_BB_LDO_LS_TRIM_MASK (0x38U) 16129 #define RSIM_ANA_TRIM_BB_LDO_LS_TRIM_SHIFT (3U) 16130 /*! BB_LDO_LS_TRIM - rmap_bb_ldo_ls_trim_hv[2:0] 16131 * 0b000..1.20 V (Default) 16132 * 0b001..1.25 V 16133 * 0b010..1.28 V 16134 * 0b011..1.33 V 16135 * 0b100..1.40 V 16136 * 0b101..1.44 V 16137 * 0b110..1.50 V 16138 * 0b111..1.66 V 16139 */ 16140 #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) 16141 #define RSIM_ANA_TRIM_BB_LDO_XO_SPARE_MASK (0xC0U) 16142 #define RSIM_ANA_TRIM_BB_LDO_XO_SPARE_SHIFT (6U) 16143 #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) 16144 #define RSIM_ANA_TRIM_BB_LDO_XO_TRIM_MASK (0x700U) 16145 #define RSIM_ANA_TRIM_BB_LDO_XO_TRIM_SHIFT (8U) 16146 /*! BB_LDO_XO_TRIM - rmap_bb_ldo_xo_trim_hv[2:0] 16147 * 0b000..1.20 V (Default) 16148 * 0b001..1.25 V 16149 * 0b010..1.28 V 16150 * 0b011..1.33 V 16151 * 0b100..1.40 V 16152 * 0b101..1.44 V 16153 * 0b110..1.50 V 16154 * 0b111..1.66 V 16155 */ 16156 #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) 16157 #define RSIM_ANA_TRIM_BB_XTAL_SPARE_MASK (0xF800U) 16158 #define RSIM_ANA_TRIM_BB_XTAL_SPARE_SHIFT (11U) 16159 #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) 16160 #define RSIM_ANA_TRIM_BB_XTAL_TRIM_MASK (0xFF0000U) 16161 #define RSIM_ANA_TRIM_BB_XTAL_TRIM_SHIFT (16U) 16162 #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) 16163 #define RSIM_ANA_TRIM_BG_1V_TRIM_MASK (0xF000000U) 16164 #define RSIM_ANA_TRIM_BG_1V_TRIM_SHIFT (24U) 16165 /*! BG_1V_TRIM - rmap_bg_1v_trim_hv[3:0] 16166 * 0b0000..954.14 mV 16167 * 0b0001..959.26 mV 16168 * 0b0010..964.38 mV 16169 * 0b0011..969.5 mV 16170 * 0b0100..974.6 mV 16171 * 0b0101..979.7 mV 16172 * 0b0110..984.8 mV 16173 * 0b0111..989.9 mV 16174 * 0b1000..995 mV (Default) 16175 * 0b1001..1 V 16176 * 0b1010..1.005 V 16177 * 0b1011..1.01 V 16178 * 0b1100..1.015 V 16179 * 0b1101..1.02 V 16180 * 0b1110..1.025 V 16181 * 0b1111..1.031 V 16182 */ 16183 #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) 16184 #define RSIM_ANA_TRIM_BG_IBIAS_5U_TRIM_MASK (0xF0000000U) 16185 #define RSIM_ANA_TRIM_BG_IBIAS_5U_TRIM_SHIFT (28U) 16186 /*! BG_IBIAS_5U_TRIM - rmap_bg_ibias_5u_trim_hv[3:0] 16187 * 0b0000..3.55 uA 16188 * 0b0001..3.73 uA 16189 * 0b0010..4.04 uA 16190 * 0b0011..4.22 uA 16191 * 0b0100..4.39 uA 16192 * 0b0101..4.57 uA 16193 * 0b0110..4.89 uA 16194 * 0b0111..5.06 (Default) 16195 * 0b1000..5.23 uA 16196 * 0b1001..5.41 uA 16197 * 0b1010..5.72 uA 16198 * 0b1011..5.9 uA 16199 * 0b1100..6.07 uA 16200 * 0b1101..6.25 uA 16201 * 0b1110..6.56 uA 16202 * 0b1111..6.74 uA 16203 */ 16204 #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) 16205 /*! @} */ 16206 16207 16208 /*! 16209 * @} 16210 */ /* end of group RSIM_Register_Masks */ 16211 16212 16213 /* RSIM - Peripheral instance base addresses */ 16214 /** Peripheral RSIM base address */ 16215 #define RSIM_BASE (0x4102F000u) 16216 /** Peripheral RSIM base pointer */ 16217 #define RSIM ((RSIM_Type *)RSIM_BASE) 16218 /** Array initializer of RSIM peripheral base addresses */ 16219 #define RSIM_BASE_ADDRS { RSIM_BASE } 16220 /** Array initializer of RSIM peripheral base pointers */ 16221 #define RSIM_BASE_PTRS { RSIM } 16222 16223 /*! 16224 * @} 16225 */ /* end of group RSIM_Peripheral_Access_Layer */ 16226 16227 16228 /* ---------------------------------------------------------------------------- 16229 -- RTC Peripheral Access Layer 16230 ---------------------------------------------------------------------------- */ 16231 16232 /*! 16233 * @addtogroup RTC_Peripheral_Access_Layer RTC Peripheral Access Layer 16234 * @{ 16235 */ 16236 16237 /** RTC - Register Layout Typedef */ 16238 typedef struct { 16239 __IO uint32_t TSR; /**< RTC Time Seconds Register, offset: 0x0 */ 16240 __IO uint32_t TPR; /**< RTC Time Prescaler Register, offset: 0x4 */ 16241 __IO uint32_t TAR; /**< RTC Time Alarm Register, offset: 0x8 */ 16242 __IO uint32_t TCR; /**< RTC Time Compensation Register, offset: 0xC */ 16243 __IO uint32_t CR; /**< RTC Control Register, offset: 0x10 */ 16244 __IO uint32_t SR; /**< RTC Status Register, offset: 0x14 */ 16245 __IO uint32_t LR; /**< RTC Lock Register, offset: 0x18 */ 16246 __IO uint32_t IER; /**< RTC Interrupt Enable Register, offset: 0x1C */ 16247 __I uint32_t TTSR; /**< RTC Tamper Time Seconds Register, offset: 0x20 */ 16248 __IO uint32_t MER; /**< RTC Monotonic Enable Register, offset: 0x24 */ 16249 __IO uint32_t MCLR; /**< RTC Monotonic Counter Low Register, offset: 0x28 */ 16250 __IO uint32_t MCHR; /**< RTC Monotonic Counter High Register, offset: 0x2C */ 16251 uint8_t RESERVED_0[4]; 16252 __IO uint32_t TDR; /**< RTC Tamper Detect Register, offset: 0x34 */ 16253 uint8_t RESERVED_1[4]; 16254 __IO uint32_t TIR; /**< RTC Tamper Interrupt Register, offset: 0x3C */ 16255 __IO uint32_t PCR[4]; /**< RTC Pin Configuration Register, array offset: 0x40, array step: 0x4 */ 16256 uint8_t RESERVED_2[1968]; 16257 __IO uint32_t WAR; /**< RTC Write Access Register, offset: 0x800 */ 16258 __IO uint32_t RAR; /**< RTC Read Access Register, offset: 0x804 */ 16259 } RTC_Type; 16260 16261 /* ---------------------------------------------------------------------------- 16262 -- RTC Register Masks 16263 ---------------------------------------------------------------------------- */ 16264 16265 /*! 16266 * @addtogroup RTC_Register_Masks RTC Register Masks 16267 * @{ 16268 */ 16269 16270 /*! @name TSR - RTC Time Seconds Register */ 16271 /*! @{ */ 16272 #define RTC_TSR_TSR_MASK (0xFFFFFFFFU) 16273 #define RTC_TSR_TSR_SHIFT (0U) 16274 #define RTC_TSR_TSR(x) (((uint32_t)(((uint32_t)(x)) << RTC_TSR_TSR_SHIFT)) & RTC_TSR_TSR_MASK) 16275 /*! @} */ 16276 16277 /*! @name TPR - RTC Time Prescaler Register */ 16278 /*! @{ */ 16279 #define RTC_TPR_TPR_MASK (0xFFFFU) 16280 #define RTC_TPR_TPR_SHIFT (0U) 16281 #define RTC_TPR_TPR(x) (((uint32_t)(((uint32_t)(x)) << RTC_TPR_TPR_SHIFT)) & RTC_TPR_TPR_MASK) 16282 /*! @} */ 16283 16284 /*! @name TAR - RTC Time Alarm Register */ 16285 /*! @{ */ 16286 #define RTC_TAR_TAR_MASK (0xFFFFFFFFU) 16287 #define RTC_TAR_TAR_SHIFT (0U) 16288 #define RTC_TAR_TAR(x) (((uint32_t)(((uint32_t)(x)) << RTC_TAR_TAR_SHIFT)) & RTC_TAR_TAR_MASK) 16289 /*! @} */ 16290 16291 /*! @name TCR - RTC Time Compensation Register */ 16292 /*! @{ */ 16293 #define RTC_TCR_TCR_MASK (0xFFU) 16294 #define RTC_TCR_TCR_SHIFT (0U) 16295 /*! TCR - Time Compensation Register 16296 * 0b10000000..Time Prescaler Register overflows every 32896 clock cycles. 16297 * 0b10000001..Time Prescaler Register overflows every 32895 clock cycles. 16298 * 0b11111111..Time Prescaler Register overflows every 32769 clock cycles. 16299 * 0b00000000..Time Prescaler Register overflows every 32768 clock cycles. 16300 * 0b00000001..Time Prescaler Register overflows every 32767 clock cycles. 16301 * 0b01111110..Time Prescaler Register overflows every 32642 clock cycles. 16302 * 0b01111111..Time Prescaler Register overflows every 32641 clock cycles. 16303 */ 16304 #define RTC_TCR_TCR(x) (((uint32_t)(((uint32_t)(x)) << RTC_TCR_TCR_SHIFT)) & RTC_TCR_TCR_MASK) 16305 #define RTC_TCR_CIR_MASK (0xFF00U) 16306 #define RTC_TCR_CIR_SHIFT (8U) 16307 #define RTC_TCR_CIR(x) (((uint32_t)(((uint32_t)(x)) << RTC_TCR_CIR_SHIFT)) & RTC_TCR_CIR_MASK) 16308 #define RTC_TCR_TCV_MASK (0xFF0000U) 16309 #define RTC_TCR_TCV_SHIFT (16U) 16310 #define RTC_TCR_TCV(x) (((uint32_t)(((uint32_t)(x)) << RTC_TCR_TCV_SHIFT)) & RTC_TCR_TCV_MASK) 16311 #define RTC_TCR_CIC_MASK (0xFF000000U) 16312 #define RTC_TCR_CIC_SHIFT (24U) 16313 #define RTC_TCR_CIC(x) (((uint32_t)(((uint32_t)(x)) << RTC_TCR_CIC_SHIFT)) & RTC_TCR_CIC_MASK) 16314 /*! @} */ 16315 16316 /*! @name CR - RTC Control Register */ 16317 /*! @{ */ 16318 #define RTC_CR_SWR_MASK (0x1U) 16319 #define RTC_CR_SWR_SHIFT (0U) 16320 /*! SWR - Software Reset 16321 * 0b0..No effect. 16322 * 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. 16323 */ 16324 #define RTC_CR_SWR(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SWR_SHIFT)) & RTC_CR_SWR_MASK) 16325 #define RTC_CR_WPE_MASK (0x2U) 16326 #define RTC_CR_WPE_SHIFT (1U) 16327 /*! WPE - Wakeup Pin Enable 16328 * 0b0..RTC_WAKEUP pin is disabled. 16329 * 0b1..RTC_WAKEUP pin is enabled and asserts if the RTC interrupt asserts or if the wakeup pin is forced on. 16330 */ 16331 #define RTC_CR_WPE(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_WPE_SHIFT)) & RTC_CR_WPE_MASK) 16332 #define RTC_CR_SUP_MASK (0x4U) 16333 #define RTC_CR_SUP_SHIFT (2U) 16334 /*! SUP - Supervisor Access 16335 * 0b0..Non-supervisor mode write accesses are not supported and generate a bus error. 16336 * 0b1..Non-supervisor mode write accesses are supported. 16337 */ 16338 #define RTC_CR_SUP(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SUP_SHIFT)) & RTC_CR_SUP_MASK) 16339 #define RTC_CR_UM_MASK (0x8U) 16340 #define RTC_CR_UM_SHIFT (3U) 16341 /*! UM - Update Mode 16342 * 0b0..Registers cannot be written when locked. 16343 * 0b1..Registers can be written when locked under limited conditions. 16344 */ 16345 #define RTC_CR_UM(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_UM_SHIFT)) & RTC_CR_UM_MASK) 16346 #define RTC_CR_WPS_MASK (0x10U) 16347 #define RTC_CR_WPS_SHIFT (4U) 16348 /*! WPS - Wakeup Pin Select 16349 * 0b0..RTC_WAKEUP pin asserts (active low, open drain) if the RTC interrupt asserts or the wakeup pin is turned on. 16350 * 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. 16351 */ 16352 #define RTC_CR_WPS(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_WPS_SHIFT)) & RTC_CR_WPS_MASK) 16353 #define RTC_CR_CPS_MASK (0x20U) 16354 #define RTC_CR_CPS_SHIFT (5U) 16355 /*! CPS - Clock Pin Select 16356 * 0b0..The prescaler output clock (as configured by TSIC) is output on RTC_CLKOUT. 16357 * 0b1..The RTC 32.768 kHz clock is output on RTC_CLKOUT, provided it is output to other peripherals. 16358 */ 16359 #define RTC_CR_CPS(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_CPS_SHIFT)) & RTC_CR_CPS_MASK) 16360 #define RTC_CR_LPOS_MASK (0x80U) 16361 #define RTC_CR_LPOS_SHIFT (7U) 16362 /*! LPOS - LPO Select 16363 * 0b0..RTC prescaler increments using 32.768 kHz clock. 16364 * 0b1..RTC prescaler increments using 1 kHz LPO, bits [4:0] of the prescaler are ignored. 16365 */ 16366 #define RTC_CR_LPOS(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_LPOS_SHIFT)) & RTC_CR_LPOS_MASK) 16367 #define RTC_CR_OSCE_MASK (0x100U) 16368 #define RTC_CR_OSCE_SHIFT (8U) 16369 /*! OSCE - Oscillator Enable 16370 * 0b0..32.768 kHz oscillator is disabled. 16371 * 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. 16372 */ 16373 #define RTC_CR_OSCE(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_OSCE_SHIFT)) & RTC_CR_OSCE_MASK) 16374 #define RTC_CR_CLKO_MASK (0x200U) 16375 #define RTC_CR_CLKO_SHIFT (9U) 16376 /*! CLKO - Clock Output 16377 * 0b0..The 32 kHz clock is output to other peripherals. 16378 * 0b1..The 32 kHz clock is not output to other peripherals. 16379 */ 16380 #define RTC_CR_CLKO(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_CLKO_SHIFT)) & RTC_CR_CLKO_MASK) 16381 #define RTC_CR_SC16P_MASK (0x400U) 16382 #define RTC_CR_SC16P_SHIFT (10U) 16383 /*! SC16P - Oscillator 16pF Load Configure 16384 * 0b0..Disable the load. 16385 * 0b1..Enable the additional load. 16386 */ 16387 #define RTC_CR_SC16P(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SC16P_SHIFT)) & RTC_CR_SC16P_MASK) 16388 #define RTC_CR_SC8P_MASK (0x800U) 16389 #define RTC_CR_SC8P_SHIFT (11U) 16390 /*! SC8P - Oscillator 8pF Load Configure 16391 * 0b0..Disable the load. 16392 * 0b1..Enable the additional load. 16393 */ 16394 #define RTC_CR_SC8P(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SC8P_SHIFT)) & RTC_CR_SC8P_MASK) 16395 #define RTC_CR_SC4P_MASK (0x1000U) 16396 #define RTC_CR_SC4P_SHIFT (12U) 16397 /*! SC4P - Oscillator 4pF Load Configure 16398 * 0b0..Disable the load. 16399 * 0b1..Enable the additional load. 16400 */ 16401 #define RTC_CR_SC4P(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SC4P_SHIFT)) & RTC_CR_SC4P_MASK) 16402 #define RTC_CR_SC2P_MASK (0x2000U) 16403 #define RTC_CR_SC2P_SHIFT (13U) 16404 /*! SC2P - Oscillator 2pF Load Configure 16405 * 0b0..Disable the load. 16406 * 0b1..Enable the additional load. 16407 */ 16408 #define RTC_CR_SC2P(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_SC2P_SHIFT)) & RTC_CR_SC2P_MASK) 16409 #define RTC_CR_OSCM_MASK (0x8000U) 16410 #define RTC_CR_OSCM_SHIFT (15U) 16411 /*! OSCM - Oscillator Mode Select 16412 * 0b0..Configures the 32.768kHz crystal oscillator for robust operation supporting a wide range of crystals. 16413 * 0b1..Configures the 32.768kHz crystal oscillator for low power operation supporting a more limited range of crystals. 16414 */ 16415 #define RTC_CR_OSCM(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_OSCM_SHIFT)) & RTC_CR_OSCM_MASK) 16416 #define RTC_CR_PORS_MASK (0x30000U) 16417 #define RTC_CR_PORS_SHIFT (16U) 16418 /*! PORS - POR Select 16419 * 0b00..POR brownout enabled for 120us every 128ms. 16420 * 0b01..POR brownout enabled for 120us every 64ms. 16421 * 0b10..POR brownout enabled for 120us every 32ms. 16422 * 0b11..POR brownout always enabled. 16423 */ 16424 #define RTC_CR_PORS(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_PORS_SHIFT)) & RTC_CR_PORS_MASK) 16425 #define RTC_CR_CPE_MASK (0x3000000U) 16426 #define RTC_CR_CPE_SHIFT (24U) 16427 /*! CPE - Clock Pin Enable 16428 * 0b00..The RTC_CLKOUT function is disabled. 16429 * 0b01..Enable RTC_CLKOUT pin on pin 1. 16430 * 0b10..Enable RTC_CLKOUT pin on pin 2. 16431 * 0b11..Enable RTC_CLKOUT pin on pin 3. 16432 */ 16433 #define RTC_CR_CPE(x) (((uint32_t)(((uint32_t)(x)) << RTC_CR_CPE_SHIFT)) & RTC_CR_CPE_MASK) 16434 /*! @} */ 16435 16436 /*! @name SR - RTC Status Register */ 16437 /*! @{ */ 16438 #define RTC_SR_TIF_MASK (0x1U) 16439 #define RTC_SR_TIF_SHIFT (0U) 16440 /*! TIF - Time Invalid Flag 16441 * 0b0..Time is valid. 16442 * 0b1..Time is invalid and time counter is read as zero. 16443 */ 16444 #define RTC_SR_TIF(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_TIF_SHIFT)) & RTC_SR_TIF_MASK) 16445 #define RTC_SR_TOF_MASK (0x2U) 16446 #define RTC_SR_TOF_SHIFT (1U) 16447 /*! TOF - Time Overflow Flag 16448 * 0b0..Time overflow has not occurred. 16449 * 0b1..Time overflow has occurred and time counter is read as zero. 16450 */ 16451 #define RTC_SR_TOF(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_TOF_SHIFT)) & RTC_SR_TOF_MASK) 16452 #define RTC_SR_TAF_MASK (0x4U) 16453 #define RTC_SR_TAF_SHIFT (2U) 16454 /*! TAF - Time Alarm Flag 16455 * 0b0..Time alarm has not occurred. 16456 * 0b1..Time alarm has occurred. 16457 */ 16458 #define RTC_SR_TAF(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_TAF_SHIFT)) & RTC_SR_TAF_MASK) 16459 #define RTC_SR_MOF_MASK (0x8U) 16460 #define RTC_SR_MOF_SHIFT (3U) 16461 /*! MOF - Monotonic Overflow Flag 16462 * 0b0..Monotonic counter overflow has not occurred. 16463 * 0b1..Monotonic counter overflow has occurred and monotonic counter is read as zero. 16464 */ 16465 #define RTC_SR_MOF(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_MOF_SHIFT)) & RTC_SR_MOF_MASK) 16466 #define RTC_SR_TCE_MASK (0x10U) 16467 #define RTC_SR_TCE_SHIFT (4U) 16468 /*! TCE - Time Counter Enable 16469 * 0b0..Time counter is disabled. 16470 * 0b1..Time counter is enabled. 16471 */ 16472 #define RTC_SR_TCE(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_TCE_SHIFT)) & RTC_SR_TCE_MASK) 16473 #define RTC_SR_TIDF_MASK (0x80U) 16474 #define RTC_SR_TIDF_SHIFT (7U) 16475 /*! TIDF - Tamper Interrupt Detect Flag 16476 * 0b0..Tamper interrupt has not asserted. 16477 * 0b1..Tamper interrupt has asserted. 16478 */ 16479 #define RTC_SR_TIDF(x) (((uint32_t)(((uint32_t)(x)) << RTC_SR_TIDF_SHIFT)) & RTC_SR_TIDF_MASK) 16480 /*! @} */ 16481 16482 /*! @name LR - RTC Lock Register */ 16483 /*! @{ */ 16484 #define RTC_LR_TCL_MASK (0x8U) 16485 #define RTC_LR_TCL_SHIFT (3U) 16486 /*! TCL - Time Compensation Lock 16487 * 0b0..Time Compensation Register is locked and writes are ignored. 16488 * 0b1..Time Compensation Register is not locked and writes complete as normal. 16489 */ 16490 #define RTC_LR_TCL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_TCL_SHIFT)) & RTC_LR_TCL_MASK) 16491 #define RTC_LR_CRL_MASK (0x10U) 16492 #define RTC_LR_CRL_SHIFT (4U) 16493 /*! CRL - Control Register Lock 16494 * 0b0..Control Register is locked and writes are ignored. 16495 * 0b1..Control Register is not locked and writes complete as normal. 16496 */ 16497 #define RTC_LR_CRL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_CRL_SHIFT)) & RTC_LR_CRL_MASK) 16498 #define RTC_LR_SRL_MASK (0x20U) 16499 #define RTC_LR_SRL_SHIFT (5U) 16500 /*! SRL - Status Register Lock 16501 * 0b0..Status Register is locked and writes are ignored. 16502 * 0b1..Status Register is not locked and writes complete as normal. 16503 */ 16504 #define RTC_LR_SRL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_SRL_SHIFT)) & RTC_LR_SRL_MASK) 16505 #define RTC_LR_LRL_MASK (0x40U) 16506 #define RTC_LR_LRL_SHIFT (6U) 16507 /*! LRL - Lock Register Lock 16508 * 0b0..Lock Register is locked and writes are ignored. 16509 * 0b1..Lock Register is not locked and writes complete as normal. 16510 */ 16511 #define RTC_LR_LRL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_LRL_SHIFT)) & RTC_LR_LRL_MASK) 16512 #define RTC_LR_TTSL_MASK (0x100U) 16513 #define RTC_LR_TTSL_SHIFT (8U) 16514 /*! TTSL - Tamper Time Seconds Lock 16515 * 0b0..Tamper Time Seconds Register is locked and writes are ignored. 16516 * 0b1..Tamper Time Seconds Register is not locked and writes complete as normal. 16517 */ 16518 #define RTC_LR_TTSL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_TTSL_SHIFT)) & RTC_LR_TTSL_MASK) 16519 #define RTC_LR_MEL_MASK (0x200U) 16520 #define RTC_LR_MEL_SHIFT (9U) 16521 /*! MEL - Monotonic Enable Lock 16522 * 0b0..Monotonic Enable Register is locked and writes are ignored. 16523 * 0b1..Monotonic Enable Register is not locked and writes complete as normal. 16524 */ 16525 #define RTC_LR_MEL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_MEL_SHIFT)) & RTC_LR_MEL_MASK) 16526 #define RTC_LR_MCLL_MASK (0x400U) 16527 #define RTC_LR_MCLL_SHIFT (10U) 16528 /*! MCLL - Monotonic Counter Low Lock 16529 * 0b0..Monotonic Counter Low Register is locked and writes are ignored. 16530 * 0b1..Monotonic Counter Low Register is not locked and writes complete as normal. 16531 */ 16532 #define RTC_LR_MCLL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_MCLL_SHIFT)) & RTC_LR_MCLL_MASK) 16533 #define RTC_LR_MCHL_MASK (0x800U) 16534 #define RTC_LR_MCHL_SHIFT (11U) 16535 /*! MCHL - Monotonic Counter High Lock 16536 * 0b0..Monotonic Counter High Register is locked and writes are ignored. 16537 * 0b1..Monotonic Counter High Register is not locked and writes complete as normal. 16538 */ 16539 #define RTC_LR_MCHL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_MCHL_SHIFT)) & RTC_LR_MCHL_MASK) 16540 #define RTC_LR_TDL_MASK (0x2000U) 16541 #define RTC_LR_TDL_SHIFT (13U) 16542 /*! TDL - Tamper Detect Lock 16543 * 0b0..Tamper Detect Register is locked and writes are ignored. 16544 * 0b1..Tamper Detect Register is not locked and writes complete as normal. 16545 */ 16546 #define RTC_LR_TDL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_TDL_SHIFT)) & RTC_LR_TDL_MASK) 16547 #define RTC_LR_TIL_MASK (0x8000U) 16548 #define RTC_LR_TIL_SHIFT (15U) 16549 /*! TIL - Tamper Interrupt Lock 16550 * 0b0..Tamper Interrupt Register is locked and writes are ignored. 16551 * 0b1..Tamper Interrupt Register is not locked and writes complete as normal. 16552 */ 16553 #define RTC_LR_TIL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_TIL_SHIFT)) & RTC_LR_TIL_MASK) 16554 #define RTC_LR_PCL_MASK (0xF0000U) 16555 #define RTC_LR_PCL_SHIFT (16U) 16556 #define RTC_LR_PCL(x) (((uint32_t)(((uint32_t)(x)) << RTC_LR_PCL_SHIFT)) & RTC_LR_PCL_MASK) 16557 /*! @} */ 16558 16559 /*! @name IER - RTC Interrupt Enable Register */ 16560 /*! @{ */ 16561 #define RTC_IER_TIIE_MASK (0x1U) 16562 #define RTC_IER_TIIE_SHIFT (0U) 16563 /*! TIIE - Time Invalid Interrupt Enable 16564 * 0b0..Time invalid flag does not generate an interrupt. 16565 * 0b1..Time invalid flag does generate an interrupt. 16566 */ 16567 #define RTC_IER_TIIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_TIIE_SHIFT)) & RTC_IER_TIIE_MASK) 16568 #define RTC_IER_TOIE_MASK (0x2U) 16569 #define RTC_IER_TOIE_SHIFT (1U) 16570 /*! TOIE - Time Overflow Interrupt Enable 16571 * 0b0..Time overflow flag does not generate an interrupt. 16572 * 0b1..Time overflow flag does generate an interrupt. 16573 */ 16574 #define RTC_IER_TOIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_TOIE_SHIFT)) & RTC_IER_TOIE_MASK) 16575 #define RTC_IER_TAIE_MASK (0x4U) 16576 #define RTC_IER_TAIE_SHIFT (2U) 16577 /*! TAIE - Time Alarm Interrupt Enable 16578 * 0b0..Time alarm flag does not generate an interrupt. 16579 * 0b1..Time alarm flag does generate an interrupt. 16580 */ 16581 #define RTC_IER_TAIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_TAIE_SHIFT)) & RTC_IER_TAIE_MASK) 16582 #define RTC_IER_MOIE_MASK (0x8U) 16583 #define RTC_IER_MOIE_SHIFT (3U) 16584 /*! MOIE - Monotonic Overflow Interrupt Enable 16585 * 0b0..Monotonic overflow flag does not generate an interrupt. 16586 * 0b1..Monotonic overflow flag does generate an interrupt. 16587 */ 16588 #define RTC_IER_MOIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_MOIE_SHIFT)) & RTC_IER_MOIE_MASK) 16589 #define RTC_IER_TSIE_MASK (0x10U) 16590 #define RTC_IER_TSIE_SHIFT (4U) 16591 /*! TSIE - Time Seconds Interrupt Enable 16592 * 0b0..Seconds interrupt is disabled. 16593 * 0b1..Seconds interrupt is enabled. 16594 */ 16595 #define RTC_IER_TSIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_TSIE_SHIFT)) & RTC_IER_TSIE_MASK) 16596 #define RTC_IER_WPON_MASK (0x80U) 16597 #define RTC_IER_WPON_SHIFT (7U) 16598 /*! WPON - Wakeup Pin On 16599 * 0b0..No effect. 16600 * 0b1..If the RTC_WAKEUP pin is enabled, then the pin will assert. 16601 */ 16602 #define RTC_IER_WPON(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_WPON_SHIFT)) & RTC_IER_WPON_MASK) 16603 #define RTC_IER_TSIC_MASK (0x70000U) 16604 #define RTC_IER_TSIC_SHIFT (16U) 16605 /*! TSIC - Timer Seconds Interrupt Configuration 16606 * 0b000..1 Hz. 16607 * 0b001..2 Hz. 16608 * 0b010..4 Hz. 16609 * 0b011..8 Hz. 16610 * 0b100..16 Hz. 16611 * 0b101..32 Hz. 16612 * 0b110..64 Hz. 16613 * 0b111..128 Hz. 16614 */ 16615 #define RTC_IER_TSIC(x) (((uint32_t)(((uint32_t)(x)) << RTC_IER_TSIC_SHIFT)) & RTC_IER_TSIC_MASK) 16616 /*! @} */ 16617 16618 /*! @name TTSR - RTC Tamper Time Seconds Register */ 16619 /*! @{ */ 16620 #define RTC_TTSR_TTS_MASK (0xFFFFFFFFU) 16621 #define RTC_TTSR_TTS_SHIFT (0U) 16622 #define RTC_TTSR_TTS(x) (((uint32_t)(((uint32_t)(x)) << RTC_TTSR_TTS_SHIFT)) & RTC_TTSR_TTS_MASK) 16623 /*! @} */ 16624 16625 /*! @name MER - RTC Monotonic Enable Register */ 16626 /*! @{ */ 16627 #define RTC_MER_MCE_MASK (0x10U) 16628 #define RTC_MER_MCE_SHIFT (4U) 16629 /*! MCE - Monotonic Counter Enable 16630 * 0b0..Writes to the monotonic counter load the counter with the value written. 16631 * 0b1..Writes to the monotonic counter increment the counter. 16632 */ 16633 #define RTC_MER_MCE(x) (((uint32_t)(((uint32_t)(x)) << RTC_MER_MCE_SHIFT)) & RTC_MER_MCE_MASK) 16634 /*! @} */ 16635 16636 /*! @name MCLR - RTC Monotonic Counter Low Register */ 16637 /*! @{ */ 16638 #define RTC_MCLR_MCL_MASK (0xFFFFFFFFU) 16639 #define RTC_MCLR_MCL_SHIFT (0U) 16640 #define RTC_MCLR_MCL(x) (((uint32_t)(((uint32_t)(x)) << RTC_MCLR_MCL_SHIFT)) & RTC_MCLR_MCL_MASK) 16641 /*! @} */ 16642 16643 /*! @name MCHR - RTC Monotonic Counter High Register */ 16644 /*! @{ */ 16645 #define RTC_MCHR_MCH_MASK (0xFFFFFFFFU) 16646 #define RTC_MCHR_MCH_SHIFT (0U) 16647 #define RTC_MCHR_MCH(x) (((uint32_t)(((uint32_t)(x)) << RTC_MCHR_MCH_SHIFT)) & RTC_MCHR_MCH_MASK) 16648 /*! @} */ 16649 16650 /*! @name TDR - RTC Tamper Detect Register */ 16651 /*! @{ */ 16652 #define RTC_TDR_LCTF_MASK (0x10U) 16653 #define RTC_TDR_LCTF_SHIFT (4U) 16654 /*! LCTF - Loss of Clock Tamper Flag 16655 * 0b0..Tamper not detected. 16656 * 0b1..Loss of Clock tamper detected. 16657 */ 16658 #define RTC_TDR_LCTF(x) (((uint32_t)(((uint32_t)(x)) << RTC_TDR_LCTF_SHIFT)) & RTC_TDR_LCTF_MASK) 16659 #define RTC_TDR_STF_MASK (0x20U) 16660 #define RTC_TDR_STF_SHIFT (5U) 16661 /*! STF - Security Tamper Flag 16662 * 0b0..Tamper not detected. 16663 * 0b1..Security module tamper detected. 16664 */ 16665 #define RTC_TDR_STF(x) (((uint32_t)(((uint32_t)(x)) << RTC_TDR_STF_SHIFT)) & RTC_TDR_STF_MASK) 16666 #define RTC_TDR_FSF_MASK (0x40U) 16667 #define RTC_TDR_FSF_SHIFT (6U) 16668 /*! FSF - Flash Security Flag 16669 * 0b0..Tamper not detected. 16670 * 0b1..Flash security tamper detected. 16671 */ 16672 #define RTC_TDR_FSF(x) (((uint32_t)(((uint32_t)(x)) << RTC_TDR_FSF_SHIFT)) & RTC_TDR_FSF_MASK) 16673 #define RTC_TDR_TMF_MASK (0x80U) 16674 #define RTC_TDR_TMF_SHIFT (7U) 16675 /*! TMF - Test Mode Flag 16676 * 0b0..Tamper not detected. 16677 * 0b1..Test mode tamper detected. 16678 */ 16679 #define RTC_TDR_TMF(x) (((uint32_t)(((uint32_t)(x)) << RTC_TDR_TMF_SHIFT)) & RTC_TDR_TMF_MASK) 16680 #define RTC_TDR_TPF_MASK (0xF0000U) 16681 #define RTC_TDR_TPF_SHIFT (16U) 16682 #define RTC_TDR_TPF(x) (((uint32_t)(((uint32_t)(x)) << RTC_TDR_TPF_SHIFT)) & RTC_TDR_TPF_MASK) 16683 /*! @} */ 16684 16685 /*! @name TIR - RTC Tamper Interrupt Register */ 16686 /*! @{ */ 16687 #define RTC_TIR_LCIE_MASK (0x10U) 16688 #define RTC_TIR_LCIE_SHIFT (4U) 16689 /*! LCIE - Loss of Clock Interrupt Enable 16690 * 0b0..Interupt disabled. 16691 * 0b1..An interrupt is generated when the loss of clock flag is set. 16692 */ 16693 #define RTC_TIR_LCIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_TIR_LCIE_SHIFT)) & RTC_TIR_LCIE_MASK) 16694 #define RTC_TIR_SIE_MASK (0x20U) 16695 #define RTC_TIR_SIE_SHIFT (5U) 16696 /*! SIE - Security Module Interrupt Enable 16697 * 0b0..Interupt disabled. 16698 * 0b1..An interrupt is generated when the security module flag is set. 16699 */ 16700 #define RTC_TIR_SIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_TIR_SIE_SHIFT)) & RTC_TIR_SIE_MASK) 16701 #define RTC_TIR_FSIE_MASK (0x40U) 16702 #define RTC_TIR_FSIE_SHIFT (6U) 16703 /*! FSIE - Flash Security Interrupt Enable 16704 * 0b0..Interupt disabled. 16705 * 0b1..An interrupt is generated when the flash security flag is set. 16706 */ 16707 #define RTC_TIR_FSIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_TIR_FSIE_SHIFT)) & RTC_TIR_FSIE_MASK) 16708 #define RTC_TIR_TMIE_MASK (0x80U) 16709 #define RTC_TIR_TMIE_SHIFT (7U) 16710 /*! TMIE - Test Mode Interrupt Enable 16711 * 0b0..Interupt disabled. 16712 * 0b1..An interrupt is generated when the test mode flag is set. 16713 */ 16714 #define RTC_TIR_TMIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_TIR_TMIE_SHIFT)) & RTC_TIR_TMIE_MASK) 16715 #define RTC_TIR_TPIE_MASK (0xF0000U) 16716 #define RTC_TIR_TPIE_SHIFT (16U) 16717 #define RTC_TIR_TPIE(x) (((uint32_t)(((uint32_t)(x)) << RTC_TIR_TPIE_SHIFT)) & RTC_TIR_TPIE_MASK) 16718 /*! @} */ 16719 16720 /*! @name PCR - RTC Pin Configuration Register */ 16721 /*! @{ */ 16722 #define RTC_PCR_TPE_MASK (0x1000000U) 16723 #define RTC_PCR_TPE_SHIFT (24U) 16724 /*! TPE - Tamper Pull Enable 16725 * 0b0..Pull resistor is disabled on tamper pin. 16726 * 0b1..Pull resistor is enabled on tamper pin. 16727 */ 16728 #define RTC_PCR_TPE(x) (((uint32_t)(((uint32_t)(x)) << RTC_PCR_TPE_SHIFT)) & RTC_PCR_TPE_MASK) 16729 #define RTC_PCR_TPS_MASK (0x2000000U) 16730 #define RTC_PCR_TPS_SHIFT (25U) 16731 /*! TPS - Tamper Pull Select 16732 * 0b0..Tamper pin pull resistor direction will assert the tamper pin. 16733 * 0b1..Tamper pin pull resistor direction will negate the tamper pin. 16734 */ 16735 #define RTC_PCR_TPS(x) (((uint32_t)(((uint32_t)(x)) << RTC_PCR_TPS_SHIFT)) & RTC_PCR_TPS_MASK) 16736 #define RTC_PCR_TFE_MASK (0x4000000U) 16737 #define RTC_PCR_TFE_SHIFT (26U) 16738 /*! TFE - Tamper Filter Enable 16739 * 0b0..Input filter is disabled on the tamper pin. 16740 * 0b1..Input filter is enabled on the tamper pin. 16741 */ 16742 #define RTC_PCR_TFE(x) (((uint32_t)(((uint32_t)(x)) << RTC_PCR_TFE_SHIFT)) & RTC_PCR_TFE_MASK) 16743 #define RTC_PCR_TPP_MASK (0x8000000U) 16744 #define RTC_PCR_TPP_SHIFT (27U) 16745 /*! TPP - Tamper Pin Polarity 16746 * 0b0..Tamper pin is active high. 16747 * 0b1..Tamper pin is active low. 16748 */ 16749 #define RTC_PCR_TPP(x) (((uint32_t)(((uint32_t)(x)) << RTC_PCR_TPP_SHIFT)) & RTC_PCR_TPP_MASK) 16750 #define RTC_PCR_TPID_MASK (0x80000000U) 16751 #define RTC_PCR_TPID_SHIFT (31U) 16752 /*! TPID - Tamper Pin Input Data 16753 * 0b0..Tamper pin input data is logic zero. 16754 * 0b1..Tamper pin input data is logic one. 16755 */ 16756 #define RTC_PCR_TPID(x) (((uint32_t)(((uint32_t)(x)) << RTC_PCR_TPID_SHIFT)) & RTC_PCR_TPID_MASK) 16757 /*! @} */ 16758 16759 /* The count of RTC_PCR */ 16760 #define RTC_PCR_COUNT (4U) 16761 16762 /*! @name WAR - RTC Write Access Register */ 16763 /*! @{ */ 16764 #define RTC_WAR_TSRW_MASK (0x1U) 16765 #define RTC_WAR_TSRW_SHIFT (0U) 16766 /*! TSRW - Time Seconds Register Write 16767 * 0b0..Writes to the Time Seconds Register are ignored. 16768 * 0b1..Writes to the Time Seconds Register complete as normal. 16769 */ 16770 #define RTC_WAR_TSRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TSRW_SHIFT)) & RTC_WAR_TSRW_MASK) 16771 #define RTC_WAR_TPRW_MASK (0x2U) 16772 #define RTC_WAR_TPRW_SHIFT (1U) 16773 /*! TPRW - Time Prescaler Register Write 16774 * 0b0..Writes to the Time Prescaler Register are ignored. 16775 * 0b1..Writes to the Time Prescaler Register complete as normal. 16776 */ 16777 #define RTC_WAR_TPRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TPRW_SHIFT)) & RTC_WAR_TPRW_MASK) 16778 #define RTC_WAR_TARW_MASK (0x4U) 16779 #define RTC_WAR_TARW_SHIFT (2U) 16780 /*! TARW - Time Alarm Register Write 16781 * 0b0..Writes to the Time Alarm Register are ignored. 16782 * 0b1..Writes to the Time Alarm Register complete as normal. 16783 */ 16784 #define RTC_WAR_TARW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TARW_SHIFT)) & RTC_WAR_TARW_MASK) 16785 #define RTC_WAR_TCRW_MASK (0x8U) 16786 #define RTC_WAR_TCRW_SHIFT (3U) 16787 /*! TCRW - Time Compensation Register Write 16788 * 0b0..Writes to the Time Compensation Register are ignored. 16789 * 0b1..Writes to the Time Compensation Register complete as normal. 16790 */ 16791 #define RTC_WAR_TCRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TCRW_SHIFT)) & RTC_WAR_TCRW_MASK) 16792 #define RTC_WAR_CRW_MASK (0x10U) 16793 #define RTC_WAR_CRW_SHIFT (4U) 16794 /*! CRW - Control Register Write 16795 * 0b0..Writes to the Control Register are ignored. 16796 * 0b1..Writes to the Control Register complete as normal. 16797 */ 16798 #define RTC_WAR_CRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_CRW_SHIFT)) & RTC_WAR_CRW_MASK) 16799 #define RTC_WAR_SRW_MASK (0x20U) 16800 #define RTC_WAR_SRW_SHIFT (5U) 16801 /*! SRW - Status Register Write 16802 * 0b0..Writes to the Status Register are ignored. 16803 * 0b1..Writes to the Status Register complete as normal. 16804 */ 16805 #define RTC_WAR_SRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_SRW_SHIFT)) & RTC_WAR_SRW_MASK) 16806 #define RTC_WAR_LRW_MASK (0x40U) 16807 #define RTC_WAR_LRW_SHIFT (6U) 16808 /*! LRW - Lock Register Write 16809 * 0b0..Writes to the Lock Register are ignored. 16810 * 0b1..Writes to the Lock Register complete as normal. 16811 */ 16812 #define RTC_WAR_LRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_LRW_SHIFT)) & RTC_WAR_LRW_MASK) 16813 #define RTC_WAR_IERW_MASK (0x80U) 16814 #define RTC_WAR_IERW_SHIFT (7U) 16815 /*! IERW - Interrupt Enable Register Write 16816 * 0b0..Writes to the Interupt Enable Register are ignored. 16817 * 0b1..Writes to the Interrupt Enable Register complete as normal. 16818 */ 16819 #define RTC_WAR_IERW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_IERW_SHIFT)) & RTC_WAR_IERW_MASK) 16820 #define RTC_WAR_TTSW_MASK (0x100U) 16821 #define RTC_WAR_TTSW_SHIFT (8U) 16822 /*! TTSW - Tamper Time Seconds Write 16823 * 0b0..Writes to the Tamper Time Seconds Register are ignored. 16824 * 0b1..Writes to the Tamper Time Seconds Register complete as normal. 16825 */ 16826 #define RTC_WAR_TTSW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TTSW_SHIFT)) & RTC_WAR_TTSW_MASK) 16827 #define RTC_WAR_MERW_MASK (0x200U) 16828 #define RTC_WAR_MERW_SHIFT (9U) 16829 /*! MERW - Monotonic Enable Register Write 16830 * 0b0..Writes to the Monotonic Enable Register are ignored. 16831 * 0b1..Writes to the Monotonic Enable Register complete as normal. 16832 */ 16833 #define RTC_WAR_MERW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_MERW_SHIFT)) & RTC_WAR_MERW_MASK) 16834 #define RTC_WAR_MCLW_MASK (0x400U) 16835 #define RTC_WAR_MCLW_SHIFT (10U) 16836 /*! MCLW - Monotonic Counter Low Write 16837 * 0b0..Writes to the Monotonic Counter Low Register are ignored. 16838 * 0b1..Writes to the Monotonic Counter Low Register complete as normal. 16839 */ 16840 #define RTC_WAR_MCLW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_MCLW_SHIFT)) & RTC_WAR_MCLW_MASK) 16841 #define RTC_WAR_MCHW_MASK (0x800U) 16842 #define RTC_WAR_MCHW_SHIFT (11U) 16843 /*! MCHW - Monotonic Counter High Write 16844 * 0b0..Writes to the Monotonic Counter High Register are ignored. 16845 * 0b1..Writes to the Monotonic Counter High Register complete as normal. 16846 */ 16847 #define RTC_WAR_MCHW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_MCHW_SHIFT)) & RTC_WAR_MCHW_MASK) 16848 #define RTC_WAR_TDRW_MASK (0x2000U) 16849 #define RTC_WAR_TDRW_SHIFT (13U) 16850 /*! TDRW - Tamper Detect Register Write 16851 * 0b0..Writes to the Tamper Detect Register are ignored. 16852 * 0b1..Writes to the Tamper Detect Register complete as normal. 16853 */ 16854 #define RTC_WAR_TDRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TDRW_SHIFT)) & RTC_WAR_TDRW_MASK) 16855 #define RTC_WAR_TIRW_MASK (0x8000U) 16856 #define RTC_WAR_TIRW_SHIFT (15U) 16857 /*! TIRW - Tamper Interrupt Register Write 16858 * 0b0..Writes to the Tamper Interrupt Register are ignored. 16859 * 0b1..Writes to the Tamper Interrupt Register complete as normal. 16860 */ 16861 #define RTC_WAR_TIRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_TIRW_SHIFT)) & RTC_WAR_TIRW_MASK) 16862 #define RTC_WAR_PCRW_MASK (0xF0000U) 16863 #define RTC_WAR_PCRW_SHIFT (16U) 16864 #define RTC_WAR_PCRW(x) (((uint32_t)(((uint32_t)(x)) << RTC_WAR_PCRW_SHIFT)) & RTC_WAR_PCRW_MASK) 16865 /*! @} */ 16866 16867 /*! @name RAR - RTC Read Access Register */ 16868 /*! @{ */ 16869 #define RTC_RAR_TSRR_MASK (0x1U) 16870 #define RTC_RAR_TSRR_SHIFT (0U) 16871 /*! TSRR - Time Seconds Register Read 16872 * 0b0..Reads to the Time Seconds Register are ignored. 16873 * 0b1..Reads to the Time Seconds Register complete as normal. 16874 */ 16875 #define RTC_RAR_TSRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TSRR_SHIFT)) & RTC_RAR_TSRR_MASK) 16876 #define RTC_RAR_TPRR_MASK (0x2U) 16877 #define RTC_RAR_TPRR_SHIFT (1U) 16878 /*! TPRR - Time Prescaler Register Read 16879 * 0b0..Reads to the Time Pprescaler Register are ignored. 16880 * 0b1..Reads to the Time Prescaler Register complete as normal. 16881 */ 16882 #define RTC_RAR_TPRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TPRR_SHIFT)) & RTC_RAR_TPRR_MASK) 16883 #define RTC_RAR_TARR_MASK (0x4U) 16884 #define RTC_RAR_TARR_SHIFT (2U) 16885 /*! TARR - Time Alarm Register Read 16886 * 0b0..Reads to the Time Alarm Register are ignored. 16887 * 0b1..Reads to the Time Alarm Register complete as normal. 16888 */ 16889 #define RTC_RAR_TARR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TARR_SHIFT)) & RTC_RAR_TARR_MASK) 16890 #define RTC_RAR_TCRR_MASK (0x8U) 16891 #define RTC_RAR_TCRR_SHIFT (3U) 16892 /*! TCRR - Time Compensation Register Read 16893 * 0b0..Reads to the Time Compensation Register are ignored. 16894 * 0b1..Reads to the Time Compensation Register complete as normal. 16895 */ 16896 #define RTC_RAR_TCRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TCRR_SHIFT)) & RTC_RAR_TCRR_MASK) 16897 #define RTC_RAR_CRR_MASK (0x10U) 16898 #define RTC_RAR_CRR_SHIFT (4U) 16899 /*! CRR - Control Register Read 16900 * 0b0..Reads to the Control Register are ignored. 16901 * 0b1..Reads to the Control Register complete as normal. 16902 */ 16903 #define RTC_RAR_CRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_CRR_SHIFT)) & RTC_RAR_CRR_MASK) 16904 #define RTC_RAR_SRR_MASK (0x20U) 16905 #define RTC_RAR_SRR_SHIFT (5U) 16906 /*! SRR - Status Register Read 16907 * 0b0..Reads to the Status Register are ignored. 16908 * 0b1..Reads to the Status Register complete as normal. 16909 */ 16910 #define RTC_RAR_SRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_SRR_SHIFT)) & RTC_RAR_SRR_MASK) 16911 #define RTC_RAR_LRR_MASK (0x40U) 16912 #define RTC_RAR_LRR_SHIFT (6U) 16913 /*! LRR - Lock Register Read 16914 * 0b0..Reads to the Lock Register are ignored. 16915 * 0b1..Reads to the Lock Register complete as normal. 16916 */ 16917 #define RTC_RAR_LRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_LRR_SHIFT)) & RTC_RAR_LRR_MASK) 16918 #define RTC_RAR_IERR_MASK (0x80U) 16919 #define RTC_RAR_IERR_SHIFT (7U) 16920 /*! IERR - Interrupt Enable Register Read 16921 * 0b0..Reads to the Interrupt Enable Register are ignored. 16922 * 0b1..Reads to the Interrupt Enable Register complete as normal. 16923 */ 16924 #define RTC_RAR_IERR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_IERR_SHIFT)) & RTC_RAR_IERR_MASK) 16925 #define RTC_RAR_TTSR_MASK (0x100U) 16926 #define RTC_RAR_TTSR_SHIFT (8U) 16927 /*! TTSR - Tamper Time Seconds Read 16928 * 0b0..Reads to the Tamper Time Seconds Register are ignored. 16929 * 0b1..Reads to the Tamper Time Seconds Register complete as normal. 16930 */ 16931 #define RTC_RAR_TTSR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TTSR_SHIFT)) & RTC_RAR_TTSR_MASK) 16932 #define RTC_RAR_MERR_MASK (0x200U) 16933 #define RTC_RAR_MERR_SHIFT (9U) 16934 /*! MERR - Monotonic Enable Register Read 16935 * 0b0..Reads to the Monotonic Enable Register are ignored. 16936 * 0b1..Reads to the Monotonic Enable Register complete as normal. 16937 */ 16938 #define RTC_RAR_MERR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_MERR_SHIFT)) & RTC_RAR_MERR_MASK) 16939 #define RTC_RAR_MCLR_MASK (0x400U) 16940 #define RTC_RAR_MCLR_SHIFT (10U) 16941 /*! MCLR - Monotonic Counter Low Read 16942 * 0b0..Reads to the Monotonic Counter Low Register are ignored. 16943 * 0b1..Reads to the Monotonic Counter Low Register complete as normal. 16944 */ 16945 #define RTC_RAR_MCLR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_MCLR_SHIFT)) & RTC_RAR_MCLR_MASK) 16946 #define RTC_RAR_MCHR_MASK (0x800U) 16947 #define RTC_RAR_MCHR_SHIFT (11U) 16948 /*! MCHR - Monotonic Counter High Read 16949 * 0b0..Reads to the Monotonic Counter High Register are ignored. 16950 * 0b1..Reads to the Monotonic Counter High Register complete as normal. 16951 */ 16952 #define RTC_RAR_MCHR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_MCHR_SHIFT)) & RTC_RAR_MCHR_MASK) 16953 #define RTC_RAR_TDRR_MASK (0x2000U) 16954 #define RTC_RAR_TDRR_SHIFT (13U) 16955 /*! TDRR - Tamper Detect Register Read 16956 * 0b0..Reads to the Tamper Detect Register are ignored. 16957 * 0b1..Reads to the Tamper Detect Register complete as normal. 16958 */ 16959 #define RTC_RAR_TDRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TDRR_SHIFT)) & RTC_RAR_TDRR_MASK) 16960 #define RTC_RAR_TIRR_MASK (0x8000U) 16961 #define RTC_RAR_TIRR_SHIFT (15U) 16962 /*! TIRR - Tamper Interrupt Register Read 16963 * 0b0..Reads to the Tamper Interrupt Register are ignored. 16964 * 0b1..Reads to the Tamper Interrupt Register complete as normal. 16965 */ 16966 #define RTC_RAR_TIRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_TIRR_SHIFT)) & RTC_RAR_TIRR_MASK) 16967 #define RTC_RAR_PCRR_MASK (0xF0000U) 16968 #define RTC_RAR_PCRR_SHIFT (16U) 16969 #define RTC_RAR_PCRR(x) (((uint32_t)(((uint32_t)(x)) << RTC_RAR_PCRR_SHIFT)) & RTC_RAR_PCRR_MASK) 16970 /*! @} */ 16971 16972 16973 /*! 16974 * @} 16975 */ /* end of group RTC_Register_Masks */ 16976 16977 16978 /* RTC - Peripheral instance base addresses */ 16979 /** Peripheral RTC base address */ 16980 #define RTC_BASE (0x40031000u) 16981 /** Peripheral RTC base pointer */ 16982 #define RTC ((RTC_Type *)RTC_BASE) 16983 /** Array initializer of RTC peripheral base addresses */ 16984 #define RTC_BASE_ADDRS { RTC_BASE } 16985 /** Array initializer of RTC peripheral base pointers */ 16986 #define RTC_BASE_PTRS { RTC } 16987 /** Interrupt vectors for the RTC peripheral type */ 16988 #define RTC_IRQS { RTC_IRQn } 16989 16990 /*! 16991 * @} 16992 */ /* end of group RTC_Peripheral_Access_Layer */ 16993 16994 16995 /* ---------------------------------------------------------------------------- 16996 -- SCG Peripheral Access Layer 16997 ---------------------------------------------------------------------------- */ 16998 16999 /*! 17000 * @addtogroup SCG_Peripheral_Access_Layer SCG Peripheral Access Layer 17001 * @{ 17002 */ 17003 17004 /** SCG - Register Layout Typedef */ 17005 typedef struct { 17006 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 17007 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 17008 uint8_t RESERVED_0[8]; 17009 __I uint32_t CSR; /**< Clock Status Register, offset: 0x10 */ 17010 __IO uint32_t RCCR; /**< Run Clock Control Register, offset: 0x14 */ 17011 __IO uint32_t VCCR; /**< VLPR Clock Control Register, offset: 0x18 */ 17012 __IO uint32_t HCCR; /**< HSRUN Clock Control Register, offset: 0x1C */ 17013 __IO uint32_t CLKOUTCNFG; /**< SCG CLKOUT Configuration Register, offset: 0x20 */ 17014 uint8_t RESERVED_1[220]; 17015 __IO uint32_t SOSCCSR; /**< System OSC Control Status Register, offset: 0x100 */ 17016 __IO uint32_t SOSCDIV; /**< System OSC Divide Register, offset: 0x104 */ 17017 uint8_t RESERVED_2[248]; 17018 __IO uint32_t SIRCCSR; /**< Slow IRC Control Status Register, offset: 0x200 */ 17019 __IO uint32_t SIRCDIV; /**< Slow IRC Divide Register, offset: 0x204 */ 17020 __IO uint32_t SIRCCFG; /**< Slow IRC Configuration Register, offset: 0x208 */ 17021 uint8_t RESERVED_3[244]; 17022 __IO uint32_t FIRCCSR; /**< Fast IRC Control Status Register, offset: 0x300 */ 17023 __IO uint32_t FIRCDIV; /**< Fast IRC Divide Register, offset: 0x304 */ 17024 __IO uint32_t FIRCCFG; /**< Fast IRC Configuration Register, offset: 0x308 */ 17025 __IO uint32_t FIRCTCFG; /**< Fast IRC Trim Configuration Register, offset: 0x30C */ 17026 uint8_t RESERVED_4[8]; 17027 __IO uint32_t FIRCSTAT; /**< Fast IRC Status Register, offset: 0x318 */ 17028 uint8_t RESERVED_5[228]; 17029 __IO uint32_t ROSCCSR; /**< RTC OSC Control Status Register, offset: 0x400 */ 17030 uint8_t RESERVED_6[252]; 17031 __IO uint32_t LPFLLCSR; /**< Low Power FLL Control Status Register, offset: 0x500 */ 17032 __IO uint32_t LPFLLDIV; /**< Low Power FLL Divide Register, offset: 0x504 */ 17033 __IO uint32_t LPFLLCFG; /**< Low Power FLL Configuration Register, offset: 0x508 */ 17034 __IO uint32_t LPFLLTCFG; /**< Low Power FLL Trim Configuration Register, offset: 0x50C */ 17035 uint8_t RESERVED_7[4]; 17036 __IO uint32_t LPFLLSTAT; /**< Low Power FLL Status Register, offset: 0x514 */ 17037 } SCG_Type; 17038 17039 /* ---------------------------------------------------------------------------- 17040 -- SCG Register Masks 17041 ---------------------------------------------------------------------------- */ 17042 17043 /*! 17044 * @addtogroup SCG_Register_Masks SCG Register Masks 17045 * @{ 17046 */ 17047 17048 /*! @name VERID - Version ID Register */ 17049 /*! @{ */ 17050 #define SCG_VERID_VERSION_MASK (0xFFFFFFFFU) 17051 #define SCG_VERID_VERSION_SHIFT (0U) 17052 #define SCG_VERID_VERSION(x) (((uint32_t)(((uint32_t)(x)) << SCG_VERID_VERSION_SHIFT)) & SCG_VERID_VERSION_MASK) 17053 /*! @} */ 17054 17055 /*! @name PARAM - Parameter Register */ 17056 /*! @{ */ 17057 #define SCG_PARAM_CLKPRES_MASK (0xFFU) 17058 #define SCG_PARAM_CLKPRES_SHIFT (0U) 17059 /*! CLKPRES - Clock Present 17060 * 0b00000000-0b00000001..Reserved. 17061 * 0bxxxxxx1x..System OSC (SOSC) is present. 17062 * 0bxxxxx1xx..Slow IRC (SIRC) is present. 17063 * 0bxxxx1xxx..Fast IRC (FIRC) is present. 17064 * 0bxxx1xxxx..RTC OSC (ROSC) is present. 17065 * 0bxx1xxxxx..Low Power FLL (LPFLL) is present. 17066 */ 17067 #define SCG_PARAM_CLKPRES(x) (((uint32_t)(((uint32_t)(x)) << SCG_PARAM_CLKPRES_SHIFT)) & SCG_PARAM_CLKPRES_MASK) 17068 #define SCG_PARAM_DIVPRES_MASK (0xF8000000U) 17069 #define SCG_PARAM_DIVPRES_SHIFT (27U) 17070 /*! DIVPRES - Divider Present 17071 * 0bxxxx1..System DIVSLOW is present. 17072 * 0bxxx1x..System DIVBUS is present. 17073 * 0bxx1xx..System DIVEXT is present. 17074 * 0b1xxxx..System DIVCORE is present. 17075 */ 17076 #define SCG_PARAM_DIVPRES(x) (((uint32_t)(((uint32_t)(x)) << SCG_PARAM_DIVPRES_SHIFT)) & SCG_PARAM_DIVPRES_MASK) 17077 /*! @} */ 17078 17079 /*! @name CSR - Clock Status Register */ 17080 /*! @{ */ 17081 #define SCG_CSR_DIVSLOW_MASK (0xFU) 17082 #define SCG_CSR_DIVSLOW_SHIFT (0U) 17083 /*! DIVSLOW - Slow Clock Divide Ratio 17084 * 0b0000..Reserved 17085 * 0b0001..Divide-by-2 17086 * 0b0010..Divide-by-3 17087 * 0b0011..Divide-by-4 17088 * 0b0100..Divide-by-5 17089 * 0b0101..Divide-by-6 17090 * 0b0110..Divide-by-7 17091 * 0b0111..Divide-by-8 17092 * 0b1000..Divide-by-9 17093 * 0b1001..Divide-by-10 17094 * 0b1010..Divide-by-11 17095 * 0b1011..Divide-by-12 17096 * 0b1100..Divide-by-13 17097 * 0b1101..Divide-by-14 17098 * 0b1110..Divide-by-15 17099 * 0b1111..Divide-by-16 17100 */ 17101 #define SCG_CSR_DIVSLOW(x) (((uint32_t)(((uint32_t)(x)) << SCG_CSR_DIVSLOW_SHIFT)) & SCG_CSR_DIVSLOW_MASK) 17102 #define SCG_CSR_DIVBUS_MASK (0xF0U) 17103 #define SCG_CSR_DIVBUS_SHIFT (4U) 17104 /*! DIVBUS - Bus Clock Divide Ratio 17105 * 0b0000..Divide-by-1 17106 * 0b0001..Divide-by-2 17107 * 0b0010..Divide-by-3 17108 * 0b0011..Divide-by-4 17109 * 0b0100..Divide-by-5 17110 * 0b0101..Divide-by-6 17111 * 0b0110..Divide-by-7 17112 * 0b0111..Divide-by-8 17113 * 0b1000..Divide-by-9 17114 * 0b1001..Divide-by-10 17115 * 0b1010..Divide-by-11 17116 * 0b1011..Divide-by-12 17117 * 0b1100..Divide-by-13 17118 * 0b1101..Divide-by-14 17119 * 0b1110..Divide-by-15 17120 * 0b1111..Divide-by-16 17121 */ 17122 #define SCG_CSR_DIVBUS(x) (((uint32_t)(((uint32_t)(x)) << SCG_CSR_DIVBUS_SHIFT)) & SCG_CSR_DIVBUS_MASK) 17123 #define SCG_CSR_DIVEXT_MASK (0xF00U) 17124 #define SCG_CSR_DIVEXT_SHIFT (8U) 17125 /*! DIVEXT - External Clock Divide Ratio 17126 * 0b0000..Divide-by-1 17127 * 0b0001..Divide-by-2 17128 * 0b0010..Divide-by-3 17129 * 0b0011..Divide-by-4 17130 * 0b0100..Divide-by-5 17131 * 0b0101..Divide-by-6 17132 * 0b0110..Divide-by-7 17133 * 0b0111..Divide-by-8 17134 * 0b1000..Divide-by-9 17135 * 0b1001..Divide-by-10 17136 * 0b1010..Divide-by-11 17137 * 0b1011..Divide-by-12 17138 * 0b1100..Divide-by-13 17139 * 0b1101..Divide-by-14 17140 * 0b1110..Divide-by-15 17141 * 0b1111..Divide-by-16 17142 */ 17143 #define SCG_CSR_DIVEXT(x) (((uint32_t)(((uint32_t)(x)) << SCG_CSR_DIVEXT_SHIFT)) & SCG_CSR_DIVEXT_MASK) 17144 #define SCG_CSR_DIVCORE_MASK (0xF0000U) 17145 #define SCG_CSR_DIVCORE_SHIFT (16U) 17146 /*! DIVCORE - Core Clock Divide Ratio 17147 * 0b0000..Divide-by-1 17148 * 0b0001..Divide-by-2 17149 * 0b0010..Divide-by-3 17150 * 0b0011..Divide-by-4 17151 * 0b0100..Divide-by-5 17152 * 0b0101..Divide-by-6 17153 * 0b0110..Divide-by-7 17154 * 0b0111..Divide-by-8 17155 * 0b1000..Divide-by-9 17156 * 0b1001..Divide-by-10 17157 * 0b1010..Divide-by-11 17158 * 0b1011..Divide-by-12 17159 * 0b1100..Divide-by-13 17160 * 0b1101..Divide-by-14 17161 * 0b1110..Divide-by-15 17162 * 0b1111..Divide-by-16 17163 */ 17164 #define SCG_CSR_DIVCORE(x) (((uint32_t)(((uint32_t)(x)) << SCG_CSR_DIVCORE_SHIFT)) & SCG_CSR_DIVCORE_MASK) 17165 #define SCG_CSR_SCS_MASK (0xF000000U) 17166 #define SCG_CSR_SCS_SHIFT (24U) 17167 /*! SCS - System Clock Source 17168 * 0b0000..Reserved 17169 * 0b0001..System OSC (SOSC_CLK) 17170 * 0b0010..Slow IRC (SIRC_CLK) 17171 * 0b0011..Fast IRC (FIRC_CLK) 17172 * 0b0100..RTC OSC (ROSC_CLK) 17173 * 0b0101..Low Power FLL (LPFLL_CLK) 17174 * 0b0110..Reserved 17175 * 0b0111..Reserved 17176 */ 17177 #define SCG_CSR_SCS(x) (((uint32_t)(((uint32_t)(x)) << SCG_CSR_SCS_SHIFT)) & SCG_CSR_SCS_MASK) 17178 /*! @} */ 17179 17180 /*! @name RCCR - Run Clock Control Register */ 17181 /*! @{ */ 17182 #define SCG_RCCR_DIVSLOW_MASK (0xFU) 17183 #define SCG_RCCR_DIVSLOW_SHIFT (0U) 17184 /*! DIVSLOW - Slow Clock Divide Ratio 17185 * 0b0000..Reserved 17186 * 0b0001..Divide-by-2 17187 * 0b0010..Divide-by-3 17188 * 0b0011..Divide-by-4 17189 * 0b0100..Divide-by-5 17190 * 0b0101..Divide-by-6 17191 * 0b0110..Divide-by-7 17192 * 0b0111..Divide-by-8 17193 * 0b1000..Divide-by-9 17194 * 0b1001..Divide-by-10 17195 * 0b1010..Divide-by-11 17196 * 0b1011..Divide-by-12 17197 * 0b1100..Divide-by-13 17198 * 0b1101..Divide-by-14 17199 * 0b1110..Divide-by-15 17200 * 0b1111..Divide-by-16 17201 */ 17202 #define SCG_RCCR_DIVSLOW(x) (((uint32_t)(((uint32_t)(x)) << SCG_RCCR_DIVSLOW_SHIFT)) & SCG_RCCR_DIVSLOW_MASK) 17203 #define SCG_RCCR_DIVBUS_MASK (0xF0U) 17204 #define SCG_RCCR_DIVBUS_SHIFT (4U) 17205 /*! DIVBUS - Bus Clock Divide Ratio 17206 * 0b0000..Divide-by-1 17207 * 0b0001..Divide-by-2 17208 * 0b0010..Divide-by-3 17209 * 0b0011..Divide-by-4 17210 * 0b0100..Divide-by-5 17211 * 0b0101..Divide-by-6 17212 * 0b0110..Divide-by-7 17213 * 0b0111..Divide-by-8 17214 * 0b1000..Divide-by-9 17215 * 0b1001..Divide-by-10 17216 * 0b1010..Divide-by-11 17217 * 0b1011..Divide-by-12 17218 * 0b1100..Divide-by-13 17219 * 0b1101..Divide-by-14 17220 * 0b1110..Divide-by-15 17221 * 0b1111..Divide-by-16 17222 */ 17223 #define SCG_RCCR_DIVBUS(x) (((uint32_t)(((uint32_t)(x)) << SCG_RCCR_DIVBUS_SHIFT)) & SCG_RCCR_DIVBUS_MASK) 17224 #define SCG_RCCR_DIVEXT_MASK (0xF00U) 17225 #define SCG_RCCR_DIVEXT_SHIFT (8U) 17226 /*! DIVEXT - External Clock Divide Ratio 17227 * 0b0000..Divide-by-1 17228 * 0b0001..Divide-by-2 17229 * 0b0010..Divide-by-3 17230 * 0b0011..Divide-by-4 17231 * 0b0100..Divide-by-5 17232 * 0b0101..Divide-by-6 17233 * 0b0110..Divide-by-7 17234 * 0b0111..Divide-by-8 17235 * 0b1000..Divide-by-9 17236 * 0b1001..Divide-by-10 17237 * 0b1010..Divide-by-11 17238 * 0b1011..Divide-by-12 17239 * 0b1100..Divide-by-13 17240 * 0b1101..Divide-by-14 17241 * 0b1110..Divide-by-15 17242 * 0b1111..Divide-by-16 17243 */ 17244 #define SCG_RCCR_DIVEXT(x) (((uint32_t)(((uint32_t)(x)) << SCG_RCCR_DIVEXT_SHIFT)) & SCG_RCCR_DIVEXT_MASK) 17245 #define SCG_RCCR_DIVCORE_MASK (0xF0000U) 17246 #define SCG_RCCR_DIVCORE_SHIFT (16U) 17247 /*! DIVCORE - Core Clock Divide Ratio 17248 * 0b0000..Divide-by-1 17249 * 0b0001..Divide-by-2 17250 * 0b0010..Divide-by-3 17251 * 0b0011..Divide-by-4 17252 * 0b0100..Divide-by-5 17253 * 0b0101..Divide-by-6 17254 * 0b0110..Divide-by-7 17255 * 0b0111..Divide-by-8 17256 * 0b1000..Divide-by-9 17257 * 0b1001..Divide-by-10 17258 * 0b1010..Divide-by-11 17259 * 0b1011..Divide-by-12 17260 * 0b1100..Divide-by-13 17261 * 0b1101..Divide-by-14 17262 * 0b1110..Divide-by-15 17263 * 0b1111..Divide-by-16 17264 */ 17265 #define SCG_RCCR_DIVCORE(x) (((uint32_t)(((uint32_t)(x)) << SCG_RCCR_DIVCORE_SHIFT)) & SCG_RCCR_DIVCORE_MASK) 17266 #define SCG_RCCR_SCS_MASK (0x7000000U) 17267 #define SCG_RCCR_SCS_SHIFT (24U) 17268 /*! SCS - System Clock Source 17269 * 0b000..Reserved 17270 * 0b001..System OSC (SOSC_CLK) 17271 * 0b010..Slow IRC (SIRC_CLK) 17272 * 0b011..Fast IRC (FIRC_CLK) 17273 * 0b100..RTC OSC (ROSC_CLK) 17274 * 0b101..Low Power FLL (LPFLL_CLK) 17275 * 0b110..Reserved 17276 * 0b111..Reserved 17277 */ 17278 #define SCG_RCCR_SCS(x) (((uint32_t)(((uint32_t)(x)) << SCG_RCCR_SCS_SHIFT)) & SCG_RCCR_SCS_MASK) 17279 /*! @} */ 17280 17281 /*! @name VCCR - VLPR Clock Control Register */ 17282 /*! @{ */ 17283 #define SCG_VCCR_DIVSLOW_MASK (0xFU) 17284 #define SCG_VCCR_DIVSLOW_SHIFT (0U) 17285 /*! DIVSLOW - Slow Clock Divide Ratio 17286 * 0b0000..Reserved 17287 * 0b0001..Divide-by-2 17288 * 0b0010..Divide-by-3 17289 * 0b0011..Divide-by-4 17290 * 0b0100..Divide-by-5 17291 * 0b0101..Divide-by-6 17292 * 0b0110..Divide-by-7 17293 * 0b0111..Divide-by-8 17294 * 0b1000..Divide-by-9 17295 * 0b1001..Divide-by-10 17296 * 0b1010..Divide-by-11 17297 * 0b1011..Divide-by-12 17298 * 0b1100..Divide-by-13 17299 * 0b1101..Divide-by-14 17300 * 0b1110..Divide-by-15 17301 * 0b1111..Divide-by-16 17302 */ 17303 #define SCG_VCCR_DIVSLOW(x) (((uint32_t)(((uint32_t)(x)) << SCG_VCCR_DIVSLOW_SHIFT)) & SCG_VCCR_DIVSLOW_MASK) 17304 #define SCG_VCCR_DIVBUS_MASK (0xF0U) 17305 #define SCG_VCCR_DIVBUS_SHIFT (4U) 17306 /*! DIVBUS - Bus Clock Divide Ratio 17307 * 0b0000..Divide-by-1 17308 * 0b0001..Divide-by-2 17309 * 0b0010..Divide-by-3 17310 * 0b0011..Divide-by-4 17311 * 0b0100..Divide-by-5 17312 * 0b0101..Divide-by-6 17313 * 0b0110..Divide-by-7 17314 * 0b0111..Divide-by-8 17315 * 0b1000..Divide-by-9 17316 * 0b1001..Divide-by-10 17317 * 0b1010..Divide-by-11 17318 * 0b1011..Divide-by-12 17319 * 0b1100..Divide-by-13 17320 * 0b1101..Divide-by-14 17321 * 0b1110..Divide-by-15 17322 * 0b1111..Divide-by-16 17323 */ 17324 #define SCG_VCCR_DIVBUS(x) (((uint32_t)(((uint32_t)(x)) << SCG_VCCR_DIVBUS_SHIFT)) & SCG_VCCR_DIVBUS_MASK) 17325 #define SCG_VCCR_DIVEXT_MASK (0xF00U) 17326 #define SCG_VCCR_DIVEXT_SHIFT (8U) 17327 /*! DIVEXT - External Clock Divide Ratio 17328 * 0b0000..Divide-by-1 17329 * 0b0001..Divide-by-2 17330 * 0b0010..Divide-by-3 17331 * 0b0011..Divide-by-4 17332 * 0b0100..Divide-by-5 17333 * 0b0101..Divide-by-6 17334 * 0b0110..Divide-by-7 17335 * 0b0111..Divide-by-8 17336 * 0b1000..Divide-by-9 17337 * 0b1001..Divide-by-10 17338 * 0b1010..Divide-by-11 17339 * 0b1011..Divide-by-12 17340 * 0b1100..Divide-by-13 17341 * 0b1101..Divide-by-14 17342 * 0b1110..Divide-by-15 17343 * 0b1111..Divide-by-16 17344 */ 17345 #define SCG_VCCR_DIVEXT(x) (((uint32_t)(((uint32_t)(x)) << SCG_VCCR_DIVEXT_SHIFT)) & SCG_VCCR_DIVEXT_MASK) 17346 #define SCG_VCCR_DIVCORE_MASK (0xF0000U) 17347 #define SCG_VCCR_DIVCORE_SHIFT (16U) 17348 /*! DIVCORE - Core Clock Divide Ratio 17349 * 0b0000..Divide-by-1 17350 * 0b0001..Divide-by-2 17351 * 0b0010..Divide-by-3 17352 * 0b0011..Divide-by-4 17353 * 0b0100..Divide-by-5 17354 * 0b0101..Divide-by-6 17355 * 0b0110..Divide-by-7 17356 * 0b0111..Divide-by-8 17357 * 0b1000..Divide-by-9 17358 * 0b1001..Divide-by-10 17359 * 0b1010..Divide-by-11 17360 * 0b1011..Divide-by-12 17361 * 0b1100..Divide-by-13 17362 * 0b1101..Divide-by-14 17363 * 0b1110..Divide-by-15 17364 * 0b1111..Divide-by-16 17365 */ 17366 #define SCG_VCCR_DIVCORE(x) (((uint32_t)(((uint32_t)(x)) << SCG_VCCR_DIVCORE_SHIFT)) & SCG_VCCR_DIVCORE_MASK) 17367 #define SCG_VCCR_SCS_MASK (0xF000000U) 17368 #define SCG_VCCR_SCS_SHIFT (24U) 17369 /*! SCS - System Clock Source 17370 * 0b0000..Reserved 17371 * 0b0001..System OSC (SOSC_CLK) 17372 * 0b0010..Slow IRC (SIRC_CLK) 17373 * 0b0011..Reserved 17374 * 0b0100..RTC OSC (ROSC_CLK) 17375 * 0b0101..Reserved 17376 * 0b0110..Reserved 17377 * 0b0111..Reserved 17378 */ 17379 #define SCG_VCCR_SCS(x) (((uint32_t)(((uint32_t)(x)) << SCG_VCCR_SCS_SHIFT)) & SCG_VCCR_SCS_MASK) 17380 /*! @} */ 17381 17382 /*! @name HCCR - HSRUN Clock Control Register */ 17383 /*! @{ */ 17384 #define SCG_HCCR_DIVSLOW_MASK (0xFU) 17385 #define SCG_HCCR_DIVSLOW_SHIFT (0U) 17386 /*! DIVSLOW - Slow Clock Divide Ratio 17387 * 0b0000..Reserved 17388 * 0b0001..Divide-by-2 17389 * 0b0010..Divide-by-3 17390 * 0b0011..Divide-by-4 17391 * 0b0100..Divide-by-5 17392 * 0b0101..Divide-by-6 17393 * 0b0110..Divide-by-7 17394 * 0b0111..Divide-by-8 17395 * 0b1000..Divide-by-9 17396 * 0b1001..Divide-by-10 17397 * 0b1010..Divide-by-11 17398 * 0b1011..Divide-by-12 17399 * 0b1100..Divide-by-13 17400 * 0b1101..Divide-by-14 17401 * 0b1110..Divide-by-15 17402 * 0b1111..Divide-by-16 17403 */ 17404 #define SCG_HCCR_DIVSLOW(x) (((uint32_t)(((uint32_t)(x)) << SCG_HCCR_DIVSLOW_SHIFT)) & SCG_HCCR_DIVSLOW_MASK) 17405 #define SCG_HCCR_DIVBUS_MASK (0xF0U) 17406 #define SCG_HCCR_DIVBUS_SHIFT (4U) 17407 /*! DIVBUS - Bus Clock Divide Ratio 17408 * 0b0000..Divide-by-1 17409 * 0b0001..Divide-by-2 17410 * 0b0010..Divide-by-3 17411 * 0b0011..Divide-by-4 17412 * 0b0100..Divide-by-5 17413 * 0b0101..Divide-by-6 17414 * 0b0110..Divide-by-7 17415 * 0b0111..Divide-by-8 17416 * 0b1000..Divide-by-9 17417 * 0b1001..Divide-by-10 17418 * 0b1010..Divide-by-11 17419 * 0b1011..Divide-by-12 17420 * 0b1100..Divide-by-13 17421 * 0b1101..Divide-by-14 17422 * 0b1110..Divide-by-15 17423 * 0b1111..Divide-by-16 17424 */ 17425 #define SCG_HCCR_DIVBUS(x) (((uint32_t)(((uint32_t)(x)) << SCG_HCCR_DIVBUS_SHIFT)) & SCG_HCCR_DIVBUS_MASK) 17426 #define SCG_HCCR_DIVEXT_MASK (0xF00U) 17427 #define SCG_HCCR_DIVEXT_SHIFT (8U) 17428 /*! DIVEXT - External Clock Divide Ratio 17429 * 0b0000..Divide-by-1 17430 * 0b0001..Divide-by-2 17431 * 0b0010..Divide-by-3 17432 * 0b0011..Divide-by-4 17433 * 0b0100..Divide-by-5 17434 * 0b0101..Divide-by-6 17435 * 0b0110..Divide-by-7 17436 * 0b0111..Divide-by-8 17437 * 0b1000..Divide-by-9 17438 * 0b1001..Divide-by-10 17439 * 0b1010..Divide-by-11 17440 * 0b1011..Divide-by-12 17441 * 0b1100..Divide-by-13 17442 * 0b1101..Divide-by-14 17443 * 0b1110..Divide-by-15 17444 * 0b1111..Divide-by-16 17445 */ 17446 #define SCG_HCCR_DIVEXT(x) (((uint32_t)(((uint32_t)(x)) << SCG_HCCR_DIVEXT_SHIFT)) & SCG_HCCR_DIVEXT_MASK) 17447 #define SCG_HCCR_DIVCORE_MASK (0xF0000U) 17448 #define SCG_HCCR_DIVCORE_SHIFT (16U) 17449 /*! DIVCORE - Core Clock Divide Ratio 17450 * 0b0000..Divide-by-1 17451 * 0b0001..Divide-by-2 17452 * 0b0010..Divide-by-3 17453 * 0b0011..Divide-by-4 17454 * 0b0100..Divide-by-5 17455 * 0b0101..Divide-by-6 17456 * 0b0110..Divide-by-7 17457 * 0b0111..Divide-by-8 17458 * 0b1000..Divide-by-9 17459 * 0b1001..Divide-by-10 17460 * 0b1010..Divide-by-11 17461 * 0b1011..Divide-by-12 17462 * 0b1100..Divide-by-13 17463 * 0b1101..Divide-by-14 17464 * 0b1110..Divide-by-15 17465 * 0b1111..Divide-by-16 17466 */ 17467 #define SCG_HCCR_DIVCORE(x) (((uint32_t)(((uint32_t)(x)) << SCG_HCCR_DIVCORE_SHIFT)) & SCG_HCCR_DIVCORE_MASK) 17468 #define SCG_HCCR_SCS_MASK (0xF000000U) 17469 #define SCG_HCCR_SCS_SHIFT (24U) 17470 /*! SCS - System Clock Source 17471 * 0b0000..Reserved 17472 * 0b0001..System OSC (SOSC_CLK) 17473 * 0b0010..Slow IRC (SIRC_CLK) 17474 * 0b0011..Fast IRC (FIRC_CLK) 17475 * 0b0100..RTC OSC (ROSC_CLK) 17476 * 0b0101..Low Power FLL (LPFLL_CLK) 17477 * 0b0110..Reserved 17478 * 0b0111..Reserved 17479 */ 17480 #define SCG_HCCR_SCS(x) (((uint32_t)(((uint32_t)(x)) << SCG_HCCR_SCS_SHIFT)) & SCG_HCCR_SCS_MASK) 17481 /*! @} */ 17482 17483 /*! @name CLKOUTCNFG - SCG CLKOUT Configuration Register */ 17484 /*! @{ */ 17485 #define SCG_CLKOUTCNFG_CLKOUTSEL_MASK (0xF000000U) 17486 #define SCG_CLKOUTCNFG_CLKOUTSEL_SHIFT (24U) 17487 /*! CLKOUTSEL - SCG Clkout Select 17488 * 0b0000..SCG EXTERNAL Clock 17489 * 0b0001..System OSC (SOSC_CLK) 17490 * 0b0010..Slow IRC (SIRC_CLK) 17491 * 0b0011..Fast IRC (FIRC_CLK) 17492 * 0b0100..RTC OSC (ROSC_CLK) 17493 * 0b0101..Low Power FLL (LPFLL_CLK) 17494 * 0b0110..Reserved 17495 * 0b0111..Reserved 17496 * 0b1111..Reserved 17497 */ 17498 #define SCG_CLKOUTCNFG_CLKOUTSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_CLKOUTCNFG_CLKOUTSEL_SHIFT)) & SCG_CLKOUTCNFG_CLKOUTSEL_MASK) 17499 /*! @} */ 17500 17501 /*! @name SOSCCSR - System OSC Control Status Register */ 17502 /*! @{ */ 17503 #define SCG_SOSCCSR_SOSCEN_MASK (0x1U) 17504 #define SCG_SOSCCSR_SOSCEN_SHIFT (0U) 17505 /*! SOSCEN - System OSC Enable 17506 * 0b0..System OSC is disabled 17507 * 0b1..System OSC is enabled 17508 */ 17509 #define SCG_SOSCCSR_SOSCEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCEN_SHIFT)) & SCG_SOSCCSR_SOSCEN_MASK) 17510 #define SCG_SOSCCSR_SOSCSTEN_MASK (0x2U) 17511 #define SCG_SOSCCSR_SOSCSTEN_SHIFT (1U) 17512 /*! SOSCSTEN - System OSC Stop Enable 17513 * 0b0..System OSC is disabled in Stop modes 17514 * 0b1..System OSC is enabled in Stop modes if SOSCEN=1. In VLLS0, system oscillator is disabled even if SOSCSTEN=1 and SOSCEN=1. 17515 */ 17516 #define SCG_SOSCCSR_SOSCSTEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCSTEN_SHIFT)) & SCG_SOSCCSR_SOSCSTEN_MASK) 17517 #define SCG_SOSCCSR_SOSCLPEN_MASK (0x4U) 17518 #define SCG_SOSCCSR_SOSCLPEN_SHIFT (2U) 17519 /*! SOSCLPEN - System OSC Low Power Enable 17520 * 0b0..System OSC is disabled in VLP modes 17521 * 0b1..System OSC is enabled in VLP modes 17522 */ 17523 #define SCG_SOSCCSR_SOSCLPEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCLPEN_SHIFT)) & SCG_SOSCCSR_SOSCLPEN_MASK) 17524 #define SCG_SOSCCSR_SOSCCM_MASK (0x10000U) 17525 #define SCG_SOSCCSR_SOSCCM_SHIFT (16U) 17526 /*! SOSCCM - System OSC Clock Monitor 17527 * 0b0..System OSC Clock Monitor is disabled 17528 * 0b1..System OSC Clock Monitor is enabled 17529 */ 17530 #define SCG_SOSCCSR_SOSCCM(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCCM_SHIFT)) & SCG_SOSCCSR_SOSCCM_MASK) 17531 #define SCG_SOSCCSR_SOSCCMRE_MASK (0x20000U) 17532 #define SCG_SOSCCSR_SOSCCMRE_SHIFT (17U) 17533 /*! SOSCCMRE - System OSC Clock Monitor Reset Enable 17534 * 0b0..Clock Monitor generates interrupt when error detected 17535 * 0b1..Clock Monitor generates reset when error detected 17536 */ 17537 #define SCG_SOSCCSR_SOSCCMRE(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCCMRE_SHIFT)) & SCG_SOSCCSR_SOSCCMRE_MASK) 17538 #define SCG_SOSCCSR_LK_MASK (0x800000U) 17539 #define SCG_SOSCCSR_LK_SHIFT (23U) 17540 /*! LK - Lock Register 17541 * 0b0..This Control Status Register can be written. 17542 * 0b1..This Control Status Register cannot be written. 17543 */ 17544 #define SCG_SOSCCSR_LK(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_LK_SHIFT)) & SCG_SOSCCSR_LK_MASK) 17545 #define SCG_SOSCCSR_SOSCVLD_MASK (0x1000000U) 17546 #define SCG_SOSCCSR_SOSCVLD_SHIFT (24U) 17547 /*! SOSCVLD - System OSC Valid 17548 * 0b0..System OSC is not enabled or clock is not valid 17549 * 0b1..System OSC is enabled and output clock is valid 17550 */ 17551 #define SCG_SOSCCSR_SOSCVLD(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCVLD_SHIFT)) & SCG_SOSCCSR_SOSCVLD_MASK) 17552 #define SCG_SOSCCSR_SOSCSEL_MASK (0x2000000U) 17553 #define SCG_SOSCCSR_SOSCSEL_SHIFT (25U) 17554 /*! SOSCSEL - System OSC Selected 17555 * 0b0..System OSC is not the system clock source 17556 * 0b1..System OSC is the system clock source 17557 */ 17558 #define SCG_SOSCCSR_SOSCSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCSEL_SHIFT)) & SCG_SOSCCSR_SOSCSEL_MASK) 17559 #define SCG_SOSCCSR_SOSCERR_MASK (0x4000000U) 17560 #define SCG_SOSCCSR_SOSCERR_SHIFT (26U) 17561 /*! SOSCERR - System OSC Clock Error 17562 * 0b0..System OSC Clock Monitor is disabled or has not detected an error 17563 * 0b1..System OSC Clock Monitor is enabled and detected an error 17564 */ 17565 #define SCG_SOSCCSR_SOSCERR(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCCSR_SOSCERR_SHIFT)) & SCG_SOSCCSR_SOSCERR_MASK) 17566 /*! @} */ 17567 17568 /*! @name SOSCDIV - System OSC Divide Register */ 17569 /*! @{ */ 17570 #define SCG_SOSCDIV_SOSCDIV1_MASK (0x7U) 17571 #define SCG_SOSCDIV_SOSCDIV1_SHIFT (0U) 17572 /*! SOSCDIV1 - System OSC Clock Divide 1 17573 * 0b000..Output disabled 17574 * 0b001..Divide by 1 17575 * 0b010..Divide by 2 17576 * 0b011..Divide by 4 17577 * 0b100..Divide by 8 17578 * 0b101..Divide by 16 17579 * 0b110..Divide by 32 17580 * 0b111..Divide by 64 17581 */ 17582 #define SCG_SOSCDIV_SOSCDIV1(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCDIV_SOSCDIV1_SHIFT)) & SCG_SOSCDIV_SOSCDIV1_MASK) 17583 #define SCG_SOSCDIV_SOSCDIV2_MASK (0x700U) 17584 #define SCG_SOSCDIV_SOSCDIV2_SHIFT (8U) 17585 /*! SOSCDIV2 - System OSC Clock Divide 2 17586 * 0b000..Output disabled 17587 * 0b001..Divide by 1 17588 * 0b010..Divide by 2 17589 * 0b011..Divide by 4 17590 * 0b100..Divide by 8 17591 * 0b101..Divide by 16 17592 * 0b110..Divide by 32 17593 * 0b111..Divide by 64 17594 */ 17595 #define SCG_SOSCDIV_SOSCDIV2(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCDIV_SOSCDIV2_SHIFT)) & SCG_SOSCDIV_SOSCDIV2_MASK) 17596 #define SCG_SOSCDIV_SOSCDIV3_MASK (0x70000U) 17597 #define SCG_SOSCDIV_SOSCDIV3_SHIFT (16U) 17598 /*! SOSCDIV3 - System OSC Clock Divide 3 17599 * 0b000..Output disabled 17600 * 0b001..Divide by 1 17601 * 0b010..Divide by 2 17602 * 0b011..Divide by 4 17603 * 0b100..Divide by 8 17604 * 0b101..Divide by 16 17605 * 0b110..Divide by 32 17606 * 0b111..Divide by 64 17607 */ 17608 #define SCG_SOSCDIV_SOSCDIV3(x) (((uint32_t)(((uint32_t)(x)) << SCG_SOSCDIV_SOSCDIV3_SHIFT)) & SCG_SOSCDIV_SOSCDIV3_MASK) 17609 /*! @} */ 17610 17611 /*! @name SIRCCSR - Slow IRC Control Status Register */ 17612 /*! @{ */ 17613 #define SCG_SIRCCSR_SIRCEN_MASK (0x1U) 17614 #define SCG_SIRCCSR_SIRCEN_SHIFT (0U) 17615 /*! SIRCEN - Slow IRC Enable 17616 * 0b0..Slow IRC is disabled 17617 * 0b1..Slow IRC is enabled 17618 */ 17619 #define SCG_SIRCCSR_SIRCEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_SIRCEN_SHIFT)) & SCG_SIRCCSR_SIRCEN_MASK) 17620 #define SCG_SIRCCSR_SIRCSTEN_MASK (0x2U) 17621 #define SCG_SIRCCSR_SIRCSTEN_SHIFT (1U) 17622 /*! SIRCSTEN - Slow IRC Stop Enable 17623 * 0b0..Slow IRC is disabled in Stop modes 17624 * 0b1..Slow IRC is enabled in Stop modes 17625 */ 17626 #define SCG_SIRCCSR_SIRCSTEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_SIRCSTEN_SHIFT)) & SCG_SIRCCSR_SIRCSTEN_MASK) 17627 #define SCG_SIRCCSR_SIRCLPEN_MASK (0x4U) 17628 #define SCG_SIRCCSR_SIRCLPEN_SHIFT (2U) 17629 /*! SIRCLPEN - Slow IRC Low Power Enable 17630 * 0b0..Slow IRC is disabled in VLP modes 17631 * 0b1..Slow IRC is enabled in VLP modes 17632 */ 17633 #define SCG_SIRCCSR_SIRCLPEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_SIRCLPEN_SHIFT)) & SCG_SIRCCSR_SIRCLPEN_MASK) 17634 #define SCG_SIRCCSR_LK_MASK (0x800000U) 17635 #define SCG_SIRCCSR_LK_SHIFT (23U) 17636 /*! LK - Lock Register 17637 * 0b0..Control Status Register can be written. 17638 * 0b1..Control Status Register cannot be written. 17639 */ 17640 #define SCG_SIRCCSR_LK(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_LK_SHIFT)) & SCG_SIRCCSR_LK_MASK) 17641 #define SCG_SIRCCSR_SIRCVLD_MASK (0x1000000U) 17642 #define SCG_SIRCCSR_SIRCVLD_SHIFT (24U) 17643 /*! SIRCVLD - Slow IRC Valid 17644 * 0b0..Slow IRC is not enabled or clock is not valid 17645 * 0b1..Slow IRC is enabled and output clock is valid 17646 */ 17647 #define SCG_SIRCCSR_SIRCVLD(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_SIRCVLD_SHIFT)) & SCG_SIRCCSR_SIRCVLD_MASK) 17648 #define SCG_SIRCCSR_SIRCSEL_MASK (0x2000000U) 17649 #define SCG_SIRCCSR_SIRCSEL_SHIFT (25U) 17650 /*! SIRCSEL - Slow IRC Selected 17651 * 0b0..Slow IRC is not the system clock source 17652 * 0b1..Slow IRC is the system clock source 17653 */ 17654 #define SCG_SIRCCSR_SIRCSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCSR_SIRCSEL_SHIFT)) & SCG_SIRCCSR_SIRCSEL_MASK) 17655 /*! @} */ 17656 17657 /*! @name SIRCDIV - Slow IRC Divide Register */ 17658 /*! @{ */ 17659 #define SCG_SIRCDIV_SIRCDIV1_MASK (0x7U) 17660 #define SCG_SIRCDIV_SIRCDIV1_SHIFT (0U) 17661 /*! SIRCDIV1 - Slow IRC Clock Divide 1 17662 * 0b000..Output disabled 17663 * 0b001..Divide by 1 17664 * 0b010..Divide by 2 17665 * 0b011..Divide by 4 17666 * 0b100..Divide by 8 17667 * 0b101..Divide by 16 17668 * 0b110..Divide by 32 17669 * 0b111..Divide by 64 17670 */ 17671 #define SCG_SIRCDIV_SIRCDIV1(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCDIV_SIRCDIV1_SHIFT)) & SCG_SIRCDIV_SIRCDIV1_MASK) 17672 #define SCG_SIRCDIV_SIRCDIV2_MASK (0x700U) 17673 #define SCG_SIRCDIV_SIRCDIV2_SHIFT (8U) 17674 /*! SIRCDIV2 - Slow IRC Clock Divide 2 17675 * 0b000..Output disabled 17676 * 0b001..Divide by 1 17677 * 0b010..Divide by 2 17678 * 0b011..Divide by 4 17679 * 0b100..Divide by 8 17680 * 0b101..Divide by 16 17681 * 0b110..Divide by 32 17682 * 0b111..Divide by 64 17683 */ 17684 #define SCG_SIRCDIV_SIRCDIV2(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCDIV_SIRCDIV2_SHIFT)) & SCG_SIRCDIV_SIRCDIV2_MASK) 17685 #define SCG_SIRCDIV_SIRCDIV3_MASK (0x70000U) 17686 #define SCG_SIRCDIV_SIRCDIV3_SHIFT (16U) 17687 /*! SIRCDIV3 - Slow IRC Clock Divider 3 17688 * 0b000..Output disabled 17689 * 0b001..Divide by 1 17690 * 0b010..Divide by 2 17691 * 0b011..Divide by 4 17692 * 0b100..Divide by 8 17693 * 0b101..Divide by 16 17694 * 0b110..Divide by 32 17695 * 0b111..Divide by 64 17696 */ 17697 #define SCG_SIRCDIV_SIRCDIV3(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCDIV_SIRCDIV3_SHIFT)) & SCG_SIRCDIV_SIRCDIV3_MASK) 17698 /*! @} */ 17699 17700 /*! @name SIRCCFG - Slow IRC Configuration Register */ 17701 /*! @{ */ 17702 #define SCG_SIRCCFG_RANGE_MASK (0x1U) 17703 #define SCG_SIRCCFG_RANGE_SHIFT (0U) 17704 /*! RANGE - Frequency Range 17705 * 0b0..Slow IRC low range clock (2MHz) 17706 * 0b1..Slow IRC high range clock (8 MHz) 17707 */ 17708 #define SCG_SIRCCFG_RANGE(x) (((uint32_t)(((uint32_t)(x)) << SCG_SIRCCFG_RANGE_SHIFT)) & SCG_SIRCCFG_RANGE_MASK) 17709 /*! @} */ 17710 17711 /*! @name FIRCCSR - Fast IRC Control Status Register */ 17712 /*! @{ */ 17713 #define SCG_FIRCCSR_FIRCEN_MASK (0x1U) 17714 #define SCG_FIRCCSR_FIRCEN_SHIFT (0U) 17715 /*! FIRCEN - Fast IRC Enable 17716 * 0b0..Fast IRC is disabled 17717 * 0b1..Fast IRC is enabled 17718 */ 17719 #define SCG_FIRCCSR_FIRCEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCEN_SHIFT)) & SCG_FIRCCSR_FIRCEN_MASK) 17720 #define SCG_FIRCCSR_FIRCSTEN_MASK (0x2U) 17721 #define SCG_FIRCCSR_FIRCSTEN_SHIFT (1U) 17722 /*! FIRCSTEN - Fast IRC Stop Enable 17723 * 0b0..Fast IRC is disabled in Stop modes. 17724 * 0b1..Fast IRC is enabled in Stop modes 17725 */ 17726 #define SCG_FIRCCSR_FIRCSTEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCSTEN_SHIFT)) & SCG_FIRCCSR_FIRCSTEN_MASK) 17727 #define SCG_FIRCCSR_FIRCLPEN_MASK (0x4U) 17728 #define SCG_FIRCCSR_FIRCLPEN_SHIFT (2U) 17729 /*! FIRCLPEN - Fast IRC Low Power Enable 17730 * 0b0..Fast IRC is disabled in VLP modes 17731 * 0b1..Fast IRC is enabled in VLP modes 17732 */ 17733 #define SCG_FIRCCSR_FIRCLPEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCLPEN_SHIFT)) & SCG_FIRCCSR_FIRCLPEN_MASK) 17734 #define SCG_FIRCCSR_FIRCREGOFF_MASK (0x8U) 17735 #define SCG_FIRCCSR_FIRCREGOFF_SHIFT (3U) 17736 /*! FIRCREGOFF - Fast IRC Regulator Enable 17737 * 0b0..Fast IRC Regulator is enabled. 17738 * 0b1..Fast IRC Regulator is disabled. 17739 */ 17740 #define SCG_FIRCCSR_FIRCREGOFF(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCREGOFF_SHIFT)) & SCG_FIRCCSR_FIRCREGOFF_MASK) 17741 #define SCG_FIRCCSR_FIRCTREN_MASK (0x100U) 17742 #define SCG_FIRCCSR_FIRCTREN_SHIFT (8U) 17743 /*! FIRCTREN - Fast IRC Trim Enable 17744 * 0b0..Disable trimming Fast IRC to an external clock source 17745 * 0b1..Enable trimming Fast IRC to an external clock source 17746 */ 17747 #define SCG_FIRCCSR_FIRCTREN(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCTREN_SHIFT)) & SCG_FIRCCSR_FIRCTREN_MASK) 17748 #define SCG_FIRCCSR_FIRCTRUP_MASK (0x200U) 17749 #define SCG_FIRCCSR_FIRCTRUP_SHIFT (9U) 17750 /*! FIRCTRUP - Fast IRC Trim Update 17751 * 0b0..Disable Fast IRC trimming updates 17752 * 0b1..Enable Fast IRC trimming updates 17753 */ 17754 #define SCG_FIRCCSR_FIRCTRUP(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCTRUP_SHIFT)) & SCG_FIRCCSR_FIRCTRUP_MASK) 17755 #define SCG_FIRCCSR_LK_MASK (0x800000U) 17756 #define SCG_FIRCCSR_LK_SHIFT (23U) 17757 /*! LK - Lock Register 17758 * 0b0..Control Status Register can be written. 17759 * 0b1..Control Status Register cannot be written. 17760 */ 17761 #define SCG_FIRCCSR_LK(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_LK_SHIFT)) & SCG_FIRCCSR_LK_MASK) 17762 #define SCG_FIRCCSR_FIRCVLD_MASK (0x1000000U) 17763 #define SCG_FIRCCSR_FIRCVLD_SHIFT (24U) 17764 /*! FIRCVLD - Fast IRC Valid status 17765 * 0b0..Fast IRC is not enabled or clock is not valid. 17766 * 0b1..Fast IRC is enabled and output clock is valid. The clock is valid once there is an output clock from the FIRC analog. 17767 */ 17768 #define SCG_FIRCCSR_FIRCVLD(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCVLD_SHIFT)) & SCG_FIRCCSR_FIRCVLD_MASK) 17769 #define SCG_FIRCCSR_FIRCSEL_MASK (0x2000000U) 17770 #define SCG_FIRCCSR_FIRCSEL_SHIFT (25U) 17771 /*! FIRCSEL - Fast IRC Selected status 17772 * 0b0..Fast IRC is not the system clock source 17773 * 0b1..Fast IRC is the system clock source 17774 */ 17775 #define SCG_FIRCCSR_FIRCSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCSEL_SHIFT)) & SCG_FIRCCSR_FIRCSEL_MASK) 17776 #define SCG_FIRCCSR_FIRCERR_MASK (0x4000000U) 17777 #define SCG_FIRCCSR_FIRCERR_SHIFT (26U) 17778 /*! FIRCERR - Fast IRC Clock Error 17779 * 0b0..Error not detected with the Fast IRC trimming. 17780 * 0b1..Error detected with the Fast IRC trimming. 17781 */ 17782 #define SCG_FIRCCSR_FIRCERR(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCSR_FIRCERR_SHIFT)) & SCG_FIRCCSR_FIRCERR_MASK) 17783 /*! @} */ 17784 17785 /*! @name FIRCDIV - Fast IRC Divide Register */ 17786 /*! @{ */ 17787 #define SCG_FIRCDIV_FIRCDIV1_MASK (0x7U) 17788 #define SCG_FIRCDIV_FIRCDIV1_SHIFT (0U) 17789 /*! FIRCDIV1 - Fast IRC Clock Divide 1 17790 * 0b000..Output disabled 17791 * 0b001..Divide by 1 17792 * 0b010..Divide by 2 17793 * 0b011..Divide by 4 17794 * 0b100..Divide by 8 17795 * 0b101..Divide by 16 17796 * 0b110..Divide by 32 17797 * 0b111..Divide by 64 17798 */ 17799 #define SCG_FIRCDIV_FIRCDIV1(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCDIV_FIRCDIV1_SHIFT)) & SCG_FIRCDIV_FIRCDIV1_MASK) 17800 #define SCG_FIRCDIV_FIRCDIV2_MASK (0x700U) 17801 #define SCG_FIRCDIV_FIRCDIV2_SHIFT (8U) 17802 /*! FIRCDIV2 - Fast IRC Clock Divide 2 17803 * 0b000..Output disabled 17804 * 0b001..Divide by 1 17805 * 0b010..Divide by 2 17806 * 0b011..Divide by 4 17807 * 0b100..Divide by 8 17808 * 0b101..Divide by 16 17809 * 0b110..Divide by 32 17810 * 0b111..Divide by 64 17811 */ 17812 #define SCG_FIRCDIV_FIRCDIV2(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCDIV_FIRCDIV2_SHIFT)) & SCG_FIRCDIV_FIRCDIV2_MASK) 17813 #define SCG_FIRCDIV_FIRCDIV3_MASK (0x70000U) 17814 #define SCG_FIRCDIV_FIRCDIV3_SHIFT (16U) 17815 /*! FIRCDIV3 - Fast IRC Clock Divider 3 17816 * 0b000..Clock disabled 17817 * 0b001..Divide by 1 17818 * 0b010..Divide by 2 17819 * 0b011..Divide by 4 17820 * 0b100..Divide by 8 17821 * 0b101..Divide by 16 17822 * 0b110..Divide by 32 17823 * 0b111..Divide by 64 17824 */ 17825 #define SCG_FIRCDIV_FIRCDIV3(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCDIV_FIRCDIV3_SHIFT)) & SCG_FIRCDIV_FIRCDIV3_MASK) 17826 /*! @} */ 17827 17828 /*! @name FIRCCFG - Fast IRC Configuration Register */ 17829 /*! @{ */ 17830 #define SCG_FIRCCFG_RANGE_MASK (0x3U) 17831 #define SCG_FIRCCFG_RANGE_SHIFT (0U) 17832 /*! RANGE - Frequency Range 17833 * 0b00..Fast IRC is trimmed to 48 MHz 17834 * 0b01..Fast IRC is trimmed to 52 MHz 17835 * 0b10..Fast IRC is trimmed to 56 MHz 17836 * 0b11..Fast IRC is trimmed to 60 MHz 17837 */ 17838 #define SCG_FIRCCFG_RANGE(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCCFG_RANGE_SHIFT)) & SCG_FIRCCFG_RANGE_MASK) 17839 /*! @} */ 17840 17841 /*! @name FIRCTCFG - Fast IRC Trim Configuration Register */ 17842 /*! @{ */ 17843 #define SCG_FIRCTCFG_TRIMSRC_MASK (0x3U) 17844 #define SCG_FIRCTCFG_TRIMSRC_SHIFT (0U) 17845 /*! TRIMSRC - Trim Source 17846 * 0b00..Reserved 17847 * 0b01..Reserved 17848 * 0b10..System OSC. This option requires that SOSC be divided using the TRIMDIV field to get a frequency slower than 32kHz. 17849 * 0b11..RTC OSC (32.768 kHz) 17850 */ 17851 #define SCG_FIRCTCFG_TRIMSRC(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCTCFG_TRIMSRC_SHIFT)) & SCG_FIRCTCFG_TRIMSRC_MASK) 17852 #define SCG_FIRCTCFG_TRIMDIV_MASK (0x700U) 17853 #define SCG_FIRCTCFG_TRIMDIV_SHIFT (8U) 17854 /*! TRIMDIV - Fast IRC Trim Predivide 17855 * 0b000..Divide by 1 17856 * 0b001..Divide by 128 17857 * 0b010..Divide by 256 17858 * 0b011..Divide by 512 17859 * 0b100..Divide by 1024 17860 * 0b101..Divide by 2048 17861 * 0b110..Reserved. Writing this value will result in Divide by 1. 17862 * 0b111..Reserved. Writing this value will result in a Divide by 1. 17863 */ 17864 #define SCG_FIRCTCFG_TRIMDIV(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCTCFG_TRIMDIV_SHIFT)) & SCG_FIRCTCFG_TRIMDIV_MASK) 17865 /*! @} */ 17866 17867 /*! @name FIRCSTAT - Fast IRC Status Register */ 17868 /*! @{ */ 17869 #define SCG_FIRCSTAT_TRIMFINE_MASK (0x7FU) 17870 #define SCG_FIRCSTAT_TRIMFINE_SHIFT (0U) 17871 #define SCG_FIRCSTAT_TRIMFINE(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCSTAT_TRIMFINE_SHIFT)) & SCG_FIRCSTAT_TRIMFINE_MASK) 17872 #define SCG_FIRCSTAT_TRIMCOAR_MASK (0x3F00U) 17873 #define SCG_FIRCSTAT_TRIMCOAR_SHIFT (8U) 17874 #define SCG_FIRCSTAT_TRIMCOAR(x) (((uint32_t)(((uint32_t)(x)) << SCG_FIRCSTAT_TRIMCOAR_SHIFT)) & SCG_FIRCSTAT_TRIMCOAR_MASK) 17875 /*! @} */ 17876 17877 /*! @name ROSCCSR - RTC OSC Control Status Register */ 17878 /*! @{ */ 17879 #define SCG_ROSCCSR_ROSCCM_MASK (0x10000U) 17880 #define SCG_ROSCCSR_ROSCCM_SHIFT (16U) 17881 /*! ROSCCM - RTC OSC Clock Monitor 17882 * 0b0..RTC OSC Clock Monitor is disabled 17883 * 0b1..RTC OSC Clock Monitor is enabled 17884 */ 17885 #define SCG_ROSCCSR_ROSCCM(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_ROSCCM_SHIFT)) & SCG_ROSCCSR_ROSCCM_MASK) 17886 #define SCG_ROSCCSR_ROSCCMRE_MASK (0x20000U) 17887 #define SCG_ROSCCSR_ROSCCMRE_SHIFT (17U) 17888 /*! ROSCCMRE - RTC OSC Clock Monitor Reset Enable 17889 * 0b0..Clock Monitor generates interrupt when error detected 17890 * 0b1..Clock Monitor generates reset when error detected 17891 */ 17892 #define SCG_ROSCCSR_ROSCCMRE(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_ROSCCMRE_SHIFT)) & SCG_ROSCCSR_ROSCCMRE_MASK) 17893 #define SCG_ROSCCSR_LK_MASK (0x800000U) 17894 #define SCG_ROSCCSR_LK_SHIFT (23U) 17895 /*! LK - Lock Register 17896 * 0b0..Control Status Register can be written. 17897 * 0b1..Control Status Register cannot be written. 17898 */ 17899 #define SCG_ROSCCSR_LK(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_LK_SHIFT)) & SCG_ROSCCSR_LK_MASK) 17900 #define SCG_ROSCCSR_ROSCVLD_MASK (0x1000000U) 17901 #define SCG_ROSCCSR_ROSCVLD_SHIFT (24U) 17902 /*! ROSCVLD - RTC OSC Valid 17903 * 0b0..RTC OSC is not enabled or clock is not valid 17904 * 0b1..RTC OSC is enabled and output clock is valid 17905 */ 17906 #define SCG_ROSCCSR_ROSCVLD(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_ROSCVLD_SHIFT)) & SCG_ROSCCSR_ROSCVLD_MASK) 17907 #define SCG_ROSCCSR_ROSCSEL_MASK (0x2000000U) 17908 #define SCG_ROSCCSR_ROSCSEL_SHIFT (25U) 17909 /*! ROSCSEL - RTC OSC Selected 17910 * 0b0..RTC OSC is not the system clock source 17911 * 0b1..RTC OSC is the system clock source 17912 */ 17913 #define SCG_ROSCCSR_ROSCSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_ROSCSEL_SHIFT)) & SCG_ROSCCSR_ROSCSEL_MASK) 17914 #define SCG_ROSCCSR_ROSCERR_MASK (0x4000000U) 17915 #define SCG_ROSCCSR_ROSCERR_SHIFT (26U) 17916 /*! ROSCERR - RTC OSC Clock Error 17917 * 0b0..RTC OSC Clock Monitor is disabled or has not detected an error 17918 * 0b1..RTC OSC Clock Monitor is enabled and detected an RTC loss of clock error 17919 */ 17920 #define SCG_ROSCCSR_ROSCERR(x) (((uint32_t)(((uint32_t)(x)) << SCG_ROSCCSR_ROSCERR_SHIFT)) & SCG_ROSCCSR_ROSCERR_MASK) 17921 /*! @} */ 17922 17923 /*! @name LPFLLCSR - Low Power FLL Control Status Register */ 17924 /*! @{ */ 17925 #define SCG_LPFLLCSR_LPFLLEN_MASK (0x1U) 17926 #define SCG_LPFLLCSR_LPFLLEN_SHIFT (0U) 17927 /*! LPFLLEN - LPFLL Enable 17928 * 0b0..LPFLL is disabled 17929 * 0b1..LPFLL is enabled 17930 */ 17931 #define SCG_LPFLLCSR_LPFLLEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLEN_SHIFT)) & SCG_LPFLLCSR_LPFLLEN_MASK) 17932 #define SCG_LPFLLCSR_LPFLLSTEN_MASK (0x2U) 17933 #define SCG_LPFLLCSR_LPFLLSTEN_SHIFT (1U) 17934 /*! LPFLLSTEN - LPFLL Stop Enable 17935 * 0b0..LPFLL is disabled in Stop modes. 17936 * 0b1..LPFLL is enabled in Stop modes 17937 */ 17938 #define SCG_LPFLLCSR_LPFLLSTEN(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLSTEN_SHIFT)) & SCG_LPFLLCSR_LPFLLSTEN_MASK) 17939 #define SCG_LPFLLCSR_LPFLLTREN_MASK (0x100U) 17940 #define SCG_LPFLLCSR_LPFLLTREN_SHIFT (8U) 17941 /*! LPFLLTREN - LPFLL Trim Enable 17942 * 0b0..Disable trimming LPFLL to an reference clock source 17943 * 0b1..Enable trimming LPFLL to an reference clock source 17944 */ 17945 #define SCG_LPFLLCSR_LPFLLTREN(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLTREN_SHIFT)) & SCG_LPFLLCSR_LPFLLTREN_MASK) 17946 #define SCG_LPFLLCSR_LPFLLTRUP_MASK (0x200U) 17947 #define SCG_LPFLLCSR_LPFLLTRUP_SHIFT (9U) 17948 /*! LPFLLTRUP - LPFLL Trim Update 17949 * 0b0..Disable LPFLL trimming updates. LPFLL frequency determined by AUTOTRIM written value. 17950 * 0b1..Enable LPFLL trimming updates. LPFLL frequency determined by reference clock multiplication 17951 */ 17952 #define SCG_LPFLLCSR_LPFLLTRUP(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLTRUP_SHIFT)) & SCG_LPFLLCSR_LPFLLTRUP_MASK) 17953 #define SCG_LPFLLCSR_LPFLLTRMLOCK_MASK (0x400U) 17954 #define SCG_LPFLLCSR_LPFLLTRMLOCK_SHIFT (10U) 17955 /*! LPFLLTRMLOCK - LPFLL Trim LOCK 17956 * 0b0..LPFLL not Locked 17957 * 0b1..LPFLL trimmed and Locked 17958 */ 17959 #define SCG_LPFLLCSR_LPFLLTRMLOCK(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLTRMLOCK_SHIFT)) & SCG_LPFLLCSR_LPFLLTRMLOCK_MASK) 17960 #define SCG_LPFLLCSR_LPFLLCM_MASK (0x10000U) 17961 #define SCG_LPFLLCSR_LPFLLCM_SHIFT (16U) 17962 /*! LPFLLCM - LPFLL Clock Monitor 17963 * 0b0..LPFLL Clock Monitor is disabled 17964 * 0b1..LPFLL Clock Monitor is enabled 17965 */ 17966 #define SCG_LPFLLCSR_LPFLLCM(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLCM_SHIFT)) & SCG_LPFLLCSR_LPFLLCM_MASK) 17967 #define SCG_LPFLLCSR_LPFLLCMRE_MASK (0x20000U) 17968 #define SCG_LPFLLCSR_LPFLLCMRE_SHIFT (17U) 17969 /*! LPFLLCMRE - LPFLL Clock Monitor Reset Enable 17970 * 0b0..Clock Monitor generates interrupt when error detected 17971 * 0b1..Clock Monitor generates reset when error detected 17972 */ 17973 #define SCG_LPFLLCSR_LPFLLCMRE(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLCMRE_SHIFT)) & SCG_LPFLLCSR_LPFLLCMRE_MASK) 17974 #define SCG_LPFLLCSR_LK_MASK (0x800000U) 17975 #define SCG_LPFLLCSR_LK_SHIFT (23U) 17976 /*! LK - Lock Register 17977 * 0b0..Control Status Register can be written. 17978 * 0b1..Control Status Register cannot be written. 17979 */ 17980 #define SCG_LPFLLCSR_LK(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LK_SHIFT)) & SCG_LPFLLCSR_LK_MASK) 17981 #define SCG_LPFLLCSR_LPFLLVLD_MASK (0x1000000U) 17982 #define SCG_LPFLLCSR_LPFLLVLD_SHIFT (24U) 17983 /*! LPFLLVLD - LPFLL Valid 17984 * 0b0..LPFLL is not enabled or clock is not valid. 17985 * 0b1..LPFLL is enabled and output clock is valid. 17986 */ 17987 #define SCG_LPFLLCSR_LPFLLVLD(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLVLD_SHIFT)) & SCG_LPFLLCSR_LPFLLVLD_MASK) 17988 #define SCG_LPFLLCSR_LPFLLSEL_MASK (0x2000000U) 17989 #define SCG_LPFLLCSR_LPFLLSEL_SHIFT (25U) 17990 /*! LPFLLSEL - LPFLL Selected 17991 * 0b0..LPFLL is not the system clock source 17992 * 0b1..LPFLL is the system clock source 17993 */ 17994 #define SCG_LPFLLCSR_LPFLLSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLSEL_SHIFT)) & SCG_LPFLLCSR_LPFLLSEL_MASK) 17995 #define SCG_LPFLLCSR_LPFLLERR_MASK (0x4000000U) 17996 #define SCG_LPFLLCSR_LPFLLERR_SHIFT (26U) 17997 /*! LPFLLERR - LPFLL Clock Error 17998 * 0b0..Error not detected with the LPFLL trimming. 17999 * 0b1..Error detected with the LPFLL trimming. 18000 */ 18001 #define SCG_LPFLLCSR_LPFLLERR(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCSR_LPFLLERR_SHIFT)) & SCG_LPFLLCSR_LPFLLERR_MASK) 18002 /*! @} */ 18003 18004 /*! @name LPFLLDIV - Low Power FLL Divide Register */ 18005 /*! @{ */ 18006 #define SCG_LPFLLDIV_LPFLLDIV1_MASK (0x7U) 18007 #define SCG_LPFLLDIV_LPFLLDIV1_SHIFT (0U) 18008 /*! LPFLLDIV1 - LPFLL Clock Divide 1 18009 * 0b000..Output disabled 18010 * 0b001..Divide by 1 18011 * 0b010..Divide by 2 18012 * 0b011..Divide by 4 18013 * 0b100..Divide by 8 18014 * 0b101..Divide by 16 18015 * 0b110..Divide by 32 18016 * 0b111..Divide by 64 18017 */ 18018 #define SCG_LPFLLDIV_LPFLLDIV1(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLDIV_LPFLLDIV1_SHIFT)) & SCG_LPFLLDIV_LPFLLDIV1_MASK) 18019 #define SCG_LPFLLDIV_LPFLLDIV2_MASK (0x700U) 18020 #define SCG_LPFLLDIV_LPFLLDIV2_SHIFT (8U) 18021 /*! LPFLLDIV2 - LPFLL Clock Divide 2 18022 * 0b000..Output disabled 18023 * 0b001..Divide by 1 18024 * 0b010..Divide by 2 18025 * 0b011..Divide by 4 18026 * 0b100..Divide by 8 18027 * 0b101..Divide by 16 18028 * 0b110..Divide by 32 18029 * 0b111..Divide by 64 18030 */ 18031 #define SCG_LPFLLDIV_LPFLLDIV2(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLDIV_LPFLLDIV2_SHIFT)) & SCG_LPFLLDIV_LPFLLDIV2_MASK) 18032 #define SCG_LPFLLDIV_LPFLLDIV3_MASK (0x70000U) 18033 #define SCG_LPFLLDIV_LPFLLDIV3_SHIFT (16U) 18034 /*! LPFLLDIV3 - LPFLL Clock Divide 3 18035 * 0b000..Clock disabled 18036 * 0b001..Divide by 1 18037 * 0b010..Divide by 2 18038 * 0b011..Divide by 4 18039 * 0b100..Divide by 8 18040 * 0b101..Divide by 16 18041 * 0b110..Divide by 32 18042 * 0b111..Divide by 64 18043 */ 18044 #define SCG_LPFLLDIV_LPFLLDIV3(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLDIV_LPFLLDIV3_SHIFT)) & SCG_LPFLLDIV_LPFLLDIV3_MASK) 18045 /*! @} */ 18046 18047 /*! @name LPFLLCFG - Low Power FLL Configuration Register */ 18048 /*! @{ */ 18049 #define SCG_LPFLLCFG_FSEL_MASK (0x3U) 18050 #define SCG_LPFLLCFG_FSEL_SHIFT (0U) 18051 /*! FSEL - Frequency Select 18052 * 0b00..LPFLL is trimmed to 48 MHz. 18053 * 0b01..LPFLL is trimmed to 72 MHz. 18054 * 0b10..Reserved 18055 * 0b11..Reserved 18056 */ 18057 #define SCG_LPFLLCFG_FSEL(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLCFG_FSEL_SHIFT)) & SCG_LPFLLCFG_FSEL_MASK) 18058 /*! @} */ 18059 18060 /*! @name LPFLLTCFG - Low Power FLL Trim Configuration Register */ 18061 /*! @{ */ 18062 #define SCG_LPFLLTCFG_TRIMSRC_MASK (0x3U) 18063 #define SCG_LPFLLTCFG_TRIMSRC_SHIFT (0U) 18064 /*! TRIMSRC - Trim Source 18065 * 0b00..SIRC 18066 * 0b01..FIRC 18067 * 0b10..System OSC 18068 * 0b11..RTC OSC 18069 */ 18070 #define SCG_LPFLLTCFG_TRIMSRC(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLTCFG_TRIMSRC_SHIFT)) & SCG_LPFLLTCFG_TRIMSRC_MASK) 18071 #define SCG_LPFLLTCFG_TRIMDIV_MASK (0x1F00U) 18072 #define SCG_LPFLLTCFG_TRIMDIV_SHIFT (8U) 18073 #define SCG_LPFLLTCFG_TRIMDIV(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLTCFG_TRIMDIV_SHIFT)) & SCG_LPFLLTCFG_TRIMDIV_MASK) 18074 #define SCG_LPFLLTCFG_LOCKW2LSB_MASK (0x10000U) 18075 #define SCG_LPFLLTCFG_LOCKW2LSB_SHIFT (16U) 18076 /*! LOCKW2LSB - Lock LPFLL with 2 LSBS 18077 * 0b0..LPFLL locks within 1LSB (0.4%) 18078 * 0b1..LPFLL locks within 2LSB (0.8%) 18079 */ 18080 #define SCG_LPFLLTCFG_LOCKW2LSB(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLTCFG_LOCKW2LSB_SHIFT)) & SCG_LPFLLTCFG_LOCKW2LSB_MASK) 18081 /*! @} */ 18082 18083 /*! @name LPFLLSTAT - Low Power FLL Status Register */ 18084 /*! @{ */ 18085 #define SCG_LPFLLSTAT_AUTOTRIM_MASK (0xFFU) 18086 #define SCG_LPFLLSTAT_AUTOTRIM_SHIFT (0U) 18087 #define SCG_LPFLLSTAT_AUTOTRIM(x) (((uint32_t)(((uint32_t)(x)) << SCG_LPFLLSTAT_AUTOTRIM_SHIFT)) & SCG_LPFLLSTAT_AUTOTRIM_MASK) 18088 /*! @} */ 18089 18090 18091 /*! 18092 * @} 18093 */ /* end of group SCG_Register_Masks */ 18094 18095 18096 /* SCG - Peripheral instance base addresses */ 18097 /** Peripheral SCG base address */ 18098 #define SCG_BASE (0x4002C000u) 18099 /** Peripheral SCG base pointer */ 18100 #define SCG ((SCG_Type *)SCG_BASE) 18101 /** Array initializer of SCG peripheral base addresses */ 18102 #define SCG_BASE_ADDRS { SCG_BASE } 18103 /** Array initializer of SCG peripheral base pointers */ 18104 #define SCG_BASE_PTRS { SCG } 18105 /** Interrupt vectors for the SCG peripheral type */ 18106 #define SCG_IRQS { SCG_IRQn } 18107 18108 /*! 18109 * @} 18110 */ /* end of group SCG_Peripheral_Access_Layer */ 18111 18112 18113 /* ---------------------------------------------------------------------------- 18114 -- SEMA42 Peripheral Access Layer 18115 ---------------------------------------------------------------------------- */ 18116 18117 /*! 18118 * @addtogroup SEMA42_Peripheral_Access_Layer SEMA42 Peripheral Access Layer 18119 * @{ 18120 */ 18121 18122 /** SEMA42 - Register Layout Typedef */ 18123 typedef struct { 18124 __IO uint8_t GATE3; /**< Gate Register, offset: 0x0 */ 18125 __IO uint8_t GATE2; /**< Gate Register, offset: 0x1 */ 18126 __IO uint8_t GATE1; /**< Gate Register, offset: 0x2 */ 18127 __IO uint8_t GATE0; /**< Gate Register, offset: 0x3 */ 18128 __IO uint8_t GATE7; /**< Gate Register, offset: 0x4 */ 18129 __IO uint8_t GATE6; /**< Gate Register, offset: 0x5 */ 18130 __IO uint8_t GATE5; /**< Gate Register, offset: 0x6 */ 18131 __IO uint8_t GATE4; /**< Gate Register, offset: 0x7 */ 18132 __IO uint8_t GATE11; /**< Gate Register, offset: 0x8 */ 18133 __IO uint8_t GATE10; /**< Gate Register, offset: 0x9 */ 18134 __IO uint8_t GATE9; /**< Gate Register, offset: 0xA */ 18135 __IO uint8_t GATE8; /**< Gate Register, offset: 0xB */ 18136 __IO uint8_t GATE15; /**< Gate Register, offset: 0xC */ 18137 __IO uint8_t GATE14; /**< Gate Register, offset: 0xD */ 18138 __IO uint8_t GATE13; /**< Gate Register, offset: 0xE */ 18139 __IO uint8_t GATE12; /**< Gate Register, offset: 0xF */ 18140 uint8_t RESERVED_0[50]; 18141 union { /* offset: 0x42 */ 18142 __I uint16_t RSTGT_R; /**< Reset Gate Read, offset: 0x42 */ 18143 __O uint16_t RSTGT_W; /**< Reset Gate Write, offset: 0x42 */ 18144 }; 18145 } SEMA42_Type; 18146 18147 /* ---------------------------------------------------------------------------- 18148 -- SEMA42 Register Masks 18149 ---------------------------------------------------------------------------- */ 18150 18151 /*! 18152 * @addtogroup SEMA42_Register_Masks SEMA42 Register Masks 18153 * @{ 18154 */ 18155 18156 /*! @name GATE3 - Gate Register */ 18157 /*! @{ */ 18158 #define SEMA42_GATE3_GTFSM_MASK (0xFU) 18159 #define SEMA42_GATE3_GTFSM_SHIFT (0U) 18160 /*! GTFSM - GTFSM 18161 * 0b0000..The gate is unlocked (free). 18162 * 0b0001..The gate has been locked by processor 0. 18163 * 0b0010..The gate has been locked by processor 1. 18164 * 0b0011..The gate has been locked by processor 2. 18165 * 0b0100..The gate has been locked by processor 3. 18166 * 0b0101..The gate has been locked by processor 4. 18167 * 0b0110..The gate has been locked by processor 5. 18168 * 0b0111..The gate has been locked by processor 6. 18169 * 0b1000..The gate has been locked by processor 7. 18170 * 0b1001..The gate has been locked by processor 8. 18171 * 0b1010..The gate has been locked by processor 9. 18172 * 0b1011..The gate has been locked by processor 10. 18173 * 0b1100..The gate has been locked by processor 11. 18174 * 0b1101..The gate has been locked by processor 12. 18175 * 0b1110..The gate has been locked by processor 13. 18176 * 0b1111..The gate has been locked by processor 14. 18177 */ 18178 #define SEMA42_GATE3_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE3_GTFSM_SHIFT)) & SEMA42_GATE3_GTFSM_MASK) 18179 /*! @} */ 18180 18181 /*! @name GATE2 - Gate Register */ 18182 /*! @{ */ 18183 #define SEMA42_GATE2_GTFSM_MASK (0xFU) 18184 #define SEMA42_GATE2_GTFSM_SHIFT (0U) 18185 /*! GTFSM - GTFSM 18186 * 0b0000..The gate is unlocked (free). 18187 * 0b0001..The gate has been locked by processor 0. 18188 * 0b0010..The gate has been locked by processor 1. 18189 * 0b0011..The gate has been locked by processor 2. 18190 * 0b0100..The gate has been locked by processor 3. 18191 * 0b0101..The gate has been locked by processor 4. 18192 * 0b0110..The gate has been locked by processor 5. 18193 * 0b0111..The gate has been locked by processor 6. 18194 * 0b1000..The gate has been locked by processor 7. 18195 * 0b1001..The gate has been locked by processor 8. 18196 * 0b1010..The gate has been locked by processor 9. 18197 * 0b1011..The gate has been locked by processor 10. 18198 * 0b1100..The gate has been locked by processor 11. 18199 * 0b1101..The gate has been locked by processor 12. 18200 * 0b1110..The gate has been locked by processor 13. 18201 * 0b1111..The gate has been locked by processor 14. 18202 */ 18203 #define SEMA42_GATE2_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE2_GTFSM_SHIFT)) & SEMA42_GATE2_GTFSM_MASK) 18204 /*! @} */ 18205 18206 /*! @name GATE1 - Gate Register */ 18207 /*! @{ */ 18208 #define SEMA42_GATE1_GTFSM_MASK (0xFU) 18209 #define SEMA42_GATE1_GTFSM_SHIFT (0U) 18210 /*! GTFSM - GTFSM 18211 * 0b0000..The gate is unlocked (free). 18212 * 0b0001..The gate has been locked by processor 0. 18213 * 0b0010..The gate has been locked by processor 1. 18214 * 0b0011..The gate has been locked by processor 2. 18215 * 0b0100..The gate has been locked by processor 3. 18216 * 0b0101..The gate has been locked by processor 4. 18217 * 0b0110..The gate has been locked by processor 5. 18218 * 0b0111..The gate has been locked by processor 6. 18219 * 0b1000..The gate has been locked by processor 7. 18220 * 0b1001..The gate has been locked by processor 8. 18221 * 0b1010..The gate has been locked by processor 9. 18222 * 0b1011..The gate has been locked by processor 10. 18223 * 0b1100..The gate has been locked by processor 11. 18224 * 0b1101..The gate has been locked by processor 12. 18225 * 0b1110..The gate has been locked by processor 13. 18226 * 0b1111..The gate has been locked by processor 14. 18227 */ 18228 #define SEMA42_GATE1_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE1_GTFSM_SHIFT)) & SEMA42_GATE1_GTFSM_MASK) 18229 /*! @} */ 18230 18231 /*! @name GATE0 - Gate Register */ 18232 /*! @{ */ 18233 #define SEMA42_GATE0_GTFSM_MASK (0xFU) 18234 #define SEMA42_GATE0_GTFSM_SHIFT (0U) 18235 /*! GTFSM - GTFSM 18236 * 0b0000..The gate is unlocked (free). 18237 * 0b0001..The gate has been locked by processor 0. 18238 * 0b0010..The gate has been locked by processor 1. 18239 * 0b0011..The gate has been locked by processor 2. 18240 * 0b0100..The gate has been locked by processor 3. 18241 * 0b0101..The gate has been locked by processor 4. 18242 * 0b0110..The gate has been locked by processor 5. 18243 * 0b0111..The gate has been locked by processor 6. 18244 * 0b1000..The gate has been locked by processor 7. 18245 * 0b1001..The gate has been locked by processor 8. 18246 * 0b1010..The gate has been locked by processor 9. 18247 * 0b1011..The gate has been locked by processor 10. 18248 * 0b1100..The gate has been locked by processor 11. 18249 * 0b1101..The gate has been locked by processor 12. 18250 * 0b1110..The gate has been locked by processor 13. 18251 * 0b1111..The gate has been locked by processor 14. 18252 */ 18253 #define SEMA42_GATE0_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE0_GTFSM_SHIFT)) & SEMA42_GATE0_GTFSM_MASK) 18254 /*! @} */ 18255 18256 /*! @name GATE7 - Gate Register */ 18257 /*! @{ */ 18258 #define SEMA42_GATE7_GTFSM_MASK (0xFU) 18259 #define SEMA42_GATE7_GTFSM_SHIFT (0U) 18260 /*! GTFSM - GTFSM 18261 * 0b0000..The gate is unlocked (free). 18262 * 0b0001..The gate has been locked by processor 0. 18263 * 0b0010..The gate has been locked by processor 1. 18264 * 0b0011..The gate has been locked by processor 2. 18265 * 0b0100..The gate has been locked by processor 3. 18266 * 0b0101..The gate has been locked by processor 4. 18267 * 0b0110..The gate has been locked by processor 5. 18268 * 0b0111..The gate has been locked by processor 6. 18269 * 0b1000..The gate has been locked by processor 7. 18270 * 0b1001..The gate has been locked by processor 8. 18271 * 0b1010..The gate has been locked by processor 9. 18272 * 0b1011..The gate has been locked by processor 10. 18273 * 0b1100..The gate has been locked by processor 11. 18274 * 0b1101..The gate has been locked by processor 12. 18275 * 0b1110..The gate has been locked by processor 13. 18276 * 0b1111..The gate has been locked by processor 14. 18277 */ 18278 #define SEMA42_GATE7_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE7_GTFSM_SHIFT)) & SEMA42_GATE7_GTFSM_MASK) 18279 /*! @} */ 18280 18281 /*! @name GATE6 - Gate Register */ 18282 /*! @{ */ 18283 #define SEMA42_GATE6_GTFSM_MASK (0xFU) 18284 #define SEMA42_GATE6_GTFSM_SHIFT (0U) 18285 /*! GTFSM - GTFSM 18286 * 0b0000..The gate is unlocked (free). 18287 * 0b0001..The gate has been locked by processor 0. 18288 * 0b0010..The gate has been locked by processor 1. 18289 * 0b0011..The gate has been locked by processor 2. 18290 * 0b0100..The gate has been locked by processor 3. 18291 * 0b0101..The gate has been locked by processor 4. 18292 * 0b0110..The gate has been locked by processor 5. 18293 * 0b0111..The gate has been locked by processor 6. 18294 * 0b1000..The gate has been locked by processor 7. 18295 * 0b1001..The gate has been locked by processor 8. 18296 * 0b1010..The gate has been locked by processor 9. 18297 * 0b1011..The gate has been locked by processor 10. 18298 * 0b1100..The gate has been locked by processor 11. 18299 * 0b1101..The gate has been locked by processor 12. 18300 * 0b1110..The gate has been locked by processor 13. 18301 * 0b1111..The gate has been locked by processor 14. 18302 */ 18303 #define SEMA42_GATE6_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE6_GTFSM_SHIFT)) & SEMA42_GATE6_GTFSM_MASK) 18304 /*! @} */ 18305 18306 /*! @name GATE5 - Gate Register */ 18307 /*! @{ */ 18308 #define SEMA42_GATE5_GTFSM_MASK (0xFU) 18309 #define SEMA42_GATE5_GTFSM_SHIFT (0U) 18310 /*! GTFSM - GTFSM 18311 * 0b0000..The gate is unlocked (free). 18312 * 0b0001..The gate has been locked by processor 0. 18313 * 0b0010..The gate has been locked by processor 1. 18314 * 0b0011..The gate has been locked by processor 2. 18315 * 0b0100..The gate has been locked by processor 3. 18316 * 0b0101..The gate has been locked by processor 4. 18317 * 0b0110..The gate has been locked by processor 5. 18318 * 0b0111..The gate has been locked by processor 6. 18319 * 0b1000..The gate has been locked by processor 7. 18320 * 0b1001..The gate has been locked by processor 8. 18321 * 0b1010..The gate has been locked by processor 9. 18322 * 0b1011..The gate has been locked by processor 10. 18323 * 0b1100..The gate has been locked by processor 11. 18324 * 0b1101..The gate has been locked by processor 12. 18325 * 0b1110..The gate has been locked by processor 13. 18326 * 0b1111..The gate has been locked by processor 14. 18327 */ 18328 #define SEMA42_GATE5_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE5_GTFSM_SHIFT)) & SEMA42_GATE5_GTFSM_MASK) 18329 /*! @} */ 18330 18331 /*! @name GATE4 - Gate Register */ 18332 /*! @{ */ 18333 #define SEMA42_GATE4_GTFSM_MASK (0xFU) 18334 #define SEMA42_GATE4_GTFSM_SHIFT (0U) 18335 /*! GTFSM - GTFSM 18336 * 0b0000..The gate is unlocked (free). 18337 * 0b0001..The gate has been locked by processor 0. 18338 * 0b0010..The gate has been locked by processor 1. 18339 * 0b0011..The gate has been locked by processor 2. 18340 * 0b0100..The gate has been locked by processor 3. 18341 * 0b0101..The gate has been locked by processor 4. 18342 * 0b0110..The gate has been locked by processor 5. 18343 * 0b0111..The gate has been locked by processor 6. 18344 * 0b1000..The gate has been locked by processor 7. 18345 * 0b1001..The gate has been locked by processor 8. 18346 * 0b1010..The gate has been locked by processor 9. 18347 * 0b1011..The gate has been locked by processor 10. 18348 * 0b1100..The gate has been locked by processor 11. 18349 * 0b1101..The gate has been locked by processor 12. 18350 * 0b1110..The gate has been locked by processor 13. 18351 * 0b1111..The gate has been locked by processor 14. 18352 */ 18353 #define SEMA42_GATE4_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE4_GTFSM_SHIFT)) & SEMA42_GATE4_GTFSM_MASK) 18354 /*! @} */ 18355 18356 /*! @name GATE11 - Gate Register */ 18357 /*! @{ */ 18358 #define SEMA42_GATE11_GTFSM_MASK (0xFU) 18359 #define SEMA42_GATE11_GTFSM_SHIFT (0U) 18360 /*! GTFSM - GTFSM 18361 * 0b0000..The gate is unlocked (free). 18362 * 0b0001..The gate has been locked by processor 0. 18363 * 0b0010..The gate has been locked by processor 1. 18364 * 0b0011..The gate has been locked by processor 2. 18365 * 0b0100..The gate has been locked by processor 3. 18366 * 0b0101..The gate has been locked by processor 4. 18367 * 0b0110..The gate has been locked by processor 5. 18368 * 0b0111..The gate has been locked by processor 6. 18369 * 0b1000..The gate has been locked by processor 7. 18370 * 0b1001..The gate has been locked by processor 8. 18371 * 0b1010..The gate has been locked by processor 9. 18372 * 0b1011..The gate has been locked by processor 10. 18373 * 0b1100..The gate has been locked by processor 11. 18374 * 0b1101..The gate has been locked by processor 12. 18375 * 0b1110..The gate has been locked by processor 13. 18376 * 0b1111..The gate has been locked by processor 14. 18377 */ 18378 #define SEMA42_GATE11_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE11_GTFSM_SHIFT)) & SEMA42_GATE11_GTFSM_MASK) 18379 /*! @} */ 18380 18381 /*! @name GATE10 - Gate Register */ 18382 /*! @{ */ 18383 #define SEMA42_GATE10_GTFSM_MASK (0xFU) 18384 #define SEMA42_GATE10_GTFSM_SHIFT (0U) 18385 /*! GTFSM - GTFSM 18386 * 0b0000..The gate is unlocked (free). 18387 * 0b0001..The gate has been locked by processor 0. 18388 * 0b0010..The gate has been locked by processor 1. 18389 * 0b0011..The gate has been locked by processor 2. 18390 * 0b0100..The gate has been locked by processor 3. 18391 * 0b0101..The gate has been locked by processor 4. 18392 * 0b0110..The gate has been locked by processor 5. 18393 * 0b0111..The gate has been locked by processor 6. 18394 * 0b1000..The gate has been locked by processor 7. 18395 * 0b1001..The gate has been locked by processor 8. 18396 * 0b1010..The gate has been locked by processor 9. 18397 * 0b1011..The gate has been locked by processor 10. 18398 * 0b1100..The gate has been locked by processor 11. 18399 * 0b1101..The gate has been locked by processor 12. 18400 * 0b1110..The gate has been locked by processor 13. 18401 * 0b1111..The gate has been locked by processor 14. 18402 */ 18403 #define SEMA42_GATE10_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE10_GTFSM_SHIFT)) & SEMA42_GATE10_GTFSM_MASK) 18404 /*! @} */ 18405 18406 /*! @name GATE9 - Gate Register */ 18407 /*! @{ */ 18408 #define SEMA42_GATE9_GTFSM_MASK (0xFU) 18409 #define SEMA42_GATE9_GTFSM_SHIFT (0U) 18410 /*! GTFSM - GTFSM 18411 * 0b0000..The gate is unlocked (free). 18412 * 0b0001..The gate has been locked by processor 0. 18413 * 0b0010..The gate has been locked by processor 1. 18414 * 0b0011..The gate has been locked by processor 2. 18415 * 0b0100..The gate has been locked by processor 3. 18416 * 0b0101..The gate has been locked by processor 4. 18417 * 0b0110..The gate has been locked by processor 5. 18418 * 0b0111..The gate has been locked by processor 6. 18419 * 0b1000..The gate has been locked by processor 7. 18420 * 0b1001..The gate has been locked by processor 8. 18421 * 0b1010..The gate has been locked by processor 9. 18422 * 0b1011..The gate has been locked by processor 10. 18423 * 0b1100..The gate has been locked by processor 11. 18424 * 0b1101..The gate has been locked by processor 12. 18425 * 0b1110..The gate has been locked by processor 13. 18426 * 0b1111..The gate has been locked by processor 14. 18427 */ 18428 #define SEMA42_GATE9_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE9_GTFSM_SHIFT)) & SEMA42_GATE9_GTFSM_MASK) 18429 /*! @} */ 18430 18431 /*! @name GATE8 - Gate Register */ 18432 /*! @{ */ 18433 #define SEMA42_GATE8_GTFSM_MASK (0xFU) 18434 #define SEMA42_GATE8_GTFSM_SHIFT (0U) 18435 /*! GTFSM - GTFSM 18436 * 0b0000..The gate is unlocked (free). 18437 * 0b0001..The gate has been locked by processor 0. 18438 * 0b0010..The gate has been locked by processor 1. 18439 * 0b0011..The gate has been locked by processor 2. 18440 * 0b0100..The gate has been locked by processor 3. 18441 * 0b0101..The gate has been locked by processor 4. 18442 * 0b0110..The gate has been locked by processor 5. 18443 * 0b0111..The gate has been locked by processor 6. 18444 * 0b1000..The gate has been locked by processor 7. 18445 * 0b1001..The gate has been locked by processor 8. 18446 * 0b1010..The gate has been locked by processor 9. 18447 * 0b1011..The gate has been locked by processor 10. 18448 * 0b1100..The gate has been locked by processor 11. 18449 * 0b1101..The gate has been locked by processor 12. 18450 * 0b1110..The gate has been locked by processor 13. 18451 * 0b1111..The gate has been locked by processor 14. 18452 */ 18453 #define SEMA42_GATE8_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE8_GTFSM_SHIFT)) & SEMA42_GATE8_GTFSM_MASK) 18454 /*! @} */ 18455 18456 /*! @name GATE15 - Gate Register */ 18457 /*! @{ */ 18458 #define SEMA42_GATE15_GTFSM_MASK (0xFU) 18459 #define SEMA42_GATE15_GTFSM_SHIFT (0U) 18460 /*! GTFSM - GTFSM 18461 * 0b0000..The gate is unlocked (free). 18462 * 0b0001..The gate has been locked by processor 0. 18463 * 0b0010..The gate has been locked by processor 1. 18464 * 0b0011..The gate has been locked by processor 2. 18465 * 0b0100..The gate has been locked by processor 3. 18466 * 0b0101..The gate has been locked by processor 4. 18467 * 0b0110..The gate has been locked by processor 5. 18468 * 0b0111..The gate has been locked by processor 6. 18469 * 0b1000..The gate has been locked by processor 7. 18470 * 0b1001..The gate has been locked by processor 8. 18471 * 0b1010..The gate has been locked by processor 9. 18472 * 0b1011..The gate has been locked by processor 10. 18473 * 0b1100..The gate has been locked by processor 11. 18474 * 0b1101..The gate has been locked by processor 12. 18475 * 0b1110..The gate has been locked by processor 13. 18476 * 0b1111..The gate has been locked by processor 14. 18477 */ 18478 #define SEMA42_GATE15_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE15_GTFSM_SHIFT)) & SEMA42_GATE15_GTFSM_MASK) 18479 /*! @} */ 18480 18481 /*! @name GATE14 - Gate Register */ 18482 /*! @{ */ 18483 #define SEMA42_GATE14_GTFSM_MASK (0xFU) 18484 #define SEMA42_GATE14_GTFSM_SHIFT (0U) 18485 /*! GTFSM - GTFSM 18486 * 0b0000..The gate is unlocked (free). 18487 * 0b0001..The gate has been locked by processor 0. 18488 * 0b0010..The gate has been locked by processor 1. 18489 * 0b0011..The gate has been locked by processor 2. 18490 * 0b0100..The gate has been locked by processor 3. 18491 * 0b0101..The gate has been locked by processor 4. 18492 * 0b0110..The gate has been locked by processor 5. 18493 * 0b0111..The gate has been locked by processor 6. 18494 * 0b1000..The gate has been locked by processor 7. 18495 * 0b1001..The gate has been locked by processor 8. 18496 * 0b1010..The gate has been locked by processor 9. 18497 * 0b1011..The gate has been locked by processor 10. 18498 * 0b1100..The gate has been locked by processor 11. 18499 * 0b1101..The gate has been locked by processor 12. 18500 * 0b1110..The gate has been locked by processor 13. 18501 * 0b1111..The gate has been locked by processor 14. 18502 */ 18503 #define SEMA42_GATE14_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE14_GTFSM_SHIFT)) & SEMA42_GATE14_GTFSM_MASK) 18504 /*! @} */ 18505 18506 /*! @name GATE13 - Gate Register */ 18507 /*! @{ */ 18508 #define SEMA42_GATE13_GTFSM_MASK (0xFU) 18509 #define SEMA42_GATE13_GTFSM_SHIFT (0U) 18510 /*! GTFSM - GTFSM 18511 * 0b0000..The gate is unlocked (free). 18512 * 0b0001..The gate has been locked by processor 0. 18513 * 0b0010..The gate has been locked by processor 1. 18514 * 0b0011..The gate has been locked by processor 2. 18515 * 0b0100..The gate has been locked by processor 3. 18516 * 0b0101..The gate has been locked by processor 4. 18517 * 0b0110..The gate has been locked by processor 5. 18518 * 0b0111..The gate has been locked by processor 6. 18519 * 0b1000..The gate has been locked by processor 7. 18520 * 0b1001..The gate has been locked by processor 8. 18521 * 0b1010..The gate has been locked by processor 9. 18522 * 0b1011..The gate has been locked by processor 10. 18523 * 0b1100..The gate has been locked by processor 11. 18524 * 0b1101..The gate has been locked by processor 12. 18525 * 0b1110..The gate has been locked by processor 13. 18526 * 0b1111..The gate has been locked by processor 14. 18527 */ 18528 #define SEMA42_GATE13_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE13_GTFSM_SHIFT)) & SEMA42_GATE13_GTFSM_MASK) 18529 /*! @} */ 18530 18531 /*! @name GATE12 - Gate Register */ 18532 /*! @{ */ 18533 #define SEMA42_GATE12_GTFSM_MASK (0xFU) 18534 #define SEMA42_GATE12_GTFSM_SHIFT (0U) 18535 /*! GTFSM - GTFSM 18536 * 0b0000..The gate is unlocked (free). 18537 * 0b0001..The gate has been locked by processor 0. 18538 * 0b0010..The gate has been locked by processor 1. 18539 * 0b0011..The gate has been locked by processor 2. 18540 * 0b0100..The gate has been locked by processor 3. 18541 * 0b0101..The gate has been locked by processor 4. 18542 * 0b0110..The gate has been locked by processor 5. 18543 * 0b0111..The gate has been locked by processor 6. 18544 * 0b1000..The gate has been locked by processor 7. 18545 * 0b1001..The gate has been locked by processor 8. 18546 * 0b1010..The gate has been locked by processor 9. 18547 * 0b1011..The gate has been locked by processor 10. 18548 * 0b1100..The gate has been locked by processor 11. 18549 * 0b1101..The gate has been locked by processor 12. 18550 * 0b1110..The gate has been locked by processor 13. 18551 * 0b1111..The gate has been locked by processor 14. 18552 */ 18553 #define SEMA42_GATE12_GTFSM(x) (((uint8_t)(((uint8_t)(x)) << SEMA42_GATE12_GTFSM_SHIFT)) & SEMA42_GATE12_GTFSM_MASK) 18554 /*! @} */ 18555 18556 /*! @name RSTGT_R - Reset Gate Read */ 18557 /*! @{ */ 18558 #define SEMA42_RSTGT_R_RSTGTN_MASK (0xFFU) 18559 #define SEMA42_RSTGT_R_RSTGTN_SHIFT (0U) 18560 #define SEMA42_RSTGT_R_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGTN_SHIFT)) & SEMA42_RSTGT_R_RSTGTN_MASK) 18561 #define SEMA42_RSTGT_R_RSTGMS_MASK (0xF00U) 18562 #define SEMA42_RSTGT_R_RSTGMS_SHIFT (8U) 18563 #define SEMA42_RSTGT_R_RSTGMS(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGMS_SHIFT)) & SEMA42_RSTGT_R_RSTGMS_MASK) 18564 #define SEMA42_RSTGT_R_RSTGSM_MASK (0x3000U) 18565 #define SEMA42_RSTGT_R_RSTGSM_SHIFT (12U) 18566 /*! RSTGSM - RSTGSM 18567 * 0b00..Idle, waiting for the first data pattern write. 18568 * 0b01..Waiting for the second data pattern write. 18569 * 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. 18570 * 0b11..This state encoding is never used and therefore reserved. 18571 */ 18572 #define SEMA42_RSTGT_R_RSTGSM(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_RSTGSM_SHIFT)) & SEMA42_RSTGT_R_RSTGSM_MASK) 18573 #define SEMA42_RSTGT_R_ROZ_MASK (0xC000U) 18574 #define SEMA42_RSTGT_R_ROZ_SHIFT (14U) 18575 #define SEMA42_RSTGT_R_ROZ(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_R_ROZ_SHIFT)) & SEMA42_RSTGT_R_ROZ_MASK) 18576 /*! @} */ 18577 18578 /*! @name RSTGT_W - Reset Gate Write */ 18579 /*! @{ */ 18580 #define SEMA42_RSTGT_W_RSTGTN_MASK (0xFFU) 18581 #define SEMA42_RSTGT_W_RSTGTN_SHIFT (0U) 18582 #define SEMA42_RSTGT_W_RSTGTN(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_W_RSTGTN_SHIFT)) & SEMA42_RSTGT_W_RSTGTN_MASK) 18583 #define SEMA42_RSTGT_W_RSTGDP_MASK (0xFF00U) 18584 #define SEMA42_RSTGT_W_RSTGDP_SHIFT (8U) 18585 #define SEMA42_RSTGT_W_RSTGDP(x) (((uint16_t)(((uint16_t)(x)) << SEMA42_RSTGT_W_RSTGDP_SHIFT)) & SEMA42_RSTGT_W_RSTGDP_MASK) 18586 /*! @} */ 18587 18588 18589 /*! 18590 * @} 18591 */ /* end of group SEMA42_Register_Masks */ 18592 18593 18594 /* SEMA42 - Peripheral instance base addresses */ 18595 /** Peripheral SEMA420 base address */ 18596 #define SEMA420_BASE (0x4001B000u) 18597 /** Peripheral SEMA420 base pointer */ 18598 #define SEMA420 ((SEMA42_Type *)SEMA420_BASE) 18599 /** Peripheral SEMA421 base address */ 18600 #define SEMA421_BASE (0x4101B000u) 18601 /** Peripheral SEMA421 base pointer */ 18602 #define SEMA421 ((SEMA42_Type *)SEMA421_BASE) 18603 /** Array initializer of SEMA42 peripheral base addresses */ 18604 #define SEMA42_BASE_ADDRS { SEMA420_BASE, SEMA421_BASE } 18605 /** Array initializer of SEMA42 peripheral base pointers */ 18606 #define SEMA42_BASE_PTRS { SEMA420, SEMA421 } 18607 18608 /*! 18609 * @} 18610 */ /* end of group SEMA42_Peripheral_Access_Layer */ 18611 18612 18613 /* ---------------------------------------------------------------------------- 18614 -- SIM Peripheral Access Layer 18615 ---------------------------------------------------------------------------- */ 18616 18617 /*! 18618 * @addtogroup SIM_Peripheral_Access_Layer SIM Peripheral Access Layer 18619 * @{ 18620 */ 18621 18622 /** SIM - Register Layout Typedef */ 18623 typedef struct { 18624 uint8_t RESERVED_0[4]; 18625 __IO uint32_t CHIPCTRL; /**< Chip Control Register, offset: 0x4 */ 18626 uint8_t RESERVED_1[28]; 18627 __I uint32_t SDID; /**< System Device Identification Register, offset: 0x24 */ 18628 uint8_t RESERVED_2[36]; 18629 __IO uint32_t FCFG1; /**< Flash Configuration Register 1, offset: 0x4C */ 18630 __I uint32_t FCFG2; /**< Flash Configuration Register 2, offset: 0x50 */ 18631 uint8_t RESERVED_3[4]; 18632 __I uint32_t UIDH; /**< Unique Identification Register High, offset: 0x58 */ 18633 __I uint32_t UIDM; /**< Unique Identification Register Mid Middle, offset: 0x5C */ 18634 __I uint32_t UIDL; /**< Unique Identification Register Mid Low, offset: 0x60 */ 18635 __I uint32_t RFADDRL; /**< RF Mac Address Low, offset: 0x64 */ 18636 __I uint32_t RFADDRH; /**< RF MAC Address High, offset: 0x68 */ 18637 uint8_t RESERVED_4[4]; 18638 __IO uint32_t MISC2; /**< MISC2 Register, offset: 0x70 */ 18639 } SIM_Type; 18640 18641 /* ---------------------------------------------------------------------------- 18642 -- SIM Register Masks 18643 ---------------------------------------------------------------------------- */ 18644 18645 /*! 18646 * @addtogroup SIM_Register_Masks SIM Register Masks 18647 * @{ 18648 */ 18649 18650 /*! @name CHIPCTRL - Chip Control Register */ 18651 /*! @{ */ 18652 #define SIM_CHIPCTRL_FBSL_MASK (0x300U) 18653 #define SIM_CHIPCTRL_FBSL_SHIFT (8U) 18654 /*! FBSL - FLEXBUS security level 18655 * 0b00..All off-chip access(instruction and data) via the Flexbus or sdram are disallowed 18656 * 0b01..All off-chip access(instruction and data) via the Flexbus or sdram are disallowed 18657 * 0b10..off-chip instruction access are disallowed, data access are allowed 18658 * 0b11..off-chip instruction access and data access are allowed 18659 */ 18660 #define SIM_CHIPCTRL_FBSL(x) (((uint32_t)(((uint32_t)(x)) << SIM_CHIPCTRL_FBSL_SHIFT)) & SIM_CHIPCTRL_FBSL_MASK) 18661 /*! @} */ 18662 18663 /*! @name SDID - System Device Identification Register */ 18664 /*! @{ */ 18665 #define SIM_SDID_PINID_MASK (0xFU) 18666 #define SIM_SDID_PINID_SHIFT (0U) 18667 /*! PINID - PINID 18668 * 0b1000..176-pin 18669 * 0b1101..191-pin 18670 */ 18671 #define SIM_SDID_PINID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_PINID_SHIFT)) & SIM_SDID_PINID_MASK) 18672 #define SIM_SDID_DIEID_MASK (0xF80U) 18673 #define SIM_SDID_DIEID_SHIFT (7U) 18674 #define SIM_SDID_DIEID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_DIEID_SHIFT)) & SIM_SDID_DIEID_MASK) 18675 #define SIM_SDID_REVID_MASK (0xF000U) 18676 #define SIM_SDID_REVID_SHIFT (12U) 18677 #define SIM_SDID_REVID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_REVID_SHIFT)) & SIM_SDID_REVID_MASK) 18678 #define SIM_SDID_SERIESID_MASK (0xF00000U) 18679 #define SIM_SDID_SERIESID_SHIFT (20U) 18680 #define SIM_SDID_SERIESID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_SERIESID_SHIFT)) & SIM_SDID_SERIESID_MASK) 18681 #define SIM_SDID_SUBFAMID_MASK (0xF000000U) 18682 #define SIM_SDID_SUBFAMID_SHIFT (24U) 18683 /*! SUBFAMID - SUBFAMID 18684 * 0b0010..02 18685 * 0b0011..03 18686 * 0b0100..04 18687 */ 18688 #define SIM_SDID_SUBFAMID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_SUBFAMID_SHIFT)) & SIM_SDID_SUBFAMID_MASK) 18689 #define SIM_SDID_FAMID_MASK (0xF0000000U) 18690 #define SIM_SDID_FAMID_SHIFT (28U) 18691 /*! FAMID - FAMID 18692 * 0b0000..RV32M1 18693 */ 18694 #define SIM_SDID_FAMID(x) (((uint32_t)(((uint32_t)(x)) << SIM_SDID_FAMID_SHIFT)) & SIM_SDID_FAMID_MASK) 18695 /*! @} */ 18696 18697 /*! @name FCFG1 - Flash Configuration Register 1 */ 18698 /*! @{ */ 18699 #define SIM_FCFG1_FLASHDIS_MASK (0x1U) 18700 #define SIM_FCFG1_FLASHDIS_SHIFT (0U) 18701 /*! FLASHDIS - Flash disable 18702 * 0b0..Flash is enabled 18703 * 0b1..Flash is disabled 18704 */ 18705 #define SIM_FCFG1_FLASHDIS(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_FLASHDIS_SHIFT)) & SIM_FCFG1_FLASHDIS_MASK) 18706 #define SIM_FCFG1_FLASHDOZE_MASK (0x2U) 18707 #define SIM_FCFG1_FLASHDOZE_SHIFT (1U) 18708 /*! FLASHDOZE - Flash Doze 18709 * 0b0..Flash remains enabled during Doze mode 18710 * 0b1..Flash is disabled for the duration of Doze mode 18711 */ 18712 #define SIM_FCFG1_FLASHDOZE(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_FLASHDOZE_SHIFT)) & SIM_FCFG1_FLASHDOZE_MASK) 18713 #define SIM_FCFG1_FLSAUTODISEN_MASK (0x4U) 18714 #define SIM_FCFG1_FLSAUTODISEN_SHIFT (2U) 18715 /*! FLSAUTODISEN - Flash auto disable enabled. 18716 * 0b0..Disable flash auto disable function 18717 * 0b1..Enable flash auto disable function 18718 */ 18719 #define SIM_FCFG1_FLSAUTODISEN(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_FLSAUTODISEN_SHIFT)) & SIM_FCFG1_FLSAUTODISEN_MASK) 18720 #define SIM_FCFG1_FLSAUTODISWD_MASK (0x3FF8U) 18721 #define SIM_FCFG1_FLSAUTODISWD_SHIFT (3U) 18722 #define SIM_FCFG1_FLSAUTODISWD(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_FLSAUTODISWD_SHIFT)) & SIM_FCFG1_FLSAUTODISWD_MASK) 18723 #define SIM_FCFG1_CORE1_SRAMSIZE_MASK (0xF0000U) 18724 #define SIM_FCFG1_CORE1_SRAMSIZE_SHIFT (16U) 18725 /*! CORE1_SRAMSIZE 18726 * 0b1001..CM0+ has 128 KB SRAM 18727 */ 18728 #define SIM_FCFG1_CORE1_SRAMSIZE(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_CORE1_SRAMSIZE_SHIFT)) & SIM_FCFG1_CORE1_SRAMSIZE_MASK) 18729 #define SIM_FCFG1_CORE0_SRAMSIZE_MASK (0xF00000U) 18730 #define SIM_FCFG1_CORE0_SRAMSIZE_SHIFT (20U) 18731 /*! CORE0_SRAMSIZE 18732 * 0b1010..CM4 has 256 KB SRAM 18733 */ 18734 #define SIM_FCFG1_CORE0_SRAMSIZE(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_CORE0_SRAMSIZE_SHIFT)) & SIM_FCFG1_CORE0_SRAMSIZE_MASK) 18735 #define SIM_FCFG1_CORE1_PFSIZE_MASK (0xF000000U) 18736 #define SIM_FCFG1_CORE1_PFSIZE_SHIFT (24U) 18737 /*! CORE1_PFSIZE 18738 * 0b1010..CM0+ has 256 KB flash size. 18739 */ 18740 #define SIM_FCFG1_CORE1_PFSIZE(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_CORE1_PFSIZE_SHIFT)) & SIM_FCFG1_CORE1_PFSIZE_MASK) 18741 #define SIM_FCFG1_CORE0_PFSIZE_MASK (0xF0000000U) 18742 #define SIM_FCFG1_CORE0_PFSIZE_SHIFT (28U) 18743 /*! CORE0_PFSIZE 18744 * 0b1100..CM4 has 1 MB flash size. 18745 */ 18746 #define SIM_FCFG1_CORE0_PFSIZE(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG1_CORE0_PFSIZE_SHIFT)) & SIM_FCFG1_CORE0_PFSIZE_MASK) 18747 /*! @} */ 18748 18749 /*! @name FCFG2 - Flash Configuration Register 2 */ 18750 /*! @{ */ 18751 #define SIM_FCFG2_MAXADDR2_MASK (0x3F0000U) 18752 #define SIM_FCFG2_MAXADDR2_SHIFT (16U) 18753 #define SIM_FCFG2_MAXADDR2(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG2_MAXADDR2_SHIFT)) & SIM_FCFG2_MAXADDR2_MASK) 18754 #define SIM_FCFG2_MAXADDR01_MASK (0x7F000000U) 18755 #define SIM_FCFG2_MAXADDR01_SHIFT (24U) 18756 #define SIM_FCFG2_MAXADDR01(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG2_MAXADDR01_SHIFT)) & SIM_FCFG2_MAXADDR01_MASK) 18757 #define SIM_FCFG2_SWAP_MASK (0x80000000U) 18758 #define SIM_FCFG2_SWAP_SHIFT (31U) 18759 /*! SWAP - SWAP 18760 * 0b0..Logical P-flash Block 0 is located at relative address 0x0000 18761 * 0b1..Logical P-flash Block 1 is located at relative address 0x0000 18762 */ 18763 #define SIM_FCFG2_SWAP(x) (((uint32_t)(((uint32_t)(x)) << SIM_FCFG2_SWAP_SHIFT)) & SIM_FCFG2_SWAP_MASK) 18764 /*! @} */ 18765 18766 /*! @name UIDH - Unique Identification Register High */ 18767 /*! @{ */ 18768 #define SIM_UIDH_UID_MASK (0xFFFFU) 18769 #define SIM_UIDH_UID_SHIFT (0U) 18770 #define SIM_UIDH_UID(x) (((uint32_t)(((uint32_t)(x)) << SIM_UIDH_UID_SHIFT)) & SIM_UIDH_UID_MASK) 18771 /*! @} */ 18772 18773 /*! @name UIDM - Unique Identification Register Mid Middle */ 18774 /*! @{ */ 18775 #define SIM_UIDM_UID_MASK (0xFFFFFFFFU) 18776 #define SIM_UIDM_UID_SHIFT (0U) 18777 #define SIM_UIDM_UID(x) (((uint32_t)(((uint32_t)(x)) << SIM_UIDM_UID_SHIFT)) & SIM_UIDM_UID_MASK) 18778 /*! @} */ 18779 18780 /*! @name UIDL - Unique Identification Register Mid Low */ 18781 /*! @{ */ 18782 #define SIM_UIDL_UID_MASK (0xFFFFFFFFU) 18783 #define SIM_UIDL_UID_SHIFT (0U) 18784 #define SIM_UIDL_UID(x) (((uint32_t)(((uint32_t)(x)) << SIM_UIDL_UID_SHIFT)) & SIM_UIDL_UID_MASK) 18785 /*! @} */ 18786 18787 /*! @name RFADDRL - RF Mac Address Low */ 18788 /*! @{ */ 18789 #define SIM_RFADDRL_MACADDR0_MASK (0xFFU) 18790 #define SIM_RFADDRL_MACADDR0_SHIFT (0U) 18791 #define SIM_RFADDRL_MACADDR0(x) (((uint32_t)(((uint32_t)(x)) << SIM_RFADDRL_MACADDR0_SHIFT)) & SIM_RFADDRL_MACADDR0_MASK) 18792 #define SIM_RFADDRL_MACADDR1_MASK (0xFF00U) 18793 #define SIM_RFADDRL_MACADDR1_SHIFT (8U) 18794 #define SIM_RFADDRL_MACADDR1(x) (((uint32_t)(((uint32_t)(x)) << SIM_RFADDRL_MACADDR1_SHIFT)) & SIM_RFADDRL_MACADDR1_MASK) 18795 #define SIM_RFADDRL_MACADDR2_MASK (0xFF0000U) 18796 #define SIM_RFADDRL_MACADDR2_SHIFT (16U) 18797 #define SIM_RFADDRL_MACADDR2(x) (((uint32_t)(((uint32_t)(x)) << SIM_RFADDRL_MACADDR2_SHIFT)) & SIM_RFADDRL_MACADDR2_MASK) 18798 #define SIM_RFADDRL_MACADDR3_MASK (0xFF000000U) 18799 #define SIM_RFADDRL_MACADDR3_SHIFT (24U) 18800 #define SIM_RFADDRL_MACADDR3(x) (((uint32_t)(((uint32_t)(x)) << SIM_RFADDRL_MACADDR3_SHIFT)) & SIM_RFADDRL_MACADDR3_MASK) 18801 /*! @} */ 18802 18803 /*! @name RFADDRH - RF MAC Address High */ 18804 /*! @{ */ 18805 #define SIM_RFADDRH_MACADDR4_MASK (0xFFU) 18806 #define SIM_RFADDRH_MACADDR4_SHIFT (0U) 18807 #define SIM_RFADDRH_MACADDR4(x) (((uint32_t)(((uint32_t)(x)) << SIM_RFADDRH_MACADDR4_SHIFT)) & SIM_RFADDRH_MACADDR4_MASK) 18808 /*! @} */ 18809 18810 /*! @name MISC2 - MISC2 Register */ 18811 /*! @{ */ 18812 #define SIM_MISC2_SYSTICK_CLK_EN_MASK (0x1U) 18813 #define SIM_MISC2_SYSTICK_CLK_EN_SHIFT (0U) 18814 /*! systick_clk_en - Systick clock enable 18815 * 0b0..Systick clock is disabled 18816 * 0b1..Systick clock is enabled 18817 */ 18818 #define SIM_MISC2_SYSTICK_CLK_EN(x) (((uint32_t)(((uint32_t)(x)) << SIM_MISC2_SYSTICK_CLK_EN_SHIFT)) & SIM_MISC2_SYSTICK_CLK_EN_MASK) 18819 /*! @} */ 18820 18821 18822 /*! 18823 * @} 18824 */ /* end of group SIM_Register_Masks */ 18825 18826 18827 /* SIM - Peripheral instance base addresses */ 18828 /** Peripheral SIM base address */ 18829 #define SIM_BASE (0x40026000u) 18830 /** Peripheral SIM base pointer */ 18831 #define SIM ((SIM_Type *)SIM_BASE) 18832 /** Array initializer of SIM peripheral base addresses */ 18833 #define SIM_BASE_ADDRS { SIM_BASE } 18834 /** Array initializer of SIM peripheral base pointers */ 18835 #define SIM_BASE_PTRS { SIM } 18836 18837 /*! 18838 * @} 18839 */ /* end of group SIM_Peripheral_Access_Layer */ 18840 18841 18842 /* ---------------------------------------------------------------------------- 18843 -- SMC Peripheral Access Layer 18844 ---------------------------------------------------------------------------- */ 18845 18846 /*! 18847 * @addtogroup SMC_Peripheral_Access_Layer SMC Peripheral Access Layer 18848 * @{ 18849 */ 18850 18851 /** SMC - Register Layout Typedef */ 18852 typedef struct { 18853 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 18854 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 18855 __IO uint32_t PMPROT; /**< Power Mode Protection register, offset: 0x8 */ 18856 uint8_t RESERVED_0[4]; 18857 __IO uint32_t PMCTRL; /**< Power Mode Control register, offset: 0x10 */ 18858 uint8_t RESERVED_1[4]; 18859 __IO uint32_t PMSTAT; /**< Power Mode Status register, offset: 0x18 */ 18860 uint8_t RESERVED_2[4]; 18861 __I uint32_t SRS; /**< System Reset Status, offset: 0x20 */ 18862 __IO uint32_t RPC; /**< Reset Pin Control, offset: 0x24 */ 18863 __IO uint32_t SSRS; /**< Sticky System Reset Status, offset: 0x28 */ 18864 __IO uint32_t SRIE; /**< System Reset Interrupt Enable, offset: 0x2C */ 18865 __IO uint32_t SRIF; /**< System Reset Interrupt Flag, offset: 0x30 */ 18866 uint8_t RESERVED_3[12]; 18867 __IO uint32_t MR; /**< Mode Register, offset: 0x40 */ 18868 uint8_t RESERVED_4[12]; 18869 __IO uint32_t FM; /**< Force Mode Register, offset: 0x50 */ 18870 uint8_t RESERVED_5[12]; 18871 __IO uint32_t SRAMLPR; /**< SRAM Low Power Register, offset: 0x60 */ 18872 __IO uint32_t SRAMDSR; /**< SRAM Deep Sleep Register, offset: 0x64 */ 18873 } SMC_Type; 18874 18875 /* ---------------------------------------------------------------------------- 18876 -- SMC Register Masks 18877 ---------------------------------------------------------------------------- */ 18878 18879 /*! 18880 * @addtogroup SMC_Register_Masks SMC Register Masks 18881 * @{ 18882 */ 18883 18884 /*! @name VERID - Version ID Register */ 18885 /*! @{ */ 18886 #define SMC_VERID_FEATURE_MASK (0xFFFFU) 18887 #define SMC_VERID_FEATURE_SHIFT (0U) 18888 /*! FEATURE - Feature Specification Number 18889 * 0b0000000010101011..Default features supported 18890 */ 18891 #define SMC_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << SMC_VERID_FEATURE_SHIFT)) & SMC_VERID_FEATURE_MASK) 18892 #define SMC_VERID_MINOR_MASK (0xFF0000U) 18893 #define SMC_VERID_MINOR_SHIFT (16U) 18894 #define SMC_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << SMC_VERID_MINOR_SHIFT)) & SMC_VERID_MINOR_MASK) 18895 #define SMC_VERID_MAJOR_MASK (0xFF000000U) 18896 #define SMC_VERID_MAJOR_SHIFT (24U) 18897 #define SMC_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << SMC_VERID_MAJOR_SHIFT)) & SMC_VERID_MAJOR_MASK) 18898 /*! @} */ 18899 18900 /*! @name PARAM - Parameter Register */ 18901 /*! @{ */ 18902 #define SMC_PARAM_PWRD_INDPT_MASK (0x1U) 18903 #define SMC_PARAM_PWRD_INDPT_SHIFT (0U) 18904 #define SMC_PARAM_PWRD_INDPT(x) (((uint32_t)(((uint32_t)(x)) << SMC_PARAM_PWRD_INDPT_SHIFT)) & SMC_PARAM_PWRD_INDPT_MASK) 18905 /*! @} */ 18906 18907 /*! @name PMPROT - Power Mode Protection register */ 18908 /*! @{ */ 18909 #define SMC_PMPROT_AVLLS_MASK (0x3U) 18910 #define SMC_PMPROT_AVLLS_SHIFT (0U) 18911 /*! AVLLS - Allow Very-Low-Leakage Stop Mode 18912 * 0b00..VLLS mode is not allowed 18913 * 0b01..VLLS0/1 mode is allowed 18914 * 0b10..VLLS2/3 mode is allowed 18915 * 0b11..VLLS0/1/2/3 mode is allowed 18916 */ 18917 #define SMC_PMPROT_AVLLS(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMPROT_AVLLS_SHIFT)) & SMC_PMPROT_AVLLS_MASK) 18918 #define SMC_PMPROT_ALLS_MASK (0x8U) 18919 #define SMC_PMPROT_ALLS_SHIFT (3U) 18920 /*! ALLS - Allow Low-Leakage Stop Mode 18921 * 0b0..LLS is not allowed 18922 * 0b1..LLS is allowed 18923 */ 18924 #define SMC_PMPROT_ALLS(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMPROT_ALLS_SHIFT)) & SMC_PMPROT_ALLS_MASK) 18925 #define SMC_PMPROT_AVLP_MASK (0x20U) 18926 #define SMC_PMPROT_AVLP_SHIFT (5U) 18927 /*! AVLP - Allow Very-Low-Power Modes 18928 * 0b0..VLPR, VLPW, and VLPS are not allowed. 18929 * 0b1..VLPR, VLPW, and VLPS are allowed. 18930 */ 18931 #define SMC_PMPROT_AVLP(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMPROT_AVLP_SHIFT)) & SMC_PMPROT_AVLP_MASK) 18932 #define SMC_PMPROT_AHSRUN_MASK (0x80U) 18933 #define SMC_PMPROT_AHSRUN_SHIFT (7U) 18934 /*! AHSRUN - Allow High Speed Run mode 18935 * 0b0..HSRUN is not allowed 18936 * 0b1..HSRUN is allowed 18937 */ 18938 #define SMC_PMPROT_AHSRUN(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMPROT_AHSRUN_SHIFT)) & SMC_PMPROT_AHSRUN_MASK) 18939 /*! @} */ 18940 18941 /*! @name PMCTRL - Power Mode Control register */ 18942 /*! @{ */ 18943 #define SMC_PMCTRL_STOPM_MASK (0x7U) 18944 #define SMC_PMCTRL_STOPM_SHIFT (0U) 18945 /*! STOPM - Stop Mode Control 18946 * 0b000..Normal Stop (STOP) 18947 * 0b001..Reserved 18948 * 0b010..Very-Low-Power Stop (VLPS) 18949 * 0b011..Low-Leakage Stop (LLS) 18950 * 0b100..Very-Low-Leakage Stop with SRAM retention(VLLS2/3) 18951 * 0b101..Reserved 18952 * 0b110..Very-Low-Leakage Stop without SRAM retention (VLLS0/1) 18953 * 0b111..Reserved 18954 */ 18955 #define SMC_PMCTRL_STOPM(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMCTRL_STOPM_SHIFT)) & SMC_PMCTRL_STOPM_MASK) 18956 #define SMC_PMCTRL_RUNM_MASK (0x300U) 18957 #define SMC_PMCTRL_RUNM_SHIFT (8U) 18958 /*! RUNM - Run Mode Control 18959 * 0b00..Normal Run mode (RUN) 18960 * 0b01..Reserved 18961 * 0b10..Very-Low-Power Run mode (VLPR) 18962 * 0b11..High Speed Run mode (HSRUN) 18963 */ 18964 #define SMC_PMCTRL_RUNM(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMCTRL_RUNM_SHIFT)) & SMC_PMCTRL_RUNM_MASK) 18965 #define SMC_PMCTRL_PSTOPO_MASK (0x30000U) 18966 #define SMC_PMCTRL_PSTOPO_SHIFT (16U) 18967 /*! PSTOPO - Partial Stop Option 18968 * 0b00..STOP - Normal Stop mode 18969 * 0b01..PSTOP1 - Partial Stop with system and bus clock disabled 18970 * 0b10..PSTOP2 - Partial Stop with system clock disabled and bus clock enabled 18971 * 0b11..PSTOP3 - Partial Stop with system clock enabled and bus clock enabled 18972 */ 18973 #define SMC_PMCTRL_PSTOPO(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMCTRL_PSTOPO_SHIFT)) & SMC_PMCTRL_PSTOPO_MASK) 18974 /*! @} */ 18975 18976 /*! @name PMSTAT - Power Mode Status register */ 18977 /*! @{ */ 18978 #define SMC_PMSTAT_PMSTAT_MASK (0xFFU) 18979 #define SMC_PMSTAT_PMSTAT_SHIFT (0U) 18980 /*! PMSTAT - Power Mode Status 18981 * 0b00000001..Current power mode is RUN. 18982 * 0b00000010..Current power mode is any STOP mode. 18983 * 0b00000100..Current power mode is VLPR. 18984 * 0b10000000..Current power mode is HSRUN 18985 */ 18986 #define SMC_PMSTAT_PMSTAT(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMSTAT_PMSTAT_SHIFT)) & SMC_PMSTAT_PMSTAT_MASK) 18987 #define SMC_PMSTAT_STOPSTAT_MASK (0xFF000000U) 18988 #define SMC_PMSTAT_STOPSTAT_SHIFT (24U) 18989 #define SMC_PMSTAT_STOPSTAT(x) (((uint32_t)(((uint32_t)(x)) << SMC_PMSTAT_STOPSTAT_SHIFT)) & SMC_PMSTAT_STOPSTAT_MASK) 18990 /*! @} */ 18991 18992 /*! @name SRS - System Reset Status */ 18993 /*! @{ */ 18994 #define SMC_SRS_WAKEUP_MASK (0x1U) 18995 #define SMC_SRS_WAKEUP_SHIFT (0U) 18996 /*! WAKEUP - Wakeup Reset 18997 * 0b0..Reset not generated by wakeup from VLLS mode. 18998 * 0b1..Reset generated by wakeup from VLLS mode. 18999 */ 19000 #define SMC_SRS_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_WAKEUP_SHIFT)) & SMC_SRS_WAKEUP_MASK) 19001 #define SMC_SRS_POR_MASK (0x2U) 19002 #define SMC_SRS_POR_SHIFT (1U) 19003 /*! POR - POR Reset 19004 * 0b0..Reset not generated by POR. 19005 * 0b1..Reset generated by POR. 19006 */ 19007 #define SMC_SRS_POR(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_POR_SHIFT)) & SMC_SRS_POR_MASK) 19008 #define SMC_SRS_LVD_MASK (0x4U) 19009 #define SMC_SRS_LVD_SHIFT (2U) 19010 /*! LVD - LVD Reset 19011 * 0b0..Reset not generated by LVD. 19012 * 0b1..Reset generated by LVD. 19013 */ 19014 #define SMC_SRS_LVD(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_LVD_SHIFT)) & SMC_SRS_LVD_MASK) 19015 #define SMC_SRS_HVD_MASK (0x8U) 19016 #define SMC_SRS_HVD_SHIFT (3U) 19017 /*! HVD - HVD Reset 19018 * 0b0..Reset not generated by HVD. 19019 * 0b1..Reset generated by HVD. 19020 */ 19021 #define SMC_SRS_HVD(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_HVD_SHIFT)) & SMC_SRS_HVD_MASK) 19022 #define SMC_SRS_WARM_MASK (0x10U) 19023 #define SMC_SRS_WARM_SHIFT (4U) 19024 /*! WARM - Warm Reset 19025 * 0b0..Reset not generated by Warm Reset source. 19026 * 0b1..Reset generated by Warm Reset source. 19027 */ 19028 #define SMC_SRS_WARM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_WARM_SHIFT)) & SMC_SRS_WARM_MASK) 19029 #define SMC_SRS_FATAL_MASK (0x20U) 19030 #define SMC_SRS_FATAL_SHIFT (5U) 19031 /*! FATAL - Fatal Reset 19032 * 0b0..Reset was not generated by a fatal reset source. 19033 * 0b1..Reset was generated by a fatal reset source. 19034 */ 19035 #define SMC_SRS_FATAL(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_FATAL_SHIFT)) & SMC_SRS_FATAL_MASK) 19036 #define SMC_SRS_CORE_MASK (0x80U) 19037 #define SMC_SRS_CORE_SHIFT (7U) 19038 /*! CORE - Core Reset 19039 * 0b0..Reset source was not core only reset. 19040 * 0b1..Reset source was core reset and reset the core only. 19041 */ 19042 #define SMC_SRS_CORE(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_CORE_SHIFT)) & SMC_SRS_CORE_MASK) 19043 #define SMC_SRS_PIN_MASK (0x100U) 19044 #define SMC_SRS_PIN_SHIFT (8U) 19045 /*! PIN - Pin Reset 19046 * 0b0..Reset was not generated from the assertion of RESET_B pin. 19047 * 0b1..Reset was generated from the assertion of RESET_B pin. 19048 */ 19049 #define SMC_SRS_PIN(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_PIN_SHIFT)) & SMC_SRS_PIN_MASK) 19050 #define SMC_SRS_MDM_MASK (0x200U) 19051 #define SMC_SRS_MDM_SHIFT (9U) 19052 /*! MDM - MDM Reset 19053 * 0b0..Reset was not generated from the MDM reset request. 19054 * 0b1..Reset was generated from the MDM reset request. 19055 */ 19056 #define SMC_SRS_MDM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_MDM_SHIFT)) & SMC_SRS_MDM_MASK) 19057 #define SMC_SRS_RSTACK_MASK (0x400U) 19058 #define SMC_SRS_RSTACK_SHIFT (10U) 19059 /*! RSTACK - Reset Timeout 19060 * 0b0..Reset not generated from Reset Controller Timeout. 19061 * 0b1..Reset generated from Reset Controller Timeout. 19062 */ 19063 #define SMC_SRS_RSTACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_RSTACK_SHIFT)) & SMC_SRS_RSTACK_MASK) 19064 #define SMC_SRS_STOPACK_MASK (0x800U) 19065 #define SMC_SRS_STOPACK_SHIFT (11U) 19066 /*! STOPACK - Stop Timeout Reset 19067 * 0b0..Reset not generated by Stop Controller Timeout. 19068 * 0b1..Reset generated by Stop Controller Timeout. 19069 */ 19070 #define SMC_SRS_STOPACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_STOPACK_SHIFT)) & SMC_SRS_STOPACK_MASK) 19071 #define SMC_SRS_SCG_MASK (0x1000U) 19072 #define SMC_SRS_SCG_SHIFT (12U) 19073 /*! SCG - SCG Reset 19074 * 0b0..Reset is not generated from an SCG loss of lock or loss of clock. 19075 * 0b1..Reset is generated from an SCG loss of lock or loss of clock. 19076 */ 19077 #define SMC_SRS_SCG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_SCG_SHIFT)) & SMC_SRS_SCG_MASK) 19078 #define SMC_SRS_WDOG_MASK (0x2000U) 19079 #define SMC_SRS_WDOG_SHIFT (13U) 19080 /*! WDOG - Watchdog Reset 19081 * 0b0..Reset is not generated from the WatchDog timeout. 19082 * 0b1..Reset is generated from the WatchDog timeout. 19083 */ 19084 #define SMC_SRS_WDOG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_WDOG_SHIFT)) & SMC_SRS_WDOG_MASK) 19085 #define SMC_SRS_SW_MASK (0x4000U) 19086 #define SMC_SRS_SW_SHIFT (14U) 19087 /*! SW - Software Reset 19088 * 0b0..Reset not generated by software request from core. 19089 * 0b1..Reset generated by software request from core. 19090 */ 19091 #define SMC_SRS_SW(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_SW_SHIFT)) & SMC_SRS_SW_MASK) 19092 #define SMC_SRS_LOCKUP_MASK (0x8000U) 19093 #define SMC_SRS_LOCKUP_SHIFT (15U) 19094 /*! LOCKUP - Lockup Reset 19095 * 0b0..Reset not generated by core lockup or exception. 19096 * 0b1..Reset generated by core lockup or exception. 19097 */ 19098 #define SMC_SRS_LOCKUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_LOCKUP_SHIFT)) & SMC_SRS_LOCKUP_MASK) 19099 #define SMC_SRS_CORE0_MASK (0x10000U) 19100 #define SMC_SRS_CORE0_SHIFT (16U) 19101 /*! CORE0 - Core0 System Reset 19102 * 0b0..Reset not generated from Core0 system reset source. 19103 * 0b1..Reset generated from Core0 system reset source. 19104 */ 19105 #define SMC_SRS_CORE0(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_CORE0_SHIFT)) & SMC_SRS_CORE0_MASK) 19106 #define SMC_SRS_CORE1_MASK (0x20000U) 19107 #define SMC_SRS_CORE1_SHIFT (17U) 19108 /*! CORE1 - Core1 System Reset 19109 * 0b0..Reset not generated from Core1 system reset source. 19110 * 0b1..Reset generated from Core1 system reset source. 19111 */ 19112 #define SMC_SRS_CORE1(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_CORE1_SHIFT)) & SMC_SRS_CORE1_MASK) 19113 #define SMC_SRS_JTAG_MASK (0x10000000U) 19114 #define SMC_SRS_JTAG_SHIFT (28U) 19115 /*! JTAG - JTAG System Reset 19116 * 0b0..Reset not generated by JTAG system reset. 19117 * 0b1..Reset generated by JTAG system reset. 19118 */ 19119 #define SMC_SRS_JTAG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRS_JTAG_SHIFT)) & SMC_SRS_JTAG_MASK) 19120 /*! @} */ 19121 19122 /*! @name RPC - Reset Pin Control */ 19123 /*! @{ */ 19124 #define SMC_RPC_FILTCFG_MASK (0x1FU) 19125 #define SMC_RPC_FILTCFG_SHIFT (0U) 19126 #define SMC_RPC_FILTCFG(x) (((uint32_t)(((uint32_t)(x)) << SMC_RPC_FILTCFG_SHIFT)) & SMC_RPC_FILTCFG_MASK) 19127 #define SMC_RPC_FILTEN_MASK (0x100U) 19128 #define SMC_RPC_FILTEN_SHIFT (8U) 19129 /*! FILTEN - Filter Enable 19130 * 0b0..Slow clock reset pin filter disabled. 19131 * 0b1..Slow clock reset pin filter enabled in Run modes. 19132 */ 19133 #define SMC_RPC_FILTEN(x) (((uint32_t)(((uint32_t)(x)) << SMC_RPC_FILTEN_SHIFT)) & SMC_RPC_FILTEN_MASK) 19134 #define SMC_RPC_LPOFEN_MASK (0x200U) 19135 #define SMC_RPC_LPOFEN_SHIFT (9U) 19136 /*! LPOFEN - LPO Filter Enable 19137 * 0b0..LPO clock reset pin filter disabled. 19138 * 0b1..LPO clock reset pin filter enabled in all modes. 19139 */ 19140 #define SMC_RPC_LPOFEN(x) (((uint32_t)(((uint32_t)(x)) << SMC_RPC_LPOFEN_SHIFT)) & SMC_RPC_LPOFEN_MASK) 19141 /*! @} */ 19142 19143 /*! @name SSRS - Sticky System Reset Status */ 19144 /*! @{ */ 19145 #define SMC_SSRS_WAKEUP_MASK (0x1U) 19146 #define SMC_SSRS_WAKEUP_SHIFT (0U) 19147 /*! WAKEUP - Wakeup Reset 19148 * 0b0..Reset not generated by wakeup from VLLS mode. 19149 * 0b1..Reset generated by wakeup from VLLS mode. 19150 */ 19151 #define SMC_SSRS_WAKEUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_WAKEUP_SHIFT)) & SMC_SSRS_WAKEUP_MASK) 19152 #define SMC_SSRS_POR_MASK (0x2U) 19153 #define SMC_SSRS_POR_SHIFT (1U) 19154 /*! POR - POR Reset 19155 * 0b0..Reset not generated by POR. 19156 * 0b1..Reset generated by POR. 19157 */ 19158 #define SMC_SSRS_POR(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_POR_SHIFT)) & SMC_SSRS_POR_MASK) 19159 #define SMC_SSRS_LVD_MASK (0x4U) 19160 #define SMC_SSRS_LVD_SHIFT (2U) 19161 /*! LVD - LVD Reset 19162 * 0b0..Reset not generated by LVD. 19163 * 0b1..Reset generated by LVD. 19164 */ 19165 #define SMC_SSRS_LVD(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_LVD_SHIFT)) & SMC_SSRS_LVD_MASK) 19166 #define SMC_SSRS_HVD_MASK (0x8U) 19167 #define SMC_SSRS_HVD_SHIFT (3U) 19168 /*! HVD - HVD Reset 19169 * 0b0..Reset not generated by HVD. 19170 * 0b1..Reset generated by HVD. 19171 */ 19172 #define SMC_SSRS_HVD(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_HVD_SHIFT)) & SMC_SSRS_HVD_MASK) 19173 #define SMC_SSRS_WARM_MASK (0x10U) 19174 #define SMC_SSRS_WARM_SHIFT (4U) 19175 /*! WARM - Warm Reset 19176 * 0b0..Reset not generated by system reset source. 19177 * 0b1..Reset generated by system reset source. 19178 */ 19179 #define SMC_SSRS_WARM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_WARM_SHIFT)) & SMC_SSRS_WARM_MASK) 19180 #define SMC_SSRS_FATAL_MASK (0x20U) 19181 #define SMC_SSRS_FATAL_SHIFT (5U) 19182 /*! FATAL - Fatal Reset 19183 * 0b0..Reset was not generated by a fatal reset source. 19184 * 0b1..Reset was generated by a fatal reset source. 19185 */ 19186 #define SMC_SSRS_FATAL(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_FATAL_SHIFT)) & SMC_SSRS_FATAL_MASK) 19187 #define SMC_SSRS_PIN_MASK (0x100U) 19188 #define SMC_SSRS_PIN_SHIFT (8U) 19189 /*! PIN - Pin Reset 19190 * 0b0..Reset was not generated from the RESET_B pin. 19191 * 0b1..Reset was generated from the RESET_B pin. 19192 */ 19193 #define SMC_SSRS_PIN(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_PIN_SHIFT)) & SMC_SSRS_PIN_MASK) 19194 #define SMC_SSRS_MDM_MASK (0x200U) 19195 #define SMC_SSRS_MDM_SHIFT (9U) 19196 /*! MDM - MDM Reset 19197 * 0b0..Reset was not generated from the MDM reset request. 19198 * 0b1..Reset was generated from the MDM reset request. 19199 */ 19200 #define SMC_SSRS_MDM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_MDM_SHIFT)) & SMC_SSRS_MDM_MASK) 19201 #define SMC_SSRS_RSTACK_MASK (0x400U) 19202 #define SMC_SSRS_RSTACK_SHIFT (10U) 19203 /*! RSTACK - Reset Timeout 19204 * 0b0..Reset not generated from Reset Controller Timeout. 19205 * 0b1..Reset generated from Reset Controller Timeout. 19206 */ 19207 #define SMC_SSRS_RSTACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_RSTACK_SHIFT)) & SMC_SSRS_RSTACK_MASK) 19208 #define SMC_SSRS_STOPACK_MASK (0x800U) 19209 #define SMC_SSRS_STOPACK_SHIFT (11U) 19210 /*! STOPACK - Stop Timeout Reset 19211 * 0b0..Reset not generated by Stop Controller Timeout. 19212 * 0b1..Reset generated by Stop Controller Timeout. 19213 */ 19214 #define SMC_SSRS_STOPACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_STOPACK_SHIFT)) & SMC_SSRS_STOPACK_MASK) 19215 #define SMC_SSRS_SCG_MASK (0x1000U) 19216 #define SMC_SSRS_SCG_SHIFT (12U) 19217 /*! SCG - SCG Reset 19218 * 0b0..Reset is not generated from an SCG loss of lock or loss of clock. 19219 * 0b1..Reset is generated from an SCG loss of lock or loss of clock. 19220 */ 19221 #define SMC_SSRS_SCG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_SCG_SHIFT)) & SMC_SSRS_SCG_MASK) 19222 #define SMC_SSRS_WDOG_MASK (0x2000U) 19223 #define SMC_SSRS_WDOG_SHIFT (13U) 19224 /*! WDOG - Watchdog Reset 19225 * 0b0..Reset is not generated from the WatchDog timeout. 19226 * 0b1..Reset is generated from the WatchDog timeout. 19227 */ 19228 #define SMC_SSRS_WDOG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_WDOG_SHIFT)) & SMC_SSRS_WDOG_MASK) 19229 #define SMC_SSRS_SW_MASK (0x4000U) 19230 #define SMC_SSRS_SW_SHIFT (14U) 19231 /*! SW - Software Reset 19232 * 0b0..Reset not generated by software request from core. 19233 * 0b1..Reset generated by software request from core. 19234 */ 19235 #define SMC_SSRS_SW(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_SW_SHIFT)) & SMC_SSRS_SW_MASK) 19236 #define SMC_SSRS_LOCKUP_MASK (0x8000U) 19237 #define SMC_SSRS_LOCKUP_SHIFT (15U) 19238 /*! LOCKUP - Lockup Reset 19239 * 0b0..Reset not generated by core lockup. 19240 * 0b1..Reset generated by core lockup. 19241 */ 19242 #define SMC_SSRS_LOCKUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_LOCKUP_SHIFT)) & SMC_SSRS_LOCKUP_MASK) 19243 #define SMC_SSRS_CORE0_MASK (0x10000U) 19244 #define SMC_SSRS_CORE0_SHIFT (16U) 19245 /*! CORE0 - Core0 Reset 19246 * 0b0..Reset not generated from Core0 reset source. 19247 * 0b1..Reset generated from Core0 reset source. 19248 */ 19249 #define SMC_SSRS_CORE0(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_CORE0_SHIFT)) & SMC_SSRS_CORE0_MASK) 19250 #define SMC_SSRS_CORE1_MASK (0x20000U) 19251 #define SMC_SSRS_CORE1_SHIFT (17U) 19252 /*! CORE1 - Core1 Reset 19253 * 0b0..Reset not generated from Core1 reset source. 19254 * 0b1..Reset generated from Core1 reset source. 19255 */ 19256 #define SMC_SSRS_CORE1(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_CORE1_SHIFT)) & SMC_SSRS_CORE1_MASK) 19257 #define SMC_SSRS_JTAG_MASK (0x10000000U) 19258 #define SMC_SSRS_JTAG_SHIFT (28U) 19259 /*! JTAG - JTAG System Reset 19260 * 0b0..Reset not generated by JTAG system reset. 19261 * 0b1..Reset generated by JTAG system reset. 19262 */ 19263 #define SMC_SSRS_JTAG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SSRS_JTAG_SHIFT)) & SMC_SSRS_JTAG_MASK) 19264 /*! @} */ 19265 19266 /*! @name SRIE - System Reset Interrupt Enable */ 19267 /*! @{ */ 19268 #define SMC_SRIE_PIN_MASK (0x100U) 19269 #define SMC_SRIE_PIN_SHIFT (8U) 19270 /*! PIN - Pin Reset 19271 * 0b0..Interrupt disabled. 19272 * 0b1..Interrupt enabled. 19273 */ 19274 #define SMC_SRIE_PIN(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_PIN_SHIFT)) & SMC_SRIE_PIN_MASK) 19275 #define SMC_SRIE_MDM_MASK (0x200U) 19276 #define SMC_SRIE_MDM_SHIFT (9U) 19277 /*! MDM - MDM Reset 19278 * 0b0..Interrupt disabled. 19279 * 0b1..Interrupt enabled. 19280 */ 19281 #define SMC_SRIE_MDM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_MDM_SHIFT)) & SMC_SRIE_MDM_MASK) 19282 #define SMC_SRIE_STOPACK_MASK (0x800U) 19283 #define SMC_SRIE_STOPACK_SHIFT (11U) 19284 /*! STOPACK - Stop Timeout Reset 19285 * 0b0..Interrupt disabled. 19286 * 0b1..Interrupt enabled. 19287 */ 19288 #define SMC_SRIE_STOPACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_STOPACK_SHIFT)) & SMC_SRIE_STOPACK_MASK) 19289 #define SMC_SRIE_WDOG_MASK (0x2000U) 19290 #define SMC_SRIE_WDOG_SHIFT (13U) 19291 /*! WDOG - Watchdog Reset 19292 * 0b0..Interrupt disabled. 19293 * 0b1..Interrupt enabled. 19294 */ 19295 #define SMC_SRIE_WDOG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_WDOG_SHIFT)) & SMC_SRIE_WDOG_MASK) 19296 #define SMC_SRIE_SW_MASK (0x4000U) 19297 #define SMC_SRIE_SW_SHIFT (14U) 19298 /*! SW - Software Reset 19299 * 0b0..Interrupt disabled. 19300 * 0b1..Interrupt enabled. 19301 */ 19302 #define SMC_SRIE_SW(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_SW_SHIFT)) & SMC_SRIE_SW_MASK) 19303 #define SMC_SRIE_LOCKUP_MASK (0x8000U) 19304 #define SMC_SRIE_LOCKUP_SHIFT (15U) 19305 /*! LOCKUP - Lockup Reset 19306 * 0b0..Interrupt disabled. 19307 * 0b1..Interrupt enabled. 19308 */ 19309 #define SMC_SRIE_LOCKUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_LOCKUP_SHIFT)) & SMC_SRIE_LOCKUP_MASK) 19310 #define SMC_SRIE_CORE0_MASK (0x10000U) 19311 #define SMC_SRIE_CORE0_SHIFT (16U) 19312 /*! CORE0 - Core0 Reset 19313 * 0b0..Interrupt disabled. 19314 * 0b1..Interrupt enabled. 19315 */ 19316 #define SMC_SRIE_CORE0(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_CORE0_SHIFT)) & SMC_SRIE_CORE0_MASK) 19317 #define SMC_SRIE_CORE1_MASK (0x20000U) 19318 #define SMC_SRIE_CORE1_SHIFT (17U) 19319 /*! CORE1 - Core1 Reset 19320 * 0b0..Interrupt disabled. 19321 * 0b1..Interrupt enabled. 19322 */ 19323 #define SMC_SRIE_CORE1(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIE_CORE1_SHIFT)) & SMC_SRIE_CORE1_MASK) 19324 /*! @} */ 19325 19326 /*! @name SRIF - System Reset Interrupt Flag */ 19327 /*! @{ */ 19328 #define SMC_SRIF_PIN_MASK (0x100U) 19329 #define SMC_SRIF_PIN_SHIFT (8U) 19330 /*! PIN - Pin Reset 19331 * 0b0..Reset source not pending. 19332 * 0b1..Reset source pending. 19333 */ 19334 #define SMC_SRIF_PIN(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_PIN_SHIFT)) & SMC_SRIF_PIN_MASK) 19335 #define SMC_SRIF_MDM_MASK (0x200U) 19336 #define SMC_SRIF_MDM_SHIFT (9U) 19337 /*! MDM - MDM Reset 19338 * 0b0..Reset source not pending. 19339 * 0b1..Reset source pending. 19340 */ 19341 #define SMC_SRIF_MDM(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_MDM_SHIFT)) & SMC_SRIF_MDM_MASK) 19342 #define SMC_SRIF_STOPACK_MASK (0x800U) 19343 #define SMC_SRIF_STOPACK_SHIFT (11U) 19344 /*! STOPACK - Stop Timeout Reset 19345 * 0b0..Reset source not pending. 19346 * 0b1..Reset source pending. 19347 */ 19348 #define SMC_SRIF_STOPACK(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_STOPACK_SHIFT)) & SMC_SRIF_STOPACK_MASK) 19349 #define SMC_SRIF_WDOG_MASK (0x2000U) 19350 #define SMC_SRIF_WDOG_SHIFT (13U) 19351 /*! WDOG - Watchdog Reset 19352 * 0b0..Reset source not pending. 19353 * 0b1..Reset source pending. 19354 */ 19355 #define SMC_SRIF_WDOG(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_WDOG_SHIFT)) & SMC_SRIF_WDOG_MASK) 19356 #define SMC_SRIF_SW_MASK (0x4000U) 19357 #define SMC_SRIF_SW_SHIFT (14U) 19358 /*! SW - Software Reset 19359 * 0b0..Reset source not pending. 19360 * 0b1..Reset source pending. 19361 */ 19362 #define SMC_SRIF_SW(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_SW_SHIFT)) & SMC_SRIF_SW_MASK) 19363 #define SMC_SRIF_LOCKUP_MASK (0x8000U) 19364 #define SMC_SRIF_LOCKUP_SHIFT (15U) 19365 /*! LOCKUP - Lockup Reset 19366 * 0b0..Reset source not pending. 19367 * 0b1..Reset source pending. 19368 */ 19369 #define SMC_SRIF_LOCKUP(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_LOCKUP_SHIFT)) & SMC_SRIF_LOCKUP_MASK) 19370 #define SMC_SRIF_CORE0_MASK (0x10000U) 19371 #define SMC_SRIF_CORE0_SHIFT (16U) 19372 /*! CORE0 - Core0 Reset 19373 * 0b0..Reset source not pending. 19374 * 0b1..Reset source pending. 19375 */ 19376 #define SMC_SRIF_CORE0(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_CORE0_SHIFT)) & SMC_SRIF_CORE0_MASK) 19377 #define SMC_SRIF_CORE1_MASK (0x20000U) 19378 #define SMC_SRIF_CORE1_SHIFT (17U) 19379 /*! CORE1 - Core1 Reset 19380 * 0b0..Reset source not pending. 19381 * 0b1..Reset source pending. 19382 */ 19383 #define SMC_SRIF_CORE1(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRIF_CORE1_SHIFT)) & SMC_SRIF_CORE1_MASK) 19384 /*! @} */ 19385 19386 /*! @name MR - Mode Register */ 19387 /*! @{ */ 19388 #define SMC_MR_BOOTCFG_MASK (0x3U) 19389 #define SMC_MR_BOOTCFG_SHIFT (0U) 19390 /*! BOOTCFG - Boot Configuration 19391 * 0b00..Boot from Flash. 19392 * 0b01..Boot from ROM due to BOOTCFG0 pin assertion. 19393 * 0b10..Boot from ROM due to FOPT configuration. 19394 * 0b11..Boot from ROM due to both BOOTCFG0 pin assertion and FOPT configuration. 19395 */ 19396 #define SMC_MR_BOOTCFG(x) (((uint32_t)(((uint32_t)(x)) << SMC_MR_BOOTCFG_SHIFT)) & SMC_MR_BOOTCFG_MASK) 19397 /*! @} */ 19398 19399 /*! @name FM - Force Mode Register */ 19400 /*! @{ */ 19401 #define SMC_FM_FORCECFG_MASK (0x3U) 19402 #define SMC_FM_FORCECFG_SHIFT (0U) 19403 /*! FORCECFG - Boot Configuration 19404 * 0b00..No effect. 19405 * 0b01..Assert corresponding bit in Mode Register on next system reset. 19406 */ 19407 #define SMC_FM_FORCECFG(x) (((uint32_t)(((uint32_t)(x)) << SMC_FM_FORCECFG_SHIFT)) & SMC_FM_FORCECFG_MASK) 19408 /*! @} */ 19409 19410 /*! @name SRAMLPR - SRAM Low Power Register */ 19411 /*! @{ */ 19412 #define SMC_SRAMLPR_LPE_MASK (0xFFFFFFFFU) 19413 #define SMC_SRAMLPR_LPE_SHIFT (0U) 19414 #define SMC_SRAMLPR_LPE(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRAMLPR_LPE_SHIFT)) & SMC_SRAMLPR_LPE_MASK) 19415 /*! @} */ 19416 19417 /*! @name SRAMDSR - SRAM Deep Sleep Register */ 19418 /*! @{ */ 19419 #define SMC_SRAMDSR_DSE_MASK (0xFFFFFFFFU) 19420 #define SMC_SRAMDSR_DSE_SHIFT (0U) 19421 #define SMC_SRAMDSR_DSE(x) (((uint32_t)(((uint32_t)(x)) << SMC_SRAMDSR_DSE_SHIFT)) & SMC_SRAMDSR_DSE_MASK) 19422 /*! @} */ 19423 19424 19425 /*! 19426 * @} 19427 */ /* end of group SMC_Register_Masks */ 19428 19429 19430 /* SMC - Peripheral instance base addresses */ 19431 /** Peripheral SMC0 base address */ 19432 #define SMC0_BASE (0x40020000u) 19433 /** Peripheral SMC0 base pointer */ 19434 #define SMC0 ((SMC_Type *)SMC0_BASE) 19435 /** Peripheral SMC1 base address */ 19436 #define SMC1_BASE (0x41020000u) 19437 /** Peripheral SMC1 base pointer */ 19438 #define SMC1 ((SMC_Type *)SMC1_BASE) 19439 /** Array initializer of SMC peripheral base addresses */ 19440 #define SMC_BASE_ADDRS { SMC0_BASE, SMC1_BASE } 19441 /** Array initializer of SMC peripheral base pointers */ 19442 #define SMC_BASE_PTRS { SMC0, SMC1 } 19443 /** Interrupt vectors for the SMC peripheral type */ 19444 #define SMC_IRQS { NotAvail_IRQn, CMC1_IRQn } 19445 19446 /*! 19447 * @} 19448 */ /* end of group SMC_Peripheral_Access_Layer */ 19449 19450 19451 /* ---------------------------------------------------------------------------- 19452 -- SPM Peripheral Access Layer 19453 ---------------------------------------------------------------------------- */ 19454 19455 /*! 19456 * @addtogroup SPM_Peripheral_Access_Layer SPM Peripheral Access Layer 19457 * @{ 19458 */ 19459 19460 /** SPM - Register Layout Typedef */ 19461 typedef struct { 19462 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 19463 uint8_t RESERVED_0[4]; 19464 __I uint32_t RSR; /**< Regulator Status Register, offset: 0x8 */ 19465 uint8_t RESERVED_1[4]; 19466 __IO uint32_t RCTRL; /**< Run Control Register, offset: 0x10 */ 19467 __IO uint32_t LPCTRL; /**< Low Power Control Register, offset: 0x14 */ 19468 uint8_t RESERVED_2[232]; 19469 __IO uint32_t CORERCNFG; /**< CORE LDO RUN Configuration Register, offset: 0x100 */ 19470 __IO uint32_t CORELPCNFG; /**< CORE LDO Low Power Configuration register, offset: 0x104 */ 19471 __IO uint32_t CORESC; /**< Core LDO Status And Control register, offset: 0x108 */ 19472 __IO uint32_t LVDSC1; /**< Low Voltage Detect Status and Control 1 register, offset: 0x10C */ 19473 __IO uint32_t LVDSC2; /**< Low Voltage Detect Status and Control 2 register, offset: 0x110 */ 19474 __IO uint32_t HVDSC1; /**< High Voltage Detect Status And Control 1 register, offset: 0x114 */ 19475 uint8_t RESERVED_3[232]; 19476 __IO uint32_t RFLDOLPCNFG; /**< RF LDO Low Power Configuration register, offset: 0x200 */ 19477 __IO uint32_t RFLDOSC; /**< RF LDO Status And Control register, offset: 0x204 */ 19478 uint8_t RESERVED_4[252]; 19479 __IO uint32_t DCDCSC; /**< DCDC Status Control Register, offset: 0x304 */ 19480 uint8_t RESERVED_5[4]; 19481 __IO uint32_t DCDCC1; /**< DCDC Control Register 1, offset: 0x30C */ 19482 __IO uint32_t DCDCC2; /**< DCDC Control Register 2, offset: 0x310 */ 19483 __IO uint32_t DCDCC3; /**< DCDC Control Register 3, offset: 0x314 */ 19484 __IO uint32_t DCDCC4; /**< DCDC Control Register 4, offset: 0x318 */ 19485 uint8_t RESERVED_6[4]; 19486 __IO uint32_t DCDCC6; /**< DCDC Control Register 6, offset: 0x320 */ 19487 uint8_t RESERVED_7[232]; 19488 __IO uint32_t LPREQPINCNTRL; /**< LP Request Pin Control Register, offset: 0x40C */ 19489 } SPM_Type; 19490 19491 /* ---------------------------------------------------------------------------- 19492 -- SPM Register Masks 19493 ---------------------------------------------------------------------------- */ 19494 19495 /*! 19496 * @addtogroup SPM_Register_Masks SPM Register Masks 19497 * @{ 19498 */ 19499 19500 /*! @name VERID - Version ID Register */ 19501 /*! @{ */ 19502 #define SPM_VERID_FEATURE_MASK (0xFFFFU) 19503 #define SPM_VERID_FEATURE_SHIFT (0U) 19504 /*! FEATURE - Feature Specification Number 19505 * 0b0000000000000000..Standard features implemented. 19506 */ 19507 #define SPM_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << SPM_VERID_FEATURE_SHIFT)) & SPM_VERID_FEATURE_MASK) 19508 #define SPM_VERID_MINOR_MASK (0xFF0000U) 19509 #define SPM_VERID_MINOR_SHIFT (16U) 19510 #define SPM_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << SPM_VERID_MINOR_SHIFT)) & SPM_VERID_MINOR_MASK) 19511 #define SPM_VERID_MAJOR_MASK (0xFF000000U) 19512 #define SPM_VERID_MAJOR_SHIFT (24U) 19513 #define SPM_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << SPM_VERID_MAJOR_SHIFT)) & SPM_VERID_MAJOR_MASK) 19514 /*! @} */ 19515 19516 /*! @name RSR - Regulator Status Register */ 19517 /*! @{ */ 19518 #define SPM_RSR_REGSEL_MASK (0x7U) 19519 #define SPM_RSR_REGSEL_SHIFT (0U) 19520 #define SPM_RSR_REGSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RSR_REGSEL_SHIFT)) & SPM_RSR_REGSEL_MASK) 19521 #define SPM_RSR_MCUPMSTAT_MASK (0x1F0000U) 19522 #define SPM_RSR_MCUPMSTAT_SHIFT (16U) 19523 /*! MCUPMSTAT - MCU Power Mode Status 19524 * 0b00000..Reserved 19525 * 0b00001..Last Low Power mode is STOP. 19526 * 0b00010..Last Low Power mode is VLPS. 19527 * 0b00100..Last Low Power mode is LLS. 19528 * 0b01000..Last Low Power mode is VLLS23. 19529 * 0b10000..Last Low Power mode is VLLS01. 19530 */ 19531 #define SPM_RSR_MCUPMSTAT(x) (((uint32_t)(((uint32_t)(x)) << SPM_RSR_MCUPMSTAT_SHIFT)) & SPM_RSR_MCUPMSTAT_MASK) 19532 #define SPM_RSR_RFPMSTAT_MASK (0x7000000U) 19533 #define SPM_RSR_RFPMSTAT_SHIFT (24U) 19534 /*! RFPMSTAT - RADIO Power Mode Status 19535 * 0b000..Reserved 19536 * 0b001..Current Power mode is VLPS. 19537 * 0b010..Current Power mode is LLS. 19538 * 0b100..Current Power mode is VLLS. 19539 */ 19540 #define SPM_RSR_RFPMSTAT(x) (((uint32_t)(((uint32_t)(x)) << SPM_RSR_RFPMSTAT_SHIFT)) & SPM_RSR_RFPMSTAT_MASK) 19541 #define SPM_RSR_RFRUNFORCE_MASK (0x8000000U) 19542 #define SPM_RSR_RFRUNFORCE_SHIFT (27U) 19543 /*! RFRUNFORCE - RADIO Run Force Power Mode Status 19544 * 0b0..Radio Run Force Regulator Off 19545 * 0b1..Radio Run Force Regulator On. 19546 */ 19547 #define SPM_RSR_RFRUNFORCE(x) (((uint32_t)(((uint32_t)(x)) << SPM_RSR_RFRUNFORCE_SHIFT)) & SPM_RSR_RFRUNFORCE_MASK) 19548 /*! @} */ 19549 19550 /*! @name RCTRL - Run Control Register */ 19551 /*! @{ */ 19552 #define SPM_RCTRL_REGSEL_MASK (0x7U) 19553 #define SPM_RCTRL_REGSEL_SHIFT (0U) 19554 #define SPM_RCTRL_REGSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RCTRL_REGSEL_SHIFT)) & SPM_RCTRL_REGSEL_MASK) 19555 /*! @} */ 19556 19557 /*! @name LPCTRL - Low Power Control Register */ 19558 /*! @{ */ 19559 #define SPM_LPCTRL_REGSEL_MASK (0x7U) 19560 #define SPM_LPCTRL_REGSEL_SHIFT (0U) 19561 #define SPM_LPCTRL_REGSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_LPCTRL_REGSEL_SHIFT)) & SPM_LPCTRL_REGSEL_MASK) 19562 /*! @} */ 19563 19564 /*! @name CORERCNFG - CORE LDO RUN Configuration Register */ 19565 /*! @{ */ 19566 #define SPM_CORERCNFG_VDDIOVDDMEN_MASK (0x10000U) 19567 #define SPM_CORERCNFG_VDDIOVDDMEN_SHIFT (16U) 19568 /*! VDDIOVDDMEN - VDDIOVDDMEN 19569 * 0b0..VDDIO voltage monitor disabled in run modes. 19570 * 0b1..VDDIO voltage monitor enabled in run modes. 19571 */ 19572 #define SPM_CORERCNFG_VDDIOVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORERCNFG_VDDIOVDDMEN_SHIFT)) & SPM_CORERCNFG_VDDIOVDDMEN_MASK) 19573 #define SPM_CORERCNFG_USBVDDMEN_MASK (0x20000U) 19574 #define SPM_CORERCNFG_USBVDDMEN_SHIFT (17U) 19575 /*! USBVDDMEN - USBVDDMEN 19576 * 0b0..USB voltage monitor disabled in run modes. 19577 * 0b1..USB voltage monitor enabled in run modes. 19578 */ 19579 #define SPM_CORERCNFG_USBVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORERCNFG_USBVDDMEN_SHIFT)) & SPM_CORERCNFG_USBVDDMEN_MASK) 19580 #define SPM_CORERCNFG_RTCVDDMEN_MASK (0x40000U) 19581 #define SPM_CORERCNFG_RTCVDDMEN_SHIFT (18U) 19582 /*! RTCVDDMEN - RTCVDDMEN 19583 * 0b0..RTC voltage monitor disabled in run modes. 19584 * 0b1..RTC voltage monitor enabled in run modes. 19585 */ 19586 #define SPM_CORERCNFG_RTCVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORERCNFG_RTCVDDMEN_SHIFT)) & SPM_CORERCNFG_RTCVDDMEN_MASK) 19587 /*! @} */ 19588 19589 /*! @name CORELPCNFG - CORE LDO Low Power Configuration register */ 19590 /*! @{ */ 19591 #define SPM_CORELPCNFG_LPSEL_MASK (0x2U) 19592 #define SPM_CORELPCNFG_LPSEL_SHIFT (1U) 19593 /*! LPSEL - LPSEL 19594 * 0b0..Core LDO enters low power state in VLP/Stop modes. 19595 * 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. 19596 */ 19597 #define SPM_CORELPCNFG_LPSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_LPSEL_SHIFT)) & SPM_CORELPCNFG_LPSEL_MASK) 19598 #define SPM_CORELPCNFG_BGEN_MASK (0x4U) 19599 #define SPM_CORELPCNFG_BGEN_SHIFT (2U) 19600 /*! BGEN - Bandgap Enable In Low Power Mode Operation 19601 * 0b0..Bandgap is disabled in STOP/VLP/LLS and VLLS modes. 19602 * 0b1..Bandgap remains enabled in STOP/VLP/LLS and VLLS modes. 19603 */ 19604 #define SPM_CORELPCNFG_BGEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_BGEN_SHIFT)) & SPM_CORELPCNFG_BGEN_MASK) 19605 #define SPM_CORELPCNFG_BGBEN_MASK (0x8U) 19606 #define SPM_CORELPCNFG_BGBEN_SHIFT (3U) 19607 /*! BGBEN - Bandgap Buffer Enable 19608 * 0b0..Bandgap buffer not enabled 19609 * 0b1..Bandgap buffer enabled BGEN must be set when this bit is also set. 19610 */ 19611 #define SPM_CORELPCNFG_BGBEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_BGBEN_SHIFT)) & SPM_CORELPCNFG_BGBEN_MASK) 19612 #define SPM_CORELPCNFG_BGBDS_MASK (0x10U) 19613 #define SPM_CORELPCNFG_BGBDS_SHIFT (4U) 19614 /*! BGBDS - Bandgap Buffer Drive Select 19615 * 0b0..Low Drive 19616 * 0b1..High Drive 19617 */ 19618 #define SPM_CORELPCNFG_BGBDS(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_BGBDS_SHIFT)) & SPM_CORELPCNFG_BGBDS_MASK) 19619 #define SPM_CORELPCNFG_LPOEN_MASK (0x80U) 19620 #define SPM_CORELPCNFG_LPOEN_SHIFT (7U) 19621 /*! LPOEN - LPO Enabled 19622 * 0b0..LPO is disabled in VLLS modes. 19623 * 0b1..LPO remains enabled in VLLS modes. 19624 */ 19625 #define SPM_CORELPCNFG_LPOEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_LPOEN_SHIFT)) & SPM_CORELPCNFG_LPOEN_MASK) 19626 #define SPM_CORELPCNFG_POREN_MASK (0x100U) 19627 #define SPM_CORELPCNFG_POREN_SHIFT (8U) 19628 /*! POREN - POR Enabled 19629 * 0b0..POR brownout is disabled in VLLS0/1 mode. 19630 * 0b1..POR brownout remains enabled in VLLS0/1 mode. 19631 */ 19632 #define SPM_CORELPCNFG_POREN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_POREN_SHIFT)) & SPM_CORELPCNFG_POREN_MASK) 19633 #define SPM_CORELPCNFG_LVDEN_MASK (0x200U) 19634 #define SPM_CORELPCNFG_LVDEN_SHIFT (9U) 19635 /*! LVDEN - LVD Enabled 19636 * 0b0..LVD/HVD is disabled in low power modes. 19637 * 0b1..LVD/HVD remains enabled in low power modes. BGEN must be set when this bit is also set. 19638 */ 19639 #define SPM_CORELPCNFG_LVDEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_LVDEN_SHIFT)) & SPM_CORELPCNFG_LVDEN_MASK) 19640 #define SPM_CORELPCNFG_LPHIDRIVE_MASK (0x4000U) 19641 #define SPM_CORELPCNFG_LPHIDRIVE_SHIFT (14U) 19642 /*! LPHIDRIVE - LPHIDRIVE 19643 * 0b0..High Drive disabled. 19644 * 0b1..High Drive enabled. 19645 */ 19646 #define SPM_CORELPCNFG_LPHIDRIVE(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_LPHIDRIVE_SHIFT)) & SPM_CORELPCNFG_LPHIDRIVE_MASK) 19647 #define SPM_CORELPCNFG_ALLREFEN_MASK (0x8000U) 19648 #define SPM_CORELPCNFG_ALLREFEN_SHIFT (15U) 19649 /*! ALLREFEN - All Reference Enable. This bit only has an affect in VLLS0/1. 19650 * 0b0..All references are disabled in VLLS. 19651 * 0b1..All references are enabled in VLLS0/1. 19652 */ 19653 #define SPM_CORELPCNFG_ALLREFEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_ALLREFEN_SHIFT)) & SPM_CORELPCNFG_ALLREFEN_MASK) 19654 #define SPM_CORELPCNFG_VDDIOVDDMEN_MASK (0x10000U) 19655 #define SPM_CORELPCNFG_VDDIOVDDMEN_SHIFT (16U) 19656 /*! VDDIOVDDMEN - VDDIOVDDMEN 19657 * 0b0..VDDIO voltage monitor disabled in lp modes. 19658 * 0b1..VDDIO voltage monitor enabled in lp modes. Note: voltage monitor is always disabled in VLLS0/1 modes. 19659 */ 19660 #define SPM_CORELPCNFG_VDDIOVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_VDDIOVDDMEN_SHIFT)) & SPM_CORELPCNFG_VDDIOVDDMEN_MASK) 19661 #define SPM_CORELPCNFG_USBVDDMEN_MASK (0x20000U) 19662 #define SPM_CORELPCNFG_USBVDDMEN_SHIFT (17U) 19663 /*! USBVDDMEN - USBVDDMEN 19664 * 0b0..USB voltage monitor disabled in lp modes. 19665 * 0b1..USB voltage monitor enabled in lp modes. Note: voltage monitor is always disabled in VLLS0/1 modes. 19666 */ 19667 #define SPM_CORELPCNFG_USBVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_USBVDDMEN_SHIFT)) & SPM_CORELPCNFG_USBVDDMEN_MASK) 19668 #define SPM_CORELPCNFG_RTCVDDMEN_MASK (0x40000U) 19669 #define SPM_CORELPCNFG_RTCVDDMEN_SHIFT (18U) 19670 /*! RTCVDDMEN - RTCVDDMEN 19671 * 0b0..RTC voltage monitor disabled in lp modes. 19672 * 0b1..RTC voltage monitor enabled in lp modes. Note: voltage monitor is always disabled in VLLS0/1 modes. 19673 */ 19674 #define SPM_CORELPCNFG_RTCVDDMEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORELPCNFG_RTCVDDMEN_SHIFT)) & SPM_CORELPCNFG_RTCVDDMEN_MASK) 19675 /*! @} */ 19676 19677 /*! @name CORESC - Core LDO Status And Control register */ 19678 /*! @{ */ 19679 #define SPM_CORESC_REGONS_MASK (0x4U) 19680 #define SPM_CORESC_REGONS_SHIFT (2U) 19681 /*! REGONS - CORE LDO Regulator in Run Regulation Status 19682 * 0b0..Regulator is in low power state or in transition to/from it. 19683 * 0b1..Regulator is in high power state. 19684 */ 19685 #define SPM_CORESC_REGONS(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_REGONS_SHIFT)) & SPM_CORESC_REGONS_MASK) 19686 #define SPM_CORESC_ACKISO_MASK (0x8U) 19687 #define SPM_CORESC_ACKISO_SHIFT (3U) 19688 /*! ACKISO - Acknowledge Isolation 19689 * 0b0..Peripherals and I/O pads are in normal run state. 19690 * 0b1..Certain peripherals and I/O pads are in a isolated and latched state. 19691 */ 19692 #define SPM_CORESC_ACKISO(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_ACKISO_SHIFT)) & SPM_CORESC_ACKISO_MASK) 19693 #define SPM_CORESC_TRIM_MASK (0x3F00U) 19694 #define SPM_CORESC_TRIM_SHIFT (8U) 19695 #define SPM_CORESC_TRIM(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_TRIM_SHIFT)) & SPM_CORESC_TRIM_MASK) 19696 #define SPM_CORESC_VDDIOOVRIDE_MASK (0x10000U) 19697 #define SPM_CORESC_VDDIOOVRIDE_SHIFT (16U) 19698 /*! VDDIOOVRIDE - VDDIOOVRIDE 19699 * 0b0..VDDIOOK status set to 1'b0. 19700 * 0b1..VDDIOOK status set to 1'b1. 19701 */ 19702 #define SPM_CORESC_VDDIOOVRIDE(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_VDDIOOVRIDE_SHIFT)) & SPM_CORESC_VDDIOOVRIDE_MASK) 19703 #define SPM_CORESC_USBOVRIDE_MASK (0x20000U) 19704 #define SPM_CORESC_USBOVRIDE_SHIFT (17U) 19705 /*! USBOVRIDE - USBOVRIDE 19706 * 0b0..USBVDDOK status set to 1'b0. 19707 * 0b1..USBVDDOK status set to 1'b1. 19708 */ 19709 #define SPM_CORESC_USBOVRIDE(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_USBOVRIDE_SHIFT)) & SPM_CORESC_USBOVRIDE_MASK) 19710 #define SPM_CORESC_RTCOVRIDE_MASK (0x40000U) 19711 #define SPM_CORESC_RTCOVRIDE_SHIFT (18U) 19712 /*! RTCOVRIDE - RTCOVRIDE 19713 * 0b0..RTCVDDOK status set to 1'b0. 19714 * 0b1..RTCVDDOK status set to 1'b1. 19715 */ 19716 #define SPM_CORESC_RTCOVRIDE(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_RTCOVRIDE_SHIFT)) & SPM_CORESC_RTCOVRIDE_MASK) 19717 #define SPM_CORESC_VDDIOOK_MASK (0x1000000U) 19718 #define SPM_CORESC_VDDIOOK_SHIFT (24U) 19719 #define SPM_CORESC_VDDIOOK(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_VDDIOOK_SHIFT)) & SPM_CORESC_VDDIOOK_MASK) 19720 #define SPM_CORESC_USBVDDOK_MASK (0x2000000U) 19721 #define SPM_CORESC_USBVDDOK_SHIFT (25U) 19722 #define SPM_CORESC_USBVDDOK(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_USBVDDOK_SHIFT)) & SPM_CORESC_USBVDDOK_MASK) 19723 #define SPM_CORESC_RTCVDDOK_MASK (0x4000000U) 19724 #define SPM_CORESC_RTCVDDOK_SHIFT (26U) 19725 #define SPM_CORESC_RTCVDDOK(x) (((uint32_t)(((uint32_t)(x)) << SPM_CORESC_RTCVDDOK_SHIFT)) & SPM_CORESC_RTCVDDOK_MASK) 19726 /*! @} */ 19727 19728 /*! @name LVDSC1 - Low Voltage Detect Status and Control 1 register */ 19729 /*! @{ */ 19730 #define SPM_LVDSC1_COREVDD_LVDRE_MASK (0x10U) 19731 #define SPM_LVDSC1_COREVDD_LVDRE_SHIFT (4U) 19732 /*! COREVDD_LVDRE - Core Low-Voltage Detect Reset Enable 19733 * 0b0..COREVDD_LVDF does not generate hardware resets 19734 * 0b1..Force an MCU reset when CORE_LVDF = 1 19735 */ 19736 #define SPM_LVDSC1_COREVDD_LVDRE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_COREVDD_LVDRE_SHIFT)) & SPM_LVDSC1_COREVDD_LVDRE_MASK) 19737 #define SPM_LVDSC1_COREVDD_LVDIE_MASK (0x20U) 19738 #define SPM_LVDSC1_COREVDD_LVDIE_SHIFT (5U) 19739 /*! COREVDD_LVDIE - Low-Voltage Detect Interrupt Enable 19740 * 0b0..Hardware interrupt disabled (use polling) 19741 * 0b1..Request a hardware interrupt when LVDF = 1 19742 */ 19743 #define SPM_LVDSC1_COREVDD_LVDIE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_COREVDD_LVDIE_SHIFT)) & SPM_LVDSC1_COREVDD_LVDIE_MASK) 19744 #define SPM_LVDSC1_COREVDD_LVDACK_MASK (0x40U) 19745 #define SPM_LVDSC1_COREVDD_LVDACK_SHIFT (6U) 19746 #define SPM_LVDSC1_COREVDD_LVDACK(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_COREVDD_LVDACK_SHIFT)) & SPM_LVDSC1_COREVDD_LVDACK_MASK) 19747 #define SPM_LVDSC1_COREVDD_LVDF_MASK (0x80U) 19748 #define SPM_LVDSC1_COREVDD_LVDF_SHIFT (7U) 19749 /*! COREVDD_LVDF - Low-Voltage Detect Flag 19750 * 0b0..Low-voltage event not detected 19751 * 0b1..Low-voltage event detected 19752 */ 19753 #define SPM_LVDSC1_COREVDD_LVDF(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_COREVDD_LVDF_SHIFT)) & SPM_LVDSC1_COREVDD_LVDF_MASK) 19754 #define SPM_LVDSC1_VDD_LVDV_MASK (0x30000U) 19755 #define SPM_LVDSC1_VDD_LVDV_SHIFT (16U) 19756 /*! VDD_LVDV - VDD Low-Voltage Detect Voltage Select 19757 * 0b00..Low trip point selected (V LVD = V LVDL ) 19758 * 0b01..High trip point selected (V LVD = V LVDH ) 19759 * 0b10..Reserved 19760 * 0b11..Reserved 19761 */ 19762 #define SPM_LVDSC1_VDD_LVDV(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_VDD_LVDV_SHIFT)) & SPM_LVDSC1_VDD_LVDV_MASK) 19763 #define SPM_LVDSC1_VDD_LVDRE_MASK (0x100000U) 19764 #define SPM_LVDSC1_VDD_LVDRE_SHIFT (20U) 19765 /*! VDD_LVDRE - VDD Low-Voltage Detect Reset Enable 19766 * 0b0..VDD_LVDF does not generate hardware resets 19767 * 0b1..Force an MCU reset when VDD_LVDF = 1 19768 */ 19769 #define SPM_LVDSC1_VDD_LVDRE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_VDD_LVDRE_SHIFT)) & SPM_LVDSC1_VDD_LVDRE_MASK) 19770 #define SPM_LVDSC1_VDD_LVDIE_MASK (0x200000U) 19771 #define SPM_LVDSC1_VDD_LVDIE_SHIFT (21U) 19772 /*! VDD_LVDIE - VDD Low-Voltage Detect Interrupt Enable 19773 * 0b0..Hardware interrupt disabled (use polling) 19774 * 0b1..Request a hardware interrupt when VDD_LVDF = 1 19775 */ 19776 #define SPM_LVDSC1_VDD_LVDIE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_VDD_LVDIE_SHIFT)) & SPM_LVDSC1_VDD_LVDIE_MASK) 19777 #define SPM_LVDSC1_VDD_LVDACK_MASK (0x400000U) 19778 #define SPM_LVDSC1_VDD_LVDACK_SHIFT (22U) 19779 #define SPM_LVDSC1_VDD_LVDACK(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_VDD_LVDACK_SHIFT)) & SPM_LVDSC1_VDD_LVDACK_MASK) 19780 #define SPM_LVDSC1_VDD_LVDF_MASK (0x800000U) 19781 #define SPM_LVDSC1_VDD_LVDF_SHIFT (23U) 19782 /*! VDD_LVDF - VDD Low-Voltage Detect Flag 19783 * 0b0..Low-voltage event not detected 19784 * 0b1..Low-voltage event detected 19785 */ 19786 #define SPM_LVDSC1_VDD_LVDF(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC1_VDD_LVDF_SHIFT)) & SPM_LVDSC1_VDD_LVDF_MASK) 19787 /*! @} */ 19788 19789 /*! @name LVDSC2 - Low Voltage Detect Status and Control 2 register */ 19790 /*! @{ */ 19791 #define SPM_LVDSC2_VDD_LVWV_MASK (0x30000U) 19792 #define SPM_LVDSC2_VDD_LVWV_SHIFT (16U) 19793 /*! VDD_LVWV - VDD Low-Voltage Warning Voltage Select 19794 * 0b00..Low trip point selected (V LVW = VLVW1) 19795 * 0b01..Mid 1 trip point selected (V LVW = VLVW2) 19796 * 0b10..Mid 2 trip point selected (V LVW = VLVW3) 19797 * 0b11..High trip point selected (V LVW = VLVW4) 19798 */ 19799 #define SPM_LVDSC2_VDD_LVWV(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC2_VDD_LVWV_SHIFT)) & SPM_LVDSC2_VDD_LVWV_MASK) 19800 #define SPM_LVDSC2_VDD_LVWIE_MASK (0x200000U) 19801 #define SPM_LVDSC2_VDD_LVWIE_SHIFT (21U) 19802 /*! VDD_LVWIE - VDD Low-Voltage Warning Interrupt Enable 19803 * 0b0..Hardware interrupt disabled (use polling) 19804 * 0b1..Request a hardware interrupt when VDD_LVWF = 1 19805 */ 19806 #define SPM_LVDSC2_VDD_LVWIE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC2_VDD_LVWIE_SHIFT)) & SPM_LVDSC2_VDD_LVWIE_MASK) 19807 #define SPM_LVDSC2_VDD_LVWACK_MASK (0x400000U) 19808 #define SPM_LVDSC2_VDD_LVWACK_SHIFT (22U) 19809 #define SPM_LVDSC2_VDD_LVWACK(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC2_VDD_LVWACK_SHIFT)) & SPM_LVDSC2_VDD_LVWACK_MASK) 19810 #define SPM_LVDSC2_VDD_LVWF_MASK (0x800000U) 19811 #define SPM_LVDSC2_VDD_LVWF_SHIFT (23U) 19812 /*! VDD_LVWF - VDD Low-Voltage Warning Flag 19813 * 0b0..Low-voltage warning event not detected 19814 * 0b1..Low-voltage warning event detected 19815 */ 19816 #define SPM_LVDSC2_VDD_LVWF(x) (((uint32_t)(((uint32_t)(x)) << SPM_LVDSC2_VDD_LVWF_SHIFT)) & SPM_LVDSC2_VDD_LVWF_MASK) 19817 /*! @} */ 19818 19819 /*! @name HVDSC1 - High Voltage Detect Status And Control 1 register */ 19820 /*! @{ */ 19821 #define SPM_HVDSC1_VDD_HVDV_MASK (0x10000U) 19822 #define SPM_HVDSC1_VDD_HVDV_SHIFT (16U) 19823 /*! VDD_HVDV - VDD High-Voltage Detect Voltage Select 19824 * 0b0..Low trip point selected (V VDD = V VDD_HVDL ) 19825 * 0b1..High trip point selected (V VDD = V VDD_HVDH ) 19826 */ 19827 #define SPM_HVDSC1_VDD_HVDV(x) (((uint32_t)(((uint32_t)(x)) << SPM_HVDSC1_VDD_HVDV_SHIFT)) & SPM_HVDSC1_VDD_HVDV_MASK) 19828 #define SPM_HVDSC1_VDD_HVDRE_MASK (0x100000U) 19829 #define SPM_HVDSC1_VDD_HVDRE_SHIFT (20U) 19830 /*! VDD_HVDRE - VDD High-Voltage Detect Reset Enable 19831 * 0b0..VDD HVDF does not generate hardware resets 19832 * 0b1..Force an MCU reset when VDD_HVDF = 1 19833 */ 19834 #define SPM_HVDSC1_VDD_HVDRE(x) (((uint32_t)(((uint32_t)(x)) << SPM_HVDSC1_VDD_HVDRE_SHIFT)) & SPM_HVDSC1_VDD_HVDRE_MASK) 19835 #define SPM_HVDSC1_VDD_HVDIE_MASK (0x200000U) 19836 #define SPM_HVDSC1_VDD_HVDIE_SHIFT (21U) 19837 /*! VDD_HVDIE - VDD High-Voltage Detect Interrupt Enable 19838 * 0b0..Hardware interrupt disabled (use polling) 19839 * 0b1..Request a hardware interrupt when HVDF = 1 19840 */ 19841 #define SPM_HVDSC1_VDD_HVDIE(x) (((uint32_t)(((uint32_t)(x)) << SPM_HVDSC1_VDD_HVDIE_SHIFT)) & SPM_HVDSC1_VDD_HVDIE_MASK) 19842 #define SPM_HVDSC1_VDD_HVDACK_MASK (0x400000U) 19843 #define SPM_HVDSC1_VDD_HVDACK_SHIFT (22U) 19844 #define SPM_HVDSC1_VDD_HVDACK(x) (((uint32_t)(((uint32_t)(x)) << SPM_HVDSC1_VDD_HVDACK_SHIFT)) & SPM_HVDSC1_VDD_HVDACK_MASK) 19845 #define SPM_HVDSC1_VDD_HVDF_MASK (0x800000U) 19846 #define SPM_HVDSC1_VDD_HVDF_SHIFT (23U) 19847 /*! VDD_HVDF - VDD High-Voltage Detect Flag 19848 * 0b0..Vdd High-voltage event not detected 19849 * 0b1..Vdd High-voltage event detected 19850 */ 19851 #define SPM_HVDSC1_VDD_HVDF(x) (((uint32_t)(((uint32_t)(x)) << SPM_HVDSC1_VDD_HVDF_SHIFT)) & SPM_HVDSC1_VDD_HVDF_MASK) 19852 /*! @} */ 19853 19854 /*! @name RFLDOLPCNFG - RF LDO Low Power Configuration register */ 19855 /*! @{ */ 19856 #define SPM_RFLDOLPCNFG_LPSEL_MASK (0x2U) 19857 #define SPM_RFLDOLPCNFG_LPSEL_SHIFT (1U) 19858 /*! LPSEL - LPSEL 19859 * 0b0..RF LDO regulator enters low power state in VLP/Stop modes. 19860 * 0b1..RF LDO regulator remains in high power state in VLP/Stop modes. 19861 */ 19862 #define SPM_RFLDOLPCNFG_LPSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOLPCNFG_LPSEL_SHIFT)) & SPM_RFLDOLPCNFG_LPSEL_MASK) 19863 /*! @} */ 19864 19865 /*! @name RFLDOSC - RF LDO Status And Control register */ 19866 /*! @{ */ 19867 #define SPM_RFLDOSC_IOREGVSEL_MASK (0x1U) 19868 #define SPM_RFLDOSC_IOREGVSEL_SHIFT (0U) 19869 /*! IOREGVSEL - IO Regulator Voltage Select 19870 * 0b0..Regulate to 1.8V. 19871 * 0b1..Regulate to 1.5V. 19872 */ 19873 #define SPM_RFLDOSC_IOREGVSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_IOREGVSEL_SHIFT)) & SPM_RFLDOSC_IOREGVSEL_MASK) 19874 #define SPM_RFLDOSC_VDD1P8SEL_MASK (0x10U) 19875 #define SPM_RFLDOSC_VDD1P8SEL_SHIFT (4U) 19876 /*! VDD1P8SEL - VDD 1p8 SNS Pin Select 19877 * 0b0..VDD1p8_SNS0 selected. 19878 * 0b1..VDD1p8_SNS1 selected. 19879 */ 19880 #define SPM_RFLDOSC_VDD1P8SEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_VDD1P8SEL_SHIFT)) & SPM_RFLDOSC_VDD1P8SEL_MASK) 19881 #define SPM_RFLDOSC_ISINKEN_MASK (0x20U) 19882 #define SPM_RFLDOSC_ISINKEN_SHIFT (5U) 19883 /*! ISINKEN - ISINKEN 19884 * 0b0..Disable current sink feature of low power regulator. 19885 * 0b1..Enable current sink feature of low power regulator. 19886 */ 19887 #define SPM_RFLDOSC_ISINKEN(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_ISINKEN_SHIFT)) & SPM_RFLDOSC_ISINKEN_MASK) 19888 #define SPM_RFLDOSC_IOTRIM_MASK (0x1F00U) 19889 #define SPM_RFLDOSC_IOTRIM_SHIFT (8U) 19890 #define SPM_RFLDOSC_IOTRIM(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_IOTRIM_SHIFT)) & SPM_RFLDOSC_IOTRIM_MASK) 19891 #define SPM_RFLDOSC_IOSSSEL_MASK (0x70000U) 19892 #define SPM_RFLDOSC_IOSSSEL_SHIFT (16U) 19893 /*! IOSSSEL - IO 1.8 Reg Soft Start Select 19894 * 0b000..Soft Start duration set to 110us. 19895 * 0b001..Soft Start duration set to 95us. 19896 * 0b010..Soft Start duration set to 60us. 19897 * 0b011..Soft Start duration set to 48us. 19898 * 0b100..Soft Start duration set to 38us. 19899 * 0b101..Soft Start duration set to 30us. 19900 * 0b110..Soft Start duration set to 24us. 19901 * 0b111..Soft Start duration set to 17us. 19902 */ 19903 #define SPM_RFLDOSC_IOSSSEL(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_IOSSSEL_SHIFT)) & SPM_RFLDOSC_IOSSSEL_MASK) 19904 #define SPM_RFLDOSC_SSDONE_MASK (0x1000000U) 19905 #define SPM_RFLDOSC_SSDONE_SHIFT (24U) 19906 #define SPM_RFLDOSC_SSDONE(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_SSDONE_SHIFT)) & SPM_RFLDOSC_SSDONE_MASK) 19907 #define SPM_RFLDOSC_IOSPARE_OUT_MASK (0xC000000U) 19908 #define SPM_RFLDOSC_IOSPARE_OUT_SHIFT (26U) 19909 #define SPM_RFLDOSC_IOSPARE_OUT(x) (((uint32_t)(((uint32_t)(x)) << SPM_RFLDOSC_IOSPARE_OUT_SHIFT)) & SPM_RFLDOSC_IOSPARE_OUT_MASK) 19910 /*! @} */ 19911 19912 /*! @name DCDCSC - DCDC Status Control Register */ 19913 /*! @{ */ 19914 #define SPM_DCDCSC_DCDC_DISABLE_AUTO_CLK_SWITCH_MASK (0x2U) 19915 #define SPM_DCDCSC_DCDC_DISABLE_AUTO_CLK_SWITCH_SHIFT (1U) 19916 #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) 19917 #define SPM_DCDCSC_DCDC_SEL_CLK_MASK (0x4U) 19918 #define SPM_DCDCSC_DCDC_SEL_CLK_SHIFT (2U) 19919 #define SPM_DCDCSC_DCDC_SEL_CLK(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_DCDC_SEL_CLK_SHIFT)) & SPM_DCDCSC_DCDC_SEL_CLK_MASK) 19920 #define SPM_DCDCSC_DCDC_PWD_OSC_INT_MASK (0x8U) 19921 #define SPM_DCDCSC_DCDC_PWD_OSC_INT_SHIFT (3U) 19922 #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) 19923 #define SPM_DCDCSC_DCDC_VBAT_DIV_CTRL_MASK (0xC00U) 19924 #define SPM_DCDCSC_DCDC_VBAT_DIV_CTRL_SHIFT (10U) 19925 /*! DCDC_VBAT_DIV_CTRL - DCDC_VBAT_DIV_CTRL 19926 * 0b00..OFF 19927 * 0b01..VBAT 19928 * 0b10..VBAT / 2 19929 * 0b11..VBAT / 4 19930 */ 19931 #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) 19932 #define SPM_DCDCSC_DCDC_LESS_I_MASK (0x2000000U) 19933 #define SPM_DCDCSC_DCDC_LESS_I_SHIFT (25U) 19934 #define SPM_DCDCSC_DCDC_LESS_I(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_DCDC_LESS_I_SHIFT)) & SPM_DCDCSC_DCDC_LESS_I_MASK) 19935 #define SPM_DCDCSC_PWD_CMP_OFFSET_MASK (0x4000000U) 19936 #define SPM_DCDCSC_PWD_CMP_OFFSET_SHIFT (26U) 19937 #define SPM_DCDCSC_PWD_CMP_OFFSET(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_PWD_CMP_OFFSET_SHIFT)) & SPM_DCDCSC_PWD_CMP_OFFSET_MASK) 19938 #define SPM_DCDCSC_CLKFLT_FAULT_MASK (0x40000000U) 19939 #define SPM_DCDCSC_CLKFLT_FAULT_SHIFT (30U) 19940 #define SPM_DCDCSC_CLKFLT_FAULT(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCSC_CLKFLT_FAULT_SHIFT)) & SPM_DCDCSC_CLKFLT_FAULT_MASK) 19941 #define SPM_DCDCSC_DCDC_STS_DC_OK_MASK (0x80000000U) 19942 #define SPM_DCDCSC_DCDC_STS_DC_OK_SHIFT (31U) 19943 #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) 19944 /*! @} */ 19945 19946 /*! @name DCDCC1 - DCDC Control Register 1 */ 19947 /*! @{ */ 19948 #define SPM_DCDCC1_POSLIMIT_BUCK_IN_MASK (0x7FU) 19949 #define SPM_DCDCC1_POSLIMIT_BUCK_IN_SHIFT (0U) 19950 #define SPM_DCDCC1_POSLIMIT_BUCK_IN(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC1_POSLIMIT_BUCK_IN_SHIFT)) & SPM_DCDCC1_POSLIMIT_BUCK_IN_MASK) 19951 #define SPM_DCDCC1_DCDC_LOOPCTRL_EN_CM_HYST_MASK (0x4000000U) 19952 #define SPM_DCDCC1_DCDC_LOOPCTRL_EN_CM_HYST_SHIFT (26U) 19953 #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) 19954 #define SPM_DCDCC1_DCDC_LOOPCTRL_EN_DF_HYST_MASK (0x8000000U) 19955 #define SPM_DCDCC1_DCDC_LOOPCTRL_EN_DF_HYST_SHIFT (27U) 19956 #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) 19957 /*! @} */ 19958 19959 /*! @name DCDCC2 - DCDC Control Register 2 */ 19960 /*! @{ */ 19961 #define SPM_DCDCC2_DCDC_LOOPCTRL_HYST_SIGN_MASK (0x2000U) 19962 #define SPM_DCDCC2_DCDC_LOOPCTRL_HYST_SIGN_SHIFT (13U) 19963 #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) 19964 #define SPM_DCDCC2_DCDC_BATTMONITOR_EN_BATADJ_MASK (0x8000U) 19965 #define SPM_DCDCC2_DCDC_BATTMONITOR_EN_BATADJ_SHIFT (15U) 19966 #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) 19967 #define SPM_DCDCC2_DCDC_BATTMONITOR_BATT_VAL_MASK (0x3FF0000U) 19968 #define SPM_DCDCC2_DCDC_BATTMONITOR_BATT_VAL_SHIFT (16U) 19969 #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) 19970 /*! @} */ 19971 19972 /*! @name DCDCC3 - DCDC Control Register 3 */ 19973 /*! @{ */ 19974 #define SPM_DCDCC3_DCDC_BYPASS_ADC_MEAS_MASK (0x1U) 19975 #define SPM_DCDCC3_DCDC_BYPASS_ADC_MEAS_SHIFT (0U) 19976 #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) 19977 #define SPM_DCDCC3_DCDC_VBAT_VALUE_MASK (0x1CU) 19978 #define SPM_DCDCC3_DCDC_VBAT_VALUE_SHIFT (2U) 19979 #define SPM_DCDCC3_DCDC_VBAT_VALUE(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_VBAT_VALUE_SHIFT)) & SPM_DCDCC3_DCDC_VBAT_VALUE_MASK) 19980 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_ADJTN_MASK (0xF0000U) 19981 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_ADJTN_SHIFT (16U) 19982 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_ADJTN(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC3_DCDC_VDD1P2CTRL_ADJTN_SHIFT)) & SPM_DCDCC3_DCDC_VDD1P2CTRL_ADJTN_MASK) 19983 #define SPM_DCDCC3_DCDC_MINPWR_DC_HALFCLK_MASK (0x1000000U) 19984 #define SPM_DCDCC3_DCDC_MINPWR_DC_HALFCLK_SHIFT (24U) 19985 #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) 19986 #define SPM_DCDCC3_DCDC_MINPWR_EXTRA_DOUBLE_FETS_MASK (0x2000000U) 19987 #define SPM_DCDCC3_DCDC_MINPWR_EXTRA_DOUBLE_FETS_SHIFT (25U) 19988 #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) 19989 #define SPM_DCDCC3_DCDC_MINPWR_DOUBLE_FETS_MASK (0x4000000U) 19990 #define SPM_DCDCC3_DCDC_MINPWR_DOUBLE_FETS_SHIFT (26U) 19991 #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) 19992 #define SPM_DCDCC3_DCDC_MINPWR_HALF_FETS_MASK (0x8000000U) 19993 #define SPM_DCDCC3_DCDC_MINPWR_HALF_FETS_SHIFT (27U) 19994 #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) 19995 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_DISABLE_STEP_MASK (0x40000000U) 19996 #define SPM_DCDCC3_DCDC_VDD1P2CTRL_DISABLE_STEP_SHIFT (30U) 19997 #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) 19998 #define SPM_DCDCC3_DCDC_VDD1P8CTRL_DISABLE_STEP_MASK (0x80000000U) 19999 #define SPM_DCDCC3_DCDC_VDD1P8CTRL_DISABLE_STEP_SHIFT (31U) 20000 #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) 20001 /*! @} */ 20002 20003 /*! @name DCDCC4 - DCDC Control Register 4 */ 20004 /*! @{ */ 20005 #define SPM_DCDCC4_INTEGRATOR_VALUE_MASK (0x7FFFFU) 20006 #define SPM_DCDCC4_INTEGRATOR_VALUE_SHIFT (0U) 20007 #define SPM_DCDCC4_INTEGRATOR_VALUE(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC4_INTEGRATOR_VALUE_SHIFT)) & SPM_DCDCC4_INTEGRATOR_VALUE_MASK) 20008 #define SPM_DCDCC4_INTEGRATOR_VALUE_SELECT_MASK (0x80000U) 20009 #define SPM_DCDCC4_INTEGRATOR_VALUE_SELECT_SHIFT (19U) 20010 /*! INTEGRATOR_VALUE_SELECT - INTEGRATOR VALUE SELECT 20011 * 0b0..Select the saved value in hardware 20012 * 0b1..Select the integrator value in this register 20013 */ 20014 #define SPM_DCDCC4_INTEGRATOR_VALUE_SELECT(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC4_INTEGRATOR_VALUE_SELECT_SHIFT)) & SPM_DCDCC4_INTEGRATOR_VALUE_SELECT_MASK) 20015 #define SPM_DCDCC4_PULSE_RUN_SPEEDUP_MASK (0x100000U) 20016 #define SPM_DCDCC4_PULSE_RUN_SPEEDUP_SHIFT (20U) 20017 #define SPM_DCDCC4_PULSE_RUN_SPEEDUP(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC4_PULSE_RUN_SPEEDUP_SHIFT)) & SPM_DCDCC4_PULSE_RUN_SPEEDUP_MASK) 20018 /*! @} */ 20019 20020 /*! @name DCDCC6 - DCDC Control Register 6 */ 20021 /*! @{ */ 20022 #define SPM_DCDCC6_DCDC_VDD1P8CTRL_TRG_MASK (0x1FU) 20023 #define SPM_DCDCC6_DCDC_VDD1P8CTRL_TRG_SHIFT (0U) 20024 #define SPM_DCDCC6_DCDC_VDD1P8CTRL_TRG(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC6_DCDC_VDD1P8CTRL_TRG_SHIFT)) & SPM_DCDCC6_DCDC_VDD1P8CTRL_TRG_MASK) 20025 #define SPM_DCDCC6_DCDC_VDD1P2CTRL_TRG_BUCK_MASK (0xF00U) 20026 #define SPM_DCDCC6_DCDC_VDD1P2CTRL_TRG_BUCK_SHIFT (8U) 20027 #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) 20028 #define SPM_DCDCC6_DCDC_HSVDD_TRIM_MASK (0xF000000U) 20029 #define SPM_DCDCC6_DCDC_HSVDD_TRIM_SHIFT (24U) 20030 #define SPM_DCDCC6_DCDC_HSVDD_TRIM(x) (((uint32_t)(((uint32_t)(x)) << SPM_DCDCC6_DCDC_HSVDD_TRIM_SHIFT)) & SPM_DCDCC6_DCDC_HSVDD_TRIM_MASK) 20031 /*! @} */ 20032 20033 /*! @name LPREQPINCNTRL - LP Request Pin Control Register */ 20034 /*! @{ */ 20035 #define SPM_LPREQPINCNTRL_LPREQOE_MASK (0x1U) 20036 #define SPM_LPREQPINCNTRL_LPREQOE_SHIFT (0U) 20037 /*! LPREQOE - Low Power Request Output Enable Register 20038 * 0b0..Low Power request output pin not enabled. 20039 * 0b1..Low Power request output pin enabled. 20040 */ 20041 #define SPM_LPREQPINCNTRL_LPREQOE(x) (((uint32_t)(((uint32_t)(x)) << SPM_LPREQPINCNTRL_LPREQOE_SHIFT)) & SPM_LPREQPINCNTRL_LPREQOE_MASK) 20042 #define SPM_LPREQPINCNTRL_POLARITY_MASK (0x2U) 20043 #define SPM_LPREQPINCNTRL_POLARITY_SHIFT (1U) 20044 /*! POLARITY - Low Power Request Output Pin Polarity Control Register 20045 * 0b0..High true polarity. 20046 * 0b1..Low true polarity. 20047 */ 20048 #define SPM_LPREQPINCNTRL_POLARITY(x) (((uint32_t)(((uint32_t)(x)) << SPM_LPREQPINCNTRL_POLARITY_SHIFT)) & SPM_LPREQPINCNTRL_POLARITY_MASK) 20049 /*! @} */ 20050 20051 20052 /*! 20053 * @} 20054 */ /* end of group SPM_Register_Masks */ 20055 20056 20057 /* SPM - Peripheral instance base addresses */ 20058 /** Peripheral SPM base address */ 20059 #define SPM_BASE (0x40028000u) 20060 /** Peripheral SPM base pointer */ 20061 #define SPM ((SPM_Type *)SPM_BASE) 20062 /** Array initializer of SPM peripheral base addresses */ 20063 #define SPM_BASE_ADDRS { SPM_BASE } 20064 /** Array initializer of SPM peripheral base pointers */ 20065 #define SPM_BASE_PTRS { SPM } 20066 /** Interrupt vectors for the SPM peripheral type */ 20067 #define SPM_IRQS { SPM_IRQn } 20068 20069 /*! 20070 * @} 20071 */ /* end of group SPM_Peripheral_Access_Layer */ 20072 20073 20074 /* ---------------------------------------------------------------------------- 20075 -- TPM Peripheral Access Layer 20076 ---------------------------------------------------------------------------- */ 20077 20078 /*! 20079 * @addtogroup TPM_Peripheral_Access_Layer TPM Peripheral Access Layer 20080 * @{ 20081 */ 20082 20083 /** TPM - Register Layout Typedef */ 20084 typedef struct { 20085 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 20086 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 20087 __IO uint32_t GLOBAL; /**< TPM Global Register, offset: 0x8 */ 20088 uint8_t RESERVED_0[4]; 20089 __IO uint32_t SC; /**< Status and Control, offset: 0x10 */ 20090 __IO uint32_t CNT; /**< Counter, offset: 0x14 */ 20091 __IO uint32_t MOD; /**< Modulo, offset: 0x18 */ 20092 __IO uint32_t STATUS; /**< Capture and Compare Status, offset: 0x1C */ 20093 struct { /* offset: 0x20, array step: 0x8 */ 20094 __IO uint32_t CnSC; /**< Channel (n) Status and Control, array offset: 0x20, array step: 0x8 */ 20095 __IO uint32_t CnV; /**< Channel (n) Value, array offset: 0x24, array step: 0x8 */ 20096 } CONTROLS[6]; 20097 uint8_t RESERVED_1[20]; 20098 __IO uint32_t COMBINE; /**< Combine Channel Register, offset: 0x64 */ 20099 uint8_t RESERVED_2[4]; 20100 __IO uint32_t TRIG; /**< Channel Trigger, offset: 0x6C */ 20101 __IO uint32_t POL; /**< Channel Polarity, offset: 0x70 */ 20102 uint8_t RESERVED_3[4]; 20103 __IO uint32_t FILTER; /**< Filter Control, offset: 0x78 */ 20104 uint8_t RESERVED_4[4]; 20105 __IO uint32_t QDCTRL; /**< Quadrature Decoder Control and Status, offset: 0x80 */ 20106 __IO uint32_t CONF; /**< Configuration, offset: 0x84 */ 20107 } TPM_Type; 20108 20109 /* ---------------------------------------------------------------------------- 20110 -- TPM Register Masks 20111 ---------------------------------------------------------------------------- */ 20112 20113 /*! 20114 * @addtogroup TPM_Register_Masks TPM Register Masks 20115 * @{ 20116 */ 20117 20118 /*! @name VERID - Version ID Register */ 20119 /*! @{ */ 20120 #define TPM_VERID_FEATURE_MASK (0xFFFFU) 20121 #define TPM_VERID_FEATURE_SHIFT (0U) 20122 /*! FEATURE - Feature Identification Number 20123 * 0b0000000000000001..Standard feature set. 20124 * 0b0000000000000011..Standard feature set with Filter and Combine registers implemented. 20125 * 0b0000000000000111..Standard feature set with Filter, Combine and Quadrature registers implemented. 20126 */ 20127 #define TPM_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << TPM_VERID_FEATURE_SHIFT)) & TPM_VERID_FEATURE_MASK) 20128 #define TPM_VERID_MINOR_MASK (0xFF0000U) 20129 #define TPM_VERID_MINOR_SHIFT (16U) 20130 #define TPM_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << TPM_VERID_MINOR_SHIFT)) & TPM_VERID_MINOR_MASK) 20131 #define TPM_VERID_MAJOR_MASK (0xFF000000U) 20132 #define TPM_VERID_MAJOR_SHIFT (24U) 20133 #define TPM_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << TPM_VERID_MAJOR_SHIFT)) & TPM_VERID_MAJOR_MASK) 20134 /*! @} */ 20135 20136 /*! @name PARAM - Parameter Register */ 20137 /*! @{ */ 20138 #define TPM_PARAM_CHAN_MASK (0xFFU) 20139 #define TPM_PARAM_CHAN_SHIFT (0U) 20140 #define TPM_PARAM_CHAN(x) (((uint32_t)(((uint32_t)(x)) << TPM_PARAM_CHAN_SHIFT)) & TPM_PARAM_CHAN_MASK) 20141 #define TPM_PARAM_TRIG_MASK (0xFF00U) 20142 #define TPM_PARAM_TRIG_SHIFT (8U) 20143 #define TPM_PARAM_TRIG(x) (((uint32_t)(((uint32_t)(x)) << TPM_PARAM_TRIG_SHIFT)) & TPM_PARAM_TRIG_MASK) 20144 #define TPM_PARAM_WIDTH_MASK (0xFF0000U) 20145 #define TPM_PARAM_WIDTH_SHIFT (16U) 20146 #define TPM_PARAM_WIDTH(x) (((uint32_t)(((uint32_t)(x)) << TPM_PARAM_WIDTH_SHIFT)) & TPM_PARAM_WIDTH_MASK) 20147 /*! @} */ 20148 20149 /*! @name GLOBAL - TPM Global Register */ 20150 /*! @{ */ 20151 #define TPM_GLOBAL_NOUPDATE_MASK (0x1U) 20152 #define TPM_GLOBAL_NOUPDATE_SHIFT (0U) 20153 /*! NOUPDATE - No Update 20154 * 0b0..Internal double buffered registers update as normal. 20155 * 0b1..Internal double buffered registers do not update. 20156 */ 20157 #define TPM_GLOBAL_NOUPDATE(x) (((uint32_t)(((uint32_t)(x)) << TPM_GLOBAL_NOUPDATE_SHIFT)) & TPM_GLOBAL_NOUPDATE_MASK) 20158 #define TPM_GLOBAL_RST_MASK (0x2U) 20159 #define TPM_GLOBAL_RST_SHIFT (1U) 20160 /*! RST - Software Reset 20161 * 0b0..Module is not reset. 20162 * 0b1..Module is reset. 20163 */ 20164 #define TPM_GLOBAL_RST(x) (((uint32_t)(((uint32_t)(x)) << TPM_GLOBAL_RST_SHIFT)) & TPM_GLOBAL_RST_MASK) 20165 /*! @} */ 20166 20167 /*! @name SC - Status and Control */ 20168 /*! @{ */ 20169 #define TPM_SC_PS_MASK (0x7U) 20170 #define TPM_SC_PS_SHIFT (0U) 20171 /*! PS - Prescale Factor Selection 20172 * 0b000..Divide by 1 20173 * 0b001..Divide by 2 20174 * 0b010..Divide by 4 20175 * 0b011..Divide by 8 20176 * 0b100..Divide by 16 20177 * 0b101..Divide by 32 20178 * 0b110..Divide by 64 20179 * 0b111..Divide by 128 20180 */ 20181 #define TPM_SC_PS(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_PS_SHIFT)) & TPM_SC_PS_MASK) 20182 #define TPM_SC_CMOD_MASK (0x18U) 20183 #define TPM_SC_CMOD_SHIFT (3U) 20184 /*! CMOD - Clock Mode Selection 20185 * 0b00..TPM counter is disabled 20186 * 0b01..TPM counter increments on every TPM counter clock 20187 * 0b10..TPM counter increments on rising edge of TPM_EXTCLK synchronized to the TPM counter clock 20188 * 0b11..TPM counter increments on rising edge of the selected external input trigger. 20189 */ 20190 #define TPM_SC_CMOD(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_CMOD_SHIFT)) & TPM_SC_CMOD_MASK) 20191 #define TPM_SC_CPWMS_MASK (0x20U) 20192 #define TPM_SC_CPWMS_SHIFT (5U) 20193 /*! CPWMS - Center-Aligned PWM Select 20194 * 0b0..TPM counter operates in up counting mode. 20195 * 0b1..TPM counter operates in up-down counting mode. 20196 */ 20197 #define TPM_SC_CPWMS(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_CPWMS_SHIFT)) & TPM_SC_CPWMS_MASK) 20198 #define TPM_SC_TOIE_MASK (0x40U) 20199 #define TPM_SC_TOIE_SHIFT (6U) 20200 /*! TOIE - Timer Overflow Interrupt Enable 20201 * 0b0..Disable TOF interrupts. Use software polling or DMA request. 20202 * 0b1..Enable TOF interrupts. An interrupt is generated when TOF equals one. 20203 */ 20204 #define TPM_SC_TOIE(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_TOIE_SHIFT)) & TPM_SC_TOIE_MASK) 20205 #define TPM_SC_TOF_MASK (0x80U) 20206 #define TPM_SC_TOF_SHIFT (7U) 20207 /*! TOF - Timer Overflow Flag 20208 * 0b0..TPM counter has not overflowed. 20209 * 0b1..TPM counter has overflowed. 20210 */ 20211 #define TPM_SC_TOF(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_TOF_SHIFT)) & TPM_SC_TOF_MASK) 20212 #define TPM_SC_DMA_MASK (0x100U) 20213 #define TPM_SC_DMA_SHIFT (8U) 20214 /*! DMA - DMA Enable 20215 * 0b0..Disables DMA transfers. 20216 * 0b1..Enables DMA transfers. 20217 */ 20218 #define TPM_SC_DMA(x) (((uint32_t)(((uint32_t)(x)) << TPM_SC_DMA_SHIFT)) & TPM_SC_DMA_MASK) 20219 /*! @} */ 20220 20221 /*! @name CNT - Counter */ 20222 /*! @{ */ 20223 #define TPM_CNT_COUNT_MASK (0xFFFFU) 20224 #define TPM_CNT_COUNT_SHIFT (0U) 20225 #define TPM_CNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CNT_COUNT_SHIFT)) & TPM_CNT_COUNT_MASK) 20226 /*! @} */ 20227 20228 /*! @name MOD - Modulo */ 20229 /*! @{ */ 20230 #define TPM_MOD_MOD_MASK (0xFFFFU) 20231 #define TPM_MOD_MOD_SHIFT (0U) 20232 #define TPM_MOD_MOD(x) (((uint32_t)(((uint32_t)(x)) << TPM_MOD_MOD_SHIFT)) & TPM_MOD_MOD_MASK) 20233 /*! @} */ 20234 20235 /*! @name STATUS - Capture and Compare Status */ 20236 /*! @{ */ 20237 #define TPM_STATUS_CH0F_MASK (0x1U) 20238 #define TPM_STATUS_CH0F_SHIFT (0U) 20239 /*! CH0F - Channel 0 Flag 20240 * 0b0..No channel event has occurred. 20241 * 0b1..A channel event has occurred. 20242 */ 20243 #define TPM_STATUS_CH0F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH0F_SHIFT)) & TPM_STATUS_CH0F_MASK) 20244 #define TPM_STATUS_CH1F_MASK (0x2U) 20245 #define TPM_STATUS_CH1F_SHIFT (1U) 20246 /*! CH1F - Channel 1 Flag 20247 * 0b0..No channel event has occurred. 20248 * 0b1..A channel event has occurred. 20249 */ 20250 #define TPM_STATUS_CH1F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH1F_SHIFT)) & TPM_STATUS_CH1F_MASK) 20251 #define TPM_STATUS_CH2F_MASK (0x4U) 20252 #define TPM_STATUS_CH2F_SHIFT (2U) 20253 /*! CH2F - Channel 2 Flag 20254 * 0b0..No channel event has occurred. 20255 * 0b1..A channel event has occurred. 20256 */ 20257 #define TPM_STATUS_CH2F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH2F_SHIFT)) & TPM_STATUS_CH2F_MASK) 20258 #define TPM_STATUS_CH3F_MASK (0x8U) 20259 #define TPM_STATUS_CH3F_SHIFT (3U) 20260 /*! CH3F - Channel 3 Flag 20261 * 0b0..No channel event has occurred. 20262 * 0b1..A channel event has occurred. 20263 */ 20264 #define TPM_STATUS_CH3F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH3F_SHIFT)) & TPM_STATUS_CH3F_MASK) 20265 #define TPM_STATUS_CH4F_MASK (0x10U) 20266 #define TPM_STATUS_CH4F_SHIFT (4U) 20267 /*! CH4F - Channel 4 Flag 20268 * 0b0..No channel event has occurred. 20269 * 0b1..A channel event has occurred. 20270 */ 20271 #define TPM_STATUS_CH4F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH4F_SHIFT)) & TPM_STATUS_CH4F_MASK) 20272 #define TPM_STATUS_CH5F_MASK (0x20U) 20273 #define TPM_STATUS_CH5F_SHIFT (5U) 20274 /*! CH5F - Channel 5 Flag 20275 * 0b0..No channel event has occurred. 20276 * 0b1..A channel event has occurred. 20277 */ 20278 #define TPM_STATUS_CH5F(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_CH5F_SHIFT)) & TPM_STATUS_CH5F_MASK) 20279 #define TPM_STATUS_TOF_MASK (0x100U) 20280 #define TPM_STATUS_TOF_SHIFT (8U) 20281 /*! TOF - Timer Overflow Flag 20282 * 0b0..TPM counter has not overflowed. 20283 * 0b1..TPM counter has overflowed. 20284 */ 20285 #define TPM_STATUS_TOF(x) (((uint32_t)(((uint32_t)(x)) << TPM_STATUS_TOF_SHIFT)) & TPM_STATUS_TOF_MASK) 20286 /*! @} */ 20287 20288 /*! @name CnSC - Channel (n) Status and Control */ 20289 /*! @{ */ 20290 #define TPM_CnSC_DMA_MASK (0x1U) 20291 #define TPM_CnSC_DMA_SHIFT (0U) 20292 /*! DMA - DMA Enable 20293 * 0b0..Disable DMA transfers. 20294 * 0b1..Enable DMA transfers. 20295 */ 20296 #define TPM_CnSC_DMA(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_DMA_SHIFT)) & TPM_CnSC_DMA_MASK) 20297 #define TPM_CnSC_ELSA_MASK (0x4U) 20298 #define TPM_CnSC_ELSA_SHIFT (2U) 20299 #define TPM_CnSC_ELSA(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_ELSA_SHIFT)) & TPM_CnSC_ELSA_MASK) 20300 #define TPM_CnSC_ELSB_MASK (0x8U) 20301 #define TPM_CnSC_ELSB_SHIFT (3U) 20302 #define TPM_CnSC_ELSB(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_ELSB_SHIFT)) & TPM_CnSC_ELSB_MASK) 20303 #define TPM_CnSC_MSA_MASK (0x10U) 20304 #define TPM_CnSC_MSA_SHIFT (4U) 20305 #define TPM_CnSC_MSA(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_MSA_SHIFT)) & TPM_CnSC_MSA_MASK) 20306 #define TPM_CnSC_MSB_MASK (0x20U) 20307 #define TPM_CnSC_MSB_SHIFT (5U) 20308 #define TPM_CnSC_MSB(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_MSB_SHIFT)) & TPM_CnSC_MSB_MASK) 20309 #define TPM_CnSC_CHIE_MASK (0x40U) 20310 #define TPM_CnSC_CHIE_SHIFT (6U) 20311 /*! CHIE - Channel Interrupt Enable 20312 * 0b0..Disable channel interrupts. 20313 * 0b1..Enable channel interrupts. 20314 */ 20315 #define TPM_CnSC_CHIE(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_CHIE_SHIFT)) & TPM_CnSC_CHIE_MASK) 20316 #define TPM_CnSC_CHF_MASK (0x80U) 20317 #define TPM_CnSC_CHF_SHIFT (7U) 20318 /*! CHF - Channel Flag 20319 * 0b0..No channel event has occurred. 20320 * 0b1..A channel event has occurred. 20321 */ 20322 #define TPM_CnSC_CHF(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnSC_CHF_SHIFT)) & TPM_CnSC_CHF_MASK) 20323 /*! @} */ 20324 20325 /* The count of TPM_CnSC */ 20326 #define TPM_CnSC_COUNT (6U) 20327 20328 /*! @name CnV - Channel (n) Value */ 20329 /*! @{ */ 20330 #define TPM_CnV_VAL_MASK (0xFFFFU) 20331 #define TPM_CnV_VAL_SHIFT (0U) 20332 #define TPM_CnV_VAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_CnV_VAL_SHIFT)) & TPM_CnV_VAL_MASK) 20333 /*! @} */ 20334 20335 /* The count of TPM_CnV */ 20336 #define TPM_CnV_COUNT (6U) 20337 20338 /*! @name COMBINE - Combine Channel Register */ 20339 /*! @{ */ 20340 #define TPM_COMBINE_COMBINE0_MASK (0x1U) 20341 #define TPM_COMBINE_COMBINE0_SHIFT (0U) 20342 /*! COMBINE0 - Combine Channels 0 and 1 20343 * 0b0..Channels 0 and 1 are independent. 20344 * 0b1..Channels 0 and 1 are combined. 20345 */ 20346 #define TPM_COMBINE_COMBINE0(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMBINE0_SHIFT)) & TPM_COMBINE_COMBINE0_MASK) 20347 #define TPM_COMBINE_COMSWAP0_MASK (0x2U) 20348 #define TPM_COMBINE_COMSWAP0_SHIFT (1U) 20349 /*! COMSWAP0 - Combine Channel 0 and 1 Swap 20350 * 0b0..Even channel is used for input capture and 1st compare. 20351 * 0b1..Odd channel is used for input capture and 1st compare. 20352 */ 20353 #define TPM_COMBINE_COMSWAP0(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMSWAP0_SHIFT)) & TPM_COMBINE_COMSWAP0_MASK) 20354 #define TPM_COMBINE_COMBINE1_MASK (0x100U) 20355 #define TPM_COMBINE_COMBINE1_SHIFT (8U) 20356 /*! COMBINE1 - Combine Channels 2 and 3 20357 * 0b0..Channels 2 and 3 are independent. 20358 * 0b1..Channels 2 and 3 are combined. 20359 */ 20360 #define TPM_COMBINE_COMBINE1(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMBINE1_SHIFT)) & TPM_COMBINE_COMBINE1_MASK) 20361 #define TPM_COMBINE_COMSWAP1_MASK (0x200U) 20362 #define TPM_COMBINE_COMSWAP1_SHIFT (9U) 20363 /*! COMSWAP1 - Combine Channels 2 and 3 Swap 20364 * 0b0..Even channel is used for input capture and 1st compare. 20365 * 0b1..Odd channel is used for input capture and 1st compare. 20366 */ 20367 #define TPM_COMBINE_COMSWAP1(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMSWAP1_SHIFT)) & TPM_COMBINE_COMSWAP1_MASK) 20368 #define TPM_COMBINE_COMBINE2_MASK (0x10000U) 20369 #define TPM_COMBINE_COMBINE2_SHIFT (16U) 20370 /*! COMBINE2 - Combine Channels 4 and 5 20371 * 0b0..Channels 4 and 5 are independent. 20372 * 0b1..Channels 4 and 5 are combined. 20373 */ 20374 #define TPM_COMBINE_COMBINE2(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMBINE2_SHIFT)) & TPM_COMBINE_COMBINE2_MASK) 20375 #define TPM_COMBINE_COMSWAP2_MASK (0x20000U) 20376 #define TPM_COMBINE_COMSWAP2_SHIFT (17U) 20377 /*! COMSWAP2 - Combine Channels 4 and 5 Swap 20378 * 0b0..Even channel is used for input capture and 1st compare. 20379 * 0b1..Odd channel is used for input capture and 1st compare. 20380 */ 20381 #define TPM_COMBINE_COMSWAP2(x) (((uint32_t)(((uint32_t)(x)) << TPM_COMBINE_COMSWAP2_SHIFT)) & TPM_COMBINE_COMSWAP2_MASK) 20382 /*! @} */ 20383 20384 /*! @name TRIG - Channel Trigger */ 20385 /*! @{ */ 20386 #define TPM_TRIG_TRIG0_MASK (0x1U) 20387 #define TPM_TRIG_TRIG0_SHIFT (0U) 20388 /*! TRIG0 - Channel 0 Trigger 20389 * 0b0..No effect. 20390 * 0b1..Configures trigger input 0 to be used by channel 0. 20391 */ 20392 #define TPM_TRIG_TRIG0(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG0_SHIFT)) & TPM_TRIG_TRIG0_MASK) 20393 #define TPM_TRIG_TRIG1_MASK (0x2U) 20394 #define TPM_TRIG_TRIG1_SHIFT (1U) 20395 /*! TRIG1 - Channel 1 Trigger 20396 * 0b0..No effect. 20397 * 0b1..Configures trigger input 1 to be used by channel 1. 20398 */ 20399 #define TPM_TRIG_TRIG1(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG1_SHIFT)) & TPM_TRIG_TRIG1_MASK) 20400 #define TPM_TRIG_TRIG2_MASK (0x4U) 20401 #define TPM_TRIG_TRIG2_SHIFT (2U) 20402 /*! TRIG2 - Channel 2 Trigger 20403 * 0b0..No effect. 20404 * 0b1..Configures trigger input 0 to be used by channel 2. 20405 */ 20406 #define TPM_TRIG_TRIG2(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG2_SHIFT)) & TPM_TRIG_TRIG2_MASK) 20407 #define TPM_TRIG_TRIG3_MASK (0x8U) 20408 #define TPM_TRIG_TRIG3_SHIFT (3U) 20409 /*! TRIG3 - Channel 3 Trigger 20410 * 0b0..No effect. 20411 * 0b1..Configures trigger input 1 to be used by channel 3. 20412 */ 20413 #define TPM_TRIG_TRIG3(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG3_SHIFT)) & TPM_TRIG_TRIG3_MASK) 20414 #define TPM_TRIG_TRIG4_MASK (0x10U) 20415 #define TPM_TRIG_TRIG4_SHIFT (4U) 20416 /*! TRIG4 - Channel 4 Trigger 20417 * 0b0..No effect. 20418 * 0b1..Configures trigger input 0 to be used by channel 4. 20419 */ 20420 #define TPM_TRIG_TRIG4(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG4_SHIFT)) & TPM_TRIG_TRIG4_MASK) 20421 #define TPM_TRIG_TRIG5_MASK (0x20U) 20422 #define TPM_TRIG_TRIG5_SHIFT (5U) 20423 /*! TRIG5 - Channel 5 Trigger 20424 * 0b0..No effect. 20425 * 0b1..Configures trigger input 1 to be used by channel 5. 20426 */ 20427 #define TPM_TRIG_TRIG5(x) (((uint32_t)(((uint32_t)(x)) << TPM_TRIG_TRIG5_SHIFT)) & TPM_TRIG_TRIG5_MASK) 20428 /*! @} */ 20429 20430 /*! @name POL - Channel Polarity */ 20431 /*! @{ */ 20432 #define TPM_POL_POL0_MASK (0x1U) 20433 #define TPM_POL_POL0_SHIFT (0U) 20434 /*! POL0 - Channel 0 Polarity 20435 * 0b0..The channel polarity is active high. 20436 * 0b1..The channel polarity is active low. 20437 */ 20438 #define TPM_POL_POL0(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL0_SHIFT)) & TPM_POL_POL0_MASK) 20439 #define TPM_POL_POL1_MASK (0x2U) 20440 #define TPM_POL_POL1_SHIFT (1U) 20441 /*! POL1 - Channel 1 Polarity 20442 * 0b0..The channel polarity is active high. 20443 * 0b1..The channel polarity is active low. 20444 */ 20445 #define TPM_POL_POL1(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL1_SHIFT)) & TPM_POL_POL1_MASK) 20446 #define TPM_POL_POL2_MASK (0x4U) 20447 #define TPM_POL_POL2_SHIFT (2U) 20448 /*! POL2 - Channel 2 Polarity 20449 * 0b0..The channel polarity is active high. 20450 * 0b1..The channel polarity is active low. 20451 */ 20452 #define TPM_POL_POL2(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL2_SHIFT)) & TPM_POL_POL2_MASK) 20453 #define TPM_POL_POL3_MASK (0x8U) 20454 #define TPM_POL_POL3_SHIFT (3U) 20455 /*! POL3 - Channel 3 Polarity 20456 * 0b0..The channel polarity is active high. 20457 * 0b1..The channel polarity is active low. 20458 */ 20459 #define TPM_POL_POL3(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL3_SHIFT)) & TPM_POL_POL3_MASK) 20460 #define TPM_POL_POL4_MASK (0x10U) 20461 #define TPM_POL_POL4_SHIFT (4U) 20462 /*! POL4 - Channel 4 Polarity 20463 * 0b0..The channel polarity is active high 20464 * 0b1..The channel polarity is active low. 20465 */ 20466 #define TPM_POL_POL4(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL4_SHIFT)) & TPM_POL_POL4_MASK) 20467 #define TPM_POL_POL5_MASK (0x20U) 20468 #define TPM_POL_POL5_SHIFT (5U) 20469 /*! POL5 - Channel 5 Polarity 20470 * 0b0..The channel polarity is active high. 20471 * 0b1..The channel polarity is active low. 20472 */ 20473 #define TPM_POL_POL5(x) (((uint32_t)(((uint32_t)(x)) << TPM_POL_POL5_SHIFT)) & TPM_POL_POL5_MASK) 20474 /*! @} */ 20475 20476 /*! @name FILTER - Filter Control */ 20477 /*! @{ */ 20478 #define TPM_FILTER_CH0FVAL_MASK (0xFU) 20479 #define TPM_FILTER_CH0FVAL_SHIFT (0U) 20480 #define TPM_FILTER_CH0FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH0FVAL_SHIFT)) & TPM_FILTER_CH0FVAL_MASK) 20481 #define TPM_FILTER_CH1FVAL_MASK (0xF0U) 20482 #define TPM_FILTER_CH1FVAL_SHIFT (4U) 20483 #define TPM_FILTER_CH1FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH1FVAL_SHIFT)) & TPM_FILTER_CH1FVAL_MASK) 20484 #define TPM_FILTER_CH2FVAL_MASK (0xF00U) 20485 #define TPM_FILTER_CH2FVAL_SHIFT (8U) 20486 #define TPM_FILTER_CH2FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH2FVAL_SHIFT)) & TPM_FILTER_CH2FVAL_MASK) 20487 #define TPM_FILTER_CH3FVAL_MASK (0xF000U) 20488 #define TPM_FILTER_CH3FVAL_SHIFT (12U) 20489 #define TPM_FILTER_CH3FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH3FVAL_SHIFT)) & TPM_FILTER_CH3FVAL_MASK) 20490 #define TPM_FILTER_CH4FVAL_MASK (0xF0000U) 20491 #define TPM_FILTER_CH4FVAL_SHIFT (16U) 20492 #define TPM_FILTER_CH4FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH4FVAL_SHIFT)) & TPM_FILTER_CH4FVAL_MASK) 20493 #define TPM_FILTER_CH5FVAL_MASK (0xF00000U) 20494 #define TPM_FILTER_CH5FVAL_SHIFT (20U) 20495 #define TPM_FILTER_CH5FVAL(x) (((uint32_t)(((uint32_t)(x)) << TPM_FILTER_CH5FVAL_SHIFT)) & TPM_FILTER_CH5FVAL_MASK) 20496 /*! @} */ 20497 20498 /*! @name QDCTRL - Quadrature Decoder Control and Status */ 20499 /*! @{ */ 20500 #define TPM_QDCTRL_QUADEN_MASK (0x1U) 20501 #define TPM_QDCTRL_QUADEN_SHIFT (0U) 20502 /*! QUADEN - QUADEN 20503 * 0b0..Quadrature decoder mode is disabled. 20504 * 0b1..Quadrature decoder mode is enabled. 20505 */ 20506 #define TPM_QDCTRL_QUADEN(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_QUADEN_SHIFT)) & TPM_QDCTRL_QUADEN_MASK) 20507 #define TPM_QDCTRL_TOFDIR_MASK (0x2U) 20508 #define TPM_QDCTRL_TOFDIR_SHIFT (1U) 20509 /*! TOFDIR - TOFDIR 20510 * 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). 20511 * 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). 20512 */ 20513 #define TPM_QDCTRL_TOFDIR(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_TOFDIR_SHIFT)) & TPM_QDCTRL_TOFDIR_MASK) 20514 #define TPM_QDCTRL_QUADIR_MASK (0x4U) 20515 #define TPM_QDCTRL_QUADIR_SHIFT (2U) 20516 /*! QUADIR - Counter Direction in Quadrature Decode Mode 20517 * 0b0..Counter direction is decreasing (counter decrement). 20518 * 0b1..Counter direction is increasing (counter increment). 20519 */ 20520 #define TPM_QDCTRL_QUADIR(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_QUADIR_SHIFT)) & TPM_QDCTRL_QUADIR_MASK) 20521 #define TPM_QDCTRL_QUADMODE_MASK (0x8U) 20522 #define TPM_QDCTRL_QUADMODE_SHIFT (3U) 20523 /*! QUADMODE - Quadrature Decoder Mode 20524 * 0b0..Phase encoding mode. 20525 * 0b1..Count and direction encoding mode. 20526 */ 20527 #define TPM_QDCTRL_QUADMODE(x) (((uint32_t)(((uint32_t)(x)) << TPM_QDCTRL_QUADMODE_SHIFT)) & TPM_QDCTRL_QUADMODE_MASK) 20528 /*! @} */ 20529 20530 /*! @name CONF - Configuration */ 20531 /*! @{ */ 20532 #define TPM_CONF_DOZEEN_MASK (0x20U) 20533 #define TPM_CONF_DOZEEN_SHIFT (5U) 20534 /*! DOZEEN - Doze Enable 20535 * 0b0..Internal TPM counter continues in Doze mode. 20536 * 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. 20537 */ 20538 #define TPM_CONF_DOZEEN(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_DOZEEN_SHIFT)) & TPM_CONF_DOZEEN_MASK) 20539 #define TPM_CONF_DBGMODE_MASK (0xC0U) 20540 #define TPM_CONF_DBGMODE_SHIFT (6U) 20541 /*! DBGMODE - Debug Mode 20542 * 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. 20543 * 0b11..TPM counter continues in debug mode. 20544 */ 20545 #define TPM_CONF_DBGMODE(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_DBGMODE_SHIFT)) & TPM_CONF_DBGMODE_MASK) 20546 #define TPM_CONF_GTBSYNC_MASK (0x100U) 20547 #define TPM_CONF_GTBSYNC_SHIFT (8U) 20548 /*! GTBSYNC - Global Time Base Synchronization 20549 * 0b0..Global timebase synchronization disabled. 20550 * 0b1..Global timebase synchronization enabled. 20551 */ 20552 #define TPM_CONF_GTBSYNC(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_GTBSYNC_SHIFT)) & TPM_CONF_GTBSYNC_MASK) 20553 #define TPM_CONF_GTBEEN_MASK (0x200U) 20554 #define TPM_CONF_GTBEEN_SHIFT (9U) 20555 /*! GTBEEN - Global time base enable 20556 * 0b0..All channels use the internally generated TPM counter as their timebase 20557 * 0b1..All channels use an externally generated global timebase as their timebase 20558 */ 20559 #define TPM_CONF_GTBEEN(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_GTBEEN_SHIFT)) & TPM_CONF_GTBEEN_MASK) 20560 #define TPM_CONF_CSOT_MASK (0x10000U) 20561 #define TPM_CONF_CSOT_SHIFT (16U) 20562 /*! CSOT - Counter Start on Trigger 20563 * 0b0..TPM counter starts to increment immediately, once it is enabled. 20564 * 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. 20565 */ 20566 #define TPM_CONF_CSOT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CSOT_SHIFT)) & TPM_CONF_CSOT_MASK) 20567 #define TPM_CONF_CSOO_MASK (0x20000U) 20568 #define TPM_CONF_CSOO_SHIFT (17U) 20569 /*! CSOO - Counter Stop On Overflow 20570 * 0b0..TPM counter continues incrementing or decrementing after overflow 20571 * 0b1..TPM counter stops incrementing or decrementing after overflow. 20572 */ 20573 #define TPM_CONF_CSOO(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CSOO_SHIFT)) & TPM_CONF_CSOO_MASK) 20574 #define TPM_CONF_CROT_MASK (0x40000U) 20575 #define TPM_CONF_CROT_SHIFT (18U) 20576 /*! CROT - Counter Reload On Trigger 20577 * 0b0..Counter is not reloaded due to a rising edge on the selected input trigger 20578 * 0b1..Counter is reloaded when a rising edge is detected on the selected input trigger 20579 */ 20580 #define TPM_CONF_CROT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CROT_SHIFT)) & TPM_CONF_CROT_MASK) 20581 #define TPM_CONF_CPOT_MASK (0x80000U) 20582 #define TPM_CONF_CPOT_SHIFT (19U) 20583 #define TPM_CONF_CPOT(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_CPOT_SHIFT)) & TPM_CONF_CPOT_MASK) 20584 #define TPM_CONF_TRGPOL_MASK (0x400000U) 20585 #define TPM_CONF_TRGPOL_SHIFT (22U) 20586 /*! TRGPOL - Trigger Polarity 20587 * 0b0..Trigger is active high. 20588 * 0b1..Trigger is active low. 20589 */ 20590 #define TPM_CONF_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_TRGPOL_SHIFT)) & TPM_CONF_TRGPOL_MASK) 20591 #define TPM_CONF_TRGSRC_MASK (0x800000U) 20592 #define TPM_CONF_TRGSRC_SHIFT (23U) 20593 /*! TRGSRC - Trigger Source 20594 * 0b0..Trigger source selected by TRGSEL is external. 20595 * 0b1..Trigger source selected by TRGSEL is internal (channel pin input capture). 20596 */ 20597 #define TPM_CONF_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_TRGSRC_SHIFT)) & TPM_CONF_TRGSRC_MASK) 20598 #define TPM_CONF_TRGSEL_MASK (0x3000000U) 20599 #define TPM_CONF_TRGSEL_SHIFT (24U) 20600 /*! TRGSEL - Trigger Select 20601 * 0b01..Channel 0 pin input capture 20602 * 0b10..Channel 1 pin input capture 20603 * 0b11..Channel 0 or Channel 1 pin input capture 20604 */ 20605 #define TPM_CONF_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << TPM_CONF_TRGSEL_SHIFT)) & TPM_CONF_TRGSEL_MASK) 20606 /*! @} */ 20607 20608 20609 /*! 20610 * @} 20611 */ /* end of group TPM_Register_Masks */ 20612 20613 20614 /* TPM - Peripheral instance base addresses */ 20615 /** Peripheral TPM0 base address */ 20616 #define TPM0_BASE (0x40035000u) 20617 /** Peripheral TPM0 base pointer */ 20618 #define TPM0 ((TPM_Type *)TPM0_BASE) 20619 /** Peripheral TPM1 base address */ 20620 #define TPM1_BASE (0x40036000u) 20621 /** Peripheral TPM1 base pointer */ 20622 #define TPM1 ((TPM_Type *)TPM1_BASE) 20623 /** Peripheral TPM2 base address */ 20624 #define TPM2_BASE (0x40037000u) 20625 /** Peripheral TPM2 base pointer */ 20626 #define TPM2 ((TPM_Type *)TPM2_BASE) 20627 /** Peripheral TPM3 base address */ 20628 #define TPM3_BASE (0x4102D000u) 20629 /** Peripheral TPM3 base pointer */ 20630 #define TPM3 ((TPM_Type *)TPM3_BASE) 20631 /** Array initializer of TPM peripheral base addresses */ 20632 #define TPM_BASE_ADDRS { TPM0_BASE, TPM1_BASE, TPM2_BASE, TPM3_BASE } 20633 /** Array initializer of TPM peripheral base pointers */ 20634 #define TPM_BASE_PTRS { TPM0, TPM1, TPM2, TPM3 } 20635 /** Interrupt vectors for the TPM peripheral type */ 20636 #define TPM_IRQS { TPM0_IRQn, TPM1_IRQn, TPM2_IRQn, TPM3_IRQn } 20637 20638 /*! 20639 * @} 20640 */ /* end of group TPM_Peripheral_Access_Layer */ 20641 20642 20643 /* ---------------------------------------------------------------------------- 20644 -- TRGMUX Peripheral Access Layer 20645 ---------------------------------------------------------------------------- */ 20646 20647 /*! 20648 * @addtogroup TRGMUX_Peripheral_Access_Layer TRGMUX Peripheral Access Layer 20649 * @{ 20650 */ 20651 20652 /** TRGMUX - Register Layout Typedef */ 20653 typedef struct { 20654 __IO uint32_t TRGCFG[25]; /**< TRGMUX TRGMUX_DMAMUX0 Register..TRGMUX TRGMUX_LPDAC0 Register, array offset: 0x0, array step: 0x4 */ 20655 } TRGMUX_Type; 20656 20657 /* ---------------------------------------------------------------------------- 20658 -- TRGMUX Register Masks 20659 ---------------------------------------------------------------------------- */ 20660 20661 /*! 20662 * @addtogroup TRGMUX_Register_Masks TRGMUX Register Masks 20663 * @{ 20664 */ 20665 20666 /*! @name TRGCFG - TRGMUX TRGMUX_DMAMUX0 Register..TRGMUX TRGMUX_LPDAC0 Register */ 20667 /*! @{ */ 20668 #define TRGMUX_TRGCFG_SEL0_MASK (0x3FU) 20669 #define TRGMUX_TRGCFG_SEL0_SHIFT (0U) 20670 #define TRGMUX_TRGCFG_SEL0(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_TRGCFG_SEL0_SHIFT)) & TRGMUX_TRGCFG_SEL0_MASK) 20671 #define TRGMUX_TRGCFG_SEL1_MASK (0x3F00U) 20672 #define TRGMUX_TRGCFG_SEL1_SHIFT (8U) 20673 #define TRGMUX_TRGCFG_SEL1(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_TRGCFG_SEL1_SHIFT)) & TRGMUX_TRGCFG_SEL1_MASK) 20674 #define TRGMUX_TRGCFG_SEL2_MASK (0x3F0000U) 20675 #define TRGMUX_TRGCFG_SEL2_SHIFT (16U) 20676 #define TRGMUX_TRGCFG_SEL2(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_TRGCFG_SEL2_SHIFT)) & TRGMUX_TRGCFG_SEL2_MASK) 20677 #define TRGMUX_TRGCFG_SEL3_MASK (0x3F000000U) 20678 #define TRGMUX_TRGCFG_SEL3_SHIFT (24U) 20679 #define TRGMUX_TRGCFG_SEL3(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_TRGCFG_SEL3_SHIFT)) & TRGMUX_TRGCFG_SEL3_MASK) 20680 #define TRGMUX_TRGCFG_LK_MASK (0x80000000U) 20681 #define TRGMUX_TRGCFG_LK_SHIFT (31U) 20682 /*! LK - TRGMUX register lock. 20683 * 0b0..Register can be written. 20684 * 0b1..Register cannot be written until the next system Reset. 20685 */ 20686 #define TRGMUX_TRGCFG_LK(x) (((uint32_t)(((uint32_t)(x)) << TRGMUX_TRGCFG_LK_SHIFT)) & TRGMUX_TRGCFG_LK_MASK) 20687 /*! @} */ 20688 20689 /* The count of TRGMUX_TRGCFG */ 20690 #define TRGMUX_TRGCFG_COUNT (25U) 20691 20692 20693 /*! 20694 * @} 20695 */ /* end of group TRGMUX_Register_Masks */ 20696 20697 20698 /* TRGMUX - Peripheral instance base addresses */ 20699 /** Peripheral TRGMUX0 base address */ 20700 #define TRGMUX0_BASE (0x40029000u) 20701 /** Peripheral TRGMUX0 base pointer */ 20702 #define TRGMUX0 ((TRGMUX_Type *)TRGMUX0_BASE) 20703 /** Peripheral TRGMUX1 base address */ 20704 #define TRGMUX1_BASE (0x41025000u) 20705 /** Peripheral TRGMUX1 base pointer */ 20706 #define TRGMUX1 ((TRGMUX_Type *)TRGMUX1_BASE) 20707 /** Array initializer of TRGMUX peripheral base addresses */ 20708 #define TRGMUX_BASE_ADDRS { TRGMUX0_BASE, TRGMUX1_BASE } 20709 /** Array initializer of TRGMUX peripheral base pointers */ 20710 #define TRGMUX_BASE_PTRS { TRGMUX0, TRGMUX1 } 20711 20712 /*! 20713 * @} 20714 */ /* end of group TRGMUX_Peripheral_Access_Layer */ 20715 20716 20717 /* ---------------------------------------------------------------------------- 20718 -- TRNG Peripheral Access Layer 20719 ---------------------------------------------------------------------------- */ 20720 20721 /*! 20722 * @addtogroup TRNG_Peripheral_Access_Layer TRNG Peripheral Access Layer 20723 * @{ 20724 */ 20725 20726 /** TRNG - Register Layout Typedef */ 20727 typedef struct { 20728 __IO uint32_t MCTL; /**< Miscellaneous Control Register, offset: 0x0 */ 20729 __IO uint32_t SCMISC; /**< Statistical Check Miscellaneous Register, offset: 0x4 */ 20730 __IO uint32_t PKRRNG; /**< Poker Range Register, offset: 0x8 */ 20731 union { /* offset: 0xC */ 20732 __IO uint32_t PKRMAX; /**< Poker Maximum Limit Register, offset: 0xC */ 20733 __I uint32_t PKRSQ; /**< Poker Square Calculation Result Register, offset: 0xC */ 20734 }; 20735 __IO uint32_t SDCTL; /**< Seed Control Register, offset: 0x10 */ 20736 union { /* offset: 0x14 */ 20737 __IO uint32_t SBLIM; /**< Sparse Bit Limit Register, offset: 0x14 */ 20738 __I uint32_t TOTSAM; /**< Total Samples Register, offset: 0x14 */ 20739 }; 20740 __IO uint32_t FRQMIN; /**< Frequency Count Minimum Limit Register, offset: 0x18 */ 20741 union { /* offset: 0x1C */ 20742 __I uint32_t FRQCNT; /**< Frequency Count Register, offset: 0x1C */ 20743 __IO uint32_t FRQMAX; /**< Frequency Count Maximum Limit Register, offset: 0x1C */ 20744 }; 20745 union { /* offset: 0x20 */ 20746 __I uint32_t SCMC; /**< Statistical Check Monobit Count Register, offset: 0x20 */ 20747 __IO uint32_t SCML; /**< Statistical Check Monobit Limit Register, offset: 0x20 */ 20748 }; 20749 union { /* offset: 0x24 */ 20750 __I uint32_t SCR1C; /**< Statistical Check Run Length 1 Count Register, offset: 0x24 */ 20751 __IO uint32_t SCR1L; /**< Statistical Check Run Length 1 Limit Register, offset: 0x24 */ 20752 }; 20753 union { /* offset: 0x28 */ 20754 __I uint32_t SCR2C; /**< Statistical Check Run Length 2 Count Register, offset: 0x28 */ 20755 __IO uint32_t SCR2L; /**< Statistical Check Run Length 2 Limit Register, offset: 0x28 */ 20756 }; 20757 union { /* offset: 0x2C */ 20758 __I uint32_t SCR3C; /**< Statistical Check Run Length 3 Count Register, offset: 0x2C */ 20759 __IO uint32_t SCR3L; /**< Statistical Check Run Length 3 Limit Register, offset: 0x2C */ 20760 }; 20761 union { /* offset: 0x30 */ 20762 __I uint32_t SCR4C; /**< Statistical Check Run Length 4 Count Register, offset: 0x30 */ 20763 __IO uint32_t SCR4L; /**< Statistical Check Run Length 4 Limit Register, offset: 0x30 */ 20764 }; 20765 union { /* offset: 0x34 */ 20766 __I uint32_t SCR5C; /**< Statistical Check Run Length 5 Count Register, offset: 0x34 */ 20767 __IO uint32_t SCR5L; /**< Statistical Check Run Length 5 Limit Register, offset: 0x34 */ 20768 }; 20769 union { /* offset: 0x38 */ 20770 __I uint32_t SCR6PC; /**< Statistical Check Run Length 6+ Count Register, offset: 0x38 */ 20771 __IO uint32_t SCR6PL; /**< Statistical Check Run Length 6+ Limit Register, offset: 0x38 */ 20772 }; 20773 __I uint32_t STATUS; /**< Status Register, offset: 0x3C */ 20774 __I uint32_t ENT[16]; /**< Entropy Read Register, array offset: 0x40, array step: 0x4 */ 20775 __I uint32_t PKRCNT10; /**< Statistical Check Poker Count 1 and 0 Register, offset: 0x80 */ 20776 __I uint32_t PKRCNT32; /**< Statistical Check Poker Count 3 and 2 Register, offset: 0x84 */ 20777 __I uint32_t PKRCNT54; /**< Statistical Check Poker Count 5 and 4 Register, offset: 0x88 */ 20778 __I uint32_t PKRCNT76; /**< Statistical Check Poker Count 7 and 6 Register, offset: 0x8C */ 20779 __I uint32_t PKRCNT98; /**< Statistical Check Poker Count 9 and 8 Register, offset: 0x90 */ 20780 __I uint32_t PKRCNTBA; /**< Statistical Check Poker Count B and A Register, offset: 0x94 */ 20781 __I uint32_t PKRCNTDC; /**< Statistical Check Poker Count D and C Register, offset: 0x98 */ 20782 __I uint32_t PKRCNTFE; /**< Statistical Check Poker Count F and E Register, offset: 0x9C */ 20783 __IO uint32_t SEC_CFG; /**< Security Configuration Register, offset: 0xA0 */ 20784 __IO uint32_t INT_CTRL; /**< Interrupt Control Register, offset: 0xA4 */ 20785 __IO uint32_t INT_MASK; /**< Mask Register, offset: 0xA8 */ 20786 __I uint32_t INT_STATUS; /**< Interrupt Status Register, offset: 0xAC */ 20787 uint8_t RESERVED_0[64]; 20788 __I uint32_t VID1; /**< Version ID Register (MS), offset: 0xF0 */ 20789 __I uint32_t VID2; /**< Version ID Register (LS), offset: 0xF4 */ 20790 } TRNG_Type; 20791 20792 /* ---------------------------------------------------------------------------- 20793 -- TRNG Register Masks 20794 ---------------------------------------------------------------------------- */ 20795 20796 /*! 20797 * @addtogroup TRNG_Register_Masks TRNG Register Masks 20798 * @{ 20799 */ 20800 20801 /*! @name MCTL - Miscellaneous Control Register */ 20802 /*! @{ */ 20803 #define TRNG_MCTL_SAMP_MODE_MASK (0x3U) 20804 #define TRNG_MCTL_SAMP_MODE_SHIFT (0U) 20805 /*! SAMP_MODE 20806 * 0b00..use Von Neumann data into both Entropy shifter and Statistical Checker 20807 * 0b01..use raw data into both Entropy shifter and Statistical Checker 20808 * 0b10..use Von Neumann data into Entropy shifter. Use raw data into Statistical Checker 20809 * 0b11..undefined/reserved. 20810 */ 20811 #define TRNG_MCTL_SAMP_MODE(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_SAMP_MODE_SHIFT)) & TRNG_MCTL_SAMP_MODE_MASK) 20812 #define TRNG_MCTL_OSC_DIV_MASK (0xCU) 20813 #define TRNG_MCTL_OSC_DIV_SHIFT (2U) 20814 /*! OSC_DIV 20815 * 0b00..use ring oscillator with no divide 20816 * 0b01..use ring oscillator divided-by-2 20817 * 0b10..use ring oscillator divided-by-4 20818 * 0b11..use ring oscillator divided-by-8 20819 */ 20820 #define TRNG_MCTL_OSC_DIV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_OSC_DIV_SHIFT)) & TRNG_MCTL_OSC_DIV_MASK) 20821 #define TRNG_MCTL_UNUSED4_MASK (0x10U) 20822 #define TRNG_MCTL_UNUSED4_SHIFT (4U) 20823 #define TRNG_MCTL_UNUSED4(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_UNUSED4_SHIFT)) & TRNG_MCTL_UNUSED4_MASK) 20824 #define TRNG_MCTL_TRNG_ACC_MASK (0x20U) 20825 #define TRNG_MCTL_TRNG_ACC_SHIFT (5U) 20826 #define TRNG_MCTL_TRNG_ACC(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TRNG_ACC_SHIFT)) & TRNG_MCTL_TRNG_ACC_MASK) 20827 #define TRNG_MCTL_RST_DEF_MASK (0x40U) 20828 #define TRNG_MCTL_RST_DEF_SHIFT (6U) 20829 #define TRNG_MCTL_RST_DEF(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_RST_DEF_SHIFT)) & TRNG_MCTL_RST_DEF_MASK) 20830 #define TRNG_MCTL_FOR_SCLK_MASK (0x80U) 20831 #define TRNG_MCTL_FOR_SCLK_SHIFT (7U) 20832 #define TRNG_MCTL_FOR_SCLK(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FOR_SCLK_SHIFT)) & TRNG_MCTL_FOR_SCLK_MASK) 20833 #define TRNG_MCTL_FCT_FAIL_MASK (0x100U) 20834 #define TRNG_MCTL_FCT_FAIL_SHIFT (8U) 20835 #define TRNG_MCTL_FCT_FAIL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FCT_FAIL_SHIFT)) & TRNG_MCTL_FCT_FAIL_MASK) 20836 #define TRNG_MCTL_FCT_VAL_MASK (0x200U) 20837 #define TRNG_MCTL_FCT_VAL_SHIFT (9U) 20838 #define TRNG_MCTL_FCT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_FCT_VAL_SHIFT)) & TRNG_MCTL_FCT_VAL_MASK) 20839 #define TRNG_MCTL_ENT_VAL_MASK (0x400U) 20840 #define TRNG_MCTL_ENT_VAL_SHIFT (10U) 20841 #define TRNG_MCTL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_ENT_VAL_SHIFT)) & TRNG_MCTL_ENT_VAL_MASK) 20842 #define TRNG_MCTL_TST_OUT_MASK (0x800U) 20843 #define TRNG_MCTL_TST_OUT_SHIFT (11U) 20844 #define TRNG_MCTL_TST_OUT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TST_OUT_SHIFT)) & TRNG_MCTL_TST_OUT_MASK) 20845 #define TRNG_MCTL_ERR_MASK (0x1000U) 20846 #define TRNG_MCTL_ERR_SHIFT (12U) 20847 #define TRNG_MCTL_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_ERR_SHIFT)) & TRNG_MCTL_ERR_MASK) 20848 #define TRNG_MCTL_TSTOP_OK_MASK (0x2000U) 20849 #define TRNG_MCTL_TSTOP_OK_SHIFT (13U) 20850 #define TRNG_MCTL_TSTOP_OK(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_TSTOP_OK_SHIFT)) & TRNG_MCTL_TSTOP_OK_MASK) 20851 #define TRNG_MCTL_PRGM_MASK (0x10000U) 20852 #define TRNG_MCTL_PRGM_SHIFT (16U) 20853 #define TRNG_MCTL_PRGM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_MCTL_PRGM_SHIFT)) & TRNG_MCTL_PRGM_MASK) 20854 /*! @} */ 20855 20856 /*! @name SCMISC - Statistical Check Miscellaneous Register */ 20857 /*! @{ */ 20858 #define TRNG_SCMISC_LRUN_MAX_MASK (0xFFU) 20859 #define TRNG_SCMISC_LRUN_MAX_SHIFT (0U) 20860 #define TRNG_SCMISC_LRUN_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMISC_LRUN_MAX_SHIFT)) & TRNG_SCMISC_LRUN_MAX_MASK) 20861 #define TRNG_SCMISC_RTY_CT_MASK (0xF0000U) 20862 #define TRNG_SCMISC_RTY_CT_SHIFT (16U) 20863 #define TRNG_SCMISC_RTY_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMISC_RTY_CT_SHIFT)) & TRNG_SCMISC_RTY_CT_MASK) 20864 /*! @} */ 20865 20866 /*! @name PKRRNG - Poker Range Register */ 20867 /*! @{ */ 20868 #define TRNG_PKRRNG_PKR_RNG_MASK (0xFFFFU) 20869 #define TRNG_PKRRNG_PKR_RNG_SHIFT (0U) 20870 #define TRNG_PKRRNG_PKR_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRRNG_PKR_RNG_SHIFT)) & TRNG_PKRRNG_PKR_RNG_MASK) 20871 /*! @} */ 20872 20873 /*! @name PKRMAX - Poker Maximum Limit Register */ 20874 /*! @{ */ 20875 #define TRNG_PKRMAX_PKR_MAX_MASK (0xFFFFFFU) 20876 #define TRNG_PKRMAX_PKR_MAX_SHIFT (0U) 20877 #define TRNG_PKRMAX_PKR_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRMAX_PKR_MAX_SHIFT)) & TRNG_PKRMAX_PKR_MAX_MASK) 20878 /*! @} */ 20879 20880 /*! @name PKRSQ - Poker Square Calculation Result Register */ 20881 /*! @{ */ 20882 #define TRNG_PKRSQ_PKR_SQ_MASK (0xFFFFFFU) 20883 #define TRNG_PKRSQ_PKR_SQ_SHIFT (0U) 20884 #define TRNG_PKRSQ_PKR_SQ(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRSQ_PKR_SQ_SHIFT)) & TRNG_PKRSQ_PKR_SQ_MASK) 20885 /*! @} */ 20886 20887 /*! @name SDCTL - Seed Control Register */ 20888 /*! @{ */ 20889 #define TRNG_SDCTL_SAMP_SIZE_MASK (0xFFFFU) 20890 #define TRNG_SDCTL_SAMP_SIZE_SHIFT (0U) 20891 #define TRNG_SDCTL_SAMP_SIZE(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SDCTL_SAMP_SIZE_SHIFT)) & TRNG_SDCTL_SAMP_SIZE_MASK) 20892 #define TRNG_SDCTL_ENT_DLY_MASK (0xFFFF0000U) 20893 #define TRNG_SDCTL_ENT_DLY_SHIFT (16U) 20894 #define TRNG_SDCTL_ENT_DLY(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SDCTL_ENT_DLY_SHIFT)) & TRNG_SDCTL_ENT_DLY_MASK) 20895 /*! @} */ 20896 20897 /*! @name SBLIM - Sparse Bit Limit Register */ 20898 /*! @{ */ 20899 #define TRNG_SBLIM_SB_LIM_MASK (0x3FFU) 20900 #define TRNG_SBLIM_SB_LIM_SHIFT (0U) 20901 #define TRNG_SBLIM_SB_LIM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SBLIM_SB_LIM_SHIFT)) & TRNG_SBLIM_SB_LIM_MASK) 20902 /*! @} */ 20903 20904 /*! @name TOTSAM - Total Samples Register */ 20905 /*! @{ */ 20906 #define TRNG_TOTSAM_TOT_SAM_MASK (0xFFFFFU) 20907 #define TRNG_TOTSAM_TOT_SAM_SHIFT (0U) 20908 #define TRNG_TOTSAM_TOT_SAM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_TOTSAM_TOT_SAM_SHIFT)) & TRNG_TOTSAM_TOT_SAM_MASK) 20909 /*! @} */ 20910 20911 /*! @name FRQMIN - Frequency Count Minimum Limit Register */ 20912 /*! @{ */ 20913 #define TRNG_FRQMIN_FRQ_MIN_MASK (0x3FFFFFU) 20914 #define TRNG_FRQMIN_FRQ_MIN_SHIFT (0U) 20915 #define TRNG_FRQMIN_FRQ_MIN(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQMIN_FRQ_MIN_SHIFT)) & TRNG_FRQMIN_FRQ_MIN_MASK) 20916 /*! @} */ 20917 20918 /*! @name FRQCNT - Frequency Count Register */ 20919 /*! @{ */ 20920 #define TRNG_FRQCNT_FRQ_CT_MASK (0x3FFFFFU) 20921 #define TRNG_FRQCNT_FRQ_CT_SHIFT (0U) 20922 #define TRNG_FRQCNT_FRQ_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQCNT_FRQ_CT_SHIFT)) & TRNG_FRQCNT_FRQ_CT_MASK) 20923 /*! @} */ 20924 20925 /*! @name FRQMAX - Frequency Count Maximum Limit Register */ 20926 /*! @{ */ 20927 #define TRNG_FRQMAX_FRQ_MAX_MASK (0x3FFFFFU) 20928 #define TRNG_FRQMAX_FRQ_MAX_SHIFT (0U) 20929 #define TRNG_FRQMAX_FRQ_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_FRQMAX_FRQ_MAX_SHIFT)) & TRNG_FRQMAX_FRQ_MAX_MASK) 20930 /*! @} */ 20931 20932 /*! @name SCMC - Statistical Check Monobit Count Register */ 20933 /*! @{ */ 20934 #define TRNG_SCMC_MONO_CT_MASK (0xFFFFU) 20935 #define TRNG_SCMC_MONO_CT_SHIFT (0U) 20936 #define TRNG_SCMC_MONO_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCMC_MONO_CT_SHIFT)) & TRNG_SCMC_MONO_CT_MASK) 20937 /*! @} */ 20938 20939 /*! @name SCML - Statistical Check Monobit Limit Register */ 20940 /*! @{ */ 20941 #define TRNG_SCML_MONO_MAX_MASK (0xFFFFU) 20942 #define TRNG_SCML_MONO_MAX_SHIFT (0U) 20943 #define TRNG_SCML_MONO_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCML_MONO_MAX_SHIFT)) & TRNG_SCML_MONO_MAX_MASK) 20944 #define TRNG_SCML_MONO_RNG_MASK (0xFFFF0000U) 20945 #define TRNG_SCML_MONO_RNG_SHIFT (16U) 20946 #define TRNG_SCML_MONO_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCML_MONO_RNG_SHIFT)) & TRNG_SCML_MONO_RNG_MASK) 20947 /*! @} */ 20948 20949 /*! @name SCR1C - Statistical Check Run Length 1 Count Register */ 20950 /*! @{ */ 20951 #define TRNG_SCR1C_R1_0_CT_MASK (0x7FFFU) 20952 #define TRNG_SCR1C_R1_0_CT_SHIFT (0U) 20953 #define TRNG_SCR1C_R1_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1C_R1_0_CT_SHIFT)) & TRNG_SCR1C_R1_0_CT_MASK) 20954 #define TRNG_SCR1C_R1_1_CT_MASK (0x7FFF0000U) 20955 #define TRNG_SCR1C_R1_1_CT_SHIFT (16U) 20956 #define TRNG_SCR1C_R1_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1C_R1_1_CT_SHIFT)) & TRNG_SCR1C_R1_1_CT_MASK) 20957 /*! @} */ 20958 20959 /*! @name SCR1L - Statistical Check Run Length 1 Limit Register */ 20960 /*! @{ */ 20961 #define TRNG_SCR1L_RUN1_MAX_MASK (0x7FFFU) 20962 #define TRNG_SCR1L_RUN1_MAX_SHIFT (0U) 20963 #define TRNG_SCR1L_RUN1_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1L_RUN1_MAX_SHIFT)) & TRNG_SCR1L_RUN1_MAX_MASK) 20964 #define TRNG_SCR1L_RUN1_RNG_MASK (0x7FFF0000U) 20965 #define TRNG_SCR1L_RUN1_RNG_SHIFT (16U) 20966 #define TRNG_SCR1L_RUN1_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR1L_RUN1_RNG_SHIFT)) & TRNG_SCR1L_RUN1_RNG_MASK) 20967 /*! @} */ 20968 20969 /*! @name SCR2C - Statistical Check Run Length 2 Count Register */ 20970 /*! @{ */ 20971 #define TRNG_SCR2C_R2_0_CT_MASK (0x3FFFU) 20972 #define TRNG_SCR2C_R2_0_CT_SHIFT (0U) 20973 #define TRNG_SCR2C_R2_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2C_R2_0_CT_SHIFT)) & TRNG_SCR2C_R2_0_CT_MASK) 20974 #define TRNG_SCR2C_R2_1_CT_MASK (0x3FFF0000U) 20975 #define TRNG_SCR2C_R2_1_CT_SHIFT (16U) 20976 #define TRNG_SCR2C_R2_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2C_R2_1_CT_SHIFT)) & TRNG_SCR2C_R2_1_CT_MASK) 20977 /*! @} */ 20978 20979 /*! @name SCR2L - Statistical Check Run Length 2 Limit Register */ 20980 /*! @{ */ 20981 #define TRNG_SCR2L_RUN2_MAX_MASK (0x3FFFU) 20982 #define TRNG_SCR2L_RUN2_MAX_SHIFT (0U) 20983 #define TRNG_SCR2L_RUN2_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2L_RUN2_MAX_SHIFT)) & TRNG_SCR2L_RUN2_MAX_MASK) 20984 #define TRNG_SCR2L_RUN2_RNG_MASK (0x3FFF0000U) 20985 #define TRNG_SCR2L_RUN2_RNG_SHIFT (16U) 20986 #define TRNG_SCR2L_RUN2_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR2L_RUN2_RNG_SHIFT)) & TRNG_SCR2L_RUN2_RNG_MASK) 20987 /*! @} */ 20988 20989 /*! @name SCR3C - Statistical Check Run Length 3 Count Register */ 20990 /*! @{ */ 20991 #define TRNG_SCR3C_R3_0_CT_MASK (0x1FFFU) 20992 #define TRNG_SCR3C_R3_0_CT_SHIFT (0U) 20993 #define TRNG_SCR3C_R3_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3C_R3_0_CT_SHIFT)) & TRNG_SCR3C_R3_0_CT_MASK) 20994 #define TRNG_SCR3C_R3_1_CT_MASK (0x1FFF0000U) 20995 #define TRNG_SCR3C_R3_1_CT_SHIFT (16U) 20996 #define TRNG_SCR3C_R3_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3C_R3_1_CT_SHIFT)) & TRNG_SCR3C_R3_1_CT_MASK) 20997 /*! @} */ 20998 20999 /*! @name SCR3L - Statistical Check Run Length 3 Limit Register */ 21000 /*! @{ */ 21001 #define TRNG_SCR3L_RUN3_MAX_MASK (0x1FFFU) 21002 #define TRNG_SCR3L_RUN3_MAX_SHIFT (0U) 21003 #define TRNG_SCR3L_RUN3_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3L_RUN3_MAX_SHIFT)) & TRNG_SCR3L_RUN3_MAX_MASK) 21004 #define TRNG_SCR3L_RUN3_RNG_MASK (0x1FFF0000U) 21005 #define TRNG_SCR3L_RUN3_RNG_SHIFT (16U) 21006 #define TRNG_SCR3L_RUN3_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR3L_RUN3_RNG_SHIFT)) & TRNG_SCR3L_RUN3_RNG_MASK) 21007 /*! @} */ 21008 21009 /*! @name SCR4C - Statistical Check Run Length 4 Count Register */ 21010 /*! @{ */ 21011 #define TRNG_SCR4C_R4_0_CT_MASK (0xFFFU) 21012 #define TRNG_SCR4C_R4_0_CT_SHIFT (0U) 21013 #define TRNG_SCR4C_R4_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4C_R4_0_CT_SHIFT)) & TRNG_SCR4C_R4_0_CT_MASK) 21014 #define TRNG_SCR4C_R4_1_CT_MASK (0xFFF0000U) 21015 #define TRNG_SCR4C_R4_1_CT_SHIFT (16U) 21016 #define TRNG_SCR4C_R4_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4C_R4_1_CT_SHIFT)) & TRNG_SCR4C_R4_1_CT_MASK) 21017 /*! @} */ 21018 21019 /*! @name SCR4L - Statistical Check Run Length 4 Limit Register */ 21020 /*! @{ */ 21021 #define TRNG_SCR4L_RUN4_MAX_MASK (0xFFFU) 21022 #define TRNG_SCR4L_RUN4_MAX_SHIFT (0U) 21023 #define TRNG_SCR4L_RUN4_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4L_RUN4_MAX_SHIFT)) & TRNG_SCR4L_RUN4_MAX_MASK) 21024 #define TRNG_SCR4L_RUN4_RNG_MASK (0xFFF0000U) 21025 #define TRNG_SCR4L_RUN4_RNG_SHIFT (16U) 21026 #define TRNG_SCR4L_RUN4_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR4L_RUN4_RNG_SHIFT)) & TRNG_SCR4L_RUN4_RNG_MASK) 21027 /*! @} */ 21028 21029 /*! @name SCR5C - Statistical Check Run Length 5 Count Register */ 21030 /*! @{ */ 21031 #define TRNG_SCR5C_R5_0_CT_MASK (0x7FFU) 21032 #define TRNG_SCR5C_R5_0_CT_SHIFT (0U) 21033 #define TRNG_SCR5C_R5_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5C_R5_0_CT_SHIFT)) & TRNG_SCR5C_R5_0_CT_MASK) 21034 #define TRNG_SCR5C_R5_1_CT_MASK (0x7FF0000U) 21035 #define TRNG_SCR5C_R5_1_CT_SHIFT (16U) 21036 #define TRNG_SCR5C_R5_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5C_R5_1_CT_SHIFT)) & TRNG_SCR5C_R5_1_CT_MASK) 21037 /*! @} */ 21038 21039 /*! @name SCR5L - Statistical Check Run Length 5 Limit Register */ 21040 /*! @{ */ 21041 #define TRNG_SCR5L_RUN5_MAX_MASK (0x7FFU) 21042 #define TRNG_SCR5L_RUN5_MAX_SHIFT (0U) 21043 #define TRNG_SCR5L_RUN5_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5L_RUN5_MAX_SHIFT)) & TRNG_SCR5L_RUN5_MAX_MASK) 21044 #define TRNG_SCR5L_RUN5_RNG_MASK (0x7FF0000U) 21045 #define TRNG_SCR5L_RUN5_RNG_SHIFT (16U) 21046 #define TRNG_SCR5L_RUN5_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR5L_RUN5_RNG_SHIFT)) & TRNG_SCR5L_RUN5_RNG_MASK) 21047 /*! @} */ 21048 21049 /*! @name SCR6PC - Statistical Check Run Length 6+ Count Register */ 21050 /*! @{ */ 21051 #define TRNG_SCR6PC_R6P_0_CT_MASK (0x7FFU) 21052 #define TRNG_SCR6PC_R6P_0_CT_SHIFT (0U) 21053 #define TRNG_SCR6PC_R6P_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PC_R6P_0_CT_SHIFT)) & TRNG_SCR6PC_R6P_0_CT_MASK) 21054 #define TRNG_SCR6PC_R6P_1_CT_MASK (0x7FF0000U) 21055 #define TRNG_SCR6PC_R6P_1_CT_SHIFT (16U) 21056 #define TRNG_SCR6PC_R6P_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PC_R6P_1_CT_SHIFT)) & TRNG_SCR6PC_R6P_1_CT_MASK) 21057 /*! @} */ 21058 21059 /*! @name SCR6PL - Statistical Check Run Length 6+ Limit Register */ 21060 /*! @{ */ 21061 #define TRNG_SCR6PL_RUN6P_MAX_MASK (0x7FFU) 21062 #define TRNG_SCR6PL_RUN6P_MAX_SHIFT (0U) 21063 #define TRNG_SCR6PL_RUN6P_MAX(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PL_RUN6P_MAX_SHIFT)) & TRNG_SCR6PL_RUN6P_MAX_MASK) 21064 #define TRNG_SCR6PL_RUN6P_RNG_MASK (0x7FF0000U) 21065 #define TRNG_SCR6PL_RUN6P_RNG_SHIFT (16U) 21066 #define TRNG_SCR6PL_RUN6P_RNG(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SCR6PL_RUN6P_RNG_SHIFT)) & TRNG_SCR6PL_RUN6P_RNG_MASK) 21067 /*! @} */ 21068 21069 /*! @name STATUS - Status Register */ 21070 /*! @{ */ 21071 #define TRNG_STATUS_TF1BR0_MASK (0x1U) 21072 #define TRNG_STATUS_TF1BR0_SHIFT (0U) 21073 #define TRNG_STATUS_TF1BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF1BR0_SHIFT)) & TRNG_STATUS_TF1BR0_MASK) 21074 #define TRNG_STATUS_TF1BR1_MASK (0x2U) 21075 #define TRNG_STATUS_TF1BR1_SHIFT (1U) 21076 #define TRNG_STATUS_TF1BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF1BR1_SHIFT)) & TRNG_STATUS_TF1BR1_MASK) 21077 #define TRNG_STATUS_TF2BR0_MASK (0x4U) 21078 #define TRNG_STATUS_TF2BR0_SHIFT (2U) 21079 #define TRNG_STATUS_TF2BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF2BR0_SHIFT)) & TRNG_STATUS_TF2BR0_MASK) 21080 #define TRNG_STATUS_TF2BR1_MASK (0x8U) 21081 #define TRNG_STATUS_TF2BR1_SHIFT (3U) 21082 #define TRNG_STATUS_TF2BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF2BR1_SHIFT)) & TRNG_STATUS_TF2BR1_MASK) 21083 #define TRNG_STATUS_TF3BR0_MASK (0x10U) 21084 #define TRNG_STATUS_TF3BR0_SHIFT (4U) 21085 #define TRNG_STATUS_TF3BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF3BR0_SHIFT)) & TRNG_STATUS_TF3BR0_MASK) 21086 #define TRNG_STATUS_TF3BR1_MASK (0x20U) 21087 #define TRNG_STATUS_TF3BR1_SHIFT (5U) 21088 #define TRNG_STATUS_TF3BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF3BR1_SHIFT)) & TRNG_STATUS_TF3BR1_MASK) 21089 #define TRNG_STATUS_TF4BR0_MASK (0x40U) 21090 #define TRNG_STATUS_TF4BR0_SHIFT (6U) 21091 #define TRNG_STATUS_TF4BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF4BR0_SHIFT)) & TRNG_STATUS_TF4BR0_MASK) 21092 #define TRNG_STATUS_TF4BR1_MASK (0x80U) 21093 #define TRNG_STATUS_TF4BR1_SHIFT (7U) 21094 #define TRNG_STATUS_TF4BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF4BR1_SHIFT)) & TRNG_STATUS_TF4BR1_MASK) 21095 #define TRNG_STATUS_TF5BR0_MASK (0x100U) 21096 #define TRNG_STATUS_TF5BR0_SHIFT (8U) 21097 #define TRNG_STATUS_TF5BR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF5BR0_SHIFT)) & TRNG_STATUS_TF5BR0_MASK) 21098 #define TRNG_STATUS_TF5BR1_MASK (0x200U) 21099 #define TRNG_STATUS_TF5BR1_SHIFT (9U) 21100 #define TRNG_STATUS_TF5BR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF5BR1_SHIFT)) & TRNG_STATUS_TF5BR1_MASK) 21101 #define TRNG_STATUS_TF6PBR0_MASK (0x400U) 21102 #define TRNG_STATUS_TF6PBR0_SHIFT (10U) 21103 #define TRNG_STATUS_TF6PBR0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF6PBR0_SHIFT)) & TRNG_STATUS_TF6PBR0_MASK) 21104 #define TRNG_STATUS_TF6PBR1_MASK (0x800U) 21105 #define TRNG_STATUS_TF6PBR1_SHIFT (11U) 21106 #define TRNG_STATUS_TF6PBR1(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TF6PBR1_SHIFT)) & TRNG_STATUS_TF6PBR1_MASK) 21107 #define TRNG_STATUS_TFSB_MASK (0x1000U) 21108 #define TRNG_STATUS_TFSB_SHIFT (12U) 21109 #define TRNG_STATUS_TFSB(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFSB_SHIFT)) & TRNG_STATUS_TFSB_MASK) 21110 #define TRNG_STATUS_TFLR_MASK (0x2000U) 21111 #define TRNG_STATUS_TFLR_SHIFT (13U) 21112 #define TRNG_STATUS_TFLR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFLR_SHIFT)) & TRNG_STATUS_TFLR_MASK) 21113 #define TRNG_STATUS_TFP_MASK (0x4000U) 21114 #define TRNG_STATUS_TFP_SHIFT (14U) 21115 #define TRNG_STATUS_TFP(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFP_SHIFT)) & TRNG_STATUS_TFP_MASK) 21116 #define TRNG_STATUS_TFMB_MASK (0x8000U) 21117 #define TRNG_STATUS_TFMB_SHIFT (15U) 21118 #define TRNG_STATUS_TFMB(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_TFMB_SHIFT)) & TRNG_STATUS_TFMB_MASK) 21119 #define TRNG_STATUS_RETRY_CT_MASK (0xF0000U) 21120 #define TRNG_STATUS_RETRY_CT_SHIFT (16U) 21121 #define TRNG_STATUS_RETRY_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_STATUS_RETRY_CT_SHIFT)) & TRNG_STATUS_RETRY_CT_MASK) 21122 /*! @} */ 21123 21124 /*! @name ENT - Entropy Read Register */ 21125 /*! @{ */ 21126 #define TRNG_ENT_ENT_MASK (0xFFFFFFFFU) 21127 #define TRNG_ENT_ENT_SHIFT (0U) 21128 #define TRNG_ENT_ENT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_ENT_ENT_SHIFT)) & TRNG_ENT_ENT_MASK) 21129 /*! @} */ 21130 21131 /* The count of TRNG_ENT */ 21132 #define TRNG_ENT_COUNT (16U) 21133 21134 /*! @name PKRCNT10 - Statistical Check Poker Count 1 and 0 Register */ 21135 /*! @{ */ 21136 #define TRNG_PKRCNT10_PKR_0_CT_MASK (0xFFFFU) 21137 #define TRNG_PKRCNT10_PKR_0_CT_SHIFT (0U) 21138 #define TRNG_PKRCNT10_PKR_0_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT10_PKR_0_CT_SHIFT)) & TRNG_PKRCNT10_PKR_0_CT_MASK) 21139 #define TRNG_PKRCNT10_PKR_1_CT_MASK (0xFFFF0000U) 21140 #define TRNG_PKRCNT10_PKR_1_CT_SHIFT (16U) 21141 #define TRNG_PKRCNT10_PKR_1_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT10_PKR_1_CT_SHIFT)) & TRNG_PKRCNT10_PKR_1_CT_MASK) 21142 /*! @} */ 21143 21144 /*! @name PKRCNT32 - Statistical Check Poker Count 3 and 2 Register */ 21145 /*! @{ */ 21146 #define TRNG_PKRCNT32_PKR_2_CT_MASK (0xFFFFU) 21147 #define TRNG_PKRCNT32_PKR_2_CT_SHIFT (0U) 21148 #define TRNG_PKRCNT32_PKR_2_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT32_PKR_2_CT_SHIFT)) & TRNG_PKRCNT32_PKR_2_CT_MASK) 21149 #define TRNG_PKRCNT32_PKR_3_CT_MASK (0xFFFF0000U) 21150 #define TRNG_PKRCNT32_PKR_3_CT_SHIFT (16U) 21151 #define TRNG_PKRCNT32_PKR_3_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT32_PKR_3_CT_SHIFT)) & TRNG_PKRCNT32_PKR_3_CT_MASK) 21152 /*! @} */ 21153 21154 /*! @name PKRCNT54 - Statistical Check Poker Count 5 and 4 Register */ 21155 /*! @{ */ 21156 #define TRNG_PKRCNT54_PKR_4_CT_MASK (0xFFFFU) 21157 #define TRNG_PKRCNT54_PKR_4_CT_SHIFT (0U) 21158 #define TRNG_PKRCNT54_PKR_4_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT54_PKR_4_CT_SHIFT)) & TRNG_PKRCNT54_PKR_4_CT_MASK) 21159 #define TRNG_PKRCNT54_PKR_5_CT_MASK (0xFFFF0000U) 21160 #define TRNG_PKRCNT54_PKR_5_CT_SHIFT (16U) 21161 #define TRNG_PKRCNT54_PKR_5_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT54_PKR_5_CT_SHIFT)) & TRNG_PKRCNT54_PKR_5_CT_MASK) 21162 /*! @} */ 21163 21164 /*! @name PKRCNT76 - Statistical Check Poker Count 7 and 6 Register */ 21165 /*! @{ */ 21166 #define TRNG_PKRCNT76_PKR_6_CT_MASK (0xFFFFU) 21167 #define TRNG_PKRCNT76_PKR_6_CT_SHIFT (0U) 21168 #define TRNG_PKRCNT76_PKR_6_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT76_PKR_6_CT_SHIFT)) & TRNG_PKRCNT76_PKR_6_CT_MASK) 21169 #define TRNG_PKRCNT76_PKR_7_CT_MASK (0xFFFF0000U) 21170 #define TRNG_PKRCNT76_PKR_7_CT_SHIFT (16U) 21171 #define TRNG_PKRCNT76_PKR_7_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT76_PKR_7_CT_SHIFT)) & TRNG_PKRCNT76_PKR_7_CT_MASK) 21172 /*! @} */ 21173 21174 /*! @name PKRCNT98 - Statistical Check Poker Count 9 and 8 Register */ 21175 /*! @{ */ 21176 #define TRNG_PKRCNT98_PKR_8_CT_MASK (0xFFFFU) 21177 #define TRNG_PKRCNT98_PKR_8_CT_SHIFT (0U) 21178 #define TRNG_PKRCNT98_PKR_8_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT98_PKR_8_CT_SHIFT)) & TRNG_PKRCNT98_PKR_8_CT_MASK) 21179 #define TRNG_PKRCNT98_PKR_9_CT_MASK (0xFFFF0000U) 21180 #define TRNG_PKRCNT98_PKR_9_CT_SHIFT (16U) 21181 #define TRNG_PKRCNT98_PKR_9_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNT98_PKR_9_CT_SHIFT)) & TRNG_PKRCNT98_PKR_9_CT_MASK) 21182 /*! @} */ 21183 21184 /*! @name PKRCNTBA - Statistical Check Poker Count B and A Register */ 21185 /*! @{ */ 21186 #define TRNG_PKRCNTBA_PKR_A_CT_MASK (0xFFFFU) 21187 #define TRNG_PKRCNTBA_PKR_A_CT_SHIFT (0U) 21188 #define TRNG_PKRCNTBA_PKR_A_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTBA_PKR_A_CT_SHIFT)) & TRNG_PKRCNTBA_PKR_A_CT_MASK) 21189 #define TRNG_PKRCNTBA_PKR_B_CT_MASK (0xFFFF0000U) 21190 #define TRNG_PKRCNTBA_PKR_B_CT_SHIFT (16U) 21191 #define TRNG_PKRCNTBA_PKR_B_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTBA_PKR_B_CT_SHIFT)) & TRNG_PKRCNTBA_PKR_B_CT_MASK) 21192 /*! @} */ 21193 21194 /*! @name PKRCNTDC - Statistical Check Poker Count D and C Register */ 21195 /*! @{ */ 21196 #define TRNG_PKRCNTDC_PKR_C_CT_MASK (0xFFFFU) 21197 #define TRNG_PKRCNTDC_PKR_C_CT_SHIFT (0U) 21198 #define TRNG_PKRCNTDC_PKR_C_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTDC_PKR_C_CT_SHIFT)) & TRNG_PKRCNTDC_PKR_C_CT_MASK) 21199 #define TRNG_PKRCNTDC_PKR_D_CT_MASK (0xFFFF0000U) 21200 #define TRNG_PKRCNTDC_PKR_D_CT_SHIFT (16U) 21201 #define TRNG_PKRCNTDC_PKR_D_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTDC_PKR_D_CT_SHIFT)) & TRNG_PKRCNTDC_PKR_D_CT_MASK) 21202 /*! @} */ 21203 21204 /*! @name PKRCNTFE - Statistical Check Poker Count F and E Register */ 21205 /*! @{ */ 21206 #define TRNG_PKRCNTFE_PKR_E_CT_MASK (0xFFFFU) 21207 #define TRNG_PKRCNTFE_PKR_E_CT_SHIFT (0U) 21208 #define TRNG_PKRCNTFE_PKR_E_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTFE_PKR_E_CT_SHIFT)) & TRNG_PKRCNTFE_PKR_E_CT_MASK) 21209 #define TRNG_PKRCNTFE_PKR_F_CT_MASK (0xFFFF0000U) 21210 #define TRNG_PKRCNTFE_PKR_F_CT_SHIFT (16U) 21211 #define TRNG_PKRCNTFE_PKR_F_CT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_PKRCNTFE_PKR_F_CT_SHIFT)) & TRNG_PKRCNTFE_PKR_F_CT_MASK) 21212 /*! @} */ 21213 21214 /*! @name SEC_CFG - Security Configuration Register */ 21215 /*! @{ */ 21216 #define TRNG_SEC_CFG_UNUSED0_MASK (0x1U) 21217 #define TRNG_SEC_CFG_UNUSED0_SHIFT (0U) 21218 #define TRNG_SEC_CFG_UNUSED0(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_UNUSED0_SHIFT)) & TRNG_SEC_CFG_UNUSED0_MASK) 21219 #define TRNG_SEC_CFG_NO_PRGM_MASK (0x2U) 21220 #define TRNG_SEC_CFG_NO_PRGM_SHIFT (1U) 21221 /*! NO_PRGM 21222 * 0b0..Programability of registers controlled only by the Miscellaneous Control Register's access mode bit. 21223 * 0b1..Overides Miscellaneous Control Register access mode and prevents TRNG register programming. 21224 */ 21225 #define TRNG_SEC_CFG_NO_PRGM(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_NO_PRGM_SHIFT)) & TRNG_SEC_CFG_NO_PRGM_MASK) 21226 #define TRNG_SEC_CFG_UNUSED2_MASK (0x4U) 21227 #define TRNG_SEC_CFG_UNUSED2_SHIFT (2U) 21228 #define TRNG_SEC_CFG_UNUSED2(x) (((uint32_t)(((uint32_t)(x)) << TRNG_SEC_CFG_UNUSED2_SHIFT)) & TRNG_SEC_CFG_UNUSED2_MASK) 21229 /*! @} */ 21230 21231 /*! @name INT_CTRL - Interrupt Control Register */ 21232 /*! @{ */ 21233 #define TRNG_INT_CTRL_HW_ERR_MASK (0x1U) 21234 #define TRNG_INT_CTRL_HW_ERR_SHIFT (0U) 21235 /*! HW_ERR 21236 * 0b0..Corresponding bit of INT_STATUS register cleared. 21237 * 0b1..Corresponding bit of INT_STATUS register active. 21238 */ 21239 #define TRNG_INT_CTRL_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_HW_ERR_SHIFT)) & TRNG_INT_CTRL_HW_ERR_MASK) 21240 #define TRNG_INT_CTRL_ENT_VAL_MASK (0x2U) 21241 #define TRNG_INT_CTRL_ENT_VAL_SHIFT (1U) 21242 /*! ENT_VAL 21243 * 0b0..Same behavior as bit 0 of this register. 21244 * 0b1..Same behavior as bit 0 of this register. 21245 */ 21246 #define TRNG_INT_CTRL_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_ENT_VAL_SHIFT)) & TRNG_INT_CTRL_ENT_VAL_MASK) 21247 #define TRNG_INT_CTRL_FRQ_CT_FAIL_MASK (0x4U) 21248 #define TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT (2U) 21249 /*! FRQ_CT_FAIL 21250 * 0b0..Same behavior as bit 0 of this register. 21251 * 0b1..Same behavior as bit 0 of this register. 21252 */ 21253 #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) 21254 #define TRNG_INT_CTRL_UNUSED_MASK (0xFFFFFFF8U) 21255 #define TRNG_INT_CTRL_UNUSED_SHIFT (3U) 21256 #define TRNG_INT_CTRL_UNUSED(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_CTRL_UNUSED_SHIFT)) & TRNG_INT_CTRL_UNUSED_MASK) 21257 /*! @} */ 21258 21259 /*! @name INT_MASK - Mask Register */ 21260 /*! @{ */ 21261 #define TRNG_INT_MASK_HW_ERR_MASK (0x1U) 21262 #define TRNG_INT_MASK_HW_ERR_SHIFT (0U) 21263 /*! HW_ERR 21264 * 0b0..Corresponding interrupt of INT_STATUS is masked. 21265 * 0b1..Corresponding bit of INT_STATUS is active. 21266 */ 21267 #define TRNG_INT_MASK_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_HW_ERR_SHIFT)) & TRNG_INT_MASK_HW_ERR_MASK) 21268 #define TRNG_INT_MASK_ENT_VAL_MASK (0x2U) 21269 #define TRNG_INT_MASK_ENT_VAL_SHIFT (1U) 21270 /*! ENT_VAL 21271 * 0b0..Same behavior as bit 0 of this register. 21272 * 0b1..Same behavior as bit 0 of this register. 21273 */ 21274 #define TRNG_INT_MASK_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_MASK_ENT_VAL_SHIFT)) & TRNG_INT_MASK_ENT_VAL_MASK) 21275 #define TRNG_INT_MASK_FRQ_CT_FAIL_MASK (0x4U) 21276 #define TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT (2U) 21277 /*! FRQ_CT_FAIL 21278 * 0b0..Same behavior as bit 0 of this register. 21279 * 0b1..Same behavior as bit 0 of this register. 21280 */ 21281 #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) 21282 /*! @} */ 21283 21284 /*! @name INT_STATUS - Interrupt Status Register */ 21285 /*! @{ */ 21286 #define TRNG_INT_STATUS_HW_ERR_MASK (0x1U) 21287 #define TRNG_INT_STATUS_HW_ERR_SHIFT (0U) 21288 /*! HW_ERR 21289 * 0b0..no error 21290 * 0b1..error detected. 21291 */ 21292 #define TRNG_INT_STATUS_HW_ERR(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_HW_ERR_SHIFT)) & TRNG_INT_STATUS_HW_ERR_MASK) 21293 #define TRNG_INT_STATUS_ENT_VAL_MASK (0x2U) 21294 #define TRNG_INT_STATUS_ENT_VAL_SHIFT (1U) 21295 /*! ENT_VAL 21296 * 0b0..Busy generation entropy. Any value read is invalid. 21297 * 0b1..TRNG can be stopped and entropy is valid if read. 21298 */ 21299 #define TRNG_INT_STATUS_ENT_VAL(x) (((uint32_t)(((uint32_t)(x)) << TRNG_INT_STATUS_ENT_VAL_SHIFT)) & TRNG_INT_STATUS_ENT_VAL_MASK) 21300 #define TRNG_INT_STATUS_FRQ_CT_FAIL_MASK (0x4U) 21301 #define TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT (2U) 21302 /*! FRQ_CT_FAIL 21303 * 0b0..No hardware nor self test frequency errors. 21304 * 0b1..The frequency counter has detected a failure. 21305 */ 21306 #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) 21307 /*! @} */ 21308 21309 /*! @name VID1 - Version ID Register (MS) */ 21310 /*! @{ */ 21311 #define TRNG_VID1_MIN_REV_MASK (0xFFU) 21312 #define TRNG_VID1_MIN_REV_SHIFT (0U) 21313 /*! MIN_REV 21314 * 0b00000000..Minor revision number for TRNG. 21315 */ 21316 #define TRNG_VID1_MIN_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_MIN_REV_SHIFT)) & TRNG_VID1_MIN_REV_MASK) 21317 #define TRNG_VID1_MAJ_REV_MASK (0xFF00U) 21318 #define TRNG_VID1_MAJ_REV_SHIFT (8U) 21319 /*! MAJ_REV 21320 * 0b00000001..Major revision number for TRNG. 21321 */ 21322 #define TRNG_VID1_MAJ_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_MAJ_REV_SHIFT)) & TRNG_VID1_MAJ_REV_MASK) 21323 #define TRNG_VID1_IP_ID_MASK (0xFFFF0000U) 21324 #define TRNG_VID1_IP_ID_SHIFT (16U) 21325 /*! IP_ID 21326 * 0b0000000000110000..ID for TRNG. 21327 */ 21328 #define TRNG_VID1_IP_ID(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID1_IP_ID_SHIFT)) & TRNG_VID1_IP_ID_MASK) 21329 /*! @} */ 21330 21331 /*! @name VID2 - Version ID Register (LS) */ 21332 /*! @{ */ 21333 #define TRNG_VID2_CONFIG_OPT_MASK (0xFFU) 21334 #define TRNG_VID2_CONFIG_OPT_SHIFT (0U) 21335 /*! CONFIG_OPT 21336 * 0b00000000..TRNG_CONFIG_OPT for TRNG. 21337 */ 21338 #define TRNG_VID2_CONFIG_OPT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_CONFIG_OPT_SHIFT)) & TRNG_VID2_CONFIG_OPT_MASK) 21339 #define TRNG_VID2_ECO_REV_MASK (0xFF00U) 21340 #define TRNG_VID2_ECO_REV_SHIFT (8U) 21341 /*! ECO_REV 21342 * 0b00000000..TRNG_ECO_REV for TRNG. 21343 */ 21344 #define TRNG_VID2_ECO_REV(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_ECO_REV_SHIFT)) & TRNG_VID2_ECO_REV_MASK) 21345 #define TRNG_VID2_INTG_OPT_MASK (0xFF0000U) 21346 #define TRNG_VID2_INTG_OPT_SHIFT (16U) 21347 /*! INTG_OPT 21348 * 0b00000000..INTG_OPT for TRNG. 21349 */ 21350 #define TRNG_VID2_INTG_OPT(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_INTG_OPT_SHIFT)) & TRNG_VID2_INTG_OPT_MASK) 21351 #define TRNG_VID2_ERA_MASK (0xFF000000U) 21352 #define TRNG_VID2_ERA_SHIFT (24U) 21353 /*! ERA 21354 * 0b00000000..COMPILE_OPT for TRNG. 21355 */ 21356 #define TRNG_VID2_ERA(x) (((uint32_t)(((uint32_t)(x)) << TRNG_VID2_ERA_SHIFT)) & TRNG_VID2_ERA_MASK) 21357 /*! @} */ 21358 21359 21360 /*! 21361 * @} 21362 */ /* end of group TRNG_Register_Masks */ 21363 21364 21365 /* TRNG - Peripheral instance base addresses */ 21366 /** Peripheral TRNG base address */ 21367 #define TRNG_BASE (0x41029000u) 21368 /** Peripheral TRNG base pointer */ 21369 #define TRNG ((TRNG_Type *)TRNG_BASE) 21370 /** Array initializer of TRNG peripheral base addresses */ 21371 #define TRNG_BASE_ADDRS { TRNG_BASE } 21372 /** Array initializer of TRNG peripheral base pointers */ 21373 #define TRNG_BASE_PTRS { TRNG } 21374 /** Interrupt vectors for the TRNG peripheral type */ 21375 #define TRNG_IRQS { TRNG_IRQn } 21376 /** Backward compatibility macros */ 21377 #define TRNG0 TRNG 21378 21379 21380 /*! 21381 * @} 21382 */ /* end of group TRNG_Peripheral_Access_Layer */ 21383 21384 21385 /* ---------------------------------------------------------------------------- 21386 -- TSTMR Peripheral Access Layer 21387 ---------------------------------------------------------------------------- */ 21388 21389 /*! 21390 * @addtogroup TSTMR_Peripheral_Access_Layer TSTMR Peripheral Access Layer 21391 * @{ 21392 */ 21393 21394 /** TSTMR - Register Layout Typedef */ 21395 typedef struct { 21396 __I uint32_t L; /**< Time Stamp Timer Register Low, offset: 0x0 */ 21397 __I uint32_t H; /**< Time Stamp Timer Register High, offset: 0x4 */ 21398 } TSTMR_Type; 21399 21400 /* ---------------------------------------------------------------------------- 21401 -- TSTMR Register Masks 21402 ---------------------------------------------------------------------------- */ 21403 21404 /*! 21405 * @addtogroup TSTMR_Register_Masks TSTMR Register Masks 21406 * @{ 21407 */ 21408 21409 /*! @name L - Time Stamp Timer Register Low */ 21410 /*! @{ */ 21411 #define TSTMR_L_VALUE_MASK (0xFFFFFFFFU) 21412 #define TSTMR_L_VALUE_SHIFT (0U) 21413 #define TSTMR_L_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TSTMR_L_VALUE_SHIFT)) & TSTMR_L_VALUE_MASK) 21414 /*! @} */ 21415 21416 /*! @name H - Time Stamp Timer Register High */ 21417 /*! @{ */ 21418 #define TSTMR_H_VALUE_MASK (0xFFFFFFU) 21419 #define TSTMR_H_VALUE_SHIFT (0U) 21420 #define TSTMR_H_VALUE(x) (((uint32_t)(((uint32_t)(x)) << TSTMR_H_VALUE_SHIFT)) & TSTMR_H_VALUE_MASK) 21421 /*! @} */ 21422 21423 21424 /*! 21425 * @} 21426 */ /* end of group TSTMR_Register_Masks */ 21427 21428 21429 /* TSTMR - Peripheral instance base addresses */ 21430 /** Peripheral TSTMRB base address */ 21431 #define TSTMRB_BASE (0x4102C000u) 21432 /** Peripheral TSTMRB base pointer */ 21433 #define TSTMRB ((TSTMR_Type *)TSTMRB_BASE) 21434 /** Array initializer of TSTMR peripheral base addresses */ 21435 #define TSTMR_BASE_ADDRS { TSTMRB_BASE } 21436 /** Array initializer of TSTMR peripheral base pointers */ 21437 #define TSTMR_BASE_PTRS { TSTMRB } 21438 21439 /*! 21440 * @} 21441 */ /* end of group TSTMR_Peripheral_Access_Layer */ 21442 21443 21444 /* ---------------------------------------------------------------------------- 21445 -- USB Peripheral Access Layer 21446 ---------------------------------------------------------------------------- */ 21447 21448 /*! 21449 * @addtogroup USB_Peripheral_Access_Layer USB Peripheral Access Layer 21450 * @{ 21451 */ 21452 21453 /** USB - Register Layout Typedef */ 21454 typedef struct { 21455 __I uint8_t PERID; /**< Peripheral ID register, offset: 0x0 */ 21456 uint8_t RESERVED_0[3]; 21457 __I uint8_t IDCOMP; /**< Peripheral ID Complement register, offset: 0x4 */ 21458 uint8_t RESERVED_1[3]; 21459 __I uint8_t REV; /**< Peripheral Revision register, offset: 0x8 */ 21460 uint8_t RESERVED_2[3]; 21461 __I uint8_t ADDINFO; /**< Peripheral Additional Info register, offset: 0xC */ 21462 uint8_t RESERVED_3[15]; 21463 __IO uint8_t OTGCTL; /**< OTG Control register, offset: 0x1C */ 21464 uint8_t RESERVED_4[99]; 21465 __IO uint8_t ISTAT; /**< Interrupt Status register, offset: 0x80 */ 21466 uint8_t RESERVED_5[3]; 21467 __IO uint8_t INTEN; /**< Interrupt Enable register, offset: 0x84 */ 21468 uint8_t RESERVED_6[3]; 21469 __IO uint8_t ERRSTAT; /**< Error Interrupt Status register, offset: 0x88 */ 21470 uint8_t RESERVED_7[3]; 21471 __IO uint8_t ERREN; /**< Error Interrupt Enable register, offset: 0x8C */ 21472 uint8_t RESERVED_8[3]; 21473 __I uint8_t STAT; /**< Status register, offset: 0x90 */ 21474 uint8_t RESERVED_9[3]; 21475 __IO uint8_t CTL; /**< Control register, offset: 0x94 */ 21476 uint8_t RESERVED_10[3]; 21477 __IO uint8_t ADDR; /**< Address register, offset: 0x98 */ 21478 uint8_t RESERVED_11[3]; 21479 __IO uint8_t BDTPAGE1; /**< BDT Page register 1, offset: 0x9C */ 21480 uint8_t RESERVED_12[3]; 21481 __IO uint8_t FRMNUML; /**< Frame Number register Low, offset: 0xA0 */ 21482 uint8_t RESERVED_13[3]; 21483 __IO uint8_t FRMNUMH; /**< Frame Number register High, offset: 0xA4 */ 21484 uint8_t RESERVED_14[11]; 21485 __IO uint8_t BDTPAGE2; /**< BDT Page Register 2, offset: 0xB0 */ 21486 uint8_t RESERVED_15[3]; 21487 __IO uint8_t BDTPAGE3; /**< BDT Page Register 3, offset: 0xB4 */ 21488 uint8_t RESERVED_16[11]; 21489 struct { /* offset: 0xC0, array step: 0x4 */ 21490 __IO uint8_t ENDPT; /**< Endpoint Control register, array offset: 0xC0, array step: 0x4 */ 21491 uint8_t RESERVED_0[3]; 21492 } ENDPOINT[16]; 21493 __IO uint8_t USBCTRL; /**< USB Control register, offset: 0x100 */ 21494 uint8_t RESERVED_17[3]; 21495 __I uint8_t OBSERVE; /**< USB OTG Observe register, offset: 0x104 */ 21496 uint8_t RESERVED_18[3]; 21497 __IO uint8_t CONTROL; /**< USB OTG Control register, offset: 0x108 */ 21498 uint8_t RESERVED_19[3]; 21499 __IO uint8_t USBTRC0; /**< USB Transceiver Control register 0, offset: 0x10C */ 21500 uint8_t RESERVED_20[23]; 21501 __IO uint8_t KEEP_ALIVE_CTRL; /**< Keep Alive mode control, offset: 0x124 */ 21502 uint8_t RESERVED_21[3]; 21503 __IO uint8_t KEEP_ALIVE_WKCTRL; /**< Keep Alive mode wakeup control, offset: 0x128 */ 21504 uint8_t RESERVED_22[3]; 21505 __IO uint8_t MISCCTRL; /**< Miscellaneous Control register, offset: 0x12C */ 21506 uint8_t RESERVED_23[3]; 21507 __IO uint8_t STALL_IL_DIS; /**< Peripheral mode stall disable for endpoints 7 to 0 in IN direction, offset: 0x130 */ 21508 uint8_t RESERVED_24[3]; 21509 __IO uint8_t STALL_IH_DIS; /**< Peripheral mode stall disable for endpoints 15 to 8 in IN direction, offset: 0x134 */ 21510 uint8_t RESERVED_25[3]; 21511 __IO uint8_t STALL_OL_DIS; /**< Peripheral mode stall disable for endpoints 7 to 0 in OUT direction, offset: 0x138 */ 21512 uint8_t RESERVED_26[3]; 21513 __IO uint8_t STALL_OH_DIS; /**< Peripheral mode stall disable for endpoints 15 to 8 in OUT direction, offset: 0x13C */ 21514 uint8_t RESERVED_27[3]; 21515 __IO uint8_t CLK_RECOVER_CTRL; /**< USB Clock recovery control, offset: 0x140 */ 21516 uint8_t RESERVED_28[3]; 21517 __IO uint8_t CLK_RECOVER_IRC_EN; /**< IRC48MFIRC oscillator enable register, offset: 0x144 */ 21518 uint8_t RESERVED_29[15]; 21519 __IO uint8_t CLK_RECOVER_INT_EN; /**< Clock recovery combined interrupt enable, offset: 0x154 */ 21520 uint8_t RESERVED_30[7]; 21521 __IO uint8_t CLK_RECOVER_INT_STATUS; /**< Clock recovery separated interrupt status, offset: 0x15C */ 21522 } USB_Type; 21523 21524 /* ---------------------------------------------------------------------------- 21525 -- USB Register Masks 21526 ---------------------------------------------------------------------------- */ 21527 21528 /*! 21529 * @addtogroup USB_Register_Masks USB Register Masks 21530 * @{ 21531 */ 21532 21533 /*! @name PERID - Peripheral ID register */ 21534 /*! @{ */ 21535 #define USB_PERID_ID_MASK (0x3FU) 21536 #define USB_PERID_ID_SHIFT (0U) 21537 #define USB_PERID_ID(x) (((uint8_t)(((uint8_t)(x)) << USB_PERID_ID_SHIFT)) & USB_PERID_ID_MASK) 21538 /*! @} */ 21539 21540 /*! @name IDCOMP - Peripheral ID Complement register */ 21541 /*! @{ */ 21542 #define USB_IDCOMP_NID_MASK (0x3FU) 21543 #define USB_IDCOMP_NID_SHIFT (0U) 21544 #define USB_IDCOMP_NID(x) (((uint8_t)(((uint8_t)(x)) << USB_IDCOMP_NID_SHIFT)) & USB_IDCOMP_NID_MASK) 21545 /*! @} */ 21546 21547 /*! @name REV - Peripheral Revision register */ 21548 /*! @{ */ 21549 #define USB_REV_REV_MASK (0xFFU) 21550 #define USB_REV_REV_SHIFT (0U) 21551 #define USB_REV_REV(x) (((uint8_t)(((uint8_t)(x)) << USB_REV_REV_SHIFT)) & USB_REV_REV_MASK) 21552 /*! @} */ 21553 21554 /*! @name ADDINFO - Peripheral Additional Info register */ 21555 /*! @{ */ 21556 #define USB_ADDINFO_IEHOST_MASK (0x1U) 21557 #define USB_ADDINFO_IEHOST_SHIFT (0U) 21558 #define USB_ADDINFO_IEHOST(x) (((uint8_t)(((uint8_t)(x)) << USB_ADDINFO_IEHOST_SHIFT)) & USB_ADDINFO_IEHOST_MASK) 21559 /*! @} */ 21560 21561 /*! @name OTGCTL - OTG Control register */ 21562 /*! @{ */ 21563 #define USB_OTGCTL_DPHIGH_MASK (0x80U) 21564 #define USB_OTGCTL_DPHIGH_SHIFT (7U) 21565 /*! DPHIGH - D+ Data Line pullup resistor enable 21566 * 0b0..D+ pullup resistor is not enabled 21567 * 0b1..D+ pullup resistor is enabled 21568 */ 21569 #define USB_OTGCTL_DPHIGH(x) (((uint8_t)(((uint8_t)(x)) << USB_OTGCTL_DPHIGH_SHIFT)) & USB_OTGCTL_DPHIGH_MASK) 21570 /*! @} */ 21571 21572 /*! @name ISTAT - Interrupt Status register */ 21573 /*! @{ */ 21574 #define USB_ISTAT_USBRST_MASK (0x1U) 21575 #define USB_ISTAT_USBRST_SHIFT (0U) 21576 #define USB_ISTAT_USBRST(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_USBRST_SHIFT)) & USB_ISTAT_USBRST_MASK) 21577 #define USB_ISTAT_ERROR_MASK (0x2U) 21578 #define USB_ISTAT_ERROR_SHIFT (1U) 21579 #define USB_ISTAT_ERROR(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_ERROR_SHIFT)) & USB_ISTAT_ERROR_MASK) 21580 #define USB_ISTAT_SOFTOK_MASK (0x4U) 21581 #define USB_ISTAT_SOFTOK_SHIFT (2U) 21582 #define USB_ISTAT_SOFTOK(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_SOFTOK_SHIFT)) & USB_ISTAT_SOFTOK_MASK) 21583 #define USB_ISTAT_TOKDNE_MASK (0x8U) 21584 #define USB_ISTAT_TOKDNE_SHIFT (3U) 21585 #define USB_ISTAT_TOKDNE(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_TOKDNE_SHIFT)) & USB_ISTAT_TOKDNE_MASK) 21586 #define USB_ISTAT_SLEEP_MASK (0x10U) 21587 #define USB_ISTAT_SLEEP_SHIFT (4U) 21588 #define USB_ISTAT_SLEEP(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_SLEEP_SHIFT)) & USB_ISTAT_SLEEP_MASK) 21589 #define USB_ISTAT_RESUME_MASK (0x20U) 21590 #define USB_ISTAT_RESUME_SHIFT (5U) 21591 #define USB_ISTAT_RESUME(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_RESUME_SHIFT)) & USB_ISTAT_RESUME_MASK) 21592 #define USB_ISTAT_STALL_MASK (0x80U) 21593 #define USB_ISTAT_STALL_SHIFT (7U) 21594 #define USB_ISTAT_STALL(x) (((uint8_t)(((uint8_t)(x)) << USB_ISTAT_STALL_SHIFT)) & USB_ISTAT_STALL_MASK) 21595 /*! @} */ 21596 21597 /*! @name INTEN - Interrupt Enable register */ 21598 /*! @{ */ 21599 #define USB_INTEN_USBRSTEN_MASK (0x1U) 21600 #define USB_INTEN_USBRSTEN_SHIFT (0U) 21601 /*! USBRSTEN - USBRST Interrupt Enable 21602 * 0b0..Disables the USBRST interrupt. 21603 * 0b1..Enables the USBRST interrupt. 21604 */ 21605 #define USB_INTEN_USBRSTEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_USBRSTEN_SHIFT)) & USB_INTEN_USBRSTEN_MASK) 21606 #define USB_INTEN_ERROREN_MASK (0x2U) 21607 #define USB_INTEN_ERROREN_SHIFT (1U) 21608 /*! ERROREN - ERROR Interrupt Enable 21609 * 0b0..Disables the ERROR interrupt. 21610 * 0b1..Enables the ERROR interrupt. 21611 */ 21612 #define USB_INTEN_ERROREN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_ERROREN_SHIFT)) & USB_INTEN_ERROREN_MASK) 21613 #define USB_INTEN_SOFTOKEN_MASK (0x4U) 21614 #define USB_INTEN_SOFTOKEN_SHIFT (2U) 21615 /*! SOFTOKEN - SOFTOK Interrupt Enable 21616 * 0b0..Disbles the SOFTOK interrupt. 21617 * 0b1..Enables the SOFTOK interrupt. 21618 */ 21619 #define USB_INTEN_SOFTOKEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_SOFTOKEN_SHIFT)) & USB_INTEN_SOFTOKEN_MASK) 21620 #define USB_INTEN_TOKDNEEN_MASK (0x8U) 21621 #define USB_INTEN_TOKDNEEN_SHIFT (3U) 21622 /*! TOKDNEEN - TOKDNE Interrupt Enable 21623 * 0b0..Disables the TOKDNE interrupt. 21624 * 0b1..Enables the TOKDNE interrupt. 21625 */ 21626 #define USB_INTEN_TOKDNEEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_TOKDNEEN_SHIFT)) & USB_INTEN_TOKDNEEN_MASK) 21627 #define USB_INTEN_SLEEPEN_MASK (0x10U) 21628 #define USB_INTEN_SLEEPEN_SHIFT (4U) 21629 /*! SLEEPEN - SLEEP Interrupt Enable 21630 * 0b0..Disables the SLEEP interrupt. 21631 * 0b1..Enables the SLEEP interrupt. 21632 */ 21633 #define USB_INTEN_SLEEPEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_SLEEPEN_SHIFT)) & USB_INTEN_SLEEPEN_MASK) 21634 #define USB_INTEN_RESUMEEN_MASK (0x20U) 21635 #define USB_INTEN_RESUMEEN_SHIFT (5U) 21636 /*! RESUMEEN - RESUME Interrupt Enable 21637 * 0b0..Disables the RESUME interrupt. 21638 * 0b1..Enables the RESUME interrupt. 21639 */ 21640 #define USB_INTEN_RESUMEEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_RESUMEEN_SHIFT)) & USB_INTEN_RESUMEEN_MASK) 21641 #define USB_INTEN_STALLEN_MASK (0x80U) 21642 #define USB_INTEN_STALLEN_SHIFT (7U) 21643 /*! STALLEN - STALL Interrupt Enable 21644 * 0b0..Diasbles the STALL interrupt. 21645 * 0b1..Enables the STALL interrupt. 21646 */ 21647 #define USB_INTEN_STALLEN(x) (((uint8_t)(((uint8_t)(x)) << USB_INTEN_STALLEN_SHIFT)) & USB_INTEN_STALLEN_MASK) 21648 /*! @} */ 21649 21650 /*! @name ERRSTAT - Error Interrupt Status register */ 21651 /*! @{ */ 21652 #define USB_ERRSTAT_PIDERR_MASK (0x1U) 21653 #define USB_ERRSTAT_PIDERR_SHIFT (0U) 21654 #define USB_ERRSTAT_PIDERR(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_PIDERR_SHIFT)) & USB_ERRSTAT_PIDERR_MASK) 21655 #define USB_ERRSTAT_CRC5EOF_MASK (0x2U) 21656 #define USB_ERRSTAT_CRC5EOF_SHIFT (1U) 21657 #define USB_ERRSTAT_CRC5EOF(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_CRC5EOF_SHIFT)) & USB_ERRSTAT_CRC5EOF_MASK) 21658 #define USB_ERRSTAT_CRC16_MASK (0x4U) 21659 #define USB_ERRSTAT_CRC16_SHIFT (2U) 21660 #define USB_ERRSTAT_CRC16(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_CRC16_SHIFT)) & USB_ERRSTAT_CRC16_MASK) 21661 #define USB_ERRSTAT_DFN8_MASK (0x8U) 21662 #define USB_ERRSTAT_DFN8_SHIFT (3U) 21663 #define USB_ERRSTAT_DFN8(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_DFN8_SHIFT)) & USB_ERRSTAT_DFN8_MASK) 21664 #define USB_ERRSTAT_BTOERR_MASK (0x10U) 21665 #define USB_ERRSTAT_BTOERR_SHIFT (4U) 21666 #define USB_ERRSTAT_BTOERR(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_BTOERR_SHIFT)) & USB_ERRSTAT_BTOERR_MASK) 21667 #define USB_ERRSTAT_DMAERR_MASK (0x20U) 21668 #define USB_ERRSTAT_DMAERR_SHIFT (5U) 21669 #define USB_ERRSTAT_DMAERR(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_DMAERR_SHIFT)) & USB_ERRSTAT_DMAERR_MASK) 21670 #define USB_ERRSTAT_OWNERR_MASK (0x40U) 21671 #define USB_ERRSTAT_OWNERR_SHIFT (6U) 21672 #define USB_ERRSTAT_OWNERR(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_OWNERR_SHIFT)) & USB_ERRSTAT_OWNERR_MASK) 21673 #define USB_ERRSTAT_BTSERR_MASK (0x80U) 21674 #define USB_ERRSTAT_BTSERR_SHIFT (7U) 21675 #define USB_ERRSTAT_BTSERR(x) (((uint8_t)(((uint8_t)(x)) << USB_ERRSTAT_BTSERR_SHIFT)) & USB_ERRSTAT_BTSERR_MASK) 21676 /*! @} */ 21677 21678 /*! @name ERREN - Error Interrupt Enable register */ 21679 /*! @{ */ 21680 #define USB_ERREN_PIDERREN_MASK (0x1U) 21681 #define USB_ERREN_PIDERREN_SHIFT (0U) 21682 /*! PIDERREN - PIDERR Interrupt Enable 21683 * 0b0..Disables the PIDERR interrupt. 21684 * 0b1..Enters the PIDERR interrupt. 21685 */ 21686 #define USB_ERREN_PIDERREN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_PIDERREN_SHIFT)) & USB_ERREN_PIDERREN_MASK) 21687 #define USB_ERREN_CRC5EOFEN_MASK (0x2U) 21688 #define USB_ERREN_CRC5EOFEN_SHIFT (1U) 21689 /*! CRC5EOFEN - CRC5/EOF Interrupt Enable 21690 * 0b0..Disables the CRC5/EOF interrupt. 21691 * 0b1..Enables the CRC5/EOF interrupt. 21692 */ 21693 #define USB_ERREN_CRC5EOFEN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_CRC5EOFEN_SHIFT)) & USB_ERREN_CRC5EOFEN_MASK) 21694 #define USB_ERREN_CRC16EN_MASK (0x4U) 21695 #define USB_ERREN_CRC16EN_SHIFT (2U) 21696 /*! CRC16EN - CRC16 Interrupt Enable 21697 * 0b0..Disables the CRC16 interrupt. 21698 * 0b1..Enables the CRC16 interrupt. 21699 */ 21700 #define USB_ERREN_CRC16EN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_CRC16EN_SHIFT)) & USB_ERREN_CRC16EN_MASK) 21701 #define USB_ERREN_DFN8EN_MASK (0x8U) 21702 #define USB_ERREN_DFN8EN_SHIFT (3U) 21703 /*! DFN8EN - DFN8 Interrupt Enable 21704 * 0b0..Disables the DFN8 interrupt. 21705 * 0b1..Enables the DFN8 interrupt. 21706 */ 21707 #define USB_ERREN_DFN8EN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_DFN8EN_SHIFT)) & USB_ERREN_DFN8EN_MASK) 21708 #define USB_ERREN_BTOERREN_MASK (0x10U) 21709 #define USB_ERREN_BTOERREN_SHIFT (4U) 21710 /*! BTOERREN - BTOERR Interrupt Enable 21711 * 0b0..Disables the BTOERR interrupt. 21712 * 0b1..Enables the BTOERR interrupt. 21713 */ 21714 #define USB_ERREN_BTOERREN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_BTOERREN_SHIFT)) & USB_ERREN_BTOERREN_MASK) 21715 #define USB_ERREN_DMAERREN_MASK (0x20U) 21716 #define USB_ERREN_DMAERREN_SHIFT (5U) 21717 /*! DMAERREN - DMAERR Interrupt Enable 21718 * 0b0..Disables the DMAERR interrupt. 21719 * 0b1..Enables the DMAERR interrupt. 21720 */ 21721 #define USB_ERREN_DMAERREN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_DMAERREN_SHIFT)) & USB_ERREN_DMAERREN_MASK) 21722 #define USB_ERREN_OWNERREN_MASK (0x40U) 21723 #define USB_ERREN_OWNERREN_SHIFT (6U) 21724 /*! OWNERREN - OWNERR Interrupt Enable 21725 * 0b0..Disables the OWNERR interrupt. 21726 * 0b1..Enables the OWNERR interrupt. 21727 */ 21728 #define USB_ERREN_OWNERREN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_OWNERREN_SHIFT)) & USB_ERREN_OWNERREN_MASK) 21729 #define USB_ERREN_BTSERREN_MASK (0x80U) 21730 #define USB_ERREN_BTSERREN_SHIFT (7U) 21731 /*! BTSERREN - BTSERR Interrupt Enable 21732 * 0b0..Disables the BTSERR interrupt. 21733 * 0b1..Enables the BTSERR interrupt. 21734 */ 21735 #define USB_ERREN_BTSERREN(x) (((uint8_t)(((uint8_t)(x)) << USB_ERREN_BTSERREN_SHIFT)) & USB_ERREN_BTSERREN_MASK) 21736 /*! @} */ 21737 21738 /*! @name STAT - Status register */ 21739 /*! @{ */ 21740 #define USB_STAT_ODD_MASK (0x4U) 21741 #define USB_STAT_ODD_SHIFT (2U) 21742 #define USB_STAT_ODD(x) (((uint8_t)(((uint8_t)(x)) << USB_STAT_ODD_SHIFT)) & USB_STAT_ODD_MASK) 21743 #define USB_STAT_TX_MASK (0x8U) 21744 #define USB_STAT_TX_SHIFT (3U) 21745 /*! TX - Transmit Indicator 21746 * 0b0..The most recent transaction was a receive operation. 21747 * 0b1..The most recent transaction was a transmit operation. 21748 */ 21749 #define USB_STAT_TX(x) (((uint8_t)(((uint8_t)(x)) << USB_STAT_TX_SHIFT)) & USB_STAT_TX_MASK) 21750 #define USB_STAT_ENDP_MASK (0xF0U) 21751 #define USB_STAT_ENDP_SHIFT (4U) 21752 #define USB_STAT_ENDP(x) (((uint8_t)(((uint8_t)(x)) << USB_STAT_ENDP_SHIFT)) & USB_STAT_ENDP_MASK) 21753 /*! @} */ 21754 21755 /*! @name CTL - Control register */ 21756 /*! @{ */ 21757 #define USB_CTL_USBENSOFEN_MASK (0x1U) 21758 #define USB_CTL_USBENSOFEN_SHIFT (0U) 21759 /*! USBENSOFEN - USB Enable 21760 * 0b0..Disables the USB Module. 21761 * 0b1..Enables the USB Module. 21762 */ 21763 #define USB_CTL_USBENSOFEN(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_USBENSOFEN_SHIFT)) & USB_CTL_USBENSOFEN_MASK) 21764 #define USB_CTL_ODDRST_MASK (0x2U) 21765 #define USB_CTL_ODDRST_SHIFT (1U) 21766 #define USB_CTL_ODDRST(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_ODDRST_SHIFT)) & USB_CTL_ODDRST_MASK) 21767 #define USB_CTL_RESUME_MASK (0x4U) 21768 #define USB_CTL_RESUME_SHIFT (2U) 21769 #define USB_CTL_RESUME(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_RESUME_SHIFT)) & USB_CTL_RESUME_MASK) 21770 #define USB_CTL_HOSTMODEEN_MASK (0x8U) 21771 #define USB_CTL_HOSTMODEEN_SHIFT (3U) 21772 /*! HOSTMODEEN - Host mode enable 21773 * 0b0..USB Module operates in Device mode. 21774 * 0b1..USB Module operates in Host mode. In Host mode, the USB module performs USB transactions under the programmed control of the host processor. 21775 */ 21776 #define USB_CTL_HOSTMODEEN(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_HOSTMODEEN_SHIFT)) & USB_CTL_HOSTMODEEN_MASK) 21777 #define USB_CTL_TXSUSPENDTOKENBUSY_MASK (0x20U) 21778 #define USB_CTL_TXSUSPENDTOKENBUSY_SHIFT (5U) 21779 #define USB_CTL_TXSUSPENDTOKENBUSY(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_TXSUSPENDTOKENBUSY_SHIFT)) & USB_CTL_TXSUSPENDTOKENBUSY_MASK) 21780 #define USB_CTL_SE0_MASK (0x40U) 21781 #define USB_CTL_SE0_SHIFT (6U) 21782 #define USB_CTL_SE0(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_SE0_SHIFT)) & USB_CTL_SE0_MASK) 21783 #define USB_CTL_JSTATE_MASK (0x80U) 21784 #define USB_CTL_JSTATE_SHIFT (7U) 21785 #define USB_CTL_JSTATE(x) (((uint8_t)(((uint8_t)(x)) << USB_CTL_JSTATE_SHIFT)) & USB_CTL_JSTATE_MASK) 21786 /*! @} */ 21787 21788 /*! @name ADDR - Address register */ 21789 /*! @{ */ 21790 #define USB_ADDR_ADDR_MASK (0x7FU) 21791 #define USB_ADDR_ADDR_SHIFT (0U) 21792 #define USB_ADDR_ADDR(x) (((uint8_t)(((uint8_t)(x)) << USB_ADDR_ADDR_SHIFT)) & USB_ADDR_ADDR_MASK) 21793 /*! @} */ 21794 21795 /*! @name BDTPAGE1 - BDT Page register 1 */ 21796 /*! @{ */ 21797 #define USB_BDTPAGE1_BDTBA_MASK (0xFEU) 21798 #define USB_BDTPAGE1_BDTBA_SHIFT (1U) 21799 #define USB_BDTPAGE1_BDTBA(x) (((uint8_t)(((uint8_t)(x)) << USB_BDTPAGE1_BDTBA_SHIFT)) & USB_BDTPAGE1_BDTBA_MASK) 21800 /*! @} */ 21801 21802 /*! @name FRMNUML - Frame Number register Low */ 21803 /*! @{ */ 21804 #define USB_FRMNUML_FRM_MASK (0xFFU) 21805 #define USB_FRMNUML_FRM_SHIFT (0U) 21806 #define USB_FRMNUML_FRM(x) (((uint8_t)(((uint8_t)(x)) << USB_FRMNUML_FRM_SHIFT)) & USB_FRMNUML_FRM_MASK) 21807 /*! @} */ 21808 21809 /*! @name FRMNUMH - Frame Number register High */ 21810 /*! @{ */ 21811 #define USB_FRMNUMH_FRM_MASK (0x7U) 21812 #define USB_FRMNUMH_FRM_SHIFT (0U) 21813 #define USB_FRMNUMH_FRM(x) (((uint8_t)(((uint8_t)(x)) << USB_FRMNUMH_FRM_SHIFT)) & USB_FRMNUMH_FRM_MASK) 21814 /*! @} */ 21815 21816 /*! @name BDTPAGE2 - BDT Page Register 2 */ 21817 /*! @{ */ 21818 #define USB_BDTPAGE2_BDTBA_MASK (0xFFU) 21819 #define USB_BDTPAGE2_BDTBA_SHIFT (0U) 21820 #define USB_BDTPAGE2_BDTBA(x) (((uint8_t)(((uint8_t)(x)) << USB_BDTPAGE2_BDTBA_SHIFT)) & USB_BDTPAGE2_BDTBA_MASK) 21821 /*! @} */ 21822 21823 /*! @name BDTPAGE3 - BDT Page Register 3 */ 21824 /*! @{ */ 21825 #define USB_BDTPAGE3_BDTBA_MASK (0xFFU) 21826 #define USB_BDTPAGE3_BDTBA_SHIFT (0U) 21827 #define USB_BDTPAGE3_BDTBA(x) (((uint8_t)(((uint8_t)(x)) << USB_BDTPAGE3_BDTBA_SHIFT)) & USB_BDTPAGE3_BDTBA_MASK) 21828 /*! @} */ 21829 21830 /*! @name ENDPT - Endpoint Control register */ 21831 /*! @{ */ 21832 #define USB_ENDPT_EPHSHK_MASK (0x1U) 21833 #define USB_ENDPT_EPHSHK_SHIFT (0U) 21834 #define USB_ENDPT_EPHSHK(x) (((uint8_t)(((uint8_t)(x)) << USB_ENDPT_EPHSHK_SHIFT)) & USB_ENDPT_EPHSHK_MASK) 21835 #define USB_ENDPT_EPSTALL_MASK (0x2U) 21836 #define USB_ENDPT_EPSTALL_SHIFT (1U) 21837 #define USB_ENDPT_EPSTALL(x) (((uint8_t)(((uint8_t)(x)) << USB_ENDPT_EPSTALL_SHIFT)) & USB_ENDPT_EPSTALL_MASK) 21838 #define USB_ENDPT_EPTXEN_MASK (0x4U) 21839 #define USB_ENDPT_EPTXEN_SHIFT (2U) 21840 #define USB_ENDPT_EPTXEN(x) (((uint8_t)(((uint8_t)(x)) << USB_ENDPT_EPTXEN_SHIFT)) & USB_ENDPT_EPTXEN_MASK) 21841 #define USB_ENDPT_EPRXEN_MASK (0x8U) 21842 #define USB_ENDPT_EPRXEN_SHIFT (3U) 21843 #define USB_ENDPT_EPRXEN(x) (((uint8_t)(((uint8_t)(x)) << USB_ENDPT_EPRXEN_SHIFT)) & USB_ENDPT_EPRXEN_MASK) 21844 #define USB_ENDPT_EPCTLDIS_MASK (0x10U) 21845 #define USB_ENDPT_EPCTLDIS_SHIFT (4U) 21846 #define USB_ENDPT_EPCTLDIS(x) (((uint8_t)(((uint8_t)(x)) << USB_ENDPT_EPCTLDIS_SHIFT)) & USB_ENDPT_EPCTLDIS_MASK) 21847 /*! @} */ 21848 21849 /* The count of USB_ENDPT */ 21850 #define USB_ENDPT_COUNT (16U) 21851 21852 /*! @name USBCTRL - USB Control register */ 21853 /*! @{ */ 21854 #define USB_USBCTRL_UARTSEL_MASK (0x10U) 21855 #define USB_USBCTRL_UARTSEL_SHIFT (4U) 21856 /*! UARTSEL - UART Select 21857 * 0b0..USB signals are not used as UART signals. 21858 * 0b1..USB signals are used as UART signals. 21859 */ 21860 #define USB_USBCTRL_UARTSEL(x) (((uint8_t)(((uint8_t)(x)) << USB_USBCTRL_UARTSEL_SHIFT)) & USB_USBCTRL_UARTSEL_MASK) 21861 #define USB_USBCTRL_UARTCHLS_MASK (0x20U) 21862 #define USB_USBCTRL_UARTCHLS_SHIFT (5U) 21863 /*! UARTCHLS - UART Signal Channel Select 21864 * 0b0..USB DP/DM signals are used as UART TX/RX. 21865 * 0b1..USB DP/DM signals are used as UART RX/TX. 21866 */ 21867 #define USB_USBCTRL_UARTCHLS(x) (((uint8_t)(((uint8_t)(x)) << USB_USBCTRL_UARTCHLS_SHIFT)) & USB_USBCTRL_UARTCHLS_MASK) 21868 #define USB_USBCTRL_PDE_MASK (0x40U) 21869 #define USB_USBCTRL_PDE_SHIFT (6U) 21870 /*! PDE - Pulldown enable 21871 * 0b0..Weak pulldowns are disabled on D+ and D-. 21872 * 0b1..Weak pulldowns are enabled on D+ and D-. 21873 */ 21874 #define USB_USBCTRL_PDE(x) (((uint8_t)(((uint8_t)(x)) << USB_USBCTRL_PDE_SHIFT)) & USB_USBCTRL_PDE_MASK) 21875 #define USB_USBCTRL_SUSP_MASK (0x80U) 21876 #define USB_USBCTRL_SUSP_SHIFT (7U) 21877 /*! SUSP - Suspend 21878 * 0b0..USB transceiver is not in the Suspend state. 21879 * 0b1..USB transceiver is in the Suspend state. 21880 */ 21881 #define USB_USBCTRL_SUSP(x) (((uint8_t)(((uint8_t)(x)) << USB_USBCTRL_SUSP_SHIFT)) & USB_USBCTRL_SUSP_MASK) 21882 /*! @} */ 21883 21884 /*! @name OBSERVE - USB OTG Observe register */ 21885 /*! @{ */ 21886 #define USB_OBSERVE_DMPD_MASK (0x10U) 21887 #define USB_OBSERVE_DMPD_SHIFT (4U) 21888 /*! DMPD - DMPD 21889 * 0b0..D- pulldown is disabled. 21890 * 0b1..D- pulldown is enabled. 21891 */ 21892 #define USB_OBSERVE_DMPD(x) (((uint8_t)(((uint8_t)(x)) << USB_OBSERVE_DMPD_SHIFT)) & USB_OBSERVE_DMPD_MASK) 21893 #define USB_OBSERVE_DPPD_MASK (0x40U) 21894 #define USB_OBSERVE_DPPD_SHIFT (6U) 21895 /*! DPPD - DPPD 21896 * 0b0..D+ pulldown is disabled. 21897 * 0b1..D+ pulldown is enabled. 21898 */ 21899 #define USB_OBSERVE_DPPD(x) (((uint8_t)(((uint8_t)(x)) << USB_OBSERVE_DPPD_SHIFT)) & USB_OBSERVE_DPPD_MASK) 21900 #define USB_OBSERVE_DPPU_MASK (0x80U) 21901 #define USB_OBSERVE_DPPU_SHIFT (7U) 21902 /*! DPPU - DPPU 21903 * 0b0..D+ pullup disabled. 21904 * 0b1..D+ pullup enabled. 21905 */ 21906 #define USB_OBSERVE_DPPU(x) (((uint8_t)(((uint8_t)(x)) << USB_OBSERVE_DPPU_SHIFT)) & USB_OBSERVE_DPPU_MASK) 21907 /*! @} */ 21908 21909 /*! @name CONTROL - USB OTG Control register */ 21910 /*! @{ */ 21911 #define USB_CONTROL_DPPULLUPNONOTG_MASK (0x10U) 21912 #define USB_CONTROL_DPPULLUPNONOTG_SHIFT (4U) 21913 /*! DPPULLUPNONOTG - DPPULLUPNONOTG 21914 * 0b0..DP Pullup in non-OTG Device mode is not enabled. 21915 * 0b1..DP Pullup in non-OTG Device mode is enabled. 21916 */ 21917 #define USB_CONTROL_DPPULLUPNONOTG(x) (((uint8_t)(((uint8_t)(x)) << USB_CONTROL_DPPULLUPNONOTG_SHIFT)) & USB_CONTROL_DPPULLUPNONOTG_MASK) 21918 /*! @} */ 21919 21920 /*! @name USBTRC0 - USB Transceiver Control register 0 */ 21921 /*! @{ */ 21922 #define USB_USBTRC0_USB_RESUME_INT_MASK (0x1U) 21923 #define USB_USBTRC0_USB_RESUME_INT_SHIFT (0U) 21924 /*! USB_RESUME_INT - USB Asynchronous Interrupt 21925 * 0b0..No interrupt was generated. 21926 * 0b1..Interrupt was generated because of the USB asynchronous interrupt. 21927 */ 21928 #define USB_USBTRC0_USB_RESUME_INT(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_USB_RESUME_INT_SHIFT)) & USB_USBTRC0_USB_RESUME_INT_MASK) 21929 #define USB_USBTRC0_SYNC_DET_MASK (0x2U) 21930 #define USB_USBTRC0_SYNC_DET_SHIFT (1U) 21931 /*! SYNC_DET - Synchronous USB Interrupt Detect 21932 * 0b0..Synchronous interrupt has not been detected. 21933 * 0b1..Synchronous interrupt has been detected. 21934 */ 21935 #define USB_USBTRC0_SYNC_DET(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_SYNC_DET_SHIFT)) & USB_USBTRC0_SYNC_DET_MASK) 21936 #define USB_USBTRC0_USB_CLK_RECOVERY_INT_MASK (0x4U) 21937 #define USB_USBTRC0_USB_CLK_RECOVERY_INT_SHIFT (2U) 21938 #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) 21939 #define USB_USBTRC0_VREDG_DET_MASK (0x8U) 21940 #define USB_USBTRC0_VREDG_DET_SHIFT (3U) 21941 /*! VREDG_DET - VREGIN Rising Edge Interrupt Detect 21942 * 0b0..VREGIN rising edge interrupt has not been detected. 21943 * 0b1..VREGIN rising edge interrupt has been detected. 21944 */ 21945 #define USB_USBTRC0_VREDG_DET(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_VREDG_DET_SHIFT)) & USB_USBTRC0_VREDG_DET_MASK) 21946 #define USB_USBTRC0_VFEDG_DET_MASK (0x10U) 21947 #define USB_USBTRC0_VFEDG_DET_SHIFT (4U) 21948 /*! VFEDG_DET - VREGIN Falling Edge Interrupt Detect 21949 * 0b0..VREGIN falling edge interrupt has not been detected. 21950 * 0b1..VREGIN falling edge interrupt has been detected. 21951 */ 21952 #define USB_USBTRC0_VFEDG_DET(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_VFEDG_DET_SHIFT)) & USB_USBTRC0_VFEDG_DET_MASK) 21953 #define USB_USBTRC0_USBRESMEN_MASK (0x20U) 21954 #define USB_USBTRC0_USBRESMEN_SHIFT (5U) 21955 /*! USBRESMEN - Asynchronous Resume Interrupt Enable 21956 * 0b0..USB asynchronous wakeup from Suspend mode is disabled. 21957 * 0b1..USB asynchronous wakeup from Suspend mode is enabled. 21958 */ 21959 #define USB_USBTRC0_USBRESMEN(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_USBRESMEN_SHIFT)) & USB_USBTRC0_USBRESMEN_MASK) 21960 #define USB_USBTRC0_VREGIN_STS_MASK (0x40U) 21961 #define USB_USBTRC0_VREGIN_STS_SHIFT (6U) 21962 #define USB_USBTRC0_VREGIN_STS(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_VREGIN_STS_SHIFT)) & USB_USBTRC0_VREGIN_STS_MASK) 21963 #define USB_USBTRC0_USBRESET_MASK (0x80U) 21964 #define USB_USBTRC0_USBRESET_SHIFT (7U) 21965 /*! USBRESET - USB Reset 21966 * 0b0..Normal USB module operation. 21967 * 0b1..Returns the USB module to its reset state. 21968 */ 21969 #define USB_USBTRC0_USBRESET(x) (((uint8_t)(((uint8_t)(x)) << USB_USBTRC0_USBRESET_SHIFT)) & USB_USBTRC0_USBRESET_MASK) 21970 /*! @} */ 21971 21972 /*! @name KEEP_ALIVE_CTRL - Keep Alive mode control */ 21973 /*! @{ */ 21974 #define USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_EN_MASK (0x1U) 21975 #define USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_EN_SHIFT (0U) 21976 #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) 21977 #define USB_KEEP_ALIVE_CTRL_OWN_OVERRD_EN_MASK (0x2U) 21978 #define USB_KEEP_ALIVE_CTRL_OWN_OVERRD_EN_SHIFT (1U) 21979 #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) 21980 #define USB_KEEP_ALIVE_CTRL_STOP_ACK_DLY_EN_MASK (0x4U) 21981 #define USB_KEEP_ALIVE_CTRL_STOP_ACK_DLY_EN_SHIFT (2U) 21982 /*! STOP_ACK_DLY_EN - STOP_ACK_DLY_EN 21983 * 0b0..Enter KEEP_ALIVE mode until the USB core is idle and there is no USB AHB transfer. 21984 * 0b1..Enter KEEP_ALIVE mode immediately when there is no USB AHB transfer. 21985 */ 21986 #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) 21987 #define USB_KEEP_ALIVE_CTRL_WAKE_REQ_EN_MASK (0x8U) 21988 #define USB_KEEP_ALIVE_CTRL_WAKE_REQ_EN_SHIFT (3U) 21989 /*! WAKE_REQ_EN - WAKE_REQ_EN 21990 * 0b0..USB bus wakeup request is disabled 21991 * 0b1..USB bus wakeup request is enabled 21992 */ 21993 #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) 21994 #define USB_KEEP_ALIVE_CTRL_WAKE_INT_EN_MASK (0x10U) 21995 #define USB_KEEP_ALIVE_CTRL_WAKE_INT_EN_SHIFT (4U) 21996 #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) 21997 #define USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_STS_MASK (0x40U) 21998 #define USB_KEEP_ALIVE_CTRL_KEEP_ALIVE_STS_SHIFT (6U) 21999 /*! KEEP_ALIVE_STS - Keep Alive Status 22000 * 0b0..USB is not in Keep Alive mode. 22001 * 0b1..USB is in Keep Alive mode. 22002 */ 22003 #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) 22004 #define USB_KEEP_ALIVE_CTRL_WAKE_INT_STS_MASK (0x80U) 22005 #define USB_KEEP_ALIVE_CTRL_WAKE_INT_STS_SHIFT (7U) 22006 #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) 22007 /*! @} */ 22008 22009 /*! @name KEEP_ALIVE_WKCTRL - Keep Alive mode wakeup control */ 22010 /*! @{ */ 22011 #define USB_KEEP_ALIVE_WKCTRL_WAKE_ON_THIS_MASK (0xFU) 22012 #define USB_KEEP_ALIVE_WKCTRL_WAKE_ON_THIS_SHIFT (0U) 22013 /*! WAKE_ON_THIS - WAKE_ON_THIS 22014 * 0b0001..Wake up after receiving OUT/SETUP token packet. 22015 * 0b1101..Wake up after receiving SETUP token packet. All other values are reserved. 22016 */ 22017 #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) 22018 #define USB_KEEP_ALIVE_WKCTRL_WAKE_ENDPT_MASK (0xF0U) 22019 #define USB_KEEP_ALIVE_WKCTRL_WAKE_ENDPT_SHIFT (4U) 22020 #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) 22021 /*! @} */ 22022 22023 /*! @name MISCCTRL - Miscellaneous Control register */ 22024 /*! @{ */ 22025 #define USB_MISCCTRL_SOFDYNTHLD_MASK (0x1U) 22026 #define USB_MISCCTRL_SOFDYNTHLD_SHIFT (0U) 22027 /*! SOFDYNTHLD - Dynamic SOF Threshold Compare mode 22028 * 0b0..SOF_TOK interrupt is set when byte times SOF threshold is reached. 22029 * 0b1..SOF_TOK interrupt is set when 8 byte times SOF threshold is reached or overstepped. 22030 */ 22031 #define USB_MISCCTRL_SOFDYNTHLD(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_SOFDYNTHLD_SHIFT)) & USB_MISCCTRL_SOFDYNTHLD_MASK) 22032 #define USB_MISCCTRL_SOFBUSSET_MASK (0x2U) 22033 #define USB_MISCCTRL_SOFBUSSET_SHIFT (1U) 22034 /*! SOFBUSSET - SOF_TOK Interrupt Generation Mode Select 22035 * 0b0..SOF_TOK interrupt is set according to SOF threshold value. 22036 * 0b1..SOF_TOK interrupt is set when SOF counter reaches 0. 22037 */ 22038 #define USB_MISCCTRL_SOFBUSSET(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_SOFBUSSET_SHIFT)) & USB_MISCCTRL_SOFBUSSET_MASK) 22039 #define USB_MISCCTRL_OWNERRISODIS_MASK (0x4U) 22040 #define USB_MISCCTRL_OWNERRISODIS_SHIFT (2U) 22041 /*! OWNERRISODIS - OWN Error Detect for ISO IN / ISO OUT Disable 22042 * 0b0..OWN error detect for ISO IN / ISO OUT is not disabled. 22043 * 0b1..OWN error detect for ISO IN / ISO OUT is disabled. 22044 */ 22045 #define USB_MISCCTRL_OWNERRISODIS(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_OWNERRISODIS_SHIFT)) & USB_MISCCTRL_OWNERRISODIS_MASK) 22046 #define USB_MISCCTRL_VREDG_EN_MASK (0x8U) 22047 #define USB_MISCCTRL_VREDG_EN_SHIFT (3U) 22048 /*! VREDG_EN - VREGIN Rising Edge Interrupt Enable 22049 * 0b0..VREGIN rising edge interrupt disabled. 22050 * 0b1..VREGIN rising edge interrupt enabled. 22051 */ 22052 #define USB_MISCCTRL_VREDG_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_VREDG_EN_SHIFT)) & USB_MISCCTRL_VREDG_EN_MASK) 22053 #define USB_MISCCTRL_VFEDG_EN_MASK (0x10U) 22054 #define USB_MISCCTRL_VFEDG_EN_SHIFT (4U) 22055 /*! VFEDG_EN - VREGIN Falling Edge Interrupt Enable 22056 * 0b0..VREGIN falling edge interrupt disabled. 22057 * 0b1..VREGIN falling edge interrupt enabled. 22058 */ 22059 #define USB_MISCCTRL_VFEDG_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_VFEDG_EN_SHIFT)) & USB_MISCCTRL_VFEDG_EN_MASK) 22060 #define USB_MISCCTRL_STL_ADJ_EN_MASK (0x80U) 22061 #define USB_MISCCTRL_STL_ADJ_EN_SHIFT (7U) 22062 /*! STL_ADJ_EN - USB Peripheral mode Stall Adjust Enable 22063 * 0b0..If USB_ENDPTn[END_STALL] = 1, both IN and OUT directions for the associated endpoint will be stalled 22064 * 0b1..If USB_ENDPTn[END_STALL] = 1, the USB_STALL_xx_DIS registers control which directions for the associated endpoint will be stalled. 22065 */ 22066 #define USB_MISCCTRL_STL_ADJ_EN(x) (((uint8_t)(((uint8_t)(x)) << USB_MISCCTRL_STL_ADJ_EN_SHIFT)) & USB_MISCCTRL_STL_ADJ_EN_MASK) 22067 /*! @} */ 22068 22069 /*! @name STALL_IL_DIS - Peripheral mode stall disable for endpoints 7 to 0 in IN direction */ 22070 /*! @{ */ 22071 #define USB_STALL_IL_DIS_STALL_I_DIS0_MASK (0x1U) 22072 #define USB_STALL_IL_DIS_STALL_I_DIS0_SHIFT (0U) 22073 /*! STALL_I_DIS0 - STALL_I_DIS0 22074 * 0b0..Endpoint 0 IN direction stall is enabled. 22075 * 0b1..Endpoint 0 IN direction stall is disabled. 22076 */ 22077 #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) 22078 #define USB_STALL_IL_DIS_STALL_I_DIS1_MASK (0x2U) 22079 #define USB_STALL_IL_DIS_STALL_I_DIS1_SHIFT (1U) 22080 /*! STALL_I_DIS1 - STALL_I_DIS1 22081 * 0b0..Endpoint 1 IN direction stall is enabled. 22082 * 0b1..Endpoint 1 IN direction stall is disabled. 22083 */ 22084 #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) 22085 #define USB_STALL_IL_DIS_STALL_I_DIS2_MASK (0x4U) 22086 #define USB_STALL_IL_DIS_STALL_I_DIS2_SHIFT (2U) 22087 /*! STALL_I_DIS2 - STALL_I_DIS2 22088 * 0b0..Endpoint 2 IN direction stall is enabled. 22089 * 0b1..Endpoint 2 IN direction stall is disabled. 22090 */ 22091 #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) 22092 #define USB_STALL_IL_DIS_STALL_I_DIS3_MASK (0x8U) 22093 #define USB_STALL_IL_DIS_STALL_I_DIS3_SHIFT (3U) 22094 /*! STALL_I_DIS3 - STALL_I_DIS3 22095 * 0b0..Endpoint 3 IN direction stall is enabled. 22096 * 0b1..Endpoint 3 IN direction stall is disabled. 22097 */ 22098 #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) 22099 #define USB_STALL_IL_DIS_STALL_I_DIS4_MASK (0x10U) 22100 #define USB_STALL_IL_DIS_STALL_I_DIS4_SHIFT (4U) 22101 /*! STALL_I_DIS4 - STALL_I_DIS4 22102 * 0b0..Endpoint 4 IN direction stall is enabled. 22103 * 0b1..Endpoint 4 IN direction stall is disabled. 22104 */ 22105 #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) 22106 #define USB_STALL_IL_DIS_STALL_I_DIS5_MASK (0x20U) 22107 #define USB_STALL_IL_DIS_STALL_I_DIS5_SHIFT (5U) 22108 /*! STALL_I_DIS5 - STALL_I_DIS5 22109 * 0b0..Endpoint 5 IN direction stall is enabled. 22110 * 0b1..Endpoint 5 IN direction stall is disabled. 22111 */ 22112 #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) 22113 #define USB_STALL_IL_DIS_STALL_I_DIS6_MASK (0x40U) 22114 #define USB_STALL_IL_DIS_STALL_I_DIS6_SHIFT (6U) 22115 /*! STALL_I_DIS6 - STALL_I_DIS6 22116 * 0b0..Endpoint 6 IN direction stall is enabled. 22117 * 0b1..Endpoint 6 IN direction stall is disabled. 22118 */ 22119 #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) 22120 #define USB_STALL_IL_DIS_STALL_I_DIS7_MASK (0x80U) 22121 #define USB_STALL_IL_DIS_STALL_I_DIS7_SHIFT (7U) 22122 /*! STALL_I_DIS7 - STALL_I_DIS7 22123 * 0b0..Endpoint 7 IN direction stall is enabled. 22124 * 0b1..Endpoint 7 IN direction stall is disabled. 22125 */ 22126 #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) 22127 /*! @} */ 22128 22129 /*! @name STALL_IH_DIS - Peripheral mode stall disable for endpoints 15 to 8 in IN direction */ 22130 /*! @{ */ 22131 #define USB_STALL_IH_DIS_STALL_I_DIS8_MASK (0x1U) 22132 #define USB_STALL_IH_DIS_STALL_I_DIS8_SHIFT (0U) 22133 /*! STALL_I_DIS8 - STALL_I_DIS8 22134 * 0b0..Endpoint 8 IN direction stall is enabled. 22135 * 0b1..Endpoint 8 IN direction stall is disabled. 22136 */ 22137 #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) 22138 #define USB_STALL_IH_DIS_STALL_I_DIS9_MASK (0x2U) 22139 #define USB_STALL_IH_DIS_STALL_I_DIS9_SHIFT (1U) 22140 /*! STALL_I_DIS9 - STALL_I_DIS9 22141 * 0b0..Endpoint 9 IN direction stall is enabled. 22142 * 0b1..Endpoint 9 IN direction stall is disabled. 22143 */ 22144 #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) 22145 #define USB_STALL_IH_DIS_STALL_I_DIS10_MASK (0x4U) 22146 #define USB_STALL_IH_DIS_STALL_I_DIS10_SHIFT (2U) 22147 /*! STALL_I_DIS10 - STALL_I_DIS10 22148 * 0b0..Endpoint 10 IN direction stall is enabled. 22149 * 0b1..Endpoint 10 IN direction stall is disabled. 22150 */ 22151 #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) 22152 #define USB_STALL_IH_DIS_STALL_I_DIS11_MASK (0x8U) 22153 #define USB_STALL_IH_DIS_STALL_I_DIS11_SHIFT (3U) 22154 /*! STALL_I_DIS11 - STALL_I_DIS11 22155 * 0b0..Endpoint 11 IN direction stall is enabled. 22156 * 0b1..Endpoint 11 IN direction stall is disabled. 22157 */ 22158 #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) 22159 #define USB_STALL_IH_DIS_STALL_I_DIS12_MASK (0x10U) 22160 #define USB_STALL_IH_DIS_STALL_I_DIS12_SHIFT (4U) 22161 /*! STALL_I_DIS12 - STALL_I_DIS12 22162 * 0b0..Endpoint 12 IN direction stall is enabled. 22163 * 0b1..Endpoint 12 IN direction stall is disabled. 22164 */ 22165 #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) 22166 #define USB_STALL_IH_DIS_STALL_I_DIS13_MASK (0x20U) 22167 #define USB_STALL_IH_DIS_STALL_I_DIS13_SHIFT (5U) 22168 /*! STALL_I_DIS13 - STALL_I_DIS13 22169 * 0b0..Endpoint 13 IN direction stall is enabled. 22170 * 0b1..Endpoint 13 IN direction stall is disabled. 22171 */ 22172 #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) 22173 #define USB_STALL_IH_DIS_STALL_I_DIS14_MASK (0x40U) 22174 #define USB_STALL_IH_DIS_STALL_I_DIS14_SHIFT (6U) 22175 /*! STALL_I_DIS14 - STALL_I_DIS14 22176 * 0b0..Endpoint 14 IN direction stall is enabled. 22177 * 0b1..Endpoint 14 IN direction stall is disabled. 22178 */ 22179 #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) 22180 #define USB_STALL_IH_DIS_STALL_I_DIS15_MASK (0x80U) 22181 #define USB_STALL_IH_DIS_STALL_I_DIS15_SHIFT (7U) 22182 /*! STALL_I_DIS15 - STALL_I_DIS15 22183 * 0b0..Endpoint 15 IN direction stall is enabled. 22184 * 0b1..Endpoint 15 IN direction stall is disabled. 22185 */ 22186 #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) 22187 /*! @} */ 22188 22189 /*! @name STALL_OL_DIS - Peripheral mode stall disable for endpoints 7 to 0 in OUT direction */ 22190 /*! @{ */ 22191 #define USB_STALL_OL_DIS_STALL_O_DIS0_MASK (0x1U) 22192 #define USB_STALL_OL_DIS_STALL_O_DIS0_SHIFT (0U) 22193 /*! STALL_O_DIS0 - STALL_O_DIS0 22194 * 0b0..Endpoint 0 OUT direction stall is enabled. 22195 * 0b1..Endpoint 0 OUT direction stall is disabled. 22196 */ 22197 #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) 22198 #define USB_STALL_OL_DIS_STALL_O_DIS1_MASK (0x2U) 22199 #define USB_STALL_OL_DIS_STALL_O_DIS1_SHIFT (1U) 22200 /*! STALL_O_DIS1 - STALL_O_DIS1 22201 * 0b0..Endpoint 1 OUT direction stall is enabled. 22202 * 0b1..Endpoint 1 OUT direction stall is disabled. 22203 */ 22204 #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) 22205 #define USB_STALL_OL_DIS_STALL_O_DIS2_MASK (0x4U) 22206 #define USB_STALL_OL_DIS_STALL_O_DIS2_SHIFT (2U) 22207 /*! STALL_O_DIS2 - STALL_O_DIS2 22208 * 0b0..Endpoint 2 OUT direction stall is enabled. 22209 * 0b1..Endpoint 2 OUT direction stall is disabled. 22210 */ 22211 #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) 22212 #define USB_STALL_OL_DIS_STALL_O_DIS3_MASK (0x8U) 22213 #define USB_STALL_OL_DIS_STALL_O_DIS3_SHIFT (3U) 22214 /*! STALL_O_DIS3 - STALL_O_DIS3 22215 * 0b0..Endpoint 3 OUT direction stall is enabled. 22216 * 0b1..Endpoint 3 OUT direction stall is disabled. 22217 */ 22218 #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) 22219 #define USB_STALL_OL_DIS_STALL_O_DIS4_MASK (0x10U) 22220 #define USB_STALL_OL_DIS_STALL_O_DIS4_SHIFT (4U) 22221 /*! STALL_O_DIS4 - STALL_O_DIS4 22222 * 0b0..Endpoint 4 OUT direction stall is enabled. 22223 * 0b1..Endpoint 4 OUT direction stall is disabled. 22224 */ 22225 #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) 22226 #define USB_STALL_OL_DIS_STALL_O_DIS5_MASK (0x20U) 22227 #define USB_STALL_OL_DIS_STALL_O_DIS5_SHIFT (5U) 22228 /*! STALL_O_DIS5 - STALL_O_DIS5 22229 * 0b0..Endpoint 5 OUT direction stall is enabled. 22230 * 0b1..Endpoint 5 OUT direction stall is disabled. 22231 */ 22232 #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) 22233 #define USB_STALL_OL_DIS_STALL_O_DIS6_MASK (0x40U) 22234 #define USB_STALL_OL_DIS_STALL_O_DIS6_SHIFT (6U) 22235 /*! STALL_O_DIS6 - STALL_O_DIS6 22236 * 0b0..Endpoint 6 OUT direction stall is enabled. 22237 * 0b1..Endpoint 6 OUT direction stall is disabled. 22238 */ 22239 #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) 22240 #define USB_STALL_OL_DIS_STALL_O_DIS7_MASK (0x80U) 22241 #define USB_STALL_OL_DIS_STALL_O_DIS7_SHIFT (7U) 22242 /*! STALL_O_DIS7 - STALL_O_DIS7 22243 * 0b0..Endpoint 7 OUT direction stall is enabled. 22244 * 0b1..Endpoint 7 OUT direction stall is disabled. 22245 */ 22246 #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) 22247 /*! @} */ 22248 22249 /*! @name STALL_OH_DIS - Peripheral mode stall disable for endpoints 15 to 8 in OUT direction */ 22250 /*! @{ */ 22251 #define USB_STALL_OH_DIS_STALL_O_DIS8_MASK (0x1U) 22252 #define USB_STALL_OH_DIS_STALL_O_DIS8_SHIFT (0U) 22253 /*! STALL_O_DIS8 - STALL_O_DIS8 22254 * 0b0..Endpoint 8 OUT direction stall is enabled. 22255 * 0b1..Endpoint 8 OUT direction stall is disabled. 22256 */ 22257 #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) 22258 #define USB_STALL_OH_DIS_STALL_O_DIS9_MASK (0x2U) 22259 #define USB_STALL_OH_DIS_STALL_O_DIS9_SHIFT (1U) 22260 /*! STALL_O_DIS9 - STALL_O_DIS9 22261 * 0b0..Endpoint 9 OUT direction stall is enabled. 22262 * 0b1..Endpoint 9 OUT direction stall is disabled. 22263 */ 22264 #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) 22265 #define USB_STALL_OH_DIS_STALL_O_DIS10_MASK (0x4U) 22266 #define USB_STALL_OH_DIS_STALL_O_DIS10_SHIFT (2U) 22267 /*! STALL_O_DIS10 - STALL_O_DIS10 22268 * 0b0..Endpoint 10 OUT direction stall is enabled. 22269 * 0b1..Endpoint 10 OUT direction stall is disabled. 22270 */ 22271 #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) 22272 #define USB_STALL_OH_DIS_STALL_O_DIS11_MASK (0x8U) 22273 #define USB_STALL_OH_DIS_STALL_O_DIS11_SHIFT (3U) 22274 /*! STALL_O_DIS11 - STALL_O_DIS11 22275 * 0b0..Endpoint 11 OUT direction stall is enabled. 22276 * 0b1..Endpoint 11 OUT direction stall is disabled. 22277 */ 22278 #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) 22279 #define USB_STALL_OH_DIS_STALL_O_DIS12_MASK (0x10U) 22280 #define USB_STALL_OH_DIS_STALL_O_DIS12_SHIFT (4U) 22281 /*! STALL_O_DIS12 - STALL_O_DIS12 22282 * 0b0..Endpoint 12 OUT direction stall is enabled. 22283 * 0b1..Endpoint 12 OUT direction stall is disabled. 22284 */ 22285 #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) 22286 #define USB_STALL_OH_DIS_STALL_O_DIS13_MASK (0x20U) 22287 #define USB_STALL_OH_DIS_STALL_O_DIS13_SHIFT (5U) 22288 /*! STALL_O_DIS13 - STALL_O_DIS13 22289 * 0b0..Endpoint 13 OUT direction stall is enabled. 22290 * 0b1..Endpoint 13 OUT direction stall is disabled. 22291 */ 22292 #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) 22293 #define USB_STALL_OH_DIS_STALL_O_DIS14_MASK (0x40U) 22294 #define USB_STALL_OH_DIS_STALL_O_DIS14_SHIFT (6U) 22295 /*! STALL_O_DIS14 - STALL_O_DIS14 22296 * 0b0..Endpoint 14 OUT direction stall is enabled. 22297 * 0b1..Endpoint 14 OUT direction stall is disabled. 22298 */ 22299 #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) 22300 #define USB_STALL_OH_DIS_STALL_O_DIS15_MASK (0x80U) 22301 #define USB_STALL_OH_DIS_STALL_O_DIS15_SHIFT (7U) 22302 /*! STALL_O_DIS15 - STALL_O_DIS15 22303 * 0b0..Endpoint 15 OUT direction stall is enabled. 22304 * 0b1..Endpoint 15 OUT direction stall is disabled. 22305 */ 22306 #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) 22307 /*! @} */ 22308 22309 /*! @name CLK_RECOVER_CTRL - USB Clock recovery control */ 22310 /*! @{ */ 22311 #define USB_CLK_RECOVER_CTRL_RESTART_IFRTRIM_EN_MASK (0x20U) 22312 #define USB_CLK_RECOVER_CTRL_RESTART_IFRTRIM_EN_SHIFT (5U) 22313 /*! RESTART_IFRTRIM_EN - Restart from IFR trim value 22314 * 0b0..Trim fine adjustment always works based on the previous updated trim fine value (default). 22315 * 0b1..Trim fine restarts from the IFR trim value, whenever bus_reset/bus_resume is detected or module enable is desasserted. 22316 */ 22317 #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) 22318 #define USB_CLK_RECOVER_CTRL_RESET_RESUME_ROUGH_EN_MASK (0x40U) 22319 #define USB_CLK_RECOVER_CTRL_RESET_RESUME_ROUGH_EN_SHIFT (6U) 22320 /*! RESET_RESUME_ROUGH_EN - Reset/resume to rough phase enable 22321 * 0b0..Always works in tracking phase after the first time rough phase, to track transition (default). 22322 * 0b1..Go back to rough stage whenever a bus reset or bus resume occurs. 22323 */ 22324 #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) 22325 #define USB_CLK_RECOVER_CTRL_CLOCK_RECOVER_EN_MASK (0x80U) 22326 #define USB_CLK_RECOVER_CTRL_CLOCK_RECOVER_EN_SHIFT (7U) 22327 /*! CLOCK_RECOVER_EN - Crystal-less USB enable 22328 * 0b0..Disable clock recovery block (default) 22329 * 0b1..Enable clock recovery block 22330 */ 22331 #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) 22332 /*! @} */ 22333 22334 /*! @name CLK_RECOVER_IRC_EN - IRC48MFIRC oscillator enable register */ 22335 /*! @{ */ 22336 #define USB_CLK_RECOVER_IRC_EN_REG_EN_MASK (0x1U) 22337 #define USB_CLK_RECOVER_IRC_EN_REG_EN_SHIFT (0U) 22338 /*! REG_EN - Regulator enable 22339 * 0b0..IRC48M local regulator is disabled 22340 * 0b1..IRC48M local regulator is enabled (default) 22341 */ 22342 #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) 22343 #define USB_CLK_RECOVER_IRC_EN_IRC_EN_MASK (0x2U) 22344 #define USB_CLK_RECOVER_IRC_EN_IRC_EN_SHIFT (1U) 22345 /*! IRC_EN - IRC_EN 22346 * 0b0..Disable the IRC48M module (default) 22347 * 0b1..Enable the IRC48M module 22348 */ 22349 #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) 22350 /*! @} */ 22351 22352 /*! @name CLK_RECOVER_INT_EN - Clock recovery combined interrupt enable */ 22353 /*! @{ */ 22354 #define USB_CLK_RECOVER_INT_EN_OVF_ERROR_EN_MASK (0x10U) 22355 #define USB_CLK_RECOVER_INT_EN_OVF_ERROR_EN_SHIFT (4U) 22356 /*! OVF_ERROR_EN - OVF_ERROR_EN 22357 * 0b0..The interrupt will be masked 22358 * 0b1..The interrupt will be enabled (default) 22359 */ 22360 #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) 22361 /*! @} */ 22362 22363 /*! @name CLK_RECOVER_INT_STATUS - Clock recovery separated interrupt status */ 22364 /*! @{ */ 22365 #define USB_CLK_RECOVER_INT_STATUS_OVF_ERROR_MASK (0x10U) 22366 #define USB_CLK_RECOVER_INT_STATUS_OVF_ERROR_SHIFT (4U) 22367 /*! OVF_ERROR - OVF_ERROR 22368 * 0b0..No interrupt is reported 22369 * 0b1..Unmasked interrupt has been generated 22370 */ 22371 #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) 22372 /*! @} */ 22373 22374 22375 /*! 22376 * @} 22377 */ /* end of group USB_Register_Masks */ 22378 22379 22380 /* USB - Peripheral instance base addresses */ 22381 /** Peripheral USB0 base address */ 22382 #define USB0_BASE (0x40045000u) 22383 /** Peripheral USB0 base pointer */ 22384 #define USB0 ((USB_Type *)USB0_BASE) 22385 /** Array initializer of USB peripheral base addresses */ 22386 #define USB_BASE_ADDRS { USB0_BASE } 22387 /** Array initializer of USB peripheral base pointers */ 22388 #define USB_BASE_PTRS { USB0 } 22389 /** Interrupt vectors for the USB peripheral type */ 22390 #define USB_IRQS { USB0_IRQn } 22391 22392 /*! 22393 * @} 22394 */ /* end of group USB_Peripheral_Access_Layer */ 22395 22396 22397 /* ---------------------------------------------------------------------------- 22398 -- USBVREG Peripheral Access Layer 22399 ---------------------------------------------------------------------------- */ 22400 22401 /*! 22402 * @addtogroup USBVREG_Peripheral_Access_Layer USBVREG Peripheral Access Layer 22403 * @{ 22404 */ 22405 22406 /** USBVREG - Register Layout Typedef */ 22407 typedef struct { 22408 __IO uint32_t CTRL; /**< USB VREG Control Register, offset: 0x0 */ 22409 __IO uint32_t CFGCTRL; /**< USB VREG Configuration Control Register, offset: 0x4 */ 22410 } USBVREG_Type; 22411 22412 /* ---------------------------------------------------------------------------- 22413 -- USBVREG Register Masks 22414 ---------------------------------------------------------------------------- */ 22415 22416 /*! 22417 * @addtogroup USBVREG_Register_Masks USBVREG Register Masks 22418 * @{ 22419 */ 22420 22421 /*! @name CTRL - USB VREG Control Register */ 22422 /*! @{ */ 22423 #define USBVREG_CTRL_VSTBY_MASK (0x20000000U) 22424 #define USBVREG_CTRL_VSTBY_SHIFT (29U) 22425 /*! VSTBY - USB Voltage Regulator in Standby Mode during VLPR and VLPW modes 22426 * 0b0..USB voltage regulator is not in standby during VLPR and VLPW modes. 22427 * 0b1..USB voltage regulator in standby during VLPR and VLPW modes. 22428 */ 22429 #define USBVREG_CTRL_VSTBY(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CTRL_VSTBY_SHIFT)) & USBVREG_CTRL_VSTBY_MASK) 22430 #define USBVREG_CTRL_SSTBY_MASK (0x40000000U) 22431 #define USBVREG_CTRL_SSTBY_SHIFT (30U) 22432 /*! SSTBY - USB Voltage Regulator in Standby Mode during Stop, VLPS, LLS and VLLS Modes 22433 * 0b0..USB voltage regulator is not in standby during Stop,VLPS,LLS and VLLS modes. 22434 * 0b1..USB voltage regulator is in standby during Stop,VLPS,LLS and VLLS modes. 22435 */ 22436 #define USBVREG_CTRL_SSTBY(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CTRL_SSTBY_SHIFT)) & USBVREG_CTRL_SSTBY_MASK) 22437 #define USBVREG_CTRL_EN_MASK (0x80000000U) 22438 #define USBVREG_CTRL_EN_SHIFT (31U) 22439 /*! EN - USB Voltage Regulator Enable 22440 * 0b0..USB voltage regulator is disabled. 22441 * 0b1..USB voltage regulator is enabled. 22442 */ 22443 #define USBVREG_CTRL_EN(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CTRL_EN_SHIFT)) & USBVREG_CTRL_EN_MASK) 22444 /*! @} */ 22445 22446 /*! @name CFGCTRL - USB VREG Configuration Control Register */ 22447 /*! @{ */ 22448 #define USBVREG_CFGCTRL_URWE_MASK (0x1000000U) 22449 #define USBVREG_CFGCTRL_URWE_SHIFT (24U) 22450 /*! URWE - USB Voltage Regulator Enable Write Enable 22451 * 0b0..CTRL[EN] can not be written. 22452 * 0b1..CTRL[EN] can be written. 22453 */ 22454 #define USBVREG_CFGCTRL_URWE(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CFGCTRL_URWE_SHIFT)) & USBVREG_CFGCTRL_URWE_MASK) 22455 #define USBVREG_CFGCTRL_UVSWE_MASK (0x2000000U) 22456 #define USBVREG_CFGCTRL_UVSWE_SHIFT (25U) 22457 /*! UVSWE - USB Voltage Regulator VLP Standby Write Enable 22458 * 0b0..CTRL[VSTBY] cannot be written. 22459 * 0b1..CTRL[VSTBY] can be written. 22460 */ 22461 #define USBVREG_CFGCTRL_UVSWE(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CFGCTRL_UVSWE_SHIFT)) & USBVREG_CFGCTRL_UVSWE_MASK) 22462 #define USBVREG_CFGCTRL_USSWE_MASK (0x4000000U) 22463 #define USBVREG_CFGCTRL_USSWE_SHIFT (26U) 22464 /*! USSWE - USB Voltage Rregulator Stop Standby Write Enable 22465 * 0b0..CTRL[SSTBY] field cannot be written. 22466 * 0b1..CTRL[SSTBY] can be written. 22467 */ 22468 #define USBVREG_CFGCTRL_USSWE(x) (((uint32_t)(((uint32_t)(x)) << USBVREG_CFGCTRL_USSWE_SHIFT)) & USBVREG_CFGCTRL_USSWE_MASK) 22469 /*! @} */ 22470 22471 22472 /*! 22473 * @} 22474 */ /* end of group USBVREG_Register_Masks */ 22475 22476 22477 /* USBVREG - Peripheral instance base addresses */ 22478 /** Peripheral USBVREG base address */ 22479 #define USBVREG_BASE (0x40027000u) 22480 /** Peripheral USBVREG base pointer */ 22481 #define USBVREG ((USBVREG_Type *)USBVREG_BASE) 22482 /** Array initializer of USBVREG peripheral base addresses */ 22483 #define USBVREG_BASE_ADDRS { USBVREG_BASE } 22484 /** Array initializer of USBVREG peripheral base pointers */ 22485 #define USBVREG_BASE_PTRS { USBVREG } 22486 22487 /*! 22488 * @} 22489 */ /* end of group USBVREG_Peripheral_Access_Layer */ 22490 22491 22492 /* ---------------------------------------------------------------------------- 22493 -- USDHC Peripheral Access Layer 22494 ---------------------------------------------------------------------------- */ 22495 22496 /*! 22497 * @addtogroup USDHC_Peripheral_Access_Layer USDHC Peripheral Access Layer 22498 * @{ 22499 */ 22500 22501 /** USDHC - Register Layout Typedef */ 22502 typedef struct { 22503 __IO uint32_t DS_ADDR; /**< DMA System Address, offset: 0x0 */ 22504 __IO uint32_t BLK_ATT; /**< Block Attributes, offset: 0x4 */ 22505 __IO uint32_t CMD_ARG; /**< Command Argument, offset: 0x8 */ 22506 __IO uint32_t CMD_XFR_TYP; /**< Command Transfer Type, offset: 0xC */ 22507 __I uint32_t CMD_RSP0; /**< Command Response0, offset: 0x10 */ 22508 __I uint32_t CMD_RSP1; /**< Command Response1, offset: 0x14 */ 22509 __I uint32_t CMD_RSP2; /**< Command Response2, offset: 0x18 */ 22510 __I uint32_t CMD_RSP3; /**< Command Response3, offset: 0x1C */ 22511 __IO uint32_t DATA_BUFF_ACC_PORT; /**< Data Buffer Access Port, offset: 0x20 */ 22512 __I uint32_t PRES_STATE; /**< Present State, offset: 0x24 */ 22513 __IO uint32_t PROT_CTRL; /**< Protocol Control, offset: 0x28 */ 22514 __IO uint32_t SYS_CTRL; /**< System Control, offset: 0x2C */ 22515 __IO uint32_t INT_STATUS; /**< Interrupt Status, offset: 0x30 */ 22516 __IO uint32_t INT_STATUS_EN; /**< Interrupt Status Enable, offset: 0x34 */ 22517 __IO uint32_t INT_SIGNAL_EN; /**< Interrupt Signal Enable, offset: 0x38 */ 22518 __I uint32_t AUTOCMD12_ERR_STATUS; /**< Auto CMD12 Error Status, offset: 0x3C */ 22519 __I uint32_t HOST_CTRL_CAP; /**< Host Controller Capabilities, offset: 0x40 */ 22520 __IO uint32_t WTMK_LVL; /**< Watermark Level, offset: 0x44 */ 22521 __IO uint32_t MIX_CTRL; /**< Mixer Control, offset: 0x48 */ 22522 uint8_t RESERVED_0[4]; 22523 __O uint32_t FORCE_EVENT; /**< Force Event, offset: 0x50 */ 22524 __I uint32_t ADMA_ERR_STATUS; /**< ADMA Error Status Register, offset: 0x54 */ 22525 __IO uint32_t ADMA_SYS_ADDR; /**< ADMA System Address, offset: 0x58 */ 22526 uint8_t RESERVED_1[100]; 22527 __IO uint32_t VEND_SPEC; /**< Vendor Specific Register, offset: 0xC0 */ 22528 __IO uint32_t MMC_BOOT; /**< MMC Boot Register, offset: 0xC4 */ 22529 __IO uint32_t VEND_SPEC2; /**< Vendor Specific 2 Register, offset: 0xC8 */ 22530 } USDHC_Type; 22531 22532 /* ---------------------------------------------------------------------------- 22533 -- USDHC Register Masks 22534 ---------------------------------------------------------------------------- */ 22535 22536 /*! 22537 * @addtogroup USDHC_Register_Masks USDHC Register Masks 22538 * @{ 22539 */ 22540 22541 /*! @name DS_ADDR - DMA System Address */ 22542 /*! @{ */ 22543 #define USDHC_DS_ADDR_DS_ADDR_MASK (0xFFFFFFFFU) 22544 #define USDHC_DS_ADDR_DS_ADDR_SHIFT (0U) 22545 #define USDHC_DS_ADDR_DS_ADDR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_DS_ADDR_DS_ADDR_SHIFT)) & USDHC_DS_ADDR_DS_ADDR_MASK) 22546 /*! @} */ 22547 22548 /*! @name BLK_ATT - Block Attributes */ 22549 /*! @{ */ 22550 #define USDHC_BLK_ATT_BLKSIZE_MASK (0x1FFFU) 22551 #define USDHC_BLK_ATT_BLKSIZE_SHIFT (0U) 22552 /*! BLKSIZE - Block Size 22553 * 0b1000000000000..4096 Bytes 22554 * 0b0100000000000..2048 Bytes 22555 * 0b0001000000000..512 Bytes 22556 * 0b0000111111111..511 Bytes 22557 * 0b0000000000100..4 Bytes 22558 * 0b0000000000011..3 Bytes 22559 * 0b0000000000010..2 Bytes 22560 * 0b0000000000001..1 Byte 22561 * 0b0000000000000..No data transfer 22562 */ 22563 #define USDHC_BLK_ATT_BLKSIZE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKSIZE_SHIFT)) & USDHC_BLK_ATT_BLKSIZE_MASK) 22564 #define USDHC_BLK_ATT_BLKCNT_MASK (0xFFFF0000U) 22565 #define USDHC_BLK_ATT_BLKCNT_SHIFT (16U) 22566 /*! BLKCNT - Block Count 22567 * 0b1111111111111111..65535 blocks 22568 * 0b0000000000000010..2 blocks 22569 * 0b0000000000000001..1 block 22570 * 0b0000000000000000..Stop Count 22571 */ 22572 #define USDHC_BLK_ATT_BLKCNT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_BLK_ATT_BLKCNT_SHIFT)) & USDHC_BLK_ATT_BLKCNT_MASK) 22573 /*! @} */ 22574 22575 /*! @name CMD_ARG - Command Argument */ 22576 /*! @{ */ 22577 #define USDHC_CMD_ARG_CMDARG_MASK (0xFFFFFFFFU) 22578 #define USDHC_CMD_ARG_CMDARG_SHIFT (0U) 22579 #define USDHC_CMD_ARG_CMDARG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_ARG_CMDARG_SHIFT)) & USDHC_CMD_ARG_CMDARG_MASK) 22580 /*! @} */ 22581 22582 /*! @name CMD_XFR_TYP - Command Transfer Type */ 22583 /*! @{ */ 22584 #define USDHC_CMD_XFR_TYP_RSPTYP_MASK (0x30000U) 22585 #define USDHC_CMD_XFR_TYP_RSPTYP_SHIFT (16U) 22586 /*! RSPTYP - Response Type Select 22587 * 0b00..No Response 22588 * 0b01..Response Length 136 22589 * 0b10..Response Length 48 22590 * 0b11..Response Length 48, check Busy after response 22591 */ 22592 #define USDHC_CMD_XFR_TYP_RSPTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_RSPTYP_SHIFT)) & USDHC_CMD_XFR_TYP_RSPTYP_MASK) 22593 #define USDHC_CMD_XFR_TYP_CCCEN_MASK (0x80000U) 22594 #define USDHC_CMD_XFR_TYP_CCCEN_SHIFT (19U) 22595 /*! CCCEN - Command CRC Check Enable 22596 * 0b1..Enable 22597 * 0b0..Disable 22598 */ 22599 #define USDHC_CMD_XFR_TYP_CCCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CCCEN_SHIFT)) & USDHC_CMD_XFR_TYP_CCCEN_MASK) 22600 #define USDHC_CMD_XFR_TYP_CICEN_MASK (0x100000U) 22601 #define USDHC_CMD_XFR_TYP_CICEN_SHIFT (20U) 22602 /*! CICEN - Command Index Check Enable 22603 * 0b1..Enable 22604 * 0b0..Disable 22605 */ 22606 #define USDHC_CMD_XFR_TYP_CICEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CICEN_SHIFT)) & USDHC_CMD_XFR_TYP_CICEN_MASK) 22607 #define USDHC_CMD_XFR_TYP_DPSEL_MASK (0x200000U) 22608 #define USDHC_CMD_XFR_TYP_DPSEL_SHIFT (21U) 22609 /*! DPSEL - Data Present Select 22610 * 0b1..Data Present 22611 * 0b0..No Data Present 22612 */ 22613 #define USDHC_CMD_XFR_TYP_DPSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_DPSEL_SHIFT)) & USDHC_CMD_XFR_TYP_DPSEL_MASK) 22614 #define USDHC_CMD_XFR_TYP_CMDTYP_MASK (0xC00000U) 22615 #define USDHC_CMD_XFR_TYP_CMDTYP_SHIFT (22U) 22616 /*! CMDTYP - Command Type 22617 * 0b11..Abort CMD12, CMD52 for writing I/O Abort in CCCR 22618 * 0b10..Resume CMD52 for writing Function Select in CCCR 22619 * 0b01..Suspend CMD52 for writing Bus Suspend in CCCR 22620 * 0b00..Normal Other commands 22621 */ 22622 #define USDHC_CMD_XFR_TYP_CMDTYP(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDTYP_SHIFT)) & USDHC_CMD_XFR_TYP_CMDTYP_MASK) 22623 #define USDHC_CMD_XFR_TYP_CMDINX_MASK (0x3F000000U) 22624 #define USDHC_CMD_XFR_TYP_CMDINX_SHIFT (24U) 22625 #define USDHC_CMD_XFR_TYP_CMDINX(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_XFR_TYP_CMDINX_SHIFT)) & USDHC_CMD_XFR_TYP_CMDINX_MASK) 22626 /*! @} */ 22627 22628 /*! @name CMD_RSP0 - Command Response0 */ 22629 /*! @{ */ 22630 #define USDHC_CMD_RSP0_CMDRSP0_MASK (0xFFFFFFFFU) 22631 #define USDHC_CMD_RSP0_CMDRSP0_SHIFT (0U) 22632 #define USDHC_CMD_RSP0_CMDRSP0(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP0_CMDRSP0_SHIFT)) & USDHC_CMD_RSP0_CMDRSP0_MASK) 22633 /*! @} */ 22634 22635 /*! @name CMD_RSP1 - Command Response1 */ 22636 /*! @{ */ 22637 #define USDHC_CMD_RSP1_CMDRSP1_MASK (0xFFFFFFFFU) 22638 #define USDHC_CMD_RSP1_CMDRSP1_SHIFT (0U) 22639 #define USDHC_CMD_RSP1_CMDRSP1(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP1_CMDRSP1_SHIFT)) & USDHC_CMD_RSP1_CMDRSP1_MASK) 22640 /*! @} */ 22641 22642 /*! @name CMD_RSP2 - Command Response2 */ 22643 /*! @{ */ 22644 #define USDHC_CMD_RSP2_CMDRSP2_MASK (0xFFFFFFFFU) 22645 #define USDHC_CMD_RSP2_CMDRSP2_SHIFT (0U) 22646 #define USDHC_CMD_RSP2_CMDRSP2(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP2_CMDRSP2_SHIFT)) & USDHC_CMD_RSP2_CMDRSP2_MASK) 22647 /*! @} */ 22648 22649 /*! @name CMD_RSP3 - Command Response3 */ 22650 /*! @{ */ 22651 #define USDHC_CMD_RSP3_CMDRSP3_MASK (0xFFFFFFFFU) 22652 #define USDHC_CMD_RSP3_CMDRSP3_SHIFT (0U) 22653 #define USDHC_CMD_RSP3_CMDRSP3(x) (((uint32_t)(((uint32_t)(x)) << USDHC_CMD_RSP3_CMDRSP3_SHIFT)) & USDHC_CMD_RSP3_CMDRSP3_MASK) 22654 /*! @} */ 22655 22656 /*! @name DATA_BUFF_ACC_PORT - Data Buffer Access Port */ 22657 /*! @{ */ 22658 #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_MASK (0xFFFFFFFFU) 22659 #define USDHC_DATA_BUFF_ACC_PORT_DATCONT_SHIFT (0U) 22660 #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) 22661 /*! @} */ 22662 22663 /*! @name PRES_STATE - Present State */ 22664 /*! @{ */ 22665 #define USDHC_PRES_STATE_CIHB_MASK (0x1U) 22666 #define USDHC_PRES_STATE_CIHB_SHIFT (0U) 22667 /*! CIHB - Command Inhibit (CMD) 22668 * 0b1..Cannot issue command 22669 * 0b0..Can issue command using only CMD line 22670 */ 22671 #define USDHC_PRES_STATE_CIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CIHB_SHIFT)) & USDHC_PRES_STATE_CIHB_MASK) 22672 #define USDHC_PRES_STATE_CDIHB_MASK (0x2U) 22673 #define USDHC_PRES_STATE_CDIHB_SHIFT (1U) 22674 /*! CDIHB - Command Inhibit (DATA) 22675 * 0b1..Cannot issue command which uses the DATA line 22676 * 0b0..Can issue command which uses the DATA line 22677 */ 22678 #define USDHC_PRES_STATE_CDIHB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDIHB_SHIFT)) & USDHC_PRES_STATE_CDIHB_MASK) 22679 #define USDHC_PRES_STATE_DLA_MASK (0x4U) 22680 #define USDHC_PRES_STATE_DLA_SHIFT (2U) 22681 /*! DLA - Data Line Active 22682 * 0b1..DATA Line Active 22683 * 0b0..DATA Line Inactive 22684 */ 22685 #define USDHC_PRES_STATE_DLA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLA_SHIFT)) & USDHC_PRES_STATE_DLA_MASK) 22686 #define USDHC_PRES_STATE_SDSTB_MASK (0x8U) 22687 #define USDHC_PRES_STATE_SDSTB_SHIFT (3U) 22688 /*! SDSTB - SD Clock Stable 22689 * 0b1..Clock is stable. 22690 * 0b0..Clock is changing frequency and not stable. 22691 */ 22692 #define USDHC_PRES_STATE_SDSTB(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDSTB_SHIFT)) & USDHC_PRES_STATE_SDSTB_MASK) 22693 #define USDHC_PRES_STATE_IPGOFF_MASK (0x10U) 22694 #define USDHC_PRES_STATE_IPGOFF_SHIFT (4U) 22695 /*! IPGOFF - IPG_CLK Gated Off Internally 22696 * 0b1..IPG_CLK is gated off. 22697 * 0b0..IPG_CLK is active. 22698 */ 22699 #define USDHC_PRES_STATE_IPGOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_IPGOFF_SHIFT)) & USDHC_PRES_STATE_IPGOFF_MASK) 22700 #define USDHC_PRES_STATE_HCKOFF_MASK (0x20U) 22701 #define USDHC_PRES_STATE_HCKOFF_SHIFT (5U) 22702 /*! HCKOFF - HCLK Gated Off Internally 22703 * 0b1..HCLK is gated off. 22704 * 0b0..HCLK is active. 22705 */ 22706 #define USDHC_PRES_STATE_HCKOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_HCKOFF_SHIFT)) & USDHC_PRES_STATE_HCKOFF_MASK) 22707 #define USDHC_PRES_STATE_PEROFF_MASK (0x40U) 22708 #define USDHC_PRES_STATE_PEROFF_SHIFT (6U) 22709 /*! PEROFF - IPG_PERCLK Gated Off Internally 22710 * 0b1..IPG_PERCLK is gated off. 22711 * 0b0..IPG_PERCLK is active. 22712 */ 22713 #define USDHC_PRES_STATE_PEROFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_PEROFF_SHIFT)) & USDHC_PRES_STATE_PEROFF_MASK) 22714 #define USDHC_PRES_STATE_SDOFF_MASK (0x80U) 22715 #define USDHC_PRES_STATE_SDOFF_SHIFT (7U) 22716 /*! SDOFF - SD Clock Gated Off Internally 22717 * 0b1..SD Clock is gated off. 22718 * 0b0..SD Clock is active. 22719 */ 22720 #define USDHC_PRES_STATE_SDOFF(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_SDOFF_SHIFT)) & USDHC_PRES_STATE_SDOFF_MASK) 22721 #define USDHC_PRES_STATE_WTA_MASK (0x100U) 22722 #define USDHC_PRES_STATE_WTA_SHIFT (8U) 22723 /*! WTA - Write Transfer Active 22724 * 0b1..Transferring data 22725 * 0b0..No valid data 22726 */ 22727 #define USDHC_PRES_STATE_WTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WTA_SHIFT)) & USDHC_PRES_STATE_WTA_MASK) 22728 #define USDHC_PRES_STATE_RTA_MASK (0x200U) 22729 #define USDHC_PRES_STATE_RTA_SHIFT (9U) 22730 /*! RTA - Read Transfer Active 22731 * 0b1..Transferring data 22732 * 0b0..No valid data 22733 */ 22734 #define USDHC_PRES_STATE_RTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_RTA_SHIFT)) & USDHC_PRES_STATE_RTA_MASK) 22735 #define USDHC_PRES_STATE_BWEN_MASK (0x400U) 22736 #define USDHC_PRES_STATE_BWEN_SHIFT (10U) 22737 /*! BWEN - Buffer Write Enable 22738 * 0b1..Write enable 22739 * 0b0..Write disable 22740 */ 22741 #define USDHC_PRES_STATE_BWEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BWEN_SHIFT)) & USDHC_PRES_STATE_BWEN_MASK) 22742 #define USDHC_PRES_STATE_BREN_MASK (0x800U) 22743 #define USDHC_PRES_STATE_BREN_SHIFT (11U) 22744 /*! BREN - Buffer Read Enable 22745 * 0b1..Read enable 22746 * 0b0..Read disable 22747 */ 22748 #define USDHC_PRES_STATE_BREN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_BREN_SHIFT)) & USDHC_PRES_STATE_BREN_MASK) 22749 #define USDHC_PRES_STATE_CINST_MASK (0x10000U) 22750 #define USDHC_PRES_STATE_CINST_SHIFT (16U) 22751 /*! CINST - Card Inserted 22752 * 0b1..Card Inserted 22753 * 0b0..Power on Reset or No Card 22754 */ 22755 #define USDHC_PRES_STATE_CINST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CINST_SHIFT)) & USDHC_PRES_STATE_CINST_MASK) 22756 #define USDHC_PRES_STATE_CDPL_MASK (0x40000U) 22757 #define USDHC_PRES_STATE_CDPL_SHIFT (18U) 22758 /*! CDPL - Card Detect Pin Level 22759 * 0b1..Card present (CD_B = 0) 22760 * 0b0..No card present (CD_B = 1) 22761 */ 22762 #define USDHC_PRES_STATE_CDPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CDPL_SHIFT)) & USDHC_PRES_STATE_CDPL_MASK) 22763 #define USDHC_PRES_STATE_WPSPL_MASK (0x80000U) 22764 #define USDHC_PRES_STATE_WPSPL_SHIFT (19U) 22765 /*! WPSPL - Write Protect Switch Pin Level 22766 * 0b1..Write enabled (WP = 0) 22767 * 0b0..Write protected (WP = 1) 22768 */ 22769 #define USDHC_PRES_STATE_WPSPL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_WPSPL_SHIFT)) & USDHC_PRES_STATE_WPSPL_MASK) 22770 #define USDHC_PRES_STATE_CLSL_MASK (0x800000U) 22771 #define USDHC_PRES_STATE_CLSL_SHIFT (23U) 22772 #define USDHC_PRES_STATE_CLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_CLSL_SHIFT)) & USDHC_PRES_STATE_CLSL_MASK) 22773 #define USDHC_PRES_STATE_DLSL_MASK (0xFF000000U) 22774 #define USDHC_PRES_STATE_DLSL_SHIFT (24U) 22775 /*! DLSL - DATA[7:0] Line Signal Level 22776 * 0b00000111..Data 7 line signal level 22777 * 0b00000110..Data 6 line signal level 22778 * 0b00000101..Data 5 line signal level 22779 * 0b00000100..Data 4 line signal level 22780 * 0b00000011..Data 3 line signal level 22781 * 0b00000010..Data 2 line signal level 22782 * 0b00000001..Data 1 line signal level 22783 * 0b00000000..Data 0 line signal level 22784 */ 22785 #define USDHC_PRES_STATE_DLSL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PRES_STATE_DLSL_SHIFT)) & USDHC_PRES_STATE_DLSL_MASK) 22786 /*! @} */ 22787 22788 /*! @name PROT_CTRL - Protocol Control */ 22789 /*! @{ */ 22790 #define USDHC_PROT_CTRL_LCTL_MASK (0x1U) 22791 #define USDHC_PROT_CTRL_LCTL_SHIFT (0U) 22792 /*! LCTL - LED Control 22793 * 0b1..LED on 22794 * 0b0..LED off 22795 */ 22796 #define USDHC_PROT_CTRL_LCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_LCTL_SHIFT)) & USDHC_PROT_CTRL_LCTL_MASK) 22797 #define USDHC_PROT_CTRL_DTW_MASK (0x6U) 22798 #define USDHC_PROT_CTRL_DTW_SHIFT (1U) 22799 /*! DTW - Data Transfer Width 22800 * 0b10..8-bit mode 22801 * 0b01..4-bit mode 22802 * 0b00..1-bit mode 22803 * 0b11..Reserved 22804 */ 22805 #define USDHC_PROT_CTRL_DTW(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DTW_SHIFT)) & USDHC_PROT_CTRL_DTW_MASK) 22806 #define USDHC_PROT_CTRL_D3CD_MASK (0x8U) 22807 #define USDHC_PROT_CTRL_D3CD_SHIFT (3U) 22808 /*! D3CD - DATA3 as Card Detection Pin 22809 * 0b1..DATA3 as Card Detection Pin 22810 * 0b0..DATA3 does not monitor Card Insertion 22811 */ 22812 #define USDHC_PROT_CTRL_D3CD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_D3CD_SHIFT)) & USDHC_PROT_CTRL_D3CD_MASK) 22813 #define USDHC_PROT_CTRL_EMODE_MASK (0x30U) 22814 #define USDHC_PROT_CTRL_EMODE_SHIFT (4U) 22815 /*! EMODE - Endian Mode 22816 * 0b00..Big Endian Mode 22817 * 0b01..Half Word Big Endian Mode 22818 * 0b10..Little Endian Mode 22819 * 0b11..Reserved 22820 */ 22821 #define USDHC_PROT_CTRL_EMODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_EMODE_SHIFT)) & USDHC_PROT_CTRL_EMODE_MASK) 22822 #define USDHC_PROT_CTRL_CDTL_MASK (0x40U) 22823 #define USDHC_PROT_CTRL_CDTL_SHIFT (6U) 22824 /*! CDTL - Card Detect Test Level 22825 * 0b1..Card Detect Test Level is 1, card inserted 22826 * 0b0..Card Detect Test Level is 0, no card inserted 22827 */ 22828 #define USDHC_PROT_CTRL_CDTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDTL_SHIFT)) & USDHC_PROT_CTRL_CDTL_MASK) 22829 #define USDHC_PROT_CTRL_CDSS_MASK (0x80U) 22830 #define USDHC_PROT_CTRL_CDSS_SHIFT (7U) 22831 /*! CDSS - Card Detect Signal Selection 22832 * 0b1..Card Detection Test Level is selected (for test purpose). 22833 * 0b0..Card Detection Level is selected (for normal purpose). 22834 */ 22835 #define USDHC_PROT_CTRL_CDSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CDSS_SHIFT)) & USDHC_PROT_CTRL_CDSS_MASK) 22836 #define USDHC_PROT_CTRL_DMASEL_MASK (0x300U) 22837 #define USDHC_PROT_CTRL_DMASEL_SHIFT (8U) 22838 /*! DMASEL - DMA Select 22839 * 0b00..No DMA or Simple DMA is selected 22840 * 0b01..ADMA1 is selected 22841 * 0b10..ADMA2 is selected 22842 * 0b11..reserved 22843 */ 22844 #define USDHC_PROT_CTRL_DMASEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_DMASEL_SHIFT)) & USDHC_PROT_CTRL_DMASEL_MASK) 22845 #define USDHC_PROT_CTRL_SABGREQ_MASK (0x10000U) 22846 #define USDHC_PROT_CTRL_SABGREQ_SHIFT (16U) 22847 /*! SABGREQ - Stop At Block Gap Request 22848 * 0b1..Stop 22849 * 0b0..Transfer 22850 */ 22851 #define USDHC_PROT_CTRL_SABGREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_SABGREQ_SHIFT)) & USDHC_PROT_CTRL_SABGREQ_MASK) 22852 #define USDHC_PROT_CTRL_CREQ_MASK (0x20000U) 22853 #define USDHC_PROT_CTRL_CREQ_SHIFT (17U) 22854 /*! CREQ - Continue Request 22855 * 0b1..Restart 22856 * 0b0..No effect 22857 */ 22858 #define USDHC_PROT_CTRL_CREQ(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_CREQ_SHIFT)) & USDHC_PROT_CTRL_CREQ_MASK) 22859 #define USDHC_PROT_CTRL_RWCTL_MASK (0x40000U) 22860 #define USDHC_PROT_CTRL_RWCTL_SHIFT (18U) 22861 /*! RWCTL - Read Wait Control 22862 * 0b1..Enable Read Wait Control, and assert Read Wait without stopping SD Clock at block gap when SABGREQ bit is set 22863 * 0b0..Disable Read Wait Control, and stop SD Clock at block gap when SABGREQ bit is set 22864 */ 22865 #define USDHC_PROT_CTRL_RWCTL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_RWCTL_SHIFT)) & USDHC_PROT_CTRL_RWCTL_MASK) 22866 #define USDHC_PROT_CTRL_IABG_MASK (0x80000U) 22867 #define USDHC_PROT_CTRL_IABG_SHIFT (19U) 22868 /*! IABG - Interrupt At Block Gap 22869 * 0b1..Enabled 22870 * 0b0..Disabled 22871 */ 22872 #define USDHC_PROT_CTRL_IABG(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_IABG_SHIFT)) & USDHC_PROT_CTRL_IABG_MASK) 22873 #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_MASK (0x100000U) 22874 #define USDHC_PROT_CTRL_RD_DONE_NO_8CLK_SHIFT (20U) 22875 #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) 22876 #define USDHC_PROT_CTRL_WECINT_MASK (0x1000000U) 22877 #define USDHC_PROT_CTRL_WECINT_SHIFT (24U) 22878 /*! WECINT - Wakeup Event Enable On Card Interrupt 22879 * 0b1..Enable 22880 * 0b0..Disable 22881 */ 22882 #define USDHC_PROT_CTRL_WECINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINT_SHIFT)) & USDHC_PROT_CTRL_WECINT_MASK) 22883 #define USDHC_PROT_CTRL_WECINS_MASK (0x2000000U) 22884 #define USDHC_PROT_CTRL_WECINS_SHIFT (25U) 22885 /*! WECINS - Wakeup Event Enable On SD Card Insertion 22886 * 0b1..Enable 22887 * 0b0..Disable 22888 */ 22889 #define USDHC_PROT_CTRL_WECINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECINS_SHIFT)) & USDHC_PROT_CTRL_WECINS_MASK) 22890 #define USDHC_PROT_CTRL_WECRM_MASK (0x4000000U) 22891 #define USDHC_PROT_CTRL_WECRM_SHIFT (26U) 22892 /*! WECRM - Wakeup Event Enable On SD Card Removal 22893 * 0b1..Enable 22894 * 0b0..Disable 22895 */ 22896 #define USDHC_PROT_CTRL_WECRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_PROT_CTRL_WECRM_SHIFT)) & USDHC_PROT_CTRL_WECRM_MASK) 22897 #define USDHC_PROT_CTRL_BURST_LEN_EN_MASK (0x38000000U) 22898 #define USDHC_PROT_CTRL_BURST_LEN_EN_SHIFT (27U) 22899 /*! BURST_LEN_EN - BURST length enable for INCR, INCR4 / INCR8 / INCR16, INCR4-WRAP / INCR8-WRAP / INCR16-WRAP 22900 * 0bxx1..Burst length is enabled for INCR 22901 * 0bx1x..Burst length is enabled for INCR4 / INCR8 / INCR16 22902 * 0b1xx..Burst length is enabled for INCR4-WRAP / INCR8-WRAP / INCR16-WRAP 22903 */ 22904 #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) 22905 #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_MASK (0x40000000U) 22906 #define USDHC_PROT_CTRL_NON_EXACT_BLK_RD_SHIFT (30U) 22907 /*! NON_EXACT_BLK_RD - NON_EXACT_BLK_RD 22908 * 0b1..The block read is non-exact block read. Host driver needs to issue abort command to terminate this multi-block read. 22909 * 0b0..The block read is exact block read. Host driver doesn't need to issue abort command to terminate this multi-block read. 22910 */ 22911 #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) 22912 /*! @} */ 22913 22914 /*! @name SYS_CTRL - System Control */ 22915 /*! @{ */ 22916 #define USDHC_SYS_CTRL_DVS_MASK (0xF0U) 22917 #define USDHC_SYS_CTRL_DVS_SHIFT (4U) 22918 /*! DVS - Divisor 22919 * 0b0000..Divide-by-1 22920 * 0b0001..Divide-by-2 22921 * 0b1110..Divide-by-15 22922 * 0b1111..Divide-by-16 22923 */ 22924 #define USDHC_SYS_CTRL_DVS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DVS_SHIFT)) & USDHC_SYS_CTRL_DVS_MASK) 22925 #define USDHC_SYS_CTRL_SDCLKFS_MASK (0xFF00U) 22926 #define USDHC_SYS_CTRL_SDCLKFS_SHIFT (8U) 22927 #define USDHC_SYS_CTRL_SDCLKFS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_SDCLKFS_SHIFT)) & USDHC_SYS_CTRL_SDCLKFS_MASK) 22928 #define USDHC_SYS_CTRL_DTOCV_MASK (0xF0000U) 22929 #define USDHC_SYS_CTRL_DTOCV_SHIFT (16U) 22930 /*! DTOCV - Data Timeout Counter Value 22931 * 0b1111..SDCLK x 2 29 22932 * 0b1110..SDCLK x 2 28 22933 * 0b1101..SDCLK x 2 27 22934 * 0b0001..SDCLK x 2 15 22935 * 0b0000..SDCLK x 2 14 22936 */ 22937 #define USDHC_SYS_CTRL_DTOCV(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_DTOCV_SHIFT)) & USDHC_SYS_CTRL_DTOCV_MASK) 22938 #define USDHC_SYS_CTRL_IPP_RST_N_MASK (0x800000U) 22939 #define USDHC_SYS_CTRL_IPP_RST_N_SHIFT (23U) 22940 #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) 22941 #define USDHC_SYS_CTRL_RSTA_MASK (0x1000000U) 22942 #define USDHC_SYS_CTRL_RSTA_SHIFT (24U) 22943 /*! RSTA - Software Reset For ALL 22944 * 0b1..Reset 22945 * 0b0..No Reset 22946 */ 22947 #define USDHC_SYS_CTRL_RSTA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTA_SHIFT)) & USDHC_SYS_CTRL_RSTA_MASK) 22948 #define USDHC_SYS_CTRL_RSTC_MASK (0x2000000U) 22949 #define USDHC_SYS_CTRL_RSTC_SHIFT (25U) 22950 /*! RSTC - Software Reset For CMD Line 22951 * 0b1..Reset 22952 * 0b0..No Reset 22953 */ 22954 #define USDHC_SYS_CTRL_RSTC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTC_SHIFT)) & USDHC_SYS_CTRL_RSTC_MASK) 22955 #define USDHC_SYS_CTRL_RSTD_MASK (0x4000000U) 22956 #define USDHC_SYS_CTRL_RSTD_SHIFT (26U) 22957 /*! RSTD - Software Reset For DATA Line 22958 * 0b1..Reset 22959 * 0b0..No Reset 22960 */ 22961 #define USDHC_SYS_CTRL_RSTD(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_RSTD_SHIFT)) & USDHC_SYS_CTRL_RSTD_MASK) 22962 #define USDHC_SYS_CTRL_INITA_MASK (0x8000000U) 22963 #define USDHC_SYS_CTRL_INITA_SHIFT (27U) 22964 #define USDHC_SYS_CTRL_INITA(x) (((uint32_t)(((uint32_t)(x)) << USDHC_SYS_CTRL_INITA_SHIFT)) & USDHC_SYS_CTRL_INITA_MASK) 22965 /*! @} */ 22966 22967 /*! @name INT_STATUS - Interrupt Status */ 22968 /*! @{ */ 22969 #define USDHC_INT_STATUS_CC_MASK (0x1U) 22970 #define USDHC_INT_STATUS_CC_SHIFT (0U) 22971 /*! CC - Command Complete 22972 * 0b1..Command complete 22973 * 0b0..Command not complete 22974 */ 22975 #define USDHC_INT_STATUS_CC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CC_SHIFT)) & USDHC_INT_STATUS_CC_MASK) 22976 #define USDHC_INT_STATUS_TC_MASK (0x2U) 22977 #define USDHC_INT_STATUS_TC_SHIFT (1U) 22978 /*! TC - Transfer Complete 22979 * 0b1..Transfer complete 22980 * 0b0..Transfer not complete 22981 */ 22982 #define USDHC_INT_STATUS_TC(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_TC_SHIFT)) & USDHC_INT_STATUS_TC_MASK) 22983 #define USDHC_INT_STATUS_BGE_MASK (0x4U) 22984 #define USDHC_INT_STATUS_BGE_SHIFT (2U) 22985 /*! BGE - Block Gap Event 22986 * 0b1..Transaction stopped at block gap 22987 * 0b0..No block gap event 22988 */ 22989 #define USDHC_INT_STATUS_BGE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BGE_SHIFT)) & USDHC_INT_STATUS_BGE_MASK) 22990 #define USDHC_INT_STATUS_DINT_MASK (0x8U) 22991 #define USDHC_INT_STATUS_DINT_SHIFT (3U) 22992 /*! DINT - DMA Interrupt 22993 * 0b1..DMA Interrupt is generated 22994 * 0b0..No DMA Interrupt 22995 */ 22996 #define USDHC_INT_STATUS_DINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DINT_SHIFT)) & USDHC_INT_STATUS_DINT_MASK) 22997 #define USDHC_INT_STATUS_BWR_MASK (0x10U) 22998 #define USDHC_INT_STATUS_BWR_SHIFT (4U) 22999 /*! BWR - Buffer Write Ready 23000 * 0b1..Ready to write buffer: 23001 * 0b0..Not ready to write buffer 23002 */ 23003 #define USDHC_INT_STATUS_BWR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BWR_SHIFT)) & USDHC_INT_STATUS_BWR_MASK) 23004 #define USDHC_INT_STATUS_BRR_MASK (0x20U) 23005 #define USDHC_INT_STATUS_BRR_SHIFT (5U) 23006 /*! BRR - Buffer Read Ready 23007 * 0b1..Ready to read buffer 23008 * 0b0..Not ready to read buffer 23009 */ 23010 #define USDHC_INT_STATUS_BRR(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_BRR_SHIFT)) & USDHC_INT_STATUS_BRR_MASK) 23011 #define USDHC_INT_STATUS_CINS_MASK (0x40U) 23012 #define USDHC_INT_STATUS_CINS_SHIFT (6U) 23013 /*! CINS - Card Insertion 23014 * 0b1..Card inserted 23015 * 0b0..Card state unstable or removed 23016 */ 23017 #define USDHC_INT_STATUS_CINS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINS_SHIFT)) & USDHC_INT_STATUS_CINS_MASK) 23018 #define USDHC_INT_STATUS_CRM_MASK (0x80U) 23019 #define USDHC_INT_STATUS_CRM_SHIFT (7U) 23020 /*! CRM - Card Removal 23021 * 0b1..Card removed 23022 * 0b0..Card state unstable or inserted 23023 */ 23024 #define USDHC_INT_STATUS_CRM(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CRM_SHIFT)) & USDHC_INT_STATUS_CRM_MASK) 23025 #define USDHC_INT_STATUS_CINT_MASK (0x100U) 23026 #define USDHC_INT_STATUS_CINT_SHIFT (8U) 23027 /*! CINT - Card Interrupt 23028 * 0b1..Generate Card Interrupt 23029 * 0b0..No Card Interrupt 23030 */ 23031 #define USDHC_INT_STATUS_CINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CINT_SHIFT)) & USDHC_INT_STATUS_CINT_MASK) 23032 #define USDHC_INT_STATUS_CTOE_MASK (0x10000U) 23033 #define USDHC_INT_STATUS_CTOE_SHIFT (16U) 23034 /*! CTOE - Command Timeout Error 23035 * 0b1..Time out 23036 * 0b0..No Error 23037 */ 23038 #define USDHC_INT_STATUS_CTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CTOE_SHIFT)) & USDHC_INT_STATUS_CTOE_MASK) 23039 #define USDHC_INT_STATUS_CCE_MASK (0x20000U) 23040 #define USDHC_INT_STATUS_CCE_SHIFT (17U) 23041 /*! CCE - Command CRC Error 23042 * 0b1..CRC Error Generated. 23043 * 0b0..No Error 23044 */ 23045 #define USDHC_INT_STATUS_CCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CCE_SHIFT)) & USDHC_INT_STATUS_CCE_MASK) 23046 #define USDHC_INT_STATUS_CEBE_MASK (0x40000U) 23047 #define USDHC_INT_STATUS_CEBE_SHIFT (18U) 23048 /*! CEBE - Command End Bit Error 23049 * 0b1..End Bit Error Generated 23050 * 0b0..No Error 23051 */ 23052 #define USDHC_INT_STATUS_CEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CEBE_SHIFT)) & USDHC_INT_STATUS_CEBE_MASK) 23053 #define USDHC_INT_STATUS_CIE_MASK (0x80000U) 23054 #define USDHC_INT_STATUS_CIE_SHIFT (19U) 23055 /*! CIE - Command Index Error 23056 * 0b1..Error 23057 * 0b0..No Error 23058 */ 23059 #define USDHC_INT_STATUS_CIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_CIE_SHIFT)) & USDHC_INT_STATUS_CIE_MASK) 23060 #define USDHC_INT_STATUS_DTOE_MASK (0x100000U) 23061 #define USDHC_INT_STATUS_DTOE_SHIFT (20U) 23062 /*! DTOE - Data Timeout Error 23063 * 0b1..Time out 23064 * 0b0..No Error 23065 */ 23066 #define USDHC_INT_STATUS_DTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DTOE_SHIFT)) & USDHC_INT_STATUS_DTOE_MASK) 23067 #define USDHC_INT_STATUS_DCE_MASK (0x200000U) 23068 #define USDHC_INT_STATUS_DCE_SHIFT (21U) 23069 /*! DCE - Data CRC Error 23070 * 0b1..Error 23071 * 0b0..No Error 23072 */ 23073 #define USDHC_INT_STATUS_DCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DCE_SHIFT)) & USDHC_INT_STATUS_DCE_MASK) 23074 #define USDHC_INT_STATUS_DEBE_MASK (0x400000U) 23075 #define USDHC_INT_STATUS_DEBE_SHIFT (22U) 23076 /*! DEBE - Data End Bit Error 23077 * 0b1..Error 23078 * 0b0..No Error 23079 */ 23080 #define USDHC_INT_STATUS_DEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DEBE_SHIFT)) & USDHC_INT_STATUS_DEBE_MASK) 23081 #define USDHC_INT_STATUS_AC12E_MASK (0x1000000U) 23082 #define USDHC_INT_STATUS_AC12E_SHIFT (24U) 23083 /*! AC12E - Auto CMD12 Error 23084 * 0b1..Error 23085 * 0b0..No Error 23086 */ 23087 #define USDHC_INT_STATUS_AC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_AC12E_SHIFT)) & USDHC_INT_STATUS_AC12E_MASK) 23088 #define USDHC_INT_STATUS_DMAE_MASK (0x10000000U) 23089 #define USDHC_INT_STATUS_DMAE_SHIFT (28U) 23090 /*! DMAE - DMA Error 23091 * 0b1..Error 23092 * 0b0..No Error 23093 */ 23094 #define USDHC_INT_STATUS_DMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_DMAE_SHIFT)) & USDHC_INT_STATUS_DMAE_MASK) 23095 /*! @} */ 23096 23097 /*! @name INT_STATUS_EN - Interrupt Status Enable */ 23098 /*! @{ */ 23099 #define USDHC_INT_STATUS_EN_CCSEN_MASK (0x1U) 23100 #define USDHC_INT_STATUS_EN_CCSEN_SHIFT (0U) 23101 /*! CCSEN - Command Complete Status Enable 23102 * 0b1..Enabled 23103 * 0b0..Masked 23104 */ 23105 #define USDHC_INT_STATUS_EN_CCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCSEN_SHIFT)) & USDHC_INT_STATUS_EN_CCSEN_MASK) 23106 #define USDHC_INT_STATUS_EN_TCSEN_MASK (0x2U) 23107 #define USDHC_INT_STATUS_EN_TCSEN_SHIFT (1U) 23108 /*! TCSEN - Transfer Complete Status Enable 23109 * 0b1..Enabled 23110 * 0b0..Masked 23111 */ 23112 #define USDHC_INT_STATUS_EN_TCSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_TCSEN_SHIFT)) & USDHC_INT_STATUS_EN_TCSEN_MASK) 23113 #define USDHC_INT_STATUS_EN_BGESEN_MASK (0x4U) 23114 #define USDHC_INT_STATUS_EN_BGESEN_SHIFT (2U) 23115 /*! BGESEN - Block Gap Event Status Enable 23116 * 0b1..Enabled 23117 * 0b0..Masked 23118 */ 23119 #define USDHC_INT_STATUS_EN_BGESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BGESEN_SHIFT)) & USDHC_INT_STATUS_EN_BGESEN_MASK) 23120 #define USDHC_INT_STATUS_EN_DINTSEN_MASK (0x8U) 23121 #define USDHC_INT_STATUS_EN_DINTSEN_SHIFT (3U) 23122 /*! DINTSEN - DMA Interrupt Status Enable 23123 * 0b1..Enabled 23124 * 0b0..Masked 23125 */ 23126 #define USDHC_INT_STATUS_EN_DINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_DINTSEN_MASK) 23127 #define USDHC_INT_STATUS_EN_BWRSEN_MASK (0x10U) 23128 #define USDHC_INT_STATUS_EN_BWRSEN_SHIFT (4U) 23129 /*! BWRSEN - Buffer Write Ready Status Enable 23130 * 0b1..Enabled 23131 * 0b0..Masked 23132 */ 23133 #define USDHC_INT_STATUS_EN_BWRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BWRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BWRSEN_MASK) 23134 #define USDHC_INT_STATUS_EN_BRRSEN_MASK (0x20U) 23135 #define USDHC_INT_STATUS_EN_BRRSEN_SHIFT (5U) 23136 /*! BRRSEN - Buffer Read Ready Status Enable 23137 * 0b1..Enabled 23138 * 0b0..Masked 23139 */ 23140 #define USDHC_INT_STATUS_EN_BRRSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_BRRSEN_SHIFT)) & USDHC_INT_STATUS_EN_BRRSEN_MASK) 23141 #define USDHC_INT_STATUS_EN_CINSSEN_MASK (0x40U) 23142 #define USDHC_INT_STATUS_EN_CINSSEN_SHIFT (6U) 23143 /*! CINSSEN - Card Insertion Status Enable 23144 * 0b1..Enabled 23145 * 0b0..Masked 23146 */ 23147 #define USDHC_INT_STATUS_EN_CINSSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINSSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINSSEN_MASK) 23148 #define USDHC_INT_STATUS_EN_CRMSEN_MASK (0x80U) 23149 #define USDHC_INT_STATUS_EN_CRMSEN_SHIFT (7U) 23150 /*! CRMSEN - Card Removal Status Enable 23151 * 0b1..Enabled 23152 * 0b0..Masked 23153 */ 23154 #define USDHC_INT_STATUS_EN_CRMSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CRMSEN_SHIFT)) & USDHC_INT_STATUS_EN_CRMSEN_MASK) 23155 #define USDHC_INT_STATUS_EN_CINTSEN_MASK (0x100U) 23156 #define USDHC_INT_STATUS_EN_CINTSEN_SHIFT (8U) 23157 /*! CINTSEN - Card Interrupt Status Enable 23158 * 0b1..Enabled 23159 * 0b0..Masked 23160 */ 23161 #define USDHC_INT_STATUS_EN_CINTSEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CINTSEN_SHIFT)) & USDHC_INT_STATUS_EN_CINTSEN_MASK) 23162 #define USDHC_INT_STATUS_EN_CTOESEN_MASK (0x10000U) 23163 #define USDHC_INT_STATUS_EN_CTOESEN_SHIFT (16U) 23164 /*! CTOESEN - Command Timeout Error Status Enable 23165 * 0b1..Enabled 23166 * 0b0..Masked 23167 */ 23168 #define USDHC_INT_STATUS_EN_CTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_CTOESEN_MASK) 23169 #define USDHC_INT_STATUS_EN_CCESEN_MASK (0x20000U) 23170 #define USDHC_INT_STATUS_EN_CCESEN_SHIFT (17U) 23171 /*! CCESEN - Command CRC Error Status Enable 23172 * 0b1..Enabled 23173 * 0b0..Masked 23174 */ 23175 #define USDHC_INT_STATUS_EN_CCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CCESEN_SHIFT)) & USDHC_INT_STATUS_EN_CCESEN_MASK) 23176 #define USDHC_INT_STATUS_EN_CEBESEN_MASK (0x40000U) 23177 #define USDHC_INT_STATUS_EN_CEBESEN_SHIFT (18U) 23178 /*! CEBESEN - Command End Bit Error Status Enable 23179 * 0b1..Enabled 23180 * 0b0..Masked 23181 */ 23182 #define USDHC_INT_STATUS_EN_CEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_CEBESEN_MASK) 23183 #define USDHC_INT_STATUS_EN_CIESEN_MASK (0x80000U) 23184 #define USDHC_INT_STATUS_EN_CIESEN_SHIFT (19U) 23185 /*! CIESEN - Command Index Error Status Enable 23186 * 0b1..Enabled 23187 * 0b0..Masked 23188 */ 23189 #define USDHC_INT_STATUS_EN_CIESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_CIESEN_SHIFT)) & USDHC_INT_STATUS_EN_CIESEN_MASK) 23190 #define USDHC_INT_STATUS_EN_DTOESEN_MASK (0x100000U) 23191 #define USDHC_INT_STATUS_EN_DTOESEN_SHIFT (20U) 23192 /*! DTOESEN - Data Timeout Error Status Enable 23193 * 0b1..Enabled 23194 * 0b0..Masked 23195 */ 23196 #define USDHC_INT_STATUS_EN_DTOESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DTOESEN_SHIFT)) & USDHC_INT_STATUS_EN_DTOESEN_MASK) 23197 #define USDHC_INT_STATUS_EN_DCESEN_MASK (0x200000U) 23198 #define USDHC_INT_STATUS_EN_DCESEN_SHIFT (21U) 23199 /*! DCESEN - Data CRC Error Status Enable 23200 * 0b1..Enabled 23201 * 0b0..Masked 23202 */ 23203 #define USDHC_INT_STATUS_EN_DCESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DCESEN_SHIFT)) & USDHC_INT_STATUS_EN_DCESEN_MASK) 23204 #define USDHC_INT_STATUS_EN_DEBESEN_MASK (0x400000U) 23205 #define USDHC_INT_STATUS_EN_DEBESEN_SHIFT (22U) 23206 /*! DEBESEN - Data End Bit Error Status Enable 23207 * 0b1..Enabled 23208 * 0b0..Masked 23209 */ 23210 #define USDHC_INT_STATUS_EN_DEBESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DEBESEN_SHIFT)) & USDHC_INT_STATUS_EN_DEBESEN_MASK) 23211 #define USDHC_INT_STATUS_EN_AC12ESEN_MASK (0x1000000U) 23212 #define USDHC_INT_STATUS_EN_AC12ESEN_SHIFT (24U) 23213 /*! AC12ESEN - Auto CMD12 Error Status Enable 23214 * 0b1..Enabled 23215 * 0b0..Masked 23216 */ 23217 #define USDHC_INT_STATUS_EN_AC12ESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_AC12ESEN_SHIFT)) & USDHC_INT_STATUS_EN_AC12ESEN_MASK) 23218 #define USDHC_INT_STATUS_EN_DMAESEN_MASK (0x10000000U) 23219 #define USDHC_INT_STATUS_EN_DMAESEN_SHIFT (28U) 23220 /*! DMAESEN - DMA Error Status Enable 23221 * 0b1..Enabled 23222 * 0b0..Masked 23223 */ 23224 #define USDHC_INT_STATUS_EN_DMAESEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_STATUS_EN_DMAESEN_SHIFT)) & USDHC_INT_STATUS_EN_DMAESEN_MASK) 23225 /*! @} */ 23226 23227 /*! @name INT_SIGNAL_EN - Interrupt Signal Enable */ 23228 /*! @{ */ 23229 #define USDHC_INT_SIGNAL_EN_CCIEN_MASK (0x1U) 23230 #define USDHC_INT_SIGNAL_EN_CCIEN_SHIFT (0U) 23231 /*! CCIEN - Command Complete Interrupt Enable 23232 * 0b1..Enabled 23233 * 0b0..Masked 23234 */ 23235 #define USDHC_INT_SIGNAL_EN_CCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCIEN_MASK) 23236 #define USDHC_INT_SIGNAL_EN_TCIEN_MASK (0x2U) 23237 #define USDHC_INT_SIGNAL_EN_TCIEN_SHIFT (1U) 23238 /*! TCIEN - Transfer Complete Interrupt Enable 23239 * 0b1..Enabled 23240 * 0b0..Masked 23241 */ 23242 #define USDHC_INT_SIGNAL_EN_TCIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_TCIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_TCIEN_MASK) 23243 #define USDHC_INT_SIGNAL_EN_BGEIEN_MASK (0x4U) 23244 #define USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT (2U) 23245 /*! BGEIEN - Block Gap Event Interrupt Enable 23246 * 0b1..Enabled 23247 * 0b0..Masked 23248 */ 23249 #define USDHC_INT_SIGNAL_EN_BGEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BGEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BGEIEN_MASK) 23250 #define USDHC_INT_SIGNAL_EN_DINTIEN_MASK (0x8U) 23251 #define USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT (3U) 23252 /*! DINTIEN - DMA Interrupt Enable 23253 * 0b1..Enabled 23254 * 0b0..Masked 23255 */ 23256 #define USDHC_INT_SIGNAL_EN_DINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DINTIEN_MASK) 23257 #define USDHC_INT_SIGNAL_EN_BWRIEN_MASK (0x10U) 23258 #define USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT (4U) 23259 /*! BWRIEN - Buffer Write Ready Interrupt Enable 23260 * 0b1..Enabled 23261 * 0b0..Masked 23262 */ 23263 #define USDHC_INT_SIGNAL_EN_BWRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BWRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BWRIEN_MASK) 23264 #define USDHC_INT_SIGNAL_EN_BRRIEN_MASK (0x20U) 23265 #define USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT (5U) 23266 /*! BRRIEN - Buffer Read Ready Interrupt Enable 23267 * 0b1..Enabled 23268 * 0b0..Masked 23269 */ 23270 #define USDHC_INT_SIGNAL_EN_BRRIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_BRRIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_BRRIEN_MASK) 23271 #define USDHC_INT_SIGNAL_EN_CINSIEN_MASK (0x40U) 23272 #define USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT (6U) 23273 /*! CINSIEN - Card Insertion Interrupt Enable 23274 * 0b1..Enabled 23275 * 0b0..Masked 23276 */ 23277 #define USDHC_INT_SIGNAL_EN_CINSIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINSIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINSIEN_MASK) 23278 #define USDHC_INT_SIGNAL_EN_CRMIEN_MASK (0x80U) 23279 #define USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT (7U) 23280 /*! CRMIEN - Card Removal Interrupt Enable 23281 * 0b1..Enabled 23282 * 0b0..Masked 23283 */ 23284 #define USDHC_INT_SIGNAL_EN_CRMIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CRMIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CRMIEN_MASK) 23285 #define USDHC_INT_SIGNAL_EN_CINTIEN_MASK (0x100U) 23286 #define USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT (8U) 23287 /*! CINTIEN - Card Interrupt Interrupt Enable 23288 * 0b1..Enabled 23289 * 0b0..Masked 23290 */ 23291 #define USDHC_INT_SIGNAL_EN_CINTIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CINTIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CINTIEN_MASK) 23292 #define USDHC_INT_SIGNAL_EN_CTOEIEN_MASK (0x10000U) 23293 #define USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT (16U) 23294 /*! CTOEIEN - Command Timeout Error Interrupt Enable 23295 * 0b1..Enabled 23296 * 0b0..Masked 23297 */ 23298 #define USDHC_INT_SIGNAL_EN_CTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CTOEIEN_MASK) 23299 #define USDHC_INT_SIGNAL_EN_CCEIEN_MASK (0x20000U) 23300 #define USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT (17U) 23301 /*! CCEIEN - Command CRC Error Interrupt Enable 23302 * 0b1..Enabled 23303 * 0b0..Masked 23304 */ 23305 #define USDHC_INT_SIGNAL_EN_CCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CCEIEN_MASK) 23306 #define USDHC_INT_SIGNAL_EN_CEBEIEN_MASK (0x40000U) 23307 #define USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT (18U) 23308 /*! CEBEIEN - Command End Bit Error Interrupt Enable 23309 * 0b1..Enabled 23310 * 0b0..Masked 23311 */ 23312 #define USDHC_INT_SIGNAL_EN_CEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CEBEIEN_MASK) 23313 #define USDHC_INT_SIGNAL_EN_CIEIEN_MASK (0x80000U) 23314 #define USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT (19U) 23315 /*! CIEIEN - Command Index Error Interrupt Enable 23316 * 0b1..Enabled 23317 * 0b0..Masked 23318 */ 23319 #define USDHC_INT_SIGNAL_EN_CIEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_CIEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_CIEIEN_MASK) 23320 #define USDHC_INT_SIGNAL_EN_DTOEIEN_MASK (0x100000U) 23321 #define USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT (20U) 23322 /*! DTOEIEN - Data Timeout Error Interrupt Enable 23323 * 0b1..Enabled 23324 * 0b0..Masked 23325 */ 23326 #define USDHC_INT_SIGNAL_EN_DTOEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DTOEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DTOEIEN_MASK) 23327 #define USDHC_INT_SIGNAL_EN_DCEIEN_MASK (0x200000U) 23328 #define USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT (21U) 23329 /*! DCEIEN - Data CRC Error Interrupt Enable 23330 * 0b1..Enabled 23331 * 0b0..Masked 23332 */ 23333 #define USDHC_INT_SIGNAL_EN_DCEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DCEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DCEIEN_MASK) 23334 #define USDHC_INT_SIGNAL_EN_DEBEIEN_MASK (0x400000U) 23335 #define USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT (22U) 23336 /*! DEBEIEN - Data End Bit Error Interrupt Enable 23337 * 0b1..Enabled 23338 * 0b0..Masked 23339 */ 23340 #define USDHC_INT_SIGNAL_EN_DEBEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DEBEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DEBEIEN_MASK) 23341 #define USDHC_INT_SIGNAL_EN_AC12EIEN_MASK (0x1000000U) 23342 #define USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT (24U) 23343 /*! AC12EIEN - Auto CMD12 Error Interrupt Enable 23344 * 0b1..Enabled 23345 * 0b0..Masked 23346 */ 23347 #define USDHC_INT_SIGNAL_EN_AC12EIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_AC12EIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_AC12EIEN_MASK) 23348 #define USDHC_INT_SIGNAL_EN_DMAEIEN_MASK (0x10000000U) 23349 #define USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT (28U) 23350 /*! DMAEIEN - DMA Error Interrupt Enable 23351 * 0b1..Enable 23352 * 0b0..Masked 23353 */ 23354 #define USDHC_INT_SIGNAL_EN_DMAEIEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_INT_SIGNAL_EN_DMAEIEN_SHIFT)) & USDHC_INT_SIGNAL_EN_DMAEIEN_MASK) 23355 /*! @} */ 23356 23357 /*! @name AUTOCMD12_ERR_STATUS - Auto CMD12 Error Status */ 23358 /*! @{ */ 23359 #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK (0x1U) 23360 #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT (0U) 23361 /*! AC12NE - Auto CMD12 Not Executed 23362 * 0b1..Not executed 23363 * 0b0..Executed 23364 */ 23365 #define USDHC_AUTOCMD12_ERR_STATUS_AC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12NE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12NE_MASK) 23366 #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK (0x2U) 23367 #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT (1U) 23368 /*! AC12TOE - Auto CMD12 / 23 Timeout Error 23369 * 0b1..Time out 23370 * 0b0..No error 23371 */ 23372 #define USDHC_AUTOCMD12_ERR_STATUS_AC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12TOE_MASK) 23373 #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK (0x4U) 23374 #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT (2U) 23375 /*! AC12EBE - Auto CMD12 / 23 End Bit Error 23376 * 0b1..End Bit Error Generated 23377 * 0b0..No error 23378 */ 23379 #define USDHC_AUTOCMD12_ERR_STATUS_AC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12EBE_MASK) 23380 #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK (0x8U) 23381 #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT (3U) 23382 /*! AC12CE - Auto CMD12 / 23 CRC Error 23383 * 0b1..CRC Error Met in Auto CMD12/23 Response 23384 * 0b0..No CRC error 23385 */ 23386 #define USDHC_AUTOCMD12_ERR_STATUS_AC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12CE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12CE_MASK) 23387 #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK (0x10U) 23388 #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT (4U) 23389 /*! AC12IE - Auto CMD12 / 23 Index Error 23390 * 0b1..Error, the CMD index in response is not CMD12/23 23391 * 0b0..No error 23392 */ 23393 #define USDHC_AUTOCMD12_ERR_STATUS_AC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_AC12IE_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_AC12IE_MASK) 23394 #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK (0x80U) 23395 #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT (7U) 23396 /*! CNIBAC12E - Command Not Issued By Auto CMD12 Error 23397 * 0b1..Not Issued 23398 * 0b0..No error 23399 */ 23400 #define USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_SHIFT)) & USDHC_AUTOCMD12_ERR_STATUS_CNIBAC12E_MASK) 23401 /*! @} */ 23402 23403 /*! @name HOST_CTRL_CAP - Host Controller Capabilities */ 23404 /*! @{ */ 23405 #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_MASK (0x4U) 23406 #define USDHC_HOST_CTRL_CAP_DDR50_SUPPORT_SHIFT (2U) 23407 #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) 23408 #define USDHC_HOST_CTRL_CAP_MBL_MASK (0x70000U) 23409 #define USDHC_HOST_CTRL_CAP_MBL_SHIFT (16U) 23410 /*! MBL - Max Block Length 23411 * 0b000..512 bytes 23412 * 0b001..1024 bytes 23413 * 0b010..2048 bytes 23414 * 0b011..4096 bytes 23415 */ 23416 #define USDHC_HOST_CTRL_CAP_MBL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_MBL_SHIFT)) & USDHC_HOST_CTRL_CAP_MBL_MASK) 23417 #define USDHC_HOST_CTRL_CAP_ADMAS_MASK (0x100000U) 23418 #define USDHC_HOST_CTRL_CAP_ADMAS_SHIFT (20U) 23419 /*! ADMAS - ADMA Support 23420 * 0b1..Advanced DMA Supported 23421 * 0b0..Advanced DMA Not supported 23422 */ 23423 #define USDHC_HOST_CTRL_CAP_ADMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_ADMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_ADMAS_MASK) 23424 #define USDHC_HOST_CTRL_CAP_HSS_MASK (0x200000U) 23425 #define USDHC_HOST_CTRL_CAP_HSS_SHIFT (21U) 23426 /*! HSS - High Speed Support 23427 * 0b1..High Speed Supported 23428 * 0b0..High Speed Not Supported 23429 */ 23430 #define USDHC_HOST_CTRL_CAP_HSS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_HSS_SHIFT)) & USDHC_HOST_CTRL_CAP_HSS_MASK) 23431 #define USDHC_HOST_CTRL_CAP_DMAS_MASK (0x400000U) 23432 #define USDHC_HOST_CTRL_CAP_DMAS_SHIFT (22U) 23433 /*! DMAS - DMA Support 23434 * 0b1..DMA Supported 23435 * 0b0..DMA not supported 23436 */ 23437 #define USDHC_HOST_CTRL_CAP_DMAS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_DMAS_SHIFT)) & USDHC_HOST_CTRL_CAP_DMAS_MASK) 23438 #define USDHC_HOST_CTRL_CAP_SRS_MASK (0x800000U) 23439 #define USDHC_HOST_CTRL_CAP_SRS_SHIFT (23U) 23440 /*! SRS - Suspend / Resume Support 23441 * 0b1..Supported 23442 * 0b0..Not supported 23443 */ 23444 #define USDHC_HOST_CTRL_CAP_SRS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_SRS_SHIFT)) & USDHC_HOST_CTRL_CAP_SRS_MASK) 23445 #define USDHC_HOST_CTRL_CAP_VS33_MASK (0x1000000U) 23446 #define USDHC_HOST_CTRL_CAP_VS33_SHIFT (24U) 23447 /*! VS33 - Voltage Support 3.3V 23448 * 0b1..3.3V supported 23449 * 0b0..3.3V not supported 23450 */ 23451 #define USDHC_HOST_CTRL_CAP_VS33(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS33_SHIFT)) & USDHC_HOST_CTRL_CAP_VS33_MASK) 23452 #define USDHC_HOST_CTRL_CAP_VS30_MASK (0x2000000U) 23453 #define USDHC_HOST_CTRL_CAP_VS30_SHIFT (25U) 23454 /*! VS30 - Voltage Support 3.0 V 23455 * 0b1..3.0V supported 23456 * 0b0..3.0V not supported 23457 */ 23458 #define USDHC_HOST_CTRL_CAP_VS30(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS30_SHIFT)) & USDHC_HOST_CTRL_CAP_VS30_MASK) 23459 #define USDHC_HOST_CTRL_CAP_VS18_MASK (0x4000000U) 23460 #define USDHC_HOST_CTRL_CAP_VS18_SHIFT (26U) 23461 /*! VS18 - Voltage Support 1.8 V 23462 * 0b1..1.8V supported 23463 * 0b0..1.8V not supported 23464 */ 23465 #define USDHC_HOST_CTRL_CAP_VS18(x) (((uint32_t)(((uint32_t)(x)) << USDHC_HOST_CTRL_CAP_VS18_SHIFT)) & USDHC_HOST_CTRL_CAP_VS18_MASK) 23466 /*! @} */ 23467 23468 /*! @name WTMK_LVL - Watermark Level */ 23469 /*! @{ */ 23470 #define USDHC_WTMK_LVL_RD_WML_MASK (0xFFU) 23471 #define USDHC_WTMK_LVL_RD_WML_SHIFT (0U) 23472 #define USDHC_WTMK_LVL_RD_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_RD_WML_SHIFT)) & USDHC_WTMK_LVL_RD_WML_MASK) 23473 #define USDHC_WTMK_LVL_RD_BRST_LEN_MASK (0x1F00U) 23474 #define USDHC_WTMK_LVL_RD_BRST_LEN_SHIFT (8U) 23475 #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) 23476 #define USDHC_WTMK_LVL_WR_WML_MASK (0xFF0000U) 23477 #define USDHC_WTMK_LVL_WR_WML_SHIFT (16U) 23478 #define USDHC_WTMK_LVL_WR_WML(x) (((uint32_t)(((uint32_t)(x)) << USDHC_WTMK_LVL_WR_WML_SHIFT)) & USDHC_WTMK_LVL_WR_WML_MASK) 23479 #define USDHC_WTMK_LVL_WR_BRST_LEN_MASK (0x1F000000U) 23480 #define USDHC_WTMK_LVL_WR_BRST_LEN_SHIFT (24U) 23481 #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) 23482 /*! @} */ 23483 23484 /*! @name MIX_CTRL - Mixer Control */ 23485 /*! @{ */ 23486 #define USDHC_MIX_CTRL_DMAEN_MASK (0x1U) 23487 #define USDHC_MIX_CTRL_DMAEN_SHIFT (0U) 23488 /*! DMAEN - DMA Enable 23489 * 0b1..Enable 23490 * 0b0..Disable 23491 */ 23492 #define USDHC_MIX_CTRL_DMAEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DMAEN_SHIFT)) & USDHC_MIX_CTRL_DMAEN_MASK) 23493 #define USDHC_MIX_CTRL_BCEN_MASK (0x2U) 23494 #define USDHC_MIX_CTRL_BCEN_SHIFT (1U) 23495 /*! BCEN - Block Count Enable 23496 * 0b1..Enable 23497 * 0b0..Disable 23498 */ 23499 #define USDHC_MIX_CTRL_BCEN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_BCEN_SHIFT)) & USDHC_MIX_CTRL_BCEN_MASK) 23500 #define USDHC_MIX_CTRL_AC12EN_MASK (0x4U) 23501 #define USDHC_MIX_CTRL_AC12EN_SHIFT (2U) 23502 /*! AC12EN - Auto CMD12 Enable 23503 * 0b1..Enable 23504 * 0b0..Disable 23505 */ 23506 #define USDHC_MIX_CTRL_AC12EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC12EN_SHIFT)) & USDHC_MIX_CTRL_AC12EN_MASK) 23507 #define USDHC_MIX_CTRL_DDR_EN_MASK (0x8U) 23508 #define USDHC_MIX_CTRL_DDR_EN_SHIFT (3U) 23509 #define USDHC_MIX_CTRL_DDR_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DDR_EN_SHIFT)) & USDHC_MIX_CTRL_DDR_EN_MASK) 23510 #define USDHC_MIX_CTRL_DTDSEL_MASK (0x10U) 23511 #define USDHC_MIX_CTRL_DTDSEL_SHIFT (4U) 23512 /*! DTDSEL - Data Transfer Direction Select 23513 * 0b1..Read (Card to Host) 23514 * 0b0..Write (Host to Card) 23515 */ 23516 #define USDHC_MIX_CTRL_DTDSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_DTDSEL_SHIFT)) & USDHC_MIX_CTRL_DTDSEL_MASK) 23517 #define USDHC_MIX_CTRL_MSBSEL_MASK (0x20U) 23518 #define USDHC_MIX_CTRL_MSBSEL_SHIFT (5U) 23519 /*! MSBSEL - Multi / Single Block Select 23520 * 0b1..Multiple Blocks 23521 * 0b0..Single Block 23522 */ 23523 #define USDHC_MIX_CTRL_MSBSEL(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_MSBSEL_SHIFT)) & USDHC_MIX_CTRL_MSBSEL_MASK) 23524 #define USDHC_MIX_CTRL_NIBBLE_POS_MASK (0x40U) 23525 #define USDHC_MIX_CTRL_NIBBLE_POS_SHIFT (6U) 23526 #define USDHC_MIX_CTRL_NIBBLE_POS(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_NIBBLE_POS_SHIFT)) & USDHC_MIX_CTRL_NIBBLE_POS_MASK) 23527 #define USDHC_MIX_CTRL_AC23EN_MASK (0x80U) 23528 #define USDHC_MIX_CTRL_AC23EN_SHIFT (7U) 23529 #define USDHC_MIX_CTRL_AC23EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MIX_CTRL_AC23EN_SHIFT)) & USDHC_MIX_CTRL_AC23EN_MASK) 23530 /*! @} */ 23531 23532 /*! @name FORCE_EVENT - Force Event */ 23533 /*! @{ */ 23534 #define USDHC_FORCE_EVENT_FEVTAC12NE_MASK (0x1U) 23535 #define USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT (0U) 23536 #define USDHC_FORCE_EVENT_FEVTAC12NE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12NE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12NE_MASK) 23537 #define USDHC_FORCE_EVENT_FEVTAC12TOE_MASK (0x2U) 23538 #define USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT (1U) 23539 #define USDHC_FORCE_EVENT_FEVTAC12TOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12TOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12TOE_MASK) 23540 #define USDHC_FORCE_EVENT_FEVTAC12CE_MASK (0x4U) 23541 #define USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT (2U) 23542 #define USDHC_FORCE_EVENT_FEVTAC12CE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12CE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12CE_MASK) 23543 #define USDHC_FORCE_EVENT_FEVTAC12EBE_MASK (0x8U) 23544 #define USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT (3U) 23545 #define USDHC_FORCE_EVENT_FEVTAC12EBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12EBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12EBE_MASK) 23546 #define USDHC_FORCE_EVENT_FEVTAC12IE_MASK (0x10U) 23547 #define USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT (4U) 23548 #define USDHC_FORCE_EVENT_FEVTAC12IE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12IE_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12IE_MASK) 23549 #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK (0x80U) 23550 #define USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT (7U) 23551 #define USDHC_FORCE_EVENT_FEVTCNIBAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCNIBAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTCNIBAC12E_MASK) 23552 #define USDHC_FORCE_EVENT_FEVTCTOE_MASK (0x10000U) 23553 #define USDHC_FORCE_EVENT_FEVTCTOE_SHIFT (16U) 23554 #define USDHC_FORCE_EVENT_FEVTCTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCTOE_MASK) 23555 #define USDHC_FORCE_EVENT_FEVTCCE_MASK (0x20000U) 23556 #define USDHC_FORCE_EVENT_FEVTCCE_SHIFT (17U) 23557 #define USDHC_FORCE_EVENT_FEVTCCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCCE_MASK) 23558 #define USDHC_FORCE_EVENT_FEVTCEBE_MASK (0x40000U) 23559 #define USDHC_FORCE_EVENT_FEVTCEBE_SHIFT (18U) 23560 #define USDHC_FORCE_EVENT_FEVTCEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCEBE_MASK) 23561 #define USDHC_FORCE_EVENT_FEVTCIE_MASK (0x80000U) 23562 #define USDHC_FORCE_EVENT_FEVTCIE_SHIFT (19U) 23563 #define USDHC_FORCE_EVENT_FEVTCIE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCIE_SHIFT)) & USDHC_FORCE_EVENT_FEVTCIE_MASK) 23564 #define USDHC_FORCE_EVENT_FEVTDTOE_MASK (0x100000U) 23565 #define USDHC_FORCE_EVENT_FEVTDTOE_SHIFT (20U) 23566 #define USDHC_FORCE_EVENT_FEVTDTOE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDTOE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDTOE_MASK) 23567 #define USDHC_FORCE_EVENT_FEVTDCE_MASK (0x200000U) 23568 #define USDHC_FORCE_EVENT_FEVTDCE_SHIFT (21U) 23569 #define USDHC_FORCE_EVENT_FEVTDCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDCE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDCE_MASK) 23570 #define USDHC_FORCE_EVENT_FEVTDEBE_MASK (0x400000U) 23571 #define USDHC_FORCE_EVENT_FEVTDEBE_SHIFT (22U) 23572 #define USDHC_FORCE_EVENT_FEVTDEBE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDEBE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDEBE_MASK) 23573 #define USDHC_FORCE_EVENT_FEVTAC12E_MASK (0x1000000U) 23574 #define USDHC_FORCE_EVENT_FEVTAC12E_SHIFT (24U) 23575 #define USDHC_FORCE_EVENT_FEVTAC12E(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTAC12E_SHIFT)) & USDHC_FORCE_EVENT_FEVTAC12E_MASK) 23576 #define USDHC_FORCE_EVENT_FEVTDMAE_MASK (0x10000000U) 23577 #define USDHC_FORCE_EVENT_FEVTDMAE_SHIFT (28U) 23578 #define USDHC_FORCE_EVENT_FEVTDMAE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTDMAE_SHIFT)) & USDHC_FORCE_EVENT_FEVTDMAE_MASK) 23579 #define USDHC_FORCE_EVENT_FEVTCINT_MASK (0x80000000U) 23580 #define USDHC_FORCE_EVENT_FEVTCINT_SHIFT (31U) 23581 #define USDHC_FORCE_EVENT_FEVTCINT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_FORCE_EVENT_FEVTCINT_SHIFT)) & USDHC_FORCE_EVENT_FEVTCINT_MASK) 23582 /*! @} */ 23583 23584 /*! @name ADMA_ERR_STATUS - ADMA Error Status Register */ 23585 /*! @{ */ 23586 #define USDHC_ADMA_ERR_STATUS_ADMAES_MASK (0x3U) 23587 #define USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT (0U) 23588 #define USDHC_ADMA_ERR_STATUS_ADMAES(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMAES_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMAES_MASK) 23589 #define USDHC_ADMA_ERR_STATUS_ADMALME_MASK (0x4U) 23590 #define USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT (2U) 23591 /*! ADMALME - ADMA Length Mismatch Error 23592 * 0b1..Error 23593 * 0b0..No Error 23594 */ 23595 #define USDHC_ADMA_ERR_STATUS_ADMALME(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMALME_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMALME_MASK) 23596 #define USDHC_ADMA_ERR_STATUS_ADMADCE_MASK (0x8U) 23597 #define USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT (3U) 23598 /*! ADMADCE - ADMA Descriptor Error 23599 * 0b1..Error 23600 * 0b0..No Error 23601 */ 23602 #define USDHC_ADMA_ERR_STATUS_ADMADCE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_ADMA_ERR_STATUS_ADMADCE_SHIFT)) & USDHC_ADMA_ERR_STATUS_ADMADCE_MASK) 23603 /*! @} */ 23604 23605 /*! @name ADMA_SYS_ADDR - ADMA System Address */ 23606 /*! @{ */ 23607 #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_MASK (0xFFFFFFFCU) 23608 #define USDHC_ADMA_SYS_ADDR_ADS_ADDR_SHIFT (2U) 23609 #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) 23610 /*! @} */ 23611 23612 /*! @name VEND_SPEC - Vendor Specific Register */ 23613 /*! @{ */ 23614 #define USDHC_VEND_SPEC_VSELECT_MASK (0x2U) 23615 #define USDHC_VEND_SPEC_VSELECT_SHIFT (1U) 23616 /*! VSELECT - Voltage Selection 23617 * 0b1..Change the voltage to low voltage range, around 1.8 V 23618 * 0b0..Change the voltage to high voltage range, around 3.0 V 23619 */ 23620 #define USDHC_VEND_SPEC_VSELECT(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC_VSELECT_SHIFT)) & USDHC_VEND_SPEC_VSELECT_MASK) 23621 #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_MASK (0x4U) 23622 #define USDHC_VEND_SPEC_CONFLICT_CHK_EN_SHIFT (2U) 23623 /*! CONFLICT_CHK_EN - Conflict check enable. 23624 * 0b0..Conflict check disable 23625 * 0b1..Conflict check enable 23626 */ 23627 #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) 23628 #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_MASK (0x8U) 23629 #define USDHC_VEND_SPEC_AC12_WR_CHKBUSY_EN_SHIFT (3U) 23630 /*! AC12_WR_CHKBUSY_EN - AC12_WR_CHKBUSY_EN 23631 * 0b0..Do not check busy after auto CMD12 for write data packet 23632 * 0b1..Check busy after auto CMD12 for write data packet 23633 */ 23634 #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) 23635 #define USDHC_VEND_SPEC_FRC_SDCLK_ON_MASK (0x100U) 23636 #define USDHC_VEND_SPEC_FRC_SDCLK_ON_SHIFT (8U) 23637 /*! FRC_SDCLK_ON - FRC_SDCLK_ON 23638 * 0b0..CLK active or inactive is fully controlled by the hardware. 23639 * 0b1..Force CLK active. 23640 */ 23641 #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) 23642 #define USDHC_VEND_SPEC_CRC_CHK_DIS_MASK (0x8000U) 23643 #define USDHC_VEND_SPEC_CRC_CHK_DIS_SHIFT (15U) 23644 /*! CRC_CHK_DIS - CRC Check Disable 23645 * 0b0..Check CRC16 for every read data packet and check CRC bits for every write data packet 23646 * 0b1..Ignore CRC16 check for every read data packet and ignore CRC bits check for every write data packet 23647 */ 23648 #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) 23649 #define USDHC_VEND_SPEC_CMD_BYTE_EN_MASK (0x80000000U) 23650 #define USDHC_VEND_SPEC_CMD_BYTE_EN_SHIFT (31U) 23651 /*! CMD_BYTE_EN - CMD_BYTE_EN 23652 * 0b0..Disable 23653 * 0b1..Enable 23654 */ 23655 #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) 23656 /*! @} */ 23657 23658 /*! @name MMC_BOOT - MMC Boot Register */ 23659 /*! @{ */ 23660 #define USDHC_MMC_BOOT_DTOCV_ACK_MASK (0xFU) 23661 #define USDHC_MMC_BOOT_DTOCV_ACK_SHIFT (0U) 23662 /*! DTOCV_ACK - DTOCV_ACK 23663 * 0b0000..SDCLK x 2^14 23664 * 0b0001..SDCLK x 2^15 23665 * 0b0010..SDCLK x 2^16 23666 * 0b0011..SDCLK x 2^17 23667 * 0b0100..SDCLK x 2^18 23668 * 0b0101..SDCLK x 2^19 23669 * 0b0110..SDCLK x 2^20 23670 * 0b0111..SDCLK x 2^21 23671 * 0b1110..SDCLK x 2^28 23672 * 0b1111..SDCLK x 2^29 23673 */ 23674 #define USDHC_MMC_BOOT_DTOCV_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_DTOCV_ACK_SHIFT)) & USDHC_MMC_BOOT_DTOCV_ACK_MASK) 23675 #define USDHC_MMC_BOOT_BOOT_ACK_MASK (0x10U) 23676 #define USDHC_MMC_BOOT_BOOT_ACK_SHIFT (4U) 23677 /*! BOOT_ACK - BOOT_ACK 23678 * 0b0..No ack 23679 * 0b1..Ack 23680 */ 23681 #define USDHC_MMC_BOOT_BOOT_ACK(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_ACK_SHIFT)) & USDHC_MMC_BOOT_BOOT_ACK_MASK) 23682 #define USDHC_MMC_BOOT_BOOT_MODE_MASK (0x20U) 23683 #define USDHC_MMC_BOOT_BOOT_MODE_SHIFT (5U) 23684 /*! BOOT_MODE - BOOT_MODE 23685 * 0b0..Normal boot 23686 * 0b1..Alternative boot 23687 */ 23688 #define USDHC_MMC_BOOT_BOOT_MODE(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_MODE_SHIFT)) & USDHC_MMC_BOOT_BOOT_MODE_MASK) 23689 #define USDHC_MMC_BOOT_BOOT_EN_MASK (0x40U) 23690 #define USDHC_MMC_BOOT_BOOT_EN_SHIFT (6U) 23691 /*! BOOT_EN - BOOT_EN 23692 * 0b0..Fast boot disable 23693 * 0b1..Fast boot enable 23694 */ 23695 #define USDHC_MMC_BOOT_BOOT_EN(x) (((uint32_t)(((uint32_t)(x)) << USDHC_MMC_BOOT_BOOT_EN_SHIFT)) & USDHC_MMC_BOOT_BOOT_EN_MASK) 23696 #define USDHC_MMC_BOOT_AUTO_SABG_EN_MASK (0x80U) 23697 #define USDHC_MMC_BOOT_AUTO_SABG_EN_SHIFT (7U) 23698 #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) 23699 #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_MASK (0x100U) 23700 #define USDHC_MMC_BOOT_DISABLE_TIME_OUT_SHIFT (8U) 23701 /*! DISABLE_TIME_OUT - Disable Time Out 23702 * 0b0..Enable time out 23703 * 0b1..Disable time out 23704 */ 23705 #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) 23706 #define USDHC_MMC_BOOT_BOOT_BLK_CNT_MASK (0xFFFF0000U) 23707 #define USDHC_MMC_BOOT_BOOT_BLK_CNT_SHIFT (16U) 23708 #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) 23709 /*! @} */ 23710 23711 /*! @name VEND_SPEC2 - Vendor Specific 2 Register */ 23712 /*! @{ */ 23713 #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_MASK (0x8U) 23714 #define USDHC_VEND_SPEC2_CARD_INT_D3_TEST_SHIFT (3U) 23715 /*! CARD_INT_D3_TEST - Card Interrupt Detection Test 23716 * 0b0..Check the card interrupt only when DATA3 is high. 23717 * 0b1..Check the card interrupt by ignoring the status of DATA3. 23718 */ 23719 #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) 23720 #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_MASK (0x1000U) 23721 #define USDHC_VEND_SPEC2_ACMD23_ARGU2_EN_SHIFT (12U) 23722 /*! ACMD23_ARGU2_EN - Argument2 register enable for ACMD23 23723 * 0b1..Argument2 register enable for ACMD23 sharing with SDMA system address register. Default is enable. 23724 * 0b0..Disable 23725 */ 23726 #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) 23727 #define USDHC_VEND_SPEC2_AHB_RST_MASK (0x4000U) 23728 #define USDHC_VEND_SPEC2_AHB_RST_SHIFT (14U) 23729 #define USDHC_VEND_SPEC2_AHB_RST(x) (((uint32_t)(((uint32_t)(x)) << USDHC_VEND_SPEC2_AHB_RST_SHIFT)) & USDHC_VEND_SPEC2_AHB_RST_MASK) 23730 /*! @} */ 23731 23732 23733 /*! 23734 * @} 23735 */ /* end of group USDHC_Register_Masks */ 23736 23737 23738 /* USDHC - Peripheral instance base addresses */ 23739 /** Peripheral USDHC0 base address */ 23740 #define USDHC0_BASE (0x4003E000u) 23741 /** Peripheral USDHC0 base pointer */ 23742 #define USDHC0 ((USDHC_Type *)USDHC0_BASE) 23743 /** Array initializer of USDHC peripheral base addresses */ 23744 #define USDHC_BASE_ADDRS { USDHC0_BASE } 23745 /** Array initializer of USDHC peripheral base pointers */ 23746 #define USDHC_BASE_PTRS { USDHC0 } 23747 /** Interrupt vectors for the USDHC peripheral type */ 23748 #define USDHC_IRQS { USDHC0_IRQn } 23749 23750 /*! 23751 * @} 23752 */ /* end of group USDHC_Peripheral_Access_Layer */ 23753 23754 23755 /* ---------------------------------------------------------------------------- 23756 -- VREF Peripheral Access Layer 23757 ---------------------------------------------------------------------------- */ 23758 23759 /*! 23760 * @addtogroup VREF_Peripheral_Access_Layer VREF Peripheral Access Layer 23761 * @{ 23762 */ 23763 23764 /** VREF - Register Layout Typedef */ 23765 typedef struct { 23766 __IO uint8_t TRM; /**< VREF Trim Register, offset: 0x0 */ 23767 __IO uint8_t SC; /**< VREF Status and Control Register, offset: 0x1 */ 23768 uint8_t RESERVED_0[3]; 23769 __IO uint8_t TRM4; /**< VREF Trim 2.1V Register, offset: 0x5 */ 23770 } VREF_Type; 23771 23772 /* ---------------------------------------------------------------------------- 23773 -- VREF Register Masks 23774 ---------------------------------------------------------------------------- */ 23775 23776 /*! 23777 * @addtogroup VREF_Register_Masks VREF Register Masks 23778 * @{ 23779 */ 23780 23781 /*! @name TRM - VREF Trim Register */ 23782 /*! @{ */ 23783 #define VREF_TRM_TRIM_MASK (0x3FU) 23784 #define VREF_TRM_TRIM_SHIFT (0U) 23785 /*! TRIM - Trim bits 23786 * 0b000000..Min 23787 * 0b111111..Max 23788 */ 23789 #define VREF_TRM_TRIM(x) (((uint8_t)(((uint8_t)(x)) << VREF_TRM_TRIM_SHIFT)) & VREF_TRM_TRIM_MASK) 23790 #define VREF_TRM_CHOPEN_MASK (0x40U) 23791 #define VREF_TRM_CHOPEN_SHIFT (6U) 23792 /*! CHOPEN - Chop oscillator enable. When set, the internal chopping operation is enabled and the internal analog offset will be minimized. 23793 * 0b0..Chop oscillator is disabled. 23794 * 0b1..Chop oscillator is enabled. 23795 */ 23796 #define VREF_TRM_CHOPEN(x) (((uint8_t)(((uint8_t)(x)) << VREF_TRM_CHOPEN_SHIFT)) & VREF_TRM_CHOPEN_MASK) 23797 /*! @} */ 23798 23799 /*! @name SC - VREF Status and Control Register */ 23800 /*! @{ */ 23801 #define VREF_SC_MODE_LV_MASK (0x3U) 23802 #define VREF_SC_MODE_LV_SHIFT (0U) 23803 /*! MODE_LV - Buffer Mode selection 23804 * 0b00..Bandgap on only, for stabilization and startup 23805 * 0b01..High power buffer mode enabled 23806 * 0b10..Low-power buffer mode enabled 23807 * 0b11..Reserved 23808 */ 23809 #define VREF_SC_MODE_LV(x) (((uint8_t)(((uint8_t)(x)) << VREF_SC_MODE_LV_SHIFT)) & VREF_SC_MODE_LV_MASK) 23810 #define VREF_SC_VREFST_MASK (0x4U) 23811 #define VREF_SC_VREFST_SHIFT (2U) 23812 /*! VREFST - Internal Voltage Reference stable 23813 * 0b0..The module is disabled or not stable. 23814 * 0b1..The module is stable. 23815 */ 23816 #define VREF_SC_VREFST(x) (((uint8_t)(((uint8_t)(x)) << VREF_SC_VREFST_SHIFT)) & VREF_SC_VREFST_MASK) 23817 #define VREF_SC_ICOMPEN_MASK (0x20U) 23818 #define VREF_SC_ICOMPEN_SHIFT (5U) 23819 /*! ICOMPEN - Second order curvature compensation enable 23820 * 0b0..Disabled 23821 * 0b1..Enabled 23822 */ 23823 #define VREF_SC_ICOMPEN(x) (((uint8_t)(((uint8_t)(x)) << VREF_SC_ICOMPEN_SHIFT)) & VREF_SC_ICOMPEN_MASK) 23824 #define VREF_SC_REGEN_MASK (0x40U) 23825 #define VREF_SC_REGEN_SHIFT (6U) 23826 /*! REGEN - Regulator enable 23827 * 0b0..Internal 1.75 V regulator is disabled. 23828 * 0b1..Internal 1.75 V regulator is enabled. 23829 */ 23830 #define VREF_SC_REGEN(x) (((uint8_t)(((uint8_t)(x)) << VREF_SC_REGEN_SHIFT)) & VREF_SC_REGEN_MASK) 23831 #define VREF_SC_VREFEN_MASK (0x80U) 23832 #define VREF_SC_VREFEN_SHIFT (7U) 23833 /*! VREFEN - Internal Voltage Reference enable 23834 * 0b0..The module is disabled. 23835 * 0b1..The module is enabled. 23836 */ 23837 #define VREF_SC_VREFEN(x) (((uint8_t)(((uint8_t)(x)) << VREF_SC_VREFEN_SHIFT)) & VREF_SC_VREFEN_MASK) 23838 /*! @} */ 23839 23840 /*! @name TRM4 - VREF Trim 2.1V Register */ 23841 /*! @{ */ 23842 #define VREF_TRM4_TRIM2V1_MASK (0x3FU) 23843 #define VREF_TRM4_TRIM2V1_SHIFT (0U) 23844 /*! TRIM2V1 - VREF 2.1V Trim Bits 23845 * 0b000000..Max 23846 * 0b111111..Min 23847 */ 23848 #define VREF_TRM4_TRIM2V1(x) (((uint8_t)(((uint8_t)(x)) << VREF_TRM4_TRIM2V1_SHIFT)) & VREF_TRM4_TRIM2V1_MASK) 23849 #define VREF_TRM4_VREF2V1_EN_MASK (0x80U) 23850 #define VREF_TRM4_VREF2V1_EN_SHIFT (7U) 23851 /*! VREF2V1_EN - Internal Voltage Reference (2.1V) Enable 23852 * 0b0..VREF 2.1V is enabled 23853 * 0b1..VREF 2.1V is disabled 23854 */ 23855 #define VREF_TRM4_VREF2V1_EN(x) (((uint8_t)(((uint8_t)(x)) << VREF_TRM4_VREF2V1_EN_SHIFT)) & VREF_TRM4_VREF2V1_EN_MASK) 23856 /*! @} */ 23857 23858 23859 /*! 23860 * @} 23861 */ /* end of group VREF_Register_Masks */ 23862 23863 23864 /* VREF - Peripheral instance base addresses */ 23865 /** Peripheral VREF base address */ 23866 #define VREF_BASE (0x4004D000u) 23867 /** Peripheral VREF base pointer */ 23868 #define VREF ((VREF_Type *)VREF_BASE) 23869 /** Array initializer of VREF peripheral base addresses */ 23870 #define VREF_BASE_ADDRS { VREF_BASE } 23871 /** Array initializer of VREF peripheral base pointers */ 23872 #define VREF_BASE_PTRS { VREF } 23873 23874 /*! 23875 * @} 23876 */ /* end of group VREF_Peripheral_Access_Layer */ 23877 23878 23879 /* ---------------------------------------------------------------------------- 23880 -- WDOG Peripheral Access Layer 23881 ---------------------------------------------------------------------------- */ 23882 23883 /*! 23884 * @addtogroup WDOG_Peripheral_Access_Layer WDOG Peripheral Access Layer 23885 * @{ 23886 */ 23887 23888 /** WDOG - Register Layout Typedef */ 23889 typedef struct { 23890 __IO uint32_t CS; /**< Watchdog Control and Status Register, offset: 0x0 */ 23891 __IO uint32_t CNT; /**< Watchdog Counter Register, offset: 0x4 */ 23892 __IO uint32_t TOVAL; /**< Watchdog Timeout Value Register, offset: 0x8 */ 23893 __IO uint32_t WIN; /**< Watchdog Window Register, offset: 0xC */ 23894 } WDOG_Type; 23895 23896 /* ---------------------------------------------------------------------------- 23897 -- WDOG Register Masks 23898 ---------------------------------------------------------------------------- */ 23899 23900 /*! 23901 * @addtogroup WDOG_Register_Masks WDOG Register Masks 23902 * @{ 23903 */ 23904 23905 /*! @name CS - Watchdog Control and Status Register */ 23906 /*! @{ */ 23907 #define WDOG_CS_STOP_MASK (0x1U) 23908 #define WDOG_CS_STOP_SHIFT (0U) 23909 /*! STOP - Stop Enable 23910 * 0b0..Watchdog disabled in chip stop mode. 23911 * 0b1..Watchdog enabled in chip stop mode. 23912 */ 23913 #define WDOG_CS_STOP(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_STOP_SHIFT)) & WDOG_CS_STOP_MASK) 23914 #define WDOG_CS_WAIT_MASK (0x2U) 23915 #define WDOG_CS_WAIT_SHIFT (1U) 23916 /*! WAIT - Wait Enable 23917 * 0b0..Watchdog disabled in chip wait mode. 23918 * 0b1..Watchdog enabled in chip wait mode. 23919 */ 23920 #define WDOG_CS_WAIT(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_WAIT_SHIFT)) & WDOG_CS_WAIT_MASK) 23921 #define WDOG_CS_DBG_MASK (0x4U) 23922 #define WDOG_CS_DBG_SHIFT (2U) 23923 /*! DBG - Debug Enable 23924 * 0b0..Watchdog disabled in chip debug mode. 23925 * 0b1..Watchdog enabled in chip debug mode. 23926 */ 23927 #define WDOG_CS_DBG(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_DBG_SHIFT)) & WDOG_CS_DBG_MASK) 23928 #define WDOG_CS_TST_MASK (0x18U) 23929 #define WDOG_CS_TST_SHIFT (3U) 23930 /*! TST - Watchdog Test 23931 * 0b00..Watchdog test mode disabled. 23932 * 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. 23933 * 0b10..Watchdog test mode enabled, only the low byte is used. CNT[CNTLOW] is compared with TOVAL[TOVALLOW]. 23934 * 0b11..Watchdog test mode enabled, only the high byte is used. CNT[CNTHIGH] is compared with TOVAL[TOVALHIGH]. 23935 */ 23936 #define WDOG_CS_TST(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_TST_SHIFT)) & WDOG_CS_TST_MASK) 23937 #define WDOG_CS_UPDATE_MASK (0x20U) 23938 #define WDOG_CS_UPDATE_SHIFT (5U) 23939 /*! UPDATE - Allow updates 23940 * 0b0..Updates not allowed. After the initial configuration, the watchdog cannot be later modified without forcing a reset. 23941 * 0b1..Updates allowed. Software can modify the watchdog configuration registers within 128 bus clocks after performing the unlock write sequence. 23942 */ 23943 #define WDOG_CS_UPDATE(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_UPDATE_SHIFT)) & WDOG_CS_UPDATE_MASK) 23944 #define WDOG_CS_INT_MASK (0x40U) 23945 #define WDOG_CS_INT_SHIFT (6U) 23946 /*! INT - Watchdog Interrupt 23947 * 0b0..Watchdog interrupts are disabled. Watchdog resets are not delayed. 23948 * 0b1..Watchdog interrupts are enabled. Watchdog resets are delayed by 128 bus clocks from the interrupt vector fetch. 23949 */ 23950 #define WDOG_CS_INT(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_INT_SHIFT)) & WDOG_CS_INT_MASK) 23951 #define WDOG_CS_EN_MASK (0x80U) 23952 #define WDOG_CS_EN_SHIFT (7U) 23953 /*! EN - Watchdog Enable 23954 * 0b0..Watchdog disabled. 23955 * 0b1..Watchdog enabled. 23956 */ 23957 #define WDOG_CS_EN(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_EN_SHIFT)) & WDOG_CS_EN_MASK) 23958 #define WDOG_CS_CLK_MASK (0x300U) 23959 #define WDOG_CS_CLK_SHIFT (8U) 23960 /*! CLK - Watchdog Clock 23961 * 0b00..Bus clock 23962 * 0b01..LPO clock 23963 * 0b10..INTCLK (internal clock) 23964 * 0b11..ERCLK (external reference clock) 23965 */ 23966 #define WDOG_CS_CLK(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_CLK_SHIFT)) & WDOG_CS_CLK_MASK) 23967 #define WDOG_CS_RCS_MASK (0x400U) 23968 #define WDOG_CS_RCS_SHIFT (10U) 23969 /*! RCS - Reconfiguration Success 23970 * 0b0..Reconfiguring WDOG. 23971 * 0b1..Reconfiguration is successful. 23972 */ 23973 #define WDOG_CS_RCS(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_RCS_SHIFT)) & WDOG_CS_RCS_MASK) 23974 #define WDOG_CS_ULK_MASK (0x800U) 23975 #define WDOG_CS_ULK_SHIFT (11U) 23976 /*! ULK - Unlock status 23977 * 0b0..WDOG is locked. 23978 * 0b1..WDOG is unlocked. 23979 */ 23980 #define WDOG_CS_ULK(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_ULK_SHIFT)) & WDOG_CS_ULK_MASK) 23981 #define WDOG_CS_PRES_MASK (0x1000U) 23982 #define WDOG_CS_PRES_SHIFT (12U) 23983 /*! PRES - Watchdog prescaler 23984 * 0b0..256 prescaler disabled. 23985 * 0b1..256 prescaler enabled. 23986 */ 23987 #define WDOG_CS_PRES(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_PRES_SHIFT)) & WDOG_CS_PRES_MASK) 23988 #define WDOG_CS_CMD32EN_MASK (0x2000U) 23989 #define WDOG_CS_CMD32EN_SHIFT (13U) 23990 /*! CMD32EN - Enables or disables WDOG support for 32-bit (otherwise 16-bit or 8-bit) refresh/unlock command write words 23991 * 0b0..Disables support for 32-bit refresh/unlock command write words. Only 16-bit or 8-bit is supported. 23992 * 0b1..Enables support for 32-bit refresh/unlock command write words. 16-bit or 8-bit is NOT supported. 23993 */ 23994 #define WDOG_CS_CMD32EN(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_CMD32EN_SHIFT)) & WDOG_CS_CMD32EN_MASK) 23995 #define WDOG_CS_FLG_MASK (0x4000U) 23996 #define WDOG_CS_FLG_SHIFT (14U) 23997 /*! FLG - Watchdog Interrupt Flag 23998 * 0b0..No interrupt occurred. 23999 * 0b1..An interrupt occurred. 24000 */ 24001 #define WDOG_CS_FLG(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_FLG_SHIFT)) & WDOG_CS_FLG_MASK) 24002 #define WDOG_CS_WIN_MASK (0x8000U) 24003 #define WDOG_CS_WIN_SHIFT (15U) 24004 /*! WIN - Watchdog Window 24005 * 0b0..Window mode disabled. 24006 * 0b1..Window mode enabled. 24007 */ 24008 #define WDOG_CS_WIN(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CS_WIN_SHIFT)) & WDOG_CS_WIN_MASK) 24009 /*! @} */ 24010 24011 /*! @name CNT - Watchdog Counter Register */ 24012 /*! @{ */ 24013 #define WDOG_CNT_CNTLOW_MASK (0xFFU) 24014 #define WDOG_CNT_CNTLOW_SHIFT (0U) 24015 #define WDOG_CNT_CNTLOW(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CNT_CNTLOW_SHIFT)) & WDOG_CNT_CNTLOW_MASK) 24016 #define WDOG_CNT_CNTHIGH_MASK (0xFF00U) 24017 #define WDOG_CNT_CNTHIGH_SHIFT (8U) 24018 #define WDOG_CNT_CNTHIGH(x) (((uint32_t)(((uint32_t)(x)) << WDOG_CNT_CNTHIGH_SHIFT)) & WDOG_CNT_CNTHIGH_MASK) 24019 /*! @} */ 24020 24021 /*! @name TOVAL - Watchdog Timeout Value Register */ 24022 /*! @{ */ 24023 #define WDOG_TOVAL_TOVALLOW_MASK (0xFFU) 24024 #define WDOG_TOVAL_TOVALLOW_SHIFT (0U) 24025 #define WDOG_TOVAL_TOVALLOW(x) (((uint32_t)(((uint32_t)(x)) << WDOG_TOVAL_TOVALLOW_SHIFT)) & WDOG_TOVAL_TOVALLOW_MASK) 24026 #define WDOG_TOVAL_TOVALHIGH_MASK (0xFF00U) 24027 #define WDOG_TOVAL_TOVALHIGH_SHIFT (8U) 24028 #define WDOG_TOVAL_TOVALHIGH(x) (((uint32_t)(((uint32_t)(x)) << WDOG_TOVAL_TOVALHIGH_SHIFT)) & WDOG_TOVAL_TOVALHIGH_MASK) 24029 /*! @} */ 24030 24031 /*! @name WIN - Watchdog Window Register */ 24032 /*! @{ */ 24033 #define WDOG_WIN_WINLOW_MASK (0xFFU) 24034 #define WDOG_WIN_WINLOW_SHIFT (0U) 24035 #define WDOG_WIN_WINLOW(x) (((uint32_t)(((uint32_t)(x)) << WDOG_WIN_WINLOW_SHIFT)) & WDOG_WIN_WINLOW_MASK) 24036 #define WDOG_WIN_WINHIGH_MASK (0xFF00U) 24037 #define WDOG_WIN_WINHIGH_SHIFT (8U) 24038 #define WDOG_WIN_WINHIGH(x) (((uint32_t)(((uint32_t)(x)) << WDOG_WIN_WINHIGH_SHIFT)) & WDOG_WIN_WINHIGH_MASK) 24039 /*! @} */ 24040 24041 24042 /*! 24043 * @} 24044 */ /* end of group WDOG_Register_Masks */ 24045 24046 24047 /* WDOG - Peripheral instance base addresses */ 24048 /** Peripheral WDOG0 base address */ 24049 #define WDOG0_BASE (0x4002A000u) 24050 /** Peripheral WDOG0 base pointer */ 24051 #define WDOG0 ((WDOG_Type *)WDOG0_BASE) 24052 /** Peripheral WDOG1 base address */ 24053 #define WDOG1_BASE (0x41026000u) 24054 /** Peripheral WDOG1 base pointer */ 24055 #define WDOG1 ((WDOG_Type *)WDOG1_BASE) 24056 /** Array initializer of WDOG peripheral base addresses */ 24057 #define WDOG_BASE_ADDRS { WDOG0_BASE, WDOG1_BASE } 24058 /** Array initializer of WDOG peripheral base pointers */ 24059 #define WDOG_BASE_PTRS { WDOG0, WDOG1 } 24060 /** Interrupt vectors for the WDOG peripheral type */ 24061 #define WDOG_IRQS { NotAvail_IRQn, WDOG1_IRQn } 24062 /* Extra definition */ 24063 #define WDOG_UPDATE_KEY (0xD928C520U) 24064 #define WDOG_REFRESH_KEY (0xB480A602U) 24065 24066 24067 /*! 24068 * @} 24069 */ /* end of group WDOG_Peripheral_Access_Layer */ 24070 24071 24072 /* ---------------------------------------------------------------------------- 24073 -- XCVR_ANALOG Peripheral Access Layer 24074 ---------------------------------------------------------------------------- */ 24075 24076 /*! 24077 * @addtogroup XCVR_ANALOG_Peripheral_Access_Layer XCVR_ANALOG Peripheral Access Layer 24078 * @{ 24079 */ 24080 24081 /** XCVR_ANALOG - Register Layout Typedef */ 24082 typedef struct { 24083 __IO uint32_t BB_LDO_1; /**< RF Analog Baseband LDO Control 1, offset: 0x0 */ 24084 __IO uint32_t BB_LDO_2; /**< RF Analog Baseband LDO Control 2, offset: 0x4 */ 24085 __IO uint32_t RX_ADC; /**< RF Analog ADC Control, offset: 0x8 */ 24086 __IO uint32_t RX_BBA; /**< RF Analog BBA Control, offset: 0xC */ 24087 __IO uint32_t RX_LNA; /**< RF Analog LNA Control, offset: 0x10 */ 24088 __IO uint32_t RX_TZA; /**< RF Analog TZA Control, offset: 0x14 */ 24089 __IO uint32_t RX_AUXPLL; /**< RF Analog Aux PLL Control, offset: 0x18 */ 24090 __IO uint32_t SY_CTRL_1; /**< RF Analog Synthesizer Control 1, offset: 0x1C */ 24091 __IO uint32_t SY_CTRL_2; /**< RF Analog Synthesizer Control 2, offset: 0x20 */ 24092 __IO uint32_t TX_DAC_PA; /**< RF Analog TX HPM DAC and PA Control, offset: 0x24 */ 24093 __IO uint32_t BALUN_TX; /**< RF Analog Balun TX Mode Control, offset: 0x28 */ 24094 __IO uint32_t BALUN_RX; /**< RF Analog Balun RX Mode Control, offset: 0x2C */ 24095 __I uint32_t DFT_OBSV_1; /**< RF Analog DFT Observation Register 1, offset: 0x30 */ 24096 __IO uint32_t DFT_OBSV_2; /**< RF Analog DFT Observation Register 2, offset: 0x34 */ 24097 __IO uint32_t DFT_OBSV_3; /**< RF Analog DFT Observation Register 3, offset: 0x38 */ 24098 } XCVR_ANALOG_Type; 24099 24100 /* ---------------------------------------------------------------------------- 24101 -- XCVR_ANALOG Register Masks 24102 ---------------------------------------------------------------------------- */ 24103 24104 /*! 24105 * @addtogroup XCVR_ANALOG_Register_Masks XCVR_ANALOG Register Masks 24106 * @{ 24107 */ 24108 24109 /*! @name BB_LDO_1 - RF Analog Baseband LDO Control 1 */ 24110 /*! @{ */ 24111 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_BYP_MASK (0x1U) 24112 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_BYP_SHIFT (0U) 24113 /*! BB_LDO_ADCDAC_BYP - rmap_bb_ldo_adcdac_byp 24114 * 0b0..Bypass disabled. 24115 * 0b1..Bypass enabled 24116 */ 24117 #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) 24118 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_DIAGSEL_MASK (0x2U) 24119 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_DIAGSEL_SHIFT (1U) 24120 /*! BB_LDO_ADCDAC_DIAGSEL - rmap_bb_ldo_adcdac_diagsel 24121 * 0b0..Diag disable 24122 * 0b1..Diag enable 24123 */ 24124 #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) 24125 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_SPARE_MASK (0xCU) 24126 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_SPARE_SHIFT (2U) 24127 #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) 24128 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_TRIM_MASK (0x70U) 24129 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_ADCDAC_TRIM_SHIFT (4U) 24130 /*! BB_LDO_ADCDAC_TRIM - rmap_bb_ldo_adcdac_trim[2:0] 24131 * 0b000..1.20 V ( Default ) 24132 * 0b001..1.25 V 24133 * 0b010..1.28 V 24134 * 0b011..1.33 V 24135 * 0b100..1.40 V 24136 * 0b101..1.44 V 24137 * 0b110..1.50 V 24138 * 0b111..1.66 V 24139 */ 24140 #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) 24141 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_BYP_MASK (0x100U) 24142 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_BYP_SHIFT (8U) 24143 /*! BB_LDO_BBA_BYP - rmap_bb_ldo_bba_byp 24144 * 0b0..Bypass disabled. 24145 * 0b1..Bypass enabled 24146 */ 24147 #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) 24148 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_DIAGSEL_MASK (0x200U) 24149 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_DIAGSEL_SHIFT (9U) 24150 /*! BB_LDO_BBA_DIAGSEL - rmap_bb_ldo_bba_diagsel 24151 * 0b0..Diag disable 24152 * 0b1..Diag enable 24153 */ 24154 #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) 24155 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_SPARE_MASK (0xC00U) 24156 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_SPARE_SHIFT (10U) 24157 #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) 24158 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_TRIM_MASK (0x7000U) 24159 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_BBA_TRIM_SHIFT (12U) 24160 /*! BB_LDO_BBA_TRIM - rmap_bb_ldo_bba_trim[2:0] 24161 * 0b000..1.20 V ( Default ) 24162 * 0b001..1.25 V 24163 * 0b010..1.28 V 24164 * 0b011..1.33 V 24165 * 0b100..1.40 V 24166 * 0b101..1.44 V 24167 * 0b110..1.50 V 24168 * 0b111..1.66 V 24169 */ 24170 #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) 24171 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_BYP_MASK (0x10000U) 24172 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_BYP_SHIFT (16U) 24173 /*! BB_LDO_FDBK_BYP - rmap_bb_ldo_fdbk_byp 24174 * 0b0..Bypass disabled. 24175 * 0b1..Bypass enabled 24176 */ 24177 #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) 24178 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_DIAGSEL_MASK (0x20000U) 24179 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_DIAGSEL_SHIFT (17U) 24180 /*! BB_LDO_FDBK_DIAGSEL - rmap_bb_ldo_fdbk_diagsel 24181 * 0b0..Diag disable 24182 * 0b1..Diag enable 24183 */ 24184 #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) 24185 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_SPARE_MASK (0xC0000U) 24186 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_SPARE_SHIFT (18U) 24187 #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) 24188 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_TRIM_MASK (0x700000U) 24189 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_FDBK_TRIM_SHIFT (20U) 24190 /*! BB_LDO_FDBK_TRIM - rmap_bb_ldo_fdbk_trim[2:0] 24191 * 0b000..1.2/1.176 V ( Default ) 24192 * 0b001..1.138/1.115 V 24193 * 0b010..1.085/1.066 V 24194 * 0b011..1.04/1.025 V 24195 * 0b100..1.28/1.25 V 24196 * 0b101..1.4/1.35 V 24197 * 0b110..1.55/1.4 V 24198 * 0b111..1.78/1.4 V 24199 */ 24200 #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) 24201 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_BYP_MASK (0x1000000U) 24202 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_BYP_SHIFT (24U) 24203 /*! BB_LDO_HF_BYP - rmap_bb_ldo_hf_byp 24204 * 0b0..Bypass disabled. 24205 * 0b1..Bypass enabled 24206 */ 24207 #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) 24208 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_DIAGSEL_MASK (0x2000000U) 24209 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_DIAGSEL_SHIFT (25U) 24210 /*! BB_LDO_HF_DIAGSEL - rmap_bb_ldo_hf_diagsel 24211 * 0b0..Diag disable 24212 * 0b1..Diag enable 24213 */ 24214 #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) 24215 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_SPARE_MASK (0xC000000U) 24216 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_SPARE_SHIFT (26U) 24217 #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) 24218 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_TRIM_MASK (0x70000000U) 24219 #define XCVR_ANALOG_BB_LDO_1_BB_LDO_HF_TRIM_SHIFT (28U) 24220 /*! BB_LDO_HF_TRIM - rmap_bb_ldo_hf_trim[2:0] 24221 * 0b000..1.20 V ( Default ) 24222 * 0b001..1.25 V 24223 * 0b010..1.28 V 24224 * 0b011..1.33 V 24225 * 0b100..1.40 V 24226 * 0b101..1.44 V 24227 * 0b110..1.50 V 24228 * 0b111..1.66 V 24229 */ 24230 #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) 24231 /*! @} */ 24232 24233 /*! @name BB_LDO_2 - RF Analog Baseband LDO Control 2 */ 24234 /*! @{ */ 24235 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_BYP_MASK (0x1U) 24236 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_BYP_SHIFT (0U) 24237 /*! BB_LDO_PD_BYP - rmap_bb_ldo_pd_byp 24238 * 0b0..Bypass disabled. 24239 * 0b1..Bypass enabled 24240 */ 24241 #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) 24242 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_DIAGSEL_MASK (0x2U) 24243 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_DIAGSEL_SHIFT (1U) 24244 /*! BB_LDO_PD_DIAGSEL - rmap_bb_ldo_pd_diagsel 24245 * 0b0..Diag disable 24246 * 0b1..Diag enable 24247 */ 24248 #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) 24249 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_SPARE_MASK (0xCU) 24250 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_SPARE_SHIFT (2U) 24251 #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) 24252 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_TRIM_MASK (0x70U) 24253 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_PD_TRIM_SHIFT (4U) 24254 /*! BB_LDO_PD_TRIM - rmap_bb_ldo_pd_trim[2:0] 24255 * 0b000..1.20 V ( Default ) 24256 * 0b001..1.25 V 24257 * 0b010..1.28 V 24258 * 0b011..1.33 V 24259 * 0b100..1.40 V 24260 * 0b101..1.44 V 24261 * 0b110..1.50 V 24262 * 0b111..1.66 V 24263 */ 24264 #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) 24265 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCO_SPARE_MASK (0x300U) 24266 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCO_SPARE_SHIFT (8U) 24267 #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) 24268 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_BYP_MASK (0x400U) 24269 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_BYP_SHIFT (10U) 24270 /*! BB_LDO_VCOLO_BYP - rmap_bb_ldo_vcolo_byp 24271 * 0b0..Bypass disabled. 24272 * 0b1..Bypass enabled 24273 */ 24274 #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) 24275 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_DIAGSEL_MASK (0x800U) 24276 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_DIAGSEL_SHIFT (11U) 24277 /*! BB_LDO_VCOLO_DIAGSEL - rmap_bb_ldo_vcolo_diagsel 24278 * 0b0..Diag disable 24279 * 0b1..Diag enable 24280 */ 24281 #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) 24282 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_TRIM_MASK (0x7000U) 24283 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VCOLO_TRIM_SHIFT (12U) 24284 /*! BB_LDO_VCOLO_TRIM - rmap_bb_ldo_vcolo_trim[2:0] 24285 * 0b000..1.138/1.117 V ( Default ) 24286 * 0b001..1.076/1.058 V 24287 * 0b010..1.027/1.012 V 24288 * 0b011..0.98/0.97 V 24289 * 0b100..1.22/1.19 V 24290 * 0b101..1.33/1.3 V 24291 * 0b110..1.5/1.4 V 24292 * 0b111..1.82/1.4 V 24293 */ 24294 #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) 24295 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_DIAGSEL_MASK (0x10000U) 24296 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_DIAGSEL_SHIFT (16U) 24297 /*! BB_LDO_VTREF_DIAGSEL - rmap_bb_ldo_vtref_diagsel 24298 * 0b0..Diag disable 24299 * 0b1..Diag enable 24300 */ 24301 #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) 24302 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_TC_MASK (0x60000U) 24303 #define XCVR_ANALOG_BB_LDO_2_BB_LDO_VTREF_TC_SHIFT (17U) 24304 /*! BB_LDO_VTREF_TC - rmap_bb_ldo_vtref_tc[1:0] 24305 * 0b00..1.117/1.176 V 24306 * 0b01..1.134/1.188 V 24307 * 0b10..1.10/1.162 V 24308 * 0b11..1.09/1.152 V 24309 */ 24310 #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) 24311 /*! @} */ 24312 24313 /*! @name RX_ADC - RF Analog ADC Control */ 24314 /*! @{ */ 24315 #define XCVR_ANALOG_RX_ADC_RX_ADC_BUMP_MASK (0xFFU) 24316 #define XCVR_ANALOG_RX_ADC_RX_ADC_BUMP_SHIFT (0U) 24317 #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) 24318 #define XCVR_ANALOG_RX_ADC_RX_ADC_FS_SEL_MASK (0x300U) 24319 #define XCVR_ANALOG_RX_ADC_RX_ADC_FS_SEL_SHIFT (8U) 24320 /*! RX_ADC_FS_SEL - rmap_rx_adc_fs_sel[1:0] 24321 * 0b00..52MHz (2x26MHz) 24322 * 0b01..64MHz (2x32MHz) 24323 * 0b10..+13% of 64MHz 24324 * 0b11..- 11% of 64MHz 24325 */ 24326 #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) 24327 #define XCVR_ANALOG_RX_ADC_RX_ADC_I_DIAGSEL_MASK (0x400U) 24328 #define XCVR_ANALOG_RX_ADC_RX_ADC_I_DIAGSEL_SHIFT (10U) 24329 #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) 24330 #define XCVR_ANALOG_RX_ADC_RX_ADC_Q_DIAGSEL_MASK (0x800U) 24331 #define XCVR_ANALOG_RX_ADC_RX_ADC_Q_DIAGSEL_SHIFT (11U) 24332 #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) 24333 #define XCVR_ANALOG_RX_ADC_RX_ADC_SPARE_MASK (0xF000U) 24334 #define XCVR_ANALOG_RX_ADC_RX_ADC_SPARE_SHIFT (12U) 24335 #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) 24336 /*! @} */ 24337 24338 /*! @name RX_BBA - RF Analog BBA Control */ 24339 /*! @{ */ 24340 #define XCVR_ANALOG_RX_BBA_RX_BBA_BW_SEL_MASK (0x7U) 24341 #define XCVR_ANALOG_RX_BBA_RX_BBA_BW_SEL_SHIFT (0U) 24342 /*! RX_BBA_BW_SEL - rmap_rx_bba_bw_sel[2:0] 24343 * 0b000..1000K 24344 * 0b001..900K 24345 * 0b010..800K 24346 * 0b011..700K Default 24347 * 0b100..600K 24348 * 0b101..500K 24349 */ 24350 #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) 24351 #define XCVR_ANALOG_RX_BBA_RX_BBA_CUR_BUMP_MASK (0x8U) 24352 #define XCVR_ANALOG_RX_BBA_RX_BBA_CUR_BUMP_SHIFT (3U) 24353 #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) 24354 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL1_MASK (0x10U) 24355 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL1_SHIFT (4U) 24356 /*! RX_BBA_DIAGSEL1 - rmap_rx_bba_diagsel1 24357 * 0b0..Diag disable 24358 * 0b1..Diag enable 24359 */ 24360 #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) 24361 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL2_MASK (0x20U) 24362 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL2_SHIFT (5U) 24363 /*! RX_BBA_DIAGSEL2 - rmap_rx_bba_diagsel2 24364 * 0b0..Diag disable 24365 * 0b1..Diag enable 24366 */ 24367 #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) 24368 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL3_MASK (0x40U) 24369 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL3_SHIFT (6U) 24370 /*! RX_BBA_DIAGSEL3 - rmap_rx_bba_diagsel3 24371 * 0b0..Diag disable 24372 * 0b1..Diag enable 24373 */ 24374 #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) 24375 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL4_MASK (0x80U) 24376 #define XCVR_ANALOG_RX_BBA_RX_BBA_DIAGSEL4_SHIFT (7U) 24377 /*! RX_BBA_DIAGSEL4 - rmap_rx_bba_diagsel4 24378 * 0b0..Diag disable 24379 * 0b1..Diag enable 24380 */ 24381 #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) 24382 #define XCVR_ANALOG_RX_BBA_RX_BBA_SPARE_MASK (0x3F0000U) 24383 #define XCVR_ANALOG_RX_BBA_RX_BBA_SPARE_SHIFT (16U) 24384 /*! RX_BBA_SPARE - rmap_rx_bba_spare[5:0] 24385 * 0b000000..600mV (Default) 24386 * 0b000001..675mV 24387 * 0b000010..450mV 24388 * 0b000011..525mV 24389 */ 24390 #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) 24391 #define XCVR_ANALOG_RX_BBA_RX_BBA2_BW_SEL_MASK (0x7000000U) 24392 #define XCVR_ANALOG_RX_BBA_RX_BBA2_BW_SEL_SHIFT (24U) 24393 /*! RX_BBA2_BW_SEL - rmap_bba2_bw_sel[2:0] 24394 * 0b000..1000K 24395 * 0b001..900K 24396 * 0b010..800K 24397 * 0b011..700K Default 24398 * 0b100..600K 24399 * 0b101..500K 24400 */ 24401 #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) 24402 #define XCVR_ANALOG_RX_BBA_RX_BBA2_SPARE_MASK (0x70000000U) 24403 #define XCVR_ANALOG_RX_BBA_RX_BBA2_SPARE_SHIFT (28U) 24404 #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) 24405 /*! @} */ 24406 24407 /*! @name RX_LNA - RF Analog LNA Control */ 24408 /*! @{ */ 24409 #define XCVR_ANALOG_RX_LNA_RX_LNA_BUMP_MASK (0xFU) 24410 #define XCVR_ANALOG_RX_LNA_RX_LNA_BUMP_SHIFT (0U) 24411 /*! RX_LNA_BUMP - rmap_rx_lna_bump[3:0] 24412 * 0b0000..Default 24413 * 0b0001..-25% 24414 * 0b0010..+50% 24415 * 0b0011..+25% 24416 * 0b0100..CM 480mV 24417 * 0b1000..CM 600mV 24418 * 0b1100..CM 660mV 24419 */ 24420 #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) 24421 #define XCVR_ANALOG_RX_LNA_RX_LNA_HG_DIAGSEL_MASK (0x10U) 24422 #define XCVR_ANALOG_RX_LNA_RX_LNA_HG_DIAGSEL_SHIFT (4U) 24423 #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) 24424 #define XCVR_ANALOG_RX_LNA_RX_LNA_HIZ_ENABLE_MASK (0x20U) 24425 #define XCVR_ANALOG_RX_LNA_RX_LNA_HIZ_ENABLE_SHIFT (5U) 24426 #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) 24427 #define XCVR_ANALOG_RX_LNA_RX_LNA_LG_DIAGSEL_MASK (0x40U) 24428 #define XCVR_ANALOG_RX_LNA_RX_LNA_LG_DIAGSEL_SHIFT (6U) 24429 #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) 24430 #define XCVR_ANALOG_RX_LNA_RX_LNA_SPARE_MASK (0x300U) 24431 #define XCVR_ANALOG_RX_LNA_RX_LNA_SPARE_SHIFT (8U) 24432 #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) 24433 #define XCVR_ANALOG_RX_LNA_RX_MIXER_BUMP_MASK (0xF0000U) 24434 #define XCVR_ANALOG_RX_LNA_RX_MIXER_BUMP_SHIFT (16U) 24435 /*! RX_MIXER_BUMP - rmap_rx_mixer_bump[3:0] 24436 * 0b0000..825mV (Default) 24437 * 0b0001..750mV 24438 * 0b0010..900mV 24439 * 0b0011..975mV 24440 */ 24441 #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) 24442 #define XCVR_ANALOG_RX_LNA_RX_MIXER_SPARE_MASK (0x100000U) 24443 #define XCVR_ANALOG_RX_LNA_RX_MIXER_SPARE_SHIFT (20U) 24444 #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) 24445 /*! @} */ 24446 24447 /*! @name RX_TZA - RF Analog TZA Control */ 24448 /*! @{ */ 24449 #define XCVR_ANALOG_RX_TZA_RX_TZA_BW_SEL_MASK (0x7U) 24450 #define XCVR_ANALOG_RX_TZA_RX_TZA_BW_SEL_SHIFT (0U) 24451 /*! RX_TZA_BW_SEL - rmap_rx_tza_bw_sel[2:0] 24452 * 0b000..1000K 24453 * 0b001..900K 24454 * 0b010..800K 24455 * 0b011..700K Default 24456 * 0b100..600K 24457 * 0b101..500K 24458 */ 24459 #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) 24460 #define XCVR_ANALOG_RX_TZA_RX_TZA_CUR_BUMP_MASK (0x8U) 24461 #define XCVR_ANALOG_RX_TZA_RX_TZA_CUR_BUMP_SHIFT (3U) 24462 #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) 24463 #define XCVR_ANALOG_RX_TZA_RX_TZA_GAIN_BUMP_MASK (0x10U) 24464 #define XCVR_ANALOG_RX_TZA_RX_TZA_GAIN_BUMP_SHIFT (4U) 24465 #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) 24466 #define XCVR_ANALOG_RX_TZA_RX_TZA_SPARE_MASK (0x3F0000U) 24467 #define XCVR_ANALOG_RX_TZA_RX_TZA_SPARE_SHIFT (16U) 24468 /*! RX_TZA_SPARE - rmap_rx_tza_spare[5:0] 24469 * 0b000000..600mV (Default) 24470 * 0b000001..675mV 24471 * 0b000010..450mV 24472 * 0b000011..525mV 24473 */ 24474 #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) 24475 #define XCVR_ANALOG_RX_TZA_RX_TZA1_DIAGSEL_MASK (0x1000000U) 24476 #define XCVR_ANALOG_RX_TZA_RX_TZA1_DIAGSEL_SHIFT (24U) 24477 /*! RX_TZA1_DIAGSEL - rmap_rx_tza1_diagsel 24478 * 0b0..Diag disable 24479 * 0b1..Diag enable 24480 */ 24481 #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) 24482 #define XCVR_ANALOG_RX_TZA_RX_TZA2_DIAGSEL_MASK (0x2000000U) 24483 #define XCVR_ANALOG_RX_TZA_RX_TZA2_DIAGSEL_SHIFT (25U) 24484 /*! RX_TZA2_DIAGSEL - rmap_rx_tza2_diagsel 24485 * 0b0..Diag disable 24486 * 0b1..Diag enable 24487 */ 24488 #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) 24489 #define XCVR_ANALOG_RX_TZA_RX_TZA3_DIAGSEL_MASK (0x4000000U) 24490 #define XCVR_ANALOG_RX_TZA_RX_TZA3_DIAGSEL_SHIFT (26U) 24491 /*! RX_TZA3_DIAGSEL - rmap_rx_tza3_diagsel 24492 * 0b0..Diag disable 24493 * 0b1..Diag enable 24494 */ 24495 #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) 24496 #define XCVR_ANALOG_RX_TZA_RX_TZA4_DIAGSEL_MASK (0x8000000U) 24497 #define XCVR_ANALOG_RX_TZA_RX_TZA4_DIAGSEL_SHIFT (27U) 24498 /*! RX_TZA4_DIAGSEL - rmap_rx_tza4_diagsel 24499 * 0b0..Diag disable 24500 * 0b1..Diag enable 24501 */ 24502 #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) 24503 /*! @} */ 24504 24505 /*! @name RX_AUXPLL - RF Analog Aux PLL Control */ 24506 /*! @{ */ 24507 #define XCVR_ANALOG_RX_AUXPLL_BIAS_TRIM_MASK (0x7U) 24508 #define XCVR_ANALOG_RX_AUXPLL_BIAS_TRIM_SHIFT (0U) 24509 #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) 24510 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL1_MASK (0x8U) 24511 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL1_SHIFT (3U) 24512 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_DIAGSEL1_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_DIAGSEL1_MASK) 24513 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL2_MASK (0x10U) 24514 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL2_SHIFT (4U) 24515 #define XCVR_ANALOG_RX_AUXPLL_DIAGSEL2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_DIAGSEL2_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_DIAGSEL2_MASK) 24516 #define XCVR_ANALOG_RX_AUXPLL_LF_CNTL_MASK (0xE0U) 24517 #define XCVR_ANALOG_RX_AUXPLL_LF_CNTL_SHIFT (5U) 24518 #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) 24519 #define XCVR_ANALOG_RX_AUXPLL_SPARE_MASK (0xF00U) 24520 #define XCVR_ANALOG_RX_AUXPLL_SPARE_SHIFT (8U) 24521 #define XCVR_ANALOG_RX_AUXPLL_SPARE(x) (((uint32_t)(((uint32_t)(x)) << XCVR_ANALOG_RX_AUXPLL_SPARE_SHIFT)) & XCVR_ANALOG_RX_AUXPLL_SPARE_MASK) 24522 #define XCVR_ANALOG_RX_AUXPLL_VCO_DAC_REF_ADJUST_MASK (0xF000U) 24523 #define XCVR_ANALOG_RX_AUXPLL_VCO_DAC_REF_ADJUST_SHIFT (12U) 24524 #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) 24525 #define XCVR_ANALOG_RX_AUXPLL_VTUNE_TESTMODE_MASK (0x10000U) 24526 #define XCVR_ANALOG_RX_AUXPLL_VTUNE_TESTMODE_SHIFT (16U) 24527 #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) 24528 #define XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_BIAST_MASK (0x300000U) 24529 #define XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_BIAST_SHIFT (20U) 24530 /*! RXTX_BAL_BIAST - rmap_rxtx_bal_biast[1:0] 24531 * 0b00..0.6 24532 * 0b01..0.4 24533 * 0b10..0.9 24534 * 0b11..1.2 24535 */ 24536 #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) 24537 #define XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_SPARE_MASK (0x7000000U) 24538 #define XCVR_ANALOG_RX_AUXPLL_RXTX_BAL_SPARE_SHIFT (24U) 24539 #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) 24540 #define XCVR_ANALOG_RX_AUXPLL_RXTX_RCCAL_DIAGSEL_MASK (0x10000000U) 24541 #define XCVR_ANALOG_RX_AUXPLL_RXTX_RCCAL_DIAGSEL_SHIFT (28U) 24542 #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) 24543 /*! @} */ 24544 24545 /*! @name SY_CTRL_1 - RF Analog Synthesizer Control 1 */ 24546 /*! @{ */ 24547 #define XCVR_ANALOG_SY_CTRL_1_SY_DIVN_SPARE_MASK (0x1U) 24548 #define XCVR_ANALOG_SY_CTRL_1_SY_DIVN_SPARE_SHIFT (0U) 24549 #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) 24550 #define XCVR_ANALOG_SY_CTRL_1_SY_FCAL_SPARE_MASK (0x2U) 24551 #define XCVR_ANALOG_SY_CTRL_1_SY_FCAL_SPARE_SHIFT (1U) 24552 #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) 24553 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_FDBK_MASK (0x30U) 24554 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_FDBK_SHIFT (4U) 24555 /*! SY_LO_BUMP_RTLO_FDBK - rmap_sy_lo_bump_rtlo_fdbk[1:0] 24556 * 0b00..1.045 V 24557 * 0b01..1.084 V 24558 * 0b10..1.097 V 24559 * 0b11..1.10 V 24560 */ 24561 #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) 24562 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_RX_MASK (0xC0U) 24563 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_RX_SHIFT (6U) 24564 /*! SY_LO_BUMP_RTLO_RX - rmap_sy_lo_bump_rtlo_rx[1:0] 24565 * 0b00..1.051/1.037 V 24566 * 0b01..1.082/1.075 V 24567 * 0b10..1.092/1.088 V 24568 * 0b11..1.098/1.094 V 24569 */ 24570 #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) 24571 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_TX_MASK (0x300U) 24572 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_BUMP_RTLO_TX_SHIFT (8U) 24573 /*! SY_LO_BUMP_RTLO_TX - rmap_sy_lo_bump_rtlo_tx[1:0] 24574 * 0b00..1.071/1.065 V 24575 * 0b01..1.092/1.090 V 24576 * 0b10..1.099/1.098 V 24577 * 0b11..1.10/1.1 V 24578 */ 24579 #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) 24580 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_DIAGSEL_MASK (0x400U) 24581 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_DIAGSEL_SHIFT (10U) 24582 /*! SY_LO_DIAGSEL - rmap_sy_lo_diagsel 24583 * 0b0..Diag disable 24584 * 0b1..Diag enable 24585 */ 24586 #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) 24587 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_SPARE_MASK (0x7000U) 24588 #define XCVR_ANALOG_SY_CTRL_1_SY_LO_SPARE_SHIFT (12U) 24589 #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) 24590 #define XCVR_ANALOG_SY_CTRL_1_SY_LPF_FILT_CTRL_MASK (0x70000U) 24591 #define XCVR_ANALOG_SY_CTRL_1_SY_LPF_FILT_CTRL_SHIFT (16U) 24592 #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) 24593 #define XCVR_ANALOG_SY_CTRL_1_SY_LPF_SPARE_MASK (0x80000U) 24594 #define XCVR_ANALOG_SY_CTRL_1_SY_LPF_SPARE_SHIFT (19U) 24595 #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) 24596 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_DIAGSEL_MASK (0x100000U) 24597 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_DIAGSEL_SHIFT (20U) 24598 #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) 24599 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_TUNE_MASK (0x600000U) 24600 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_TUNE_SHIFT (21U) 24601 #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) 24602 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_SEL_MASK (0x800000U) 24603 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_PCH_SEL_SHIFT (23U) 24604 /*! SY_PD_PCH_SEL - rmap_sy_pd_pch_sel 24605 * 0b0..inverter based precharge 24606 * 0b1..resistor divider based precharge 24607 */ 24608 #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) 24609 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_SPARE_MASK (0x3000000U) 24610 #define XCVR_ANALOG_SY_CTRL_1_SY_PD_SPARE_SHIFT (24U) 24611 /*! SY_PD_SPARE - rmap_sy_pd_spare[1:0] 24612 * 0b00..Default ; 24613 * 0b01..PD output is pulled down. 24614 */ 24615 #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) 24616 /*! @} */ 24617 24618 /*! @name SY_CTRL_2 - RF Analog Synthesizer Control 2 */ 24619 /*! @{ */ 24620 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_BIAS_MASK (0x7U) 24621 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_BIAS_SHIFT (0U) 24622 /*! SY_VCO_BIAS - rmap_sy_vco_bias[2:0] 24623 * 0b000..0.97V 24624 * 0b001..1.033V 24625 * 0b010..1.06V 24626 * 0b011..1.07V 24627 * 0b100..1.08V 24628 * 0b101..1.085V 24629 * 0b110..1.090V 24630 * 0b111..1.095V 24631 */ 24632 #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) 24633 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_DIAGSEL_MASK (0x8U) 24634 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_DIAGSEL_SHIFT (3U) 24635 /*! SY_VCO_DIAGSEL - rmap_sy_vco_diagsel 24636 * 0b1..Diag enable 24637 * 0b0..Diag disable 24638 */ 24639 #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) 24640 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_KV_MASK (0x70U) 24641 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_KV_SHIFT (4U) 24642 /*! SY_VCO_KV - rmap_sy_vco_kv[2:0] 24643 * 0b000..50MHz/V 24644 * 0b001..60MHz/V 24645 * 0b010..70MHz/V 24646 * 0b011..80MHz/V 24647 * 0b100..80MHz/V 24648 * 0b101..80MHz/V 24649 * 0b110..80MHz/V 24650 * 0b111..80MHz/V 24651 */ 24652 #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) 24653 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_KVM_MASK (0x700U) 24654 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_KVM_SHIFT (8U) 24655 /*! SY_VCO_KVM - rmap_sy_vco_kvm[2:0] 24656 * 0b000..10MHz/V 24657 * 0b001..20MHz/V 24658 * 0b010..30MHz/V 24659 * 0b011..40MHz/V 24660 * 0b100..40MHz/V 24661 * 0b101..40MHz/V 24662 * 0b110..40MHz/V 24663 * 0b111..40MHz/V 24664 */ 24665 #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) 24666 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_PK_DET_ON_MASK (0x1000U) 24667 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_PK_DET_ON_SHIFT (12U) 24668 /*! SY_VCO_PK_DET_ON - rmap_sy_vco_pk_det_on 24669 * 0b1..Enable 24670 * 0b0..Disable 24671 */ 24672 #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) 24673 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_SPARE_MASK (0x1C000U) 24674 #define XCVR_ANALOG_SY_CTRL_2_SY_VCO_SPARE_SHIFT (14U) 24675 #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) 24676 /*! @} */ 24677 24678 /*! @name TX_DAC_PA - RF Analog TX HPM DAC and PA Control */ 24679 /*! @{ */ 24680 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_CAP_MASK (0x3U) 24681 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_CAP_SHIFT (0U) 24682 /*! TX_DAC_BUMP_CAP - rmap_tx_dac_bump_cap[1:0] 24683 * 0b00..1pF(default) 24684 * 0b01..1.5pF 24685 * 0b10..1.5pF 24686 * 0b11..2pF 24687 */ 24688 #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) 24689 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_IDAC_MASK (0x18U) 24690 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_IDAC_SHIFT (3U) 24691 /*! TX_DAC_BUMP_IDAC - rmap_tx_dac_bump_idac[1:0] 24692 * 0b00..250nA(default) 24693 * 0b01..207nA 24694 * 0b10..312nA 24695 * 0b11..415nA 24696 */ 24697 #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) 24698 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_RLOAD_MASK (0xC0U) 24699 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_BUMP_RLOAD_SHIFT (6U) 24700 /*! TX_DAC_BUMP_RLOAD - rmap_tx_dac_bump_rload[1:0] 24701 * 0b00..3.12 kohms(default) 24702 * 0b01..2.34 kohms 24703 * 0b10..3.9 kohms 24704 * 0b11..4.6 kohms 24705 */ 24706 #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) 24707 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_DIAGSEL_MASK (0x200U) 24708 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_DIAGSEL_SHIFT (9U) 24709 /*! TX_DAC_DIAGSEL - rmap_tx_dac_diagsel 24710 * 0b0..Disable Diag 24711 * 0b1..Enable Diag 24712 */ 24713 #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) 24714 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_INVERT_CLK_MASK (0x400U) 24715 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_INVERT_CLK_SHIFT (10U) 24716 #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) 24717 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_OPAMP_DIAGSEL_MASK (0x800U) 24718 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_OPAMP_DIAGSEL_SHIFT (11U) 24719 /*! TX_DAC_OPAMP_DIAGSEL - rmap_tx_dac_opamp_diagsel 24720 * 0b0..Disable Diag 24721 * 0b1..Enable Diag 24722 */ 24723 #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) 24724 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_SPARE_MASK (0xE000U) 24725 #define XCVR_ANALOG_TX_DAC_PA_TX_DAC_SPARE_SHIFT (13U) 24726 #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) 24727 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_BUMP_VBIAS_MASK (0xE0000U) 24728 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_BUMP_VBIAS_SHIFT (17U) 24729 /*! TX_PA_BUMP_VBIAS - rmap_tx_pa_bump_vbias[2:0] 24730 * 0b000..0.557 24731 * 0b001..0.651 24732 * 0b010..0.741 24733 * 0b011..0.822 24734 * 0b100..0.590 24735 * 0b101..0.683 24736 * 0b110..0.771 24737 * 0b111..0.850 24738 */ 24739 #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) 24740 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_DIAGSEL_MASK (0x200000U) 24741 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_DIAGSEL_SHIFT (21U) 24742 #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) 24743 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_SPARE_MASK (0x3800000U) 24744 #define XCVR_ANALOG_TX_DAC_PA_TX_PA_SPARE_SHIFT (23U) 24745 #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) 24746 /*! @} */ 24747 24748 /*! @name BALUN_TX - RF Analog Balun TX Mode Control */ 24749 /*! @{ */ 24750 #define XCVR_ANALOG_BALUN_TX_RXTX_BAL_TX_CODE_MASK (0xFFFFFFU) 24751 #define XCVR_ANALOG_BALUN_TX_RXTX_BAL_TX_CODE_SHIFT (0U) 24752 #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) 24753 /*! @} */ 24754 24755 /*! @name BALUN_RX - RF Analog Balun RX Mode Control */ 24756 /*! @{ */ 24757 #define XCVR_ANALOG_BALUN_RX_RXTX_BAL_RX_CODE_MASK (0xFFFFFFU) 24758 #define XCVR_ANALOG_BALUN_RX_RXTX_BAL_RX_CODE_SHIFT (0U) 24759 #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) 24760 /*! @} */ 24761 24762 /*! @name DFT_OBSV_1 - RF Analog DFT Observation Register 1 */ 24763 /*! @{ */ 24764 #define XCVR_ANALOG_DFT_OBSV_1_DFT_FREQ_COUNTER_MASK (0x7FFFFU) 24765 #define XCVR_ANALOG_DFT_OBSV_1_DFT_FREQ_COUNTER_SHIFT (0U) 24766 #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) 24767 #define XCVR_ANALOG_DFT_OBSV_1_CTUNE_MAX_DIFF_MASK (0xFFF00000U) 24768 #define XCVR_ANALOG_DFT_OBSV_1_CTUNE_MAX_DIFF_SHIFT (20U) 24769 #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) 24770 /*! @} */ 24771 24772 /*! @name DFT_OBSV_2 - RF Analog DFT Observation Register 2 */ 24773 /*! @{ */ 24774 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_MASK (0x1FFFFU) 24775 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_SHIFT (0U) 24776 #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) 24777 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_CH_MASK (0x7F000000U) 24778 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_MAX_DIFF_CH_SHIFT (24U) 24779 #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) 24780 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_IGNORE_FAILS_MASK (0x80000000U) 24781 #define XCVR_ANALOG_DFT_OBSV_2_SYN_BIST_IGNORE_FAILS_SHIFT (31U) 24782 #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) 24783 /*! @} */ 24784 24785 /*! @name DFT_OBSV_3 - RF Analog DFT Observation Register 3 */ 24786 /*! @{ */ 24787 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_INCREMENT_MASK (0x7U) 24788 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_INCREMENT_SHIFT (0U) 24789 #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) 24790 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_STOP_MASK (0xFF00U) 24791 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_STOP_SHIFT (8U) 24792 #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) 24793 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_START_MASK (0xFF0000U) 24794 #define XCVR_ANALOG_DFT_OBSV_3_HPM_BIST_START_SHIFT (16U) 24795 #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) 24796 /*! @} */ 24797 24798 24799 /*! 24800 * @} 24801 */ /* end of group XCVR_ANALOG_Register_Masks */ 24802 24803 24804 /* XCVR_ANALOG - Peripheral instance base addresses */ 24805 /** Peripheral XCVR_ANA base address */ 24806 #define XCVR_ANA_BASE (0x41030500u) 24807 /** Peripheral XCVR_ANA base pointer */ 24808 #define XCVR_ANA ((XCVR_ANALOG_Type *)XCVR_ANA_BASE) 24809 /** Array initializer of XCVR_ANALOG peripheral base addresses */ 24810 #define XCVR_ANALOG_BASE_ADDRS { XCVR_ANA_BASE } 24811 /** Array initializer of XCVR_ANALOG peripheral base pointers */ 24812 #define XCVR_ANALOG_BASE_PTRS { XCVR_ANA } 24813 24814 /*! 24815 * @} 24816 */ /* end of group XCVR_ANALOG_Peripheral_Access_Layer */ 24817 24818 24819 /* ---------------------------------------------------------------------------- 24820 -- XCVR_CTRL Peripheral Access Layer 24821 ---------------------------------------------------------------------------- */ 24822 24823 /*! 24824 * @addtogroup XCVR_CTRL_Peripheral_Access_Layer XCVR_CTRL Peripheral Access Layer 24825 * @{ 24826 */ 24827 24828 /** XCVR_CTRL - Register Layout Typedef */ 24829 typedef struct { 24830 __IO uint32_t XCVR_CTRL; /**< TRANSCEIVER CONTROL, offset: 0x0 */ 24831 __IO uint32_t XCVR_STATUS; /**< TRANSCEIVER STATUS, offset: 0x4 */ 24832 __IO uint32_t BLE_ARB_CTRL; /**< BLE ARBITRATION CONTROL, offset: 0x8 */ 24833 __IO uint32_t OVERWRITE_VER; /**< OVERWRITE VERSION, offset: 0xC */ 24834 __IO uint32_t DTEST_CTRL; /**< DIGITAL TEST MUX CONTROL, offset: 0x10 */ 24835 __IO uint32_t DMA_CTRL; /**< TRANSCEIVER DMA CONTROL, offset: 0x14 */ 24836 __I uint32_t DMA_DATA; /**< TRANSCEIVER DMA DATA, offset: 0x18 */ 24837 __IO uint32_t PACKET_RAM_CTRL; /**< PACKET RAM CONTROL, offset: 0x1C */ 24838 __I uint32_t RAM_STOP_ADDR; /**< PACKET RAM DEBUG RAM STOP ADDRESS, offset: 0x20 */ 24839 __IO uint32_t FAD_CTRL; /**< FAD CONTROL, offset: 0x24 */ 24840 __IO uint32_t LPPS_CTRL; /**< LOW POWER PREAMBLE SEARCH CONTROL, offset: 0x28 */ 24841 __IO uint32_t COEX_CTRL; /**< COEXISTENCE CONTROL, offset: 0x2C */ 24842 __IO uint32_t CRCW_CFG; /**< CRC/WHITENER CONFIG REGISTER, offset: 0x30 */ 24843 __I uint32_t CRC_EC_MASK; /**< CRC ERROR CORRECTION MASK, offset: 0x34 */ 24844 __I uint32_t CRC_RES_OUT; /**< CRC RESULT, offset: 0x38 */ 24845 __IO uint32_t CRCW_CFG2; /**< CRC/WHITENER CONFIG 2 REGISTER, offset: 0x3C */ 24846 } XCVR_CTRL_Type; 24847 24848 /* ---------------------------------------------------------------------------- 24849 -- XCVR_CTRL Register Masks 24850 ---------------------------------------------------------------------------- */ 24851 24852 /*! 24853 * @addtogroup XCVR_CTRL_Register_Masks XCVR_CTRL Register Masks 24854 * @{ 24855 */ 24856 24857 /*! @name XCVR_CTRL - TRANSCEIVER CONTROL */ 24858 /*! @{ */ 24859 #define XCVR_CTRL_XCVR_CTRL_PROTOCOL_MASK (0xFU) 24860 #define XCVR_CTRL_XCVR_CTRL_PROTOCOL_SHIFT (0U) 24861 /*! PROTOCOL - Radio Protocol Selection 24862 * 0b0000..BLE 24863 * 0b0001..BLE in MBAN 24864 * 0b0010..BLE overlap MBAN 24865 * 0b0011..Reserved 24866 * 0b0100..802.15.4 24867 * 0b0101..802.15.4j 24868 * 0b0110..Radio Channels 0-127 selectable, FSK 24869 * 0b0111..Radio Channels 0-127 selectable, GFSK 24870 * 0b1000..Generic GFSK, with Gaussian Filter 24871 * 0b1001..Generic MSK, O-QPSK encoding 24872 * 0b1010..Generic FSK, direct +/- Fdev FSK 24873 */ 24874 #define XCVR_CTRL_XCVR_CTRL_PROTOCOL(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_XCVR_CTRL_PROTOCOL_SHIFT)) & XCVR_CTRL_XCVR_CTRL_PROTOCOL_MASK) 24875 #define XCVR_CTRL_XCVR_CTRL_TGT_PWR_SRC_MASK (0x70U) 24876 #define XCVR_CTRL_XCVR_CTRL_TGT_PWR_SRC_SHIFT (4U) 24877 #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) 24878 #define XCVR_CTRL_XCVR_CTRL_REF_CLK_FREQ_MASK (0x300U) 24879 #define XCVR_CTRL_XCVR_CTRL_REF_CLK_FREQ_SHIFT (8U) 24880 /*! REF_CLK_FREQ - Radio Reference Clock Frequency 24881 * 0b00..32 MHz 24882 * 0b01..26 MHz 24883 * 0b10..Reserved 24884 * 0b11..Reserved 24885 */ 24886 #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) 24887 #define XCVR_CTRL_XCVR_CTRL_SOC_RF_OSC_CLK_GATE_EN_MASK (0x800U) 24888 #define XCVR_CTRL_XCVR_CTRL_SOC_RF_OSC_CLK_GATE_EN_SHIFT (11U) 24889 #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) 24890 #define XCVR_CTRL_XCVR_CTRL_DEMOD_SEL_MASK (0x3000U) 24891 #define XCVR_CTRL_XCVR_CTRL_DEMOD_SEL_SHIFT (12U) 24892 /*! DEMOD_SEL - Demodulator Selector 24893 * 0b00..No demodulator selected 24894 * 0b01..Use NXP Multi-standard PHY demodulator 24895 * 0b10..Use Legacy 802.15.4 demodulator 24896 * 0b11..Reserved 24897 */ 24898 #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) 24899 #define XCVR_CTRL_XCVR_CTRL_MAN_DSM_SEL_MASK (0xC000U) 24900 #define XCVR_CTRL_XCVR_CTRL_MAN_DSM_SEL_SHIFT (14U) 24901 #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) 24902 #define XCVR_CTRL_XCVR_CTRL_RADIO0_IRQ_SEL_MASK (0x70000U) 24903 #define XCVR_CTRL_XCVR_CTRL_RADIO0_IRQ_SEL_SHIFT (16U) 24904 /*! RADIO0_IRQ_SEL - RADIO0_IRQ_SEL 24905 * 0b000..Assign Radio #0 Interrupt to BLE 24906 * 0b001..Assign Radio #0 Interrupt to 802.15.4 24907 * 0b010..Radio #0 Interrupt unassigned 24908 * 0b011..Assign Radio #0 Interrupt to GENERIC_FSK 24909 * 0b100..Radio #0 Interrupt unassigned 24910 * 0b101..Radio #0 Interrupt unassigned 24911 * 0b110..Radio #0 Interrupt unassigned 24912 * 0b111..Radio #0 Interrupt unassigned 24913 */ 24914 #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) 24915 #define XCVR_CTRL_XCVR_CTRL_RADIO1_IRQ_SEL_MASK (0x700000U) 24916 #define XCVR_CTRL_XCVR_CTRL_RADIO1_IRQ_SEL_SHIFT (20U) 24917 /*! RADIO1_IRQ_SEL - RADIO1_IRQ_SEL 24918 * 0b000..Assign Radio #1 Interrupt to BLE 24919 * 0b001..Assign Radio #1 Interrupt to 802.15.4 24920 * 0b010..Radio #1 Interrupt unassigned 24921 * 0b011..Assign Radio #1 Interrupt to GENERIC_FSK 24922 * 0b100..Radio #1 Interrupt unassigned 24923 * 0b101..Radio #1 Interrupt unassigned 24924 * 0b110..Radio #1 Interrupt unassigned 24925 * 0b111..Radio #1 Interrupt unassigned 24926 */ 24927 #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) 24928 #define XCVR_CTRL_XCVR_CTRL_TSM_LL_INHIBIT_MASK (0xF000000U) 24929 #define XCVR_CTRL_XCVR_CTRL_TSM_LL_INHIBIT_SHIFT (24U) 24930 #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) 24931 /*! @} */ 24932 24933 /*! @name XCVR_STATUS - TRANSCEIVER STATUS */ 24934 /*! @{ */ 24935 #define XCVR_CTRL_XCVR_STATUS_TSM_COUNT_MASK (0xFFU) 24936 #define XCVR_CTRL_XCVR_STATUS_TSM_COUNT_SHIFT (0U) 24937 #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) 24938 #define XCVR_CTRL_XCVR_STATUS_PLL_SEQ_STATE_MASK (0xF00U) 24939 #define XCVR_CTRL_XCVR_STATUS_PLL_SEQ_STATE_SHIFT (8U) 24940 /*! PLL_SEQ_STATE - PLL Sequence State 24941 * 0b0000..PLL OFF 24942 * 0b0010..CTUNE 24943 * 0b0011..CTUNE_SETTLE 24944 * 0b0110..HPMCAL1 24945 * 0b1000..HPMCAL1_SETTLE 24946 * 0b1010..HPMCAL2 24947 * 0b1100..HPMCAL2_SETTLE 24948 * 0b1111..PLLREADY 24949 */ 24950 #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) 24951 #define XCVR_CTRL_XCVR_STATUS_RX_MODE_MASK (0x1000U) 24952 #define XCVR_CTRL_XCVR_STATUS_RX_MODE_SHIFT (12U) 24953 #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) 24954 #define XCVR_CTRL_XCVR_STATUS_TX_MODE_MASK (0x2000U) 24955 #define XCVR_CTRL_XCVR_STATUS_TX_MODE_SHIFT (13U) 24956 #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) 24957 #define XCVR_CTRL_XCVR_STATUS_BTLE_SYSCLK_REQ_MASK (0x10000U) 24958 #define XCVR_CTRL_XCVR_STATUS_BTLE_SYSCLK_REQ_SHIFT (16U) 24959 #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) 24960 #define XCVR_CTRL_XCVR_STATUS_RIF_LL_ACTIVE_MASK (0x20000U) 24961 #define XCVR_CTRL_XCVR_STATUS_RIF_LL_ACTIVE_SHIFT (17U) 24962 #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) 24963 #define XCVR_CTRL_XCVR_STATUS_XTAL_READY_MASK (0x40000U) 24964 #define XCVR_CTRL_XCVR_STATUS_XTAL_READY_SHIFT (18U) 24965 /*! XTAL_READY - RF Osciallator Xtal Ready 24966 * 0b0..Indicates that the RF Oscillator is disabled or has not completed its warmup. 24967 * 0b1..Indicates that the RF Oscillator has completed its warmup count and is ready for use. 24968 */ 24969 #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) 24970 #define XCVR_CTRL_XCVR_STATUS_TSM_IRQ0_MASK (0x1000000U) 24971 #define XCVR_CTRL_XCVR_STATUS_TSM_IRQ0_SHIFT (24U) 24972 /*! TSM_IRQ0 - TSM Interrupt #0 24973 * 0b0..TSM Interrupt #0 is not asserted. 24974 * 0b1..TSM Interrupt #0 is asserted. Write '1' to this bit to clear it. 24975 */ 24976 #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) 24977 #define XCVR_CTRL_XCVR_STATUS_TSM_IRQ1_MASK (0x2000000U) 24978 #define XCVR_CTRL_XCVR_STATUS_TSM_IRQ1_SHIFT (25U) 24979 /*! TSM_IRQ1 - TSM Interrupt #1 24980 * 0b0..TSM Interrupt #1 is not asserted. 24981 * 0b1..TSM Interrupt #1 is asserted. Write '1' to this bit to clear it. 24982 */ 24983 #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) 24984 /*! @} */ 24985 24986 /*! @name BLE_ARB_CTRL - BLE ARBITRATION CONTROL */ 24987 /*! @{ */ 24988 #define XCVR_CTRL_BLE_ARB_CTRL_BLE_RELINQUISH_MASK (0x1U) 24989 #define XCVR_CTRL_BLE_ARB_CTRL_BLE_RELINQUISH_SHIFT (0U) 24990 #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) 24991 #define XCVR_CTRL_BLE_ARB_CTRL_XCVR_BUSY_MASK (0x2U) 24992 #define XCVR_CTRL_BLE_ARB_CTRL_XCVR_BUSY_SHIFT (1U) 24993 /*! XCVR_BUSY - Transceiver Busy Status Bit 24994 * 0b0..RF Channel in available (TSM is idle) 24995 * 0b1..RF Channel in use (TSM is busy) 24996 */ 24997 #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) 24998 /*! @} */ 24999 25000 /*! @name OVERWRITE_VER - OVERWRITE VERSION */ 25001 /*! @{ */ 25002 #define XCVR_CTRL_OVERWRITE_VER_OVERWRITE_VER_MASK (0xFFU) 25003 #define XCVR_CTRL_OVERWRITE_VER_OVERWRITE_VER_SHIFT (0U) 25004 #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) 25005 /*! @} */ 25006 25007 /*! @name DTEST_CTRL - DIGITAL TEST MUX CONTROL */ 25008 /*! @{ */ 25009 #define XCVR_CTRL_DTEST_CTRL_DTEST_PAGE_MASK (0x3FU) 25010 #define XCVR_CTRL_DTEST_CTRL_DTEST_PAGE_SHIFT (0U) 25011 /*! DTEST_PAGE - DTEST Page Selector 25012 * 0b000000..PLLFREQCAL 25013 * 0b000001..PLLBESTDIFF 25014 * 0b000010..PLLRIPPLE 25015 * 0b000011..PLLHPMCAL 25016 * 0b000100..PLLVCOMOD 25017 * 0b000101..PLLUNLOCK 25018 * 0b000110..PLLCYCSLIP 25019 * 0b000111..PLLCHAN 25020 * 0b001000..TXWARMUP 25021 * 0b001001..TXPOWER 25022 * 0b001010..TXFREQWORD 25023 * 0b001011..RXWARMUP 25024 * 0b001100..RXADC 25025 * 0b001101..RXDMA 25026 * 0b001110..RXDIGIQ 25027 * 0b001111..RXDMA2 25028 * 0b010000..RXINPH 25029 * 0b010001..RSSI0 25030 * 0b010010..RSSI1 25031 * 0b010011..AGC0 25032 * 0b010100..AGC1 25033 * 0b010101..DCOC0 25034 * 0b010110..DCOC1 25035 * 0b010111..DCOC2 25036 * 0b011000..DCOC3 25037 * 0b011001..TSM 25038 * 0b011010..MTTSMCAL 25039 * 0b011011..MTADV 25040 * 0b011100..MTINIT 25041 * 0b011101..MTSCAN 25042 * 0b011110..MTCONN 25043 * 0b011111..MTDTM 25044 * 0b100000..MTADVXCV 25045 * 0b100001..MTCONXCV 25046 * 0b100010..MTDTM2 25047 * 0b100011..DSM 25048 * 0b100100..PHY_FSK_STATE 25049 * 0b100101..PHY_CFO_EST_PD 25050 * 0b100110..PHY_CFO_EST_PD2 25051 * 0b100111..PHY_EARLY_LATE 25052 * 0b101000..PHY_FSK_DEMOD 25053 * 0b101001..PHY_AA_SEARCH 25054 * 0b101010..PHY_DATA_OUT 25055 * 0b101011..PHY_SAMP_TIME 25056 * 0b101100..CCA_ED_LQI 25057 * 0b101101..CCA_ED_LQI2 25058 * 0b101110..Reserved 25059 * 0b101111..Reserved 25060 * 0b110000..Reserved 25061 * 0b110001..Reserved 25062 * 0b110010..Reserved 25063 * 0b110011..Reserved 25064 * 0b110100..Reserved 25065 * 0b110101..Reserved 25066 * 0b110110..Reserved 25067 * 0b110111..Reserved 25068 * 0b111000..Reserved 25069 * 0b111001..Reserved 25070 * 0b111010..RCCAL 25071 * 0b111011..AUXPLLFCAL 25072 * 0b111100..GENFSKTX 25073 * 0b111101..GENFSKRX 25074 * 0b111110..GENFSKSTATE 25075 * 0b111111..GENFILTER 25076 */ 25077 #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) 25078 #define XCVR_CTRL_DTEST_CTRL_DTEST_EN_MASK (0x80U) 25079 #define XCVR_CTRL_DTEST_CTRL_DTEST_EN_SHIFT (7U) 25080 /*! DTEST_EN - DTEST Enable 25081 * 0b0..Disables DTEST. The DTEST pins assume their mission function. 25082 * 0b1..Enables DTEST. The contents of the selected page (DTEST_PAGE) will appear on the DTEST output pins. 25083 */ 25084 #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) 25085 #define XCVR_CTRL_DTEST_CTRL_GPIO0_OVLAY_PIN_MASK (0xF00U) 25086 #define XCVR_CTRL_DTEST_CTRL_GPIO0_OVLAY_PIN_SHIFT (8U) 25087 #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) 25088 #define XCVR_CTRL_DTEST_CTRL_GPIO1_OVLAY_PIN_MASK (0xF000U) 25089 #define XCVR_CTRL_DTEST_CTRL_GPIO1_OVLAY_PIN_SHIFT (12U) 25090 #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) 25091 #define XCVR_CTRL_DTEST_CTRL_TSM_GPIO_OVLAY_MASK (0x30000U) 25092 #define XCVR_CTRL_DTEST_CTRL_TSM_GPIO_OVLAY_SHIFT (16U) 25093 /*! TSM_GPIO_OVLAY - TSM GPIO Overlay Pin Control 25094 * 0b00..there is no overlay, and the DTEST Page Table dictates the node that appears on each DTEST pin. 25095 * 0b01..the register GPIO0_OVLAY_PIN[3:0] selects the DTEST pin on which GPIO0_TRIG_EN will appear. 25096 * 0b10..the register GPIO1_OVLAY_PIN[3:0] selects the DTEST pin on which GPIO1_TRIG_EN will appear. 25097 * 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. 25098 */ 25099 #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) 25100 #define XCVR_CTRL_DTEST_CTRL_DTEST_SHFT_MASK (0x7000000U) 25101 #define XCVR_CTRL_DTEST_CTRL_DTEST_SHFT_SHIFT (24U) 25102 #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) 25103 #define XCVR_CTRL_DTEST_CTRL_DTEST_CCA2_SEL_MASK (0x8000000U) 25104 #define XCVR_CTRL_DTEST_CTRL_DTEST_CCA2_SEL_SHIFT (27U) 25105 /*! DTEST_CCA2_SEL - DTEST CCA Mode 2 Selector 25106 * 0b0..cca2_max_or_sym[7:0] = cca2_cnt_sym[7:0] 25107 * 0b1..cca2_max_or_sym[7:0] = cca2_cnt_max[7:0] 25108 */ 25109 #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) 25110 #define XCVR_CTRL_DTEST_CTRL_RAW_MODE_I_MASK (0x10000000U) 25111 #define XCVR_CTRL_DTEST_CTRL_RAW_MODE_I_SHIFT (28U) 25112 #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) 25113 #define XCVR_CTRL_DTEST_CTRL_RAW_MODE_Q_MASK (0x20000000U) 25114 #define XCVR_CTRL_DTEST_CTRL_RAW_MODE_Q_SHIFT (29U) 25115 #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) 25116 /*! @} */ 25117 25118 /*! @name DMA_CTRL - TRANSCEIVER DMA CONTROL */ 25119 /*! @{ */ 25120 #define XCVR_CTRL_DMA_CTRL_DMA_PAGE_MASK (0xFU) 25121 #define XCVR_CTRL_DMA_CTRL_DMA_PAGE_SHIFT (0U) 25122 /*! DMA_PAGE - Transceiver DMA Page Selector 25123 * 0b0000..DMA Idle 25124 * 0b0001..RX_DIG I and Q 25125 * 0b0010..RX_DIG I Only 25126 * 0b0011..RX_DIG Q Only 25127 * 0b0100..RAW ADC I and Q 25128 * 0b0101..RAW ADC I Only 25129 * 0b0110..RAW ADC Q only 25130 * 0b0111..DC Estimator I and Q 25131 * 0b1000..DC Estimator I Only 25132 * 0b1001..DC Estimator Q only 25133 * 0b1010..RX_DIG Phase Output 25134 * 0b1011..Reserved 25135 * 0b1100..Demodulator Soft Decision 25136 * 0b1101..Demodulator Data Output 25137 * 0b1110..Demodulator CFO Phase Output 25138 * 0b1111..Reserved 25139 */ 25140 #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) 25141 #define XCVR_CTRL_DMA_CTRL_DMA_EN_MASK (0x10U) 25142 #define XCVR_CTRL_DMA_CTRL_DMA_EN_SHIFT (4U) 25143 #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) 25144 #define XCVR_CTRL_DMA_CTRL_BYPASS_DMA_SYNC_MASK (0x20U) 25145 #define XCVR_CTRL_DMA_CTRL_BYPASS_DMA_SYNC_SHIFT (5U) 25146 /*! BYPASS_DMA_SYNC - Bypass External DMA Synchronization 25147 * 0b0..Don't Bypass External Synchronization. Use this setting if SINGLE_REQ_MODE=1. 25148 * 0b1..Bypass External Synchronization. This setting is mandatory if SINGLE_REQ_MODE=0. 25149 */ 25150 #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) 25151 #define XCVR_CTRL_DMA_CTRL_DMA_AA_TRIGGERED_MASK (0x40U) 25152 #define XCVR_CTRL_DMA_CTRL_DMA_AA_TRIGGERED_SHIFT (6U) 25153 #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) 25154 #define XCVR_CTRL_DMA_CTRL_DMA_TIMED_OUT_MASK (0x80U) 25155 #define XCVR_CTRL_DMA_CTRL_DMA_TIMED_OUT_SHIFT (7U) 25156 /*! DMA_TIMED_OUT - DMA Transfer Timed Out 25157 * 0b0..A DMA timeout has not occurred 25158 * 0b1..A DMA timeout has occurred in Single Request Mode since the last time this bit was cleared 25159 */ 25160 #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) 25161 #define XCVR_CTRL_DMA_CTRL_DMA_TIMEOUT_MASK (0xF00U) 25162 #define XCVR_CTRL_DMA_CTRL_DMA_TIMEOUT_SHIFT (8U) 25163 #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) 25164 #define XCVR_CTRL_DMA_CTRL_DMA_START_TRG_MASK (0x7000U) 25165 #define XCVR_CTRL_DMA_CTRL_DMA_START_TRG_SHIFT (12U) 25166 #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) 25167 #define XCVR_CTRL_DMA_CTRL_DMA_START_EDGE_MASK (0x8000U) 25168 #define XCVR_CTRL_DMA_CTRL_DMA_START_EDGE_SHIFT (15U) 25169 /*! DMA_START_EDGE - DMA Start Trigger Edge Selector 25170 * 0b0..Trigger fires on a rising edge of the selected trigger source 25171 * 0b1..Trigger fires on a falling edge of the selected trigger source 25172 */ 25173 #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) 25174 #define XCVR_CTRL_DMA_CTRL_DMA_START_TRIGGERED_MASK (0x10000U) 25175 #define XCVR_CTRL_DMA_CTRL_DMA_START_TRIGGERED_SHIFT (16U) 25176 #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) 25177 #define XCVR_CTRL_DMA_CTRL_SINGLE_REQ_MODE_MASK (0x20000U) 25178 #define XCVR_CTRL_DMA_CTRL_SINGLE_REQ_MODE_SHIFT (17U) 25179 /*! SINGLE_REQ_MODE - DMA Single Request Mode 25180 * 0b0..Disable Single Request Mode. The transceiver will assert ipd_req_radio_rx whenever it has a new sample ready for transfer. 25181 * 0b1..Enable Single Request Mode. A single initial request by the transceiver will transfer the entire DMA block of data 25182 */ 25183 #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) 25184 /*! @} */ 25185 25186 /*! @name DMA_DATA - TRANSCEIVER DMA DATA */ 25187 /*! @{ */ 25188 #define XCVR_CTRL_DMA_DATA_DMA_DATA_MASK (0xFFFFFFFFU) 25189 #define XCVR_CTRL_DMA_DATA_DMA_DATA_SHIFT (0U) 25190 #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) 25191 /*! @} */ 25192 25193 /*! @name PACKET_RAM_CTRL - PACKET RAM CONTROL */ 25194 /*! @{ */ 25195 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_PAGE_MASK (0xFU) 25196 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_PAGE_SHIFT (0U) 25197 /*! DBG_PAGE - Packet RAM Debug Page Selector 25198 * 0b0000..Packet RAM Debug Mode Idle 25199 * 0b0001..RX_DIG I and Q 25200 * 0b0010..Reserved 25201 * 0b0011..Reserved 25202 * 0b0100..RAW ADC I and Q 25203 * 0b0101..Reserved 25204 * 0b0110..Reserved 25205 * 0b0111..DC Estimator I and Q 25206 * 0b1000..Reserved 25207 * 0b1001..Reserved 25208 * 0b1010..RX_DIG Phase Output 25209 * 0b1011..Reserved 25210 * 0b1100..Demodulator Soft Decision 25211 * 0b1101..Demodulator Data Output 25212 * 0b1110..Demodulator CFO Phase Output 25213 * 0b1111..Reserved 25214 */ 25215 #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) 25216 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_EN_MASK (0x10U) 25217 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_EN_SHIFT (4U) 25218 #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) 25219 #define XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_PAGE_MASK (0x20U) 25220 #define XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_PAGE_SHIFT (5U) 25221 /*! XCVR_RAM_PAGE - RAM Page Selector for XCVR Access 25222 * 0b0..RAM0 is mapped into XCVR address space, between XCVR_BASE + 0x700, and XCVR_BASE + 0xFFF 25223 * 0b1..RAM1 is mapped into XCVR address space, between XCVR_BASE + 0x700, and XCVR_BASE + 0xFFF 25224 */ 25225 #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) 25226 #define XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_ALLOW_MASK (0x40U) 25227 #define XCVR_CTRL_PACKET_RAM_CTRL_XCVR_RAM_ALLOW_SHIFT (6U) 25228 /*! XCVR_RAM_ALLOW - Allow Packet RAM Transceiver Access 25229 * 0b0..Protocol Engines, and associated IPS busses, have exclusive access to Packet RAM (mission mode) 25230 * 0b1..Transceiver-space access to Packet RAM, including Packet RAM debug mode, are allowed 25231 */ 25232 #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) 25233 #define XCVR_CTRL_PACKET_RAM_CTRL_ALL_PROTOCOLS_ALLOW_MASK (0x80U) 25234 #define XCVR_CTRL_PACKET_RAM_CTRL_ALL_PROTOCOLS_ALLOW_SHIFT (7U) 25235 /*! ALL_PROTOCOLS_ALLOW - Allow IPS bus access to Packet RAM for any protocol at any time. 25236 * 0b0..IPS bus access to Packet RAM is restricted to the protocol engine currently selected by XCVR_CTRL[PROTOCOL]. 25237 * 0b1..All IPS bus access to Packet RAM permitted, regardless of XCVR_CTRL[PROTOCOL] setting 25238 */ 25239 #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) 25240 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_RAM_FULL_MASK (0x300U) 25241 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_RAM_FULL_SHIFT (8U) 25242 /*! DBG_RAM_FULL - DBG_RAM_FULL[1:0] 25243 * 0b00..Neither Packet RAM0 nor RAM1 is full 25244 * 0bx1..Packet RAM0 has been filled to capacity. 25245 * 0b1x..Packet RAM1 has been filled to capacity. 25246 */ 25247 #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) 25248 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_AA_TRIGGERED_MASK (0x400U) 25249 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_AA_TRIGGERED_SHIFT (10U) 25250 #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) 25251 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_SOFT_INFO_SEL_MASK (0x800U) 25252 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_SOFT_INFO_SEL_SHIFT (11U) 25253 /*! DBG_SOFT_INFO_SEL - Packet RAM Debug PHY Soft Info Output Selector 25254 * 0b0..PHY output bit_valid_int is used to capture soft decision data 25255 * 0b1..PHY output demod_vout is used to capture soft decision data 25256 */ 25257 #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) 25258 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRG_MASK (0x7000U) 25259 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRG_SHIFT (12U) 25260 #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) 25261 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_EDGE_MASK (0x8000U) 25262 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_EDGE_SHIFT (15U) 25263 /*! DBG_START_EDGE - Packet RAM Debug Start Trigger Edge Selector 25264 * 0b0..Trigger fires on a rising edge of the selected trigger source 25265 * 0b1..Trigger fires on a falling edge of the selected trigger source 25266 */ 25267 #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) 25268 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRG_MASK (0xF0000U) 25269 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRG_SHIFT (16U) 25270 #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) 25271 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_EDGE_MASK (0x100000U) 25272 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_EDGE_SHIFT (20U) 25273 /*! DBG_STOP_EDGE - Packet RAM Debug Stop Trigger Edge Selector 25274 * 0b0..Trigger fires on a rising edge of the selected trigger source 25275 * 0b1..Trigger fires on a falling edge of the selected trigger source 25276 */ 25277 #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) 25278 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRIGGERED_MASK (0x200000U) 25279 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_START_TRIGGERED_SHIFT (21U) 25280 #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) 25281 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRIGGERED_MASK (0x400000U) 25282 #define XCVR_CTRL_PACKET_RAM_CTRL_DBG_STOP_TRIGGERED_SHIFT (22U) 25283 #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) 25284 #define XCVR_CTRL_PACKET_RAM_CTRL_PB_PROTECT_MASK (0x800000U) 25285 #define XCVR_CTRL_PACKET_RAM_CTRL_PB_PROTECT_SHIFT (23U) 25286 /*! PB_PROTECT - Packet Buffer Protect 25287 * 0b0..Incoming received packets overwrite Packet Buffer RX contents (default) 25288 * 0b1..Incoming received packets are blocked from overwriting Packet Buffer RX contents 25289 */ 25290 #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) 25291 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_EN_MASK (0x1000000U) 25292 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_EN_SHIFT (24U) 25293 /*! RAM0_CLK_ON_OVRD_EN - Override control for RAM0 Clock Gate Enable 25294 * 0b0..Normal operation. 25295 * 0b1..Use the state of RAM0_CLK_ON_OVRD to override the RAM0 Clock Gate Enable. 25296 */ 25297 #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) 25298 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_MASK (0x2000000U) 25299 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CLK_ON_OVRD_SHIFT (25U) 25300 #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) 25301 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_EN_MASK (0x4000000U) 25302 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_EN_SHIFT (26U) 25303 /*! RAM1_CLK_ON_OVRD_EN - Override control for RAM1 Clock Gate Enable 25304 * 0b0..Normal operation. 25305 * 0b1..Use the state of RAM1_CLK_ON_OVRD to override the RAM1 Clock Gate Enable. 25306 */ 25307 #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) 25308 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_MASK (0x8000000U) 25309 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CLK_ON_OVRD_SHIFT (27U) 25310 #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) 25311 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_EN_MASK (0x10000000U) 25312 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_EN_SHIFT (28U) 25313 /*! RAM0_CE_ON_OVRD_EN - Override control for RAM0 CE (Chip Enable) 25314 * 0b0..Normal operation. 25315 * 0b1..Use the state of RAM0_CE_ON_OVRD to override the RAM0 CE. 25316 */ 25317 #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) 25318 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_MASK (0x20000000U) 25319 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM0_CE_ON_OVRD_SHIFT (29U) 25320 #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) 25321 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_EN_MASK (0x40000000U) 25322 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_EN_SHIFT (30U) 25323 /*! RAM1_CE_ON_OVRD_EN - Override control for RAM1 CE (Chip Enable) 25324 * 0b0..Normal operation. 25325 * 0b1..Use the state of RAM1_CE_ON_OVRD to override the RAM1 CE. 25326 */ 25327 #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) 25328 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_MASK (0x80000000U) 25329 #define XCVR_CTRL_PACKET_RAM_CTRL_RAM1_CE_ON_OVRD_SHIFT (31U) 25330 #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) 25331 /*! @} */ 25332 25333 /*! @name RAM_STOP_ADDR - PACKET RAM DEBUG RAM STOP ADDRESS */ 25334 /*! @{ */ 25335 #define XCVR_CTRL_RAM_STOP_ADDR_RAM0_STOP_ADDR_MASK (0x7FFU) 25336 #define XCVR_CTRL_RAM_STOP_ADDR_RAM0_STOP_ADDR_SHIFT (0U) 25337 #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) 25338 #define XCVR_CTRL_RAM_STOP_ADDR_RAM1_STOP_ADDR_MASK (0x7FF0000U) 25339 #define XCVR_CTRL_RAM_STOP_ADDR_RAM1_STOP_ADDR_SHIFT (16U) 25340 #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) 25341 /*! @} */ 25342 25343 /*! @name FAD_CTRL - FAD CONTROL */ 25344 /*! @{ */ 25345 #define XCVR_CTRL_FAD_CTRL_FAD_EN_MASK (0x1U) 25346 #define XCVR_CTRL_FAD_CTRL_FAD_EN_SHIFT (0U) 25347 /*! FAD_EN - Fast Antenna Diversity Enable 25348 * 0b0..Fast Antenna Diversity disabled 25349 * 0b1..Fast Antenna Diversity enabled 25350 */ 25351 #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) 25352 #define XCVR_CTRL_FAD_CTRL_ANTX_MASK (0x2U) 25353 #define XCVR_CTRL_FAD_CTRL_ANTX_SHIFT (1U) 25354 #define XCVR_CTRL_FAD_CTRL_ANTX(x) (((uint32_t)(((uint32_t)(x)) << XCVR_CTRL_FAD_CTRL_ANTX_SHIFT)) & XCVR_CTRL_FAD_CTRL_ANTX_MASK) 25355 #define XCVR_CTRL_FAD_CTRL_ANTX_OVRD_EN_MASK (0x4U) 25356 #define XCVR_CTRL_FAD_CTRL_ANTX_OVRD_EN_SHIFT (2U) 25357 #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) 25358 #define XCVR_CTRL_FAD_CTRL_ANTX_OVRD_MASK (0x8U) 25359 #define XCVR_CTRL_FAD_CTRL_ANTX_OVRD_SHIFT (3U) 25360 #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) 25361 #define XCVR_CTRL_FAD_CTRL_ANTX_EN_MASK (0x30U) 25362 #define XCVR_CTRL_FAD_CTRL_ANTX_EN_SHIFT (4U) 25363 /*! ANTX_EN - FAD Antenna Controls Enable 25364 * 0b00..all disabled (held low) 25365 * 0b01..only RX/TX_SWITCH enabled 25366 * 0b10..only ANT_A/B enabled 25367 * 0b11..all enabled 25368 */ 25369 #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) 25370 #define XCVR_CTRL_FAD_CTRL_ANTX_HZ_MASK (0x40U) 25371 #define XCVR_CTRL_FAD_CTRL_ANTX_HZ_SHIFT (6U) 25372 /*! ANTX_HZ - FAD PAD Tristate Control 25373 * 0b0..ANT_A, ANT_B, RX_SWITCH and TX_SWITCH are actively driven outputs. 25374 * 0b1..Antenna controls high impedance- Set ANT_A, ANT_B, RX_SWITCH and TX_SWITCH in high impedance. 25375 */ 25376 #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) 25377 #define XCVR_CTRL_FAD_CTRL_ANTX_CTRLMODE_MASK (0x80U) 25378 #define XCVR_CTRL_FAD_CTRL_ANTX_CTRLMODE_SHIFT (7U) 25379 #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) 25380 #define XCVR_CTRL_FAD_CTRL_ANTX_POL_MASK (0xF00U) 25381 #define XCVR_CTRL_FAD_CTRL_ANTX_POL_SHIFT (8U) 25382 #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) 25383 #define XCVR_CTRL_FAD_CTRL_FAD_NOT_GPIO_MASK (0xF000U) 25384 #define XCVR_CTRL_FAD_CTRL_FAD_NOT_GPIO_SHIFT (12U) 25385 #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) 25386 /*! @} */ 25387 25388 /*! @name LPPS_CTRL - LOW POWER PREAMBLE SEARCH CONTROL */ 25389 /*! @{ */ 25390 #define XCVR_CTRL_LPPS_CTRL_LPPS_ENABLE_MASK (0x1U) 25391 #define XCVR_CTRL_LPPS_CTRL_LPPS_ENABLE_SHIFT (0U) 25392 #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) 25393 #define XCVR_CTRL_LPPS_CTRL_LPPS_TZA_ALLOW_MASK (0x2U) 25394 #define XCVR_CTRL_LPPS_CTRL_LPPS_TZA_ALLOW_SHIFT (1U) 25395 #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) 25396 #define XCVR_CTRL_LPPS_CTRL_LPPS_BBA_ALLOW_MASK (0x4U) 25397 #define XCVR_CTRL_LPPS_CTRL_LPPS_BBA_ALLOW_SHIFT (2U) 25398 #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) 25399 #define XCVR_CTRL_LPPS_CTRL_LPPS_ADC_ALLOW_MASK (0x8U) 25400 #define XCVR_CTRL_LPPS_CTRL_LPPS_ADC_ALLOW_SHIFT (3U) 25401 #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) 25402 #define XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_ALLOW_MASK (0x10U) 25403 #define XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_ALLOW_SHIFT (4U) 25404 #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) 25405 #define XCVR_CTRL_LPPS_CTRL_LPPS_PDET_ALLOW_MASK (0x20U) 25406 #define XCVR_CTRL_LPPS_CTRL_LPPS_PDET_ALLOW_SHIFT (5U) 25407 #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) 25408 #define XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_ALLOW_MASK (0x40U) 25409 #define XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_ALLOW_SHIFT (6U) 25410 #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) 25411 #define XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_BUF_ALLOW_MASK (0x80U) 25412 #define XCVR_CTRL_LPPS_CTRL_LPPS_SY_LO_BUF_ALLOW_SHIFT (7U) 25413 #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) 25414 #define XCVR_CTRL_LPPS_CTRL_LPPS_RX_DIG_ALLOW_MASK (0x100U) 25415 #define XCVR_CTRL_LPPS_CTRL_LPPS_RX_DIG_ALLOW_SHIFT (8U) 25416 #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) 25417 #define XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_DIG_ALLOW_MASK (0x200U) 25418 #define XCVR_CTRL_LPPS_CTRL_LPPS_DCOC_DIG_ALLOW_SHIFT (9U) 25419 #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) 25420 #define XCVR_CTRL_LPPS_CTRL_LPPS_START_RX_MASK (0xFF0000U) 25421 #define XCVR_CTRL_LPPS_CTRL_LPPS_START_RX_SHIFT (16U) 25422 #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) 25423 #define XCVR_CTRL_LPPS_CTRL_LPPS_DEST_RX_MASK (0xFF000000U) 25424 #define XCVR_CTRL_LPPS_CTRL_LPPS_DEST_RX_SHIFT (24U) 25425 #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) 25426 /*! @} */ 25427 25428 /*! @name COEX_CTRL - COEXISTENCE CONTROL */ 25429 /*! @{ */ 25430 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_EN_MASK (0xFU) 25431 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_EN_SHIFT (0U) 25432 #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) 25433 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_TX_MASK (0x10U) 25434 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_TX_SHIFT (4U) 25435 /*! RF_NOT_ALLOWED_NO_TX - RF_NOT_ALLOWED_NO_TX 25436 * 0b0..Assertion on RF_NOT_ALLOWED has no effect on TX 25437 * 0b1..Assertion on RF_NOT_ALLOWED can abort TX 25438 */ 25439 #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) 25440 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_RX_MASK (0x20U) 25441 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_NO_RX_SHIFT (5U) 25442 /*! RF_NOT_ALLOWED_NO_RX - RF_NOT_ALLOWED_NO_RX 25443 * 0b0..Assertion on RF_NOT_ALLOWED has no effect on RX 25444 * 0b1..Assertion on RF_NOT_ALLOWED can abort RX 25445 */ 25446 #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) 25447 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_ASSERTED_MASK (0x40U) 25448 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_ASSERTED_SHIFT (6U) 25449 /*! RF_NOT_ALLOWED_ASSERTED - RF_NOT_ALLOWED_ASSERTED 25450 * 0b0..Assertion on RF_NOT_ALLOWED has not occurred 25451 * 0b1..Assertion on RF_NOT_ALLOWED has occurred since the last time this bit was cleared 25452 */ 25453 #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) 25454 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_TX_ABORT_MASK (0x80U) 25455 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_TX_ABORT_SHIFT (7U) 25456 /*! RF_NOT_ALLOWED_TX_ABORT - RF_NOT_ALLOWED_TX_ABORT 25457 * 0b0..A TX abort due to assertion on RF_NOT_ALLOWED has not occurred 25458 * 0b1..A TX abort due to assertion on RF_NOT_ALLOWED has occurred since the last time this bit was cleared 25459 */ 25460 #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) 25461 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_RX_ABORT_MASK (0x100U) 25462 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_RX_ABORT_SHIFT (8U) 25463 /*! RF_NOT_ALLOWED_RX_ABORT - RF_NOT_ALLOWED_RX_ABORT 25464 * 0b0..A RX abort due to assertion on RF_NOT_ALLOWED has not occurred 25465 * 0b1..A RX abort due to assertion on RF_NOT_ALLOWED has occurred since the last time this bit was cleared 25466 */ 25467 #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) 25468 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_MASK (0x200U) 25469 #define XCVR_CTRL_COEX_CTRL_RF_NOT_ALLOWED_SHIFT (9U) 25470 #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) 25471 #define XCVR_CTRL_COEX_CTRL_TSM_SPARE1_EXTEND_MASK (0xFF0000U) 25472 #define XCVR_CTRL_COEX_CTRL_TSM_SPARE1_EXTEND_SHIFT (16U) 25473 #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) 25474 /*! @} */ 25475 25476 /*! @name CRCW_CFG - CRC/WHITENER CONFIG REGISTER */ 25477 /*! @{ */ 25478 #define XCVR_CTRL_CRCW_CFG_CRCW_EN_MASK (0x1U) 25479 #define XCVR_CTRL_CRCW_CFG_CRCW_EN_SHIFT (0U) 25480 #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) 25481 #define XCVR_CTRL_CRCW_CFG_CRCW_EC_EN_MASK (0x2U) 25482 #define XCVR_CTRL_CRCW_CFG_CRCW_EC_EN_SHIFT (1U) 25483 #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) 25484 #define XCVR_CTRL_CRCW_CFG_CRC_ZERO_MASK (0x4U) 25485 #define XCVR_CTRL_CRCW_CFG_CRC_ZERO_SHIFT (2U) 25486 #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) 25487 #define XCVR_CTRL_CRCW_CFG_CRC_EARLY_FAIL_MASK (0x8U) 25488 #define XCVR_CTRL_CRCW_CFG_CRC_EARLY_FAIL_SHIFT (3U) 25489 #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) 25490 #define XCVR_CTRL_CRCW_CFG_CRC_RES_OUT_VLD_MASK (0x10U) 25491 #define XCVR_CTRL_CRCW_CFG_CRC_RES_OUT_VLD_SHIFT (4U) 25492 #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) 25493 #define XCVR_CTRL_CRCW_CFG_CRC_EC_OFFSET_MASK (0x7FF0000U) 25494 #define XCVR_CTRL_CRCW_CFG_CRC_EC_OFFSET_SHIFT (16U) 25495 #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) 25496 #define XCVR_CTRL_CRCW_CFG_CRC_EC_DONE_MASK (0x10000000U) 25497 #define XCVR_CTRL_CRCW_CFG_CRC_EC_DONE_SHIFT (28U) 25498 #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) 25499 #define XCVR_CTRL_CRCW_CFG_CRC_EC_FAIL_MASK (0x20000000U) 25500 #define XCVR_CTRL_CRCW_CFG_CRC_EC_FAIL_SHIFT (29U) 25501 #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) 25502 /*! @} */ 25503 25504 /*! @name CRC_EC_MASK - CRC ERROR CORRECTION MASK */ 25505 /*! @{ */ 25506 #define XCVR_CTRL_CRC_EC_MASK_CRC_EC_MASK_MASK (0xFFFFFFFFU) 25507 #define XCVR_CTRL_CRC_EC_MASK_CRC_EC_MASK_SHIFT (0U) 25508 #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) 25509 /*! @} */ 25510 25511 /*! @name CRC_RES_OUT - CRC RESULT */ 25512 /*! @{ */ 25513 #define XCVR_CTRL_CRC_RES_OUT_CRC_RES_OUT_MASK (0xFFFFFFFFU) 25514 #define XCVR_CTRL_CRC_RES_OUT_CRC_RES_OUT_SHIFT (0U) 25515 #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) 25516 /*! @} */ 25517 25518 /*! @name CRCW_CFG2 - CRC/WHITENER CONFIG 2 REGISTER */ 25519 /*! @{ */ 25520 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_BYTES_MASK (0xFFU) 25521 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_BYTES_SHIFT (0U) 25522 #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) 25523 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_WND_MASK (0xF00U) 25524 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_SPKT_WND_SHIFT (8U) 25525 #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) 25526 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_LPKT_WND_MASK (0xF000U) 25527 #define XCVR_CTRL_CRCW_CFG2_CRC_EC_LPKT_WND_SHIFT (12U) 25528 #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) 25529 /*! @} */ 25530 25531 25532 /*! 25533 * @} 25534 */ /* end of group XCVR_CTRL_Register_Masks */ 25535 25536 25537 /* XCVR_CTRL - Peripheral instance base addresses */ 25538 /** Peripheral XCVR_MISC base address */ 25539 #define XCVR_MISC_BASE (0x41030280u) 25540 /** Peripheral XCVR_MISC base pointer */ 25541 #define XCVR_MISC ((XCVR_CTRL_Type *)XCVR_MISC_BASE) 25542 /** Array initializer of XCVR_CTRL peripheral base addresses */ 25543 #define XCVR_CTRL_BASE_ADDRS { XCVR_MISC_BASE } 25544 /** Array initializer of XCVR_CTRL peripheral base pointers */ 25545 #define XCVR_CTRL_BASE_PTRS { XCVR_MISC } 25546 25547 /*! 25548 * @} 25549 */ /* end of group XCVR_CTRL_Peripheral_Access_Layer */ 25550 25551 25552 /* ---------------------------------------------------------------------------- 25553 -- XCVR_PHY Peripheral Access Layer 25554 ---------------------------------------------------------------------------- */ 25555 25556 /*! 25557 * @addtogroup XCVR_PHY_Peripheral_Access_Layer XCVR_PHY Peripheral Access Layer 25558 * @{ 25559 */ 25560 25561 /** XCVR_PHY - Register Layout Typedef */ 25562 typedef struct { 25563 __IO uint32_t PHY_FSK_PD_CFG0; /**< Preamble Detect Config 0, offset: 0x0 */ 25564 __IO uint32_t PHY_FSK_PD_CFG1; /**< Preamble Detect Config 1, offset: 0x4 */ 25565 __IO uint32_t PHY_FSK_CFG; /**< PHY Configuration, offset: 0x8 */ 25566 __IO uint32_t PHY_FSK_MISC; /**< PHY Misc. Configuration, offset: 0xC */ 25567 __IO uint32_t NTW_ADR_BSM; /**< PHY BSM Network Address, offset: 0x10 */ 25568 __I uint32_t FSK_STAT; /**< PHY Status, offset: 0x14 */ 25569 __IO uint32_t FSK_FAD_CTRL; /**< PHY FAD control, offset: 0x18 */ 25570 } XCVR_PHY_Type; 25571 25572 /* ---------------------------------------------------------------------------- 25573 -- XCVR_PHY Register Masks 25574 ---------------------------------------------------------------------------- */ 25575 25576 /*! 25577 * @addtogroup XCVR_PHY_Register_Masks XCVR_PHY Register Masks 25578 * @{ 25579 */ 25580 25581 /*! @name PHY_FSK_PD_CFG0 - Preamble Detect Config 0 */ 25582 /*! @{ */ 25583 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF0_MASK (0x1FU) 25584 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF0_SHIFT (0U) 25585 #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) 25586 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF1_MASK (0x3E0U) 25587 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF1_SHIFT (5U) 25588 #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) 25589 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF2_MASK (0x7C00U) 25590 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF2_SHIFT (10U) 25591 #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) 25592 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF3_MASK (0xF8000U) 25593 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF3_SHIFT (15U) 25594 #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) 25595 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF4_MASK (0x1F00000U) 25596 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF4_SHIFT (20U) 25597 #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) 25598 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF5_MASK (0x3E000000U) 25599 #define XCVR_PHY_PHY_FSK_PD_CFG0_PRE_REF5_SHIFT (25U) 25600 #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) 25601 #define XCVR_PHY_PHY_FSK_PD_CFG0_PHY_CLK_ON_MASK (0x80000000U) 25602 #define XCVR_PHY_PHY_FSK_PD_CFG0_PHY_CLK_ON_SHIFT (31U) 25603 #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) 25604 /*! @} */ 25605 25606 /*! @name PHY_FSK_PD_CFG1 - Preamble Detect Config 1 */ 25607 /*! @{ */ 25608 #define XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF6_MASK (0x1FU) 25609 #define XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF6_SHIFT (0U) 25610 #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) 25611 #define XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF7_MASK (0x3E0U) 25612 #define XCVR_PHY_PHY_FSK_PD_CFG1_PRE_REF7_SHIFT (5U) 25613 #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) 25614 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_TIMEOUT_MASK (0x7C00U) 25615 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_TIMEOUT_SHIFT (10U) 25616 #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) 25617 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_THRESH_MASK (0xFF0000U) 25618 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_THRESH_SHIFT (16U) 25619 #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) 25620 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_FREQ_THRESH_MASK (0xFE000000U) 25621 #define XCVR_PHY_PHY_FSK_PD_CFG1_PD_FREQ_THRESH_SHIFT (25U) 25622 #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) 25623 /*! @} */ 25624 25625 /*! @name PHY_FSK_CFG - PHY Configuration */ 25626 /*! @{ */ 25627 #define XCVR_PHY_PHY_FSK_CFG_AA_PLAYBACK_MASK (0x1U) 25628 #define XCVR_PHY_PHY_FSK_CFG_AA_PLAYBACK_SHIFT (0U) 25629 /*! AA_PLAYBACK 25630 * 0b0..PHY will only output bits after the AA. 25631 * 0b1..PHY will output the AA, followed by the rest of the packet bits. 25632 */ 25633 #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) 25634 #define XCVR_PHY_PHY_FSK_CFG_AA_OUT_SEL_MASK (0x2U) 25635 #define XCVR_PHY_PHY_FSK_CFG_AA_OUT_SEL_SHIFT (1U) 25636 /*! AA_OUT_SEL 25637 * 0b0..When AA playback is enabled, play back desired AA. 25638 * 0b1..When AA playback is enabled, play back received AA. 25639 */ 25640 #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) 25641 #define XCVR_PHY_PHY_FSK_CFG_FSK_BIT_INVERT_MASK (0x4U) 25642 #define XCVR_PHY_PHY_FSK_CFG_FSK_BIT_INVERT_SHIFT (2U) 25643 /*! FSK_BIT_INVERT 25644 * 0b0..Normal demodulation. 25645 * 0b1..Invert demodulated bits. This applies at the demodulator, so it affects both AA and the data portions of the packet. 25646 */ 25647 #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) 25648 #define XCVR_PHY_PHY_FSK_CFG_BSM_EN_BLE_MASK (0x8U) 25649 #define XCVR_PHY_PHY_FSK_CFG_BSM_EN_BLE_SHIFT (3U) 25650 #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) 25651 #define XCVR_PHY_PHY_FSK_CFG_AA_CORR_GAIN_MASK (0x3F0U) 25652 #define XCVR_PHY_PHY_FSK_CFG_AA_CORR_GAIN_SHIFT (4U) 25653 #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) 25654 #define XCVR_PHY_PHY_FSK_CFG_PDB_CONF_EN_MASK (0x400U) 25655 #define XCVR_PHY_PHY_FSK_CFG_PDB_CONF_EN_SHIFT (10U) 25656 #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) 25657 #define XCVR_PHY_PHY_FSK_CFG_PDA_CONF_EN_MASK (0x800U) 25658 #define XCVR_PHY_PHY_FSK_CFG_PDA_CONF_EN_SHIFT (11U) 25659 #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) 25660 #define XCVR_PHY_PHY_FSK_CFG_DEMOD_TIMEOUT_MASK (0x3F000U) 25661 #define XCVR_PHY_PHY_FSK_CFG_DEMOD_TIMEOUT_SHIFT (12U) 25662 #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) 25663 #define XCVR_PHY_PHY_FSK_CFG_PDB_COMP_EN_MASK (0x40000U) 25664 #define XCVR_PHY_PHY_FSK_CFG_PDB_COMP_EN_SHIFT (18U) 25665 #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) 25666 #define XCVR_PHY_PHY_FSK_CFG_PDA_COMP_EN_MASK (0x80000U) 25667 #define XCVR_PHY_PHY_FSK_CFG_PDA_COMP_EN_SHIFT (19U) 25668 #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) 25669 #define XCVR_PHY_PHY_FSK_CFG_BLE_NTW_ADR_THR_MASK (0x700000U) 25670 #define XCVR_PHY_PHY_FSK_CFG_BLE_NTW_ADR_THR_SHIFT (20U) 25671 #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) 25672 #define XCVR_PHY_PHY_FSK_CFG_PD_LAT_BASE_MASK (0x7800000U) 25673 #define XCVR_PHY_PHY_FSK_CFG_PD_LAT_BASE_SHIFT (23U) 25674 #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) 25675 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_SW_EN_MASK (0x8000000U) 25676 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_SW_EN_SHIFT (27U) 25677 #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) 25678 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_A_MASK (0x30000000U) 25679 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_A_SHIFT (28U) 25680 /*! PD_MODE_A 25681 * 0b10..PD mode 2, pattern based preamble detection. 25682 * 0b11..PD mode 3, peak based preamble detection. 25683 */ 25684 #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) 25685 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_B_MASK (0xC0000000U) 25686 #define XCVR_PHY_PHY_FSK_CFG_PD_MODE_B_SHIFT (30U) 25687 /*! PD_MODE_B 25688 * 0b10..PD mode 2, pattern based preamble detection. 25689 * 0b11..PD mode 3, peak based preamble detection. 25690 */ 25691 #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) 25692 /*! @} */ 25693 25694 /*! @name PHY_FSK_MISC - PHY Misc. Configuration */ 25695 /*! @{ */ 25696 #define XCVR_PHY_PHY_FSK_MISC_FORCE_AA_MASK (0x1U) 25697 #define XCVR_PHY_PHY_FSK_MISC_FORCE_AA_SHIFT (0U) 25698 #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) 25699 #define XCVR_PHY_PHY_FSK_MISC_EL_EN_MASK (0x2U) 25700 #define XCVR_PHY_PHY_FSK_MISC_EL_EN_SHIFT (1U) 25701 #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) 25702 #define XCVR_PHY_PHY_FSK_MISC_EL_WIN_SZ_MASK (0xF0U) 25703 #define XCVR_PHY_PHY_FSK_MISC_EL_WIN_SZ_SHIFT (4U) 25704 #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) 25705 #define XCVR_PHY_PHY_FSK_MISC_EL_INTERVAL_MASK (0x3F00U) 25706 #define XCVR_PHY_PHY_FSK_MISC_EL_INTERVAL_SHIFT (8U) 25707 #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) 25708 #define XCVR_PHY_PHY_FSK_MISC_MSK_EN_MASK (0x4000U) 25709 #define XCVR_PHY_PHY_FSK_MISC_MSK_EN_SHIFT (14U) 25710 #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) 25711 #define XCVR_PHY_PHY_FSK_MISC_PD_THRESH_B_MASK (0xFF0000U) 25712 #define XCVR_PHY_PHY_FSK_MISC_PD_THRESH_B_SHIFT (16U) 25713 #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) 25714 #define XCVR_PHY_PHY_FSK_MISC_FIFO_PRE_CHARGE_MASK (0xF000000U) 25715 #define XCVR_PHY_PHY_FSK_MISC_FIFO_PRE_CHARGE_SHIFT (24U) 25716 #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) 25717 #define XCVR_PHY_PHY_FSK_MISC_CLK_CTRL_MASK (0xF0000000U) 25718 #define XCVR_PHY_PHY_FSK_MISC_CLK_CTRL_SHIFT (28U) 25719 /*! CLK_CTRL 25720 * 0b0001..Gate off PHY clock when phy_en is not asserted. 25721 * 0b0010..Gate off preamble detect clock when pd_enable is not asserted (internal signal). 25722 * 0b0100..Gate off AA synchronizer clock when synchronizer is not in use. 25723 * 0b1000..Gate off demodulator clock when demodulator is not in use. 25724 */ 25725 #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) 25726 /*! @} */ 25727 25728 /*! @name NTW_ADR_BSM - PHY BSM Network Address */ 25729 /*! @{ */ 25730 #define XCVR_PHY_NTW_ADR_BSM_NTW_ADR_BSM_MASK (0xFFFFFFFFU) 25731 #define XCVR_PHY_NTW_ADR_BSM_NTW_ADR_BSM_SHIFT (0U) 25732 #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) 25733 /*! @} */ 25734 25735 /*! @name FSK_STAT - PHY Status */ 25736 /*! @{ */ 25737 #define XCVR_PHY_FSK_STAT_PREAMBLE_FOUND_MASK (0x1U) 25738 #define XCVR_PHY_FSK_STAT_PREAMBLE_FOUND_SHIFT (0U) 25739 #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) 25740 #define XCVR_PHY_FSK_STAT_AA_MATCHED_MASK (0x2U) 25741 #define XCVR_PHY_FSK_STAT_AA_MATCHED_SHIFT (1U) 25742 #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) 25743 #define XCVR_PHY_FSK_STAT_AA_MATCH_MASK (0xF0U) 25744 #define XCVR_PHY_FSK_STAT_AA_MATCH_SHIFT (4U) 25745 #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) 25746 #define XCVR_PHY_FSK_STAT_HAMM_DIST_MASK (0xF00U) 25747 #define XCVR_PHY_FSK_STAT_HAMM_DIST_SHIFT (8U) 25748 #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) 25749 #define XCVR_PHY_FSK_STAT_CFO_EST_MASK (0xFF0000U) 25750 #define XCVR_PHY_FSK_STAT_CFO_EST_SHIFT (16U) 25751 #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) 25752 #define XCVR_PHY_FSK_STAT_TOF_OFF_MASK (0xF000000U) 25753 #define XCVR_PHY_FSK_STAT_TOF_OFF_SHIFT (24U) 25754 #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) 25755 /*! @} */ 25756 25757 /*! @name FSK_FAD_CTRL - PHY FAD control */ 25758 /*! @{ */ 25759 #define XCVR_PHY_FSK_FAD_CTRL_FAD_EN_MASK (0x1U) 25760 #define XCVR_PHY_FSK_FAD_CTRL_FAD_EN_SHIFT (0U) 25761 #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) 25762 #define XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DUR_MASK (0x7F0U) 25763 #define XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DUR_SHIFT (4U) 25764 #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) 25765 #define XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DLY_MASK (0x7F000U) 25766 #define XCVR_PHY_FSK_FAD_CTRL_FAD_PROC_DLY_SHIFT (12U) 25767 #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) 25768 #define XCVR_PHY_FSK_FAD_CTRL_FAD_THRESH_MASK (0xFF00000U) 25769 #define XCVR_PHY_FSK_FAD_CTRL_FAD_THRESH_SHIFT (20U) 25770 #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) 25771 #define XCVR_PHY_FSK_FAD_CTRL_PHY_DBG_CFG_MASK (0xF0000000U) 25772 #define XCVR_PHY_FSK_FAD_CTRL_PHY_DBG_CFG_SHIFT (28U) 25773 #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) 25774 /*! @} */ 25775 25776 25777 /*! 25778 * @} 25779 */ /* end of group XCVR_PHY_Register_Masks */ 25780 25781 25782 /* XCVR_PHY - Peripheral instance base addresses */ 25783 /** Peripheral XCVR_PHY base address */ 25784 #define XCVR_PHY_BASE (0x41030400u) 25785 /** Peripheral XCVR_PHY base pointer */ 25786 #define XCVR_PHY ((XCVR_PHY_Type *)XCVR_PHY_BASE) 25787 /** Array initializer of XCVR_PHY peripheral base addresses */ 25788 #define XCVR_PHY_BASE_ADDRS { XCVR_PHY_BASE } 25789 /** Array initializer of XCVR_PHY peripheral base pointers */ 25790 #define XCVR_PHY_BASE_PTRS { XCVR_PHY } 25791 25792 /*! 25793 * @} 25794 */ /* end of group XCVR_PHY_Peripheral_Access_Layer */ 25795 25796 25797 /* ---------------------------------------------------------------------------- 25798 -- XCVR_PKT_RAM Peripheral Access Layer 25799 ---------------------------------------------------------------------------- */ 25800 25801 /*! 25802 * @addtogroup XCVR_PKT_RAM_Peripheral_Access_Layer XCVR_PKT_RAM Peripheral Access Layer 25803 * @{ 25804 */ 25805 25806 /** XCVR_PKT_RAM - Register Layout Typedef */ 25807 typedef struct { 25808 __IO uint16_t PACKET_RAM[1152]; /**< Shared Packet RAM for multiple Link Layer usage., array offset: 0x0, array step: 0x2 */ 25809 } XCVR_PKT_RAM_Type; 25810 25811 /* ---------------------------------------------------------------------------- 25812 -- XCVR_PKT_RAM Register Masks 25813 ---------------------------------------------------------------------------- */ 25814 25815 /*! 25816 * @addtogroup XCVR_PKT_RAM_Register_Masks XCVR_PKT_RAM Register Masks 25817 * @{ 25818 */ 25819 25820 /*! @name PACKET_RAM - Shared Packet RAM for multiple Link Layer usage. */ 25821 /*! @{ */ 25822 #define XCVR_PKT_RAM_PACKET_RAM_LSBYTE_MASK (0xFFU) 25823 #define XCVR_PKT_RAM_PACKET_RAM_LSBYTE_SHIFT (0U) 25824 #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) 25825 #define XCVR_PKT_RAM_PACKET_RAM_MSBYTE_MASK (0xFF00U) 25826 #define XCVR_PKT_RAM_PACKET_RAM_MSBYTE_SHIFT (8U) 25827 #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) 25828 /*! @} */ 25829 25830 /* The count of XCVR_PKT_RAM_PACKET_RAM */ 25831 #define XCVR_PKT_RAM_PACKET_RAM_COUNT (1152U) 25832 25833 25834 /*! 25835 * @} 25836 */ /* end of group XCVR_PKT_RAM_Register_Masks */ 25837 25838 25839 /* XCVR_PKT_RAM - Peripheral instance base addresses */ 25840 /** Peripheral XCVR_PKT_RAM base address */ 25841 #define XCVR_PKT_RAM_BASE (0x41030700u) 25842 /** Peripheral XCVR_PKT_RAM base pointer */ 25843 #define XCVR_PKT_RAM ((XCVR_PKT_RAM_Type *)XCVR_PKT_RAM_BASE) 25844 /** Array initializer of XCVR_PKT_RAM peripheral base addresses */ 25845 #define XCVR_PKT_RAM_BASE_ADDRS { XCVR_PKT_RAM_BASE } 25846 /** Array initializer of XCVR_PKT_RAM peripheral base pointers */ 25847 #define XCVR_PKT_RAM_BASE_PTRS { XCVR_PKT_RAM } 25848 25849 /*! 25850 * @} 25851 */ /* end of group XCVR_PKT_RAM_Peripheral_Access_Layer */ 25852 25853 25854 /* ---------------------------------------------------------------------------- 25855 -- XCVR_PLL_DIG Peripheral Access Layer 25856 ---------------------------------------------------------------------------- */ 25857 25858 /*! 25859 * @addtogroup XCVR_PLL_DIG_Peripheral_Access_Layer XCVR_PLL_DIG Peripheral Access Layer 25860 * @{ 25861 */ 25862 25863 /** XCVR_PLL_DIG - Register Layout Typedef */ 25864 typedef struct { 25865 __IO uint32_t HPM_BUMP; /**< PLL HPM Analog Bump Control, offset: 0x0 */ 25866 __IO uint32_t MOD_CTRL; /**< PLL Modulation Control, offset: 0x4 */ 25867 __IO uint32_t CHAN_MAP; /**< PLL Channel Mapping, offset: 0x8 */ 25868 __IO uint32_t LOCK_DETECT; /**< PLL Lock Detect Control, offset: 0xC */ 25869 __IO uint32_t HPM_CTRL; /**< PLL High Port Modulator Control, offset: 0x10 */ 25870 uint8_t RESERVED_0[12]; 25871 __IO uint32_t HPM_SDM_RES; /**< PLL High Port Sigma Delta Results, offset: 0x20 */ 25872 __IO uint32_t LPM_CTRL; /**< PLL Low Port Modulator Control, offset: 0x24 */ 25873 __IO uint32_t LPM_SDM_CTRL1; /**< PLL Low Port Sigma Delta Control 1, offset: 0x28 */ 25874 __IO uint32_t LPM_SDM_CTRL2; /**< PLL Low Port Sigma Delta Control 2, offset: 0x2C */ 25875 __IO uint32_t LPM_SDM_CTRL3; /**< PLL Low Port Sigma Delta Control 3, offset: 0x30 */ 25876 __I uint32_t LPM_SDM_RES1; /**< PLL Low Port Sigma Delta Result 1, offset: 0x34 */ 25877 __I uint32_t LPM_SDM_RES2; /**< PLL Low Port Sigma Delta Result 2, offset: 0x38 */ 25878 __IO uint32_t DELAY_MATCH; /**< PLL Delay Matching, offset: 0x3C */ 25879 __IO uint32_t CTUNE_CTRL; /**< PLL Coarse Tune Control, offset: 0x40 */ 25880 uint8_t RESERVED_1[16]; 25881 __I uint32_t CTUNE_RES; /**< PLL Coarse Tune Results, offset: 0x54 */ 25882 } XCVR_PLL_DIG_Type; 25883 25884 /* ---------------------------------------------------------------------------- 25885 -- XCVR_PLL_DIG Register Masks 25886 ---------------------------------------------------------------------------- */ 25887 25888 /*! 25889 * @addtogroup XCVR_PLL_DIG_Register_Masks XCVR_PLL_DIG Register Masks 25890 * @{ 25891 */ 25892 25893 /*! @name HPM_BUMP - PLL HPM Analog Bump Control */ 25894 /*! @{ */ 25895 #define XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_TX_MASK (0x7U) 25896 #define XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_TX_SHIFT (0U) 25897 /*! HPM_VCM_TX - rfctrl_tx_dac_bump_vcm[2:0] during Transmission 25898 * 0b000..432 mV 25899 * 0b001..328 mV 25900 * 0b010..456 mV 25901 * 0b011..473 mV 25902 * 0b100..488 mV 25903 * 0b101..408 mV 25904 * 0b110..392 mV 25905 * 0b111..376 mV 25906 */ 25907 #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) 25908 #define XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_CAL_MASK (0x70U) 25909 #define XCVR_PLL_DIG_HPM_BUMP_HPM_VCM_CAL_SHIFT (4U) 25910 /*! HPM_VCM_CAL - rfctrl_tx_dac_bump_vcm[2:0] during Calibration 25911 * 0b000..432 mV 25912 * 0b001..328 mV 25913 * 0b010..456 mV 25914 * 0b011..473 mV 25915 * 0b100..488 mV 25916 * 0b101..408 mV 25917 * 0b110..392 mV 25918 * 0b111..376 mV 25919 */ 25920 #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) 25921 #define XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_TX_MASK (0x300U) 25922 #define XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_TX_SHIFT (8U) 25923 /*! HPM_FDB_RES_TX - rfctrl_tx_dac_bump_fdb_res[1:0] during Transmission 25924 * 0b00..29 kohms 25925 * 0b01..58 kohms(gain of 2) 25926 * 0b10..13 kohms 25927 * 0b11..23.7 kohms 25928 */ 25929 #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) 25930 #define XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_CAL_MASK (0x3000U) 25931 #define XCVR_PLL_DIG_HPM_BUMP_HPM_FDB_RES_CAL_SHIFT (12U) 25932 /*! HPM_FDB_RES_CAL - rfctrl_tx_dac_bump_fdb_res[1:0] during Calibration 25933 * 0b00..29 kohms 25934 * 0b01..58 kohms(gain of 2) 25935 * 0b10..13 kohms 25936 * 0b11..23.7 kohms 25937 */ 25938 #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) 25939 /*! @} */ 25940 25941 /*! @name MOD_CTRL - PLL Modulation Control */ 25942 /*! @{ */ 25943 #define XCVR_PLL_DIG_MOD_CTRL_MODULATION_WORD_MANUAL_MASK (0x1FFFU) 25944 #define XCVR_PLL_DIG_MOD_CTRL_MODULATION_WORD_MANUAL_SHIFT (0U) 25945 #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) 25946 #define XCVR_PLL_DIG_MOD_CTRL_MOD_DISABLE_MASK (0x8000U) 25947 #define XCVR_PLL_DIG_MOD_CTRL_MOD_DISABLE_SHIFT (15U) 25948 #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) 25949 #define XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_MANUAL_MASK (0xFF0000U) 25950 #define XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_MANUAL_SHIFT (16U) 25951 #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) 25952 #define XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_DISABLE_MASK (0x8000000U) 25953 #define XCVR_PLL_DIG_MOD_CTRL_HPM_MOD_DISABLE_SHIFT (27U) 25954 #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) 25955 #define XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_MANUAL_MASK (0x30000000U) 25956 #define XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_MANUAL_SHIFT (28U) 25957 #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) 25958 #define XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_DISABLE_MASK (0x80000000U) 25959 #define XCVR_PLL_DIG_MOD_CTRL_HPM_SDM_OUT_DISABLE_SHIFT (31U) 25960 #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) 25961 /*! @} */ 25962 25963 /*! @name CHAN_MAP - PLL Channel Mapping */ 25964 /*! @{ */ 25965 #define XCVR_PLL_DIG_CHAN_MAP_CHANNEL_NUM_MASK (0x7FU) 25966 #define XCVR_PLL_DIG_CHAN_MAP_CHANNEL_NUM_SHIFT (0U) 25967 #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) 25968 #define XCVR_PLL_DIG_CHAN_MAP_BOC_MASK (0x100U) 25969 #define XCVR_PLL_DIG_CHAN_MAP_BOC_SHIFT (8U) 25970 /*! BOC - BLE Channel Number Override 25971 * 0b0..BLE channel number comes from the BLE Link Layer 25972 * 0b1..BLE channel number comes from the CHANNEL_NUM register (BLE protocols 0 and 2) 25973 */ 25974 #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) 25975 #define XCVR_PLL_DIG_CHAN_MAP_BMR_MASK (0x200U) 25976 #define XCVR_PLL_DIG_CHAN_MAP_BMR_SHIFT (9U) 25977 /*! BMR - BLE MBAN Channel Remap 25978 * 0b0..BLE channel 39 is mapped to BLE channel 39, 2.480 GHz 25979 * 0b1..BLE channel 39 is mapped to MBAN channel 39, 2.399 GHz 25980 */ 25981 #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) 25982 #define XCVR_PLL_DIG_CHAN_MAP_ZOC_MASK (0x400U) 25983 #define XCVR_PLL_DIG_CHAN_MAP_ZOC_SHIFT (10U) 25984 /*! ZOC - 802.15.4 Channel Number Override 25985 * 0b0..802.15.4 channel number comes from the 802.15.4 Link Layer. 25986 * 0b1..802.15.4 channel number comes from the CHANNEL_NUM register (802.15.4 protocols 4 and 5) 25987 */ 25988 #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) 25989 #define XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_MASK (0x70000U) 25990 #define XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_SHIFT (16U) 25991 /*! HOP_TBL_CFG_OVRD - Hop Table Configuration Override 25992 * 0b010..DFT_PATTERN[15:7] is signed offset to DFT_PATTERN[6:0] mapped channel number 25993 * 0b011..DFT_PATTERN[15:1] is signed Numerator, DFT_PATTERN[0] is integer selection 25994 */ 25995 #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) 25996 #define XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_EN_MASK (0x80000U) 25997 #define XCVR_PLL_DIG_CHAN_MAP_HOP_TBL_CFG_OVRD_EN_SHIFT (19U) 25998 #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) 25999 /*! @} */ 26000 26001 /*! @name LOCK_DETECT - PLL Lock Detect Control */ 26002 /*! @{ */ 26003 #define XCVR_PLL_DIG_LOCK_DETECT_CT_FAIL_MASK (0x1U) 26004 #define XCVR_PLL_DIG_LOCK_DETECT_CT_FAIL_SHIFT (0U) 26005 #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) 26006 #define XCVR_PLL_DIG_LOCK_DETECT_CTFF_MASK (0x2U) 26007 #define XCVR_PLL_DIG_LOCK_DETECT_CTFF_SHIFT (1U) 26008 #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) 26009 #define XCVR_PLL_DIG_LOCK_DETECT_CS_FAIL_MASK (0x4U) 26010 #define XCVR_PLL_DIG_LOCK_DETECT_CS_FAIL_SHIFT (2U) 26011 #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) 26012 #define XCVR_PLL_DIG_LOCK_DETECT_CSFF_MASK (0x8U) 26013 #define XCVR_PLL_DIG_LOCK_DETECT_CSFF_SHIFT (3U) 26014 #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) 26015 #define XCVR_PLL_DIG_LOCK_DETECT_FT_FAIL_MASK (0x10U) 26016 #define XCVR_PLL_DIG_LOCK_DETECT_FT_FAIL_SHIFT (4U) 26017 #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) 26018 #define XCVR_PLL_DIG_LOCK_DETECT_FTFF_MASK (0x20U) 26019 #define XCVR_PLL_DIG_LOCK_DETECT_FTFF_SHIFT (5U) 26020 #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) 26021 #define XCVR_PLL_DIG_LOCK_DETECT_TAFF_MASK (0x80U) 26022 #define XCVR_PLL_DIG_LOCK_DETECT_TAFF_SHIFT (7U) 26023 #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) 26024 #define XCVR_PLL_DIG_LOCK_DETECT_CTUNE_LDF_LEV_MASK (0xF00U) 26025 #define XCVR_PLL_DIG_LOCK_DETECT_CTUNE_LDF_LEV_SHIFT (8U) 26026 #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) 26027 #define XCVR_PLL_DIG_LOCK_DETECT_FTF_RX_THRSH_MASK (0x3F000U) 26028 #define XCVR_PLL_DIG_LOCK_DETECT_FTF_RX_THRSH_SHIFT (12U) 26029 #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) 26030 #define XCVR_PLL_DIG_LOCK_DETECT_FTW_RX_MASK (0x80000U) 26031 #define XCVR_PLL_DIG_LOCK_DETECT_FTW_RX_SHIFT (19U) 26032 /*! FTW_RX - RX Frequency Target Window time select 26033 * 0b0..4 us 26034 * 0b1..8 us 26035 */ 26036 #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) 26037 #define XCVR_PLL_DIG_LOCK_DETECT_FTF_TX_THRSH_MASK (0x3F00000U) 26038 #define XCVR_PLL_DIG_LOCK_DETECT_FTF_TX_THRSH_SHIFT (20U) 26039 #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) 26040 #define XCVR_PLL_DIG_LOCK_DETECT_FTW_TX_MASK (0x8000000U) 26041 #define XCVR_PLL_DIG_LOCK_DETECT_FTW_TX_SHIFT (27U) 26042 /*! FTW_TX - TX Frequency Target Window time select 26043 * 0b0..4 us 26044 * 0b1..8 us 26045 */ 26046 #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) 26047 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_GO_MASK (0x10000000U) 26048 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_GO_SHIFT (28U) 26049 #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) 26050 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_FINISHED_MASK (0x20000000U) 26051 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_FINISHED_SHIFT (29U) 26052 #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) 26053 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_TIME_MASK (0xC0000000U) 26054 #define XCVR_PLL_DIG_LOCK_DETECT_FREQ_COUNT_TIME_SHIFT (30U) 26055 /*! FREQ_COUNT_TIME - Frequency Meter Count Time 26056 * 0b00..800 us 26057 * 0b01..25 us 26058 * 0b10..50 us 26059 * 0b11..100 us 26060 */ 26061 #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) 26062 /*! @} */ 26063 26064 /*! @name HPM_CTRL - PLL High Port Modulator Control */ 26065 /*! @{ */ 26066 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_MANUAL_MASK (0x3FFU) 26067 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_MANUAL_SHIFT (0U) 26068 #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) 26069 #define XCVR_PLL_DIG_HPM_CTRL_HPFF_MASK (0x2000U) 26070 #define XCVR_PLL_DIG_HPM_CTRL_HPFF_SHIFT (13U) 26071 #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) 26072 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_OUT_INVERT_MASK (0x4000U) 26073 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_OUT_INVERT_SHIFT (14U) 26074 #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) 26075 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_DISABLE_MASK (0x8000U) 26076 #define XCVR_PLL_DIG_HPM_CTRL_HPM_SDM_IN_DISABLE_SHIFT (15U) 26077 #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) 26078 #define XCVR_PLL_DIG_HPM_CTRL_HPM_LFSR_SIZE_MASK (0x70000U) 26079 #define XCVR_PLL_DIG_HPM_CTRL_HPM_LFSR_SIZE_SHIFT (16U) 26080 /*! HPM_LFSR_SIZE - HPM LFSR Length 26081 * 0b000..LFSR 9, tap mask 100010000 26082 * 0b001..LFSR 10, tap mask 1001000000 26083 * 0b010..LFSR 11, tap mask 11101000000 26084 * 0b011..LFSR 13, tap mask 1101100000000 26085 * 0b100..LFSR 15, tap mask 111010000000000 26086 * 0b101..LFSR 17, tap mask 11110000000000000 26087 * 0b110..Reserved 26088 * 0b111..Reserved 26089 */ 26090 #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) 26091 #define XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_SCL_MASK (0x100000U) 26092 #define XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_SCL_SHIFT (20U) 26093 #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) 26094 #define XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_EN_MASK (0x800000U) 26095 #define XCVR_PLL_DIG_HPM_CTRL_HPM_DTH_EN_SHIFT (23U) 26096 #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) 26097 #define XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_SCALE_MASK (0x3000000U) 26098 #define XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_SCALE_SHIFT (24U) 26099 /*! HPM_INTEGER_SCALE - High Port Modulation Integer Scale 26100 * 0b00..No Scaling 26101 * 0b01..Multiply by 2 26102 * 0b10..Divide by 2 26103 * 0b11..Reserved 26104 */ 26105 #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) 26106 #define XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_INVERT_MASK (0x8000000U) 26107 #define XCVR_PLL_DIG_HPM_CTRL_HPM_INTEGER_INVERT_SHIFT (27U) 26108 #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) 26109 #define XCVR_PLL_DIG_HPM_CTRL_HPM_CAL_INVERT_MASK (0x10000000U) 26110 #define XCVR_PLL_DIG_HPM_CTRL_HPM_CAL_INVERT_SHIFT (28U) 26111 #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) 26112 #define XCVR_PLL_DIG_HPM_CTRL_HPM_MOD_IN_INVERT_MASK (0x80000000U) 26113 #define XCVR_PLL_DIG_HPM_CTRL_HPM_MOD_IN_INVERT_SHIFT (31U) 26114 #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) 26115 /*! @} */ 26116 26117 /*! @name HPM_SDM_RES - PLL High Port Sigma Delta Results */ 26118 /*! @{ */ 26119 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_NUM_SELECTED_MASK (0x3FFU) 26120 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_NUM_SELECTED_SHIFT (0U) 26121 #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) 26122 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_DENOM_MASK (0x3FF0000U) 26123 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_DENOM_SHIFT (16U) 26124 #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) 26125 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_COUNT_ADJUST_MASK (0xF0000000U) 26126 #define XCVR_PLL_DIG_HPM_SDM_RES_HPM_COUNT_ADJUST_SHIFT (28U) 26127 #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) 26128 /*! @} */ 26129 26130 /*! @name LPM_CTRL - PLL Low Port Modulator Control */ 26131 /*! @{ */ 26132 #define XCVR_PLL_DIG_LPM_CTRL_PLL_LD_MANUAL_MASK (0x1FU) 26133 #define XCVR_PLL_DIG_LPM_CTRL_PLL_LD_MANUAL_SHIFT (0U) 26134 #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) 26135 #define XCVR_PLL_DIG_LPM_CTRL_PLL_LD_DISABLE_MASK (0x800U) 26136 #define XCVR_PLL_DIG_LPM_CTRL_PLL_LD_DISABLE_SHIFT (11U) 26137 #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) 26138 #define XCVR_PLL_DIG_LPM_CTRL_LPFF_MASK (0x2000U) 26139 #define XCVR_PLL_DIG_LPM_CTRL_LPFF_SHIFT (13U) 26140 #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) 26141 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_INV_MASK (0x4000U) 26142 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_INV_SHIFT (14U) 26143 #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) 26144 #define XCVR_PLL_DIG_LPM_CTRL_LPM_DISABLE_MASK (0x8000U) 26145 #define XCVR_PLL_DIG_LPM_CTRL_LPM_DISABLE_SHIFT (15U) 26146 #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) 26147 #define XCVR_PLL_DIG_LPM_CTRL_LPM_DTH_SCL_MASK (0xF0000U) 26148 #define XCVR_PLL_DIG_LPM_CTRL_LPM_DTH_SCL_SHIFT (16U) 26149 /*! LPM_DTH_SCL - LPM Dither Scale 26150 * 0b0000..Reserved 26151 * 0b0001..Reserved 26152 * 0b0010..Reserved 26153 * 0b0011..Reserved 26154 * 0b0100..Reserved 26155 * 0b0101..-128 to 96 26156 * 0b0110..-256 to 192 26157 * 0b0111..-512 to 384 26158 * 0b1000..-1024 to 768, this is the intended setting for normal operation. 26159 * 0b1001..-2048 to 1536 26160 * 0b1010..-4096 to 3072 26161 * 0b1011..-8192 to 6144 26162 * 0b1100..Reserved 26163 * 0b1101..Reserved 26164 * 0b1110..Reserved 26165 * 0b1111..Reserved 26166 */ 26167 #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) 26168 #define XCVR_PLL_DIG_LPM_CTRL_LPM_D_CTRL_MASK (0x400000U) 26169 #define XCVR_PLL_DIG_LPM_CTRL_LPM_D_CTRL_SHIFT (22U) 26170 #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) 26171 #define XCVR_PLL_DIG_LPM_CTRL_LPM_D_OVRD_MASK (0x800000U) 26172 #define XCVR_PLL_DIG_LPM_CTRL_LPM_D_OVRD_SHIFT (23U) 26173 #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) 26174 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SCALE_MASK (0xF000000U) 26175 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SCALE_SHIFT (24U) 26176 /*! LPM_SCALE - LPM Scale Factor 26177 * 0b0000..No Scaling 26178 * 0b0001..Multiply by 2 26179 * 0b0010..Multiply by 4 26180 * 0b0011..Multiply by 8 26181 * 0b0100..Multiply by 16 26182 * 0b0101..Multiply by 32 26183 * 0b0110..Multiply by 64 26184 * 0b0111..Multiply by 128 26185 * 0b1000..Multiply by 256, this is the intended setting for normal operation. 26186 * 0b1001..Multiply by 512 26187 * 0b1010..Multiply by 1024 26188 * 0b1011..Multiply by 2048 26189 * 0b1100..Reserved 26190 * 0b1101..Reserved 26191 * 0b1110..Reserved 26192 * 0b1111..Reserved 26193 */ 26194 #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) 26195 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_USE_NEG_MASK (0x80000000U) 26196 #define XCVR_PLL_DIG_LPM_CTRL_LPM_SDM_USE_NEG_SHIFT (31U) 26197 #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) 26198 /*! @} */ 26199 26200 /*! @name LPM_SDM_CTRL1 - PLL Low Port Sigma Delta Control 1 */ 26201 /*! @{ */ 26202 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_SELECTED_MASK (0x7FU) 26203 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_SELECTED_SHIFT (0U) 26204 #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) 26205 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_HPM_ARRAY_BIAS_MASK (0x7F00U) 26206 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_HPM_ARRAY_BIAS_SHIFT (8U) 26207 #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) 26208 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_MASK (0x7F0000U) 26209 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_LPM_INTG_SHIFT (16U) 26210 #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) 26211 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_SDM_MAP_DISABLE_MASK (0x80000000U) 26212 #define XCVR_PLL_DIG_LPM_SDM_CTRL1_SDM_MAP_DISABLE_SHIFT (31U) 26213 #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) 26214 /*! @} */ 26215 26216 /*! @name LPM_SDM_CTRL2 - PLL Low Port Sigma Delta Control 2 */ 26217 /*! @{ */ 26218 #define XCVR_PLL_DIG_LPM_SDM_CTRL2_LPM_NUM_MASK (0xFFFFFFFU) 26219 #define XCVR_PLL_DIG_LPM_SDM_CTRL2_LPM_NUM_SHIFT (0U) 26220 #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) 26221 /*! @} */ 26222 26223 /*! @name LPM_SDM_CTRL3 - PLL Low Port Sigma Delta Control 3 */ 26224 /*! @{ */ 26225 #define XCVR_PLL_DIG_LPM_SDM_CTRL3_LPM_DENOM_MASK (0xFFFFFFFU) 26226 #define XCVR_PLL_DIG_LPM_SDM_CTRL3_LPM_DENOM_SHIFT (0U) 26227 #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) 26228 /*! @} */ 26229 26230 /*! @name LPM_SDM_RES1 - PLL Low Port Sigma Delta Result 1 */ 26231 /*! @{ */ 26232 #define XCVR_PLL_DIG_LPM_SDM_RES1_LPM_NUM_SELECTED_MASK (0xFFFFFFFU) 26233 #define XCVR_PLL_DIG_LPM_SDM_RES1_LPM_NUM_SELECTED_SHIFT (0U) 26234 #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) 26235 /*! @} */ 26236 26237 /*! @name LPM_SDM_RES2 - PLL Low Port Sigma Delta Result 2 */ 26238 /*! @{ */ 26239 #define XCVR_PLL_DIG_LPM_SDM_RES2_LPM_DENOM_SELECTED_MASK (0xFFFFFFFU) 26240 #define XCVR_PLL_DIG_LPM_SDM_RES2_LPM_DENOM_SELECTED_SHIFT (0U) 26241 #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) 26242 /*! @} */ 26243 26244 /*! @name DELAY_MATCH - PLL Delay Matching */ 26245 /*! @{ */ 26246 #define XCVR_PLL_DIG_DELAY_MATCH_LPM_SDM_DELAY_MASK (0xFU) 26247 #define XCVR_PLL_DIG_DELAY_MATCH_LPM_SDM_DELAY_SHIFT (0U) 26248 #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) 26249 #define XCVR_PLL_DIG_DELAY_MATCH_HPM_SDM_DELAY_MASK (0xF00U) 26250 #define XCVR_PLL_DIG_DELAY_MATCH_HPM_SDM_DELAY_SHIFT (8U) 26251 #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) 26252 #define XCVR_PLL_DIG_DELAY_MATCH_HPM_INTEGER_DELAY_MASK (0xF0000U) 26253 #define XCVR_PLL_DIG_DELAY_MATCH_HPM_INTEGER_DELAY_SHIFT (16U) 26254 #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) 26255 /*! @} */ 26256 26257 /*! @name CTUNE_CTRL - PLL Coarse Tune Control */ 26258 /*! @{ */ 26259 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_MANUAL_MASK (0xFFFU) 26260 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_MANUAL_SHIFT (0U) 26261 #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) 26262 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_DISABLE_MASK (0x8000U) 26263 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_TARGET_DISABLE_SHIFT (15U) 26264 #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) 26265 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_ADJUST_MASK (0xF0000U) 26266 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_ADJUST_SHIFT (16U) 26267 #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) 26268 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_MANUAL_MASK (0x7F000000U) 26269 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_MANUAL_SHIFT (24U) 26270 #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) 26271 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_DISABLE_MASK (0x80000000U) 26272 #define XCVR_PLL_DIG_CTUNE_CTRL_CTUNE_DISABLE_SHIFT (31U) 26273 #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) 26274 /*! @} */ 26275 26276 /*! @name CTUNE_RES - PLL Coarse Tune Results */ 26277 /*! @{ */ 26278 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_SELECTED_MASK (0x7FU) 26279 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_SELECTED_SHIFT (0U) 26280 #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) 26281 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_BEST_DIFF_MASK (0xFF00U) 26282 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_BEST_DIFF_SHIFT (8U) 26283 #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) 26284 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_FREQ_SELECTED_MASK (0xFFF0000U) 26285 #define XCVR_PLL_DIG_CTUNE_RES_CTUNE_FREQ_SELECTED_SHIFT (16U) 26286 #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) 26287 /*! @} */ 26288 26289 26290 /*! 26291 * @} 26292 */ /* end of group XCVR_PLL_DIG_Register_Masks */ 26293 26294 26295 /* XCVR_PLL_DIG - Peripheral instance base addresses */ 26296 /** Peripheral XCVR_PLL_DIG base address */ 26297 #define XCVR_PLL_DIG_BASE (0x41030224u) 26298 /** Peripheral XCVR_PLL_DIG base pointer */ 26299 #define XCVR_PLL_DIG ((XCVR_PLL_DIG_Type *)XCVR_PLL_DIG_BASE) 26300 /** Array initializer of XCVR_PLL_DIG peripheral base addresses */ 26301 #define XCVR_PLL_DIG_BASE_ADDRS { XCVR_PLL_DIG_BASE } 26302 /** Array initializer of XCVR_PLL_DIG peripheral base pointers */ 26303 #define XCVR_PLL_DIG_BASE_PTRS { XCVR_PLL_DIG } 26304 26305 /*! 26306 * @} 26307 */ /* end of group XCVR_PLL_DIG_Peripheral_Access_Layer */ 26308 26309 26310 /* ---------------------------------------------------------------------------- 26311 -- XCVR_RX_DIG Peripheral Access Layer 26312 ---------------------------------------------------------------------------- */ 26313 26314 /*! 26315 * @addtogroup XCVR_RX_DIG_Peripheral_Access_Layer XCVR_RX_DIG Peripheral Access Layer 26316 * @{ 26317 */ 26318 26319 /** XCVR_RX_DIG - Register Layout Typedef */ 26320 typedef struct { 26321 __IO uint32_t RX_DIG_CTRL; /**< RX Digital Control, offset: 0x0 */ 26322 __IO uint32_t AGC_CTRL_0; /**< AGC Control 0, offset: 0x4 */ 26323 __IO uint32_t AGC_CTRL_1; /**< AGC Control 1, offset: 0x8 */ 26324 __IO uint32_t AGC_CTRL_2; /**< AGC Control 2, offset: 0xC */ 26325 __IO uint32_t AGC_CTRL_3; /**< AGC Control 3, offset: 0x10 */ 26326 __I uint32_t AGC_STAT; /**< AGC Status, offset: 0x14 */ 26327 __IO uint32_t RSSI_CTRL_0; /**< RSSI Control 0, offset: 0x18 */ 26328 __IO uint32_t RSSI_CTRL_1; /**< RSSI Control 1, offset: 0x1C */ 26329 uint8_t RESERVED_0[4]; 26330 __IO uint32_t DCOC_CTRL_0; /**< DCOC Control 0, offset: 0x24 */ 26331 __IO uint32_t DCOC_CTRL_1; /**< DCOC Control 1, offset: 0x28 */ 26332 __IO uint32_t DCOC_DAC_INIT; /**< DCOC DAC Initialization, offset: 0x2C */ 26333 __IO uint32_t DCOC_DIG_MAN; /**< DCOC Digital Correction Manual Override, offset: 0x30 */ 26334 __IO uint32_t DCOC_CAL_GAIN; /**< DCOC Calibration Gain, offset: 0x34 */ 26335 __I uint32_t DCOC_STAT; /**< DCOC Status, offset: 0x38 */ 26336 __I uint32_t DCOC_DC_EST; /**< DCOC DC Estimate, offset: 0x3C */ 26337 __IO uint32_t DCOC_CAL_RCP; /**< DCOC Calibration Reciprocals, offset: 0x40 */ 26338 __IO uint32_t DCOC_CTRL_2; /**< DCOC Control 2, offset: 0x44 */ 26339 __IO uint32_t IQMC_CTRL; /**< IQMC Control, offset: 0x48 */ 26340 __IO uint32_t IQMC_CAL; /**< IQMC Calibration, offset: 0x4C */ 26341 __IO uint32_t LNA_GAIN_VAL_3_0; /**< LNA_GAIN Step Values 3..0, offset: 0x50 */ 26342 __IO uint32_t LNA_GAIN_VAL_7_4; /**< LNA_GAIN Step Values 7..4, offset: 0x54 */ 26343 __IO uint32_t LNA_GAIN_VAL_8; /**< LNA_GAIN Step Values 8, offset: 0x58 */ 26344 __IO uint32_t BBA_RES_TUNE_VAL_7_0; /**< BBA Resistor Tune Values 7..0, offset: 0x5C */ 26345 __IO uint32_t BBA_RES_TUNE_VAL_10_8; /**< BBA Resistor Tune Values 10..8, offset: 0x60 */ 26346 __IO uint32_t LNA_GAIN_LIN_VAL_2_0; /**< LNA Linear Gain Values 2..0, offset: 0x64 */ 26347 __IO uint32_t LNA_GAIN_LIN_VAL_5_3; /**< LNA Linear Gain Values 5..3, offset: 0x68 */ 26348 __IO uint32_t LNA_GAIN_LIN_VAL_8_6; /**< LNA Linear Gain Values 8..6, offset: 0x6C */ 26349 __IO uint32_t LNA_GAIN_LIN_VAL_9; /**< LNA Linear Gain Values 9, offset: 0x70 */ 26350 __IO uint32_t BBA_RES_TUNE_LIN_VAL_3_0; /**< BBA Resistor Tune Values 3..0, offset: 0x74 */ 26351 __IO uint32_t BBA_RES_TUNE_LIN_VAL_7_4; /**< BBA Resistor Tune Values 7..4, offset: 0x78 */ 26352 __IO uint32_t BBA_RES_TUNE_LIN_VAL_10_8; /**< BBA Resistor Tune Values 10..8, offset: 0x7C */ 26353 __IO uint32_t AGC_GAIN_TBL_03_00; /**< AGC Gain Tables Step 03..00, offset: 0x80 */ 26354 __IO uint32_t AGC_GAIN_TBL_07_04; /**< AGC Gain Tables Step 07..04, offset: 0x84 */ 26355 __IO uint32_t AGC_GAIN_TBL_11_08; /**< AGC Gain Tables Step 11..08, offset: 0x88 */ 26356 __IO uint32_t AGC_GAIN_TBL_15_12; /**< AGC Gain Tables Step 15..12, offset: 0x8C */ 26357 __IO uint32_t AGC_GAIN_TBL_19_16; /**< AGC Gain Tables Step 19..16, offset: 0x90 */ 26358 __IO uint32_t AGC_GAIN_TBL_23_20; /**< AGC Gain Tables Step 23..20, offset: 0x94 */ 26359 __IO uint32_t AGC_GAIN_TBL_26_24; /**< AGC Gain Tables Step 26..24, offset: 0x98 */ 26360 uint8_t RESERVED_1[4]; 26361 __IO uint32_t DCOC_OFFSET[27]; /**< DCOC Offset, array offset: 0xA0, array step: 0x4 */ 26362 __IO uint32_t DCOC_BBA_STEP; /**< DCOC BBA DAC Step, offset: 0x10C */ 26363 __IO uint32_t DCOC_TZA_STEP_0; /**< DCOC TZA DAC Step 0, offset: 0x110 */ 26364 __IO uint32_t DCOC_TZA_STEP_1; /**< DCOC TZA DAC Step 1, offset: 0x114 */ 26365 __IO uint32_t DCOC_TZA_STEP_2; /**< DCOC TZA DAC Step 2, offset: 0x118 */ 26366 __IO uint32_t DCOC_TZA_STEP_3; /**< DCOC TZA DAC Step 3, offset: 0x11C */ 26367 __IO uint32_t DCOC_TZA_STEP_4; /**< DCOC TZA DAC Step 4, offset: 0x120 */ 26368 __IO uint32_t DCOC_TZA_STEP_5; /**< DCOC TZA DAC Step 5, offset: 0x124 */ 26369 __IO uint32_t DCOC_TZA_STEP_6; /**< DCOC TZA DAC Step 6, offset: 0x128 */ 26370 __IO uint32_t DCOC_TZA_STEP_7; /**< DCOC TZA DAC Step 7, offset: 0x12C */ 26371 __IO uint32_t DCOC_TZA_STEP_8; /**< DCOC TZA DAC Step 5, offset: 0x130 */ 26372 __IO uint32_t DCOC_TZA_STEP_9; /**< DCOC TZA DAC Step 9, offset: 0x134 */ 26373 __IO uint32_t DCOC_TZA_STEP_10; /**< DCOC TZA DAC Step 10, offset: 0x138 */ 26374 uint8_t RESERVED_2[36]; 26375 __IO uint32_t DCOC_CAL_FAIL_TH; /**< DCOC Calibration Fail Thresholds, offset: 0x160 */ 26376 __IO uint32_t DCOC_CAL_PASS_TH; /**< DCOC Calibration Pass Thresholds, offset: 0x164 */ 26377 __I uint32_t DCOC_CAL_ALPHA; /**< DCOC Calibration Alpha, offset: 0x168 */ 26378 __I uint32_t DCOC_CAL_BETA_Q; /**< DCOC Calibration Beta Q, offset: 0x16C */ 26379 __I uint32_t DCOC_CAL_BETA_I; /**< DCOC Calibration Beta I, offset: 0x170 */ 26380 __I uint32_t DCOC_CAL_GAMMA; /**< DCOC Calibration Gamma, offset: 0x174 */ 26381 __IO uint32_t DCOC_CAL_IIR; /**< DCOC Calibration IIR, offset: 0x178 */ 26382 uint8_t RESERVED_3[4]; 26383 __I uint32_t DCOC_CAL[3]; /**< DCOC Calibration Result, array offset: 0x180, array step: 0x4 */ 26384 uint8_t RESERVED_4[4]; 26385 __IO uint32_t CCA_ED_LQI_CTRL_0; /**< RX_DIG CCA ED LQI Control Register 0, offset: 0x190 */ 26386 __IO uint32_t CCA_ED_LQI_CTRL_1; /**< RX_DIG CCA ED LQI Control Register 1, offset: 0x194 */ 26387 __I uint32_t CCA_ED_LQI_STAT_0; /**< RX_DIG CCA ED LQI Status Register 0, offset: 0x198 */ 26388 uint8_t RESERVED_5[4]; 26389 __IO uint32_t RX_CHF_COEF_0; /**< Receive Channel Filter Coefficient 0, offset: 0x1A0 */ 26390 __IO uint32_t RX_CHF_COEF_1; /**< Receive Channel Filter Coefficient 1, offset: 0x1A4 */ 26391 __IO uint32_t RX_CHF_COEF_2; /**< Receive Channel Filter Coefficient 2, offset: 0x1A8 */ 26392 __IO uint32_t RX_CHF_COEF_3; /**< Receive Channel Filter Coefficient 3, offset: 0x1AC */ 26393 __IO uint32_t RX_CHF_COEF_4; /**< Receive Channel Filter Coefficient 4, offset: 0x1B0 */ 26394 __IO uint32_t RX_CHF_COEF_5; /**< Receive Channel Filter Coefficient 5, offset: 0x1B4 */ 26395 __IO uint32_t RX_CHF_COEF_6; /**< Receive Channel Filter Coefficient 6, offset: 0x1B8 */ 26396 __IO uint32_t RX_CHF_COEF_7; /**< Receive Channel Filter Coefficient 7, offset: 0x1BC */ 26397 __IO uint32_t RX_CHF_COEF_8; /**< Receive Channel Filter Coefficient 8, offset: 0x1C0 */ 26398 __IO uint32_t RX_CHF_COEF_9; /**< Receive Channel Filter Coefficient 9, offset: 0x1C4 */ 26399 __IO uint32_t RX_CHF_COEF_10; /**< Receive Channel Filter Coefficient 10, offset: 0x1C8 */ 26400 __IO uint32_t RX_CHF_COEF_11; /**< Receive Channel Filter Coefficient 11, offset: 0x1CC */ 26401 __IO uint32_t AGC_MAN_AGC_IDX; /**< AGC Manual AGC Index, offset: 0x1D0 */ 26402 __IO uint32_t DC_RESID_CTRL; /**< DC Residual Control, offset: 0x1D4 */ 26403 __I uint32_t DC_RESID_EST; /**< DC Residual Estimate, offset: 0x1D8 */ 26404 __IO uint32_t RX_RCCAL_CTRL0; /**< RX RC Calibration Control0, offset: 0x1DC */ 26405 __IO uint32_t RX_RCCAL_CTRL1; /**< RX RC Calibration Control1, offset: 0x1E0 */ 26406 __I uint32_t RX_RCCAL_STAT; /**< RX RC Calibration Status, offset: 0x1E4 */ 26407 __IO uint32_t AUXPLL_FCAL_CTRL; /**< Aux PLL Frequency Calibration Control, offset: 0x1E8 */ 26408 __I uint32_t AUXPLL_FCAL_CNT6; /**< Aux PLL Frequency Calibration Count 6, offset: 0x1EC */ 26409 __I uint32_t AUXPLL_FCAL_CNT5_4; /**< Aux PLL Frequency Calibration Count 5 and 4, offset: 0x1F0 */ 26410 __I uint32_t AUXPLL_FCAL_CNT3_2; /**< Aux PLL Frequency Calibration Count 3 and 2, offset: 0x1F4 */ 26411 __I uint32_t AUXPLL_FCAL_CNT1_0; /**< Aux PLL Frequency Calibration Count 1 and 0, offset: 0x1F8 */ 26412 } XCVR_RX_DIG_Type; 26413 26414 /* ---------------------------------------------------------------------------- 26415 -- XCVR_RX_DIG Register Masks 26416 ---------------------------------------------------------------------------- */ 26417 26418 /*! 26419 * @addtogroup XCVR_RX_DIG_Register_Masks XCVR_RX_DIG Register Masks 26420 * @{ 26421 */ 26422 26423 /*! @name RX_DIG_CTRL - RX Digital Control */ 26424 /*! @{ */ 26425 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_NEGEDGE_MASK (0x1U) 26426 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_NEGEDGE_SHIFT (0U) 26427 /*! RX_ADC_NEGEDGE - Receive ADC Negative Edge Selection 26428 * 0b0..Register ADC data on positive edge of clock 26429 * 0b1..Register ADC data on negative edge of clock 26430 */ 26431 #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) 26432 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_BYPASS_MASK (0x2U) 26433 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_BYPASS_SHIFT (1U) 26434 /*! RX_CH_FILT_BYPASS - Receive Channel Filter Bypass 26435 * 0b0..Channel filter is enabled. 26436 * 0b1..Disable and bypass channel filter. 26437 */ 26438 #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) 26439 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_POL_MASK (0x8U) 26440 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_ADC_POL_SHIFT (3U) 26441 /*! RX_ADC_POL - Receive ADC Polarity 26442 * 0b0..ADC output of 1'b0 maps to -1, 1'b1 maps to +1 (default) 26443 * 0b1..ADC output of 1'b0 maps to +1, 1'b1 maps to -1 26444 */ 26445 #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) 26446 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_OSR_MASK (0xF0U) 26447 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_OSR_SHIFT (4U) 26448 /*! RX_DEC_FILT_OSR - Decimation Filter Oversampling 26449 * 0b0000..OSR 4 26450 * 0b0001..OSR 8 26451 * 0b0010..OSR 16 26452 * 0b0100..OSR 32 26453 * 0b1000..OSR 64 26454 * 0b0011..OSR 6 26455 * 0b0101..OSR 12 26456 * 0b0110..OSR 24 26457 * 0b0111..OSR 48 26458 */ 26459 #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) 26460 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_FSK_ZB_SEL_MASK (0x100U) 26461 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_FSK_ZB_SEL_SHIFT (8U) 26462 /*! RX_FSK_ZB_SEL - FSK / 802.15.4 demodulator select 26463 * 0b0..FSK demodulator. 26464 * 0b1..802.15.4 demodulator. 26465 */ 26466 #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) 26467 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_EN_MASK (0x200U) 26468 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_EN_SHIFT (9U) 26469 /*! RX_NORM_SUPP_EN - Normalizer Suppression Enable 26470 * 0b0..Normalizer suppression is disabled. 26471 * 0b1..Normalizer suppression is enabled. 26472 */ 26473 #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) 26474 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_EN_MASK (0x400U) 26475 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_EN_SHIFT (10U) 26476 /*! RX_RSSI_EN - RSSI Measurement Enable 26477 * 0b0..RSSI measurement is disabled. 26478 * 0b1..RSSI measurement is enabled. 26479 */ 26480 #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) 26481 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_AGC_EN_MASK (0x800U) 26482 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_AGC_EN_SHIFT (11U) 26483 /*! RX_AGC_EN - AGC Global Enable 26484 * 0b0..AGC is disabled. 26485 * 0b1..AGC is enabled. 26486 */ 26487 #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) 26488 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_EN_MASK (0x1000U) 26489 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_EN_SHIFT (12U) 26490 /*! RX_DCOC_EN - DCOC Enable 26491 * 0b0..DCOC is disabled. 26492 * 0b1..DCOC is enabled. 26493 */ 26494 #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) 26495 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_CAL_EN_MASK (0x2000U) 26496 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DCOC_CAL_EN_SHIFT (13U) 26497 /*! RX_DCOC_CAL_EN - DCOC Calibration Enable 26498 * 0b0..DCOC calibration is disabled. 26499 * 0b1..DCOC calibration is enabled. 26500 */ 26501 #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) 26502 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_IQ_SWAP_MASK (0x4000U) 26503 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_IQ_SWAP_SHIFT (14U) 26504 /*! RX_IQ_SWAP - RX IQ Swap 26505 * 0b0..IQ swap is disabled. 26506 * 0b1..IQ swap is enabled. 26507 */ 26508 #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) 26509 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DC_RESID_EN_MASK (0x8000U) 26510 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DC_RESID_EN_SHIFT (15U) 26511 /*! RX_DC_RESID_EN - DC Residual Enable 26512 * 0b0..DC Residual block is disabled. 26513 * 0b1..DC Residual block is enabled. 26514 */ 26515 #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) 26516 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_EN_MASK (0x10000U) 26517 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_EN_SHIFT (16U) 26518 /*! RX_SRC_EN - RX Sample Rate Converter Enable 26519 * 0b0..SRC is disabled. 26520 * 0b1..SRC is enabled. 26521 */ 26522 #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) 26523 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_RATE_MASK (0x20000U) 26524 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_SRC_RATE_SHIFT (17U) 26525 /*! RX_SRC_RATE - RX Sample Rate Converter Rate Selections 26526 * 0b0..SRC is configured for a First Order Hold rate of 8/13. 26527 * 0b1..SRC is configured for a Zero Order Hold rate of 12/13. 26528 */ 26529 #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) 26530 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DMA_DTEST_EN_MASK (0x40000U) 26531 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DMA_DTEST_EN_SHIFT (18U) 26532 #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) 26533 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_LP_MASK (0x80000U) 26534 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_LP_SHIFT (19U) 26535 /*! RX_DEC_FILT_LP - RX Decimator Low Power 26536 * 0b0..Decimator operates in normal mode. 26537 * 0b1..Decimator operates in low power mode. 26538 */ 26539 #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) 26540 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_GAIN_MASK (0x1F00000U) 26541 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_GAIN_SHIFT (20U) 26542 #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) 26543 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HZD_CORR_DIS_MASK (0x2000000U) 26544 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HZD_CORR_DIS_SHIFT (25U) 26545 /*! RX_DEC_FILT_HZD_CORR_DIS - Decimator filter hazard correction disable 26546 * 0b0..Hazard correction is enabled 26547 * 0b1..Hazard correction is disabled 26548 */ 26549 #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) 26550 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_LEN_MASK (0x4000000U) 26551 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_CH_FILT_LEN_SHIFT (26U) 26552 /*! RX_CH_FILT_LEN - RX Channel Filter Length 26553 * 0b0..Channel filter length is 24. 26554 * 0b1..Channel filter length is 16. Only RX_CHF_COEF_4 - RX_CHF_COEF_11 are used in this mode. 26555 */ 26556 #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) 26557 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_TH_MASK (0x8000000U) 26558 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_NORM_SUPP_TH_SHIFT (27U) 26559 /*! RX_NORM_SUPP_TH - Normalizer Suppression Threshold 26560 * 0b0..Normalizer suppression threshold is 12'd7. 26561 * 0b1..Normalizer suppression threshold is 12'd15. 26562 */ 26563 #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) 26564 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HAZARD_MASK (0x10000000U) 26565 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_HAZARD_SHIFT (28U) 26566 /*! RX_DEC_FILT_HAZARD - Decimator output, hazard condition detected 26567 * 0b0..A hazard condition has not been detected 26568 * 0b1..A hazard condition has been detected 26569 */ 26570 #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) 26571 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_FILT_HAZARD_MASK (0x20000000U) 26572 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_RSSI_FILT_HAZARD_SHIFT (29U) 26573 /*! RX_RSSI_FILT_HAZARD - Decimator output for RSSI, hazard condition detected 26574 * 0b0..A hazard condition has not been detected 26575 * 0b1..A hazard condition has been detected 26576 */ 26577 #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) 26578 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_I_MASK (0x40000000U) 26579 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_I_SHIFT (30U) 26580 /*! RX_DEC_FILT_SAT_I - Decimator output, saturation detected for I channel 26581 * 0b0..A saturation condition has not occurred. 26582 * 0b1..A saturation condition has occurred. 26583 */ 26584 #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) 26585 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_Q_MASK (0x80000000U) 26586 #define XCVR_RX_DIG_RX_DIG_CTRL_RX_DEC_FILT_SAT_Q_SHIFT (31U) 26587 /*! RX_DEC_FILT_SAT_Q - Decimator output, saturation detected for Q channel 26588 * 0b0..A saturation condition has not occurred. 26589 * 0b1..A saturation condition has occurred. 26590 */ 26591 #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) 26592 /*! @} */ 26593 26594 /*! @name AGC_CTRL_0 - AGC Control 0 */ 26595 /*! @{ */ 26596 #define XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_EN_MASK (0x1U) 26597 #define XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_EN_SHIFT (0U) 26598 #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) 26599 #define XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_SRC_MASK (0x6U) 26600 #define XCVR_RX_DIG_AGC_CTRL_0_SLOW_AGC_SRC_SHIFT (1U) 26601 /*! SLOW_AGC_SRC - Slow AGC Source Selection 26602 * 0b00..Access Address match (for active protocol) 26603 * 0b01..Preamble Detect (for active protocol) 26604 * 0b10..Fast AGC expire timer 26605 * 0b11..Reserved 26606 */ 26607 #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) 26608 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_EN_MASK (0x8U) 26609 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_EN_SHIFT (3U) 26610 #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) 26611 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_SRC_MASK (0x30U) 26612 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_FREEZE_SRC_SHIFT (4U) 26613 /*! AGC_FREEZE_SRC - AGC Freeze Source Selection 26614 * 0b00..Access Address match (for active protocol) 26615 * 0b01..Preamble Detect (for active protocol) 26616 * 0b10..PD confirmation / Access Address match (for active protocol) 26617 */ 26618 #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) 26619 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_EN_MASK (0x40U) 26620 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_EN_SHIFT (6U) 26621 #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) 26622 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_SRC_MASK (0x80U) 26623 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_SRC_SHIFT (7U) 26624 /*! AGC_UP_SRC - AGC Up Source 26625 * 0b0..PDET LO 26626 * 0b1..RSSI 26627 */ 26628 #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) 26629 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_BBA_STEP_SZ_MASK (0xF00U) 26630 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_BBA_STEP_SZ_SHIFT (8U) 26631 #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) 26632 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_LNA_STEP_SZ_MASK (0xF000U) 26633 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_LNA_STEP_SZ_SHIFT (12U) 26634 #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) 26635 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_RSSI_THRESH_MASK (0xFF0000U) 26636 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_UP_RSSI_THRESH_SHIFT (16U) 26637 #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) 26638 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_MASK (0xFF000000U) 26639 #define XCVR_RX_DIG_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_SHIFT (24U) 26640 #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) 26641 /*! @} */ 26642 26643 /*! @name AGC_CTRL_1 - AGC Control 1 */ 26644 /*! @{ */ 26645 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_UP_THRESH_MASK (0xFU) 26646 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_UP_THRESH_SHIFT (0U) 26647 #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) 26648 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_DOWN_THRESH_MASK (0xF0U) 26649 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_DOWN_THRESH_SHIFT (4U) 26650 #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) 26651 #define XCVR_RX_DIG_AGC_CTRL_1_LNA_USER_GAIN_MASK (0xF000U) 26652 #define XCVR_RX_DIG_AGC_CTRL_1_LNA_USER_GAIN_SHIFT (12U) 26653 #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) 26654 #define XCVR_RX_DIG_AGC_CTRL_1_BBA_USER_GAIN_MASK (0xF0000U) 26655 #define XCVR_RX_DIG_AGC_CTRL_1_BBA_USER_GAIN_SHIFT (16U) 26656 #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) 26657 #define XCVR_RX_DIG_AGC_CTRL_1_USER_LNA_GAIN_EN_MASK (0x100000U) 26658 #define XCVR_RX_DIG_AGC_CTRL_1_USER_LNA_GAIN_EN_SHIFT (20U) 26659 #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) 26660 #define XCVR_RX_DIG_AGC_CTRL_1_USER_BBA_GAIN_EN_MASK (0x200000U) 26661 #define XCVR_RX_DIG_AGC_CTRL_1_USER_BBA_GAIN_EN_SHIFT (21U) 26662 #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) 26663 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_EN_MASK (0x400000U) 26664 #define XCVR_RX_DIG_AGC_CTRL_1_PRESLOW_EN_SHIFT (22U) 26665 /*! PRESLOW_EN - Pre-slow Enable 26666 * 0b0..Pre-slow is disabled. 26667 * 0b1..Pre-slow is enabled. 26668 */ 26669 #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) 26670 #define XCVR_RX_DIG_AGC_CTRL_1_PDET_HI_SEL_HOLD_MASK (0x800000U) 26671 #define XCVR_RX_DIG_AGC_CTRL_1_PDET_HI_SEL_HOLD_SHIFT (23U) 26672 /*! PDET_HI_SEL_HOLD - AGC HOLD hysteresis 26673 * 0b0..Disabled. 26674 * 0b1..Enabled. 26675 */ 26676 #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) 26677 #define XCVR_RX_DIG_AGC_CTRL_1_LNA_GAIN_SETTLE_TIME_MASK (0xFF000000U) 26678 #define XCVR_RX_DIG_AGC_CTRL_1_LNA_GAIN_SETTLE_TIME_SHIFT (24U) 26679 #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) 26680 /*! @} */ 26681 26682 /*! @name AGC_CTRL_2 - AGC Control 2 */ 26683 /*! @{ */ 26684 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_RST_MASK (0x1U) 26685 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_RST_SHIFT (0U) 26686 #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) 26687 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_RST_MASK (0x2U) 26688 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_RST_SHIFT (1U) 26689 #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) 26690 #define XCVR_RX_DIG_AGC_CTRL_2_MAN_PDET_RST_MASK (0x4U) 26691 #define XCVR_RX_DIG_AGC_CTRL_2_MAN_PDET_RST_SHIFT (2U) 26692 /*! MAN_PDET_RST - MAN PDET Reset 26693 * 0b0..The peak detector reset signals are controlled automatically by the AGC. 26694 * 0b1..The BBA_PDET_RST and TZA_PDET_RST are used to manually control the peak detector reset signals. 26695 */ 26696 #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) 26697 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_GAIN_SETTLE_TIME_MASK (0xFF0U) 26698 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_GAIN_SETTLE_TIME_SHIFT (4U) 26699 #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) 26700 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_LO_MASK (0x7000U) 26701 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_LO_SHIFT (12U) 26702 /*! BBA_PDET_SEL_LO - BBA PDET Threshold Low 26703 * 0b000..0.600V 26704 * 0b001..0.615V 26705 * 0b010..0.630V 26706 * 0b011..0.645V 26707 * 0b100..0.660V 26708 * 0b101..0.675V 26709 * 0b110..0.690V 26710 * 0b111..0.705V 26711 */ 26712 #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) 26713 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_HI_MASK (0x38000U) 26714 #define XCVR_RX_DIG_AGC_CTRL_2_BBA_PDET_SEL_HI_SHIFT (15U) 26715 /*! BBA_PDET_SEL_HI - BBA PDET Threshold High 26716 * 0b000..0.600V 26717 * 0b001..0.795V 26718 * 0b010..0.900V 26719 * 0b011..0.945V 26720 * 0b100..1.005V 26721 * 0b101..1.050V 26722 * 0b110..1.095V 26723 * 0b111..1.155V 26724 */ 26725 #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) 26726 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_LO_MASK (0x1C0000U) 26727 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_LO_SHIFT (18U) 26728 /*! TZA_PDET_SEL_LO - TZA PDET Threshold Low 26729 * 0b000..0.600V 26730 * 0b001..0.615V 26731 * 0b010..0.630V 26732 * 0b011..0.645V 26733 * 0b100..0.660V 26734 * 0b101..0.675V 26735 * 0b110..0.690V 26736 * 0b111..0.705V 26737 */ 26738 #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) 26739 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_HI_MASK (0xE00000U) 26740 #define XCVR_RX_DIG_AGC_CTRL_2_TZA_PDET_SEL_HI_SHIFT (21U) 26741 /*! TZA_PDET_SEL_HI - TZA PDET Threshold High 26742 * 0b000..0.600V 26743 * 0b001..0.645V 26744 * 0b010..0.705V 26745 * 0b011..0.750V 26746 * 0b100..0.795V 26747 * 0b101..0.855V 26748 * 0b110..0.900V 26749 * 0b111..0.945V 26750 */ 26751 #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) 26752 #define XCVR_RX_DIG_AGC_CTRL_2_AGC_FAST_EXPIRE_MASK (0x3F000000U) 26753 #define XCVR_RX_DIG_AGC_CTRL_2_AGC_FAST_EXPIRE_SHIFT (24U) 26754 #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) 26755 #define XCVR_RX_DIG_AGC_CTRL_2_LNA_LG_ON_OVR_MASK (0x40000000U) 26756 #define XCVR_RX_DIG_AGC_CTRL_2_LNA_LG_ON_OVR_SHIFT (30U) 26757 #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) 26758 #define XCVR_RX_DIG_AGC_CTRL_2_LNA_HG_ON_OVR_MASK (0x80000000U) 26759 #define XCVR_RX_DIG_AGC_CTRL_2_LNA_HG_ON_OVR_SHIFT (31U) 26760 #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) 26761 /*! @} */ 26762 26763 /*! @name AGC_CTRL_3 - AGC Control 3 */ 26764 /*! @{ */ 26765 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_UNFREEZE_TIME_MASK (0x1FFFU) 26766 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_UNFREEZE_TIME_SHIFT (0U) 26767 #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) 26768 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_PDET_LO_DLY_MASK (0xE000U) 26769 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_PDET_LO_DLY_SHIFT (13U) 26770 #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) 26771 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_RSSI_DELT_H2S_MASK (0x7F0000U) 26772 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_RSSI_DELT_H2S_SHIFT (16U) 26773 #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) 26774 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_H2S_STEP_SZ_MASK (0xF800000U) 26775 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_H2S_STEP_SZ_SHIFT (23U) 26776 #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) 26777 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_UP_STEP_SZ_MASK (0xF0000000U) 26778 #define XCVR_RX_DIG_AGC_CTRL_3_AGC_UP_STEP_SZ_SHIFT (28U) 26779 #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) 26780 /*! @} */ 26781 26782 /*! @name AGC_STAT - AGC Status */ 26783 /*! @{ */ 26784 #define XCVR_RX_DIG_AGC_STAT_BBA_PDET_LO_STAT_MASK (0x1U) 26785 #define XCVR_RX_DIG_AGC_STAT_BBA_PDET_LO_STAT_SHIFT (0U) 26786 #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) 26787 #define XCVR_RX_DIG_AGC_STAT_BBA_PDET_HI_STAT_MASK (0x2U) 26788 #define XCVR_RX_DIG_AGC_STAT_BBA_PDET_HI_STAT_SHIFT (1U) 26789 #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) 26790 #define XCVR_RX_DIG_AGC_STAT_TZA_PDET_LO_STAT_MASK (0x4U) 26791 #define XCVR_RX_DIG_AGC_STAT_TZA_PDET_LO_STAT_SHIFT (2U) 26792 #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) 26793 #define XCVR_RX_DIG_AGC_STAT_TZA_PDET_HI_STAT_MASK (0x8U) 26794 #define XCVR_RX_DIG_AGC_STAT_TZA_PDET_HI_STAT_SHIFT (3U) 26795 #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) 26796 #define XCVR_RX_DIG_AGC_STAT_CURR_AGC_IDX_MASK (0x1F0U) 26797 #define XCVR_RX_DIG_AGC_STAT_CURR_AGC_IDX_SHIFT (4U) 26798 #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) 26799 #define XCVR_RX_DIG_AGC_STAT_AGC_FROZEN_MASK (0x200U) 26800 #define XCVR_RX_DIG_AGC_STAT_AGC_FROZEN_SHIFT (9U) 26801 /*! AGC_FROZEN - AGC Frozen Status 26802 * 0b0..AGC is not frozen. 26803 * 0b1..AGC is frozen. 26804 */ 26805 #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) 26806 #define XCVR_RX_DIG_AGC_STAT_AGC_IDX_AA_MATCH_MASK (0x7C00U) 26807 #define XCVR_RX_DIG_AGC_STAT_AGC_IDX_AA_MATCH_SHIFT (10U) 26808 #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) 26809 #define XCVR_RX_DIG_AGC_STAT_RSSI_ADC_RAW_MASK (0xFF0000U) 26810 #define XCVR_RX_DIG_AGC_STAT_RSSI_ADC_RAW_SHIFT (16U) 26811 #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) 26812 /*! @} */ 26813 26814 /*! @name RSSI_CTRL_0 - RSSI Control 0 */ 26815 /*! @{ */ 26816 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_USE_VALS_MASK (0x1U) 26817 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_USE_VALS_SHIFT (0U) 26818 #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) 26819 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_SRC_MASK (0x6U) 26820 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_SRC_SHIFT (1U) 26821 /*! RSSI_HOLD_SRC - RSSI Hold Source Selection 26822 * 0b00..Access Address match 26823 * 0b01..Preamble Detect 26824 * 0b10..Reserved 26825 * 0b11..802.15.4 LQI done (1=freeze, 0=run AGC) 26826 */ 26827 #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) 26828 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_EN_MASK (0x8U) 26829 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_EN_SHIFT (3U) 26830 #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) 26831 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_MASK (0x60U) 26832 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_SHIFT (5U) 26833 /*! RSSI_IIR_CW_WEIGHT - RSSI IIR CW Weighting 26834 * 0b00..Bypass 26835 * 0b01..1/8 26836 * 0b10..1/16 26837 * 0b11..1/32 26838 */ 26839 #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) 26840 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_N_WINDOW_NB_MASK (0x380U) 26841 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_N_WINDOW_NB_SHIFT (7U) 26842 /*! RSSI_N_WINDOW_NB - RSSI N Window Average Narrowband 26843 * 0b000..No averaging 26844 * 0b001..Averaging window length is 2 samples 26845 * 0b010..Averaging window length is 4 samples 26846 * 0b011..Averaging window length is 8 samples 26847 * 0b100..Averaging window length is 16 samples 26848 * 0b101..Averaging window length is 32 samples 26849 */ 26850 #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) 26851 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_DELAY_MASK (0xFC00U) 26852 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_HOLD_DELAY_SHIFT (10U) 26853 #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) 26854 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_WT_NB_MASK (0x70000U) 26855 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_IIR_WT_NB_SHIFT (16U) 26856 /*! RSSI_IIR_WT_NB - RSSI IIR Weighting Narrowband 26857 * 0b000..Bypass 26858 * 0b001..1/2 26859 * 0b010..1/4 26860 * 0b011..1/8 26861 * 0b100..1/16 26862 * 0b101..1/32 26863 */ 26864 #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) 26865 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_VLD_SETTLE_MASK (0x700000U) 26866 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_VLD_SETTLE_SHIFT (20U) 26867 #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) 26868 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_ADJ_MASK (0xFF000000U) 26869 #define XCVR_RX_DIG_RSSI_CTRL_0_RSSI_ADJ_SHIFT (24U) 26870 #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) 26871 /*! @} */ 26872 26873 /*! @name RSSI_CTRL_1 - RSSI Control 1 */ 26874 /*! @{ */ 26875 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_N_WINDOW_WB_MASK (0x7U) 26876 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_N_WINDOW_WB_SHIFT (0U) 26877 /*! RSSI_N_WINDOW_WB - RSSI N Window Average Wideband 26878 * 0b000..No averaging 26879 * 0b001..Averaging window length is 2 samples 26880 * 0b010..Averaging window length is 4 samples 26881 * 0b011..Averaging window length is 8 samples 26882 * 0b100..Averaging window length is 16 samples 26883 * 0b101..Averaging window length is 32 samples 26884 */ 26885 #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) 26886 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_IIR_WT_WB_MASK (0x70U) 26887 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_IIR_WT_WB_SHIFT (4U) 26888 /*! RSSI_IIR_WT_WB - RSSI IIR Weighting Wideband 26889 * 0b000..Bypass 26890 * 0b001..1/2 26891 * 0b010..1/4 26892 * 0b011..1/8 26893 * 0b100..1/16 26894 * 0b101..1/32 26895 */ 26896 #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) 26897 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_OUT_MASK (0xFF000000U) 26898 #define XCVR_RX_DIG_RSSI_CTRL_1_RSSI_OUT_SHIFT (24U) 26899 #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) 26900 /*! @} */ 26901 26902 /*! @name DCOC_CTRL_0 - DCOC Control 0 */ 26903 /*! @{ */ 26904 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MIDPWR_TRK_DIS_MASK (0x1U) 26905 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MIDPWR_TRK_DIS_SHIFT (0U) 26906 /*! DCOC_MIDPWR_TRK_DIS - DCOC Mid Power Tracking Disable 26907 * 0b0..Tracking corrections are enabled as determined by DCOC_CORRECT_SRC and DCOC_TRK_MIN_AGC_IDX. 26908 * 0b1..Tracking corrections are disabled when either the TZA or BBA lo peak detector asserts. 26909 */ 26910 #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) 26911 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MAN_MASK (0x2U) 26912 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_MAN_SHIFT (1U) 26913 #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) 26914 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_TRK_EST_OVR_MASK (0x4U) 26915 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_TRK_EST_OVR_SHIFT (2U) 26916 /*! DCOC_TRK_EST_OVR - Override for the DCOC tracking estimator 26917 * 0b0..The tracking estimator is enabled only as needed by the corrector 26918 * 0b1..The tracking estimator remains enabled whenever the DCOC is active 26919 */ 26920 #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) 26921 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_SRC_MASK (0x8U) 26922 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_SRC_SHIFT (3U) 26923 /*! DCOC_CORRECT_SRC - DCOC Corrector Source 26924 * 0b0..If correction is enabled, the DCOC will use only the DCOC calibration table to correct the DC offset. 26925 * 0b1..If correction is enabled, the DCOC will use the DCOC calibration table and then the tracking estimator to correct the DC offset. 26926 */ 26927 #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) 26928 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_EN_MASK (0x10U) 26929 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORRECT_EN_SHIFT (4U) 26930 /*! DCOC_CORRECT_EN - DCOC Correction Enable 26931 * 0b0..Correction disabled. The DCOC will not correct the DC offset. 26932 * 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. 26933 */ 26934 #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) 26935 #define XCVR_RX_DIG_DCOC_CTRL_0_TRACK_FROM_ZERO_MASK (0x20U) 26936 #define XCVR_RX_DIG_DCOC_CTRL_0_TRACK_FROM_ZERO_SHIFT (5U) 26937 /*! TRACK_FROM_ZERO - Track from Zero 26938 * 0b0..Track from current I/Q sample. 26939 * 0b1..Track from zero. 26940 */ 26941 #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) 26942 #define XCVR_RX_DIG_DCOC_CTRL_0_BBA_CORR_POL_MASK (0x40U) 26943 #define XCVR_RX_DIG_DCOC_CTRL_0_BBA_CORR_POL_SHIFT (6U) 26944 /*! BBA_CORR_POL - BBA Correction Polarity 26945 * 0b0..Normal polarity. 26946 * 0b1..Negative polarity. This should be set if the ADC output is inverted, or if the BBA DACs were implemented with negative polarity. 26947 */ 26948 #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) 26949 #define XCVR_RX_DIG_DCOC_CTRL_0_TZA_CORR_POL_MASK (0x80U) 26950 #define XCVR_RX_DIG_DCOC_CTRL_0_TZA_CORR_POL_SHIFT (7U) 26951 /*! TZA_CORR_POL - TZA Correction Polarity 26952 * 0b0..Normal polarity. 26953 * 0b1..Negative polarity. This should be set if the ADC output is inverted, or if the TZA DACs were implemented with negative polarity. 26954 */ 26955 #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) 26956 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_DURATION_MASK (0x1F00U) 26957 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_DURATION_SHIFT (8U) 26958 /*! DCOC_CAL_DURATION - DCOC Calibration Duration 26959 * 0b00000..Reserved 26960 * 0b00001-0b11111..For a 32MHz reference clock, this is the calibration duration in microseconds; for other reference clock frequencies, the delay is scaled accordingly. 26961 */ 26962 #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) 26963 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_CHECK_EN_MASK (0x8000U) 26964 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CAL_CHECK_EN_SHIFT (15U) 26965 /*! DCOC_CAL_CHECK_EN - DCOC Calibration Check Enable 26966 * 0b0..Calibration checking disabled. The DCOC_OFFSET_n registers are always updated during calibration. 26967 * 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. 26968 */ 26969 #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) 26970 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_DLY_MASK (0x1F0000U) 26971 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_DLY_SHIFT (16U) 26972 /*! DCOC_CORR_DLY - DCOC Correction Delay 26973 * 0b00000..Reserved 26974 * 0b00001-0b11111..For a 32MHz reference clock, this is the wait time in microseconds; for other reference clock frequencies, the delay is scaled accordingly. 26975 */ 26976 #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) 26977 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_MASK (0x7F000000U) 26978 #define XCVR_RX_DIG_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_SHIFT (24U) 26979 /*! DCOC_CORR_HOLD_TIME - DCOC Correction Hold Time 26980 * 0b0000000..Reserved 26981 * 0b0000001-0b1111110..For a 32MHz reference clock, this is the delay in microseconds; for other reference clock frequencies, the delay is scaled accordingly. 26982 * 0b1111111..The DC correction is not frozen. 26983 */ 26984 #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) 26985 /*! @} */ 26986 26987 /*! @name DCOC_CTRL_1 - DCOC Control 1 */ 26988 /*! @{ */ 26989 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_IDX_MASK (0x3U) 26990 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_IDX_SHIFT (0U) 26991 /*! DCOC_SIGN_SCALE_IDX - DCOC Sign Scaling 26992 * 0b00..1/8 26993 * 0b01..1/16 26994 * 0b10..1/32 26995 * 0b11..1/64 26996 */ 26997 #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) 26998 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_IDX_MASK (0x1CU) 26999 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_IDX_SHIFT (2U) 27000 /*! DCOC_ALPHAC_SCALE_IDX - DCOC Alpha-C Scaling 27001 * 0b000..1/2 27002 * 0b001..1/4 27003 * 0b010..1/8 27004 * 0b011..1/16 27005 * 0b100..1/32 27006 * 0b101..1/64 27007 * 0b110..Reserved 27008 * 0b111..Reserved 27009 */ 27010 #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) 27011 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_IDX_MASK (0xE0U) 27012 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_IDX_SHIFT (5U) 27013 /*! DCOC_ALPHA_RADIUS_IDX - Alpha-R Scaling 27014 * 0b000..1 27015 * 0b001..1/2 27016 * 0b010..1/4 27017 * 0b011..1/8 27018 * 0b100..1/16 27019 * 0b101..1/32 27020 * 0b110..1/64 27021 * 0b111..Reserved 27022 */ 27023 #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) 27024 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_EST_GS_CNT_MASK (0x7000U) 27025 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_EST_GS_CNT_SHIFT (12U) 27026 #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) 27027 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_GS_IDX_MASK (0x30000U) 27028 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_SIGN_SCALE_GS_IDX_SHIFT (16U) 27029 /*! DCOC_SIGN_SCALE_GS_IDX - DCOC Sign Scaling for Gearshift 27030 * 0b00..1/8 27031 * 0b01..1/16 27032 * 0b10..1/32 27033 * 0b11..1/64 27034 */ 27035 #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) 27036 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_GS_IDX_MASK (0x1C0000U) 27037 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHAC_SCALE_GS_IDX_SHIFT (18U) 27038 /*! DCOC_ALPHAC_SCALE_GS_IDX - DCOC Alpha-C Scaling for Gearshift 27039 * 0b000..1/2 27040 * 0b001..1/4 27041 * 0b010..1/8 27042 * 0b011..1/16 27043 * 0b100..1/32 27044 * 0b101..1/64 27045 * 0b110..Reserved 27046 * 0b111..Reserved 27047 */ 27048 #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) 27049 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_GS_IDX_MASK (0xE00000U) 27050 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_ALPHA_RADIUS_GS_IDX_SHIFT (21U) 27051 /*! DCOC_ALPHA_RADIUS_GS_IDX - Alpha-R Scaling for Gearshift 27052 * 0b000..1 27053 * 0b001..1/2 27054 * 0b010..1/4 27055 * 0b011..1/8 27056 * 0b100..1/16 27057 * 0b101..1/32 27058 * 0b110..1/64 27059 * 0b111..Reserved 27060 */ 27061 #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) 27062 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_MASK (0x1F000000U) 27063 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_SHIFT (24U) 27064 #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) 27065 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_CFG_MASK (0x80000000U) 27066 #define XCVR_RX_DIG_DCOC_CTRL_1_DCOC_TRK_MIN_AGC_IDX_CFG_SHIFT (31U) 27067 /*! DCOC_TRK_MIN_AGC_IDX_CFG - DCOC_TRK_MIN_AGC_IDX Configuration 27068 * 0b0..Tracking is disabled when the AGC index is less than DCOC_TRK_MIN_AGC_IDX 27069 * 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 27070 */ 27071 #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) 27072 /*! @} */ 27073 27074 /*! @name DCOC_DAC_INIT - DCOC DAC Initialization */ 27075 /*! @{ */ 27076 #define XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_I_MASK (0x3FU) 27077 #define XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_I_SHIFT (0U) 27078 #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) 27079 #define XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_Q_MASK (0x3F00U) 27080 #define XCVR_RX_DIG_DCOC_DAC_INIT_BBA_DCOC_INIT_Q_SHIFT (8U) 27081 #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) 27082 #define XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_I_MASK (0xFF0000U) 27083 #define XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_I_SHIFT (16U) 27084 #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) 27085 #define XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_Q_MASK (0xFF000000U) 27086 #define XCVR_RX_DIG_DCOC_DAC_INIT_TZA_DCOC_INIT_Q_SHIFT (24U) 27087 #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) 27088 /*! @} */ 27089 27090 /*! @name DCOC_DIG_MAN - DCOC Digital Correction Manual Override */ 27091 /*! @{ */ 27092 #define XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_I_MASK (0xFFFU) 27093 #define XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_I_SHIFT (0U) 27094 #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) 27095 #define XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_Q_MASK (0xFFF0000U) 27096 #define XCVR_RX_DIG_DCOC_DIG_MAN_DIG_DCOC_INIT_Q_SHIFT (16U) 27097 #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) 27098 /*! @} */ 27099 27100 /*! @name DCOC_CAL_GAIN - DCOC Calibration Gain */ 27101 /*! @{ */ 27102 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN1_MASK (0xF00U) 27103 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN1_SHIFT (8U) 27104 #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) 27105 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN1_MASK (0xF000U) 27106 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN1_SHIFT (12U) 27107 #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) 27108 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN2_MASK (0xF0000U) 27109 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN2_SHIFT (16U) 27110 #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) 27111 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN2_MASK (0xF00000U) 27112 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN2_SHIFT (20U) 27113 #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) 27114 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN3_MASK (0xF000000U) 27115 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_BBA_CAL_GAIN3_SHIFT (24U) 27116 #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) 27117 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN3_MASK (0xF0000000U) 27118 #define XCVR_RX_DIG_DCOC_CAL_GAIN_DCOC_LNA_CAL_GAIN3_SHIFT (28U) 27119 #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) 27120 /*! @} */ 27121 27122 /*! @name DCOC_STAT - DCOC Status */ 27123 /*! @{ */ 27124 #define XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_I_MASK (0x3FU) 27125 #define XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_I_SHIFT (0U) 27126 #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) 27127 #define XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_GTWSR_MASK (0x80U) 27128 #define XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_GTWSR_SHIFT (7U) 27129 /*! DCOC_CAL_GTWSR - DCOC calibration Good Table Written Since Reset 27130 * 0b0..A Passing calibration result has not occurred since the last radio reset. 27131 * 0b1..A Passing calibration result has occurred since the last radio reset. 27132 */ 27133 #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) 27134 #define XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_Q_MASK (0x3F00U) 27135 #define XCVR_RX_DIG_DCOC_STAT_BBA_DCOC_Q_SHIFT (8U) 27136 #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) 27137 #define XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_RESULT_MASK (0xC000U) 27138 #define XCVR_RX_DIG_DCOC_STAT_DCOC_CAL_RESULT_SHIFT (14U) 27139 /*! DCOC_CAL_RESULT - DCOC_CAL_RESULT 27140 * 0b00..Calibration checks failed. DCOC_OFFSET_n tables not updated. 27141 * 0b01..Calibration checks neither passed nor failed, DCOC_OFFSET_n tables not updated. 27142 * 0b10..Calibration checks neither passed nor failed, DCOC_OFFSET_n tables updated since no previous Pass condition has occurred since the last radio reset. 27143 * 0b11..Calibration checks passed. DCOC_OFFSET_n tables updated 27144 */ 27145 #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) 27146 #define XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_I_MASK (0xFF0000U) 27147 #define XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_I_SHIFT (16U) 27148 #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) 27149 #define XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_Q_MASK (0xFF000000U) 27150 #define XCVR_RX_DIG_DCOC_STAT_TZA_DCOC_Q_SHIFT (24U) 27151 #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) 27152 /*! @} */ 27153 27154 /*! @name DCOC_DC_EST - DCOC DC Estimate */ 27155 /*! @{ */ 27156 #define XCVR_RX_DIG_DCOC_DC_EST_DC_EST_I_MASK (0xFFFU) 27157 #define XCVR_RX_DIG_DCOC_DC_EST_DC_EST_I_SHIFT (0U) 27158 #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) 27159 #define XCVR_RX_DIG_DCOC_DC_EST_DC_EST_Q_MASK (0xFFF0000U) 27160 #define XCVR_RX_DIG_DCOC_DC_EST_DC_EST_Q_SHIFT (16U) 27161 #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) 27162 /*! @} */ 27163 27164 /*! @name DCOC_CAL_RCP - DCOC Calibration Reciprocals */ 27165 /*! @{ */ 27166 #define XCVR_RX_DIG_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_MASK (0x7FFU) 27167 #define XCVR_RX_DIG_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_SHIFT (0U) 27168 #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) 27169 #define XCVR_RX_DIG_DCOC_CAL_RCP_ALPHA_CALC_RECIP_MASK (0x7FF0000U) 27170 #define XCVR_RX_DIG_DCOC_CAL_RCP_ALPHA_CALC_RECIP_SHIFT (16U) 27171 #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) 27172 /*! @} */ 27173 27174 /*! @name DCOC_CTRL_2 - DCOC Control 2 */ 27175 /*! @{ */ 27176 #define XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_DLY_ALT_MASK (0x1F0000U) 27177 #define XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_DLY_ALT_SHIFT (16U) 27178 /*! DCOC_CORR_DLY_ALT - DCOC Correction Delay Alternate 27179 * 0b00000..Reserved 27180 * 0b00001-0b11111..For a 32MHz reference clock, this is the wait time in microseconds; for other reference clock frequencies, the delay is scaled accordingly. 27181 */ 27182 #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) 27183 #define XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_HOLD_TIME_ALT_MASK (0x7F000000U) 27184 #define XCVR_RX_DIG_DCOC_CTRL_2_DCOC_CORR_HOLD_TIME_ALT_SHIFT (24U) 27185 /*! DCOC_CORR_HOLD_TIME_ALT - DCOC Correction Hold Time Alternate 27186 * 0b0000000..Reserved 27187 * 0b0000001-0b1111110..For a 32MHz reference clock, this is the delay in microseconds; for other reference clock frequencies, the delay is scaled accordingly. 27188 * 0b1111111..The DC correction is not frozen. 27189 */ 27190 #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) 27191 /*! @} */ 27192 27193 /*! @name IQMC_CTRL - IQMC Control */ 27194 /*! @{ */ 27195 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_CAL_EN_MASK (0x1U) 27196 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_CAL_EN_SHIFT (0U) 27197 #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) 27198 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_NUM_ITER_MASK (0xFF00U) 27199 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_NUM_ITER_SHIFT (8U) 27200 #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) 27201 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_DC_GAIN_ADJ_MASK (0x7FF0000U) 27202 #define XCVR_RX_DIG_IQMC_CTRL_IQMC_DC_GAIN_ADJ_SHIFT (16U) 27203 #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) 27204 /*! @} */ 27205 27206 /*! @name IQMC_CAL - IQMC Calibration */ 27207 /*! @{ */ 27208 #define XCVR_RX_DIG_IQMC_CAL_IQMC_GAIN_ADJ_MASK (0x7FFU) 27209 #define XCVR_RX_DIG_IQMC_CAL_IQMC_GAIN_ADJ_SHIFT (0U) 27210 #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) 27211 #define XCVR_RX_DIG_IQMC_CAL_IQMC_PHASE_ADJ_MASK (0xFFF0000U) 27212 #define XCVR_RX_DIG_IQMC_CAL_IQMC_PHASE_ADJ_SHIFT (16U) 27213 #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) 27214 /*! @} */ 27215 27216 /*! @name LNA_GAIN_VAL_3_0 - LNA_GAIN Step Values 3..0 */ 27217 /*! @{ */ 27218 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_0_MASK (0xFFU) 27219 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_0_SHIFT (0U) 27220 #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) 27221 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_1_MASK (0xFF00U) 27222 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_1_SHIFT (8U) 27223 #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) 27224 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_2_MASK (0xFF0000U) 27225 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_2_SHIFT (16U) 27226 #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) 27227 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_3_MASK (0xFF000000U) 27228 #define XCVR_RX_DIG_LNA_GAIN_VAL_3_0_LNA_GAIN_VAL_3_SHIFT (24U) 27229 #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) 27230 /*! @} */ 27231 27232 /*! @name LNA_GAIN_VAL_7_4 - LNA_GAIN Step Values 7..4 */ 27233 /*! @{ */ 27234 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_4_MASK (0xFFU) 27235 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_4_SHIFT (0U) 27236 #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) 27237 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_5_MASK (0xFF00U) 27238 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_5_SHIFT (8U) 27239 #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) 27240 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_6_MASK (0xFF0000U) 27241 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_6_SHIFT (16U) 27242 #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) 27243 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_7_MASK (0xFF000000U) 27244 #define XCVR_RX_DIG_LNA_GAIN_VAL_7_4_LNA_GAIN_VAL_7_SHIFT (24U) 27245 #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) 27246 /*! @} */ 27247 27248 /*! @name LNA_GAIN_VAL_8 - LNA_GAIN Step Values 8 */ 27249 /*! @{ */ 27250 #define XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_8_MASK (0xFFU) 27251 #define XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_8_SHIFT (0U) 27252 #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) 27253 #define XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_9_MASK (0xFF00U) 27254 #define XCVR_RX_DIG_LNA_GAIN_VAL_8_LNA_GAIN_VAL_9_SHIFT (8U) 27255 #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) 27256 /*! @} */ 27257 27258 /*! @name BBA_RES_TUNE_VAL_7_0 - BBA Resistor Tune Values 7..0 */ 27259 /*! @{ */ 27260 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_0_MASK (0xFU) 27261 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_0_SHIFT (0U) 27262 #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) 27263 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_1_MASK (0xF0U) 27264 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_1_SHIFT (4U) 27265 #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) 27266 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_2_MASK (0xF00U) 27267 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_2_SHIFT (8U) 27268 #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) 27269 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_3_MASK (0xF000U) 27270 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_3_SHIFT (12U) 27271 #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) 27272 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_4_MASK (0xF0000U) 27273 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_4_SHIFT (16U) 27274 #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) 27275 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_5_MASK (0xF00000U) 27276 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_5_SHIFT (20U) 27277 #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) 27278 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_6_MASK (0xF000000U) 27279 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_6_SHIFT (24U) 27280 #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) 27281 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_7_MASK (0xF0000000U) 27282 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_7_0_BBA_RES_TUNE_VAL_7_SHIFT (28U) 27283 #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) 27284 /*! @} */ 27285 27286 /*! @name BBA_RES_TUNE_VAL_10_8 - BBA Resistor Tune Values 10..8 */ 27287 /*! @{ */ 27288 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_8_MASK (0xFU) 27289 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_8_SHIFT (0U) 27290 #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) 27291 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_9_MASK (0xF0U) 27292 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_9_SHIFT (4U) 27293 #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) 27294 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_10_MASK (0xF00U) 27295 #define XCVR_RX_DIG_BBA_RES_TUNE_VAL_10_8_BBA_RES_TUNE_VAL_10_SHIFT (8U) 27296 #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) 27297 /*! @} */ 27298 27299 /*! @name LNA_GAIN_LIN_VAL_2_0 - LNA Linear Gain Values 2..0 */ 27300 /*! @{ */ 27301 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_0_MASK (0x3FFU) 27302 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_0_SHIFT (0U) 27303 #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) 27304 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_1_MASK (0xFFC00U) 27305 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_1_SHIFT (10U) 27306 #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) 27307 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_2_MASK (0x3FF00000U) 27308 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_2_0_LNA_GAIN_LIN_VAL_2_SHIFT (20U) 27309 #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) 27310 /*! @} */ 27311 27312 /*! @name LNA_GAIN_LIN_VAL_5_3 - LNA Linear Gain Values 5..3 */ 27313 /*! @{ */ 27314 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_3_MASK (0x3FFU) 27315 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_3_SHIFT (0U) 27316 #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) 27317 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_4_MASK (0xFFC00U) 27318 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_4_SHIFT (10U) 27319 #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) 27320 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_5_MASK (0x3FF00000U) 27321 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_5_3_LNA_GAIN_LIN_VAL_5_SHIFT (20U) 27322 #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) 27323 /*! @} */ 27324 27325 /*! @name LNA_GAIN_LIN_VAL_8_6 - LNA Linear Gain Values 8..6 */ 27326 /*! @{ */ 27327 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_6_MASK (0x3FFU) 27328 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_6_SHIFT (0U) 27329 #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) 27330 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_7_MASK (0xFFC00U) 27331 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_7_SHIFT (10U) 27332 #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) 27333 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_8_MASK (0x3FF00000U) 27334 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_8_6_LNA_GAIN_LIN_VAL_8_SHIFT (20U) 27335 #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) 27336 /*! @} */ 27337 27338 /*! @name LNA_GAIN_LIN_VAL_9 - LNA Linear Gain Values 9 */ 27339 /*! @{ */ 27340 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_9_LNA_GAIN_LIN_VAL_9_MASK (0x3FFU) 27341 #define XCVR_RX_DIG_LNA_GAIN_LIN_VAL_9_LNA_GAIN_LIN_VAL_9_SHIFT (0U) 27342 #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) 27343 /*! @} */ 27344 27345 /*! @name BBA_RES_TUNE_LIN_VAL_3_0 - BBA Resistor Tune Values 3..0 */ 27346 /*! @{ */ 27347 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_0_MASK (0xFFU) 27348 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_0_SHIFT (0U) 27349 #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) 27350 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_1_MASK (0xFF00U) 27351 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_1_SHIFT (8U) 27352 #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) 27353 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_2_MASK (0xFF0000U) 27354 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_2_SHIFT (16U) 27355 #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) 27356 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_3_MASK (0xFF000000U) 27357 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_3_0_BBA_RES_TUNE_LIN_VAL_3_SHIFT (24U) 27358 #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) 27359 /*! @} */ 27360 27361 /*! @name BBA_RES_TUNE_LIN_VAL_7_4 - BBA Resistor Tune Values 7..4 */ 27362 /*! @{ */ 27363 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_4_MASK (0xFFU) 27364 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_4_SHIFT (0U) 27365 #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) 27366 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_5_MASK (0xFF00U) 27367 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_5_SHIFT (8U) 27368 #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) 27369 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_6_MASK (0xFF0000U) 27370 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_6_SHIFT (16U) 27371 #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) 27372 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_7_MASK (0xFF000000U) 27373 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_7_4_BBA_RES_TUNE_LIN_VAL_7_SHIFT (24U) 27374 #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) 27375 /*! @} */ 27376 27377 /*! @name BBA_RES_TUNE_LIN_VAL_10_8 - BBA Resistor Tune Values 10..8 */ 27378 /*! @{ */ 27379 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_8_MASK (0x3FFU) 27380 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_8_SHIFT (0U) 27381 #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) 27382 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_9_MASK (0xFFC00U) 27383 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_9_SHIFT (10U) 27384 #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) 27385 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_10_MASK (0x3FF00000U) 27386 #define XCVR_RX_DIG_BBA_RES_TUNE_LIN_VAL_10_8_BBA_RES_TUNE_LIN_VAL_10_SHIFT (20U) 27387 #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) 27388 /*! @} */ 27389 27390 /*! @name AGC_GAIN_TBL_03_00 - AGC Gain Tables Step 03..00 */ 27391 /*! @{ */ 27392 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_00_MASK (0xFU) 27393 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_00_SHIFT (0U) 27394 #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) 27395 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_00_MASK (0xF0U) 27396 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_00_SHIFT (4U) 27397 #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) 27398 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_01_MASK (0xF00U) 27399 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_01_SHIFT (8U) 27400 #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) 27401 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_01_MASK (0xF000U) 27402 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_01_SHIFT (12U) 27403 #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) 27404 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_02_MASK (0xF0000U) 27405 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_02_SHIFT (16U) 27406 #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) 27407 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_02_MASK (0xF00000U) 27408 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_02_SHIFT (20U) 27409 #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) 27410 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_03_MASK (0xF000000U) 27411 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_BBA_GAIN_03_SHIFT (24U) 27412 #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) 27413 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_03_MASK (0xF0000000U) 27414 #define XCVR_RX_DIG_AGC_GAIN_TBL_03_00_LNA_GAIN_03_SHIFT (28U) 27415 #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) 27416 /*! @} */ 27417 27418 /*! @name AGC_GAIN_TBL_07_04 - AGC Gain Tables Step 07..04 */ 27419 /*! @{ */ 27420 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_04_MASK (0xFU) 27421 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_04_SHIFT (0U) 27422 #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) 27423 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_04_MASK (0xF0U) 27424 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_04_SHIFT (4U) 27425 #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) 27426 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_05_MASK (0xF00U) 27427 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_05_SHIFT (8U) 27428 #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) 27429 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_05_MASK (0xF000U) 27430 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_05_SHIFT (12U) 27431 #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) 27432 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_06_MASK (0xF0000U) 27433 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_06_SHIFT (16U) 27434 #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) 27435 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_06_MASK (0xF00000U) 27436 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_06_SHIFT (20U) 27437 #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) 27438 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_07_MASK (0xF000000U) 27439 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_BBA_GAIN_07_SHIFT (24U) 27440 #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) 27441 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_07_MASK (0xF0000000U) 27442 #define XCVR_RX_DIG_AGC_GAIN_TBL_07_04_LNA_GAIN_07_SHIFT (28U) 27443 #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) 27444 /*! @} */ 27445 27446 /*! @name AGC_GAIN_TBL_11_08 - AGC Gain Tables Step 11..08 */ 27447 /*! @{ */ 27448 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_08_MASK (0xFU) 27449 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_08_SHIFT (0U) 27450 #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) 27451 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_08_MASK (0xF0U) 27452 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_08_SHIFT (4U) 27453 #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) 27454 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_09_MASK (0xF00U) 27455 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_09_SHIFT (8U) 27456 #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) 27457 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_09_MASK (0xF000U) 27458 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_09_SHIFT (12U) 27459 #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) 27460 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_10_MASK (0xF0000U) 27461 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_10_SHIFT (16U) 27462 #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) 27463 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_10_MASK (0xF00000U) 27464 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_10_SHIFT (20U) 27465 #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) 27466 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_11_MASK (0xF000000U) 27467 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_BBA_GAIN_11_SHIFT (24U) 27468 #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) 27469 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_11_MASK (0xF0000000U) 27470 #define XCVR_RX_DIG_AGC_GAIN_TBL_11_08_LNA_GAIN_11_SHIFT (28U) 27471 #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) 27472 /*! @} */ 27473 27474 /*! @name AGC_GAIN_TBL_15_12 - AGC Gain Tables Step 15..12 */ 27475 /*! @{ */ 27476 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_12_MASK (0xFU) 27477 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_12_SHIFT (0U) 27478 #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) 27479 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_12_MASK (0xF0U) 27480 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_12_SHIFT (4U) 27481 #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) 27482 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_13_MASK (0xF00U) 27483 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_13_SHIFT (8U) 27484 #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) 27485 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_13_MASK (0xF000U) 27486 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_13_SHIFT (12U) 27487 #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) 27488 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_14_MASK (0xF0000U) 27489 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_14_SHIFT (16U) 27490 #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) 27491 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_14_MASK (0xF00000U) 27492 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_14_SHIFT (20U) 27493 #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) 27494 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_15_MASK (0xF000000U) 27495 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_BBA_GAIN_15_SHIFT (24U) 27496 #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) 27497 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_15_MASK (0xF0000000U) 27498 #define XCVR_RX_DIG_AGC_GAIN_TBL_15_12_LNA_GAIN_15_SHIFT (28U) 27499 #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) 27500 /*! @} */ 27501 27502 /*! @name AGC_GAIN_TBL_19_16 - AGC Gain Tables Step 19..16 */ 27503 /*! @{ */ 27504 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_16_MASK (0xFU) 27505 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_16_SHIFT (0U) 27506 #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) 27507 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_16_MASK (0xF0U) 27508 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_16_SHIFT (4U) 27509 #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) 27510 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_17_MASK (0xF00U) 27511 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_17_SHIFT (8U) 27512 #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) 27513 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_17_MASK (0xF000U) 27514 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_17_SHIFT (12U) 27515 #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) 27516 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_18_MASK (0xF0000U) 27517 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_18_SHIFT (16U) 27518 #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) 27519 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_18_MASK (0xF00000U) 27520 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_18_SHIFT (20U) 27521 #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) 27522 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_19_MASK (0xF000000U) 27523 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_BBA_GAIN_19_SHIFT (24U) 27524 #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) 27525 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_19_MASK (0xF0000000U) 27526 #define XCVR_RX_DIG_AGC_GAIN_TBL_19_16_LNA_GAIN_19_SHIFT (28U) 27527 #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) 27528 /*! @} */ 27529 27530 /*! @name AGC_GAIN_TBL_23_20 - AGC Gain Tables Step 23..20 */ 27531 /*! @{ */ 27532 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_20_MASK (0xFU) 27533 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_20_SHIFT (0U) 27534 #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) 27535 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_20_MASK (0xF0U) 27536 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_20_SHIFT (4U) 27537 #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) 27538 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_21_MASK (0xF00U) 27539 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_21_SHIFT (8U) 27540 #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) 27541 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_21_MASK (0xF000U) 27542 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_21_SHIFT (12U) 27543 #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) 27544 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_22_MASK (0xF0000U) 27545 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_22_SHIFT (16U) 27546 #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) 27547 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_22_MASK (0xF00000U) 27548 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_22_SHIFT (20U) 27549 #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) 27550 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_23_MASK (0xF000000U) 27551 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_BBA_GAIN_23_SHIFT (24U) 27552 #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) 27553 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_23_MASK (0xF0000000U) 27554 #define XCVR_RX_DIG_AGC_GAIN_TBL_23_20_LNA_GAIN_23_SHIFT (28U) 27555 #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) 27556 /*! @} */ 27557 27558 /*! @name AGC_GAIN_TBL_26_24 - AGC Gain Tables Step 26..24 */ 27559 /*! @{ */ 27560 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_24_MASK (0xFU) 27561 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_24_SHIFT (0U) 27562 #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) 27563 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_24_MASK (0xF0U) 27564 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_24_SHIFT (4U) 27565 #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) 27566 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_25_MASK (0xF00U) 27567 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_25_SHIFT (8U) 27568 #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) 27569 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_25_MASK (0xF000U) 27570 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_25_SHIFT (12U) 27571 #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) 27572 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_26_MASK (0xF0000U) 27573 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_BBA_GAIN_26_SHIFT (16U) 27574 #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) 27575 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_26_MASK (0xF00000U) 27576 #define XCVR_RX_DIG_AGC_GAIN_TBL_26_24_LNA_GAIN_26_SHIFT (20U) 27577 #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) 27578 /*! @} */ 27579 27580 /*! @name DCOC_OFFSET - DCOC Offset */ 27581 /*! @{ */ 27582 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_I_MASK (0x3FU) 27583 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_I_SHIFT (0U) 27584 #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) 27585 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_Q_MASK (0x3F00U) 27586 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_BBA_OFFSET_Q_SHIFT (8U) 27587 #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) 27588 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_I_MASK (0xFF0000U) 27589 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_I_SHIFT (16U) 27590 #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) 27591 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_Q_MASK (0xFF000000U) 27592 #define XCVR_RX_DIG_DCOC_OFFSET_DCOC_TZA_OFFSET_Q_SHIFT (24U) 27593 #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) 27594 /*! @} */ 27595 27596 /* The count of XCVR_RX_DIG_DCOC_OFFSET */ 27597 #define XCVR_RX_DIG_DCOC_OFFSET_COUNT (27U) 27598 27599 /*! @name DCOC_BBA_STEP - DCOC BBA DAC Step */ 27600 /*! @{ */ 27601 #define XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_RECIP_MASK (0x1FFFU) 27602 #define XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_RECIP_SHIFT (0U) 27603 #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) 27604 #define XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_MASK (0x1FF0000U) 27605 #define XCVR_RX_DIG_DCOC_BBA_STEP_BBA_DCOC_STEP_SHIFT (16U) 27606 #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) 27607 /*! @} */ 27608 27609 /*! @name DCOC_TZA_STEP_0 - DCOC TZA DAC Step 0 */ 27610 /*! @{ */ 27611 #define XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_RCP_0_MASK (0x1FFFU) 27612 #define XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_RCP_0_SHIFT (0U) 27613 #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) 27614 #define XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_GAIN_0_MASK (0xFFF0000U) 27615 #define XCVR_RX_DIG_DCOC_TZA_STEP_0_DCOC_TZA_STEP_GAIN_0_SHIFT (16U) 27616 #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) 27617 /*! @} */ 27618 27619 /*! @name DCOC_TZA_STEP_1 - DCOC TZA DAC Step 1 */ 27620 /*! @{ */ 27621 #define XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_RCP_1_MASK (0x1FFFU) 27622 #define XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_RCP_1_SHIFT (0U) 27623 #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) 27624 #define XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_GAIN_1_MASK (0xFFF0000U) 27625 #define XCVR_RX_DIG_DCOC_TZA_STEP_1_DCOC_TZA_STEP_GAIN_1_SHIFT (16U) 27626 #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) 27627 /*! @} */ 27628 27629 /*! @name DCOC_TZA_STEP_2 - DCOC TZA DAC Step 2 */ 27630 /*! @{ */ 27631 #define XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_RCP_2_MASK (0x1FFFU) 27632 #define XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_RCP_2_SHIFT (0U) 27633 #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) 27634 #define XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_GAIN_2_MASK (0xFFF0000U) 27635 #define XCVR_RX_DIG_DCOC_TZA_STEP_2_DCOC_TZA_STEP_GAIN_2_SHIFT (16U) 27636 #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) 27637 /*! @} */ 27638 27639 /*! @name DCOC_TZA_STEP_3 - DCOC TZA DAC Step 3 */ 27640 /*! @{ */ 27641 #define XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_RCP_3_MASK (0x1FFFU) 27642 #define XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_RCP_3_SHIFT (0U) 27643 #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) 27644 #define XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_GAIN_3_MASK (0xFFF0000U) 27645 #define XCVR_RX_DIG_DCOC_TZA_STEP_3_DCOC_TZA_STEP_GAIN_3_SHIFT (16U) 27646 #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) 27647 /*! @} */ 27648 27649 /*! @name DCOC_TZA_STEP_4 - DCOC TZA DAC Step 4 */ 27650 /*! @{ */ 27651 #define XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_RCP_4_MASK (0x1FFFU) 27652 #define XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_RCP_4_SHIFT (0U) 27653 #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) 27654 #define XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_GAIN_4_MASK (0xFFF0000U) 27655 #define XCVR_RX_DIG_DCOC_TZA_STEP_4_DCOC_TZA_STEP_GAIN_4_SHIFT (16U) 27656 #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) 27657 /*! @} */ 27658 27659 /*! @name DCOC_TZA_STEP_5 - DCOC TZA DAC Step 5 */ 27660 /*! @{ */ 27661 #define XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_RCP_5_MASK (0x1FFFU) 27662 #define XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_RCP_5_SHIFT (0U) 27663 #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) 27664 #define XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_GAIN_5_MASK (0xFFF0000U) 27665 #define XCVR_RX_DIG_DCOC_TZA_STEP_5_DCOC_TZA_STEP_GAIN_5_SHIFT (16U) 27666 #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) 27667 /*! @} */ 27668 27669 /*! @name DCOC_TZA_STEP_6 - DCOC TZA DAC Step 6 */ 27670 /*! @{ */ 27671 #define XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_RCP_6_MASK (0x1FFFU) 27672 #define XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_RCP_6_SHIFT (0U) 27673 #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) 27674 #define XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_GAIN_6_MASK (0xFFF0000U) 27675 #define XCVR_RX_DIG_DCOC_TZA_STEP_6_DCOC_TZA_STEP_GAIN_6_SHIFT (16U) 27676 #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) 27677 /*! @} */ 27678 27679 /*! @name DCOC_TZA_STEP_7 - DCOC TZA DAC Step 7 */ 27680 /*! @{ */ 27681 #define XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_RCP_7_MASK (0x1FFFU) 27682 #define XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_RCP_7_SHIFT (0U) 27683 #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) 27684 #define XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_GAIN_7_MASK (0x1FFF0000U) 27685 #define XCVR_RX_DIG_DCOC_TZA_STEP_7_DCOC_TZA_STEP_GAIN_7_SHIFT (16U) 27686 #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) 27687 /*! @} */ 27688 27689 /*! @name DCOC_TZA_STEP_8 - DCOC TZA DAC Step 5 */ 27690 /*! @{ */ 27691 #define XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_RCP_8_MASK (0x1FFFU) 27692 #define XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_RCP_8_SHIFT (0U) 27693 #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) 27694 #define XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_GAIN_8_MASK (0x1FFF0000U) 27695 #define XCVR_RX_DIG_DCOC_TZA_STEP_8_DCOC_TZA_STEP_GAIN_8_SHIFT (16U) 27696 #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) 27697 /*! @} */ 27698 27699 /*! @name DCOC_TZA_STEP_9 - DCOC TZA DAC Step 9 */ 27700 /*! @{ */ 27701 #define XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_RCP_9_MASK (0x1FFFU) 27702 #define XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_RCP_9_SHIFT (0U) 27703 #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) 27704 #define XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_GAIN_9_MASK (0x3FFF0000U) 27705 #define XCVR_RX_DIG_DCOC_TZA_STEP_9_DCOC_TZA_STEP_GAIN_9_SHIFT (16U) 27706 #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) 27707 /*! @} */ 27708 27709 /*! @name DCOC_TZA_STEP_10 - DCOC TZA DAC Step 10 */ 27710 /*! @{ */ 27711 #define XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_RCP_10_MASK (0x1FFFU) 27712 #define XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_RCP_10_SHIFT (0U) 27713 #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) 27714 #define XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_GAIN_10_MASK (0x3FFF0000U) 27715 #define XCVR_RX_DIG_DCOC_TZA_STEP_10_DCOC_TZA_STEP_GAIN_10_SHIFT (16U) 27716 #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) 27717 /*! @} */ 27718 27719 /*! @name DCOC_CAL_FAIL_TH - DCOC Calibration Fail Thresholds */ 27720 /*! @{ */ 27721 #define XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_BETA_F_TH_MASK (0x7FFU) 27722 #define XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_BETA_F_TH_SHIFT (0U) 27723 #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) 27724 #define XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_ALPHA_F_TH_MASK (0x3FF0000U) 27725 #define XCVR_RX_DIG_DCOC_CAL_FAIL_TH_DCOC_CAL_ALPHA_F_TH_SHIFT (16U) 27726 #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) 27727 /*! @} */ 27728 27729 /*! @name DCOC_CAL_PASS_TH - DCOC Calibration Pass Thresholds */ 27730 /*! @{ */ 27731 #define XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_BETA_P_TH_MASK (0x7FFU) 27732 #define XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_BETA_P_TH_SHIFT (0U) 27733 #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) 27734 #define XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_ALPHA_P_TH_MASK (0x3FF0000U) 27735 #define XCVR_RX_DIG_DCOC_CAL_PASS_TH_DCOC_CAL_ALPHA_P_TH_SHIFT (16U) 27736 #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) 27737 /*! @} */ 27738 27739 /*! @name DCOC_CAL_ALPHA - DCOC Calibration Alpha */ 27740 /*! @{ */ 27741 #define XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I_MASK (0x7FFU) 27742 #define XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I_SHIFT (0U) 27743 #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) 27744 #define XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q_MASK (0x7FF0000U) 27745 #define XCVR_RX_DIG_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q_SHIFT (16U) 27746 #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) 27747 /*! @} */ 27748 27749 /*! @name DCOC_CAL_BETA_Q - DCOC Calibration Beta Q */ 27750 /*! @{ */ 27751 #define XCVR_RX_DIG_DCOC_CAL_BETA_Q_DCOC_CAL_BETA_Q_MASK (0x1FFFFU) 27752 #define XCVR_RX_DIG_DCOC_CAL_BETA_Q_DCOC_CAL_BETA_Q_SHIFT (0U) 27753 #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) 27754 /*! @} */ 27755 27756 /*! @name DCOC_CAL_BETA_I - DCOC Calibration Beta I */ 27757 /*! @{ */ 27758 #define XCVR_RX_DIG_DCOC_CAL_BETA_I_DCOC_CAL_BETA_I_MASK (0x1FFFFU) 27759 #define XCVR_RX_DIG_DCOC_CAL_BETA_I_DCOC_CAL_BETA_I_SHIFT (0U) 27760 #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) 27761 /*! @} */ 27762 27763 /*! @name DCOC_CAL_GAMMA - DCOC Calibration Gamma */ 27764 /*! @{ */ 27765 #define XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I_MASK (0xFFFFU) 27766 #define XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I_SHIFT (0U) 27767 #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) 27768 #define XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q_MASK (0xFFFF0000U) 27769 #define XCVR_RX_DIG_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q_SHIFT (16U) 27770 #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) 27771 /*! @} */ 27772 27773 /*! @name DCOC_CAL_IIR - DCOC Calibration IIR */ 27774 /*! @{ */ 27775 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_MASK (0x3U) 27776 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_SHIFT (0U) 27777 /*! DCOC_CAL_IIR1A_IDX - DCOC Calibration IIR 1A Index 27778 * 0b00..1/1 27779 * 0b01..1/4 27780 * 0b10..1/8 27781 * 0b11..1/16 27782 */ 27783 #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) 27784 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_MASK (0xCU) 27785 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_SHIFT (2U) 27786 /*! DCOC_CAL_IIR2A_IDX - DCOC Calibration IIR 2A Index 27787 * 0b00..1/1 27788 * 0b01..1/4 27789 * 0b10..1/8 27790 * 0b11..1/16 27791 */ 27792 #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) 27793 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_MASK (0x30U) 27794 #define XCVR_RX_DIG_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_SHIFT (4U) 27795 /*! DCOC_CAL_IIR3A_IDX - DCOC Calibration IIR 3A Index 27796 * 0b00..1/4 27797 * 0b01..1/8 27798 * 0b10..1/16 27799 * 0b11..1/32 27800 */ 27801 #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) 27802 /*! @} */ 27803 27804 /*! @name DCOC_CAL - DCOC Calibration Result */ 27805 /*! @{ */ 27806 #define XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_I_MASK (0xFFFU) 27807 #define XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_I_SHIFT (0U) 27808 #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) 27809 #define XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_Q_MASK (0xFFF0000U) 27810 #define XCVR_RX_DIG_DCOC_CAL_DCOC_CAL_RES_Q_SHIFT (16U) 27811 #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) 27812 /*! @} */ 27813 27814 /* The count of XCVR_RX_DIG_DCOC_CAL */ 27815 #define XCVR_RX_DIG_DCOC_CAL_COUNT (3U) 27816 27817 /*! @name CCA_ED_LQI_CTRL_0 - RX_DIG CCA ED LQI Control Register 0 */ 27818 /*! @{ */ 27819 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CORR_THRESH_MASK (0xFFU) 27820 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CORR_THRESH_SHIFT (0U) 27821 #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) 27822 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_CORR_CNTR_THRESH_MASK (0xFF00U) 27823 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_CORR_CNTR_THRESH_SHIFT (8U) 27824 #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) 27825 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CNTR_MASK (0xFF0000U) 27826 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_LQI_CNTR_SHIFT (16U) 27827 #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) 27828 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_SNR_ADJ_MASK (0x3F000000U) 27829 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_0_SNR_ADJ_SHIFT (24U) 27830 #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) 27831 /*! @} */ 27832 27833 /*! @name CCA_ED_LQI_CTRL_1 - RX_DIG CCA ED LQI Control Register 1 */ 27834 /*! @{ */ 27835 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_DELAY_MASK (0x3FU) 27836 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_DELAY_SHIFT (0U) 27837 #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) 27838 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_FACTOR_MASK (0x1C0U) 27839 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_RSSI_NOISE_AVG_FACTOR_SHIFT (6U) 27840 /*! RSSI_NOISE_AVG_FACTOR - RSSI Noise Averaging Factor 27841 * 0b000..1 27842 * 0b001..64 27843 * 0b010..70 27844 * 0b011..128 27845 * 0b100..139 27846 * 0b101..256 27847 * 0b110..277 27848 * 0b111..512 27849 */ 27850 #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) 27851 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_WEIGHT_MASK (0xE00U) 27852 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_WEIGHT_SHIFT (9U) 27853 /*! LQI_RSSI_WEIGHT - LQI RSSI Weight 27854 * 0b000..2.0 27855 * 0b001..2.125 27856 * 0b010..2.25 27857 * 0b011..2.375 27858 * 0b100..2.5 27859 * 0b101..2.625 27860 * 0b110..2.75 27861 * 0b111..2.875 27862 */ 27863 #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) 27864 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_SENS_MASK (0xF000U) 27865 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_RSSI_SENS_SHIFT (12U) 27866 #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) 27867 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_DIS_MASK (0x10000U) 27868 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_DIS_SHIFT (16U) 27869 /*! SNR_LQI_DIS - SNR LQI Disable 27870 * 0b0..Normal operation. 27871 * 0b1..The RX_DIG CCA/ED/LQI block ignores the AA match input which starts an LQI measurement. 27872 */ 27873 #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) 27874 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SEL_SNR_MODE_MASK (0x20000U) 27875 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SEL_SNR_MODE_SHIFT (17U) 27876 /*! SEL_SNR_MODE - Select SNR Mode 27877 * 0b0..SNR estimate 27878 * 0b1..Mapped correlation magnitude 27879 */ 27880 #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) 27881 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MEAS_TRANS_TO_IDLE_MASK (0x40000U) 27882 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MEAS_TRANS_TO_IDLE_SHIFT (18U) 27883 /*! MEAS_TRANS_TO_IDLE - Measurement Transition to IDLE 27884 * 0b0..Module transitions to RSSI state 27885 * 0b1..Module transitions to IDLE state 27886 */ 27887 #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) 27888 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_CCA1_ED_EN_DIS_MASK (0x80000U) 27889 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_CCA1_ED_EN_DIS_SHIFT (19U) 27890 /*! CCA1_ED_EN_DIS - CCA1_ED_EN Disable 27891 * 0b0..Normal operation 27892 * 0b1..CCA1_ED_EN input is disabled 27893 */ 27894 #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) 27895 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MAN_MEAS_COMPLETE_MASK (0x100000U) 27896 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_MAN_MEAS_COMPLETE_SHIFT (20U) 27897 /*! MAN_MEAS_COMPLETE - Manual measurement complete 27898 * 0b0..Normal operation 27899 * 0b1..Manually asserts the measurement complete signal for the RX_DIG CCA/ED/LQI blocks. Intended to be used only for debug. 27900 */ 27901 #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) 27902 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_MASK (0x200000U) 27903 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_SHIFT (21U) 27904 /*! NB_WB_OVRD - Narrowband Wideband Override 27905 * 0b0..RSSI forced to be in Wideband mode if NB_WB_OVRD_EN is set 27906 * 0b1..RSSI forced to be in Narrowband mode if NB_WB_OVRD_EN is set 27907 */ 27908 #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) 27909 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_EN_MASK (0x400000U) 27910 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_NB_WB_OVRD_EN_SHIFT (22U) 27911 /*! NB_WB_OVRD_EN - Narrowband Wideband Override Enable 27912 * 0b0..Normal operation 27913 * 0b1..RSSI narrowband/wideband selection is via NB_WB_OVRD 27914 */ 27915 #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) 27916 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_WEIGHT_MASK (0xF000000U) 27917 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_SNR_LQI_WEIGHT_SHIFT (24U) 27918 /*! SNR_LQI_WEIGHT - SNR LQI Weight 27919 * 0b0000..0.0 27920 * 0b0001..1.0 27921 * 0b0010..1.125 27922 * 0b0011..1.25 27923 * 0b0100..1.375 27924 * 0b0101..1.5 27925 * 0b0110..1.625 27926 * 0b0111..1.75 27927 * 0b1000..1.875 27928 * 0b1001..2.0 27929 * 0b1010..2.125 27930 * 0b1011..2.25 27931 * 0b1100..2.375 27932 * 0b1101..2.5 27933 * 0b1110..2.625 27934 * 0b1111..2.75 27935 */ 27936 #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) 27937 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_BIAS_MASK (0xF0000000U) 27938 #define XCVR_RX_DIG_CCA_ED_LQI_CTRL_1_LQI_BIAS_SHIFT (28U) 27939 #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) 27940 /*! @} */ 27941 27942 /*! @name CCA_ED_LQI_STAT_0 - RX_DIG CCA ED LQI Status Register 0 */ 27943 /*! @{ */ 27944 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_LQI_OUT_MASK (0xFFU) 27945 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_LQI_OUT_SHIFT (0U) 27946 #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) 27947 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_ED_OUT_MASK (0xFF00U) 27948 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_ED_OUT_SHIFT (8U) 27949 #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) 27950 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_SNR_OUT_MASK (0xFF0000U) 27951 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_SNR_OUT_SHIFT (16U) 27952 #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) 27953 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_CCA1_STATE_MASK (0x1000000U) 27954 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_CCA1_STATE_SHIFT (24U) 27955 #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) 27956 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_MEAS_COMPLETE_MASK (0x2000000U) 27957 #define XCVR_RX_DIG_CCA_ED_LQI_STAT_0_MEAS_COMPLETE_SHIFT (25U) 27958 #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) 27959 /*! @} */ 27960 27961 /*! @name RX_CHF_COEF_0 - Receive Channel Filter Coefficient 0 */ 27962 /*! @{ */ 27963 #define XCVR_RX_DIG_RX_CHF_COEF_0_RX_CH_FILT_H0_MASK (0x3FU) 27964 #define XCVR_RX_DIG_RX_CHF_COEF_0_RX_CH_FILT_H0_SHIFT (0U) 27965 #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) 27966 /*! @} */ 27967 27968 /*! @name RX_CHF_COEF_1 - Receive Channel Filter Coefficient 1 */ 27969 /*! @{ */ 27970 #define XCVR_RX_DIG_RX_CHF_COEF_1_RX_CH_FILT_H1_MASK (0x3FU) 27971 #define XCVR_RX_DIG_RX_CHF_COEF_1_RX_CH_FILT_H1_SHIFT (0U) 27972 #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) 27973 /*! @} */ 27974 27975 /*! @name RX_CHF_COEF_2 - Receive Channel Filter Coefficient 2 */ 27976 /*! @{ */ 27977 #define XCVR_RX_DIG_RX_CHF_COEF_2_RX_CH_FILT_H2_MASK (0x7FU) 27978 #define XCVR_RX_DIG_RX_CHF_COEF_2_RX_CH_FILT_H2_SHIFT (0U) 27979 #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) 27980 /*! @} */ 27981 27982 /*! @name RX_CHF_COEF_3 - Receive Channel Filter Coefficient 3 */ 27983 /*! @{ */ 27984 #define XCVR_RX_DIG_RX_CHF_COEF_3_RX_CH_FILT_H3_MASK (0x7FU) 27985 #define XCVR_RX_DIG_RX_CHF_COEF_3_RX_CH_FILT_H3_SHIFT (0U) 27986 #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) 27987 /*! @} */ 27988 27989 /*! @name RX_CHF_COEF_4 - Receive Channel Filter Coefficient 4 */ 27990 /*! @{ */ 27991 #define XCVR_RX_DIG_RX_CHF_COEF_4_RX_CH_FILT_H4_MASK (0x7FU) 27992 #define XCVR_RX_DIG_RX_CHF_COEF_4_RX_CH_FILT_H4_SHIFT (0U) 27993 #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) 27994 /*! @} */ 27995 27996 /*! @name RX_CHF_COEF_5 - Receive Channel Filter Coefficient 5 */ 27997 /*! @{ */ 27998 #define XCVR_RX_DIG_RX_CHF_COEF_5_RX_CH_FILT_H5_MASK (0x7FU) 27999 #define XCVR_RX_DIG_RX_CHF_COEF_5_RX_CH_FILT_H5_SHIFT (0U) 28000 #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) 28001 /*! @} */ 28002 28003 /*! @name RX_CHF_COEF_6 - Receive Channel Filter Coefficient 6 */ 28004 /*! @{ */ 28005 #define XCVR_RX_DIG_RX_CHF_COEF_6_RX_CH_FILT_H6_MASK (0xFFU) 28006 #define XCVR_RX_DIG_RX_CHF_COEF_6_RX_CH_FILT_H6_SHIFT (0U) 28007 #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) 28008 /*! @} */ 28009 28010 /*! @name RX_CHF_COEF_7 - Receive Channel Filter Coefficient 7 */ 28011 /*! @{ */ 28012 #define XCVR_RX_DIG_RX_CHF_COEF_7_RX_CH_FILT_H7_MASK (0xFFU) 28013 #define XCVR_RX_DIG_RX_CHF_COEF_7_RX_CH_FILT_H7_SHIFT (0U) 28014 #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) 28015 /*! @} */ 28016 28017 /*! @name RX_CHF_COEF_8 - Receive Channel Filter Coefficient 8 */ 28018 /*! @{ */ 28019 #define XCVR_RX_DIG_RX_CHF_COEF_8_RX_CH_FILT_H8_MASK (0x1FFU) 28020 #define XCVR_RX_DIG_RX_CHF_COEF_8_RX_CH_FILT_H8_SHIFT (0U) 28021 #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) 28022 /*! @} */ 28023 28024 /*! @name RX_CHF_COEF_9 - Receive Channel Filter Coefficient 9 */ 28025 /*! @{ */ 28026 #define XCVR_RX_DIG_RX_CHF_COEF_9_RX_CH_FILT_H9_MASK (0x1FFU) 28027 #define XCVR_RX_DIG_RX_CHF_COEF_9_RX_CH_FILT_H9_SHIFT (0U) 28028 #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) 28029 /*! @} */ 28030 28031 /*! @name RX_CHF_COEF_10 - Receive Channel Filter Coefficient 10 */ 28032 /*! @{ */ 28033 #define XCVR_RX_DIG_RX_CHF_COEF_10_RX_CH_FILT_H10_MASK (0x3FFU) 28034 #define XCVR_RX_DIG_RX_CHF_COEF_10_RX_CH_FILT_H10_SHIFT (0U) 28035 #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) 28036 /*! @} */ 28037 28038 /*! @name RX_CHF_COEF_11 - Receive Channel Filter Coefficient 11 */ 28039 /*! @{ */ 28040 #define XCVR_RX_DIG_RX_CHF_COEF_11_RX_CH_FILT_H11_MASK (0x3FFU) 28041 #define XCVR_RX_DIG_RX_CHF_COEF_11_RX_CH_FILT_H11_SHIFT (0U) 28042 #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) 28043 /*! @} */ 28044 28045 /*! @name AGC_MAN_AGC_IDX - AGC Manual AGC Index */ 28046 /*! @{ */ 28047 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_IDX_CMP_PHY_MASK (0x1FU) 28048 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_IDX_CMP_PHY_SHIFT (0U) 28049 #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) 28050 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_MASK (0x1F0000U) 28051 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_SHIFT (16U) 28052 #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) 28053 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_EN_MASK (0x1000000U) 28054 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_MAN_IDX_EN_SHIFT (24U) 28055 #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) 28056 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_DCOC_START_PT_MASK (0x2000000U) 28057 #define XCVR_RX_DIG_AGC_MAN_AGC_IDX_AGC_DCOC_START_PT_SHIFT (25U) 28058 #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) 28059 /*! @} */ 28060 28061 /*! @name DC_RESID_CTRL - DC Residual Control */ 28062 /*! @{ */ 28063 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_NWIN_MASK (0x7FU) 28064 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_NWIN_SHIFT (0U) 28065 #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) 28066 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ITER_FREEZE_MASK (0xF00U) 28067 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ITER_FREEZE_SHIFT (8U) 28068 #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) 28069 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ALPHA_MASK (0x7000U) 28070 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_ALPHA_SHIFT (12U) 28071 #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) 28072 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_DLY_MASK (0x70000U) 28073 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_DLY_SHIFT (16U) 28074 #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) 28075 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_EXT_DC_EN_MASK (0x100000U) 28076 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_EXT_DC_EN_SHIFT (20U) 28077 /*! DC_RESID_EXT_DC_EN - DC Residual External DC Enable 28078 * 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. 28079 * 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. 28080 */ 28081 #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) 28082 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_MIN_AGC_IDX_MASK (0x1F000000U) 28083 #define XCVR_RX_DIG_DC_RESID_CTRL_DC_RESID_MIN_AGC_IDX_SHIFT (24U) 28084 #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) 28085 /*! @} */ 28086 28087 /*! @name DC_RESID_EST - DC Residual Estimate */ 28088 /*! @{ */ 28089 #define XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_I_MASK (0x1FFFU) 28090 #define XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_I_SHIFT (0U) 28091 #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) 28092 #define XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_Q_MASK (0x1FFF0000U) 28093 #define XCVR_RX_DIG_DC_RESID_EST_DC_RESID_OFFSET_Q_SHIFT (16U) 28094 #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) 28095 /*! @} */ 28096 28097 /*! @name RX_RCCAL_CTRL0 - RX RC Calibration Control0 */ 28098 /*! @{ */ 28099 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_OFFSET_MASK (0xFU) 28100 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_OFFSET_SHIFT (0U) 28101 #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) 28102 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_MANUAL_MASK (0x1F0U) 28103 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_MANUAL_SHIFT (4U) 28104 #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) 28105 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_DIS_MASK (0x200U) 28106 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_BBA_RCCAL_DIS_SHIFT (9U) 28107 /*! BBA_RCCAL_DIS - BBA RC Calibration Disable 28108 * 0b0..BBA RC Calibration is enabled 28109 * 0b1..BBA RC Calibration is disabled 28110 */ 28111 #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) 28112 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_SMP_DLY_MASK (0x3000U) 28113 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_SMP_DLY_SHIFT (12U) 28114 /*! RCCAL_SMP_DLY - RC Calibration Sample Delay 28115 * 0b00..The comp_out signal is sampled 0 clk cycle after sample signal is deasserted 28116 * 0b01..The comp_out signal is sampled 1 clk cycle after sample signal is deasserted 28117 * 0b10..The comp_out signal is sampled 2 clk cycle after sample signal is deasserted 28118 * 0b11..The comp_out signal is sampled 3 clk cycle after sample signal is deasserted 28119 */ 28120 #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) 28121 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_COMP_INV_MASK (0x8000U) 28122 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_RCCAL_COMP_INV_SHIFT (15U) 28123 /*! RCCAL_COMP_INV - RC Calibration comp_out Invert 28124 * 0b0..The comp_out signal polarity is NOT inverted 28125 * 0b1..The comp_out signal polarity is inverted 28126 */ 28127 #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) 28128 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_OFFSET_MASK (0xF0000U) 28129 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_OFFSET_SHIFT (16U) 28130 #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) 28131 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_MANUAL_MASK (0x1F00000U) 28132 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_MANUAL_SHIFT (20U) 28133 #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) 28134 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_DIS_MASK (0x2000000U) 28135 #define XCVR_RX_DIG_RX_RCCAL_CTRL0_TZA_RCCAL_DIS_SHIFT (25U) 28136 /*! TZA_RCCAL_DIS - TZA RC Calibration Disable 28137 * 0b0..TZA RC Calibration is enabled 28138 * 0b1..TZA RC Calibration is disabled 28139 */ 28140 #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) 28141 /*! @} */ 28142 28143 /*! @name RX_RCCAL_CTRL1 - RX RC Calibration Control1 */ 28144 /*! @{ */ 28145 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_OFFSET_MASK (0xFU) 28146 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_OFFSET_SHIFT (0U) 28147 #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) 28148 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_MANUAL_MASK (0x1F0U) 28149 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_MANUAL_SHIFT (4U) 28150 #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) 28151 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_DIS_MASK (0x200U) 28152 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_ADC_RCCAL_DIS_SHIFT (9U) 28153 /*! ADC_RCCAL_DIS - ADC RC Calibration Disable 28154 * 0b0..ADC RC Calibration is enabled 28155 * 0b1..ADC RC Calibration is disabled 28156 */ 28157 #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) 28158 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_OFFSET_MASK (0xF0000U) 28159 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_OFFSET_SHIFT (16U) 28160 #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) 28161 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_MANUAL_MASK (0x1F00000U) 28162 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_MANUAL_SHIFT (20U) 28163 #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) 28164 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_DIS_MASK (0x2000000U) 28165 #define XCVR_RX_DIG_RX_RCCAL_CTRL1_BBA2_RCCAL_DIS_SHIFT (25U) 28166 /*! BBA2_RCCAL_DIS - BBA2 RC Calibration Disable 28167 * 0b0..BBA2 RC Calibration is enabled 28168 * 0b1..BBA2 RC Calibration is disabled 28169 */ 28170 #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) 28171 /*! @} */ 28172 28173 /*! @name RX_RCCAL_STAT - RX RC Calibration Status */ 28174 /*! @{ */ 28175 #define XCVR_RX_DIG_RX_RCCAL_STAT_RCCAL_CODE_MASK (0x1FU) 28176 #define XCVR_RX_DIG_RX_RCCAL_STAT_RCCAL_CODE_SHIFT (0U) 28177 #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) 28178 #define XCVR_RX_DIG_RX_RCCAL_STAT_ADC_RCCAL_MASK (0x3E0U) 28179 #define XCVR_RX_DIG_RX_RCCAL_STAT_ADC_RCCAL_SHIFT (5U) 28180 #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) 28181 #define XCVR_RX_DIG_RX_RCCAL_STAT_BBA2_RCCAL_MASK (0x7C00U) 28182 #define XCVR_RX_DIG_RX_RCCAL_STAT_BBA2_RCCAL_SHIFT (10U) 28183 #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) 28184 #define XCVR_RX_DIG_RX_RCCAL_STAT_BBA_RCCAL_MASK (0x1F0000U) 28185 #define XCVR_RX_DIG_RX_RCCAL_STAT_BBA_RCCAL_SHIFT (16U) 28186 #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) 28187 #define XCVR_RX_DIG_RX_RCCAL_STAT_TZA_RCCAL_MASK (0x3E00000U) 28188 #define XCVR_RX_DIG_RX_RCCAL_STAT_TZA_RCCAL_SHIFT (21U) 28189 #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) 28190 /*! @} */ 28191 28192 /*! @name AUXPLL_FCAL_CTRL - Aux PLL Frequency Calibration Control */ 28193 /*! @{ */ 28194 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_MANUAL_MASK (0x7FU) 28195 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_MANUAL_SHIFT (0U) 28196 #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) 28197 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_AUXPLL_DAC_CAL_ADJUST_DIS_MASK (0x80U) 28198 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_AUXPLL_DAC_CAL_ADJUST_DIS_SHIFT (7U) 28199 /*! AUXPLL_DAC_CAL_ADJUST_DIS - Aux PLL Frequency Calibration Disable 28200 * 0b0..Calibration is enabled 28201 * 0b1..Calibration is disabled 28202 */ 28203 #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) 28204 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_RUN_CNT_MASK (0x100U) 28205 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_RUN_CNT_SHIFT (8U) 28206 /*! FCAL_RUN_CNT - Aux PLL Frequency Calibration Run Count 28207 * 0b0..Run count is 256 clock cycles 28208 * 0b1..Run count is 512 clock cycles 28209 */ 28210 #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) 28211 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_COMP_INV_MASK (0x200U) 28212 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_COMP_INV_SHIFT (9U) 28213 /*! FCAL_COMP_INV - Aux PLL Frequency Calibration Comparison Invert 28214 * 0b0..(Default) The comparison associated with the count is not inverted. 28215 * 0b1..The comparison associated with the count is inverted 28216 */ 28217 #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) 28218 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_SMP_DLY_MASK (0xC00U) 28219 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_FCAL_SMP_DLY_SHIFT (10U) 28220 /*! FCAL_SMP_DLY - Aux PLL Frequency Calibration Sample Delay 28221 * 0b00..The count signal is sampled 1 clk cycle after fcal_run signal is deasserted 28222 * 0b01..The count signal is sampled 2 clk cycle after fcal_run signal is deasserted 28223 * 0b10..The count signal is sampled 3 clk cycle after fcal_run signal is deasserted 28224 * 0b11..The count signal is sampled 4 clk cycle after fcal_run signal is deasserted 28225 */ 28226 #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) 28227 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_MASK (0x7F0000U) 28228 #define XCVR_RX_DIG_AUXPLL_FCAL_CTRL_DAC_CAL_ADJUST_SHIFT (16U) 28229 #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) 28230 /*! @} */ 28231 28232 /*! @name AUXPLL_FCAL_CNT6 - Aux PLL Frequency Calibration Count 6 */ 28233 /*! @{ */ 28234 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_COUNT_6_MASK (0x3FFU) 28235 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_COUNT_6_SHIFT (0U) 28236 #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) 28237 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_BESTDIFF_MASK (0x3FF0000U) 28238 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT6_FCAL_BESTDIFF_SHIFT (16U) 28239 #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) 28240 /*! @} */ 28241 28242 /*! @name AUXPLL_FCAL_CNT5_4 - Aux PLL Frequency Calibration Count 5 and 4 */ 28243 /*! @{ */ 28244 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_4_MASK (0x3FFU) 28245 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_4_SHIFT (0U) 28246 #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) 28247 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_5_MASK (0x3FF0000U) 28248 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT5_4_FCAL_COUNT_5_SHIFT (16U) 28249 #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) 28250 /*! @} */ 28251 28252 /*! @name AUXPLL_FCAL_CNT3_2 - Aux PLL Frequency Calibration Count 3 and 2 */ 28253 /*! @{ */ 28254 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_2_MASK (0x3FFU) 28255 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_2_SHIFT (0U) 28256 #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) 28257 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_3_MASK (0x3FF0000U) 28258 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT3_2_FCAL_COUNT_3_SHIFT (16U) 28259 #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) 28260 /*! @} */ 28261 28262 /*! @name AUXPLL_FCAL_CNT1_0 - Aux PLL Frequency Calibration Count 1 and 0 */ 28263 /*! @{ */ 28264 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_0_MASK (0x3FFU) 28265 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_0_SHIFT (0U) 28266 #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) 28267 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_1_MASK (0x3FF0000U) 28268 #define XCVR_RX_DIG_AUXPLL_FCAL_CNT1_0_FCAL_COUNT_1_SHIFT (16U) 28269 #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) 28270 /*! @} */ 28271 28272 28273 /*! 28274 * @} 28275 */ /* end of group XCVR_RX_DIG_Register_Masks */ 28276 28277 28278 /* XCVR_RX_DIG - Peripheral instance base addresses */ 28279 /** Peripheral XCVR_RX_DIG base address */ 28280 #define XCVR_RX_DIG_BASE (0x41030000u) 28281 /** Peripheral XCVR_RX_DIG base pointer */ 28282 #define XCVR_RX_DIG ((XCVR_RX_DIG_Type *)XCVR_RX_DIG_BASE) 28283 /** Array initializer of XCVR_RX_DIG peripheral base addresses */ 28284 #define XCVR_RX_DIG_BASE_ADDRS { XCVR_RX_DIG_BASE } 28285 /** Array initializer of XCVR_RX_DIG peripheral base pointers */ 28286 #define XCVR_RX_DIG_BASE_PTRS { XCVR_RX_DIG } 28287 28288 /*! 28289 * @} 28290 */ /* end of group XCVR_RX_DIG_Peripheral_Access_Layer */ 28291 28292 28293 /* ---------------------------------------------------------------------------- 28294 -- XCVR_TSM Peripheral Access Layer 28295 ---------------------------------------------------------------------------- */ 28296 28297 /*! 28298 * @addtogroup XCVR_TSM_Peripheral_Access_Layer XCVR_TSM Peripheral Access Layer 28299 * @{ 28300 */ 28301 28302 /** XCVR_TSM - Register Layout Typedef */ 28303 typedef struct { 28304 __IO uint32_t CTRL; /**< TSM CONTROL, offset: 0x0 */ 28305 __IO uint32_t END_OF_SEQ; /**< TSM END OF SEQUENCE, offset: 0x4 */ 28306 __IO uint32_t PA_POWER; /**< PA POWER, offset: 0x8 */ 28307 __IO uint32_t PA_RAMP_TBL0; /**< PA RAMP TABLE 0, offset: 0xC */ 28308 __IO uint32_t PA_RAMP_TBL1; /**< PA RAMP TABLE 1, offset: 0x10 */ 28309 __IO uint32_t PA_RAMP_TBL2; /**< PA RAMP TABLE 2, offset: 0x14 */ 28310 __IO uint32_t PA_RAMP_TBL3; /**< PA RAMP TABLE 3, offset: 0x18 */ 28311 uint8_t RESERVED_0[8]; 28312 __IO uint32_t RECYCLE_COUNT; /**< TSM RECYCLE COUNT, offset: 0x24 */ 28313 __IO uint32_t FAST_CTRL1; /**< TSM FAST WARMUP CONTROL 1, offset: 0x28 */ 28314 __IO uint32_t FAST_CTRL2; /**< TSM FAST WARMUP CONTROL 2, offset: 0x2C */ 28315 __IO uint32_t TIMING00; /**< TSM_TIMING00, offset: 0x30 */ 28316 __IO uint32_t TIMING01; /**< TSM_TIMING01, offset: 0x34 */ 28317 __IO uint32_t TIMING02; /**< TSM_TIMING02, offset: 0x38 */ 28318 __IO uint32_t TIMING03; /**< TSM_TIMING03, offset: 0x3C */ 28319 __IO uint32_t TIMING04; /**< TSM_TIMING04, offset: 0x40 */ 28320 __IO uint32_t TIMING05; /**< TSM_TIMING05, offset: 0x44 */ 28321 __IO uint32_t TIMING06; /**< TSM_TIMING06, offset: 0x48 */ 28322 __IO uint32_t TIMING07; /**< TSM_TIMING07, offset: 0x4C */ 28323 __IO uint32_t TIMING08; /**< TSM_TIMING08, offset: 0x50 */ 28324 __IO uint32_t TIMING09; /**< TSM_TIMING09, offset: 0x54 */ 28325 __IO uint32_t TIMING10; /**< TSM_TIMING10, offset: 0x58 */ 28326 __IO uint32_t TIMING11; /**< TSM_TIMING11, offset: 0x5C */ 28327 __IO uint32_t TIMING12; /**< TSM_TIMING12, offset: 0x60 */ 28328 __IO uint32_t TIMING13; /**< TSM_TIMING13, offset: 0x64 */ 28329 __IO uint32_t TIMING14; /**< TSM_TIMING14, offset: 0x68 */ 28330 __IO uint32_t TIMING15; /**< TSM_TIMING15, offset: 0x6C */ 28331 __IO uint32_t TIMING16; /**< TSM_TIMING16, offset: 0x70 */ 28332 __IO uint32_t TIMING17; /**< TSM_TIMING17, offset: 0x74 */ 28333 __IO uint32_t TIMING18; /**< TSM_TIMING18, offset: 0x78 */ 28334 __IO uint32_t TIMING19; /**< TSM_TIMING19, offset: 0x7C */ 28335 __IO uint32_t TIMING20; /**< TSM_TIMING20, offset: 0x80 */ 28336 __IO uint32_t TIMING21; /**< TSM_TIMING21, offset: 0x84 */ 28337 __IO uint32_t TIMING22; /**< TSM_TIMING22, offset: 0x88 */ 28338 __IO uint32_t TIMING23; /**< TSM_TIMING23, offset: 0x8C */ 28339 __IO uint32_t TIMING24; /**< TSM_TIMING24, offset: 0x90 */ 28340 __IO uint32_t TIMING25; /**< TSM_TIMING25, offset: 0x94 */ 28341 __IO uint32_t TIMING26; /**< TSM_TIMING26, offset: 0x98 */ 28342 __IO uint32_t TIMING27; /**< TSM_TIMING27, offset: 0x9C */ 28343 __IO uint32_t TIMING28; /**< TSM_TIMING28, offset: 0xA0 */ 28344 __IO uint32_t TIMING29; /**< TSM_TIMING29, offset: 0xA4 */ 28345 __IO uint32_t TIMING30; /**< TSM_TIMING30, offset: 0xA8 */ 28346 __IO uint32_t TIMING31; /**< TSM_TIMING31, offset: 0xAC */ 28347 __IO uint32_t TIMING32; /**< TSM_TIMING32, offset: 0xB0 */ 28348 __IO uint32_t TIMING33; /**< TSM_TIMING33, offset: 0xB4 */ 28349 __IO uint32_t TIMING34; /**< TSM_TIMING34, offset: 0xB8 */ 28350 __IO uint32_t TIMING35; /**< TSM_TIMING35, offset: 0xBC */ 28351 __IO uint32_t TIMING36; /**< TSM_TIMING36, offset: 0xC0 */ 28352 __IO uint32_t TIMING37; /**< TSM_TIMING37, offset: 0xC4 */ 28353 __IO uint32_t TIMING38; /**< TSM_TIMING38, offset: 0xC8 */ 28354 __IO uint32_t TIMING39; /**< TSM_TIMING39, offset: 0xCC */ 28355 __IO uint32_t TIMING40; /**< TSM_TIMING40, offset: 0xD0 */ 28356 __IO uint32_t TIMING41; /**< TSM_TIMING41, offset: 0xD4 */ 28357 __IO uint32_t TIMING42; /**< TSM_TIMING42, offset: 0xD8 */ 28358 __IO uint32_t TIMING43; /**< TSM_TIMING43, offset: 0xDC */ 28359 __IO uint32_t TIMING44; /**< TSM_TIMING44, offset: 0xE0 */ 28360 __IO uint32_t TIMING45; /**< TSM_TIMING45, offset: 0xE4 */ 28361 __IO uint32_t TIMING46; /**< TSM_TIMING46, offset: 0xE8 */ 28362 __IO uint32_t TIMING47; /**< TSM_TIMING47, offset: 0xEC */ 28363 __IO uint32_t TIMING48; /**< TSM_TIMING48, offset: 0xF0 */ 28364 __IO uint32_t TIMING49; /**< TSM_TIMING49, offset: 0xF4 */ 28365 __IO uint32_t TIMING50; /**< TSM_TIMING50, offset: 0xF8 */ 28366 __IO uint32_t TIMING51; /**< TSM_TIMING51, offset: 0xFC */ 28367 __IO uint32_t TIMING52; /**< TSM_TIMING52, offset: 0x100 */ 28368 __IO uint32_t TIMING53; /**< TSM_TIMING53, offset: 0x104 */ 28369 __IO uint32_t TIMING54; /**< TSM_TIMING54, offset: 0x108 */ 28370 __IO uint32_t TIMING55; /**< TSM_TIMING55, offset: 0x10C */ 28371 __IO uint32_t TIMING56; /**< TSM_TIMING56, offset: 0x110 */ 28372 __IO uint32_t TIMING57; /**< TSM_TIMING57, offset: 0x114 */ 28373 __IO uint32_t TIMING58; /**< TSM_TIMING58, offset: 0x118 */ 28374 __IO uint32_t OVRD0; /**< TSM OVERRIDE REGISTER 0, offset: 0x11C */ 28375 __IO uint32_t OVRD1; /**< TSM OVERRIDE REGISTER 1, offset: 0x120 */ 28376 __IO uint32_t OVRD2; /**< TSM OVERRIDE REGISTER 2, offset: 0x124 */ 28377 __IO uint32_t OVRD3; /**< TSM OVERRIDE REGISTER 3, offset: 0x128 */ 28378 } XCVR_TSM_Type; 28379 28380 /* ---------------------------------------------------------------------------- 28381 -- XCVR_TSM Register Masks 28382 ---------------------------------------------------------------------------- */ 28383 28384 /*! 28385 * @addtogroup XCVR_TSM_Register_Masks XCVR_TSM Register Masks 28386 * @{ 28387 */ 28388 28389 /*! @name CTRL - TSM CONTROL */ 28390 /*! @{ */ 28391 #define XCVR_TSM_CTRL_TSM_SOFT_RESET_MASK (0x2U) 28392 #define XCVR_TSM_CTRL_TSM_SOFT_RESET_SHIFT (1U) 28393 /*! TSM_SOFT_RESET - TSM Soft Reset 28394 * 0b0..TSM Soft Reset removed. Normal operation. 28395 * 0b1..TSM Soft Reset engaged. TSM forced to IDLE, and holds there until the bit is cleared. 28396 */ 28397 #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) 28398 #define XCVR_TSM_CTRL_FORCE_TX_EN_MASK (0x4U) 28399 #define XCVR_TSM_CTRL_FORCE_TX_EN_SHIFT (2U) 28400 /*! FORCE_TX_EN - Force Transmit Enable 28401 * 0b0..TSM Idle 28402 * 0b1..TSM executes a TX sequence 28403 */ 28404 #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) 28405 #define XCVR_TSM_CTRL_FORCE_RX_EN_MASK (0x8U) 28406 #define XCVR_TSM_CTRL_FORCE_RX_EN_SHIFT (3U) 28407 /*! FORCE_RX_EN - Force Receive Enable 28408 * 0b0..TSM Idle 28409 * 0b1..TSM executes a RX sequence 28410 */ 28411 #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) 28412 #define XCVR_TSM_CTRL_PA_RAMP_SEL_MASK (0x30U) 28413 #define XCVR_TSM_CTRL_PA_RAMP_SEL_SHIFT (4U) 28414 #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) 28415 #define XCVR_TSM_CTRL_DATA_PADDING_EN_MASK (0xC0U) 28416 #define XCVR_TSM_CTRL_DATA_PADDING_EN_SHIFT (6U) 28417 /*! DATA_PADDING_EN - Data Padding Enable 28418 * 0b00..Disable TX Data Padding 28419 * 0b01..Enable TX Data Padding 28420 */ 28421 #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) 28422 #define XCVR_TSM_CTRL_TSM_IRQ0_EN_MASK (0x100U) 28423 #define XCVR_TSM_CTRL_TSM_IRQ0_EN_SHIFT (8U) 28424 /*! TSM_IRQ0_EN - TSM_IRQ0 Enable/Disable bit 28425 * 0b0..TSM_IRQ0 is disabled 28426 * 0b1..TSM_IRQ0 is enabled 28427 */ 28428 #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) 28429 #define XCVR_TSM_CTRL_TSM_IRQ1_EN_MASK (0x200U) 28430 #define XCVR_TSM_CTRL_TSM_IRQ1_EN_SHIFT (9U) 28431 /*! TSM_IRQ1_EN - TSM_IRQ1 Enable/Disable bit 28432 * 0b0..TSM_IRQ1 is disabled 28433 * 0b1..TSM_IRQ1 is enabled 28434 */ 28435 #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) 28436 #define XCVR_TSM_CTRL_RAMP_DN_DELAY_MASK (0xF000U) 28437 #define XCVR_TSM_CTRL_RAMP_DN_DELAY_SHIFT (12U) 28438 #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) 28439 #define XCVR_TSM_CTRL_TX_ABORT_DIS_MASK (0x10000U) 28440 #define XCVR_TSM_CTRL_TX_ABORT_DIS_SHIFT (16U) 28441 #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) 28442 #define XCVR_TSM_CTRL_RX_ABORT_DIS_MASK (0x20000U) 28443 #define XCVR_TSM_CTRL_RX_ABORT_DIS_SHIFT (17U) 28444 #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) 28445 #define XCVR_TSM_CTRL_ABORT_ON_CTUNE_MASK (0x40000U) 28446 #define XCVR_TSM_CTRL_ABORT_ON_CTUNE_SHIFT (18U) 28447 /*! ABORT_ON_CTUNE - Abort On Coarse Tune Lock Detect Failure 28448 * 0b0..don't allow TSM abort on Coarse Tune Unlock Detect 28449 * 0b1..allow TSM abort on Coarse Tune Unlock Detect 28450 */ 28451 #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) 28452 #define XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_MASK (0x80000U) 28453 #define XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_SHIFT (19U) 28454 /*! ABORT_ON_CYCLE_SLIP - Abort On Cycle Slip Lock Detect Failure 28455 * 0b0..don't allow TSM abort on Cycle Slip Unlock Detect 28456 * 0b1..allow TSM abort on Cycle Slip Unlock Detect 28457 */ 28458 #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) 28459 #define XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_MASK (0x100000U) 28460 #define XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_SHIFT (20U) 28461 /*! ABORT_ON_FREQ_TARG - Abort On Frequency Target Lock Detect Failure 28462 * 0b0..don't allow TSM abort on Frequency Target Unlock Detect 28463 * 0b1..allow TSM abort on Frequency Target Unlock Detect 28464 */ 28465 #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) 28466 #define XCVR_TSM_CTRL_BKPT_MASK (0xFF000000U) 28467 #define XCVR_TSM_CTRL_BKPT_SHIFT (24U) 28468 #define XCVR_TSM_CTRL_BKPT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_TSM_CTRL_BKPT_SHIFT)) & XCVR_TSM_CTRL_BKPT_MASK) 28469 /*! @} */ 28470 28471 /*! @name END_OF_SEQ - TSM END OF SEQUENCE */ 28472 /*! @{ */ 28473 #define XCVR_TSM_END_OF_SEQ_END_OF_TX_WU_MASK (0xFFU) 28474 #define XCVR_TSM_END_OF_SEQ_END_OF_TX_WU_SHIFT (0U) 28475 #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) 28476 #define XCVR_TSM_END_OF_SEQ_END_OF_TX_WD_MASK (0xFF00U) 28477 #define XCVR_TSM_END_OF_SEQ_END_OF_TX_WD_SHIFT (8U) 28478 #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) 28479 #define XCVR_TSM_END_OF_SEQ_END_OF_RX_WU_MASK (0xFF0000U) 28480 #define XCVR_TSM_END_OF_SEQ_END_OF_RX_WU_SHIFT (16U) 28481 #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) 28482 #define XCVR_TSM_END_OF_SEQ_END_OF_RX_WD_MASK (0xFF000000U) 28483 #define XCVR_TSM_END_OF_SEQ_END_OF_RX_WD_SHIFT (24U) 28484 #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) 28485 /*! @} */ 28486 28487 /*! @name PA_POWER - PA POWER */ 28488 /*! @{ */ 28489 #define XCVR_TSM_PA_POWER_PA_POWER_MASK (0x3FU) 28490 #define XCVR_TSM_PA_POWER_PA_POWER_SHIFT (0U) 28491 #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) 28492 /*! @} */ 28493 28494 /*! @name PA_RAMP_TBL0 - PA RAMP TABLE 0 */ 28495 /*! @{ */ 28496 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP0_MASK (0x3FU) 28497 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP0_SHIFT (0U) 28498 #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) 28499 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP1_MASK (0x3F00U) 28500 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP1_SHIFT (8U) 28501 #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) 28502 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP2_MASK (0x3F0000U) 28503 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP2_SHIFT (16U) 28504 #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) 28505 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP3_MASK (0x3F000000U) 28506 #define XCVR_TSM_PA_RAMP_TBL0_PA_RAMP3_SHIFT (24U) 28507 #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) 28508 /*! @} */ 28509 28510 /*! @name PA_RAMP_TBL1 - PA RAMP TABLE 1 */ 28511 /*! @{ */ 28512 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP4_MASK (0x3FU) 28513 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP4_SHIFT (0U) 28514 #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) 28515 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP5_MASK (0x3F00U) 28516 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP5_SHIFT (8U) 28517 #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) 28518 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP6_MASK (0x3F0000U) 28519 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP6_SHIFT (16U) 28520 #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) 28521 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP7_MASK (0x3F000000U) 28522 #define XCVR_TSM_PA_RAMP_TBL1_PA_RAMP7_SHIFT (24U) 28523 #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) 28524 /*! @} */ 28525 28526 /*! @name PA_RAMP_TBL2 - PA RAMP TABLE 2 */ 28527 /*! @{ */ 28528 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP8_MASK (0x3FU) 28529 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP8_SHIFT (0U) 28530 #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) 28531 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP9_MASK (0x3F00U) 28532 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP9_SHIFT (8U) 28533 #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) 28534 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP10_MASK (0x3F0000U) 28535 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP10_SHIFT (16U) 28536 #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) 28537 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP11_MASK (0x3F000000U) 28538 #define XCVR_TSM_PA_RAMP_TBL2_PA_RAMP11_SHIFT (24U) 28539 #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) 28540 /*! @} */ 28541 28542 /*! @name PA_RAMP_TBL3 - PA RAMP TABLE 3 */ 28543 /*! @{ */ 28544 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP12_MASK (0x3FU) 28545 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP12_SHIFT (0U) 28546 #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) 28547 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP13_MASK (0x3F00U) 28548 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP13_SHIFT (8U) 28549 #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) 28550 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP14_MASK (0x3F0000U) 28551 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP14_SHIFT (16U) 28552 #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) 28553 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP15_MASK (0x3F000000U) 28554 #define XCVR_TSM_PA_RAMP_TBL3_PA_RAMP15_SHIFT (24U) 28555 #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) 28556 /*! @} */ 28557 28558 /*! @name RECYCLE_COUNT - TSM RECYCLE COUNT */ 28559 /*! @{ */ 28560 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT0_MASK (0xFFU) 28561 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT0_SHIFT (0U) 28562 #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) 28563 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT1_MASK (0xFF00U) 28564 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT1_SHIFT (8U) 28565 #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) 28566 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT2_MASK (0xFF0000U) 28567 #define XCVR_TSM_RECYCLE_COUNT_RECYCLE_COUNT2_SHIFT (16U) 28568 #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) 28569 /*! @} */ 28570 28571 /*! @name FAST_CTRL1 - TSM FAST WARMUP CONTROL 1 */ 28572 /*! @{ */ 28573 #define XCVR_TSM_FAST_CTRL1_FAST_TX_WU_EN_MASK (0x1U) 28574 #define XCVR_TSM_FAST_CTRL1_FAST_TX_WU_EN_SHIFT (0U) 28575 /*! FAST_TX_WU_EN - Fast TSM TX Warmup Enable 28576 * 0b0..Fast TSM TX Warmups are disabled 28577 * 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. 28578 */ 28579 #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) 28580 #define XCVR_TSM_FAST_CTRL1_FAST_RX_WU_EN_MASK (0x2U) 28581 #define XCVR_TSM_FAST_CTRL1_FAST_RX_WU_EN_SHIFT (1U) 28582 /*! FAST_RX_WU_EN - Fast TSM RX Warmup Enable 28583 * 0b0..Fast TSM RX Warmups are disabled 28584 * 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. 28585 */ 28586 #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) 28587 #define XCVR_TSM_FAST_CTRL1_FAST_RX2TX_EN_MASK (0x4U) 28588 #define XCVR_TSM_FAST_CTRL1_FAST_RX2TX_EN_SHIFT (2U) 28589 /*! FAST_RX2TX_EN - Fast TSM RX-to-TX Transition Enable 28590 * 0b0..Disable Fast RX-to-TX transitions 28591 * 0b1..Enable Fast RX-to-TX transitions (if fast_rx2tx_wu is asserted by 802.15.4 ZSM) 28592 */ 28593 #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) 28594 #define XCVR_TSM_FAST_CTRL1_FAST_WU_CLEAR_MASK (0x8U) 28595 #define XCVR_TSM_FAST_CTRL1_FAST_WU_CLEAR_SHIFT (3U) 28596 #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) 28597 #define XCVR_TSM_FAST_CTRL1_FAST_RX2TX_START_MASK (0xFF00U) 28598 #define XCVR_TSM_FAST_CTRL1_FAST_RX2TX_START_SHIFT (8U) 28599 #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) 28600 /*! @} */ 28601 28602 /*! @name FAST_CTRL2 - TSM FAST WARMUP CONTROL 2 */ 28603 /*! @{ */ 28604 #define XCVR_TSM_FAST_CTRL2_FAST_START_TX_MASK (0xFFU) 28605 #define XCVR_TSM_FAST_CTRL2_FAST_START_TX_SHIFT (0U) 28606 #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) 28607 #define XCVR_TSM_FAST_CTRL2_FAST_DEST_TX_MASK (0xFF00U) 28608 #define XCVR_TSM_FAST_CTRL2_FAST_DEST_TX_SHIFT (8U) 28609 #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) 28610 #define XCVR_TSM_FAST_CTRL2_FAST_START_RX_MASK (0xFF0000U) 28611 #define XCVR_TSM_FAST_CTRL2_FAST_START_RX_SHIFT (16U) 28612 #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) 28613 #define XCVR_TSM_FAST_CTRL2_FAST_DEST_RX_MASK (0xFF000000U) 28614 #define XCVR_TSM_FAST_CTRL2_FAST_DEST_RX_SHIFT (24U) 28615 #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) 28616 /*! @} */ 28617 28618 /*! @name TIMING00 - TSM_TIMING00 */ 28619 /*! @{ */ 28620 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_HI_MASK (0xFFU) 28621 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_HI_SHIFT (0U) 28622 #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) 28623 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_LO_MASK (0xFF00U) 28624 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_TX_LO_SHIFT (8U) 28625 #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) 28626 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_HI_MASK (0xFF0000U) 28627 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_HI_SHIFT (16U) 28628 #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) 28629 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_LO_MASK (0xFF000000U) 28630 #define XCVR_TSM_TIMING00_BB_LDO_HF_EN_RX_LO_SHIFT (24U) 28631 #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) 28632 /*! @} */ 28633 28634 /*! @name TIMING01 - TSM_TIMING01 */ 28635 /*! @{ */ 28636 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_HI_MASK (0xFFU) 28637 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_HI_SHIFT (0U) 28638 #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) 28639 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_LO_MASK (0xFF00U) 28640 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_TX_LO_SHIFT (8U) 28641 #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) 28642 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_HI_MASK (0xFF0000U) 28643 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_HI_SHIFT (16U) 28644 #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) 28645 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_LO_MASK (0xFF000000U) 28646 #define XCVR_TSM_TIMING01_BB_LDO_ADCDAC_EN_RX_LO_SHIFT (24U) 28647 #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) 28648 /*! @} */ 28649 28650 /*! @name TIMING02 - TSM_TIMING02 */ 28651 /*! @{ */ 28652 #define XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_HI_MASK (0xFF0000U) 28653 #define XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_HI_SHIFT (16U) 28654 #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) 28655 #define XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_LO_MASK (0xFF000000U) 28656 #define XCVR_TSM_TIMING02_BB_LDO_BBA_EN_RX_LO_SHIFT (24U) 28657 #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) 28658 /*! @} */ 28659 28660 /*! @name TIMING03 - TSM_TIMING03 */ 28661 /*! @{ */ 28662 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_HI_MASK (0xFFU) 28663 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_HI_SHIFT (0U) 28664 #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) 28665 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_LO_MASK (0xFF00U) 28666 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_TX_LO_SHIFT (8U) 28667 #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) 28668 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_HI_MASK (0xFF0000U) 28669 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_HI_SHIFT (16U) 28670 #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) 28671 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_LO_MASK (0xFF000000U) 28672 #define XCVR_TSM_TIMING03_BB_LDO_PD_EN_RX_LO_SHIFT (24U) 28673 #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) 28674 /*! @} */ 28675 28676 /*! @name TIMING04 - TSM_TIMING04 */ 28677 /*! @{ */ 28678 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_HI_MASK (0xFFU) 28679 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_HI_SHIFT (0U) 28680 #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) 28681 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_LO_MASK (0xFF00U) 28682 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_TX_LO_SHIFT (8U) 28683 #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) 28684 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_HI_MASK (0xFF0000U) 28685 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_HI_SHIFT (16U) 28686 #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) 28687 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_LO_MASK (0xFF000000U) 28688 #define XCVR_TSM_TIMING04_BB_LDO_FDBK_EN_RX_LO_SHIFT (24U) 28689 #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) 28690 /*! @} */ 28691 28692 /*! @name TIMING05 - TSM_TIMING05 */ 28693 /*! @{ */ 28694 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_HI_MASK (0xFFU) 28695 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_HI_SHIFT (0U) 28696 #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) 28697 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_LO_MASK (0xFF00U) 28698 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_TX_LO_SHIFT (8U) 28699 #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) 28700 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_HI_MASK (0xFF0000U) 28701 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_HI_SHIFT (16U) 28702 #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) 28703 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_LO_MASK (0xFF000000U) 28704 #define XCVR_TSM_TIMING05_BB_LDO_VCOLO_EN_RX_LO_SHIFT (24U) 28705 #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) 28706 /*! @} */ 28707 28708 /*! @name TIMING06 - TSM_TIMING06 */ 28709 /*! @{ */ 28710 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_HI_MASK (0xFFU) 28711 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_HI_SHIFT (0U) 28712 #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) 28713 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_LO_MASK (0xFF00U) 28714 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_TX_LO_SHIFT (8U) 28715 #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) 28716 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_HI_MASK (0xFF0000U) 28717 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_HI_SHIFT (16U) 28718 #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) 28719 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_LO_MASK (0xFF000000U) 28720 #define XCVR_TSM_TIMING06_BB_LDO_VTREF_EN_RX_LO_SHIFT (24U) 28721 #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) 28722 /*! @} */ 28723 28724 /*! @name TIMING07 - TSM_TIMING07 */ 28725 /*! @{ */ 28726 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_HI_MASK (0xFFU) 28727 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_HI_SHIFT (0U) 28728 #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) 28729 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_LO_MASK (0xFF00U) 28730 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_TX_LO_SHIFT (8U) 28731 #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) 28732 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_HI_MASK (0xFF0000U) 28733 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_HI_SHIFT (16U) 28734 #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) 28735 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_LO_MASK (0xFF000000U) 28736 #define XCVR_TSM_TIMING07_BB_LDO_FDBK_BLEED_EN_RX_LO_SHIFT (24U) 28737 #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) 28738 /*! @} */ 28739 28740 /*! @name TIMING08 - TSM_TIMING08 */ 28741 /*! @{ */ 28742 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_HI_MASK (0xFFU) 28743 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_HI_SHIFT (0U) 28744 #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) 28745 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_LO_MASK (0xFF00U) 28746 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_TX_LO_SHIFT (8U) 28747 #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) 28748 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_HI_MASK (0xFF0000U) 28749 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_HI_SHIFT (16U) 28750 #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) 28751 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_LO_MASK (0xFF000000U) 28752 #define XCVR_TSM_TIMING08_BB_LDO_VCOLO_BLEED_EN_RX_LO_SHIFT (24U) 28753 #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) 28754 /*! @} */ 28755 28756 /*! @name TIMING09 - TSM_TIMING09 */ 28757 /*! @{ */ 28758 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_HI_MASK (0xFFU) 28759 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_HI_SHIFT (0U) 28760 #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) 28761 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_LO_MASK (0xFF00U) 28762 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_TX_LO_SHIFT (8U) 28763 #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) 28764 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_HI_MASK (0xFF0000U) 28765 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_HI_SHIFT (16U) 28766 #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) 28767 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_LO_MASK (0xFF000000U) 28768 #define XCVR_TSM_TIMING09_BB_LDO_VCOLO_FASTCHARGE_EN_RX_LO_SHIFT (24U) 28769 #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) 28770 /*! @} */ 28771 28772 /*! @name TIMING10 - TSM_TIMING10 */ 28773 /*! @{ */ 28774 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_HI_MASK (0xFFU) 28775 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_HI_SHIFT (0U) 28776 #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) 28777 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_LO_MASK (0xFF00U) 28778 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_TX_LO_SHIFT (8U) 28779 #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) 28780 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_HI_MASK (0xFF0000U) 28781 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_HI_SHIFT (16U) 28782 #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) 28783 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_LO_MASK (0xFF000000U) 28784 #define XCVR_TSM_TIMING10_BB_XTAL_PLL_REF_CLK_EN_RX_LO_SHIFT (24U) 28785 #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) 28786 /*! @} */ 28787 28788 /*! @name TIMING11 - TSM_TIMING11 */ 28789 /*! @{ */ 28790 #define XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_HI_MASK (0xFFU) 28791 #define XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_HI_SHIFT (0U) 28792 #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) 28793 #define XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_LO_MASK (0xFF00U) 28794 #define XCVR_TSM_TIMING11_BB_XTAL_DAC_REF_CLK_EN_TX_LO_SHIFT (8U) 28795 #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) 28796 /*! @} */ 28797 28798 /*! @name TIMING12 - TSM_TIMING12 */ 28799 /*! @{ */ 28800 #define XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_HI_MASK (0xFF0000U) 28801 #define XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_HI_SHIFT (16U) 28802 #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) 28803 #define XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_LO_MASK (0xFF000000U) 28804 #define XCVR_TSM_TIMING12_RXTX_AUXPLL_VCO_REF_CLK_EN_RX_LO_SHIFT (24U) 28805 #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) 28806 /*! @} */ 28807 28808 /*! @name TIMING13 - TSM_TIMING13 */ 28809 /*! @{ */ 28810 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_HI_MASK (0xFFU) 28811 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_HI_SHIFT (0U) 28812 #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) 28813 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_LO_MASK (0xFF00U) 28814 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_TX_LO_SHIFT (8U) 28815 #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) 28816 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_HI_MASK (0xFF0000U) 28817 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_HI_SHIFT (16U) 28818 #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) 28819 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_LO_MASK (0xFF000000U) 28820 #define XCVR_TSM_TIMING13_PLL_LOOP_IS_OPEN_RX_LO_SHIFT (24U) 28821 #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) 28822 /*! @} */ 28823 28824 /*! @name TIMING14 - TSM_TIMING14 */ 28825 /*! @{ */ 28826 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_HI_MASK (0xFFU) 28827 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_HI_SHIFT (0U) 28828 #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) 28829 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_LO_MASK (0xFF00U) 28830 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_TX_LO_SHIFT (8U) 28831 #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) 28832 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_HI_MASK (0xFF0000U) 28833 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_HI_SHIFT (16U) 28834 #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) 28835 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_LO_MASK (0xFF000000U) 28836 #define XCVR_TSM_TIMING14_SY_PD_CYCLE_SLIP_LD_FT_EN_RX_LO_SHIFT (24U) 28837 #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) 28838 /*! @} */ 28839 28840 /*! @name TIMING15 - TSM_TIMING15 */ 28841 /*! @{ */ 28842 #define XCVR_TSM_TIMING15_SY_VCO_EN_TX_HI_MASK (0xFFU) 28843 #define XCVR_TSM_TIMING15_SY_VCO_EN_TX_HI_SHIFT (0U) 28844 #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) 28845 #define XCVR_TSM_TIMING15_SY_VCO_EN_TX_LO_MASK (0xFF00U) 28846 #define XCVR_TSM_TIMING15_SY_VCO_EN_TX_LO_SHIFT (8U) 28847 #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) 28848 #define XCVR_TSM_TIMING15_SY_VCO_EN_RX_HI_MASK (0xFF0000U) 28849 #define XCVR_TSM_TIMING15_SY_VCO_EN_RX_HI_SHIFT (16U) 28850 #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) 28851 #define XCVR_TSM_TIMING15_SY_VCO_EN_RX_LO_MASK (0xFF000000U) 28852 #define XCVR_TSM_TIMING15_SY_VCO_EN_RX_LO_SHIFT (24U) 28853 #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) 28854 /*! @} */ 28855 28856 /*! @name TIMING16 - TSM_TIMING16 */ 28857 /*! @{ */ 28858 #define XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_HI_MASK (0xFF0000U) 28859 #define XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_HI_SHIFT (16U) 28860 #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) 28861 #define XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_LO_MASK (0xFF000000U) 28862 #define XCVR_TSM_TIMING16_SY_LO_RX_BUF_EN_RX_LO_SHIFT (24U) 28863 #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) 28864 /*! @} */ 28865 28866 /*! @name TIMING17 - TSM_TIMING17 */ 28867 /*! @{ */ 28868 #define XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_HI_MASK (0xFFU) 28869 #define XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_HI_SHIFT (0U) 28870 #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) 28871 #define XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_LO_MASK (0xFF00U) 28872 #define XCVR_TSM_TIMING17_SY_LO_TX_BUF_EN_TX_LO_SHIFT (8U) 28873 #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) 28874 /*! @} */ 28875 28876 /*! @name TIMING18 - TSM_TIMING18 */ 28877 /*! @{ */ 28878 #define XCVR_TSM_TIMING18_SY_DIVN_EN_TX_HI_MASK (0xFFU) 28879 #define XCVR_TSM_TIMING18_SY_DIVN_EN_TX_HI_SHIFT (0U) 28880 #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) 28881 #define XCVR_TSM_TIMING18_SY_DIVN_EN_TX_LO_MASK (0xFF00U) 28882 #define XCVR_TSM_TIMING18_SY_DIVN_EN_TX_LO_SHIFT (8U) 28883 #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) 28884 #define XCVR_TSM_TIMING18_SY_DIVN_EN_RX_HI_MASK (0xFF0000U) 28885 #define XCVR_TSM_TIMING18_SY_DIVN_EN_RX_HI_SHIFT (16U) 28886 #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) 28887 #define XCVR_TSM_TIMING18_SY_DIVN_EN_RX_LO_MASK (0xFF000000U) 28888 #define XCVR_TSM_TIMING18_SY_DIVN_EN_RX_LO_SHIFT (24U) 28889 #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) 28890 /*! @} */ 28891 28892 /*! @name TIMING19 - TSM_TIMING19 */ 28893 /*! @{ */ 28894 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_HI_MASK (0xFFU) 28895 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_HI_SHIFT (0U) 28896 #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) 28897 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_LO_MASK (0xFF00U) 28898 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_TX_LO_SHIFT (8U) 28899 #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) 28900 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_HI_MASK (0xFF0000U) 28901 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_HI_SHIFT (16U) 28902 #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) 28903 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_LO_MASK (0xFF000000U) 28904 #define XCVR_TSM_TIMING19_SY_PD_FILTER_CHARGE_EN_RX_LO_SHIFT (24U) 28905 #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) 28906 /*! @} */ 28907 28908 /*! @name TIMING20 - TSM_TIMING20 */ 28909 /*! @{ */ 28910 #define XCVR_TSM_TIMING20_SY_PD_EN_TX_HI_MASK (0xFFU) 28911 #define XCVR_TSM_TIMING20_SY_PD_EN_TX_HI_SHIFT (0U) 28912 #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) 28913 #define XCVR_TSM_TIMING20_SY_PD_EN_TX_LO_MASK (0xFF00U) 28914 #define XCVR_TSM_TIMING20_SY_PD_EN_TX_LO_SHIFT (8U) 28915 #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) 28916 #define XCVR_TSM_TIMING20_SY_PD_EN_RX_HI_MASK (0xFF0000U) 28917 #define XCVR_TSM_TIMING20_SY_PD_EN_RX_HI_SHIFT (16U) 28918 #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) 28919 #define XCVR_TSM_TIMING20_SY_PD_EN_RX_LO_MASK (0xFF000000U) 28920 #define XCVR_TSM_TIMING20_SY_PD_EN_RX_LO_SHIFT (24U) 28921 #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) 28922 /*! @} */ 28923 28924 /*! @name TIMING21 - TSM_TIMING21 */ 28925 /*! @{ */ 28926 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_HI_MASK (0xFFU) 28927 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_HI_SHIFT (0U) 28928 #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) 28929 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_LO_MASK (0xFF00U) 28930 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_TX_LO_SHIFT (8U) 28931 #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) 28932 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_HI_MASK (0xFF0000U) 28933 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_HI_SHIFT (16U) 28934 #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) 28935 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_LO_MASK (0xFF000000U) 28936 #define XCVR_TSM_TIMING21_SY_LO_DIVN_EN_RX_LO_SHIFT (24U) 28937 #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) 28938 /*! @} */ 28939 28940 /*! @name TIMING22 - TSM_TIMING22 */ 28941 /*! @{ */ 28942 #define XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_HI_MASK (0xFF0000U) 28943 #define XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_HI_SHIFT (16U) 28944 #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) 28945 #define XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_LO_MASK (0xFF000000U) 28946 #define XCVR_TSM_TIMING22_SY_LO_RX_EN_RX_LO_SHIFT (24U) 28947 #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) 28948 /*! @} */ 28949 28950 /*! @name TIMING23 - TSM_TIMING23 */ 28951 /*! @{ */ 28952 #define XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_HI_MASK (0xFFU) 28953 #define XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_HI_SHIFT (0U) 28954 #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) 28955 #define XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_LO_MASK (0xFF00U) 28956 #define XCVR_TSM_TIMING23_SY_LO_TX_EN_TX_LO_SHIFT (8U) 28957 #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) 28958 /*! @} */ 28959 28960 /*! @name TIMING24 - TSM_TIMING24 */ 28961 /*! @{ */ 28962 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_HI_MASK (0xFFU) 28963 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_HI_SHIFT (0U) 28964 #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) 28965 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_LO_MASK (0xFF00U) 28966 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_TX_LO_SHIFT (8U) 28967 #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) 28968 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_HI_MASK (0xFF0000U) 28969 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_HI_SHIFT (16U) 28970 #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) 28971 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_LO_MASK (0xFF000000U) 28972 #define XCVR_TSM_TIMING24_SY_DIVN_CAL_EN_RX_LO_SHIFT (24U) 28973 #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) 28974 /*! @} */ 28975 28976 /*! @name TIMING25 - TSM_TIMING25 */ 28977 /*! @{ */ 28978 #define XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_HI_MASK (0xFF0000U) 28979 #define XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_HI_SHIFT (16U) 28980 #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) 28981 #define XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_LO_MASK (0xFF000000U) 28982 #define XCVR_TSM_TIMING25_RX_LNA_MIXER_EN_RX_LO_SHIFT (24U) 28983 #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) 28984 /*! @} */ 28985 28986 /*! @name TIMING26 - TSM_TIMING26 */ 28987 /*! @{ */ 28988 #define XCVR_TSM_TIMING26_TX_PA_EN_TX_HI_MASK (0xFFU) 28989 #define XCVR_TSM_TIMING26_TX_PA_EN_TX_HI_SHIFT (0U) 28990 #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) 28991 #define XCVR_TSM_TIMING26_TX_PA_EN_TX_LO_MASK (0xFF00U) 28992 #define XCVR_TSM_TIMING26_TX_PA_EN_TX_LO_SHIFT (8U) 28993 #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) 28994 /*! @} */ 28995 28996 /*! @name TIMING27 - TSM_TIMING27 */ 28997 /*! @{ */ 28998 #define XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_HI_MASK (0xFF0000U) 28999 #define XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_HI_SHIFT (16U) 29000 #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) 29001 #define XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_LO_MASK (0xFF000000U) 29002 #define XCVR_TSM_TIMING27_RX_ADC_I_Q_EN_RX_LO_SHIFT (24U) 29003 #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) 29004 /*! @} */ 29005 29006 /*! @name TIMING28 - TSM_TIMING28 */ 29007 /*! @{ */ 29008 #define XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_HI_MASK (0xFF0000U) 29009 #define XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_HI_SHIFT (16U) 29010 #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) 29011 #define XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_LO_MASK (0xFF000000U) 29012 #define XCVR_TSM_TIMING28_RX_ADC_RESET_EN_RX_LO_SHIFT (24U) 29013 #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) 29014 /*! @} */ 29015 29016 /*! @name TIMING29 - TSM_TIMING29 */ 29017 /*! @{ */ 29018 #define XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_HI_MASK (0xFF0000U) 29019 #define XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_HI_SHIFT (16U) 29020 #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) 29021 #define XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_LO_MASK (0xFF000000U) 29022 #define XCVR_TSM_TIMING29_RX_BBA_I_Q_EN_RX_LO_SHIFT (24U) 29023 #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) 29024 /*! @} */ 29025 29026 /*! @name TIMING30 - TSM_TIMING30 */ 29027 /*! @{ */ 29028 #define XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_HI_MASK (0xFF0000U) 29029 #define XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_HI_SHIFT (16U) 29030 #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) 29031 #define XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_LO_MASK (0xFF000000U) 29032 #define XCVR_TSM_TIMING30_RX_BBA_PDET_EN_RX_LO_SHIFT (24U) 29033 #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) 29034 /*! @} */ 29035 29036 /*! @name TIMING31 - TSM_TIMING31 */ 29037 /*! @{ */ 29038 #define XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_HI_MASK (0xFF0000U) 29039 #define XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_HI_SHIFT (16U) 29040 #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) 29041 #define XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_LO_MASK (0xFF000000U) 29042 #define XCVR_TSM_TIMING31_RX_BBA_TZA_DCOC_EN_RX_LO_SHIFT (24U) 29043 #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) 29044 /*! @} */ 29045 29046 /*! @name TIMING32 - TSM_TIMING32 */ 29047 /*! @{ */ 29048 #define XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_HI_MASK (0xFF0000U) 29049 #define XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_HI_SHIFT (16U) 29050 #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) 29051 #define XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_LO_MASK (0xFF000000U) 29052 #define XCVR_TSM_TIMING32_RX_TZA_I_Q_EN_RX_LO_SHIFT (24U) 29053 #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) 29054 /*! @} */ 29055 29056 /*! @name TIMING33 - TSM_TIMING33 */ 29057 /*! @{ */ 29058 #define XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_HI_MASK (0xFF0000U) 29059 #define XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_HI_SHIFT (16U) 29060 #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) 29061 #define XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_LO_MASK (0xFF000000U) 29062 #define XCVR_TSM_TIMING33_RX_TZA_PDET_EN_RX_LO_SHIFT (24U) 29063 #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) 29064 /*! @} */ 29065 29066 /*! @name TIMING34 - TSM_TIMING34 */ 29067 /*! @{ */ 29068 #define XCVR_TSM_TIMING34_PLL_DIG_EN_TX_HI_MASK (0xFFU) 29069 #define XCVR_TSM_TIMING34_PLL_DIG_EN_TX_HI_SHIFT (0U) 29070 #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) 29071 #define XCVR_TSM_TIMING34_PLL_DIG_EN_TX_LO_MASK (0xFF00U) 29072 #define XCVR_TSM_TIMING34_PLL_DIG_EN_TX_LO_SHIFT (8U) 29073 #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) 29074 #define XCVR_TSM_TIMING34_PLL_DIG_EN_RX_HI_MASK (0xFF0000U) 29075 #define XCVR_TSM_TIMING34_PLL_DIG_EN_RX_HI_SHIFT (16U) 29076 #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) 29077 #define XCVR_TSM_TIMING34_PLL_DIG_EN_RX_LO_MASK (0xFF000000U) 29078 #define XCVR_TSM_TIMING34_PLL_DIG_EN_RX_LO_SHIFT (24U) 29079 #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) 29080 /*! @} */ 29081 29082 /*! @name TIMING35 - TSM_TIMING35 */ 29083 /*! @{ */ 29084 #define XCVR_TSM_TIMING35_TX_DIG_EN_TX_HI_MASK (0xFFU) 29085 #define XCVR_TSM_TIMING35_TX_DIG_EN_TX_HI_SHIFT (0U) 29086 #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) 29087 #define XCVR_TSM_TIMING35_TX_DIG_EN_TX_LO_MASK (0xFF00U) 29088 #define XCVR_TSM_TIMING35_TX_DIG_EN_TX_LO_SHIFT (8U) 29089 #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) 29090 /*! @} */ 29091 29092 /*! @name TIMING36 - TSM_TIMING36 */ 29093 /*! @{ */ 29094 #define XCVR_TSM_TIMING36_RX_DIG_EN_RX_HI_MASK (0xFF0000U) 29095 #define XCVR_TSM_TIMING36_RX_DIG_EN_RX_HI_SHIFT (16U) 29096 #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) 29097 #define XCVR_TSM_TIMING36_RX_DIG_EN_RX_LO_MASK (0xFF000000U) 29098 #define XCVR_TSM_TIMING36_RX_DIG_EN_RX_LO_SHIFT (24U) 29099 #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) 29100 /*! @} */ 29101 29102 /*! @name TIMING37 - TSM_TIMING37 */ 29103 /*! @{ */ 29104 #define XCVR_TSM_TIMING37_RX_INIT_RX_HI_MASK (0xFF0000U) 29105 #define XCVR_TSM_TIMING37_RX_INIT_RX_HI_SHIFT (16U) 29106 #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) 29107 #define XCVR_TSM_TIMING37_RX_INIT_RX_LO_MASK (0xFF000000U) 29108 #define XCVR_TSM_TIMING37_RX_INIT_RX_LO_SHIFT (24U) 29109 #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) 29110 /*! @} */ 29111 29112 /*! @name TIMING38 - TSM_TIMING38 */ 29113 /*! @{ */ 29114 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_HI_MASK (0xFFU) 29115 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_HI_SHIFT (0U) 29116 #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) 29117 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_LO_MASK (0xFF00U) 29118 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_TX_LO_SHIFT (8U) 29119 #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) 29120 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_HI_MASK (0xFF0000U) 29121 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_HI_SHIFT (16U) 29122 #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) 29123 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_LO_MASK (0xFF000000U) 29124 #define XCVR_TSM_TIMING38_SIGMA_DELTA_EN_RX_LO_SHIFT (24U) 29125 #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) 29126 /*! @} */ 29127 29128 /*! @name TIMING39 - TSM_TIMING39 */ 29129 /*! @{ */ 29130 #define XCVR_TSM_TIMING39_RX_PHY_EN_RX_HI_MASK (0xFF0000U) 29131 #define XCVR_TSM_TIMING39_RX_PHY_EN_RX_HI_SHIFT (16U) 29132 #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) 29133 #define XCVR_TSM_TIMING39_RX_PHY_EN_RX_LO_MASK (0xFF000000U) 29134 #define XCVR_TSM_TIMING39_RX_PHY_EN_RX_LO_SHIFT (24U) 29135 #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) 29136 /*! @} */ 29137 29138 /*! @name TIMING40 - TSM_TIMING40 */ 29139 /*! @{ */ 29140 #define XCVR_TSM_TIMING40_DCOC_EN_RX_HI_MASK (0xFF0000U) 29141 #define XCVR_TSM_TIMING40_DCOC_EN_RX_HI_SHIFT (16U) 29142 #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) 29143 #define XCVR_TSM_TIMING40_DCOC_EN_RX_LO_MASK (0xFF000000U) 29144 #define XCVR_TSM_TIMING40_DCOC_EN_RX_LO_SHIFT (24U) 29145 #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) 29146 /*! @} */ 29147 29148 /*! @name TIMING41 - TSM_TIMING41 */ 29149 /*! @{ */ 29150 #define XCVR_TSM_TIMING41_DCOC_INIT_RX_HI_MASK (0xFF0000U) 29151 #define XCVR_TSM_TIMING41_DCOC_INIT_RX_HI_SHIFT (16U) 29152 #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) 29153 #define XCVR_TSM_TIMING41_DCOC_INIT_RX_LO_MASK (0xFF000000U) 29154 #define XCVR_TSM_TIMING41_DCOC_INIT_RX_LO_SHIFT (24U) 29155 #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) 29156 /*! @} */ 29157 29158 /*! @name TIMING42 - TSM_TIMING42 */ 29159 /*! @{ */ 29160 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_HI_MASK (0xFFU) 29161 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_HI_SHIFT (0U) 29162 #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) 29163 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_LO_MASK (0xFF00U) 29164 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_TX_LO_SHIFT (8U) 29165 #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) 29166 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_HI_MASK (0xFF0000U) 29167 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_HI_SHIFT (16U) 29168 #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) 29169 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_LO_MASK (0xFF000000U) 29170 #define XCVR_TSM_TIMING42_SAR_ADC_TRIG_EN_RX_LO_SHIFT (24U) 29171 #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) 29172 /*! @} */ 29173 29174 /*! @name TIMING43 - TSM_TIMING43 */ 29175 /*! @{ */ 29176 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_HI_MASK (0xFFU) 29177 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_HI_SHIFT (0U) 29178 #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) 29179 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_LO_MASK (0xFF00U) 29180 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_TX_LO_SHIFT (8U) 29181 #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) 29182 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_HI_MASK (0xFF0000U) 29183 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_HI_SHIFT (16U) 29184 #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) 29185 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_LO_MASK (0xFF000000U) 29186 #define XCVR_TSM_TIMING43_TSM_SPARE0_EN_RX_LO_SHIFT (24U) 29187 #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) 29188 /*! @} */ 29189 29190 /*! @name TIMING44 - TSM_TIMING44 */ 29191 /*! @{ */ 29192 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_HI_MASK (0xFFU) 29193 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_HI_SHIFT (0U) 29194 #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) 29195 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_LO_MASK (0xFF00U) 29196 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_TX_LO_SHIFT (8U) 29197 #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) 29198 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_HI_MASK (0xFF0000U) 29199 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_HI_SHIFT (16U) 29200 #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) 29201 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_LO_MASK (0xFF000000U) 29202 #define XCVR_TSM_TIMING44_TSM_SPARE1_EN_RX_LO_SHIFT (24U) 29203 #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) 29204 /*! @} */ 29205 29206 /*! @name TIMING45 - TSM_TIMING45 */ 29207 /*! @{ */ 29208 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_HI_MASK (0xFFU) 29209 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_HI_SHIFT (0U) 29210 #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) 29211 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_LO_MASK (0xFF00U) 29212 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_TX_LO_SHIFT (8U) 29213 #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) 29214 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_HI_MASK (0xFF0000U) 29215 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_HI_SHIFT (16U) 29216 #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) 29217 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_LO_MASK (0xFF000000U) 29218 #define XCVR_TSM_TIMING45_TSM_SPARE2_EN_RX_LO_SHIFT (24U) 29219 #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) 29220 /*! @} */ 29221 29222 /*! @name TIMING46 - TSM_TIMING46 */ 29223 /*! @{ */ 29224 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_HI_MASK (0xFFU) 29225 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_HI_SHIFT (0U) 29226 #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) 29227 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_LO_MASK (0xFF00U) 29228 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_TX_LO_SHIFT (8U) 29229 #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) 29230 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_HI_MASK (0xFF0000U) 29231 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_HI_SHIFT (16U) 29232 #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) 29233 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_LO_MASK (0xFF000000U) 29234 #define XCVR_TSM_TIMING46_TSM_SPARE3_EN_RX_LO_SHIFT (24U) 29235 #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) 29236 /*! @} */ 29237 29238 /*! @name TIMING47 - TSM_TIMING47 */ 29239 /*! @{ */ 29240 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_HI_MASK (0xFFU) 29241 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_HI_SHIFT (0U) 29242 #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) 29243 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_LO_MASK (0xFF00U) 29244 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_TX_LO_SHIFT (8U) 29245 #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) 29246 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_HI_MASK (0xFF0000U) 29247 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_HI_SHIFT (16U) 29248 #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) 29249 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_LO_MASK (0xFF000000U) 29250 #define XCVR_TSM_TIMING47_GPIO0_TRIG_EN_RX_LO_SHIFT (24U) 29251 #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) 29252 /*! @} */ 29253 29254 /*! @name TIMING48 - TSM_TIMING48 */ 29255 /*! @{ */ 29256 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_HI_MASK (0xFFU) 29257 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_HI_SHIFT (0U) 29258 #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) 29259 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_LO_MASK (0xFF00U) 29260 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_TX_LO_SHIFT (8U) 29261 #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) 29262 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_HI_MASK (0xFF0000U) 29263 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_HI_SHIFT (16U) 29264 #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) 29265 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_LO_MASK (0xFF000000U) 29266 #define XCVR_TSM_TIMING48_GPIO1_TRIG_EN_RX_LO_SHIFT (24U) 29267 #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) 29268 /*! @} */ 29269 29270 /*! @name TIMING49 - TSM_TIMING49 */ 29271 /*! @{ */ 29272 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_HI_MASK (0xFFU) 29273 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_HI_SHIFT (0U) 29274 #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) 29275 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_LO_MASK (0xFF00U) 29276 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_TX_LO_SHIFT (8U) 29277 #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) 29278 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_HI_MASK (0xFF0000U) 29279 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_HI_SHIFT (16U) 29280 #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) 29281 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_LO_MASK (0xFF000000U) 29282 #define XCVR_TSM_TIMING49_GPIO2_TRIG_EN_RX_LO_SHIFT (24U) 29283 #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) 29284 /*! @} */ 29285 29286 /*! @name TIMING50 - TSM_TIMING50 */ 29287 /*! @{ */ 29288 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_HI_MASK (0xFFU) 29289 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_HI_SHIFT (0U) 29290 #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) 29291 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_LO_MASK (0xFF00U) 29292 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_TX_LO_SHIFT (8U) 29293 #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) 29294 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_HI_MASK (0xFF0000U) 29295 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_HI_SHIFT (16U) 29296 #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) 29297 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_LO_MASK (0xFF000000U) 29298 #define XCVR_TSM_TIMING50_GPIO3_TRIG_EN_RX_LO_SHIFT (24U) 29299 #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) 29300 /*! @} */ 29301 29302 /*! @name TIMING51 - TSM_TIMING51 */ 29303 /*! @{ */ 29304 #define XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_HI_MASK (0xFF0000U) 29305 #define XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_HI_SHIFT (16U) 29306 #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) 29307 #define XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_LO_MASK (0xFF000000U) 29308 #define XCVR_TSM_TIMING51_RXTX_AUXPLL_BIAS_EN_RX_LO_SHIFT (24U) 29309 #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) 29310 /*! @} */ 29311 29312 /*! @name TIMING52 - TSM_TIMING52 */ 29313 /*! @{ */ 29314 #define XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_HI_MASK (0xFF0000U) 29315 #define XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_HI_SHIFT (16U) 29316 #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) 29317 #define XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_LO_MASK (0xFF000000U) 29318 #define XCVR_TSM_TIMING52_RXTX_AUXPLL_FCAL_EN_RX_LO_SHIFT (24U) 29319 #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) 29320 /*! @} */ 29321 29322 /*! @name TIMING53 - TSM_TIMING53 */ 29323 /*! @{ */ 29324 #define XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_HI_MASK (0xFF0000U) 29325 #define XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_HI_SHIFT (16U) 29326 #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) 29327 #define XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_LO_MASK (0xFF000000U) 29328 #define XCVR_TSM_TIMING53_RXTX_AUXPLL_LF_PD_EN_RX_LO_SHIFT (24U) 29329 #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) 29330 /*! @} */ 29331 29332 /*! @name TIMING54 - TSM_TIMING54 */ 29333 /*! @{ */ 29334 #define XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_HI_MASK (0xFF0000U) 29335 #define XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_HI_SHIFT (16U) 29336 #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) 29337 #define XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_LO_MASK (0xFF000000U) 29338 #define XCVR_TSM_TIMING54_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_RX_LO_SHIFT (24U) 29339 #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) 29340 /*! @} */ 29341 29342 /*! @name TIMING55 - TSM_TIMING55 */ 29343 /*! @{ */ 29344 #define XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_HI_MASK (0xFF0000U) 29345 #define XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_HI_SHIFT (16U) 29346 #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) 29347 #define XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_LO_MASK (0xFF000000U) 29348 #define XCVR_TSM_TIMING55_RXTX_AUXPLL_ADC_BUF_EN_RX_LO_SHIFT (24U) 29349 #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) 29350 /*! @} */ 29351 29352 /*! @name TIMING56 - TSM_TIMING56 */ 29353 /*! @{ */ 29354 #define XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_HI_MASK (0xFF0000U) 29355 #define XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_HI_SHIFT (16U) 29356 #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) 29357 #define XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_LO_MASK (0xFF000000U) 29358 #define XCVR_TSM_TIMING56_RXTX_AUXPLL_DIG_BUF_EN_RX_LO_SHIFT (24U) 29359 #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) 29360 /*! @} */ 29361 29362 /*! @name TIMING57 - TSM_TIMING57 */ 29363 /*! @{ */ 29364 #define XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_HI_MASK (0xFF0000U) 29365 #define XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_HI_SHIFT (16U) 29366 #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) 29367 #define XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_LO_MASK (0xFF000000U) 29368 #define XCVR_TSM_TIMING57_RXTX_RCCAL_EN_RX_LO_SHIFT (24U) 29369 #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) 29370 /*! @} */ 29371 29372 /*! @name TIMING58 - TSM_TIMING58 */ 29373 /*! @{ */ 29374 #define XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_HI_MASK (0xFFU) 29375 #define XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_HI_SHIFT (0U) 29376 #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) 29377 #define XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_LO_MASK (0xFF00U) 29378 #define XCVR_TSM_TIMING58_TX_HPM_DAC_EN_TX_LO_SHIFT (8U) 29379 #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) 29380 /*! @} */ 29381 29382 /*! @name OVRD0 - TSM OVERRIDE REGISTER 0 */ 29383 /*! @{ */ 29384 #define XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_EN_MASK (0x1U) 29385 #define XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_EN_SHIFT (0U) 29386 /*! BB_LDO_HF_EN_OVRD_EN - Override control for BB_LDO_HF_EN 29387 * 0b0..Normal operation. 29388 * 0b1..Use the state of BB_LDO_HF_EN_OVRD to override the signal "bb_ldo_hf_en". 29389 */ 29390 #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) 29391 #define XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_MASK (0x2U) 29392 #define XCVR_TSM_OVRD0_BB_LDO_HF_EN_OVRD_SHIFT (1U) 29393 #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) 29394 #define XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_EN_MASK (0x4U) 29395 #define XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_EN_SHIFT (2U) 29396 /*! BB_LDO_ADCDAC_EN_OVRD_EN - Override control for BB_LDO_ADCDAC_EN 29397 * 0b0..Normal operation. 29398 * 0b1..Use the state of BB_LDO_ADCDAC_EN_OVRD to override the signal "bb_ldo_adcdac_en". 29399 */ 29400 #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) 29401 #define XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_MASK (0x8U) 29402 #define XCVR_TSM_OVRD0_BB_LDO_ADCDAC_EN_OVRD_SHIFT (3U) 29403 #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) 29404 #define XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_EN_MASK (0x10U) 29405 #define XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_EN_SHIFT (4U) 29406 /*! BB_LDO_BBA_EN_OVRD_EN - Override control for BB_LDO_BBA_EN 29407 * 0b0..Normal operation. 29408 * 0b1..Use the state of BB_LDO_BBA_EN_OVRD to override the signal "bb_ldo_bba_en". 29409 */ 29410 #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) 29411 #define XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_MASK (0x20U) 29412 #define XCVR_TSM_OVRD0_BB_LDO_BBA_EN_OVRD_SHIFT (5U) 29413 #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) 29414 #define XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_EN_MASK (0x40U) 29415 #define XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_EN_SHIFT (6U) 29416 /*! BB_LDO_PD_EN_OVRD_EN - Override control for BB_LDO_PD_EN 29417 * 0b0..Normal operation. 29418 * 0b1..Use the state of BB_LDO_PD_EN_OVRD to override the signal "bb_ldo_pd_en". 29419 */ 29420 #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) 29421 #define XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_MASK (0x80U) 29422 #define XCVR_TSM_OVRD0_BB_LDO_PD_EN_OVRD_SHIFT (7U) 29423 #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) 29424 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_EN_MASK (0x100U) 29425 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_EN_SHIFT (8U) 29426 /*! BB_LDO_FDBK_EN_OVRD_EN - Override control for BB_LDO_FDBK_EN 29427 * 0b0..Normal operation. 29428 * 0b1..Use the state of BB_LDO_FDBK_EN_OVRD to override the signal "bb_ldo_fdbk_en". 29429 */ 29430 #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) 29431 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_MASK (0x200U) 29432 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_EN_OVRD_SHIFT (9U) 29433 #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) 29434 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_EN_MASK (0x400U) 29435 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_EN_SHIFT (10U) 29436 /*! BB_LDO_VCOLO_EN_OVRD_EN - Override control for BB_LDO_VCOLO_EN 29437 * 0b0..Normal operation. 29438 * 0b1..Use the state of BB_LDO_VCOLO_EN_OVRD to override the signal "bb_ldo_vcolo_en". 29439 */ 29440 #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) 29441 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_MASK (0x800U) 29442 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_EN_OVRD_SHIFT (11U) 29443 #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) 29444 #define XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_EN_MASK (0x1000U) 29445 #define XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_EN_SHIFT (12U) 29446 /*! BB_LDO_VTREF_EN_OVRD_EN - Override control for BB_LDO_VTREF_EN 29447 * 0b0..Normal operation. 29448 * 0b1..Use the state of BB_LDO_VTREF_EN_OVRD to override the signal "bb_ldo_vtref_en". 29449 */ 29450 #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) 29451 #define XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_MASK (0x2000U) 29452 #define XCVR_TSM_OVRD0_BB_LDO_VTREF_EN_OVRD_SHIFT (13U) 29453 #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) 29454 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_EN_MASK (0x4000U) 29455 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_EN_SHIFT (14U) 29456 /*! BB_LDO_FDBK_BLEED_EN_OVRD_EN - Override control for BB_LDO_FDBK_BLEED_EN 29457 * 0b0..Normal operation. 29458 * 0b1..Use the state of BB_LDO_FDBK_BLEED_EN_OVRD to override the signal "bb_ldo_fdbk_bleed_en". 29459 */ 29460 #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) 29461 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_MASK (0x8000U) 29462 #define XCVR_TSM_OVRD0_BB_LDO_FDBK_BLEED_EN_OVRD_SHIFT (15U) 29463 #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) 29464 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_EN_MASK (0x10000U) 29465 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_EN_SHIFT (16U) 29466 /*! BB_LDO_VCOLO_BLEED_EN_OVRD_EN - Override control for BB_LDO_VCOLO_BLEED_EN 29467 * 0b0..Normal operation. 29468 * 0b1..Use the state of BB_LDO_VCOLO_BLEED_EN_OVRD to override the signal "bb_ldo_vcolo_bleed_en". 29469 */ 29470 #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) 29471 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_MASK (0x20000U) 29472 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_BLEED_EN_OVRD_SHIFT (17U) 29473 #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) 29474 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_EN_MASK (0x40000U) 29475 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_EN_SHIFT (18U) 29476 /*! BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_EN - Override control for BB_LDO_VCOLO_FASTCHARGE_EN 29477 * 0b0..Normal operation. 29478 * 0b1..Use the state of BB_LDO_VCOLO_FASTCHARGE_EN_OVRD to override the signal "bb_ldo_vcolo_fastcharge_en". 29479 */ 29480 #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) 29481 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_MASK (0x80000U) 29482 #define XCVR_TSM_OVRD0_BB_LDO_VCOLO_FASTCHARGE_EN_OVRD_SHIFT (19U) 29483 #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) 29484 #define XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_EN_MASK (0x100000U) 29485 #define XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_EN_SHIFT (20U) 29486 /*! BB_XTAL_PLL_REF_CLK_EN_OVRD_EN - Override control for BB_XTAL_PLL_REF_CLK_EN 29487 * 0b0..Normal operation. 29488 * 0b1..Use the state of BB_XTAL_PLL_REF_CLK_EN_OVRD to override the signal "bb_xtal_pll_ref_clk_en". 29489 */ 29490 #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) 29491 #define XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_MASK (0x200000U) 29492 #define XCVR_TSM_OVRD0_BB_XTAL_PLL_REF_CLK_EN_OVRD_SHIFT (21U) 29493 #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) 29494 #define XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_EN_MASK (0x400000U) 29495 #define XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_EN_SHIFT (22U) 29496 /*! BB_XTAL_DAC_REF_CLK_EN_OVRD_EN - Override control for BB_XTAL_DAC_REF_CLK_EN 29497 * 0b0..Normal operation. 29498 * 0b1..Use the state of BB_XTAL_DAC_REF_CLK_EN_OVRD to override the signal "bb_xtal_dac_ref_clk_en". 29499 */ 29500 #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) 29501 #define XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_MASK (0x800000U) 29502 #define XCVR_TSM_OVRD0_BB_XTAL_DAC_REF_CLK_EN_OVRD_SHIFT (23U) 29503 #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) 29504 #define XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_EN_MASK (0x1000000U) 29505 #define XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_EN_SHIFT (24U) 29506 /*! BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_EN - Override control for BB_XTAL_AUXPLL_REF_CLK_EN 29507 * 0b0..Normal operation. 29508 * 0b1..Use the state of BB_XTAL_AUXPLL_REF_CLK_EN_OVRD to override the signal "bb_xtal_auxpll_ref_clk_en". 29509 */ 29510 #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) 29511 #define XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_MASK (0x2000000U) 29512 #define XCVR_TSM_OVRD0_BB_XTAL_AUXPLL_REF_CLK_EN_OVRD_SHIFT (25U) 29513 #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) 29514 #define XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_EN_MASK (0x4000000U) 29515 #define XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_EN_SHIFT (26U) 29516 /*! PLL_LOOP_IS_OPEN_OVRD_EN - Override control for PLL_LOOP_IS_OPEN 29517 * 0b0..Normal operation. 29518 * 0b1..Use the state of PLL_LOOP_IS_OPEN_OVRD to override the signal "pll_loop_is_open". 29519 */ 29520 #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) 29521 #define XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_MASK (0x8000000U) 29522 #define XCVR_TSM_OVRD0_PLL_LOOP_IS_OPEN_OVRD_SHIFT (27U) 29523 #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) 29524 #define XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_EN_MASK (0x10000000U) 29525 #define XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_EN_SHIFT (28U) 29526 /*! SY_PD_CYCLE_SLIP_LD_EN_OVRD_EN - Override control for SY_PD_CYCLE_SLIP_LD_EN 29527 * 0b0..Normal operation. 29528 * 0b1..Use the state of SY_PD_CYCLE_SLIP_LD_EN_OVRD to override the signal "sy_pd_cycle_slip_ld_en". 29529 */ 29530 #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) 29531 #define XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_MASK (0x20000000U) 29532 #define XCVR_TSM_OVRD0_SY_PD_CYCLE_SLIP_LD_EN_OVRD_SHIFT (29U) 29533 #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) 29534 #define XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_EN_MASK (0x40000000U) 29535 #define XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_EN_SHIFT (30U) 29536 /*! SY_VCO_EN_OVRD_EN - Override control for SY_VCO_EN 29537 * 0b0..Normal operation. 29538 * 0b1..Use the state of SY_VCO_EN_OVRD to override the signal "sy_vco_en". 29539 */ 29540 #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) 29541 #define XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_MASK (0x80000000U) 29542 #define XCVR_TSM_OVRD0_SY_VCO_EN_OVRD_SHIFT (31U) 29543 #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) 29544 /*! @} */ 29545 29546 /*! @name OVRD1 - TSM OVERRIDE REGISTER 1 */ 29547 /*! @{ */ 29548 #define XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_EN_MASK (0x1U) 29549 #define XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_EN_SHIFT (0U) 29550 /*! SY_LO_RX_BUF_EN_OVRD_EN - Override control for SY_LO_RX_BUF_EN 29551 * 0b0..Normal operation. 29552 * 0b1..Use the state of SY_LO_RX_BUF_EN_OVRD to override the signal "sy_lo_rx_buf_en". 29553 */ 29554 #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) 29555 #define XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_MASK (0x2U) 29556 #define XCVR_TSM_OVRD1_SY_LO_RX_BUF_EN_OVRD_SHIFT (1U) 29557 #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) 29558 #define XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_EN_MASK (0x4U) 29559 #define XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_EN_SHIFT (2U) 29560 /*! SY_LO_TX_BUF_EN_OVRD_EN - Override control for SY_LO_TX_BUF_EN 29561 * 0b0..Normal operation. 29562 * 0b1..Use the state of SY_LO_TX_BUF_EN_OVRD to override the signal "sy_lo_tx_buf_en". 29563 */ 29564 #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) 29565 #define XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_MASK (0x8U) 29566 #define XCVR_TSM_OVRD1_SY_LO_TX_BUF_EN_OVRD_SHIFT (3U) 29567 #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) 29568 #define XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_EN_MASK (0x10U) 29569 #define XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_EN_SHIFT (4U) 29570 /*! SY_DIVN_EN_OVRD_EN - Override control for SY_DIVN_EN 29571 * 0b0..Normal operation. 29572 * 0b1..Use the state of SY_DIVN_EN_OVRD to override the signal "sy_divn_en". 29573 */ 29574 #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) 29575 #define XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_MASK (0x20U) 29576 #define XCVR_TSM_OVRD1_SY_DIVN_EN_OVRD_SHIFT (5U) 29577 #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) 29578 #define XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_EN_MASK (0x40U) 29579 #define XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_EN_SHIFT (6U) 29580 /*! SY_PD_FILTER_CHARGE_EN_OVRD_EN - Override control for SY_PD_FILTER_CHARGE_EN 29581 * 0b0..Normal operation. 29582 * 0b1..Use the state of SY_PD_FILTER_CHARGE_EN_OVRD to override the signal "sy_pd_filter_charge_en". 29583 */ 29584 #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) 29585 #define XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_MASK (0x80U) 29586 #define XCVR_TSM_OVRD1_SY_PD_FILTER_CHARGE_EN_OVRD_SHIFT (7U) 29587 #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) 29588 #define XCVR_TSM_OVRD1_SY_PD_EN_OVRD_EN_MASK (0x100U) 29589 #define XCVR_TSM_OVRD1_SY_PD_EN_OVRD_EN_SHIFT (8U) 29590 /*! SY_PD_EN_OVRD_EN - Override control for SY_PD_EN 29591 * 0b0..Normal operation. 29592 * 0b1..Use the state of SY_PD_EN_OVRD to override the signal "sy_pd_en". 29593 */ 29594 #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) 29595 #define XCVR_TSM_OVRD1_SY_PD_EN_OVRD_MASK (0x200U) 29596 #define XCVR_TSM_OVRD1_SY_PD_EN_OVRD_SHIFT (9U) 29597 #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) 29598 #define XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_EN_MASK (0x400U) 29599 #define XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_EN_SHIFT (10U) 29600 /*! SY_LO_DIVN_EN_OVRD_EN - Override control for SY_LO_DIVN_EN 29601 * 0b0..Normal operation. 29602 * 0b1..Use the state of SY_LO_DIVN_EN_OVRD to override the signal "sy_lo_divn_en". 29603 */ 29604 #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) 29605 #define XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_MASK (0x800U) 29606 #define XCVR_TSM_OVRD1_SY_LO_DIVN_EN_OVRD_SHIFT (11U) 29607 #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) 29608 #define XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_EN_MASK (0x1000U) 29609 #define XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_EN_SHIFT (12U) 29610 /*! SY_LO_RX_EN_OVRD_EN - Override control for SY_LO_RX_EN 29611 * 0b0..Normal operation. 29612 * 0b1..Use the state of SY_LO_RX_EN_OVRD to override the signal "sy_lo_rx_en". 29613 */ 29614 #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) 29615 #define XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_MASK (0x2000U) 29616 #define XCVR_TSM_OVRD1_SY_LO_RX_EN_OVRD_SHIFT (13U) 29617 #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) 29618 #define XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_EN_MASK (0x4000U) 29619 #define XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_EN_SHIFT (14U) 29620 /*! SY_LO_TX_EN_OVRD_EN - Override control for SY_LO_TX_EN 29621 * 0b0..Normal operation. 29622 * 0b1..Use the state of SY_LO_TX_EN_OVRD to override the signal "sy_lo_tx_en". 29623 */ 29624 #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) 29625 #define XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_MASK (0x8000U) 29626 #define XCVR_TSM_OVRD1_SY_LO_TX_EN_OVRD_SHIFT (15U) 29627 #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) 29628 #define XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_EN_MASK (0x10000U) 29629 #define XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_EN_SHIFT (16U) 29630 /*! SY_DIVN_CAL_EN_OVRD_EN - Override control for SY_DIVN_CAL_EN 29631 * 0b0..Normal operation. 29632 * 0b1..Use the state of SY_DIVN_CAL_EN_OVRD to override the signal "sy_divn_cal_en". 29633 */ 29634 #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) 29635 #define XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_MASK (0x20000U) 29636 #define XCVR_TSM_OVRD1_SY_DIVN_CAL_EN_OVRD_SHIFT (17U) 29637 #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) 29638 #define XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_EN_MASK (0x40000U) 29639 #define XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_EN_SHIFT (18U) 29640 /*! RX_MIXER_EN_OVRD_EN - Override control for RX_MIXER_EN 29641 * 0b0..Normal operation. 29642 * 0b1..Use the state of RX_MIXER_EN_OVRD to override the signal "rx_mixer_en". 29643 */ 29644 #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) 29645 #define XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_MASK (0x80000U) 29646 #define XCVR_TSM_OVRD1_RX_MIXER_EN_OVRD_SHIFT (19U) 29647 #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) 29648 #define XCVR_TSM_OVRD1_TX_PA_EN_OVRD_EN_MASK (0x100000U) 29649 #define XCVR_TSM_OVRD1_TX_PA_EN_OVRD_EN_SHIFT (20U) 29650 /*! TX_PA_EN_OVRD_EN - Override control for TX_PA_EN 29651 * 0b0..Normal operation. 29652 * 0b1..Use the state of TX_PA_EN_OVRD to override the signal "tx_pa_en". 29653 */ 29654 #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) 29655 #define XCVR_TSM_OVRD1_TX_PA_EN_OVRD_MASK (0x200000U) 29656 #define XCVR_TSM_OVRD1_TX_PA_EN_OVRD_SHIFT (21U) 29657 #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) 29658 #define XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_EN_MASK (0x400000U) 29659 #define XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_EN_SHIFT (22U) 29660 /*! RX_ADC_I_EN_OVRD_EN - Override control for RX_ADC_I_EN 29661 * 0b0..Normal operation. 29662 * 0b1..Use the state of RX_ADC_I_EN_OVRD to override the signal "rx_adc_i_en". 29663 */ 29664 #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) 29665 #define XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_MASK (0x800000U) 29666 #define XCVR_TSM_OVRD1_RX_ADC_I_EN_OVRD_SHIFT (23U) 29667 #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) 29668 #define XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_EN_MASK (0x1000000U) 29669 #define XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_EN_SHIFT (24U) 29670 /*! RX_ADC_Q_EN_OVRD_EN - Override control for RX_ADC_Q_EN 29671 * 0b0..Normal operation. 29672 * 0b1..Use the state of RX_ADC_Q_EN_OVRD to override the signal "rx_adc_q_en". 29673 */ 29674 #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) 29675 #define XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_MASK (0x2000000U) 29676 #define XCVR_TSM_OVRD1_RX_ADC_Q_EN_OVRD_SHIFT (25U) 29677 #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) 29678 #define XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_EN_MASK (0x4000000U) 29679 #define XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_EN_SHIFT (26U) 29680 /*! RX_ADC_RESET_EN_OVRD_EN - Override control for RX_ADC_RESET_EN 29681 * 0b0..Normal operation. 29682 * 0b1..Use the state of RX_ADC_RESET_EN_OVRD to override the signal "rx_adc_reset_en". 29683 */ 29684 #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) 29685 #define XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_MASK (0x8000000U) 29686 #define XCVR_TSM_OVRD1_RX_ADC_RESET_EN_OVRD_SHIFT (27U) 29687 #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) 29688 #define XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_EN_MASK (0x10000000U) 29689 #define XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_EN_SHIFT (28U) 29690 /*! RX_BBA_I_EN_OVRD_EN - Override control for RX_BBA_I_EN 29691 * 0b0..Normal operation. 29692 * 0b1..Use the state of RX_BBA_I_EN_OVRD to override the signal "rx_bba_i_en". 29693 */ 29694 #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) 29695 #define XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_MASK (0x20000000U) 29696 #define XCVR_TSM_OVRD1_RX_BBA_I_EN_OVRD_SHIFT (29U) 29697 #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) 29698 #define XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_EN_MASK (0x40000000U) 29699 #define XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_EN_SHIFT (30U) 29700 /*! RX_BBA_Q_EN_OVRD_EN - Override control for RX_BBA_Q_EN 29701 * 0b0..Normal operation. 29702 * 0b1..Use the state of RX_BBA_Q_EN_OVRD to override the signal "rx_bba_q_en". 29703 */ 29704 #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) 29705 #define XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_MASK (0x80000000U) 29706 #define XCVR_TSM_OVRD1_RX_BBA_Q_EN_OVRD_SHIFT (31U) 29707 #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) 29708 /*! @} */ 29709 29710 /*! @name OVRD2 - TSM OVERRIDE REGISTER 2 */ 29711 /*! @{ */ 29712 #define XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_EN_MASK (0x1U) 29713 #define XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_EN_SHIFT (0U) 29714 /*! RX_BBA_PDET_EN_OVRD_EN - Override control for RX_BBA_PDET_EN 29715 * 0b0..Normal operation. 29716 * 0b1..Use the state of RX_BBA_PDET_EN_OVRD to override the signal "rx_bba_pdet_en". 29717 */ 29718 #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) 29719 #define XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_MASK (0x2U) 29720 #define XCVR_TSM_OVRD2_RX_BBA_PDET_EN_OVRD_SHIFT (1U) 29721 #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) 29722 #define XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_EN_MASK (0x4U) 29723 #define XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_EN_SHIFT (2U) 29724 /*! RX_BBA_DCOC_EN_OVRD_EN - Override control for RX_BBA_DCOC_EN 29725 * 0b0..Normal operation. 29726 * 0b1..Use the state of RX_BBA_DCOC_EN_OVRD to override the signal "rx_bba_dcoc_en". 29727 */ 29728 #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) 29729 #define XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_MASK (0x8U) 29730 #define XCVR_TSM_OVRD2_RX_BBA_DCOC_EN_OVRD_SHIFT (3U) 29731 #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) 29732 #define XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_EN_MASK (0x10U) 29733 #define XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_EN_SHIFT (4U) 29734 /*! RX_LNA_EN_OVRD_EN - Override control for RX_LNA_EN 29735 * 0b0..Normal operation. 29736 * 0b1..Use the state of RX_LNA_EN_OVRD to override the signal "rx_lna_en". 29737 */ 29738 #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) 29739 #define XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_MASK (0x20U) 29740 #define XCVR_TSM_OVRD2_RX_LNA_EN_OVRD_SHIFT (5U) 29741 #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) 29742 #define XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_EN_MASK (0x40U) 29743 #define XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_EN_SHIFT (6U) 29744 /*! RX_TZA_I_EN_OVRD_EN - Override control for RX_TZA_I_EN 29745 * 0b0..Normal operation. 29746 * 0b1..Use the state of RX_TZA_I_EN_OVRD to override the signal "rx_tza_i_en". 29747 */ 29748 #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) 29749 #define XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_MASK (0x80U) 29750 #define XCVR_TSM_OVRD2_RX_TZA_I_EN_OVRD_SHIFT (7U) 29751 #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) 29752 #define XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_EN_MASK (0x100U) 29753 #define XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_EN_SHIFT (8U) 29754 /*! RX_TZA_Q_EN_OVRD_EN - Override control for RX_TZA_Q_EN 29755 * 0b0..Normal operation. 29756 * 0b1..Use the state of RX_TZA_Q_EN_OVRD to override the signal "rx_tza_q_en". 29757 */ 29758 #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) 29759 #define XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_MASK (0x200U) 29760 #define XCVR_TSM_OVRD2_RX_TZA_Q_EN_OVRD_SHIFT (9U) 29761 #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) 29762 #define XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_EN_MASK (0x400U) 29763 #define XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_EN_SHIFT (10U) 29764 /*! RX_TZA_PDET_EN_OVRD_EN - Override control for RX_TZA_PDET_EN 29765 * 0b0..Normal operation. 29766 * 0b1..Use the state of RX_TZA_PDET_EN_OVRD to override the signal "rx_tza_pdet_en". 29767 */ 29768 #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) 29769 #define XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_MASK (0x800U) 29770 #define XCVR_TSM_OVRD2_RX_TZA_PDET_EN_OVRD_SHIFT (11U) 29771 #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) 29772 #define XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_EN_MASK (0x1000U) 29773 #define XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_EN_SHIFT (12U) 29774 /*! RX_TZA_DCOC_EN_OVRD_EN - Override control for RX_TZA_DCOC_EN 29775 * 0b0..Normal operation. 29776 * 0b1..Use the state of RX_TZA_DCOC_EN_OVRD to override the signal "rx_tza_dcoc_en". 29777 */ 29778 #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) 29779 #define XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_MASK (0x2000U) 29780 #define XCVR_TSM_OVRD2_RX_TZA_DCOC_EN_OVRD_SHIFT (13U) 29781 /*! RX_TZA_DCOC_EN_OVRD - Override control for RX_TZA_DCOC_EN 29782 * 0b0..Normal operation. 29783 * 0b1..Use the state of RX_TZA_DCOC_EN_OVRD to override the signal "rx_tza_dcoc_en". 29784 */ 29785 #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) 29786 #define XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_MASK (0x4000U) 29787 #define XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_SHIFT (14U) 29788 /*! PLL_DIG_EN_OVRD_EN - Override control for PLL_DIG_EN 29789 * 0b0..Normal operation. 29790 * 0b1..Use the state of PLL_DIG_EN_OVRD to override the signal "pll_dig_en". 29791 */ 29792 #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) 29793 #define XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_MASK (0x8000U) 29794 #define XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_SHIFT (15U) 29795 #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) 29796 #define XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_MASK (0x10000U) 29797 #define XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_SHIFT (16U) 29798 /*! TX_DIG_EN_OVRD_EN - Override control for TX_DIG_EN 29799 * 0b0..Normal operation. 29800 * 0b1..Use the state of TX_DIG_EN_OVRD to override the signal "tx_dig_en". 29801 */ 29802 #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) 29803 #define XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_MASK (0x20000U) 29804 #define XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_SHIFT (17U) 29805 #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) 29806 #define XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_MASK (0x40000U) 29807 #define XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_SHIFT (18U) 29808 /*! RX_DIG_EN_OVRD_EN - Override control for RX_DIG_EN 29809 * 0b0..Normal operation. 29810 * 0b1..Use the state of RX_DIG_EN_OVRD to override the signal "rx_dig_en". 29811 */ 29812 #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) 29813 #define XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_MASK (0x80000U) 29814 #define XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_SHIFT (19U) 29815 #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) 29816 #define XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_MASK (0x100000U) 29817 #define XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_SHIFT (20U) 29818 /*! RX_INIT_OVRD_EN - Override control for RX_INIT 29819 * 0b0..Normal operation. 29820 * 0b1..Use the state of RX_INIT_OVRD to override the signal "rx_init". 29821 */ 29822 #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) 29823 #define XCVR_TSM_OVRD2_RX_INIT_OVRD_MASK (0x200000U) 29824 #define XCVR_TSM_OVRD2_RX_INIT_OVRD_SHIFT (21U) 29825 #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) 29826 #define XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_MASK (0x400000U) 29827 #define XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_SHIFT (22U) 29828 /*! SIGMA_DELTA_EN_OVRD_EN - Override control for SIGMA_DELTA_EN 29829 * 0b0..Normal operation. 29830 * 0b1..Use the state of SIGMA_DELTA_EN_OVRD to override the signal "sigma_delta_en". 29831 */ 29832 #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) 29833 #define XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_MASK (0x800000U) 29834 #define XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_SHIFT (23U) 29835 #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) 29836 #define XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_EN_MASK (0x1000000U) 29837 #define XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_EN_SHIFT (24U) 29838 /*! RX_PHY_EN_OVRD_EN - Override control for RX_PHY_EN 29839 * 0b0..Normal operation. 29840 * 0b1..Use the state of RX_PHY_EN_OVRD to override the signal "rx_phy_en". 29841 */ 29842 #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) 29843 #define XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_MASK (0x2000000U) 29844 #define XCVR_TSM_OVRD2_RX_PHY_EN_OVRD_SHIFT (25U) 29845 #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) 29846 #define XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_MASK (0x4000000U) 29847 #define XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_SHIFT (26U) 29848 /*! DCOC_EN_OVRD_EN - Override control for DCOC_EN 29849 * 0b0..Normal operation. 29850 * 0b1..Use the state of DCOC_EN_OVRD to override the signal "dcoc_en". 29851 */ 29852 #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) 29853 #define XCVR_TSM_OVRD2_DCOC_EN_OVRD_MASK (0x8000000U) 29854 #define XCVR_TSM_OVRD2_DCOC_EN_OVRD_SHIFT (27U) 29855 #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) 29856 #define XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_MASK (0x10000000U) 29857 #define XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_SHIFT (28U) 29858 /*! DCOC_INIT_OVRD_EN - Override control for DCOC_INIT 29859 * 0b0..Normal operation. 29860 * 0b1..Use the state of DCOC_INIT_OVRD to override the signal "dcoc_init". 29861 */ 29862 #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) 29863 #define XCVR_TSM_OVRD2_DCOC_INIT_OVRD_MASK (0x20000000U) 29864 #define XCVR_TSM_OVRD2_DCOC_INIT_OVRD_SHIFT (29U) 29865 #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) 29866 #define XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_MASK (0x40000000U) 29867 #define XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_SHIFT (30U) 29868 /*! FREQ_TARG_LD_EN_OVRD_EN - Override control for FREQ_TARG_LD_EN 29869 * 0b0..Normal operation. 29870 * 0b1..Use the state of FREQ_TARG_LD_EN_OVRD to override the signal "freq_targ_ld_en". 29871 */ 29872 #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) 29873 #define XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_MASK (0x80000000U) 29874 #define XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_SHIFT (31U) 29875 #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) 29876 /*! @} */ 29877 29878 /*! @name OVRD3 - TSM OVERRIDE REGISTER 3 */ 29879 /*! @{ */ 29880 #define XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_MASK (0x1U) 29881 #define XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_SHIFT (0U) 29882 /*! TSM_SPARE0_EN_OVRD_EN - Override control for TSM_SPARE0_EN 29883 * 0b0..Normal operation. 29884 * 0b1..Use the state of TSM_SPARE0_EN_OVRD to override the signal "tsm_spare0_en". 29885 */ 29886 #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) 29887 #define XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_MASK (0x2U) 29888 #define XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_SHIFT (1U) 29889 #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) 29890 #define XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_MASK (0x4U) 29891 #define XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_SHIFT (2U) 29892 /*! TSM_SPARE1_EN_OVRD_EN - Override control for TSM_SPARE1_EN 29893 * 0b0..Normal operation. 29894 * 0b1..Use the state of TSM_SPARE1_EN_OVRD to override the signal "tsm_spare1_en". 29895 */ 29896 #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) 29897 #define XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_MASK (0x8U) 29898 #define XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_SHIFT (3U) 29899 #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) 29900 #define XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_MASK (0x10U) 29901 #define XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_SHIFT (4U) 29902 /*! TSM_SPARE2_EN_OVRD_EN - Override control for TSM_SPARE2_EN 29903 * 0b0..Normal operation. 29904 * 0b1..Use the state of TSM_SPARE2_EN_OVRD to override the signal "tsm_spare2_en". 29905 */ 29906 #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) 29907 #define XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_MASK (0x20U) 29908 #define XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_SHIFT (5U) 29909 #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) 29910 #define XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_MASK (0x40U) 29911 #define XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_SHIFT (6U) 29912 /*! TSM_SPARE3_EN_OVRD_EN - Override control for TSM_SPARE3_EN 29913 * 0b0..Normal operation. 29914 * 0b1..Use the state of TSM_SPARE3_EN_OVRD to override the signal "tsm_spare3_en". 29915 */ 29916 #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) 29917 #define XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_MASK (0x80U) 29918 #define XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_SHIFT (7U) 29919 #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) 29920 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_EN_MASK (0x100U) 29921 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_EN_SHIFT (8U) 29922 /*! RXTX_AUXPLL_BIAS_EN_OVRD_EN - Override control for RXTX_AUXPLL_BIAS_EN 29923 * 0b0..Normal operation. 29924 * 0b1..Use the state of RXTX_AUXPLL_BIAS_EN_OVRD to override the signal "rxtx_auxpll_bias_en". 29925 */ 29926 #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) 29927 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_MASK (0x200U) 29928 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_BIAS_EN_OVRD_SHIFT (9U) 29929 #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) 29930 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_EN_MASK (0x400U) 29931 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_EN_SHIFT (10U) 29932 /*! RXTX_AUXPLL_VCO_EN_OVRD_EN - Override control for RXTX_AUXPLL_VCO_EN 29933 * 0b0..Normal operation. 29934 * 0b1..Use the state of RXTX_AUXPLL_VCO_EN_OVRD to override the signal "rxtx_auxpll_vco_en". 29935 */ 29936 #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) 29937 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_MASK (0x800U) 29938 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_VCO_EN_OVRD_SHIFT (11U) 29939 #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) 29940 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_EN_MASK (0x1000U) 29941 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_EN_SHIFT (12U) 29942 /*! RXTX_AUXPLL_FCAL_EN_OVRD_EN - Override control for RXTX_AUXPLL_FCAL_EN 29943 * 0b0..Normal operation. 29944 * 0b1..Use the state of RXTX_AUXPLL_FCAL_EN_OVRD to override the signal "rxtx_auxpll_fcal_en". 29945 */ 29946 #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) 29947 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_MASK (0x2000U) 29948 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_FCAL_EN_OVRD_SHIFT (13U) 29949 #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) 29950 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_EN_MASK (0x4000U) 29951 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_EN_SHIFT (14U) 29952 /*! RXTX_AUXPLL_LF_EN_OVRD_EN - Override control for RXTX_AUXPLL_LF_EN 29953 * 0b0..Normal operation. 29954 * 0b1..Use the state of RXTX_AUXPLL_LF_EN_OVRD to override the signal "rxtx_auxpll_lf_en". 29955 */ 29956 #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) 29957 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_MASK (0x8000U) 29958 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_LF_EN_OVRD_SHIFT (15U) 29959 #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) 29960 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_EN_MASK (0x10000U) 29961 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_EN_SHIFT (16U) 29962 /*! RXTX_AUXPLL_PD_EN_OVRD_EN - Override control for RXTX_AUXPLL_PD_EN 29963 * 0b0..Normal operation. 29964 * 0b1..Use the state of RXTX_AUXPLL_PD_EN_OVRD to override the signal "rxtx_auxpll_pd_en". 29965 */ 29966 #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) 29967 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_MASK (0x20000U) 29968 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_EN_OVRD_SHIFT (17U) 29969 #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) 29970 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_EN_MASK (0x40000U) 29971 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_EN_SHIFT (18U) 29972 /*! RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_EN - Override control for RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN 29973 * 0b0..Normal operation. 29974 * 0b1..Use the state of RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD to override the signal "rxtx_auxpll_pd_lf_filter_charge_en". 29975 */ 29976 #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) 29977 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_MASK (0x80000U) 29978 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_PD_LF_FILTER_CHARGE_EN_OVRD_SHIFT (19U) 29979 #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) 29980 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_EN_MASK (0x100000U) 29981 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_EN_SHIFT (20U) 29982 /*! RXTX_AUXPLL_ADC_BUF_EN_OVRD_EN - Override control for RXTX_AUXPLL_ADC_BUF_EN 29983 * 0b0..Normal operation. 29984 * 0b1..Use the state of RXTX_AUXPLL_ADC_BUF_EN_OVRD to override the signal "rxtx_auxpll_adc_buf_en". 29985 */ 29986 #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) 29987 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_MASK (0x200000U) 29988 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_ADC_BUF_EN_OVRD_SHIFT (21U) 29989 #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) 29990 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_EN_MASK (0x400000U) 29991 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_EN_SHIFT (22U) 29992 /*! RXTX_AUXPLL_DIG_BUF_EN_OVRD_EN - Override control for RXTX_AUXPLL_DIG_BUF_EN 29993 * 0b0..Normal operation. 29994 * 0b1..Use the state of RXTX_AUXPLL_DIG_BUF_EN_OVRD to override the signal "rxtx_auxpll_dig_buf_en". 29995 */ 29996 #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) 29997 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_MASK (0x800000U) 29998 #define XCVR_TSM_OVRD3_RXTX_AUXPLL_DIG_BUF_EN_OVRD_SHIFT (23U) 29999 #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) 30000 #define XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_EN_MASK (0x1000000U) 30001 #define XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_EN_SHIFT (24U) 30002 /*! RXTX_RCCAL_EN_OVRD_EN - Override control for RXTX_RCCAL_EN 30003 * 0b0..Normal operation. 30004 * 0b1..Use the state of RXTX_RCCAL_EN_OVRD to override the signal "rxtx_rccal_en". 30005 */ 30006 #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) 30007 #define XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_MASK (0x2000000U) 30008 #define XCVR_TSM_OVRD3_RXTX_RCCAL_EN_OVRD_SHIFT (25U) 30009 #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) 30010 #define XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_EN_MASK (0x4000000U) 30011 #define XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_EN_SHIFT (26U) 30012 /*! TX_HPM_DAC_EN_OVRD_EN - Override control for TX_HPM_DAC_EN 30013 * 0b0..Normal operation. 30014 * 0b1..Use the state of TX_HPM_DAC_EN_OVRD to override the signal "tx_hpm_dac_en". 30015 */ 30016 #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) 30017 #define XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_MASK (0x8000000U) 30018 #define XCVR_TSM_OVRD3_TX_HPM_DAC_EN_OVRD_SHIFT (27U) 30019 #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) 30020 #define XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_MASK (0x10000000U) 30021 #define XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_SHIFT (28U) 30022 /*! TX_MODE_OVRD_EN - Override control for TX_MODE 30023 * 0b0..Normal operation. 30024 * 0b1..Use the state of TX_MODE_OVRD to override the signal "tx_mode". 30025 */ 30026 #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) 30027 #define XCVR_TSM_OVRD3_TX_MODE_OVRD_MASK (0x20000000U) 30028 #define XCVR_TSM_OVRD3_TX_MODE_OVRD_SHIFT (29U) 30029 #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) 30030 #define XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_MASK (0x40000000U) 30031 #define XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_SHIFT (30U) 30032 /*! RX_MODE_OVRD_EN - Override control for RX_MODE 30033 * 0b0..Normal operation. 30034 * 0b1..Use the state of RX_MODE_OVRD to override the signal "rx_mode". 30035 */ 30036 #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) 30037 #define XCVR_TSM_OVRD3_RX_MODE_OVRD_MASK (0x80000000U) 30038 #define XCVR_TSM_OVRD3_RX_MODE_OVRD_SHIFT (31U) 30039 #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) 30040 /*! @} */ 30041 30042 30043 /*! 30044 * @} 30045 */ /* end of group XCVR_TSM_Register_Masks */ 30046 30047 30048 /* XCVR_TSM - Peripheral instance base addresses */ 30049 /** Peripheral XCVR_TSM base address */ 30050 #define XCVR_TSM_BASE (0x410302C0u) 30051 /** Peripheral XCVR_TSM base pointer */ 30052 #define XCVR_TSM ((XCVR_TSM_Type *)XCVR_TSM_BASE) 30053 /** Array initializer of XCVR_TSM peripheral base addresses */ 30054 #define XCVR_TSM_BASE_ADDRS { XCVR_TSM_BASE } 30055 /** Array initializer of XCVR_TSM peripheral base pointers */ 30056 #define XCVR_TSM_BASE_PTRS { XCVR_TSM } 30057 30058 /*! 30059 * @} 30060 */ /* end of group XCVR_TSM_Peripheral_Access_Layer */ 30061 30062 30063 /* ---------------------------------------------------------------------------- 30064 -- XCVR_TX_DIG Peripheral Access Layer 30065 ---------------------------------------------------------------------------- */ 30066 30067 /*! 30068 * @addtogroup XCVR_TX_DIG_Peripheral_Access_Layer XCVR_TX_DIG Peripheral Access Layer 30069 * @{ 30070 */ 30071 30072 /** XCVR_TX_DIG - Register Layout Typedef */ 30073 typedef struct { 30074 __IO uint32_t CTRL; /**< TX Digital Control, offset: 0x0 */ 30075 __IO uint32_t DATA_PADDING; /**< TX Data Padding, offset: 0x4 */ 30076 __IO uint32_t GFSK_CTRL; /**< TX GFSK Modulator Control, offset: 0x8 */ 30077 __IO uint32_t GFSK_COEFF2; /**< TX GFSK Filter Coefficients 2, offset: 0xC */ 30078 __IO uint32_t GFSK_COEFF1; /**< TX GFSK Filter Coefficients 1, offset: 0x10 */ 30079 __IO uint32_t FSK_SCALE; /**< TX FSK Modulation Levels, offset: 0x14 */ 30080 __IO uint32_t DFT_PATTERN; /**< TX DFT Modulation Pattern, offset: 0x18 */ 30081 } XCVR_TX_DIG_Type; 30082 30083 /* ---------------------------------------------------------------------------- 30084 -- XCVR_TX_DIG Register Masks 30085 ---------------------------------------------------------------------------- */ 30086 30087 /*! 30088 * @addtogroup XCVR_TX_DIG_Register_Masks XCVR_TX_DIG Register Masks 30089 * @{ 30090 */ 30091 30092 /*! @name CTRL - TX Digital Control */ 30093 /*! @{ */ 30094 #define XCVR_TX_DIG_CTRL_RADIO_DFT_MODE_MASK (0xFU) 30095 #define XCVR_TX_DIG_CTRL_RADIO_DFT_MODE_SHIFT (0U) 30096 /*! RADIO_DFT_MODE - Radio DFT Modes 30097 * 0b0000..Normal Radio Operation, DFT not engaged. 30098 * 0b0001..Carrier Frequency Only 30099 * 0b0010..Pattern Register GFSK 30100 * 0b0011..LFSR GFSK 30101 * 0b0100..Pattern Register FSK 30102 * 0b0101..LFSR FSK 30103 * 0b0110..Pattern Register O-QPSK 30104 * 0b0111..LFSR O-QPSK 30105 * 0b1000..LFSR 802.15.4 Symbols 30106 * 0b1001..PLL Modulation from RAM 30107 * 0b1010..PLL Coarse Tune BIST 30108 * 0b1011..PLL Frequency Synthesizer BIST 30109 * 0b1100..High Port DAC BIST 30110 * 0b1101..VCO Frequency Meter 30111 * 0b1110..Reserved 30112 * 0b1111..Reserved 30113 */ 30114 #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) 30115 #define XCVR_TX_DIG_CTRL_LFSR_LENGTH_MASK (0x70U) 30116 #define XCVR_TX_DIG_CTRL_LFSR_LENGTH_SHIFT (4U) 30117 /*! LFSR_LENGTH - LFSR Length 30118 * 0b000..LFSR 9, tap mask 100010000 30119 * 0b001..LFSR 10, tap mask 1001000000 30120 * 0b010..LFSR 11, tap mask 11101000000 30121 * 0b011..LFSR 13, tap mask 1101100000000 30122 * 0b100..LFSR 15, tap mask 111010000000000 30123 * 0b101..LFSR 17, tap mask 11110000000000000 30124 * 0b110..Reserved 30125 * 0b111..Reserved 30126 */ 30127 #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) 30128 #define XCVR_TX_DIG_CTRL_LFSR_EN_MASK (0x80U) 30129 #define XCVR_TX_DIG_CTRL_LFSR_EN_SHIFT (7U) 30130 #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) 30131 #define XCVR_TX_DIG_CTRL_DFT_CLK_SEL_MASK (0x700U) 30132 #define XCVR_TX_DIG_CTRL_DFT_CLK_SEL_SHIFT (8U) 30133 /*! DFT_CLK_SEL - DFT Clock Selection 30134 * 0b000..62.5 kHz 30135 * 0b001..125 kHz 30136 * 0b010..250 kHz 30137 * 0b011..500 kHz 30138 * 0b100..1 MHz 30139 * 0b101..2 MHz 30140 * 0b110..4 MHz 30141 * 0b111..RF OSC Clock 30142 */ 30143 #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) 30144 #define XCVR_TX_DIG_CTRL_TX_DFT_EN_MASK (0x800U) 30145 #define XCVR_TX_DIG_CTRL_TX_DFT_EN_SHIFT (11U) 30146 #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) 30147 #define XCVR_TX_DIG_CTRL_SOC_TEST_SEL_MASK (0x3000U) 30148 #define XCVR_TX_DIG_CTRL_SOC_TEST_SEL_SHIFT (12U) 30149 /*! SOC_TEST_SEL - Radio Clock Selector for SoC RF Clock Tests 30150 * 0b00..No Clock Selected 30151 * 0b01..PLL Sigma Delta Clock, divided by 2 30152 * 0b10..Auxiliary PLL Clock, divided by 2 30153 * 0b11..RF Ref Osc clock, divided by 2 30154 */ 30155 #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) 30156 #define XCVR_TX_DIG_CTRL_TX_CAPTURE_POL_MASK (0x10000U) 30157 #define XCVR_TX_DIG_CTRL_TX_CAPTURE_POL_SHIFT (16U) 30158 #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) 30159 #define XCVR_TX_DIG_CTRL_ZERO_FDEV_MASK (0x80000U) 30160 #define XCVR_TX_DIG_CTRL_ZERO_FDEV_SHIFT (19U) 30161 #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) 30162 #define XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_MASK (0xFFC00000U) 30163 #define XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_SHIFT (22U) 30164 #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) 30165 /*! @} */ 30166 30167 /*! @name DATA_PADDING - TX Data Padding */ 30168 /*! @{ */ 30169 #define XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_0_MASK (0xFFU) 30170 #define XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_0_SHIFT (0U) 30171 #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) 30172 #define XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_1_MASK (0xFF00U) 30173 #define XCVR_TX_DIG_DATA_PADDING_DATA_PADDING_PAT_1_SHIFT (8U) 30174 #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) 30175 #define XCVR_TX_DIG_DATA_PADDING_DFT_LFSR_OUT_MASK (0x7FFF0000U) 30176 #define XCVR_TX_DIG_DATA_PADDING_DFT_LFSR_OUT_SHIFT (16U) 30177 #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) 30178 #define XCVR_TX_DIG_DATA_PADDING_LRM_MASK (0x80000000U) 30179 #define XCVR_TX_DIG_DATA_PADDING_LRM_SHIFT (31U) 30180 #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) 30181 /*! @} */ 30182 30183 /*! @name GFSK_CTRL - TX GFSK Modulator Control */ 30184 /*! @{ */ 30185 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_MASK (0xFFFFU) 30186 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_SHIFT (0U) 30187 #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) 30188 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MI_MASK (0x30000U) 30189 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MI_SHIFT (16U) 30190 /*! GFSK_MI - GFSK Modulation Index 30191 * 0b00..0.32 30192 * 0b01..0.50 30193 * 0b10..0.70 30194 * 0b11..1.00 30195 */ 30196 #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) 30197 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MLD_MASK (0x100000U) 30198 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MLD_SHIFT (20U) 30199 #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) 30200 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_FLD_MASK (0x200000U) 30201 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_FLD_SHIFT (21U) 30202 #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) 30203 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MOD_INDEX_SCALING_MASK (0x7000000U) 30204 #define XCVR_TX_DIG_GFSK_CTRL_GFSK_MOD_INDEX_SCALING_SHIFT (24U) 30205 /*! GFSK_MOD_INDEX_SCALING - GFSK Modulation Index Scaling Factor 30206 * 0b000..1 30207 * 0b001..1 + 1/32 30208 * 0b010..1 + 1/16 30209 * 0b011..1 + 1/8 30210 * 0b100..1 - 1/32 30211 * 0b101..1 - 1/16 30212 * 0b110..1 - 1/8 30213 * 0b111..Reserved 30214 */ 30215 #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) 30216 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_OVRD_EN_MASK (0x10000000U) 30217 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_OVRD_EN_SHIFT (28U) 30218 #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) 30219 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_0_OVRD_MASK (0x20000000U) 30220 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_0_OVRD_SHIFT (29U) 30221 #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) 30222 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_1_OVRD_MASK (0x40000000U) 30223 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_1_OVRD_SHIFT (30U) 30224 #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) 30225 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_2_OVRD_MASK (0x80000000U) 30226 #define XCVR_TX_DIG_GFSK_CTRL_TX_IMAGE_FILTER_2_OVRD_SHIFT (31U) 30227 #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) 30228 /*! @} */ 30229 30230 /*! @name GFSK_COEFF2 - TX GFSK Filter Coefficients 2 */ 30231 /*! @{ */ 30232 #define XCVR_TX_DIG_GFSK_COEFF2_GFSK_FILTER_COEFF_MANUAL2_MASK (0xFFFFFFFFU) 30233 #define XCVR_TX_DIG_GFSK_COEFF2_GFSK_FILTER_COEFF_MANUAL2_SHIFT (0U) 30234 #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) 30235 /*! @} */ 30236 30237 /*! @name GFSK_COEFF1 - TX GFSK Filter Coefficients 1 */ 30238 /*! @{ */ 30239 #define XCVR_TX_DIG_GFSK_COEFF1_GFSK_FILTER_COEFF_MANUAL1_MASK (0xFFFFFFFFU) 30240 #define XCVR_TX_DIG_GFSK_COEFF1_GFSK_FILTER_COEFF_MANUAL1_SHIFT (0U) 30241 #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) 30242 /*! @} */ 30243 30244 /*! @name FSK_SCALE - TX FSK Modulation Levels */ 30245 /*! @{ */ 30246 #define XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_0_MASK (0x1FFFU) 30247 #define XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_0_SHIFT (0U) 30248 #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) 30249 #define XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_1_MASK (0x1FFF0000U) 30250 #define XCVR_TX_DIG_FSK_SCALE_FSK_MODULATION_SCALE_1_SHIFT (16U) 30251 #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) 30252 #define XCVR_TX_DIG_FSK_SCALE_FSK_BITRATE_SCALE_DISABLE_MASK (0x80000000U) 30253 #define XCVR_TX_DIG_FSK_SCALE_FSK_BITRATE_SCALE_DISABLE_SHIFT (31U) 30254 #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) 30255 /*! @} */ 30256 30257 /*! @name DFT_PATTERN - TX DFT Modulation Pattern */ 30258 /*! @{ */ 30259 #define XCVR_TX_DIG_DFT_PATTERN_DFT_MOD_PATTERN_MASK (0xFFFFFFFFU) 30260 #define XCVR_TX_DIG_DFT_PATTERN_DFT_MOD_PATTERN_SHIFT (0U) 30261 #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) 30262 /*! @} */ 30263 30264 30265 /*! 30266 * @} 30267 */ /* end of group XCVR_TX_DIG_Register_Masks */ 30268 30269 30270 /* XCVR_TX_DIG - Peripheral instance base addresses */ 30271 /** Peripheral XCVR_TX_DIG base address */ 30272 #define XCVR_TX_DIG_BASE (0x41030200u) 30273 /** Peripheral XCVR_TX_DIG base pointer */ 30274 #define XCVR_TX_DIG ((XCVR_TX_DIG_Type *)XCVR_TX_DIG_BASE) 30275 /** Array initializer of XCVR_TX_DIG peripheral base addresses */ 30276 #define XCVR_TX_DIG_BASE_ADDRS { XCVR_TX_DIG_BASE } 30277 /** Array initializer of XCVR_TX_DIG peripheral base pointers */ 30278 #define XCVR_TX_DIG_BASE_PTRS { XCVR_TX_DIG } 30279 30280 /*! 30281 * @} 30282 */ /* end of group XCVR_TX_DIG_Peripheral_Access_Layer */ 30283 30284 30285 /* ---------------------------------------------------------------------------- 30286 -- XCVR_WOR Peripheral Access Layer 30287 ---------------------------------------------------------------------------- */ 30288 30289 /*! 30290 * @addtogroup XCVR_WOR_Peripheral_Access_Layer XCVR_WOR Peripheral Access Layer 30291 * @{ 30292 */ 30293 30294 /** XCVR_WOR - Register Layout Typedef */ 30295 typedef struct { 30296 __IO uint32_t WOR_CTRL; /**< WAKE-ON-RADIO CONTROL REGISTER, offset: 0x0 */ 30297 __IO uint32_t WOR_TIMEOUT; /**< WAKE-ON-RADIO TIMEOUT REGISTER, offset: 0x4 */ 30298 __I uint32_t TIMESTAMP1; /**< WAKE-ON-RADIO TIMESTAMP 1, offset: 0x8 */ 30299 __I uint32_t TIMESTAMP2; /**< WAKE-ON-RADIO TIMESTAMP 2, offset: 0xC */ 30300 __I uint32_t TIMESTAMP3; /**< WAKE-ON-RADIO TIMESTAMP 3, offset: 0x10 */ 30301 __I uint32_t WOR_STATUS; /**< WAKE-ON-RADIO STATUS REGISTER, offset: 0x14 */ 30302 __IO uint32_t WW_CTRL; /**< WINDOW-WIDENING CONTROL REGISTER, offset: 0x18 */ 30303 __IO uint32_t HOP_CTRL; /**< FREQUENCY HOP CONTROL REGISTER, offset: 0x1C */ 30304 __IO uint32_t SLOT0_DESC0; /**< SLOT 0 DESCRIPTOR (LSB), offset: 0x20 */ 30305 __IO uint32_t SLOT0_DESC1; /**< SLOT 0 DESCRIPTOR (MSB), offset: 0x24 */ 30306 __IO uint32_t SLOT1_DESC0; /**< SLOT 1 DESCRIPTOR (LSB), offset: 0x28 */ 30307 __IO uint32_t SLOT1_DESC1; /**< SLOT 1 DESCRIPTOR (MSB), offset: 0x2C */ 30308 __IO uint32_t SLOT2_DESC0; /**< SLOT 2 DESCRIPTOR (LSB), offset: 0x30 */ 30309 __IO uint32_t SLOT2_DESC1; /**< SLOT 2 DESCRIPTOR (MSB), offset: 0x34 */ 30310 __IO uint32_t SLOT3_DESC0; /**< SLOT 3 DESCRIPTOR (LSB), offset: 0x38 */ 30311 __IO uint32_t SLOT3_DESC1; /**< SLOT 3 DESCRIPTOR (MSB), offset: 0x3C */ 30312 } XCVR_WOR_Type; 30313 30314 /* ---------------------------------------------------------------------------- 30315 -- XCVR_WOR Register Masks 30316 ---------------------------------------------------------------------------- */ 30317 30318 /*! 30319 * @addtogroup XCVR_WOR_Register_Masks XCVR_WOR Register Masks 30320 * @{ 30321 */ 30322 30323 /*! @name WOR_CTRL - WAKE-ON-RADIO CONTROL REGISTER */ 30324 /*! @{ */ 30325 #define XCVR_WOR_WOR_CTRL_WOR_EN_MASK (0x1U) 30326 #define XCVR_WOR_WOR_CTRL_WOR_EN_SHIFT (0U) 30327 #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) 30328 #define XCVR_WOR_WOR_CTRL_SCHEDULING_MODE_MASK (0x2U) 30329 #define XCVR_WOR_WOR_CTRL_SCHEDULING_MODE_SHIFT (1U) 30330 #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) 30331 #define XCVR_WOR_WOR_CTRL_WOR_PROTOCOL_MASK (0xCU) 30332 #define XCVR_WOR_WOR_CTRL_WOR_PROTOCOL_SHIFT (2U) 30333 #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) 30334 #define XCVR_WOR_WOR_CTRL_SLOTS_USED_MASK (0x70U) 30335 #define XCVR_WOR_WOR_CTRL_SLOTS_USED_SHIFT (4U) 30336 #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) 30337 #define XCVR_WOR_WOR_CTRL_SKIP_FIRST_DSM_MASK (0x80U) 30338 #define XCVR_WOR_WOR_CTRL_SKIP_FIRST_DSM_SHIFT (7U) 30339 #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) 30340 #define XCVR_WOR_WOR_CTRL_DSM_GUARDBAND_MASK (0xF0000U) 30341 #define XCVR_WOR_WOR_CTRL_DSM_GUARDBAND_SHIFT (16U) 30342 #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) 30343 #define XCVR_WOR_WOR_CTRL_WOR_RESUME_MASK (0x1000000U) 30344 #define XCVR_WOR_WOR_CTRL_WOR_RESUME_SHIFT (24U) 30345 #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) 30346 #define XCVR_WOR_WOR_CTRL_WOR_DEBUG_REG_MASK (0x2000000U) 30347 #define XCVR_WOR_WOR_CTRL_WOR_DEBUG_REG_SHIFT (25U) 30348 #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) 30349 /*! @} */ 30350 30351 /*! @name WOR_TIMEOUT - WAKE-ON-RADIO TIMEOUT REGISTER */ 30352 /*! @{ */ 30353 #define XCVR_WOR_WOR_TIMEOUT_RECEIVE_TIMEOUT_MASK (0xFFFFU) 30354 #define XCVR_WOR_WOR_TIMEOUT_RECEIVE_TIMEOUT_SHIFT (0U) 30355 #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) 30356 #define XCVR_WOR_WOR_TIMEOUT_WAKE_ON_NTH_SLOT_MASK (0xFF0000U) 30357 #define XCVR_WOR_WOR_TIMEOUT_WAKE_ON_NTH_SLOT_SHIFT (16U) 30358 #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) 30359 #define XCVR_WOR_WOR_TIMEOUT_WOR_SLOT_COUNT_MASK (0xFF000000U) 30360 #define XCVR_WOR_WOR_TIMEOUT_WOR_SLOT_COUNT_SHIFT (24U) 30361 #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) 30362 /*! @} */ 30363 30364 /*! @name TIMESTAMP1 - WAKE-ON-RADIO TIMESTAMP 1 */ 30365 /*! @{ */ 30366 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1_FRAC_MASK (0xFFU) 30367 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1_FRAC_SHIFT (0U) 30368 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1_FRAC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP1_TIMESTAMP1_FRAC_SHIFT)) & XCVR_WOR_TIMESTAMP1_TIMESTAMP1_FRAC_MASK) 30369 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1_MASK (0xFFFFFF00U) 30370 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1_SHIFT (8U) 30371 #define XCVR_WOR_TIMESTAMP1_TIMESTAMP1(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP1_TIMESTAMP1_SHIFT)) & XCVR_WOR_TIMESTAMP1_TIMESTAMP1_MASK) 30372 /*! @} */ 30373 30374 /*! @name TIMESTAMP2 - WAKE-ON-RADIO TIMESTAMP 2 */ 30375 /*! @{ */ 30376 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2_FRAC_MASK (0xFFU) 30377 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2_FRAC_SHIFT (0U) 30378 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2_FRAC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP2_TIMESTAMP2_FRAC_SHIFT)) & XCVR_WOR_TIMESTAMP2_TIMESTAMP2_FRAC_MASK) 30379 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2_MASK (0xFFFFFF00U) 30380 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2_SHIFT (8U) 30381 #define XCVR_WOR_TIMESTAMP2_TIMESTAMP2(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP2_TIMESTAMP2_SHIFT)) & XCVR_WOR_TIMESTAMP2_TIMESTAMP2_MASK) 30382 /*! @} */ 30383 30384 /*! @name TIMESTAMP3 - WAKE-ON-RADIO TIMESTAMP 3 */ 30385 /*! @{ */ 30386 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3_FRAC_MASK (0xFFU) 30387 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3_FRAC_SHIFT (0U) 30388 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3_FRAC(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP3_TIMESTAMP3_FRAC_SHIFT)) & XCVR_WOR_TIMESTAMP3_TIMESTAMP3_FRAC_MASK) 30389 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3_MASK (0xFFFFFF00U) 30390 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3_SHIFT (8U) 30391 #define XCVR_WOR_TIMESTAMP3_TIMESTAMP3(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_TIMESTAMP3_TIMESTAMP3_SHIFT)) & XCVR_WOR_TIMESTAMP3_TIMESTAMP3_MASK) 30392 /*! @} */ 30393 30394 /*! @name WOR_STATUS - WAKE-ON-RADIO STATUS REGISTER */ 30395 /*! @{ */ 30396 #define XCVR_WOR_WOR_STATUS_TIMESTAMP0_STS_MASK (0x7U) 30397 #define XCVR_WOR_WOR_STATUS_TIMESTAMP0_STS_SHIFT (0U) 30398 #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) 30399 #define XCVR_WOR_WOR_STATUS_TIMESTAMP1_STS_MASK (0x38U) 30400 #define XCVR_WOR_WOR_STATUS_TIMESTAMP1_STS_SHIFT (3U) 30401 #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) 30402 #define XCVR_WOR_WOR_STATUS_TIMESTAMP2_STS_MASK (0x1C0U) 30403 #define XCVR_WOR_WOR_STATUS_TIMESTAMP2_STS_SHIFT (6U) 30404 #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) 30405 #define XCVR_WOR_WOR_STATUS_TIMESTAMP3_STS_MASK (0xE00U) 30406 #define XCVR_WOR_WOR_STATUS_TIMESTAMP3_STS_SHIFT (9U) 30407 #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) 30408 #define XCVR_WOR_WOR_STATUS_SLOT_MASK (0x3000U) 30409 #define XCVR_WOR_WOR_STATUS_SLOT_SHIFT (12U) 30410 #define XCVR_WOR_WOR_STATUS_SLOT(x) (((uint32_t)(((uint32_t)(x)) << XCVR_WOR_WOR_STATUS_SLOT_SHIFT)) & XCVR_WOR_WOR_STATUS_SLOT_MASK) 30411 #define XCVR_WOR_WOR_STATUS_WOR_NO_RF_FLAG_MASK (0x10000U) 30412 #define XCVR_WOR_WOR_STATUS_WOR_NO_RF_FLAG_SHIFT (16U) 30413 #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) 30414 #define XCVR_WOR_WOR_STATUS_WOR_MAX_SLOT_FLAG_MASK (0x20000U) 30415 #define XCVR_WOR_WOR_STATUS_WOR_MAX_SLOT_FLAG_SHIFT (17U) 30416 #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) 30417 #define XCVR_WOR_WOR_STATUS_WOR_DSM_EXIT_FLAG_MASK (0x40000U) 30418 #define XCVR_WOR_WOR_STATUS_WOR_DSM_EXIT_FLAG_SHIFT (18U) 30419 #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) 30420 #define XCVR_WOR_WOR_STATUS_WOR_STATE_MASK (0xF00000U) 30421 #define XCVR_WOR_WOR_STATUS_WOR_STATE_SHIFT (20U) 30422 #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) 30423 /*! @} */ 30424 30425 /*! @name WW_CTRL - WINDOW-WIDENING CONTROL REGISTER */ 30426 /*! @{ */ 30427 #define XCVR_WOR_WW_CTRL_WW_EN_MASK (0x1U) 30428 #define XCVR_WOR_WW_CTRL_WW_EN_SHIFT (0U) 30429 #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) 30430 #define XCVR_WOR_WW_CTRL_WW_RESET_ON_RX_MASK (0x2U) 30431 #define XCVR_WOR_WW_CTRL_WW_RESET_ON_RX_SHIFT (1U) 30432 #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) 30433 #define XCVR_WOR_WW_CTRL_WW_NULL_MASK (0x4U) 30434 #define XCVR_WOR_WW_CTRL_WW_NULL_SHIFT (2U) 30435 #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) 30436 #define XCVR_WOR_WW_CTRL_WW_ADD_MASK (0x8U) 30437 #define XCVR_WOR_WW_CTRL_WW_ADD_SHIFT (3U) 30438 #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) 30439 #define XCVR_WOR_WW_CTRL_WW_DSM_FACTOR_MASK (0x1F00U) 30440 #define XCVR_WOR_WW_CTRL_WW_DSM_FACTOR_SHIFT (8U) 30441 #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) 30442 #define XCVR_WOR_WW_CTRL_WW_RUN_FACTOR_MASK (0x1F0000U) 30443 #define XCVR_WOR_WW_CTRL_WW_RUN_FACTOR_SHIFT (16U) 30444 #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) 30445 #define XCVR_WOR_WW_CTRL_WW_INCREASE_MASK (0xFF000000U) 30446 #define XCVR_WOR_WW_CTRL_WW_INCREASE_SHIFT (24U) 30447 #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) 30448 /*! @} */ 30449 30450 /*! @name HOP_CTRL - FREQUENCY HOP CONTROL REGISTER */ 30451 /*! @{ */ 30452 #define XCVR_WOR_HOP_CTRL_HOP_TBL_CFG_MASK (0x7U) 30453 #define XCVR_WOR_HOP_CTRL_HOP_TBL_CFG_SHIFT (0U) 30454 #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) 30455 #define XCVR_WOR_HOP_CTRL_NEW_HOP_IDX_MASK (0x7F00U) 30456 #define XCVR_WOR_HOP_CTRL_NEW_HOP_IDX_SHIFT (8U) 30457 #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) 30458 #define XCVR_WOR_HOP_CTRL_UPDATE_HOP_IDX_MASK (0x8000U) 30459 #define XCVR_WOR_HOP_CTRL_UPDATE_HOP_IDX_SHIFT (15U) 30460 #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) 30461 #define XCVR_WOR_HOP_CTRL_HOP_SEQ_LENGTH_MASK (0x7F0000U) 30462 #define XCVR_WOR_HOP_CTRL_HOP_SEQ_LENGTH_SHIFT (16U) 30463 #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) 30464 /*! @} */ 30465 30466 /*! @name SLOT0_DESC0 - SLOT 0 DESCRIPTOR (LSB) */ 30467 /*! @{ */ 30468 #define XCVR_WOR_SLOT0_DESC0_SLOT0_DESC0_MASK (0xFFFFFFF0U) 30469 #define XCVR_WOR_SLOT0_DESC0_SLOT0_DESC0_SHIFT (4U) 30470 #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) 30471 /*! @} */ 30472 30473 /*! @name SLOT0_DESC1 - SLOT 0 DESCRIPTOR (MSB) */ 30474 /*! @{ */ 30475 #define XCVR_WOR_SLOT0_DESC1_SLOT0_DESC1_MASK (0x1FU) 30476 #define XCVR_WOR_SLOT0_DESC1_SLOT0_DESC1_SHIFT (0U) 30477 #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) 30478 #define XCVR_WOR_SLOT0_DESC1_WOR_HOP_IDX_MASK (0x7F00U) 30479 #define XCVR_WOR_SLOT0_DESC1_WOR_HOP_IDX_SHIFT (8U) 30480 #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) 30481 #define XCVR_WOR_SLOT0_DESC1_WOR_HOP_FREQ_WORD_MASK (0xFFFF0000U) 30482 #define XCVR_WOR_SLOT0_DESC1_WOR_HOP_FREQ_WORD_SHIFT (16U) 30483 #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) 30484 /*! @} */ 30485 30486 /*! @name SLOT1_DESC0 - SLOT 1 DESCRIPTOR (LSB) */ 30487 /*! @{ */ 30488 #define XCVR_WOR_SLOT1_DESC0_SLOT1_DESC0_MASK (0xFFFFFFF0U) 30489 #define XCVR_WOR_SLOT1_DESC0_SLOT1_DESC0_SHIFT (4U) 30490 #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) 30491 /*! @} */ 30492 30493 /*! @name SLOT1_DESC1 - SLOT 1 DESCRIPTOR (MSB) */ 30494 /*! @{ */ 30495 #define XCVR_WOR_SLOT1_DESC1_SLOT1_DESC1_MASK (0x1FU) 30496 #define XCVR_WOR_SLOT1_DESC1_SLOT1_DESC1_SHIFT (0U) 30497 #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) 30498 /*! @} */ 30499 30500 /*! @name SLOT2_DESC0 - SLOT 2 DESCRIPTOR (LSB) */ 30501 /*! @{ */ 30502 #define XCVR_WOR_SLOT2_DESC0_SLOT2_DESC0_MASK (0xFFFFFFF0U) 30503 #define XCVR_WOR_SLOT2_DESC0_SLOT2_DESC0_SHIFT (4U) 30504 #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) 30505 /*! @} */ 30506 30507 /*! @name SLOT2_DESC1 - SLOT 2 DESCRIPTOR (MSB) */ 30508 /*! @{ */ 30509 #define XCVR_WOR_SLOT2_DESC1_SLOT2_DESC1_MASK (0x1FU) 30510 #define XCVR_WOR_SLOT2_DESC1_SLOT2_DESC1_SHIFT (0U) 30511 #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) 30512 /*! @} */ 30513 30514 /*! @name SLOT3_DESC0 - SLOT 3 DESCRIPTOR (LSB) */ 30515 /*! @{ */ 30516 #define XCVR_WOR_SLOT3_DESC0_SLOT3_DESC0_MASK (0xFFFFFFF0U) 30517 #define XCVR_WOR_SLOT3_DESC0_SLOT3_DESC0_SHIFT (4U) 30518 #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) 30519 /*! @} */ 30520 30521 /*! @name SLOT3_DESC1 - SLOT 3 DESCRIPTOR (MSB) */ 30522 /*! @{ */ 30523 #define XCVR_WOR_SLOT3_DESC1_SLOT3_DESC1_MASK (0x1FU) 30524 #define XCVR_WOR_SLOT3_DESC1_SLOT3_DESC1_SHIFT (0U) 30525 #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) 30526 /*! @} */ 30527 30528 30529 /*! 30530 * @} 30531 */ /* end of group XCVR_WOR_Register_Masks */ 30532 30533 30534 /* XCVR_WOR - Peripheral instance base addresses */ 30535 /** Peripheral XCVR_WOR base address */ 30536 #define XCVR_WOR_BASE (0x410304C0u) 30537 /** Peripheral XCVR_WOR base pointer */ 30538 #define XCVR_WOR ((XCVR_WOR_Type *)XCVR_WOR_BASE) 30539 /** Array initializer of XCVR_WOR peripheral base addresses */ 30540 #define XCVR_WOR_BASE_ADDRS { XCVR_WOR_BASE } 30541 /** Array initializer of XCVR_WOR peripheral base pointers */ 30542 #define XCVR_WOR_BASE_PTRS { XCVR_WOR } 30543 30544 /*! 30545 * @} 30546 */ /* end of group XCVR_WOR_Peripheral_Access_Layer */ 30547 30548 30549 /* ---------------------------------------------------------------------------- 30550 -- XCVR_ZBDEM Peripheral Access Layer 30551 ---------------------------------------------------------------------------- */ 30552 30553 /*! 30554 * @addtogroup XCVR_ZBDEM_Peripheral_Access_Layer XCVR_ZBDEM Peripheral Access Layer 30555 * @{ 30556 */ 30557 30558 /** XCVR_ZBDEM - Register Layout Typedef */ 30559 typedef struct { 30560 __IO uint32_t CORR_CTRL; /**< 802.15.4 DEMOD CORRELATOR CONTROL, offset: 0x0 */ 30561 __IO uint32_t PN_TYPE; /**< 802.15.4 DEMOD PN TYPE, offset: 0x4 */ 30562 __IO uint32_t PN_CODE; /**< 802.15.4 DEMOD PN CODE, offset: 0x8 */ 30563 __IO uint32_t SYNC_CTRL; /**< 802.15.4 DEMOD SYMBOL SYNC CONTROL, offset: 0xC */ 30564 __IO uint32_t CCA_LQI_SRC; /**< 802.15.4 CCA/LQI SOURCE, offset: 0x10 */ 30565 __IO uint32_t FAD_LPPS_THR; /**< FAD CORRELATOR THRESHOLD, offset: 0x14 */ 30566 __IO uint32_t ZBDEM_AFC; /**< 802.15.4 AFC STATUS, offset: 0x18 */ 30567 __IO uint32_t CCA2_CTRL; /**< CCA MODE 2 CONTROL REGISTER, offset: 0x1C */ 30568 __IO uint32_t CCA2_THRESH; /**< CCA MODE 2 CONTROL REGISTER, offset: 0x20 */ 30569 __I uint32_t CCA2_STATUS; /**< CCA MODE 2 STATUS REGISTER, offset: 0x24 */ 30570 } XCVR_ZBDEM_Type; 30571 30572 /* ---------------------------------------------------------------------------- 30573 -- XCVR_ZBDEM Register Masks 30574 ---------------------------------------------------------------------------- */ 30575 30576 /*! 30577 * @addtogroup XCVR_ZBDEM_Register_Masks XCVR_ZBDEM Register Masks 30578 * @{ 30579 */ 30580 30581 /*! @name CORR_CTRL - 802.15.4 DEMOD CORRELATOR CONTROL */ 30582 /*! @{ */ 30583 #define XCVR_ZBDEM_CORR_CTRL_CORR_VT_MASK (0xFFU) 30584 #define XCVR_ZBDEM_CORR_CTRL_CORR_VT_SHIFT (0U) 30585 #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) 30586 #define XCVR_ZBDEM_CORR_CTRL_CORR_NVAL_MASK (0x700U) 30587 #define XCVR_ZBDEM_CORR_CTRL_CORR_NVAL_SHIFT (8U) 30588 #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) 30589 #define XCVR_ZBDEM_CORR_CTRL_MAX_CORR_EN_MASK (0x800U) 30590 #define XCVR_ZBDEM_CORR_CTRL_MAX_CORR_EN_SHIFT (11U) 30591 #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) 30592 #define XCVR_ZBDEM_CORR_CTRL_ZBDEM_CLK_ON_MASK (0x8000U) 30593 #define XCVR_ZBDEM_CORR_CTRL_ZBDEM_CLK_ON_SHIFT (15U) 30594 /*! ZBDEM_CLK_ON - Force 802.15.4 Demodulator Clock On 30595 * 0b0..Normal Operation 30596 * 0b1..Force 802.15.4 Demodulator Clock On (debug purposes only) 30597 */ 30598 #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) 30599 #define XCVR_ZBDEM_CORR_CTRL_RX_MAX_CORR_MASK (0xFF0000U) 30600 #define XCVR_ZBDEM_CORR_CTRL_RX_MAX_CORR_SHIFT (16U) 30601 #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) 30602 #define XCVR_ZBDEM_CORR_CTRL_RX_MAX_PREAMBLE_MASK (0xFF000000U) 30603 #define XCVR_ZBDEM_CORR_CTRL_RX_MAX_PREAMBLE_SHIFT (24U) 30604 #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) 30605 /*! @} */ 30606 30607 /*! @name PN_TYPE - 802.15.4 DEMOD PN TYPE */ 30608 /*! @{ */ 30609 #define XCVR_ZBDEM_PN_TYPE_PN_TYPE_MASK (0x1U) 30610 #define XCVR_ZBDEM_PN_TYPE_PN_TYPE_SHIFT (0U) 30611 #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) 30612 #define XCVR_ZBDEM_PN_TYPE_TX_INV_MASK (0x2U) 30613 #define XCVR_ZBDEM_PN_TYPE_TX_INV_SHIFT (1U) 30614 #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) 30615 /*! @} */ 30616 30617 /*! @name PN_CODE - 802.15.4 DEMOD PN CODE */ 30618 /*! @{ */ 30619 #define XCVR_ZBDEM_PN_CODE_PN_LSB_MASK (0xFFFFU) 30620 #define XCVR_ZBDEM_PN_CODE_PN_LSB_SHIFT (0U) 30621 #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) 30622 #define XCVR_ZBDEM_PN_CODE_PN_MSB_MASK (0xFFFF0000U) 30623 #define XCVR_ZBDEM_PN_CODE_PN_MSB_SHIFT (16U) 30624 #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) 30625 /*! @} */ 30626 30627 /*! @name SYNC_CTRL - 802.15.4 DEMOD SYMBOL SYNC CONTROL */ 30628 /*! @{ */ 30629 #define XCVR_ZBDEM_SYNC_CTRL_SYNC_PER_MASK (0x7U) 30630 #define XCVR_ZBDEM_SYNC_CTRL_SYNC_PER_SHIFT (0U) 30631 #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) 30632 #define XCVR_ZBDEM_SYNC_CTRL_TRACK_ENABLE_MASK (0x8U) 30633 #define XCVR_ZBDEM_SYNC_CTRL_TRACK_ENABLE_SHIFT (3U) 30634 /*! TRACK_ENABLE - TRACK_ENABLE 30635 * 0b0..symbol timing synchronization tracking disabled in Rx frontend 30636 * 0b1..symbol timing synchronization tracking enabled in Rx frontend (default) 30637 */ 30638 #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) 30639 /*! @} */ 30640 30641 /*! @name CCA_LQI_SRC - 802.15.4 CCA/LQI SOURCE */ 30642 /*! @{ */ 30643 #define XCVR_ZBDEM_CCA_LQI_SRC_CCA1_FROM_RX_DIG_MASK (0x1U) 30644 #define XCVR_ZBDEM_CCA_LQI_SRC_CCA1_FROM_RX_DIG_SHIFT (0U) 30645 /*! CCA1_FROM_RX_DIG - Selects the Source of CCA1 (Clear Channel Assessment Mode 1) Information Provided to the 802.15.4 Link Layer 30646 * 0b0..Use the CCA1 information computed internally in the 802.15.4 Demod 30647 * 0b1..Use the CCA1 information computed by the RX Digital 30648 */ 30649 #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) 30650 #define XCVR_ZBDEM_CCA_LQI_SRC_LQI_FROM_RX_DIG_MASK (0x2U) 30651 #define XCVR_ZBDEM_CCA_LQI_SRC_LQI_FROM_RX_DIG_SHIFT (1U) 30652 /*! LQI_FROM_RX_DIG - Selects the Source of LQI (Link Quality Indicator) Information Provided to the 802.15.4 Link Layer 30653 * 0b0..Use the LQI information computed internally in the 802.15.4 Demod 30654 * 0b1..Use the LQI information computed by the RX Digital 30655 */ 30656 #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) 30657 #define XCVR_ZBDEM_CCA_LQI_SRC_LQI_START_AT_SFD_MASK (0x4U) 30658 #define XCVR_ZBDEM_CCA_LQI_SRC_LQI_START_AT_SFD_SHIFT (2U) 30659 /*! LQI_START_AT_SFD - Select Start Point for LQI Computation 30660 * 0b0..Start LQI computation at Preamble Detection (similar to previous NXP 802.15.4 products) 30661 * 0b1..Start LQI computation at SFD (Start of Frame Delimiter) Detection 30662 */ 30663 #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) 30664 #define XCVR_ZBDEM_CCA_LQI_SRC_ZBDEM_CCA_CLK_ON_MASK (0x8U) 30665 #define XCVR_ZBDEM_CCA_LQI_SRC_ZBDEM_CCA_CLK_ON_SHIFT (3U) 30666 #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) 30667 /*! @} */ 30668 30669 /*! @name FAD_LPPS_THR - FAD CORRELATOR THRESHOLD */ 30670 /*! @{ */ 30671 #define XCVR_ZBDEM_FAD_LPPS_THR_FAD_THR_MASK (0xFFU) 30672 #define XCVR_ZBDEM_FAD_LPPS_THR_FAD_THR_SHIFT (0U) 30673 #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) 30674 #define XCVR_ZBDEM_FAD_LPPS_THR_FAD_FILL1_MASK (0x7F00U) 30675 #define XCVR_ZBDEM_FAD_LPPS_THR_FAD_FILL1_SHIFT (8U) 30676 #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) 30677 #define XCVR_ZBDEM_FAD_LPPS_THR_LPPS_FILL_COUNT_MASK (0x7F0000U) 30678 #define XCVR_ZBDEM_FAD_LPPS_THR_LPPS_FILL_COUNT_SHIFT (16U) 30679 #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) 30680 #define XCVR_ZBDEM_FAD_LPPS_THR_LPPS_LP_EN_COUNT_MASK (0x7F000000U) 30681 #define XCVR_ZBDEM_FAD_LPPS_THR_LPPS_LP_EN_COUNT_SHIFT (24U) 30682 #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) 30683 /*! @} */ 30684 30685 /*! @name ZBDEM_AFC - 802.15.4 AFC STATUS */ 30686 /*! @{ */ 30687 #define XCVR_ZBDEM_ZBDEM_AFC_AFC_EN_MASK (0x1U) 30688 #define XCVR_ZBDEM_ZBDEM_AFC_AFC_EN_SHIFT (0U) 30689 /*! AFC_EN - AFC_EN 30690 * 0b0..AFC is disabled 30691 * 0b1..AFC is enabled 30692 */ 30693 #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) 30694 #define XCVR_ZBDEM_ZBDEM_AFC_DCD_EN_MASK (0x2U) 30695 #define XCVR_ZBDEM_ZBDEM_AFC_DCD_EN_SHIFT (1U) 30696 /*! DCD_EN - DCD_EN 30697 * 0b0..NCD Mode (default) 30698 * 0b1..DCD Mode 30699 */ 30700 #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) 30701 #define XCVR_ZBDEM_ZBDEM_AFC_AFC_OUT_MASK (0x1F00U) 30702 #define XCVR_ZBDEM_ZBDEM_AFC_AFC_OUT_SHIFT (8U) 30703 #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) 30704 /*! @} */ 30705 30706 /*! @name CCA2_CTRL - CCA MODE 2 CONTROL REGISTER */ 30707 /*! @{ */ 30708 #define XCVR_ZBDEM_CCA2_CTRL_CCA2_INTERVAL_MASK (0x3U) 30709 #define XCVR_ZBDEM_CCA2_CTRL_CCA2_INTERVAL_SHIFT (0U) 30710 /*! CCA2_INTERVAL - CCA Mode 2 Measurement Window Duration 30711 * 0b00..64 us 30712 * 0b01..128 us 30713 * 0b10..256 us 30714 * 0b11..512 us 30715 */ 30716 #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) 30717 #define XCVR_ZBDEM_CCA2_CTRL_USE_DEMOD_CCA2_MASK (0x4U) 30718 #define XCVR_ZBDEM_CCA2_CTRL_USE_DEMOD_CCA2_SHIFT (2U) 30719 /*! USE_DEMOD_CCA2 - Selects CCA Mode 2 Computation Engine 30720 * 0b0..Use standalone (new) CCA Mode 2 Engine, decoupled from demodulator 30721 * 0b1..Use 802.15.4 demodulator-based (legacy) CCA Mode 2 Engine (default) 30722 */ 30723 #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) 30724 #define XCVR_ZBDEM_CCA2_CTRL_CCA2_REF_SEQ_MASK (0xFF00U) 30725 #define XCVR_ZBDEM_CCA2_CTRL_CCA2_REF_SEQ_SHIFT (8U) 30726 #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) 30727 /*! @} */ 30728 30729 /*! @name CCA2_THRESH - CCA MODE 2 CONTROL REGISTER */ 30730 /*! @{ */ 30731 #define XCVR_ZBDEM_CCA2_THRESH_CCA2_CNT_THRESH_MASK (0x3FFU) 30732 #define XCVR_ZBDEM_CCA2_THRESH_CCA2_CNT_THRESH_SHIFT (0U) 30733 #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) 30734 #define XCVR_ZBDEM_CCA2_THRESH_CCA2_SYM_THRESH_MASK (0x3FF0000U) 30735 #define XCVR_ZBDEM_CCA2_THRESH_CCA2_SYM_THRESH_SHIFT (16U) 30736 #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) 30737 /*! @} */ 30738 30739 /*! @name CCA2_STATUS - CCA MODE 2 STATUS REGISTER */ 30740 /*! @{ */ 30741 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_MAX_MASK (0x3FFU) 30742 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_MAX_SHIFT (0U) 30743 #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) 30744 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_COMPLETE_MASK (0x400U) 30745 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_COMPLETE_SHIFT (10U) 30746 #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) 30747 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CHANNEL_STATE_MASK (0x800U) 30748 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CHANNEL_STATE_SHIFT (11U) 30749 #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) 30750 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_SYM_MASK (0x3FF0000U) 30751 #define XCVR_ZBDEM_CCA2_STATUS_CCA2_CNT_SYM_SHIFT (16U) 30752 #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) 30753 /*! @} */ 30754 30755 30756 /*! 30757 * @} 30758 */ /* end of group XCVR_ZBDEM_Register_Masks */ 30759 30760 30761 /* XCVR_ZBDEM - Peripheral instance base addresses */ 30762 /** Peripheral XCVR_ZBDEM base address */ 30763 #define XCVR_ZBDEM_BASE (0x41030480u) 30764 /** Peripheral XCVR_ZBDEM base pointer */ 30765 #define XCVR_ZBDEM ((XCVR_ZBDEM_Type *)XCVR_ZBDEM_BASE) 30766 /** Array initializer of XCVR_ZBDEM peripheral base addresses */ 30767 #define XCVR_ZBDEM_BASE_ADDRS { XCVR_ZBDEM_BASE } 30768 /** Array initializer of XCVR_ZBDEM peripheral base pointers */ 30769 #define XCVR_ZBDEM_BASE_PTRS { XCVR_ZBDEM } 30770 30771 /*! 30772 * @} 30773 */ /* end of group XCVR_ZBDEM_Peripheral_Access_Layer */ 30774 30775 30776 /* ---------------------------------------------------------------------------- 30777 -- XRDC Peripheral Access Layer 30778 ---------------------------------------------------------------------------- */ 30779 30780 /*! 30781 * @addtogroup XRDC_Peripheral_Access_Layer XRDC Peripheral Access Layer 30782 * @{ 30783 */ 30784 30785 /** XRDC - Register Layout Typedef */ 30786 typedef struct { 30787 __IO uint32_t CR; /**< Control Register, offset: 0x0 */ 30788 uint8_t RESERVED_0[236]; 30789 __I uint32_t HWCFG0; /**< Hardware Configuration Register 0, offset: 0xF0 */ 30790 __I uint32_t HWCFG1; /**< Hardware Configuration Register 1, offset: 0xF4 */ 30791 __I uint32_t HWCFG2; /**< Hardware Configuration Register 2, offset: 0xF8 */ 30792 __I uint32_t HWCFG3; /**< Hardware Configuration Register 3, offset: 0xFC */ 30793 __I uint8_t MDACFG[37]; /**< Master Domain Assignment Configuration Register, array offset: 0x100, array step: 0x1 */ 30794 uint8_t RESERVED_1[27]; 30795 __I uint8_t MRCFG[2]; /**< Memory Region Configuration Register, array offset: 0x140, array step: 0x1 */ 30796 uint8_t RESERVED_2[186]; 30797 __IO uint32_t FDID; /**< Fault Domain ID, offset: 0x1FC */ 30798 __I uint32_t DERRLOC[3]; /**< Domain Error Location Register, array offset: 0x200, array step: 0x4 */ 30799 uint8_t RESERVED_3[500]; 30800 __IO uint32_t DERR_W[19][4]; /**< Domain Error Word0 Register..Domain Error Word3 Register, array offset: 0x400, array step: index*0x10, index2*0x4 */ 30801 uint8_t RESERVED_4[464]; 30802 __IO uint32_t PID[37]; /**< Process Identifier, array offset: 0x700, array step: 0x4 */ 30803 uint8_t RESERVED_5[108]; 30804 struct { /* offset: 0x800, array step: 0x20 */ 30805 __IO uint32_t MDA_W[2]; /**< Master Domain Assignment, array offset: 0x800, array step: index*0x20, index2*0x4 */ 30806 uint8_t RESERVED_0[24]; 30807 } MDA[37]; 30808 uint8_t RESERVED_6[864]; 30809 __IO uint32_t PDAC_W[289][2]; /**< Peripheral Domain Access Control, array offset: 0x1000, array step: index*0x8, index2*0x4 */ 30810 uint8_t RESERVED_7[1784]; 30811 struct { /* offset: 0x2000, array step: 0x20 */ 30812 __IO uint32_t MRGD_W[5]; /**< Memory Region Descriptor, array offset: 0x2000, array step: index*0x20, index2*0x4 */ 30813 uint8_t RESERVED_0[12]; 30814 } MRGD[24]; 30815 } XRDC_Type; 30816 30817 /* ---------------------------------------------------------------------------- 30818 -- XRDC Register Masks 30819 ---------------------------------------------------------------------------- */ 30820 30821 /*! 30822 * @addtogroup XRDC_Register_Masks XRDC Register Masks 30823 * @{ 30824 */ 30825 30826 /*! @name CR - Control Register */ 30827 /*! @{ */ 30828 #define XRDC_CR_GVLDM_MASK (0x1U) 30829 #define XRDC_CR_GVLDM_SHIFT (0U) 30830 /*! GVLDM - Global Valid MDACs(XRDC global enable/disable). 30831 * 0b0..XRDC MDACs are disabled. 30832 * 0b1..XRDC MDACs are enabled. 30833 */ 30834 #define XRDC_CR_GVLDM(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_GVLDM_SHIFT)) & XRDC_CR_GVLDM_MASK) 30835 #define XRDC_CR_HRL_MASK (0x1EU) 30836 #define XRDC_CR_HRL_SHIFT (1U) 30837 #define XRDC_CR_HRL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_HRL_SHIFT)) & XRDC_CR_HRL_MASK) 30838 #define XRDC_CR_VAW_MASK (0x100U) 30839 #define XRDC_CR_VAW_SHIFT (8U) 30840 /*! VAW - Virtualization aware 30841 * 0b0..Implementation is not virtualization aware. 30842 * 0b1..Implementation is virtualization aware. 30843 */ 30844 #define XRDC_CR_VAW(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_VAW_SHIFT)) & XRDC_CR_VAW_MASK) 30845 #define XRDC_CR_GVLDP_MASK (0x4000U) 30846 #define XRDC_CR_GVLDP_SHIFT (14U) 30847 /*! GVLDP - Global Valid for PACs/MSCs 30848 * 0b0..XRDC PACs/MSCs are disabled. 30849 * 0b1..XRDC PACs/MSCs are enabled. 30850 */ 30851 #define XRDC_CR_GVLDP(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_GVLDP_SHIFT)) & XRDC_CR_GVLDP_MASK) 30852 #define XRDC_CR_GVLDC_MASK (0x8000U) 30853 #define XRDC_CR_GVLDC_SHIFT (15U) 30854 /*! GVLDC - Global Valid for MRCs 30855 * 0b0..XRDC MRCs are disabled. 30856 * 0b1..XRDC MRCs are enabled. 30857 */ 30858 #define XRDC_CR_GVLDC(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_GVLDC_SHIFT)) & XRDC_CR_GVLDC_MASK) 30859 #define XRDC_CR_LK1_MASK (0x40000000U) 30860 #define XRDC_CR_LK1_SHIFT (30U) 30861 /*! LK1 - 1-bit Lock 30862 * 0b0..Register can be written by any secure privileged write. 30863 * 0b1..Register is locked (read-only) until the next reset. 30864 */ 30865 #define XRDC_CR_LK1(x) (((uint32_t)(((uint32_t)(x)) << XRDC_CR_LK1_SHIFT)) & XRDC_CR_LK1_MASK) 30866 /*! @} */ 30867 30868 /*! @name HWCFG0 - Hardware Configuration Register 0 */ 30869 /*! @{ */ 30870 #define XRDC_HWCFG0_NDID_MASK (0xFFU) 30871 #define XRDC_HWCFG0_NDID_SHIFT (0U) 30872 #define XRDC_HWCFG0_NDID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG0_NDID_SHIFT)) & XRDC_HWCFG0_NDID_MASK) 30873 #define XRDC_HWCFG0_NMSTR_MASK (0xFF00U) 30874 #define XRDC_HWCFG0_NMSTR_SHIFT (8U) 30875 #define XRDC_HWCFG0_NMSTR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG0_NMSTR_SHIFT)) & XRDC_HWCFG0_NMSTR_MASK) 30876 #define XRDC_HWCFG0_NMRC_MASK (0xFF0000U) 30877 #define XRDC_HWCFG0_NMRC_SHIFT (16U) 30878 #define XRDC_HWCFG0_NMRC(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG0_NMRC_SHIFT)) & XRDC_HWCFG0_NMRC_MASK) 30879 #define XRDC_HWCFG0_NPAC_MASK (0xF000000U) 30880 #define XRDC_HWCFG0_NPAC_SHIFT (24U) 30881 #define XRDC_HWCFG0_NPAC(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG0_NPAC_SHIFT)) & XRDC_HWCFG0_NPAC_MASK) 30882 #define XRDC_HWCFG0_MID_MASK (0xF0000000U) 30883 #define XRDC_HWCFG0_MID_SHIFT (28U) 30884 #define XRDC_HWCFG0_MID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG0_MID_SHIFT)) & XRDC_HWCFG0_MID_MASK) 30885 /*! @} */ 30886 30887 /*! @name HWCFG1 - Hardware Configuration Register 1 */ 30888 /*! @{ */ 30889 #define XRDC_HWCFG1_DID_MASK (0xFU) 30890 #define XRDC_HWCFG1_DID_SHIFT (0U) 30891 #define XRDC_HWCFG1_DID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG1_DID_SHIFT)) & XRDC_HWCFG1_DID_MASK) 30892 /*! @} */ 30893 30894 /*! @name HWCFG2 - Hardware Configuration Register 2 */ 30895 /*! @{ */ 30896 #define XRDC_HWCFG2_PIDP0_MASK (0x1U) 30897 #define XRDC_HWCFG2_PIDP0_SHIFT (0U) 30898 /*! PIDP0 - Process identifier 30899 * 0b0..Bus master 0 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30900 * 0b1..Bus master 0 sources a process identifier register to the XRDC_MDAC logic. 30901 */ 30902 #define XRDC_HWCFG2_PIDP0(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP0_SHIFT)) & XRDC_HWCFG2_PIDP0_MASK) 30903 #define XRDC_HWCFG2_PIDP1_MASK (0x2U) 30904 #define XRDC_HWCFG2_PIDP1_SHIFT (1U) 30905 /*! PIDP1 - Process identifier 30906 * 0b0..Bus master 1 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30907 * 0b1..Bus master 1 sources a process identifier register to the XRDC_MDAC logic. 30908 */ 30909 #define XRDC_HWCFG2_PIDP1(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP1_SHIFT)) & XRDC_HWCFG2_PIDP1_MASK) 30910 #define XRDC_HWCFG2_PIDP2_MASK (0x4U) 30911 #define XRDC_HWCFG2_PIDP2_SHIFT (2U) 30912 /*! PIDP2 - Process identifier 30913 * 0b0..Bus master 2 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30914 * 0b1..Bus master 2 sources a process identifier register to the XRDC_MDAC logic. 30915 */ 30916 #define XRDC_HWCFG2_PIDP2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP2_SHIFT)) & XRDC_HWCFG2_PIDP2_MASK) 30917 #define XRDC_HWCFG2_PIDP3_MASK (0x8U) 30918 #define XRDC_HWCFG2_PIDP3_SHIFT (3U) 30919 /*! PIDP3 - Process identifier 30920 * 0b0..Bus master 3 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30921 * 0b1..Bus master 3 sources a process identifier register to the XRDC_MDAC logic. 30922 */ 30923 #define XRDC_HWCFG2_PIDP3(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP3_SHIFT)) & XRDC_HWCFG2_PIDP3_MASK) 30924 #define XRDC_HWCFG2_PIDP4_MASK (0x10U) 30925 #define XRDC_HWCFG2_PIDP4_SHIFT (4U) 30926 /*! PIDP4 - Process identifier 30927 * 0b0..Bus master 4 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30928 * 0b1..Bus master 4 sources a process identifier register to the XRDC_MDAC logic. 30929 */ 30930 #define XRDC_HWCFG2_PIDP4(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP4_SHIFT)) & XRDC_HWCFG2_PIDP4_MASK) 30931 #define XRDC_HWCFG2_PIDP5_MASK (0x20U) 30932 #define XRDC_HWCFG2_PIDP5_SHIFT (5U) 30933 /*! PIDP5 - Process identifier 30934 * 0b0..Bus master 5 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30935 * 0b1..Bus master 5 sources a process identifier register to the XRDC_MDAC logic. 30936 */ 30937 #define XRDC_HWCFG2_PIDP5(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP5_SHIFT)) & XRDC_HWCFG2_PIDP5_MASK) 30938 #define XRDC_HWCFG2_PIDP6_MASK (0x40U) 30939 #define XRDC_HWCFG2_PIDP6_SHIFT (6U) 30940 /*! PIDP6 - Process identifier 30941 * 0b0..Bus master 6 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30942 * 0b1..Bus master 6 sources a process identifier register to the XRDC_MDAC logic. 30943 */ 30944 #define XRDC_HWCFG2_PIDP6(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP6_SHIFT)) & XRDC_HWCFG2_PIDP6_MASK) 30945 #define XRDC_HWCFG2_PIDP7_MASK (0x80U) 30946 #define XRDC_HWCFG2_PIDP7_SHIFT (7U) 30947 /*! PIDP7 - Process identifier 30948 * 0b0..Bus master 7 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30949 * 0b1..Bus master 7 sources a process identifier register to the XRDC_MDAC logic. 30950 */ 30951 #define XRDC_HWCFG2_PIDP7(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP7_SHIFT)) & XRDC_HWCFG2_PIDP7_MASK) 30952 #define XRDC_HWCFG2_PIDP8_MASK (0x100U) 30953 #define XRDC_HWCFG2_PIDP8_SHIFT (8U) 30954 /*! PIDP8 - Process identifier 30955 * 0b0..Bus master 8 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30956 * 0b1..Bus master 8 sources a process identifier register to the XRDC_MDAC logic. 30957 */ 30958 #define XRDC_HWCFG2_PIDP8(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP8_SHIFT)) & XRDC_HWCFG2_PIDP8_MASK) 30959 #define XRDC_HWCFG2_PIDP9_MASK (0x200U) 30960 #define XRDC_HWCFG2_PIDP9_SHIFT (9U) 30961 /*! PIDP9 - Process identifier 30962 * 0b0..Bus master 9 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30963 * 0b1..Bus master 9 sources a process identifier register to the XRDC_MDAC logic. 30964 */ 30965 #define XRDC_HWCFG2_PIDP9(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP9_SHIFT)) & XRDC_HWCFG2_PIDP9_MASK) 30966 #define XRDC_HWCFG2_PIDP10_MASK (0x400U) 30967 #define XRDC_HWCFG2_PIDP10_SHIFT (10U) 30968 /*! PIDP10 - Process identifier 30969 * 0b0..Bus master 10 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30970 * 0b1..Bus master 10 sources a process identifier register to the XRDC_MDAC logic. 30971 */ 30972 #define XRDC_HWCFG2_PIDP10(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP10_SHIFT)) & XRDC_HWCFG2_PIDP10_MASK) 30973 #define XRDC_HWCFG2_PIDP11_MASK (0x800U) 30974 #define XRDC_HWCFG2_PIDP11_SHIFT (11U) 30975 /*! PIDP11 - Process identifier 30976 * 0b0..Bus master 11 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30977 * 0b1..Bus master 11 sources a process identifier register to the XRDC_MDAC logic. 30978 */ 30979 #define XRDC_HWCFG2_PIDP11(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP11_SHIFT)) & XRDC_HWCFG2_PIDP11_MASK) 30980 #define XRDC_HWCFG2_PIDP12_MASK (0x1000U) 30981 #define XRDC_HWCFG2_PIDP12_SHIFT (12U) 30982 /*! PIDP12 - Process identifier 30983 * 0b0..Bus master 12 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30984 * 0b1..Bus master 12 sources a process identifier register to the XRDC_MDAC logic. 30985 */ 30986 #define XRDC_HWCFG2_PIDP12(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP12_SHIFT)) & XRDC_HWCFG2_PIDP12_MASK) 30987 #define XRDC_HWCFG2_PIDP13_MASK (0x2000U) 30988 #define XRDC_HWCFG2_PIDP13_SHIFT (13U) 30989 /*! PIDP13 - Process identifier 30990 * 0b0..Bus master 13 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30991 * 0b1..Bus master 13 sources a process identifier register to the XRDC_MDAC logic. 30992 */ 30993 #define XRDC_HWCFG2_PIDP13(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP13_SHIFT)) & XRDC_HWCFG2_PIDP13_MASK) 30994 #define XRDC_HWCFG2_PIDP14_MASK (0x4000U) 30995 #define XRDC_HWCFG2_PIDP14_SHIFT (14U) 30996 /*! PIDP14 - Process identifier 30997 * 0b0..Bus master 14 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 30998 * 0b1..Bus master 14 sources a process identifier register to the XRDC_MDAC logic. 30999 */ 31000 #define XRDC_HWCFG2_PIDP14(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP14_SHIFT)) & XRDC_HWCFG2_PIDP14_MASK) 31001 #define XRDC_HWCFG2_PIDP15_MASK (0x8000U) 31002 #define XRDC_HWCFG2_PIDP15_SHIFT (15U) 31003 /*! PIDP15 - Process identifier 31004 * 0b0..Bus master 15 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31005 * 0b1..Bus master 15 sources a process identifier register to the XRDC_MDAC logic. 31006 */ 31007 #define XRDC_HWCFG2_PIDP15(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP15_SHIFT)) & XRDC_HWCFG2_PIDP15_MASK) 31008 #define XRDC_HWCFG2_PIDP16_MASK (0x10000U) 31009 #define XRDC_HWCFG2_PIDP16_SHIFT (16U) 31010 /*! PIDP16 - Process identifier 31011 * 0b0..Bus master 16 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31012 * 0b1..Bus master 16 sources a process identifier register to the XRDC_MDAC logic. 31013 */ 31014 #define XRDC_HWCFG2_PIDP16(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP16_SHIFT)) & XRDC_HWCFG2_PIDP16_MASK) 31015 #define XRDC_HWCFG2_PIDP17_MASK (0x20000U) 31016 #define XRDC_HWCFG2_PIDP17_SHIFT (17U) 31017 /*! PIDP17 - Process identifier 31018 * 0b0..Bus master 17 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31019 * 0b1..Bus master 17 sources a process identifier register to the XRDC_MDAC logic. 31020 */ 31021 #define XRDC_HWCFG2_PIDP17(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP17_SHIFT)) & XRDC_HWCFG2_PIDP17_MASK) 31022 #define XRDC_HWCFG2_PIDP18_MASK (0x40000U) 31023 #define XRDC_HWCFG2_PIDP18_SHIFT (18U) 31024 /*! PIDP18 - Process identifier 31025 * 0b0..Bus master 18 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31026 * 0b1..Bus master 18 sources a process identifier register to the XRDC_MDAC logic. 31027 */ 31028 #define XRDC_HWCFG2_PIDP18(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP18_SHIFT)) & XRDC_HWCFG2_PIDP18_MASK) 31029 #define XRDC_HWCFG2_PIDP19_MASK (0x80000U) 31030 #define XRDC_HWCFG2_PIDP19_SHIFT (19U) 31031 /*! PIDP19 - Process identifier 31032 * 0b0..Bus master 19 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31033 * 0b1..Bus master 19 sources a process identifier register to the XRDC_MDAC logic. 31034 */ 31035 #define XRDC_HWCFG2_PIDP19(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP19_SHIFT)) & XRDC_HWCFG2_PIDP19_MASK) 31036 #define XRDC_HWCFG2_PIDP20_MASK (0x100000U) 31037 #define XRDC_HWCFG2_PIDP20_SHIFT (20U) 31038 /*! PIDP20 - Process identifier 31039 * 0b0..Bus master 20 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31040 * 0b1..Bus master 20 sources a process identifier register to the XRDC_MDAC logic. 31041 */ 31042 #define XRDC_HWCFG2_PIDP20(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP20_SHIFT)) & XRDC_HWCFG2_PIDP20_MASK) 31043 #define XRDC_HWCFG2_PIDP21_MASK (0x200000U) 31044 #define XRDC_HWCFG2_PIDP21_SHIFT (21U) 31045 /*! PIDP21 - Process identifier 31046 * 0b0..Bus master 21 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31047 * 0b1..Bus master 21 sources a process identifier register to the XRDC_MDAC logic. 31048 */ 31049 #define XRDC_HWCFG2_PIDP21(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP21_SHIFT)) & XRDC_HWCFG2_PIDP21_MASK) 31050 #define XRDC_HWCFG2_PIDP22_MASK (0x400000U) 31051 #define XRDC_HWCFG2_PIDP22_SHIFT (22U) 31052 /*! PIDP22 - Process identifier 31053 * 0b0..Bus master 22 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31054 * 0b1..Bus master 22 sources a process identifier register to the XRDC_MDAC logic. 31055 */ 31056 #define XRDC_HWCFG2_PIDP22(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP22_SHIFT)) & XRDC_HWCFG2_PIDP22_MASK) 31057 #define XRDC_HWCFG2_PIDP23_MASK (0x800000U) 31058 #define XRDC_HWCFG2_PIDP23_SHIFT (23U) 31059 /*! PIDP23 - Process identifier 31060 * 0b0..Bus master 23 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31061 * 0b1..Bus master 23 sources a process identifier register to the XRDC_MDAC logic. 31062 */ 31063 #define XRDC_HWCFG2_PIDP23(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP23_SHIFT)) & XRDC_HWCFG2_PIDP23_MASK) 31064 #define XRDC_HWCFG2_PIDP24_MASK (0x1000000U) 31065 #define XRDC_HWCFG2_PIDP24_SHIFT (24U) 31066 /*! PIDP24 - Process identifier 31067 * 0b0..Bus master 24 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31068 * 0b1..Bus master 24 sources a process identifier register to the XRDC_MDAC logic. 31069 */ 31070 #define XRDC_HWCFG2_PIDP24(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP24_SHIFT)) & XRDC_HWCFG2_PIDP24_MASK) 31071 #define XRDC_HWCFG2_PIDP25_MASK (0x2000000U) 31072 #define XRDC_HWCFG2_PIDP25_SHIFT (25U) 31073 /*! PIDP25 - Process identifier 31074 * 0b0..Bus master 25 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31075 * 0b1..Bus master 25 sources a process identifier register to the XRDC_MDAC logic. 31076 */ 31077 #define XRDC_HWCFG2_PIDP25(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP25_SHIFT)) & XRDC_HWCFG2_PIDP25_MASK) 31078 #define XRDC_HWCFG2_PIDP26_MASK (0x4000000U) 31079 #define XRDC_HWCFG2_PIDP26_SHIFT (26U) 31080 /*! PIDP26 - Process identifier 31081 * 0b0..Bus master 26 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31082 * 0b1..Bus master 26 sources a process identifier register to the XRDC_MDAC logic. 31083 */ 31084 #define XRDC_HWCFG2_PIDP26(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP26_SHIFT)) & XRDC_HWCFG2_PIDP26_MASK) 31085 #define XRDC_HWCFG2_PIDP27_MASK (0x8000000U) 31086 #define XRDC_HWCFG2_PIDP27_SHIFT (27U) 31087 /*! PIDP27 - Process identifier 31088 * 0b0..Bus master 27 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31089 * 0b1..Bus master 27 sources a process identifier register to the XRDC_MDAC logic. 31090 */ 31091 #define XRDC_HWCFG2_PIDP27(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP27_SHIFT)) & XRDC_HWCFG2_PIDP27_MASK) 31092 #define XRDC_HWCFG2_PIDP28_MASK (0x10000000U) 31093 #define XRDC_HWCFG2_PIDP28_SHIFT (28U) 31094 /*! PIDP28 - Process identifier 31095 * 0b0..Bus master 28 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31096 * 0b1..Bus master 28 sources a process identifier register to the XRDC_MDAC logic. 31097 */ 31098 #define XRDC_HWCFG2_PIDP28(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP28_SHIFT)) & XRDC_HWCFG2_PIDP28_MASK) 31099 #define XRDC_HWCFG2_PIDP29_MASK (0x20000000U) 31100 #define XRDC_HWCFG2_PIDP29_SHIFT (29U) 31101 /*! PIDP29 - Process identifier 31102 * 0b0..Bus master 29 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31103 * 0b1..Bus master 29 sources a process identifier register to the XRDC_MDAC logic. 31104 */ 31105 #define XRDC_HWCFG2_PIDP29(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP29_SHIFT)) & XRDC_HWCFG2_PIDP29_MASK) 31106 #define XRDC_HWCFG2_PIDP30_MASK (0x40000000U) 31107 #define XRDC_HWCFG2_PIDP30_SHIFT (30U) 31108 /*! PIDP30 - Process identifier 31109 * 0b0..Bus master 30 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31110 * 0b1..Bus master 30 sources a process identifier register to the XRDC_MDAC logic. 31111 */ 31112 #define XRDC_HWCFG2_PIDP30(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP30_SHIFT)) & XRDC_HWCFG2_PIDP30_MASK) 31113 #define XRDC_HWCFG2_PIDP31_MASK (0x80000000U) 31114 #define XRDC_HWCFG2_PIDP31_SHIFT (31U) 31115 /*! PIDP31 - Process identifier 31116 * 0b0..Bus master 31 does not source a process identifier register. The XRDC_MDAC logic provides the needed PID for processor cores. 31117 * 0b1..Bus master 31 sources a process identifier register to the XRDC_MDAC logic. 31118 */ 31119 #define XRDC_HWCFG2_PIDP31(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG2_PIDP31_SHIFT)) & XRDC_HWCFG2_PIDP31_MASK) 31120 /*! @} */ 31121 31122 /*! @name HWCFG3 - Hardware Configuration Register 3 */ 31123 /*! @{ */ 31124 #define XRDC_HWCFG3_PIDPn_MASK (0xFFFFFFFFU) 31125 #define XRDC_HWCFG3_PIDPn_SHIFT (0U) 31126 #define XRDC_HWCFG3_PIDPn(x) (((uint32_t)(((uint32_t)(x)) << XRDC_HWCFG3_PIDPn_SHIFT)) & XRDC_HWCFG3_PIDPn_MASK) 31127 /*! @} */ 31128 31129 /*! @name MDACFG - Master Domain Assignment Configuration Register */ 31130 /*! @{ */ 31131 #define XRDC_MDACFG_NMDAR_MASK (0xFU) 31132 #define XRDC_MDACFG_NMDAR_SHIFT (0U) 31133 #define XRDC_MDACFG_NMDAR(x) (((uint8_t)(((uint8_t)(x)) << XRDC_MDACFG_NMDAR_SHIFT)) & XRDC_MDACFG_NMDAR_MASK) 31134 #define XRDC_MDACFG_NCM_MASK (0x80U) 31135 #define XRDC_MDACFG_NCM_SHIFT (7U) 31136 /*! NCM - Non-CPU Master 31137 * 0b0..Bus master is a processor. 31138 * 0b1..Bus master is a non-processor. 31139 */ 31140 #define XRDC_MDACFG_NCM(x) (((uint8_t)(((uint8_t)(x)) << XRDC_MDACFG_NCM_SHIFT)) & XRDC_MDACFG_NCM_MASK) 31141 /*! @} */ 31142 31143 /* The count of XRDC_MDACFG */ 31144 #define XRDC_MDACFG_COUNT (37U) 31145 31146 /*! @name MRCFG - Memory Region Configuration Register */ 31147 /*! @{ */ 31148 #define XRDC_MRCFG_NMRGD_MASK (0x1FU) 31149 #define XRDC_MRCFG_NMRGD_SHIFT (0U) 31150 #define XRDC_MRCFG_NMRGD(x) (((uint8_t)(((uint8_t)(x)) << XRDC_MRCFG_NMRGD_SHIFT)) & XRDC_MRCFG_NMRGD_MASK) 31151 /*! @} */ 31152 31153 /* The count of XRDC_MRCFG */ 31154 #define XRDC_MRCFG_COUNT (2U) 31155 31156 /*! @name FDID - Fault Domain ID */ 31157 /*! @{ */ 31158 #define XRDC_FDID_FDID_MASK (0xFU) 31159 #define XRDC_FDID_FDID_SHIFT (0U) 31160 #define XRDC_FDID_FDID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_FDID_FDID_SHIFT)) & XRDC_FDID_FDID_MASK) 31161 /*! @} */ 31162 31163 /*! @name DERRLOC - Domain Error Location Register */ 31164 /*! @{ */ 31165 #define XRDC_DERRLOC_MRCINST_MASK (0xFFFFU) 31166 #define XRDC_DERRLOC_MRCINST_SHIFT (0U) 31167 #define XRDC_DERRLOC_MRCINST(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERRLOC_MRCINST_SHIFT)) & XRDC_DERRLOC_MRCINST_MASK) 31168 #define XRDC_DERRLOC_PACINST_MASK (0xF0000U) 31169 #define XRDC_DERRLOC_PACINST_SHIFT (16U) 31170 #define XRDC_DERRLOC_PACINST(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERRLOC_PACINST_SHIFT)) & XRDC_DERRLOC_PACINST_MASK) 31171 /*! @} */ 31172 31173 /* The count of XRDC_DERRLOC */ 31174 #define XRDC_DERRLOC_COUNT (3U) 31175 31176 /*! @name DERR_W - Domain Error Word0 Register..Domain Error Word3 Register */ 31177 /*! @{ */ 31178 #define XRDC_DERR_W_EADDR_MASK (0xFFFFFFFFU) 31179 #define XRDC_DERR_W_EADDR_SHIFT (0U) 31180 #define XRDC_DERR_W_EADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_EADDR_SHIFT)) & XRDC_DERR_W_EADDR_MASK) 31181 #define XRDC_DERR_W_EDID_MASK (0xFU) 31182 #define XRDC_DERR_W_EDID_SHIFT (0U) 31183 #define XRDC_DERR_W_EDID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_EDID_SHIFT)) & XRDC_DERR_W_EDID_MASK) 31184 #define XRDC_DERR_W_EATR_MASK (0x700U) 31185 #define XRDC_DERR_W_EATR_SHIFT (8U) 31186 /*! EATR - Error attributes 31187 * 0b000..Secure user mode, instruction fetch access. 31188 * 0b001..Secure user mode, data access. 31189 * 0b010..Secure privileged mode, instruction fetch access. 31190 * 0b011..Secure privileged mode, data access. 31191 * 0b100..Nonsecure user mode, instruction fetch access. 31192 * 0b101..Nonsecure user mode, data access. 31193 * 0b110..Nonsecure privileged mode, instruction fetch access. 31194 * 0b111..Nonsecure privileged mode, data access. 31195 */ 31196 #define XRDC_DERR_W_EATR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_EATR_SHIFT)) & XRDC_DERR_W_EATR_MASK) 31197 #define XRDC_DERR_W_ERW_MASK (0x800U) 31198 #define XRDC_DERR_W_ERW_SHIFT (11U) 31199 /*! ERW - Error read/write 31200 * 0b0..Read access 31201 * 0b1..Write access 31202 */ 31203 #define XRDC_DERR_W_ERW(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_ERW_SHIFT)) & XRDC_DERR_W_ERW_MASK) 31204 #define XRDC_DERR_W_EPORT_MASK (0x7000000U) 31205 #define XRDC_DERR_W_EPORT_SHIFT (24U) 31206 #define XRDC_DERR_W_EPORT(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_EPORT_SHIFT)) & XRDC_DERR_W_EPORT_MASK) 31207 #define XRDC_DERR_W_EST_MASK (0xC0000000U) 31208 #define XRDC_DERR_W_EST_SHIFT (30U) 31209 /*! EST - Error state 31210 * 0b00..No access violation has been detected. 31211 * 0b01..No access violation has been detected. 31212 * 0b10..A single access violation has been detected. 31213 * 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. 31214 */ 31215 #define XRDC_DERR_W_EST(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_EST_SHIFT)) & XRDC_DERR_W_EST_MASK) 31216 #define XRDC_DERR_W_RECR_MASK (0xC0000000U) 31217 #define XRDC_DERR_W_RECR_SHIFT (30U) 31218 #define XRDC_DERR_W_RECR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_DERR_W_RECR_SHIFT)) & XRDC_DERR_W_RECR_MASK) 31219 /*! @} */ 31220 31221 /* The count of XRDC_DERR_W */ 31222 #define XRDC_DERR_W_COUNT (19U) 31223 31224 /* The count of XRDC_DERR_W */ 31225 #define XRDC_DERR_W_COUNT2 (4U) 31226 31227 /*! @name PID - Process Identifier */ 31228 /*! @{ */ 31229 #define XRDC_PID_PID_MASK (0x3FU) 31230 #define XRDC_PID_PID_SHIFT (0U) 31231 #define XRDC_PID_PID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PID_PID_SHIFT)) & XRDC_PID_PID_MASK) 31232 #define XRDC_PID_SP4SM_MASK (0x8000000U) 31233 #define XRDC_PID_SP4SM_SHIFT (27U) 31234 #define XRDC_PID_SP4SM(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PID_SP4SM_SHIFT)) & XRDC_PID_SP4SM_MASK) 31235 #define XRDC_PID_TSM_MASK (0x10000000U) 31236 #define XRDC_PID_TSM_SHIFT (28U) 31237 #define XRDC_PID_TSM(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PID_TSM_SHIFT)) & XRDC_PID_TSM_MASK) 31238 #define XRDC_PID_LK2_MASK (0x60000000U) 31239 #define XRDC_PID_LK2_SHIFT (29U) 31240 /*! LK2 - Lock 31241 * 0b00..Register can be written by any secure privileged write. 31242 * 0b01..Register can be written by any secure privileged write. 31243 * 0b10..Register can only be written by a secure privileged write from bus master m. 31244 * 0b11..Register is locked (read-only) until the next reset. 31245 */ 31246 #define XRDC_PID_LK2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PID_LK2_SHIFT)) & XRDC_PID_LK2_MASK) 31247 /*! @} */ 31248 31249 /* The count of XRDC_PID */ 31250 #define XRDC_PID_COUNT (37U) 31251 31252 /*! @name MDA_W - Master Domain Assignment */ 31253 /*! @{ */ 31254 #define XRDC_MDA_W_DID_MASK (0xFU) 31255 #define XRDC_MDA_W_DID_SHIFT (0U) 31256 #define XRDC_MDA_W_DID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_DID_SHIFT)) & XRDC_MDA_W_DID_MASK) 31257 #define XRDC_MDA_W_DIDS_MASK (0x30U) 31258 #define XRDC_MDA_W_DIDS_SHIFT (4U) 31259 /*! DIDS - DID Select 31260 * 0b00..Use MDAm[3:0] as the domain identifier. 31261 * 0b01..Use the input DID as the domain identifier. 31262 * 0b10..Use MDAm[3:2] concatenated with the low-order 2 bits of the input DID (DID_in[1:0]) as the domain identifier. 31263 * 0b11..Reserved for future use. 31264 */ 31265 #define XRDC_MDA_W_DIDS(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_DIDS_SHIFT)) & XRDC_MDA_W_DIDS_MASK) 31266 #define XRDC_MDA_W_PA_MASK (0x30U) 31267 #define XRDC_MDA_W_PA_SHIFT (4U) 31268 /*! PA - Privileged attribute 31269 * 0b00..Force the bus attribute for this master to user. 31270 * 0b01..Force the bus attribute for this master to privileged. 31271 * 0b10..Use the bus master's privileged/user attribute directly. 31272 * 0b11..Use the bus master's privileged/user attribute directly. 31273 */ 31274 #define XRDC_MDA_W_PA(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_PA_SHIFT)) & XRDC_MDA_W_PA_MASK) 31275 #define XRDC_MDA_W_PE_MASK (0xC0U) 31276 #define XRDC_MDA_W_PE_SHIFT (6U) 31277 /*! PE - Process identifier enable 31278 * 0b00..No process identifier is included in the domain hit evaluation. 31279 * 0b01..No process identifier is included in the domain hit evaluation. 31280 * 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)) 31281 * 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)) 31282 */ 31283 #define XRDC_MDA_W_PE(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_PE_SHIFT)) & XRDC_MDA_W_PE_MASK) 31284 #define XRDC_MDA_W_SA_MASK (0xC0U) 31285 #define XRDC_MDA_W_SA_SHIFT (6U) 31286 /*! SA - Secure attribute 31287 * 0b00..Force the bus attribute for this master to secure. 31288 * 0b01..Force the bus attribute for this master to nonsecure. 31289 * 0b10..Use the bus master's secure/nonsecure attribute directly. 31290 * 0b11..Use the bus master's secure/nonsecure attribute directly. 31291 */ 31292 #define XRDC_MDA_W_SA(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_SA_SHIFT)) & XRDC_MDA_W_SA_MASK) 31293 #define XRDC_MDA_W_DIDB_MASK (0x100U) 31294 #define XRDC_MDA_W_DIDB_SHIFT (8U) 31295 /*! DIDB - DID Bypass 31296 * 0b0..Use MDAn[3:0] as the domain identifier. 31297 * 0b1..Use the DID input as the domain identifier. 31298 */ 31299 #define XRDC_MDA_W_DIDB(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_DIDB_SHIFT)) & XRDC_MDA_W_DIDB_MASK) 31300 #define XRDC_MDA_W_PIDM_MASK (0x3F00U) 31301 #define XRDC_MDA_W_PIDM_SHIFT (8U) 31302 #define XRDC_MDA_W_PIDM(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_PIDM_SHIFT)) & XRDC_MDA_W_PIDM_MASK) 31303 #define XRDC_MDA_W_PID_MASK (0x3F0000U) 31304 #define XRDC_MDA_W_PID_SHIFT (16U) 31305 #define XRDC_MDA_W_PID(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_PID_SHIFT)) & XRDC_MDA_W_PID_MASK) 31306 #define XRDC_MDA_W_DFMT_MASK (0x20000000U) 31307 #define XRDC_MDA_W_DFMT_SHIFT (29U) 31308 /*! DFMT - Domain format 31309 * 0b0..Processor-core domain assignment 31310 * 0b1..Non-processor domain assignment 31311 */ 31312 #define XRDC_MDA_W_DFMT(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_DFMT_SHIFT)) & XRDC_MDA_W_DFMT_MASK) 31313 #define XRDC_MDA_W_LK1_MASK (0x40000000U) 31314 #define XRDC_MDA_W_LK1_SHIFT (30U) 31315 /*! LK1 - 1-bit Lock 31316 * 0b0..Register can be written by any secure privileged write. 31317 * 0b1..Register is locked (read-only) until the next reset. 31318 */ 31319 #define XRDC_MDA_W_LK1(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_LK1_SHIFT)) & XRDC_MDA_W_LK1_MASK) 31320 #define XRDC_MDA_W_VLD_MASK (0x80000000U) 31321 #define XRDC_MDA_W_VLD_SHIFT (31U) 31322 /*! VLD - Valid 31323 * 0b0..The Wr domain assignment is invalid. 31324 * 0b1..The Wr domain assignment is valid. 31325 */ 31326 #define XRDC_MDA_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MDA_W_VLD_SHIFT)) & XRDC_MDA_W_VLD_MASK) 31327 /*! @} */ 31328 31329 /* The count of XRDC_MDA_W */ 31330 #define XRDC_MDA_W_COUNT (37U) 31331 31332 /* The count of XRDC_MDA_W */ 31333 #define XRDC_MDA_W_COUNT2 (2U) 31334 31335 /*! @name PDAC_W - Peripheral Domain Access Control */ 31336 /*! @{ */ 31337 #define XRDC_PDAC_W_D0ACP_MASK (0x7U) 31338 #define XRDC_PDAC_W_D0ACP_SHIFT (0U) 31339 #define XRDC_PDAC_W_D0ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_D0ACP_SHIFT)) & XRDC_PDAC_W_D0ACP_MASK) 31340 #define XRDC_PDAC_W_D1ACP_MASK (0x38U) 31341 #define XRDC_PDAC_W_D1ACP_SHIFT (3U) 31342 #define XRDC_PDAC_W_D1ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_D1ACP_SHIFT)) & XRDC_PDAC_W_D1ACP_MASK) 31343 #define XRDC_PDAC_W_D2ACP_MASK (0x1C0U) 31344 #define XRDC_PDAC_W_D2ACP_SHIFT (6U) 31345 #define XRDC_PDAC_W_D2ACP(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_D2ACP_SHIFT)) & XRDC_PDAC_W_D2ACP_MASK) 31346 #define XRDC_PDAC_W_EAL_MASK (0x3000000U) 31347 #define XRDC_PDAC_W_EAL_SHIFT (24U) 31348 /*! EAL - Exclusive Access Lock 31349 * 0b00..Lock disabled 31350 * 0b01..Lock disabled until next reset 31351 * 0b10..Lock enabled, lock state = available 31352 * 0b11..Lock enabled, lock state = not available 31353 */ 31354 #define XRDC_PDAC_W_EAL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_EAL_SHIFT)) & XRDC_PDAC_W_EAL_MASK) 31355 #define XRDC_PDAC_W_EALO_MASK (0xF000000U) 31356 #define XRDC_PDAC_W_EALO_SHIFT (24U) 31357 #define XRDC_PDAC_W_EALO(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_EALO_SHIFT)) & XRDC_PDAC_W_EALO_MASK) 31358 #define XRDC_PDAC_W_LK2_MASK (0x60000000U) 31359 #define XRDC_PDAC_W_LK2_SHIFT (29U) 31360 /*! LK2 - Lock 31361 * 0b00..Entire PDACs can be written. 31362 * 0b01..Entire PDACs can be written. 31363 * 0b10..Domain x can only update the DxACP field and the LK2 field; no other PDACs fields can be written. 31364 * 0b11..PDACs is locked (read-only) until the next reset. 31365 */ 31366 #define XRDC_PDAC_W_LK2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_LK2_SHIFT)) & XRDC_PDAC_W_LK2_MASK) 31367 #define XRDC_PDAC_W_VLD_MASK (0x80000000U) 31368 #define XRDC_PDAC_W_VLD_SHIFT (31U) 31369 /*! VLD - Valid 31370 * 0b0..The PDACs assignment is invalid. 31371 * 0b1..The PDACs assignment is valid. 31372 */ 31373 #define XRDC_PDAC_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC_PDAC_W_VLD_SHIFT)) & XRDC_PDAC_W_VLD_MASK) 31374 /*! @} */ 31375 31376 /* The count of XRDC_PDAC_W */ 31377 #define XRDC_PDAC_W_COUNT (289U) 31378 31379 /* The count of XRDC_PDAC_W */ 31380 #define XRDC_PDAC_W_COUNT2 (2U) 31381 31382 /*! @name MRGD_W - Memory Region Descriptor */ 31383 /*! @{ */ 31384 #define XRDC_MRGD_W_ACCSET1_MASK (0xFFFU) 31385 #define XRDC_MRGD_W_ACCSET1_SHIFT (0U) 31386 #define XRDC_MRGD_W_ACCSET1(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_ACCSET1_SHIFT)) & XRDC_MRGD_W_ACCSET1_MASK) 31387 #define XRDC_MRGD_W_D0SEL_MASK (0x7U) 31388 #define XRDC_MRGD_W_D0SEL_SHIFT (0U) 31389 #define XRDC_MRGD_W_D0SEL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_D0SEL_SHIFT)) & XRDC_MRGD_W_D0SEL_MASK) 31390 #define XRDC_MRGD_W_D1SEL_MASK (0x38U) 31391 #define XRDC_MRGD_W_D1SEL_SHIFT (3U) 31392 #define XRDC_MRGD_W_D1SEL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_D1SEL_SHIFT)) & XRDC_MRGD_W_D1SEL_MASK) 31393 #define XRDC_MRGD_W_ENDADDR_MASK (0xFFFFFFE0U) 31394 #define XRDC_MRGD_W_ENDADDR_SHIFT (5U) 31395 #define XRDC_MRGD_W_ENDADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_ENDADDR_SHIFT)) & XRDC_MRGD_W_ENDADDR_MASK) 31396 #define XRDC_MRGD_W_SRTADDR_MASK (0xFFFFFFE0U) 31397 #define XRDC_MRGD_W_SRTADDR_SHIFT (5U) 31398 #define XRDC_MRGD_W_SRTADDR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_SRTADDR_SHIFT)) & XRDC_MRGD_W_SRTADDR_MASK) 31399 #define XRDC_MRGD_W_D2SEL_MASK (0x1C0U) 31400 #define XRDC_MRGD_W_D2SEL_SHIFT (6U) 31401 #define XRDC_MRGD_W_D2SEL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_D2SEL_SHIFT)) & XRDC_MRGD_W_D2SEL_MASK) 31402 #define XRDC_MRGD_W_LKAS1_MASK (0x1000U) 31403 #define XRDC_MRGD_W_LKAS1_SHIFT (12U) 31404 /*! LKAS1 - Lock ACCSET1 31405 * 0b0..Writes to ACCSET1 affect lesser modes 31406 * 0b1..ACCSET1 cannot be modified 31407 */ 31408 #define XRDC_MRGD_W_LKAS1(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_LKAS1_SHIFT)) & XRDC_MRGD_W_LKAS1_MASK) 31409 #define XRDC_MRGD_W_ACCSET2_MASK (0xFFF0000U) 31410 #define XRDC_MRGD_W_ACCSET2_SHIFT (16U) 31411 #define XRDC_MRGD_W_ACCSET2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_ACCSET2_SHIFT)) & XRDC_MRGD_W_ACCSET2_MASK) 31412 #define XRDC_MRGD_W_EAL_MASK (0x3000000U) 31413 #define XRDC_MRGD_W_EAL_SHIFT (24U) 31414 /*! EAL - Exclusive Access Lock 31415 * 0b00..Lock disabled 31416 * 0b01..Lock disabled until next reset 31417 * 0b10..Lock enabled, lock state = available 31418 * 0b11..Lock enabled, lock state = not available 31419 */ 31420 #define XRDC_MRGD_W_EAL(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_EAL_SHIFT)) & XRDC_MRGD_W_EAL_MASK) 31421 #define XRDC_MRGD_W_EALO_MASK (0xF000000U) 31422 #define XRDC_MRGD_W_EALO_SHIFT (24U) 31423 #define XRDC_MRGD_W_EALO(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_EALO_SHIFT)) & XRDC_MRGD_W_EALO_MASK) 31424 #define XRDC_MRGD_W_LKAS2_MASK (0x10000000U) 31425 #define XRDC_MRGD_W_LKAS2_SHIFT (28U) 31426 /*! LKAS2 - Lock ACCSET2 31427 * 0b0..Writes to ACCSET2 affect lesser modes 31428 * 0b1..ACCSET2 cannot be modified 31429 */ 31430 #define XRDC_MRGD_W_LKAS2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_LKAS2_SHIFT)) & XRDC_MRGD_W_LKAS2_MASK) 31431 #define XRDC_MRGD_W_LK2_MASK (0x60000000U) 31432 #define XRDC_MRGD_W_LK2_SHIFT (29U) 31433 /*! LK2 - Lock 31434 * 0b00..Entire MRGDn can be written. 31435 * 0b01..Entire MRGDn can be written. 31436 * 0b10..Domain x can only update the DxACP field and the LK2 field; no other MRGDn fields can be written. 31437 * 0b11..MRGDn is locked (read-only) until the next reset. 31438 */ 31439 #define XRDC_MRGD_W_LK2(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_LK2_SHIFT)) & XRDC_MRGD_W_LK2_MASK) 31440 #define XRDC_MRGD_W_CR_MASK (0x80000000U) 31441 #define XRDC_MRGD_W_CR_SHIFT (31U) 31442 #define XRDC_MRGD_W_CR(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_CR_SHIFT)) & XRDC_MRGD_W_CR_MASK) 31443 #define XRDC_MRGD_W_VLD_MASK (0x80000000U) 31444 #define XRDC_MRGD_W_VLD_SHIFT (31U) 31445 /*! VLD - Valid 31446 * 0b0..The MRGDn assignment is invalid. 31447 * 0b1..The MRGDn assignment is valid. 31448 */ 31449 #define XRDC_MRGD_W_VLD(x) (((uint32_t)(((uint32_t)(x)) << XRDC_MRGD_W_VLD_SHIFT)) & XRDC_MRGD_W_VLD_MASK) 31450 /*! @} */ 31451 31452 /* The count of XRDC_MRGD_W */ 31453 #define XRDC_MRGD_W_COUNT (24U) 31454 31455 /* The count of XRDC_MRGD_W */ 31456 #define XRDC_MRGD_W_COUNT2 (5U) 31457 31458 31459 /*! 31460 * @} 31461 */ /* end of group XRDC_Register_Masks */ 31462 31463 31464 /* XRDC - Peripheral instance base addresses */ 31465 /** Peripheral XRDC base address */ 31466 #define XRDC_BASE (0x40014000u) 31467 /** Peripheral XRDC base pointer */ 31468 #define XRDC ((XRDC_Type *)XRDC_BASE) 31469 /** Array initializer of XRDC peripheral base addresses */ 31470 #define XRDC_BASE_ADDRS { XRDC_BASE } 31471 /** Array initializer of XRDC peripheral base pointers */ 31472 #define XRDC_BASE_PTRS { XRDC } 31473 31474 /*! 31475 * @} 31476 */ /* end of group XRDC_Peripheral_Access_Layer */ 31477 31478 31479 /* ---------------------------------------------------------------------------- 31480 -- ZLL Peripheral Access Layer 31481 ---------------------------------------------------------------------------- */ 31482 31483 /*! 31484 * @addtogroup ZLL_Peripheral_Access_Layer ZLL Peripheral Access Layer 31485 * @{ 31486 */ 31487 31488 /** ZLL - Register Layout Typedef */ 31489 typedef struct { 31490 __IO uint32_t IRQSTS; /**< INTERRUPT REQUEST STATUS, offset: 0x0 */ 31491 __IO uint32_t PHY_CTRL; /**< PHY CONTROL, offset: 0x4 */ 31492 __IO uint32_t EVENT_TMR; /**< EVENT TIMER, offset: 0x8 */ 31493 __I uint32_t TIMESTAMP; /**< TIMESTAMP, offset: 0xC */ 31494 __IO uint32_t T1CMP; /**< T1 COMPARE, offset: 0x10 */ 31495 __IO uint32_t T2CMP; /**< T2 COMPARE, offset: 0x14 */ 31496 __IO uint32_t T2PRIMECMP; /**< T2 PRIME COMPARE, offset: 0x18 */ 31497 __IO uint32_t T3CMP; /**< T3 COMPARE, offset: 0x1C */ 31498 __IO uint32_t T4CMP; /**< T4 COMPARE, offset: 0x20 */ 31499 __IO uint32_t PA_PWR; /**< PA POWER, offset: 0x24 */ 31500 __IO uint32_t CHANNEL_NUM0; /**< CHANNEL NUMBER 0, offset: 0x28 */ 31501 __I uint32_t LQI_AND_RSSI; /**< LQI AND RSSI, offset: 0x2C */ 31502 __IO uint32_t MACSHORTADDRS0; /**< MAC SHORT ADDRESS 0, offset: 0x30 */ 31503 __IO uint32_t MACLONGADDRS0_LSB; /**< MAC LONG ADDRESS 0 LSB, offset: 0x34 */ 31504 __IO uint32_t MACLONGADDRS0_MSB; /**< MAC LONG ADDRESS 0 MSB, offset: 0x38 */ 31505 __IO uint32_t RX_FRAME_FILTER; /**< RECEIVE FRAME FILTER, offset: 0x3C */ 31506 __IO uint32_t CCA_LQI_CTRL; /**< CCA AND LQI CONTROL, offset: 0x40 */ 31507 __IO uint32_t CCA2_CTRL; /**< CCA2 CONTROL, offset: 0x44 */ 31508 uint8_t RESERVED_0[4]; 31509 __IO uint32_t DSM_CTRL; /**< DSM CONTROL, offset: 0x4C */ 31510 __IO uint32_t BSM_CTRL; /**< BSM CONTROL, offset: 0x50 */ 31511 __IO uint32_t MACSHORTADDRS1; /**< MAC SHORT ADDRESS FOR PAN1, offset: 0x54 */ 31512 __IO uint32_t MACLONGADDRS1_LSB; /**< MAC LONG ADDRESS 1 LSB, offset: 0x58 */ 31513 __IO uint32_t MACLONGADDRS1_MSB; /**< MAC LONG ADDRESS 1 MSB, offset: 0x5C */ 31514 __IO uint32_t DUAL_PAN_CTRL; /**< DUAL PAN CONTROL, offset: 0x60 */ 31515 __IO uint32_t CHANNEL_NUM1; /**< CHANNEL NUMBER 1, offset: 0x64 */ 31516 __IO uint32_t SAM_CTRL; /**< SAM CONTROL, offset: 0x68 */ 31517 __IO uint32_t SAM_TABLE; /**< SOURCE ADDRESS MANAGEMENT TABLE, offset: 0x6C */ 31518 __I uint32_t SAM_MATCH; /**< SOURCE ADDRESS MANAGEMENT MATCH, offset: 0x70 */ 31519 __I uint32_t SAM_FREE_IDX; /**< SAM FREE INDEX, offset: 0x74 */ 31520 __IO uint32_t SEQ_CTRL_STS; /**< SEQUENCE CONTROL AND STATUS, offset: 0x78 */ 31521 __IO uint32_t ACKDELAY; /**< ACK DELAY, offset: 0x7C */ 31522 __IO uint32_t FILTERFAIL_CODE; /**< FILTER FAIL CODE, offset: 0x80 */ 31523 __IO uint32_t RX_WTR_MARK; /**< RECEIVE WATER MARK, offset: 0x84 */ 31524 uint8_t RESERVED_1[4]; 31525 __IO uint32_t SLOT_PRELOAD; /**< SLOT PRELOAD, offset: 0x8C */ 31526 __I uint32_t SEQ_STATE; /**< 802.15.4 SEQUENCE STATE, offset: 0x90 */ 31527 __IO uint32_t TMR_PRESCALE; /**< TIMER PRESCALER, offset: 0x94 */ 31528 __IO uint32_t LENIENCY_LSB; /**< LENIENCY LSB, offset: 0x98 */ 31529 __IO uint32_t LENIENCY_MSB; /**< LENIENCY MSB, offset: 0x9C */ 31530 __I uint32_t PART_ID; /**< PART ID, offset: 0xA0 */ 31531 uint8_t RESERVED_2[92]; 31532 __IO uint16_t PKT_BUFFER_TX[64]; /**< Packet Buffer TX, array offset: 0x100, array step: 0x2 */ 31533 __IO uint16_t PKT_BUFFER_RX[64]; /**< Packet Buffer RX, array offset: 0x180, array step: 0x2 */ 31534 } ZLL_Type; 31535 31536 /* ---------------------------------------------------------------------------- 31537 -- ZLL Register Masks 31538 ---------------------------------------------------------------------------- */ 31539 31540 /*! 31541 * @addtogroup ZLL_Register_Masks ZLL Register Masks 31542 * @{ 31543 */ 31544 31545 /*! @name IRQSTS - INTERRUPT REQUEST STATUS */ 31546 /*! @{ */ 31547 #define ZLL_IRQSTS_SEQIRQ_MASK (0x1U) 31548 #define ZLL_IRQSTS_SEQIRQ_SHIFT (0U) 31549 /*! SEQIRQ - Sequencer IRQ 31550 * 0b0..A Sequencer Interrupt has not occurred 31551 * 0b1..A Sequencer Interrupt has occurred 31552 */ 31553 #define ZLL_IRQSTS_SEQIRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_SEQIRQ_SHIFT)) & ZLL_IRQSTS_SEQIRQ_MASK) 31554 #define ZLL_IRQSTS_TXIRQ_MASK (0x2U) 31555 #define ZLL_IRQSTS_TXIRQ_SHIFT (1U) 31556 /*! TXIRQ - TX IRQ 31557 * 0b0..A TX Interrupt has not occurred 31558 * 0b1..A TX Interrupt has occurred 31559 */ 31560 #define ZLL_IRQSTS_TXIRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TXIRQ_SHIFT)) & ZLL_IRQSTS_TXIRQ_MASK) 31561 #define ZLL_IRQSTS_RXIRQ_MASK (0x4U) 31562 #define ZLL_IRQSTS_RXIRQ_SHIFT (2U) 31563 /*! RXIRQ - RX IRQ 31564 * 0b0..A RX Interrupt has not occurred 31565 * 0b1..A RX Interrupt has occurred 31566 */ 31567 #define ZLL_IRQSTS_RXIRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_RXIRQ_SHIFT)) & ZLL_IRQSTS_RXIRQ_MASK) 31568 #define ZLL_IRQSTS_CCAIRQ_MASK (0x8U) 31569 #define ZLL_IRQSTS_CCAIRQ_SHIFT (3U) 31570 /*! CCAIRQ - CCA IRQ 31571 * 0b0..A CCA Interrupt has not occurred 31572 * 0b1..A CCA Interrupt has occurred 31573 */ 31574 #define ZLL_IRQSTS_CCAIRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_CCAIRQ_SHIFT)) & ZLL_IRQSTS_CCAIRQ_MASK) 31575 #define ZLL_IRQSTS_RXWTRMRKIRQ_MASK (0x10U) 31576 #define ZLL_IRQSTS_RXWTRMRKIRQ_SHIFT (4U) 31577 /*! RXWTRMRKIRQ - Receive Watermark IRQ 31578 * 0b0..A Receive Watermark Interrupt has not occurred 31579 * 0b1..A Receive Watermark Interrupt has occurred 31580 */ 31581 #define ZLL_IRQSTS_RXWTRMRKIRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_RXWTRMRKIRQ_SHIFT)) & ZLL_IRQSTS_RXWTRMRKIRQ_MASK) 31582 #define ZLL_IRQSTS_FILTERFAIL_IRQ_MASK (0x20U) 31583 #define ZLL_IRQSTS_FILTERFAIL_IRQ_SHIFT (5U) 31584 /*! FILTERFAIL_IRQ - Filter Fail IRQ 31585 * 0b0..A Filter Fail Interrupt has not occurred 31586 * 0b1..A Filter Fail Interrupt has occurred 31587 */ 31588 #define ZLL_IRQSTS_FILTERFAIL_IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_FILTERFAIL_IRQ_SHIFT)) & ZLL_IRQSTS_FILTERFAIL_IRQ_MASK) 31589 #define ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK (0x40U) 31590 #define ZLL_IRQSTS_PLL_UNLOCK_IRQ_SHIFT (6U) 31591 /*! PLL_UNLOCK_IRQ - PLL Unlock IRQ 31592 * 0b0..A PLL Unlock Interrupt has not occurred 31593 * 0b1..A PLL Unlock Interrupt has occurred 31594 */ 31595 #define ZLL_IRQSTS_PLL_UNLOCK_IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_PLL_UNLOCK_IRQ_SHIFT)) & ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK) 31596 #define ZLL_IRQSTS_RX_FRM_PEND_MASK (0x80U) 31597 #define ZLL_IRQSTS_RX_FRM_PEND_SHIFT (7U) 31598 #define ZLL_IRQSTS_RX_FRM_PEND(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_RX_FRM_PEND_SHIFT)) & ZLL_IRQSTS_RX_FRM_PEND_MASK) 31599 #define ZLL_IRQSTS_WAKE_IRQ_MASK (0x100U) 31600 #define ZLL_IRQSTS_WAKE_IRQ_SHIFT (8U) 31601 /*! WAKE_IRQ - WAKE Interrupt Request 31602 * 0b0..A Wake Interrupt has not occurred 31603 * 0b1..A Wake Interrupt has occurred 31604 */ 31605 #define ZLL_IRQSTS_WAKE_IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_WAKE_IRQ_SHIFT)) & ZLL_IRQSTS_WAKE_IRQ_MASK) 31606 #define ZLL_IRQSTS_TSM_IRQ_MASK (0x400U) 31607 #define ZLL_IRQSTS_TSM_IRQ_SHIFT (10U) 31608 /*! TSM_IRQ - TSM IRQ 31609 * 0b0..A TSM Interrupt has not occurred 31610 * 0b1..A TSM Interrupt has occurred 31611 */ 31612 #define ZLL_IRQSTS_TSM_IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TSM_IRQ_SHIFT)) & ZLL_IRQSTS_TSM_IRQ_MASK) 31613 #define ZLL_IRQSTS_ENH_PKT_STATUS_MASK (0x800U) 31614 #define ZLL_IRQSTS_ENH_PKT_STATUS_SHIFT (11U) 31615 /*! ENH_PKT_STATUS - Enhanced Packet Status 31616 * 0b0..The last packet received was neither 4e- nor 2015-compliant 31617 * 0b1..The last packet received was 4e- or 2015-compliant (RX_FRAME_FILTER register should be queried for additional status bits) 31618 */ 31619 #define ZLL_IRQSTS_ENH_PKT_STATUS(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_ENH_PKT_STATUS_SHIFT)) & ZLL_IRQSTS_ENH_PKT_STATUS_MASK) 31620 #define ZLL_IRQSTS_PI_MASK (0x1000U) 31621 #define ZLL_IRQSTS_PI_SHIFT (12U) 31622 /*! PI - Poll Indication 31623 * 0b0..the received packet was not a data request 31624 * 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 31625 */ 31626 #define ZLL_IRQSTS_PI(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_PI_SHIFT)) & ZLL_IRQSTS_PI_MASK) 31627 #define ZLL_IRQSTS_SRCADDR_MASK (0x2000U) 31628 #define ZLL_IRQSTS_SRCADDR_SHIFT (13U) 31629 #define ZLL_IRQSTS_SRCADDR(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_SRCADDR_SHIFT)) & ZLL_IRQSTS_SRCADDR_MASK) 31630 #define ZLL_IRQSTS_CCA_MASK (0x4000U) 31631 #define ZLL_IRQSTS_CCA_SHIFT (14U) 31632 /*! CCA - CCA Status 31633 * 0b0..IDLE 31634 * 0b1..BUSY 31635 */ 31636 #define ZLL_IRQSTS_CCA(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_CCA_SHIFT)) & ZLL_IRQSTS_CCA_MASK) 31637 #define ZLL_IRQSTS_CRCVALID_MASK (0x8000U) 31638 #define ZLL_IRQSTS_CRCVALID_SHIFT (15U) 31639 /*! CRCVALID - CRC Valid Status 31640 * 0b0..Rx FCS != calculated CRC (incorrect) 31641 * 0b1..Rx FCS = calculated CRC (correct) 31642 */ 31643 #define ZLL_IRQSTS_CRCVALID(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_CRCVALID_SHIFT)) & ZLL_IRQSTS_CRCVALID_MASK) 31644 #define ZLL_IRQSTS_TMR1IRQ_MASK (0x10000U) 31645 #define ZLL_IRQSTS_TMR1IRQ_SHIFT (16U) 31646 #define ZLL_IRQSTS_TMR1IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR1IRQ_SHIFT)) & ZLL_IRQSTS_TMR1IRQ_MASK) 31647 #define ZLL_IRQSTS_TMR2IRQ_MASK (0x20000U) 31648 #define ZLL_IRQSTS_TMR2IRQ_SHIFT (17U) 31649 #define ZLL_IRQSTS_TMR2IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR2IRQ_SHIFT)) & ZLL_IRQSTS_TMR2IRQ_MASK) 31650 #define ZLL_IRQSTS_TMR3IRQ_MASK (0x40000U) 31651 #define ZLL_IRQSTS_TMR3IRQ_SHIFT (18U) 31652 #define ZLL_IRQSTS_TMR3IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR3IRQ_SHIFT)) & ZLL_IRQSTS_TMR3IRQ_MASK) 31653 #define ZLL_IRQSTS_TMR4IRQ_MASK (0x80000U) 31654 #define ZLL_IRQSTS_TMR4IRQ_SHIFT (19U) 31655 #define ZLL_IRQSTS_TMR4IRQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR4IRQ_SHIFT)) & ZLL_IRQSTS_TMR4IRQ_MASK) 31656 #define ZLL_IRQSTS_TMR1MSK_MASK (0x100000U) 31657 #define ZLL_IRQSTS_TMR1MSK_SHIFT (20U) 31658 /*! TMR1MSK - Timer Comperator 1 Interrupt Mask bit 31659 * 0b0..allows interrupt when comparator matches event timer count 31660 * 0b1..Interrupt generation is disabled, but a TMR1IRQ flag can be set 31661 */ 31662 #define ZLL_IRQSTS_TMR1MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR1MSK_SHIFT)) & ZLL_IRQSTS_TMR1MSK_MASK) 31663 #define ZLL_IRQSTS_TMR2MSK_MASK (0x200000U) 31664 #define ZLL_IRQSTS_TMR2MSK_SHIFT (21U) 31665 /*! TMR2MSK - Timer Comperator 2 Interrupt Mask bit 31666 * 0b0..allows interrupt when comparator matches event timer count 31667 * 0b1..Interrupt generation is disabled, but a TMR2IRQ flag can be set 31668 */ 31669 #define ZLL_IRQSTS_TMR2MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR2MSK_SHIFT)) & ZLL_IRQSTS_TMR2MSK_MASK) 31670 #define ZLL_IRQSTS_TMR3MSK_MASK (0x400000U) 31671 #define ZLL_IRQSTS_TMR3MSK_SHIFT (22U) 31672 /*! TMR3MSK - Timer Comperator 3 Interrupt Mask bit 31673 * 0b0..allows interrupt when comparator matches event timer count 31674 * 0b1..Interrupt generation is disabled, but a TMR3IRQ flag can be set 31675 */ 31676 #define ZLL_IRQSTS_TMR3MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR3MSK_SHIFT)) & ZLL_IRQSTS_TMR3MSK_MASK) 31677 #define ZLL_IRQSTS_TMR4MSK_MASK (0x800000U) 31678 #define ZLL_IRQSTS_TMR4MSK_SHIFT (23U) 31679 /*! TMR4MSK - Timer Comperator 4 Interrupt Mask bit 31680 * 0b0..allows interrupt when comparator matches event timer count 31681 * 0b1..Interrupt generation is disabled, but a TMR4IRQ flag can be set 31682 */ 31683 #define ZLL_IRQSTS_TMR4MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_TMR4MSK_SHIFT)) & ZLL_IRQSTS_TMR4MSK_MASK) 31684 #define ZLL_IRQSTS_RX_FRAME_LENGTH_MASK (0x7F000000U) 31685 #define ZLL_IRQSTS_RX_FRAME_LENGTH_SHIFT (24U) 31686 #define ZLL_IRQSTS_RX_FRAME_LENGTH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_IRQSTS_RX_FRAME_LENGTH_SHIFT)) & ZLL_IRQSTS_RX_FRAME_LENGTH_MASK) 31687 /*! @} */ 31688 31689 /*! @name PHY_CTRL - PHY CONTROL */ 31690 /*! @{ */ 31691 #define ZLL_PHY_CTRL_XCVSEQ_MASK (0x7U) 31692 #define ZLL_PHY_CTRL_XCVSEQ_SHIFT (0U) 31693 /*! XCVSEQ - 802.15.4 Transceiver Sequence Selector 31694 * 0b000..I (IDLE) 31695 * 0b001..R (RECEIVE) 31696 * 0b010..T (TRANSMIT) 31697 * 0b011..C (CCA) 31698 * 0b100..TR (TRANSMIT/RECEIVE) 31699 * 0b101..CCCA (CONTINUOUS CCA) 31700 * 0b110..Reserved 31701 * 0b111..Reserved 31702 */ 31703 #define ZLL_PHY_CTRL_XCVSEQ(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_XCVSEQ_SHIFT)) & ZLL_PHY_CTRL_XCVSEQ_MASK) 31704 #define ZLL_PHY_CTRL_AUTOACK_MASK (0x8U) 31705 #define ZLL_PHY_CTRL_AUTOACK_SHIFT (3U) 31706 /*! AUTOACK - Auto Acknowledge Enable 31707 * 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. 31708 * 0b1..sequence manager will follow a receive frame with an automatic hardware-generated Tx Ack frame, assuming other necessary conditions are met. 31709 */ 31710 #define ZLL_PHY_CTRL_AUTOACK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_AUTOACK_SHIFT)) & ZLL_PHY_CTRL_AUTOACK_MASK) 31711 #define ZLL_PHY_CTRL_RXACKRQD_MASK (0x10U) 31712 #define ZLL_PHY_CTRL_RXACKRQD_SHIFT (4U) 31713 /*! RXACKRQD - Receive Acknowledge Frame required 31714 * 0b0..An ordinary receive frame (any type of frame) follows the transmit frame. 31715 * 0b1..A receive Ack frame is expected to follow the transmit frame (non-Ack frames are rejected). 31716 */ 31717 #define ZLL_PHY_CTRL_RXACKRQD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_RXACKRQD_SHIFT)) & ZLL_PHY_CTRL_RXACKRQD_MASK) 31718 #define ZLL_PHY_CTRL_CCABFRTX_MASK (0x20U) 31719 #define ZLL_PHY_CTRL_CCABFRTX_SHIFT (5U) 31720 /*! CCABFRTX - CCA Before TX 31721 * 0b0..no CCA required, transmit operation begins immediately. 31722 * 0b1..at least one CCA measurement is required prior to the transmit operation (see also SLOTTED). 31723 */ 31724 #define ZLL_PHY_CTRL_CCABFRTX(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_CCABFRTX_SHIFT)) & ZLL_PHY_CTRL_CCABFRTX_MASK) 31725 #define ZLL_PHY_CTRL_SLOTTED_MASK (0x40U) 31726 #define ZLL_PHY_CTRL_SLOTTED_SHIFT (6U) 31727 #define ZLL_PHY_CTRL_SLOTTED(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_SLOTTED_SHIFT)) & ZLL_PHY_CTRL_SLOTTED_MASK) 31728 #define ZLL_PHY_CTRL_TMRTRIGEN_MASK (0x80U) 31729 #define ZLL_PHY_CTRL_TMRTRIGEN_SHIFT (7U) 31730 /*! TMRTRIGEN - Timer2 Trigger Enable 31731 * 0b0..programmed sequence initiates immediately upon write to XCVSEQ. 31732 * 0b1..allow timer TC2 (or TC2') to initiate a preprogrammed sequence (see XCVSEQ register). 31733 */ 31734 #define ZLL_PHY_CTRL_TMRTRIGEN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TMRTRIGEN_SHIFT)) & ZLL_PHY_CTRL_TMRTRIGEN_MASK) 31735 #define ZLL_PHY_CTRL_SEQMSK_MASK (0x100U) 31736 #define ZLL_PHY_CTRL_SEQMSK_SHIFT (8U) 31737 /*! SEQMSK - Sequencer Interrupt Mask 31738 * 0b0..allows completion of an autosequence to generate a zigbee interrupt 31739 * 0b1..Completion of an autosequence will set the SEQIRQ status bit, but a zigbee interrupt is not generated 31740 */ 31741 #define ZLL_PHY_CTRL_SEQMSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_SEQMSK_SHIFT)) & ZLL_PHY_CTRL_SEQMSK_MASK) 31742 #define ZLL_PHY_CTRL_TXMSK_MASK (0x200U) 31743 #define ZLL_PHY_CTRL_TXMSK_SHIFT (9U) 31744 /*! TXMSK - TX Interrupt Mask 31745 * 0b0..allows completion of a TX operation to generate a zigbee interrupt 31746 * 0b1..Completion of a TX operation will set the TXIRQ status bit, but a zigbee interrupt is not generated 31747 */ 31748 #define ZLL_PHY_CTRL_TXMSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TXMSK_SHIFT)) & ZLL_PHY_CTRL_TXMSK_MASK) 31749 #define ZLL_PHY_CTRL_RXMSK_MASK (0x400U) 31750 #define ZLL_PHY_CTRL_RXMSK_SHIFT (10U) 31751 /*! RXMSK - RX Interrupt Mask 31752 * 0b0..allows completion of a RX operation to generate a zigbee interrupt 31753 * 0b1..Completion of a RX operation will set the RXIRQ status bit, but a zigbee interrupt is not generated 31754 */ 31755 #define ZLL_PHY_CTRL_RXMSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_RXMSK_SHIFT)) & ZLL_PHY_CTRL_RXMSK_MASK) 31756 #define ZLL_PHY_CTRL_CCAMSK_MASK (0x800U) 31757 #define ZLL_PHY_CTRL_CCAMSK_SHIFT (11U) 31758 /*! CCAMSK - CCA Interrupt Mask 31759 * 0b0..allows completion of a CCA operation to generate a zigbee interrupt 31760 * 0b1..Completion of a CCA operation will set the CCA status bit, but a zigbee interrupt is not generated 31761 */ 31762 #define ZLL_PHY_CTRL_CCAMSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_CCAMSK_SHIFT)) & ZLL_PHY_CTRL_CCAMSK_MASK) 31763 #define ZLL_PHY_CTRL_RX_WMRK_MSK_MASK (0x1000U) 31764 #define ZLL_PHY_CTRL_RX_WMRK_MSK_SHIFT (12U) 31765 /*! RX_WMRK_MSK - RX Watermark Interrupt Mask 31766 * 0b0..allows a Received Byte Count match to the RX_WTR_MARK threshold register to generate a zigbee interrupt 31767 * 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 31768 */ 31769 #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) 31770 #define ZLL_PHY_CTRL_FILTERFAIL_MSK_MASK (0x2000U) 31771 #define ZLL_PHY_CTRL_FILTERFAIL_MSK_SHIFT (13U) 31772 /*! FILTERFAIL_MSK - FilterFail Interrupt Mask 31773 * 0b0..allows Packet Processor Filtering Failure to generate a zigbee interrupt 31774 * 0b1..A Packet Processor Filtering Failure will set the FILTERFAIL_IRQ status bit, but a zigbee interrupt is not generated 31775 */ 31776 #define ZLL_PHY_CTRL_FILTERFAIL_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_FILTERFAIL_MSK_SHIFT)) & ZLL_PHY_CTRL_FILTERFAIL_MSK_MASK) 31777 #define ZLL_PHY_CTRL_PLL_UNLOCK_MSK_MASK (0x4000U) 31778 #define ZLL_PHY_CTRL_PLL_UNLOCK_MSK_SHIFT (14U) 31779 /*! PLL_UNLOCK_MSK - PLL Unlock Interrupt Mask 31780 * 0b0..allows PLL unlock event to generate a zigbee interrupt 31781 * 0b1..A PLL unlock event will set the PLL_UNLOCK_IRQ status bit, but a zigbee interrupt is not generated 31782 */ 31783 #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) 31784 #define ZLL_PHY_CTRL_CRC_MSK_MASK (0x8000U) 31785 #define ZLL_PHY_CTRL_CRC_MSK_SHIFT (15U) 31786 /*! CRC_MSK - CRC Mask 31787 * 0b0..sequence manager ignores CRCVALID and considers the receive operation complete after the last octet of the frame has been received. 31788 * 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. 31789 */ 31790 #define ZLL_PHY_CTRL_CRC_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_CRC_MSK_SHIFT)) & ZLL_PHY_CTRL_CRC_MSK_MASK) 31791 #define ZLL_PHY_CTRL_WAKE_MSK_MASK (0x10000U) 31792 #define ZLL_PHY_CTRL_WAKE_MSK_SHIFT (16U) 31793 /*! WAKE_MSK 31794 * 0b0..Allows a wakeup from DSM to generate a zigbee interrupt 31795 * 0b1..Wakeup from DSM will set the WAKE_IRQ status bit, but a zigbee interrupt is not generated 31796 */ 31797 #define ZLL_PHY_CTRL_WAKE_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_WAKE_MSK_SHIFT)) & ZLL_PHY_CTRL_WAKE_MSK_MASK) 31798 #define ZLL_PHY_CTRL_TSM_MSK_MASK (0x40000U) 31799 #define ZLL_PHY_CTRL_TSM_MSK_SHIFT (18U) 31800 /*! TSM_MSK 31801 * 0b0..allows assertion of a TSM interrupt to generate a zigbee interrupt 31802 * 0b1..Assertion of a TSM interrupt will set the TSM_IRQ status bit, but a zigbee interrupt is not generated 31803 */ 31804 #define ZLL_PHY_CTRL_TSM_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TSM_MSK_SHIFT)) & ZLL_PHY_CTRL_TSM_MSK_MASK) 31805 #define ZLL_PHY_CTRL_TMR1CMP_EN_MASK (0x100000U) 31806 #define ZLL_PHY_CTRL_TMR1CMP_EN_SHIFT (20U) 31807 /*! TMR1CMP_EN - Timer 1 Compare Enable 31808 * 0b0..Don't allow an Event Timer Match to T1CMP to set TMR1IRQ 31809 * 0b1..Allow an Event Timer Match to T1CMP to set TMR1IRQ 31810 */ 31811 #define ZLL_PHY_CTRL_TMR1CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TMR1CMP_EN_SHIFT)) & ZLL_PHY_CTRL_TMR1CMP_EN_MASK) 31812 #define ZLL_PHY_CTRL_TMR2CMP_EN_MASK (0x200000U) 31813 #define ZLL_PHY_CTRL_TMR2CMP_EN_SHIFT (21U) 31814 /*! TMR2CMP_EN - Timer 2 Compare Enable 31815 * 0b0..Don't allow an Event Timer Match to T2CMP or T2PRIMECMP to set TMR2IRQ 31816 * 0b1..Allow an Event Timer Match to T2CMP or T2PRIMECMP to set TMR2IRQ 31817 */ 31818 #define ZLL_PHY_CTRL_TMR2CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TMR2CMP_EN_SHIFT)) & ZLL_PHY_CTRL_TMR2CMP_EN_MASK) 31819 #define ZLL_PHY_CTRL_TMR3CMP_EN_MASK (0x400000U) 31820 #define ZLL_PHY_CTRL_TMR3CMP_EN_SHIFT (22U) 31821 /*! TMR3CMP_EN - Timer 3 Compare Enable 31822 * 0b0..Don't allow an Event Timer Match to T3CMP to set TMR3IRQ 31823 * 0b1..Allow an Event Timer Match to T3CMP to set TMR3IRQ 31824 */ 31825 #define ZLL_PHY_CTRL_TMR3CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TMR3CMP_EN_SHIFT)) & ZLL_PHY_CTRL_TMR3CMP_EN_MASK) 31826 #define ZLL_PHY_CTRL_TMR4CMP_EN_MASK (0x800000U) 31827 #define ZLL_PHY_CTRL_TMR4CMP_EN_SHIFT (23U) 31828 /*! TMR4CMP_EN - Timer 4 Compare Enable 31829 * 0b0..Don't allow an Event Timer Match to T4CMP to set TMR4IRQ 31830 * 0b1..Allow an Event Timer Match to T4CMP to set TMR4IRQ 31831 */ 31832 #define ZLL_PHY_CTRL_TMR4CMP_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TMR4CMP_EN_SHIFT)) & ZLL_PHY_CTRL_TMR4CMP_EN_MASK) 31833 #define ZLL_PHY_CTRL_TC2PRIME_EN_MASK (0x1000000U) 31834 #define ZLL_PHY_CTRL_TC2PRIME_EN_SHIFT (24U) 31835 /*! TC2PRIME_EN - Timer 2 Prime Compare Enable 31836 * 0b0..Don't allow a match of the lower 16 bits of Event Timer to T2PRIMECMP to set TMR2IRQ 31837 * 0b1..Allow a match of the lower 16 bits of Event Timer to T2PRIMECMP to set TMR2IRQ 31838 */ 31839 #define ZLL_PHY_CTRL_TC2PRIME_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TC2PRIME_EN_SHIFT)) & ZLL_PHY_CTRL_TC2PRIME_EN_MASK) 31840 #define ZLL_PHY_CTRL_PROMISCUOUS_MASK (0x2000000U) 31841 #define ZLL_PHY_CTRL_PROMISCUOUS_SHIFT (25U) 31842 /*! PROMISCUOUS - Promiscuous Mode Enable 31843 * 0b0..normal mode 31844 * 0b1..all packet filtering except frame length checking (FrameLength>=5 and FrameLength<=127) is bypassed. 31845 */ 31846 #define ZLL_PHY_CTRL_PROMISCUOUS(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_PROMISCUOUS_SHIFT)) & ZLL_PHY_CTRL_PROMISCUOUS_MASK) 31847 #define ZLL_PHY_CTRL_TC3_POSTPONE_ON_SFD_MASK (0x4000000U) 31848 #define ZLL_PHY_CTRL_TC3_POSTPONE_ON_SFD_SHIFT (26U) 31849 /*! TC3_POSTPONE_ON_SFD - Postpone TC3 Timeout On SFD Enable 31850 * 0b0..TC3 Abort will occur on TMR3 timeout, regardless of rx_sfd_detect 31851 * 0b1..TC3 Abort will be deferred on TMR3 timeout if rx_sfd_detect is asserted; otherwise the TC3 Abort will occur immediately 31852 */ 31853 #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) 31854 #define ZLL_PHY_CTRL_CCATYPE_MASK (0x18000000U) 31855 #define ZLL_PHY_CTRL_CCATYPE_SHIFT (27U) 31856 /*! CCATYPE - Clear Channel Assessment Type 31857 * 0b00..ENERGY DETECT 31858 * 0b01..CCA MODE 1 31859 * 0b10..CCA MODE 2 31860 * 0b11..CCA MODE 3 31861 */ 31862 #define ZLL_PHY_CTRL_CCATYPE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_CCATYPE_SHIFT)) & ZLL_PHY_CTRL_CCATYPE_MASK) 31863 #define ZLL_PHY_CTRL_PANCORDNTR0_MASK (0x20000000U) 31864 #define ZLL_PHY_CTRL_PANCORDNTR0_SHIFT (29U) 31865 #define ZLL_PHY_CTRL_PANCORDNTR0(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_PANCORDNTR0_SHIFT)) & ZLL_PHY_CTRL_PANCORDNTR0_MASK) 31866 #define ZLL_PHY_CTRL_TC3TMOUT_MASK (0x40000000U) 31867 #define ZLL_PHY_CTRL_TC3TMOUT_SHIFT (30U) 31868 /*! TC3TMOUT - TMR3 Timeout Enable 31869 * 0b0..TMR3 is a software timer only 31870 * 0b1..Enable TMR3 to abort Rx or CCCA operations. 31871 */ 31872 #define ZLL_PHY_CTRL_TC3TMOUT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TC3TMOUT_SHIFT)) & ZLL_PHY_CTRL_TC3TMOUT_MASK) 31873 #define ZLL_PHY_CTRL_TRCV_MSK_MASK (0x80000000U) 31874 #define ZLL_PHY_CTRL_TRCV_MSK_SHIFT (31U) 31875 /*! TRCV_MSK - Transceiver Global Interrupt Mask 31876 * 0b0..Enable any unmasked interrupt source to assert zigbee interrupt 31877 * 0b1..Mask all interrupt sources from asserting zigbee interrupt 31878 */ 31879 #define ZLL_PHY_CTRL_TRCV_MSK(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PHY_CTRL_TRCV_MSK_SHIFT)) & ZLL_PHY_CTRL_TRCV_MSK_MASK) 31880 /*! @} */ 31881 31882 /*! @name EVENT_TMR - EVENT TIMER */ 31883 /*! @{ */ 31884 #define ZLL_EVENT_TMR_EVENT_TMR_LD_MASK (0x1U) 31885 #define ZLL_EVENT_TMR_EVENT_TMR_LD_SHIFT (0U) 31886 #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) 31887 #define ZLL_EVENT_TMR_EVENT_TMR_ADD_MASK (0x2U) 31888 #define ZLL_EVENT_TMR_EVENT_TMR_ADD_SHIFT (1U) 31889 #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) 31890 #define ZLL_EVENT_TMR_EVENT_TMR_FRAC_MASK (0xF0U) 31891 #define ZLL_EVENT_TMR_EVENT_TMR_FRAC_SHIFT (4U) 31892 #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) 31893 #define ZLL_EVENT_TMR_EVENT_TMR_MASK (0xFFFFFF00U) 31894 #define ZLL_EVENT_TMR_EVENT_TMR_SHIFT (8U) 31895 #define ZLL_EVENT_TMR_EVENT_TMR(x) (((uint32_t)(((uint32_t)(x)) << ZLL_EVENT_TMR_EVENT_TMR_SHIFT)) & ZLL_EVENT_TMR_EVENT_TMR_MASK) 31896 /*! @} */ 31897 31898 /*! @name TIMESTAMP - TIMESTAMP */ 31899 /*! @{ */ 31900 #define ZLL_TIMESTAMP_TIMESTAMP_FRAC_MASK (0xF0U) 31901 #define ZLL_TIMESTAMP_TIMESTAMP_FRAC_SHIFT (4U) 31902 #define ZLL_TIMESTAMP_TIMESTAMP_FRAC(x) (((uint32_t)(((uint32_t)(x)) << ZLL_TIMESTAMP_TIMESTAMP_FRAC_SHIFT)) & ZLL_TIMESTAMP_TIMESTAMP_FRAC_MASK) 31903 #define ZLL_TIMESTAMP_TIMESTAMP_MASK (0xFFFFFF00U) 31904 #define ZLL_TIMESTAMP_TIMESTAMP_SHIFT (8U) 31905 #define ZLL_TIMESTAMP_TIMESTAMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_TIMESTAMP_TIMESTAMP_SHIFT)) & ZLL_TIMESTAMP_TIMESTAMP_MASK) 31906 /*! @} */ 31907 31908 /*! @name T1CMP - T1 COMPARE */ 31909 /*! @{ */ 31910 #define ZLL_T1CMP_T1CMP_MASK (0xFFFFFFU) 31911 #define ZLL_T1CMP_T1CMP_SHIFT (0U) 31912 #define ZLL_T1CMP_T1CMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_T1CMP_T1CMP_SHIFT)) & ZLL_T1CMP_T1CMP_MASK) 31913 /*! @} */ 31914 31915 /*! @name T2CMP - T2 COMPARE */ 31916 /*! @{ */ 31917 #define ZLL_T2CMP_T2CMP_MASK (0xFFFFFFU) 31918 #define ZLL_T2CMP_T2CMP_SHIFT (0U) 31919 #define ZLL_T2CMP_T2CMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_T2CMP_T2CMP_SHIFT)) & ZLL_T2CMP_T2CMP_MASK) 31920 /*! @} */ 31921 31922 /*! @name T2PRIMECMP - T2 PRIME COMPARE */ 31923 /*! @{ */ 31924 #define ZLL_T2PRIMECMP_T2PRIMECMP_MASK (0xFFFFU) 31925 #define ZLL_T2PRIMECMP_T2PRIMECMP_SHIFT (0U) 31926 #define ZLL_T2PRIMECMP_T2PRIMECMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_T2PRIMECMP_T2PRIMECMP_SHIFT)) & ZLL_T2PRIMECMP_T2PRIMECMP_MASK) 31927 /*! @} */ 31928 31929 /*! @name T3CMP - T3 COMPARE */ 31930 /*! @{ */ 31931 #define ZLL_T3CMP_T3CMP_MASK (0xFFFFFFU) 31932 #define ZLL_T3CMP_T3CMP_SHIFT (0U) 31933 #define ZLL_T3CMP_T3CMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_T3CMP_T3CMP_SHIFT)) & ZLL_T3CMP_T3CMP_MASK) 31934 /*! @} */ 31935 31936 /*! @name T4CMP - T4 COMPARE */ 31937 /*! @{ */ 31938 #define ZLL_T4CMP_T4CMP_MASK (0xFFFFFFU) 31939 #define ZLL_T4CMP_T4CMP_SHIFT (0U) 31940 #define ZLL_T4CMP_T4CMP(x) (((uint32_t)(((uint32_t)(x)) << ZLL_T4CMP_T4CMP_SHIFT)) & ZLL_T4CMP_T4CMP_MASK) 31941 /*! @} */ 31942 31943 /*! @name PA_PWR - PA POWER */ 31944 /*! @{ */ 31945 #define ZLL_PA_PWR_PA_PWR_MASK (0x3FU) 31946 #define ZLL_PA_PWR_PA_PWR_SHIFT (0U) 31947 #define ZLL_PA_PWR_PA_PWR(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PA_PWR_PA_PWR_SHIFT)) & ZLL_PA_PWR_PA_PWR_MASK) 31948 /*! @} */ 31949 31950 /*! @name CHANNEL_NUM0 - CHANNEL NUMBER 0 */ 31951 /*! @{ */ 31952 #define ZLL_CHANNEL_NUM0_CHANNEL_NUM0_MASK (0x7FU) 31953 #define ZLL_CHANNEL_NUM0_CHANNEL_NUM0_SHIFT (0U) 31954 #define ZLL_CHANNEL_NUM0_CHANNEL_NUM0(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CHANNEL_NUM0_CHANNEL_NUM0_SHIFT)) & ZLL_CHANNEL_NUM0_CHANNEL_NUM0_MASK) 31955 /*! @} */ 31956 31957 /*! @name LQI_AND_RSSI - LQI AND RSSI */ 31958 /*! @{ */ 31959 #define ZLL_LQI_AND_RSSI_LQI_VALUE_MASK (0xFFU) 31960 #define ZLL_LQI_AND_RSSI_LQI_VALUE_SHIFT (0U) 31961 #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) 31962 #define ZLL_LQI_AND_RSSI_RSSI_MASK (0xFF00U) 31963 #define ZLL_LQI_AND_RSSI_RSSI_SHIFT (8U) 31964 #define ZLL_LQI_AND_RSSI_RSSI(x) (((uint32_t)(((uint32_t)(x)) << ZLL_LQI_AND_RSSI_RSSI_SHIFT)) & ZLL_LQI_AND_RSSI_RSSI_MASK) 31965 #define ZLL_LQI_AND_RSSI_CCA1_ED_FNL_MASK (0xFF0000U) 31966 #define ZLL_LQI_AND_RSSI_CCA1_ED_FNL_SHIFT (16U) 31967 #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) 31968 /*! @} */ 31969 31970 /*! @name MACSHORTADDRS0 - MAC SHORT ADDRESS 0 */ 31971 /*! @{ */ 31972 #define ZLL_MACSHORTADDRS0_MACPANID0_MASK (0xFFFFU) 31973 #define ZLL_MACSHORTADDRS0_MACPANID0_SHIFT (0U) 31974 #define ZLL_MACSHORTADDRS0_MACPANID0(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACSHORTADDRS0_MACPANID0_SHIFT)) & ZLL_MACSHORTADDRS0_MACPANID0_MASK) 31975 #define ZLL_MACSHORTADDRS0_MACSHORTADDRS0_MASK (0xFFFF0000U) 31976 #define ZLL_MACSHORTADDRS0_MACSHORTADDRS0_SHIFT (16U) 31977 #define ZLL_MACSHORTADDRS0_MACSHORTADDRS0(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACSHORTADDRS0_MACSHORTADDRS0_SHIFT)) & ZLL_MACSHORTADDRS0_MACSHORTADDRS0_MASK) 31978 /*! @} */ 31979 31980 /*! @name MACLONGADDRS0_LSB - MAC LONG ADDRESS 0 LSB */ 31981 /*! @{ */ 31982 #define ZLL_MACLONGADDRS0_LSB_MACLONGADDRS0_LSB_MASK (0xFFFFFFFFU) 31983 #define ZLL_MACLONGADDRS0_LSB_MACLONGADDRS0_LSB_SHIFT (0U) 31984 #define ZLL_MACLONGADDRS0_LSB_MACLONGADDRS0_LSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACLONGADDRS0_LSB_MACLONGADDRS0_LSB_SHIFT)) & ZLL_MACLONGADDRS0_LSB_MACLONGADDRS0_LSB_MASK) 31985 /*! @} */ 31986 31987 /*! @name MACLONGADDRS0_MSB - MAC LONG ADDRESS 0 MSB */ 31988 /*! @{ */ 31989 #define ZLL_MACLONGADDRS0_MSB_MACLONGADDRS0_MSB_MASK (0xFFFFFFFFU) 31990 #define ZLL_MACLONGADDRS0_MSB_MACLONGADDRS0_MSB_SHIFT (0U) 31991 #define ZLL_MACLONGADDRS0_MSB_MACLONGADDRS0_MSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACLONGADDRS0_MSB_MACLONGADDRS0_MSB_SHIFT)) & ZLL_MACLONGADDRS0_MSB_MACLONGADDRS0_MSB_MASK) 31992 /*! @} */ 31993 31994 /*! @name RX_FRAME_FILTER - RECEIVE FRAME FILTER */ 31995 /*! @{ */ 31996 #define ZLL_RX_FRAME_FILTER_BEACON_FT_MASK (0x1U) 31997 #define ZLL_RX_FRAME_FILTER_BEACON_FT_SHIFT (0U) 31998 /*! BEACON_FT - Beacon Frame Type Enable 31999 * 0b0..reject all Beacon frames 32000 * 0b1..Beacon frame type enabled. 32001 */ 32002 #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) 32003 #define ZLL_RX_FRAME_FILTER_DATA_FT_MASK (0x2U) 32004 #define ZLL_RX_FRAME_FILTER_DATA_FT_SHIFT (1U) 32005 /*! DATA_FT - Data Frame Type Enable 32006 * 0b0..reject all Beacon frames 32007 * 0b1..Data frame type enabled. 32008 */ 32009 #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) 32010 #define ZLL_RX_FRAME_FILTER_ACK_FT_MASK (0x4U) 32011 #define ZLL_RX_FRAME_FILTER_ACK_FT_SHIFT (2U) 32012 /*! ACK_FT - Ack Frame Type Enable 32013 * 0b0..reject all Acknowledge frames 32014 * 0b1..Acknowledge frame type enabled. 32015 */ 32016 #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) 32017 #define ZLL_RX_FRAME_FILTER_CMD_FT_MASK (0x8U) 32018 #define ZLL_RX_FRAME_FILTER_CMD_FT_SHIFT (3U) 32019 /*! CMD_FT - MAC Command Frame Type Enable 32020 * 0b0..reject all MAC Command frames 32021 * 0b1..MAC Command frame type enabled. 32022 */ 32023 #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) 32024 #define ZLL_RX_FRAME_FILTER_LLDN_FT_MASK (0x10U) 32025 #define ZLL_RX_FRAME_FILTER_LLDN_FT_SHIFT (4U) 32026 /*! LLDN_FT - LLDN Frame Type Enable 32027 * 0b0..reject all LLDN frames 32028 * 0b1..LLDN frame type enabled (Frame Type 4). 32029 */ 32030 #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) 32031 #define ZLL_RX_FRAME_FILTER_MULTIPURPOSE_FT_MASK (0x20U) 32032 #define ZLL_RX_FRAME_FILTER_MULTIPURPOSE_FT_SHIFT (5U) 32033 /*! MULTIPURPOSE_FT - Multipurpose Frame Type Enable 32034 * 0b0..reject all Multipurpose frames 32035 * 0b1..Multipurpose frame type enabled (Frame Type 5). 32036 */ 32037 #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) 32038 #define ZLL_RX_FRAME_FILTER_NS_FT_MASK (0x40U) 32039 #define ZLL_RX_FRAME_FILTER_NS_FT_SHIFT (6U) 32040 /*! NS_FT - "Not Specified" Frame Type Enable 32041 * 0b0..reject all "Not Specified" frames 32042 * 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 32043 */ 32044 #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) 32045 #define ZLL_RX_FRAME_FILTER_EXTENDED_FT_MASK (0x80U) 32046 #define ZLL_RX_FRAME_FILTER_EXTENDED_FT_SHIFT (7U) 32047 /*! EXTENDED_FT - Extended Frame Type Enable 32048 * 0b0..reject all Extended frames 32049 * 0b1..Extended frame type enabled (Frame Type 7). 32050 */ 32051 #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) 32052 #define ZLL_RX_FRAME_FILTER_FRM_VER_FILTER_MASK (0xF00U) 32053 #define ZLL_RX_FRAME_FILTER_FRM_VER_FILTER_SHIFT (8U) 32054 #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) 32055 #define ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_MASK (0x4000U) 32056 #define ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_SHIFT (14U) 32057 /*! ACTIVE_PROMISCUOUS - Active Promiscuous 32058 * 0b0..normal operation 32059 * 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 32060 */ 32061 #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) 32062 #define ZLL_RX_FRAME_FILTER_EXTENDED_FCS_CHK_MASK (0x8000U) 32063 #define ZLL_RX_FRAME_FILTER_EXTENDED_FCS_CHK_SHIFT (15U) 32064 /*! EXTENDED_FCS_CHK - Verify FCS on Frame Type Extended 32065 * 0b0..Packet Processor will not check FCS for Frame Type EXTENDED (default) 32066 * 0b1..Packet Processor will check FCS at end-of-packet based on packet length derived from PHR, for Frame Type EXTENDED 32067 */ 32068 #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) 32069 #define ZLL_RX_FRAME_FILTER_FV2_BEACON_RECD_MASK (0x10000U) 32070 #define ZLL_RX_FRAME_FILTER_FV2_BEACON_RECD_SHIFT (16U) 32071 /*! FV2_BEACON_RECD - Frame Version 2 Beacon Packet Received 32072 * 0b0..The last packet received was not Frame Type Beacon with Frame Version 2 32073 * 0b1..The last packet received was Frame Type Beacon with Frame Version 2, and FRM_VER_FILTER[2]=1 to allow such packets 32074 */ 32075 #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) 32076 #define ZLL_RX_FRAME_FILTER_FV2_DATA_RECD_MASK (0x20000U) 32077 #define ZLL_RX_FRAME_FILTER_FV2_DATA_RECD_SHIFT (17U) 32078 /*! FV2_DATA_RECD - Frame Version 2 Data Packet Received 32079 * 0b0..The last packet received was not Frame Type Data with Frame Version 2 32080 * 0b1..The last packet received was Frame Type Data with Frame Version 2, and FRM_VER_FILTER[2]=1 to allow such packets 32081 */ 32082 #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) 32083 #define ZLL_RX_FRAME_FILTER_FV2_ACK_RECD_MASK (0x40000U) 32084 #define ZLL_RX_FRAME_FILTER_FV2_ACK_RECD_SHIFT (18U) 32085 /*! FV2_ACK_RECD - Frame Version 2 Acknowledge Packet Received 32086 * 0b0..The last packet received was not Frame Type Ack with Frame Version 2 32087 * 0b1..The last packet received was Frame Type Ack with Frame Version 2, and FRM_VER_FILTER[2]=1 to allow such packets 32088 */ 32089 #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) 32090 #define ZLL_RX_FRAME_FILTER_FV2_CMD_RECD_MASK (0x80000U) 32091 #define ZLL_RX_FRAME_FILTER_FV2_CMD_RECD_SHIFT (19U) 32092 /*! FV2_CMD_RECD - Frame Version 2 MAC Command Packet Received 32093 * 0b0..The last packet received was not Frame Type MAC Command with Frame Version 2 32094 * 0b1..The last packet received was Frame Type MAC Command with Frame Version 2, and FRM_VER_FILTER[2]=1 to allow such packets 32095 */ 32096 #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) 32097 #define ZLL_RX_FRAME_FILTER_LLDN_RECD_MASK (0x100000U) 32098 #define ZLL_RX_FRAME_FILTER_LLDN_RECD_SHIFT (20U) 32099 /*! LLDN_RECD - LLDN Packet Received 32100 * 0b0..The last packet received was not Frame Type LLDN 32101 * 0b1..The last packet received was Frame Type LLDN, and LLDN_FT=1 to allow such packets. 32102 */ 32103 #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) 32104 #define ZLL_RX_FRAME_FILTER_MULTIPURPOSE_RECD_MASK (0x200000U) 32105 #define ZLL_RX_FRAME_FILTER_MULTIPURPOSE_RECD_SHIFT (21U) 32106 /*! MULTIPURPOSE_RECD - Multipurpose Packet Received 32107 * 0b0..last packet received was not Frame Type MULTIPURPOSE 32108 * 0b1..The last packet received was Frame Type MULTIPURPOSE, and MULTIPURPOSE_FT=1 to allow such packets. 32109 */ 32110 #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) 32111 #define ZLL_RX_FRAME_FILTER_EXTENDED_RECD_MASK (0x800000U) 32112 #define ZLL_RX_FRAME_FILTER_EXTENDED_RECD_SHIFT (23U) 32113 /*! EXTENDED_RECD - Extended Packet Received 32114 * 0b0..The last packet received was not Frame Type EXTENDED 32115 * 0b1..The last packet received was Frame Type EXTENDED, and EXTENDED_FT=1 to allow such packets. 32116 */ 32117 #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) 32118 /*! @} */ 32119 32120 /*! @name CCA_LQI_CTRL - CCA AND LQI CONTROL */ 32121 /*! @{ */ 32122 #define ZLL_CCA_LQI_CTRL_CCA1_THRESH_MASK (0xFFU) 32123 #define ZLL_CCA_LQI_CTRL_CCA1_THRESH_SHIFT (0U) 32124 #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) 32125 #define ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_MASK (0xFF0000U) 32126 #define ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_SHIFT (16U) 32127 #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) 32128 #define ZLL_CCA_LQI_CTRL_SIMUL_CCA_RX_MASK (0x1000000U) 32129 #define ZLL_CCA_LQI_CTRL_SIMUL_CCA_RX_SHIFT (24U) 32130 /*! SIMUL_CCA_RX - Simultaneous CCA and Receive Enable 32131 * 0b0..Packets can't be received during CCA measurement 32132 * 0b1..Packet reception is enabled during CCA measurement if preamble and SFD are detected 32133 */ 32134 #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) 32135 #define ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_MASK (0x8000000U) 32136 #define ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_SHIFT (27U) 32137 /*! CCA3_AND_NOT_OR - CCA Mode 3 AND not OR 32138 * 0b0..CCA1 or CCA2 32139 * 0b1..CCA1 and CCA2 32140 */ 32141 #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) 32142 /*! @} */ 32143 32144 /*! @name CCA2_CTRL - CCA2 CONTROL */ 32145 /*! @{ */ 32146 #define ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS_MASK (0xFU) 32147 #define ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS_SHIFT (0U) 32148 #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) 32149 #define ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_MASK (0x70U) 32150 #define ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_SHIFT (4U) 32151 #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) 32152 #define ZLL_CCA2_CTRL_CCA2_CORR_THRESH_MASK (0xFF00U) 32153 #define ZLL_CCA2_CTRL_CCA2_CORR_THRESH_SHIFT (8U) 32154 #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) 32155 /*! @} */ 32156 32157 /*! @name DSM_CTRL - DSM CONTROL */ 32158 /*! @{ */ 32159 #define ZLL_DSM_CTRL_ZIGBEE_SLEEP_REQUEST_MASK (0x1U) 32160 #define ZLL_DSM_CTRL_ZIGBEE_SLEEP_REQUEST_SHIFT (0U) 32161 #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) 32162 /*! @} */ 32163 32164 /*! @name BSM_CTRL - BSM CONTROL */ 32165 /*! @{ */ 32166 #define ZLL_BSM_CTRL_BSM_EN_MASK (0x1U) 32167 #define ZLL_BSM_CTRL_BSM_EN_SHIFT (0U) 32168 /*! BSM_EN - BSM Enable 32169 * 0b0..802.15.4 Bit Streaming Mode Disabled 32170 * 0b1..802.15.4 Bit Streaming Mode Enabled 32171 */ 32172 #define ZLL_BSM_CTRL_BSM_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_BSM_CTRL_BSM_EN_SHIFT)) & ZLL_BSM_CTRL_BSM_EN_MASK) 32173 /*! @} */ 32174 32175 /*! @name MACSHORTADDRS1 - MAC SHORT ADDRESS FOR PAN1 */ 32176 /*! @{ */ 32177 #define ZLL_MACSHORTADDRS1_MACPANID1_MASK (0xFFFFU) 32178 #define ZLL_MACSHORTADDRS1_MACPANID1_SHIFT (0U) 32179 #define ZLL_MACSHORTADDRS1_MACPANID1(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACSHORTADDRS1_MACPANID1_SHIFT)) & ZLL_MACSHORTADDRS1_MACPANID1_MASK) 32180 #define ZLL_MACSHORTADDRS1_MACSHORTADDRS1_MASK (0xFFFF0000U) 32181 #define ZLL_MACSHORTADDRS1_MACSHORTADDRS1_SHIFT (16U) 32182 #define ZLL_MACSHORTADDRS1_MACSHORTADDRS1(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACSHORTADDRS1_MACSHORTADDRS1_SHIFT)) & ZLL_MACSHORTADDRS1_MACSHORTADDRS1_MASK) 32183 /*! @} */ 32184 32185 /*! @name MACLONGADDRS1_LSB - MAC LONG ADDRESS 1 LSB */ 32186 /*! @{ */ 32187 #define ZLL_MACLONGADDRS1_LSB_MACLONGADDRS1_LSB_MASK (0xFFFFFFFFU) 32188 #define ZLL_MACLONGADDRS1_LSB_MACLONGADDRS1_LSB_SHIFT (0U) 32189 #define ZLL_MACLONGADDRS1_LSB_MACLONGADDRS1_LSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACLONGADDRS1_LSB_MACLONGADDRS1_LSB_SHIFT)) & ZLL_MACLONGADDRS1_LSB_MACLONGADDRS1_LSB_MASK) 32190 /*! @} */ 32191 32192 /*! @name MACLONGADDRS1_MSB - MAC LONG ADDRESS 1 MSB */ 32193 /*! @{ */ 32194 #define ZLL_MACLONGADDRS1_MSB_MACLONGADDRS1_MSB_MASK (0xFFFFFFFFU) 32195 #define ZLL_MACLONGADDRS1_MSB_MACLONGADDRS1_MSB_SHIFT (0U) 32196 #define ZLL_MACLONGADDRS1_MSB_MACLONGADDRS1_MSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_MACLONGADDRS1_MSB_MACLONGADDRS1_MSB_SHIFT)) & ZLL_MACLONGADDRS1_MSB_MACLONGADDRS1_MSB_MASK) 32197 /*! @} */ 32198 32199 /*! @name DUAL_PAN_CTRL - DUAL PAN CONTROL */ 32200 /*! @{ */ 32201 #define ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_MASK (0x1U) 32202 #define ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_SHIFT (0U) 32203 /*! ACTIVE_NETWORK - Active Network Selector 32204 * 0b0..Select PAN0 32205 * 0b1..Select PAN1 32206 */ 32207 #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) 32208 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_MASK (0x2U) 32209 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_SHIFT (1U) 32210 #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) 32211 #define ZLL_DUAL_PAN_CTRL_PANCORDNTR1_MASK (0x4U) 32212 #define ZLL_DUAL_PAN_CTRL_PANCORDNTR1_SHIFT (2U) 32213 #define ZLL_DUAL_PAN_CTRL_PANCORDNTR1(x) (((uint32_t)(((uint32_t)(x)) << ZLL_DUAL_PAN_CTRL_PANCORDNTR1_SHIFT)) & ZLL_DUAL_PAN_CTRL_PANCORDNTR1_MASK) 32214 #define ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK_MASK (0x8U) 32215 #define ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK_SHIFT (3U) 32216 /*! CURRENT_NETWORK - Indicates which PAN is currently selected by hardware 32217 * 0b0..PAN0 is selected 32218 * 0b1..PAN1 is selected 32219 */ 32220 #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) 32221 #define ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_MASK (0x10U) 32222 #define ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_SHIFT (4U) 32223 #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) 32224 #define ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_MASK (0x20U) 32225 #define ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_SHIFT (5U) 32226 #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) 32227 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_MASK (0xFF00U) 32228 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_SHIFT (8U) 32229 #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) 32230 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN_MASK (0x3F0000U) 32231 #define ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN_SHIFT (16U) 32232 #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) 32233 #define ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0_MASK (0x400000U) 32234 #define ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0_SHIFT (22U) 32235 #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) 32236 #define ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1_MASK (0x800000U) 32237 #define ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1_SHIFT (23U) 32238 #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) 32239 /*! @} */ 32240 32241 /*! @name CHANNEL_NUM1 - CHANNEL NUMBER 1 */ 32242 /*! @{ */ 32243 #define ZLL_CHANNEL_NUM1_CHANNEL_NUM1_MASK (0x7FU) 32244 #define ZLL_CHANNEL_NUM1_CHANNEL_NUM1_SHIFT (0U) 32245 #define ZLL_CHANNEL_NUM1_CHANNEL_NUM1(x) (((uint32_t)(((uint32_t)(x)) << ZLL_CHANNEL_NUM1_CHANNEL_NUM1_SHIFT)) & ZLL_CHANNEL_NUM1_CHANNEL_NUM1_MASK) 32246 /*! @} */ 32247 32248 /*! @name SAM_CTRL - SAM CONTROL */ 32249 /*! @{ */ 32250 #define ZLL_SAM_CTRL_SAP0_EN_MASK (0x1U) 32251 #define ZLL_SAM_CTRL_SAP0_EN_SHIFT (0U) 32252 /*! SAP0_EN - Enables SAP0 Partition of the SAM Table 32253 * 0b0..Disables SAP0 Partition 32254 * 0b1..Enables SAP0 Partition 32255 */ 32256 #define ZLL_SAM_CTRL_SAP0_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAP0_EN_SHIFT)) & ZLL_SAM_CTRL_SAP0_EN_MASK) 32257 #define ZLL_SAM_CTRL_SAA0_EN_MASK (0x2U) 32258 #define ZLL_SAM_CTRL_SAA0_EN_SHIFT (1U) 32259 /*! SAA0_EN - Enables SAA0 Partition of the SAM Table 32260 * 0b0..Disables SAA0 Partition 32261 * 0b1..Enables SAA0 Partition 32262 */ 32263 #define ZLL_SAM_CTRL_SAA0_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAA0_EN_SHIFT)) & ZLL_SAM_CTRL_SAA0_EN_MASK) 32264 #define ZLL_SAM_CTRL_SAP1_EN_MASK (0x4U) 32265 #define ZLL_SAM_CTRL_SAP1_EN_SHIFT (2U) 32266 /*! SAP1_EN - Enables SAP1 Partition of the SAM Table 32267 * 0b0..Disables SAP1 Partition 32268 * 0b1..Enables SAP1 Partition 32269 */ 32270 #define ZLL_SAM_CTRL_SAP1_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAP1_EN_SHIFT)) & ZLL_SAM_CTRL_SAP1_EN_MASK) 32271 #define ZLL_SAM_CTRL_SAA1_EN_MASK (0x8U) 32272 #define ZLL_SAM_CTRL_SAA1_EN_SHIFT (3U) 32273 /*! SAA1_EN - Enables SAA1 Partition of the SAM Table 32274 * 0b0..Disables SAA1 Partition 32275 * 0b1..Enables SAA1 Partition 32276 */ 32277 #define ZLL_SAM_CTRL_SAA1_EN(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAA1_EN_SHIFT)) & ZLL_SAM_CTRL_SAA1_EN_MASK) 32278 #define ZLL_SAM_CTRL_SAA0_START_MASK (0xFF00U) 32279 #define ZLL_SAM_CTRL_SAA0_START_SHIFT (8U) 32280 #define ZLL_SAM_CTRL_SAA0_START(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAA0_START_SHIFT)) & ZLL_SAM_CTRL_SAA0_START_MASK) 32281 #define ZLL_SAM_CTRL_SAP1_START_MASK (0xFF0000U) 32282 #define ZLL_SAM_CTRL_SAP1_START_SHIFT (16U) 32283 #define ZLL_SAM_CTRL_SAP1_START(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAP1_START_SHIFT)) & ZLL_SAM_CTRL_SAP1_START_MASK) 32284 #define ZLL_SAM_CTRL_SAA1_START_MASK (0xFF000000U) 32285 #define ZLL_SAM_CTRL_SAA1_START_SHIFT (24U) 32286 #define ZLL_SAM_CTRL_SAA1_START(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_CTRL_SAA1_START_SHIFT)) & ZLL_SAM_CTRL_SAA1_START_MASK) 32287 /*! @} */ 32288 32289 /*! @name SAM_TABLE - SOURCE ADDRESS MANAGEMENT TABLE */ 32290 /*! @{ */ 32291 #define ZLL_SAM_TABLE_SAM_INDEX_MASK (0x7FU) 32292 #define ZLL_SAM_TABLE_SAM_INDEX_SHIFT (0U) 32293 #define ZLL_SAM_TABLE_SAM_INDEX(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_SAM_INDEX_SHIFT)) & ZLL_SAM_TABLE_SAM_INDEX_MASK) 32294 #define ZLL_SAM_TABLE_SAM_INDEX_WR_MASK (0x80U) 32295 #define ZLL_SAM_TABLE_SAM_INDEX_WR_SHIFT (7U) 32296 #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) 32297 #define ZLL_SAM_TABLE_SAM_CHECKSUM_MASK (0xFFFF00U) 32298 #define ZLL_SAM_TABLE_SAM_CHECKSUM_SHIFT (8U) 32299 #define ZLL_SAM_TABLE_SAM_CHECKSUM(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_SAM_CHECKSUM_SHIFT)) & ZLL_SAM_TABLE_SAM_CHECKSUM_MASK) 32300 #define ZLL_SAM_TABLE_SAM_INDEX_INV_MASK (0x1000000U) 32301 #define ZLL_SAM_TABLE_SAM_INDEX_INV_SHIFT (24U) 32302 #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) 32303 #define ZLL_SAM_TABLE_SAM_INDEX_EN_MASK (0x2000000U) 32304 #define ZLL_SAM_TABLE_SAM_INDEX_EN_SHIFT (25U) 32305 #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) 32306 #define ZLL_SAM_TABLE_ACK_FRM_PND_MASK (0x4000000U) 32307 #define ZLL_SAM_TABLE_ACK_FRM_PND_SHIFT (26U) 32308 #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) 32309 #define ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_MASK (0x8000000U) 32310 #define ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_SHIFT (27U) 32311 /*! ACK_FRM_PND_CTRL - Manual Control for AutoTxAck FramePending field 32312 * 0b0..the FramePending field of the Frame Control Field of the next automatic TX acknowledge packet is determined by hardware 32313 * 0b1..the FramePending field of the Frame Control Field of the next automatic TX acknowledge packet tracks ACK_FRM_PEND 32314 */ 32315 #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) 32316 #define ZLL_SAM_TABLE_FIND_FREE_IDX_MASK (0x10000000U) 32317 #define ZLL_SAM_TABLE_FIND_FREE_IDX_SHIFT (28U) 32318 #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) 32319 #define ZLL_SAM_TABLE_INVALIDATE_ALL_MASK (0x20000000U) 32320 #define ZLL_SAM_TABLE_INVALIDATE_ALL_SHIFT (29U) 32321 #define ZLL_SAM_TABLE_INVALIDATE_ALL(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_INVALIDATE_ALL_SHIFT)) & ZLL_SAM_TABLE_INVALIDATE_ALL_MASK) 32322 #define ZLL_SAM_TABLE_SAM_BUSY_MASK (0x80000000U) 32323 #define ZLL_SAM_TABLE_SAM_BUSY_SHIFT (31U) 32324 #define ZLL_SAM_TABLE_SAM_BUSY(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_TABLE_SAM_BUSY_SHIFT)) & ZLL_SAM_TABLE_SAM_BUSY_MASK) 32325 /*! @} */ 32326 32327 /*! @name SAM_MATCH - SOURCE ADDRESS MANAGEMENT MATCH */ 32328 /*! @{ */ 32329 #define ZLL_SAM_MATCH_SAP0_MATCH_MASK (0x7FU) 32330 #define ZLL_SAM_MATCH_SAP0_MATCH_SHIFT (0U) 32331 #define ZLL_SAM_MATCH_SAP0_MATCH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAP0_MATCH_SHIFT)) & ZLL_SAM_MATCH_SAP0_MATCH_MASK) 32332 #define ZLL_SAM_MATCH_SAP0_ADDR_PRESENT_MASK (0x80U) 32333 #define ZLL_SAM_MATCH_SAP0_ADDR_PRESENT_SHIFT (7U) 32334 #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) 32335 #define ZLL_SAM_MATCH_SAA0_MATCH_MASK (0x7F00U) 32336 #define ZLL_SAM_MATCH_SAA0_MATCH_SHIFT (8U) 32337 #define ZLL_SAM_MATCH_SAA0_MATCH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAA0_MATCH_SHIFT)) & ZLL_SAM_MATCH_SAA0_MATCH_MASK) 32338 #define ZLL_SAM_MATCH_SAA0_ADDR_ABSENT_MASK (0x8000U) 32339 #define ZLL_SAM_MATCH_SAA0_ADDR_ABSENT_SHIFT (15U) 32340 #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) 32341 #define ZLL_SAM_MATCH_SAP1_MATCH_MASK (0x7F0000U) 32342 #define ZLL_SAM_MATCH_SAP1_MATCH_SHIFT (16U) 32343 #define ZLL_SAM_MATCH_SAP1_MATCH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAP1_MATCH_SHIFT)) & ZLL_SAM_MATCH_SAP1_MATCH_MASK) 32344 #define ZLL_SAM_MATCH_SAP1_ADDR_PRESENT_MASK (0x800000U) 32345 #define ZLL_SAM_MATCH_SAP1_ADDR_PRESENT_SHIFT (23U) 32346 #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) 32347 #define ZLL_SAM_MATCH_SAA1_MATCH_MASK (0x7F000000U) 32348 #define ZLL_SAM_MATCH_SAA1_MATCH_SHIFT (24U) 32349 #define ZLL_SAM_MATCH_SAA1_MATCH(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SAM_MATCH_SAA1_MATCH_SHIFT)) & ZLL_SAM_MATCH_SAA1_MATCH_MASK) 32350 #define ZLL_SAM_MATCH_SAA1_ADDR_ABSENT_MASK (0x80000000U) 32351 #define ZLL_SAM_MATCH_SAA1_ADDR_ABSENT_SHIFT (31U) 32352 #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) 32353 /*! @} */ 32354 32355 /*! @name SAM_FREE_IDX - SAM FREE INDEX */ 32356 /*! @{ */ 32357 #define ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX_MASK (0xFFU) 32358 #define ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX_SHIFT (0U) 32359 #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) 32360 #define ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX_MASK (0xFF00U) 32361 #define ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX_SHIFT (8U) 32362 #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) 32363 #define ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX_MASK (0xFF0000U) 32364 #define ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX_SHIFT (16U) 32365 #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) 32366 #define ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX_MASK (0xFF000000U) 32367 #define ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX_SHIFT (24U) 32368 #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) 32369 /*! @} */ 32370 32371 /*! @name SEQ_CTRL_STS - SEQUENCE CONTROL AND STATUS */ 32372 /*! @{ */ 32373 #define ZLL_SEQ_CTRL_STS_FORCE_CLK_ON_MASK (0x2U) 32374 #define ZLL_SEQ_CTRL_STS_FORCE_CLK_ON_SHIFT (1U) 32375 /*! FORCE_CLK_ON - Force On 802.15.4 phy_gck 32376 * 0b0..Allow TSM to control 802.15.4 phy_gck, for minimum power consumption (default) 32377 * 0b1..Force on 802.15.4 phy_gclk at all times, for debug purposes only 32378 */ 32379 #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) 32380 #define ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_MASK (0x4U) 32381 #define ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_SHIFT (2U) 32382 #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) 32383 #define ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_MASK (0x8U) 32384 #define ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_SHIFT (3U) 32385 #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) 32386 #define ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_MASK (0x10U) 32387 #define ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_SHIFT (4U) 32388 /*! LATCH_PREAMBLE - Stickiness Control for Preamble Detection 32389 * 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 32390 * 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 32391 */ 32392 #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) 32393 #define ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_MASK (0x20U) 32394 #define ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_SHIFT (5U) 32395 #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) 32396 #define ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_MASK (0x40U) 32397 #define ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_SHIFT (6U) 32398 /*! FORCE_CRC_ERROR - Induce a CRC Error in Transmitted Packets 32399 * 0b0..normal operation 32400 * 0b1..Force the next transmitted packet to have a CRC error 32401 */ 32402 #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) 32403 #define ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_MASK (0x80U) 32404 #define ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_SHIFT (7U) 32405 /*! CONTINUOUS_EN - Enable Continuous TX or RX Mode 32406 * 0b0..normal operation 32407 * 0b1..Continuous TX or RX mode is enabled (depending on XCVSEQ setting). 32408 */ 32409 #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) 32410 #define ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL_MASK (0x700U) 32411 #define ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL_SHIFT (8U) 32412 #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) 32413 #define ZLL_SEQ_CTRL_STS_SEQ_IDLE_MASK (0x800U) 32414 #define ZLL_SEQ_CTRL_STS_SEQ_IDLE_SHIFT (11U) 32415 #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) 32416 #define ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT_MASK (0x1000U) 32417 #define ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT_SHIFT (12U) 32418 #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) 32419 #define ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING_MASK (0x2000U) 32420 #define ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING_SHIFT (13U) 32421 #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) 32422 #define ZLL_SEQ_CTRL_STS_RX_MODE_MASK (0x4000U) 32423 #define ZLL_SEQ_CTRL_STS_RX_MODE_SHIFT (14U) 32424 #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) 32425 #define ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED_MASK (0x8000U) 32426 #define ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED_SHIFT (15U) 32427 #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) 32428 #define ZLL_SEQ_CTRL_STS_SEQ_T_STATUS_MASK (0x3F0000U) 32429 #define ZLL_SEQ_CTRL_STS_SEQ_T_STATUS_SHIFT (16U) 32430 #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) 32431 #define ZLL_SEQ_CTRL_STS_SW_ABORTED_MASK (0x1000000U) 32432 #define ZLL_SEQ_CTRL_STS_SW_ABORTED_SHIFT (24U) 32433 #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) 32434 #define ZLL_SEQ_CTRL_STS_TC3_ABORTED_MASK (0x2000000U) 32435 #define ZLL_SEQ_CTRL_STS_TC3_ABORTED_SHIFT (25U) 32436 #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) 32437 #define ZLL_SEQ_CTRL_STS_PLL_ABORTED_MASK (0x4000000U) 32438 #define ZLL_SEQ_CTRL_STS_PLL_ABORTED_SHIFT (26U) 32439 #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) 32440 #define ZLL_SEQ_CTRL_STS_EXT_ABORTED_MASK (0x8000000U) 32441 #define ZLL_SEQ_CTRL_STS_EXT_ABORTED_SHIFT (27U) 32442 #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) 32443 /*! @} */ 32444 32445 /*! @name ACKDELAY - ACK DELAY */ 32446 /*! @{ */ 32447 #define ZLL_ACKDELAY_ACKDELAY_MASK (0x3FU) 32448 #define ZLL_ACKDELAY_ACKDELAY_SHIFT (0U) 32449 #define ZLL_ACKDELAY_ACKDELAY(x) (((uint32_t)(((uint32_t)(x)) << ZLL_ACKDELAY_ACKDELAY_SHIFT)) & ZLL_ACKDELAY_ACKDELAY_MASK) 32450 #define ZLL_ACKDELAY_TXDELAY_MASK (0x3F00U) 32451 #define ZLL_ACKDELAY_TXDELAY_SHIFT (8U) 32452 #define ZLL_ACKDELAY_TXDELAY(x) (((uint32_t)(((uint32_t)(x)) << ZLL_ACKDELAY_TXDELAY_SHIFT)) & ZLL_ACKDELAY_TXDELAY_MASK) 32453 /*! @} */ 32454 32455 /*! @name FILTERFAIL_CODE - FILTER FAIL CODE */ 32456 /*! @{ */ 32457 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_MASK (0x3FFU) 32458 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_SHIFT (0U) 32459 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_SHIFT)) & ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_MASK) 32460 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_MASK (0x8000U) 32461 #define ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_SHIFT (15U) 32462 /*! FILTERFAIL_PAN_SEL - PAN Selector for Filter Fail Code 32463 * 0b0..FILTERFAIL_CODE[9:0] will report the FILTERFAIL status of PAN0 32464 * 0b1..FILTERFAIL_CODE[9:0] will report the FILTERFAIL status of PAN1 32465 */ 32466 #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) 32467 /*! @} */ 32468 32469 /*! @name RX_WTR_MARK - RECEIVE WATER MARK */ 32470 /*! @{ */ 32471 #define ZLL_RX_WTR_MARK_RX_WTR_MARK_MASK (0xFFU) 32472 #define ZLL_RX_WTR_MARK_RX_WTR_MARK_SHIFT (0U) 32473 #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) 32474 /*! @} */ 32475 32476 /*! @name SLOT_PRELOAD - SLOT PRELOAD */ 32477 /*! @{ */ 32478 #define ZLL_SLOT_PRELOAD_SLOT_PRELOAD_MASK (0xFFU) 32479 #define ZLL_SLOT_PRELOAD_SLOT_PRELOAD_SHIFT (0U) 32480 #define ZLL_SLOT_PRELOAD_SLOT_PRELOAD(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SLOT_PRELOAD_SLOT_PRELOAD_SHIFT)) & ZLL_SLOT_PRELOAD_SLOT_PRELOAD_MASK) 32481 /*! @} */ 32482 32483 /*! @name SEQ_STATE - 802.15.4 SEQUENCE STATE */ 32484 /*! @{ */ 32485 #define ZLL_SEQ_STATE_SEQ_STATE_MASK (0x1FU) 32486 #define ZLL_SEQ_STATE_SEQ_STATE_SHIFT (0U) 32487 #define ZLL_SEQ_STATE_SEQ_STATE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_SEQ_STATE_SHIFT)) & ZLL_SEQ_STATE_SEQ_STATE_MASK) 32488 #define ZLL_SEQ_STATE_PREAMBLE_DET_MASK (0x100U) 32489 #define ZLL_SEQ_STATE_PREAMBLE_DET_SHIFT (8U) 32490 #define ZLL_SEQ_STATE_PREAMBLE_DET(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_PREAMBLE_DET_SHIFT)) & ZLL_SEQ_STATE_PREAMBLE_DET_MASK) 32491 #define ZLL_SEQ_STATE_SFD_DET_MASK (0x200U) 32492 #define ZLL_SEQ_STATE_SFD_DET_SHIFT (9U) 32493 #define ZLL_SEQ_STATE_SFD_DET(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_SFD_DET_SHIFT)) & ZLL_SEQ_STATE_SFD_DET_MASK) 32494 #define ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL_MASK (0x400U) 32495 #define ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL_SHIFT (10U) 32496 #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) 32497 #define ZLL_SEQ_STATE_CRCVALID_MASK (0x800U) 32498 #define ZLL_SEQ_STATE_CRCVALID_SHIFT (11U) 32499 /*! CRCVALID - CRC Valid Indicator 32500 * 0b0..Rx FCS != calculated CRC (incorrect) 32501 * 0b1..Rx FCS = calculated CRC (correct) 32502 */ 32503 #define ZLL_SEQ_STATE_CRCVALID(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_CRCVALID_SHIFT)) & ZLL_SEQ_STATE_CRCVALID_MASK) 32504 #define ZLL_SEQ_STATE_PLL_ABORT_MASK (0x1000U) 32505 #define ZLL_SEQ_STATE_PLL_ABORT_SHIFT (12U) 32506 #define ZLL_SEQ_STATE_PLL_ABORT(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_PLL_ABORT_SHIFT)) & ZLL_SEQ_STATE_PLL_ABORT_MASK) 32507 #define ZLL_SEQ_STATE_PLL_ABORTED_MASK (0x2000U) 32508 #define ZLL_SEQ_STATE_PLL_ABORTED_SHIFT (13U) 32509 #define ZLL_SEQ_STATE_PLL_ABORTED(x) (((uint32_t)(((uint32_t)(x)) << ZLL_SEQ_STATE_PLL_ABORTED_SHIFT)) & ZLL_SEQ_STATE_PLL_ABORTED_MASK) 32510 #define ZLL_SEQ_STATE_RX_BYTE_COUNT_MASK (0xFF0000U) 32511 #define ZLL_SEQ_STATE_RX_BYTE_COUNT_SHIFT (16U) 32512 #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) 32513 #define ZLL_SEQ_STATE_CCCA_BUSY_CNT_MASK (0x3F000000U) 32514 #define ZLL_SEQ_STATE_CCCA_BUSY_CNT_SHIFT (24U) 32515 #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) 32516 /*! @} */ 32517 32518 /*! @name TMR_PRESCALE - TIMER PRESCALER */ 32519 /*! @{ */ 32520 #define ZLL_TMR_PRESCALE_TMR_PRESCALE_MASK (0x7U) 32521 #define ZLL_TMR_PRESCALE_TMR_PRESCALE_SHIFT (0U) 32522 /*! TMR_PRESCALE - Timer Prescaler 32523 * 0b000..Reserved 32524 * 0b001..Reserved 32525 * 0b010..500kHz (33.55 S) 32526 * 0b011..250kHz (67.11 S) 32527 * 0b100..125kHz (134.22 S) 32528 * 0b101..62.5kHz (268.44 S) -- default 32529 * 0b110..31.25kHz (536.87 S) 32530 * 0b111..15.625kHz (1073.74 S) 32531 */ 32532 #define ZLL_TMR_PRESCALE_TMR_PRESCALE(x) (((uint32_t)(((uint32_t)(x)) << ZLL_TMR_PRESCALE_TMR_PRESCALE_SHIFT)) & ZLL_TMR_PRESCALE_TMR_PRESCALE_MASK) 32533 /*! @} */ 32534 32535 /*! @name LENIENCY_LSB - LENIENCY LSB */ 32536 /*! @{ */ 32537 #define ZLL_LENIENCY_LSB_LENIENCY_LSB_MASK (0xFFFFFFFFU) 32538 #define ZLL_LENIENCY_LSB_LENIENCY_LSB_SHIFT (0U) 32539 #define ZLL_LENIENCY_LSB_LENIENCY_LSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_LENIENCY_LSB_LENIENCY_LSB_SHIFT)) & ZLL_LENIENCY_LSB_LENIENCY_LSB_MASK) 32540 /*! @} */ 32541 32542 /*! @name LENIENCY_MSB - LENIENCY MSB */ 32543 /*! @{ */ 32544 #define ZLL_LENIENCY_MSB_LENIENCY_MSB_MASK (0xFFU) 32545 #define ZLL_LENIENCY_MSB_LENIENCY_MSB_SHIFT (0U) 32546 #define ZLL_LENIENCY_MSB_LENIENCY_MSB(x) (((uint32_t)(((uint32_t)(x)) << ZLL_LENIENCY_MSB_LENIENCY_MSB_SHIFT)) & ZLL_LENIENCY_MSB_LENIENCY_MSB_MASK) 32547 /*! @} */ 32548 32549 /*! @name PART_ID - PART ID */ 32550 /*! @{ */ 32551 #define ZLL_PART_ID_PART_ID_MASK (0xFFU) 32552 #define ZLL_PART_ID_PART_ID_SHIFT (0U) 32553 #define ZLL_PART_ID_PART_ID(x) (((uint32_t)(((uint32_t)(x)) << ZLL_PART_ID_PART_ID_SHIFT)) & ZLL_PART_ID_PART_ID_MASK) 32554 /*! @} */ 32555 32556 /*! @name PKT_BUFFER_TX - Packet Buffer TX */ 32557 /*! @{ */ 32558 #define ZLL_PKT_BUFFER_TX_PKT_BUFFER_TX_MASK (0xFFFFU) 32559 #define ZLL_PKT_BUFFER_TX_PKT_BUFFER_TX_SHIFT (0U) 32560 #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) 32561 /*! @} */ 32562 32563 /* The count of ZLL_PKT_BUFFER_TX */ 32564 #define ZLL_PKT_BUFFER_TX_COUNT (64U) 32565 32566 /*! @name PKT_BUFFER_RX - Packet Buffer RX */ 32567 /*! @{ */ 32568 #define ZLL_PKT_BUFFER_RX_PKT_BUFFER_RX_MASK (0xFFFFU) 32569 #define ZLL_PKT_BUFFER_RX_PKT_BUFFER_RX_SHIFT (0U) 32570 #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) 32571 /*! @} */ 32572 32573 /* The count of ZLL_PKT_BUFFER_RX */ 32574 #define ZLL_PKT_BUFFER_RX_COUNT (64U) 32575 32576 32577 /*! 32578 * @} 32579 */ /* end of group ZLL_Register_Masks */ 32580 32581 32582 /* ZLL - Peripheral instance base addresses */ 32583 /** Peripheral ZLL base address */ 32584 #define ZLL_BASE (0x41034000u) 32585 /** Peripheral ZLL base pointer */ 32586 #define ZLL ((ZLL_Type *)ZLL_BASE) 32587 /** Array initializer of ZLL peripheral base addresses */ 32588 #define ZLL_BASE_ADDRS { ZLL_BASE } 32589 /** Array initializer of ZLL peripheral base pointers */ 32590 #define ZLL_BASE_PTRS { ZLL } 32591 32592 /*! 32593 * @} 32594 */ /* end of group ZLL_Peripheral_Access_Layer */ 32595 32596 32597 /* 32598 ** End of section using anonymous unions 32599 */ 32600 32601 #if defined(__ARMCC_VERSION) 32602 #if (__ARMCC_VERSION >= 6010050) 32603 #pragma clang diagnostic pop 32604 #else 32605 #pragma pop 32606 #endif 32607 #elif defined(__GNUC__) 32608 /* leave anonymous unions enabled */ 32609 #elif defined(__IAR_SYSTEMS_ICC__) 32610 #pragma language=default 32611 #else 32612 #error Not supported compiler type 32613 #endif 32614 32615 /*! 32616 * @} 32617 */ /* end of group Peripheral_access_layer */ 32618 32619 32620 /* ---------------------------------------------------------------------------- 32621 -- Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK). 32622 ---------------------------------------------------------------------------- */ 32623 32624 /*! 32625 * @addtogroup Bit_Field_Generic_Macros Macros for use with bit field definitions (xxx_SHIFT, xxx_MASK). 32626 * @{ 32627 */ 32628 32629 #if defined(__ARMCC_VERSION) 32630 #if (__ARMCC_VERSION >= 6010050) 32631 #pragma clang system_header 32632 #endif 32633 #elif defined(__IAR_SYSTEMS_ICC__) 32634 #pragma system_include 32635 #endif 32636 32637 /** 32638 * @brief Mask and left-shift a bit field value for use in a register bit range. 32639 * @param field Name of the register bit field. 32640 * @param value Value of the bit field. 32641 * @return Masked and shifted value. 32642 */ 32643 #define NXP_VAL2FLD(field, value) (((value) << (field ## _SHIFT)) & (field ## _MASK)) 32644 /** 32645 * @brief Mask and right-shift a register value to extract a bit field value. 32646 * @param field Name of the register bit field. 32647 * @param value Value of the register. 32648 * @return Masked and shifted bit field value. 32649 */ 32650 #define NXP_FLD2VAL(field, value) (((value) & (field ## _MASK)) >> (field ## _SHIFT)) 32651 32652 /*! 32653 * @} 32654 */ /* end of group Bit_Field_Generic_Macros */ 32655 32656 32657 /* ---------------------------------------------------------------------------- 32658 -- SDK Compatibility 32659 ---------------------------------------------------------------------------- */ 32660 32661 /*! 32662 * @addtogroup SDK_Compatibility_Symbols SDK Compatibility 32663 * @{ 32664 */ 32665 32666 #define EVENT_UNIT EVENT1 32667 #define INTMUX INTMUX1 32668 32669 /*! 32670 * @} 32671 */ /* end of group SDK_Compatibility_Symbols */ 32672 32673 32674 #endif /* _RV32M1_ZERO_RISCY_H_ */ 32675 32676