| /* |
| ** ################################################################### |
| ** Compilers: Keil ARM C/C++ Compiler |
| ** Freescale C/C++ for Embedded ARM |
| ** GNU C Compiler |
| ** GNU C Compiler - CodeSourcery Sourcery G++ |
| ** IAR ANSI C/C++ Compiler for ARM |
| ** |
| ** Reference manual: MKW40Z160RM, Rev. 1.1, 4/2015 |
| ** Version: rev. 1.2, 2015-05-07 |
| ** Build: b150713 |
| ** |
| ** Abstract: |
| ** Extension to the CMSIS register access layer header. |
| ** |
| ** Copyright (c) 2015 Freescale Semiconductor, Inc. |
| ** All rights reserved. |
| ** |
| ** Redistribution and use in source and binary forms, with or without modification, |
| ** are permitted provided that the following conditions are met: |
| ** |
| ** o Redistributions of source code must retain the above copyright notice, this list |
| ** of conditions and the following disclaimer. |
| ** |
| ** o Redistributions in binary form must reproduce the above copyright notice, this |
| ** list of conditions and the following disclaimer in the documentation and/or |
| ** other materials provided with the distribution. |
| ** |
| ** o Neither the name of Freescale Semiconductor, Inc. nor the names of its |
| ** contributors may be used to endorse or promote products derived from this |
| ** software without specific prior written permission. |
| ** |
| ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND |
| ** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| ** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| ** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR |
| ** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| ** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON |
| ** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
| ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| ** |
| ** http: www.freescale.com |
| ** mail: support@freescale.com |
| ** |
| ** Revisions: |
| ** - rev. 1.0 (2014-07-17) |
| ** Initial version. |
| ** - rev. 1.1 (2015-03-05) |
| ** Update with reference manual rev 1.0 |
| ** - rev. 1.2 (2015-05-07) |
| ** Update with reference manual rev 1.1 |
| ** |
| ** ################################################################### |
| */ |
| |
| /* |
| * WARNING! DO NOT EDIT THIS FILE DIRECTLY! |
| * |
| * This file was generated automatically and any changes may be lost. |
| */ |
| #ifndef __MKW40Z4_EXTENSION_H__ |
| #define __MKW40Z4_EXTENSION_H__ |
| |
| #include "MKW40Z4.h" |
| #include "fsl_bitaccess.h" |
| |
| #if defined(__IAR_SYSTEMS_ICC__) |
| /* |
| * Suppress "Error[Pm008]: sections of code should not be 'commented out' (MISRA C 2004 rule 2.4)" |
| * as some register descriptions contain code examples |
| */ |
| #pragma diag_suppress=pm008 |
| #endif |
| |
| /* |
| * MKW40Z4 ADC |
| * |
| * Analog-to-Digital Converter |
| * |
| * Registers defined in this header file: |
| * - ADC_SC1 - ADC Status and Control Registers 1 |
| * - ADC_CFG1 - ADC Configuration Register 1 |
| * - ADC_CFG2 - ADC Configuration Register 2 |
| * - ADC_R - ADC Data Result Register |
| * - ADC_CV1 - Compare Value Registers |
| * - ADC_CV2 - Compare Value Registers |
| * - ADC_SC2 - Status and Control Register 2 |
| * - ADC_SC3 - Status and Control Register 3 |
| * - ADC_OFS - ADC Offset Correction Register |
| * - ADC_PG - ADC Plus-Side Gain Register |
| * - ADC_MG - ADC Minus-Side Gain Register |
| * - ADC_CLPD - ADC Plus-Side General Calibration Value Register |
| * - ADC_CLPS - ADC Plus-Side General Calibration Value Register |
| * - ADC_CLP4 - ADC Plus-Side General Calibration Value Register |
| * - ADC_CLP3 - ADC Plus-Side General Calibration Value Register |
| * - ADC_CLP2 - ADC Plus-Side General Calibration Value Register |
| * - ADC_CLP1 - ADC Plus-Side General Calibration Value Register |
| * - ADC_CLP0 - ADC Plus-Side General Calibration Value Register |
| * - ADC_CLMD - ADC Minus-Side General Calibration Value Register |
| * - ADC_CLMS - ADC Minus-Side General Calibration Value Register |
| * - ADC_CLM4 - ADC Minus-Side General Calibration Value Register |
| * - ADC_CLM3 - ADC Minus-Side General Calibration Value Register |
| * - ADC_CLM2 - ADC Minus-Side General Calibration Value Register |
| * - ADC_CLM1 - ADC Minus-Side General Calibration Value Register |
| * - ADC_CLM0 - ADC Minus-Side General Calibration Value Register |
| */ |
| |
| #define ADC_INSTANCE_COUNT (1U) /*!< Number of instances of the ADC module. */ |
| #define ADC0_IDX (0U) /*!< Instance number for ADC0. */ |
| |
| /******************************************************************************* |
| * ADC_SC1 - ADC Status and Control Registers 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_SC1 - ADC Status and Control Registers 1 (RW) |
| * |
| * Reset value: 0x0000001FU |
| * |
| * SC1A is used for both software and hardware trigger modes of operation. To |
| * allow sequential conversions of the ADC to be triggered by internal peripherals, |
| * the ADC can have more than one status and control register: one for each |
| * conversion. The SC1B-SC1n registers indicate potentially multiple SC1 registers |
| * for use only in hardware trigger mode. See the chip configuration information |
| * about the number of SC1n registers specific to this device. The SC1n registers |
| * have identical fields, and are used in a "ping-pong" approach to control ADC |
| * operation. At any one point in time, only one of the SC1n registers is actively |
| * controlling ADC conversions. Updating SC1A while SC1n is actively controlling |
| * a conversion is allowed, and vice-versa for any of the SC1n registers specific |
| * to this MCU. Writing SC1A while SC1A is actively controlling a conversion |
| * aborts the current conversion. In Software Trigger mode, when SC2[ADTRG]=0, |
| * writes to SC1A subsequently initiate a new conversion, if SC1[ADCH] contains a |
| * value other than all 1s (module disabled). Writing any of the SC1n registers while |
| * that specific SC1n register is actively controlling a conversion aborts the |
| * current conversion. None of the SC1B-SC1n registers are used for software |
| * trigger operation and therefore writes to the SC1B-SC1n registers do not initiate a |
| * new conversion. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_SC1 register |
| */ |
| /*@{*/ |
| #define ADC_RD_SC1(base, index) (ADC_SC1_REG(base, index)) |
| #define ADC_WR_SC1(base, index, value) (ADC_SC1_REG(base, index) = (value)) |
| #define ADC_RMW_SC1(base, index, mask, value) (ADC_WR_SC1(base, index, (ADC_RD_SC1(base, index) & ~(mask)) | (value))) |
| #define ADC_SET_SC1(base, index, value) (BME_OR32(&ADC_SC1_REG(base, index), (uint32_t)(value))) |
| #define ADC_CLR_SC1(base, index, value) (BME_AND32(&ADC_SC1_REG(base, index), (uint32_t)(~(value)))) |
| #define ADC_TOG_SC1(base, index, value) (BME_XOR32(&ADC_SC1_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_SC1 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_SC1, field ADCH[4:0] (RW) |
| * |
| * Selects one of the input channels. The input channel decode depends on the |
| * value of DIFF. DAD0-DAD3 are associated with the input pin pairs DADPx and |
| * DADMx. Some of the input channel options in the bitfield-setting descriptions might |
| * not be available for your device. For the actual ADC channel assignments for |
| * your device, see the Chip Configuration details. The successive approximation |
| * converter subsystem is turned off when the channel select bits are all set, |
| * that is, ADCH = 11111. This feature allows explicit disabling of the ADC and |
| * isolation of the input channel from all sources. Terminating continuous |
| * conversions this way prevents an additional single conversion from being performed. It |
| * is not necessary to set ADCH to all 1s to place the ADC in a low-power state |
| * when continuous conversions are not enabled because the module automatically |
| * enters a low-power state when a conversion completes. |
| * |
| * Values: |
| * - 0b00000 - When DIFF=0, DADP0 is selected as input; when DIFF=1, DAD0 is |
| * selected as input. |
| * - 0b00001 - When DIFF=0, DADP1 is selected as input; when DIFF=1, DAD1 is |
| * selected as input. |
| * - 0b00010 - When DIFF=0, DADP2 is selected as input; when DIFF=1, DAD2 is |
| * selected as input. |
| * - 0b00011 - When DIFF=0, DADP3 is selected as input; when DIFF=1, DAD3 is |
| * selected as input. |
| * - 0b00100 - When DIFF=0, AD4 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b00101 - When DIFF=0, AD5 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b00110 - When DIFF=0, AD6 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b00111 - When DIFF=0, AD7 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b01000 - When DIFF=0, AD8 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b01001 - When DIFF=0, AD9 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b01010 - When DIFF=0, AD10 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b01011 - When DIFF=0, AD11 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b01100 - When DIFF=0, AD12 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b01101 - When DIFF=0, AD13 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b01110 - When DIFF=0, AD14 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b01111 - When DIFF=0, AD15 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b10000 - When DIFF=0, AD16 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b10001 - When DIFF=0, AD17 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b10010 - When DIFF=0, AD18 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b10011 - When DIFF=0, AD19 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b10100 - When DIFF=0, AD20 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b10101 - When DIFF=0, AD21 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b10110 - When DIFF=0, AD22 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b10111 - When DIFF=0, AD23 is selected as input; when DIFF=1, it is |
| * reserved. |
| * - 0b11000 - Reserved. |
| * - 0b11001 - Reserved. |
| * - 0b11010 - When DIFF=0, Temp Sensor (single-ended) is selected as input; |
| * when DIFF=1, Temp Sensor (differential) is selected as input. |
| * - 0b11011 - When DIFF=0, Bandgap (single-ended) is selected as input; when |
| * DIFF=1, Bandgap (differential) is selected as input. |
| * - 0b11100 - Reserved. |
| * - 0b11101 - When DIFF=0,VREFSH is selected as input; when DIFF=1, -VREFSH |
| * (differential) is selected as input. Voltage reference selected is determined |
| * by SC2[REFSEL]. |
| * - 0b11110 - When DIFF=0,VREFSL is selected as input; when DIFF=1, it is |
| * reserved. Voltage reference selected is determined by SC2[REFSEL]. |
| * - 0b11111 - Module is disabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC1_ADCH field. */ |
| #define ADC_RD_SC1_ADCH(base, index) ((ADC_SC1_REG(base, index) & ADC_SC1_ADCH_MASK) >> ADC_SC1_ADCH_SHIFT) |
| #define ADC_BRD_SC1_ADCH(base, index) (BME_UBFX32(&ADC_SC1_REG(base, index), ADC_SC1_ADCH_SHIFT, ADC_SC1_ADCH_WIDTH)) |
| |
| /*! @brief Set the ADCH field to a new value. */ |
| #define ADC_WR_SC1_ADCH(base, index, value) (ADC_RMW_SC1(base, index, ADC_SC1_ADCH_MASK, ADC_SC1_ADCH(value))) |
| #define ADC_BWR_SC1_ADCH(base, index, value) (BME_BFI32(&ADC_SC1_REG(base, index), ((uint32_t)(value) << ADC_SC1_ADCH_SHIFT), ADC_SC1_ADCH_SHIFT, ADC_SC1_ADCH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC1, field DIFF[5] (RW) |
| * |
| * Configures the ADC to operate in differential mode. When enabled, this mode |
| * automatically selects from the differential channels, and changes the |
| * conversion algorithm and the number of cycles to complete a conversion. |
| * |
| * Values: |
| * - 0b0 - Single-ended conversions and input channels are selected. |
| * - 0b1 - Differential conversions and input channels are selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC1_DIFF field. */ |
| #define ADC_RD_SC1_DIFF(base, index) ((ADC_SC1_REG(base, index) & ADC_SC1_DIFF_MASK) >> ADC_SC1_DIFF_SHIFT) |
| #define ADC_BRD_SC1_DIFF(base, index) (BME_UBFX32(&ADC_SC1_REG(base, index), ADC_SC1_DIFF_SHIFT, ADC_SC1_DIFF_WIDTH)) |
| |
| /*! @brief Set the DIFF field to a new value. */ |
| #define ADC_WR_SC1_DIFF(base, index, value) (ADC_RMW_SC1(base, index, ADC_SC1_DIFF_MASK, ADC_SC1_DIFF(value))) |
| #define ADC_BWR_SC1_DIFF(base, index, value) (BME_BFI32(&ADC_SC1_REG(base, index), ((uint32_t)(value) << ADC_SC1_DIFF_SHIFT), ADC_SC1_DIFF_SHIFT, ADC_SC1_DIFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC1, field AIEN[6] (RW) |
| * |
| * Enables conversion complete interrupts. When COCO becomes set while the |
| * respective AIEN is high, an interrupt is asserted. |
| * |
| * Values: |
| * - 0b0 - Conversion complete interrupt is disabled. |
| * - 0b1 - Conversion complete interrupt is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC1_AIEN field. */ |
| #define ADC_RD_SC1_AIEN(base, index) ((ADC_SC1_REG(base, index) & ADC_SC1_AIEN_MASK) >> ADC_SC1_AIEN_SHIFT) |
| #define ADC_BRD_SC1_AIEN(base, index) (BME_UBFX32(&ADC_SC1_REG(base, index), ADC_SC1_AIEN_SHIFT, ADC_SC1_AIEN_WIDTH)) |
| |
| /*! @brief Set the AIEN field to a new value. */ |
| #define ADC_WR_SC1_AIEN(base, index, value) (ADC_RMW_SC1(base, index, ADC_SC1_AIEN_MASK, ADC_SC1_AIEN(value))) |
| #define ADC_BWR_SC1_AIEN(base, index, value) (BME_BFI32(&ADC_SC1_REG(base, index), ((uint32_t)(value) << ADC_SC1_AIEN_SHIFT), ADC_SC1_AIEN_SHIFT, ADC_SC1_AIEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC1, field COCO[7] (RO) |
| * |
| * This is a read-only field that is set each time a conversion is completed |
| * when the compare function is disabled, or SC2[ACFE]=0 and the hardware average |
| * function is disabled, or SC3[AVGE]=0. When the compare function is enabled, or |
| * SC2[ACFE]=1, COCO is set upon completion of a conversion only if the compare |
| * result is true. When the hardware average function is enabled, or SC3[AVGE]=1, |
| * COCO is set upon completion of the selected number of conversions (determined |
| * by AVGS). COCO in SC1A is also set at the completion of a calibration sequence. |
| * COCO is cleared when the respective SC1n register is written or when the |
| * respective Rn register is read. |
| * |
| * Values: |
| * - 0b0 - Conversion is not completed. |
| * - 0b1 - Conversion is completed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC1_COCO field. */ |
| #define ADC_RD_SC1_COCO(base, index) ((ADC_SC1_REG(base, index) & ADC_SC1_COCO_MASK) >> ADC_SC1_COCO_SHIFT) |
| #define ADC_BRD_SC1_COCO(base, index) (BME_UBFX32(&ADC_SC1_REG(base, index), ADC_SC1_COCO_SHIFT, ADC_SC1_COCO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CFG1 - ADC Configuration Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CFG1 - ADC Configuration Register 1 (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The configuration Register 1 (CFG1) selects the mode of operation, clock |
| * source, clock divide, and configuration for low power or long sample time. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CFG1 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CFG1(base) (ADC_CFG1_REG(base)) |
| #define ADC_WR_CFG1(base, value) (ADC_CFG1_REG(base) = (value)) |
| #define ADC_RMW_CFG1(base, mask, value) (ADC_WR_CFG1(base, (ADC_RD_CFG1(base) & ~(mask)) | (value))) |
| #define ADC_SET_CFG1(base, value) (BME_OR32(&ADC_CFG1_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CFG1(base, value) (BME_AND32(&ADC_CFG1_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CFG1(base, value) (BME_XOR32(&ADC_CFG1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CFG1 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CFG1, field ADICLK[1:0] (RW) |
| * |
| * Selects the input clock source to generate the internal clock, ADCK. Note |
| * that when the ADACK clock source is selected, it is not required to be active |
| * prior to conversion start. When it is selected and it is not active prior to a |
| * conversion start, when CFG2[ADACKEN]=0, the asynchronous clock is activated at |
| * the start of a conversion and deactivated when conversions are terminated. In |
| * this case, there is an associated clock startup delay each time the clock |
| * source is re-activated. |
| * |
| * Values: |
| * - 0b00 - Bus clock |
| * - 0b01 - Bus clock divided by 2(BUSCLK/2) |
| * - 0b10 - Alternate clock (ALTCLK) |
| * - 0b11 - Asynchronous clock (ADACK) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CFG1_ADICLK field. */ |
| #define ADC_RD_CFG1_ADICLK(base) ((ADC_CFG1_REG(base) & ADC_CFG1_ADICLK_MASK) >> ADC_CFG1_ADICLK_SHIFT) |
| #define ADC_BRD_CFG1_ADICLK(base) (BME_UBFX32(&ADC_CFG1_REG(base), ADC_CFG1_ADICLK_SHIFT, ADC_CFG1_ADICLK_WIDTH)) |
| |
| /*! @brief Set the ADICLK field to a new value. */ |
| #define ADC_WR_CFG1_ADICLK(base, value) (ADC_RMW_CFG1(base, ADC_CFG1_ADICLK_MASK, ADC_CFG1_ADICLK(value))) |
| #define ADC_BWR_CFG1_ADICLK(base, value) (BME_BFI32(&ADC_CFG1_REG(base), ((uint32_t)(value) << ADC_CFG1_ADICLK_SHIFT), ADC_CFG1_ADICLK_SHIFT, ADC_CFG1_ADICLK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_CFG1, field MODE[3:2] (RW) |
| * |
| * Selects the ADC resolution mode. |
| * |
| * Values: |
| * - 0b00 - When DIFF=0:It is single-ended 8-bit conversion; when DIFF=1, it is |
| * differential 9-bit conversion with 2's complement output. |
| * - 0b01 - When DIFF=0:It is single-ended 12-bit conversion ; when DIFF=1, it |
| * is differential 13-bit conversion with 2's complement output. |
| * - 0b10 - When DIFF=0:It is single-ended 10-bit conversion. ; when DIFF=1, it |
| * is differential 11-bit conversion with 2's complement output |
| * - 0b11 - When DIFF=0:It is single-ended 16-bit conversion..; when DIFF=1, it |
| * is differential 16-bit conversion with 2's complement output |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CFG1_MODE field. */ |
| #define ADC_RD_CFG1_MODE(base) ((ADC_CFG1_REG(base) & ADC_CFG1_MODE_MASK) >> ADC_CFG1_MODE_SHIFT) |
| #define ADC_BRD_CFG1_MODE(base) (BME_UBFX32(&ADC_CFG1_REG(base), ADC_CFG1_MODE_SHIFT, ADC_CFG1_MODE_WIDTH)) |
| |
| /*! @brief Set the MODE field to a new value. */ |
| #define ADC_WR_CFG1_MODE(base, value) (ADC_RMW_CFG1(base, ADC_CFG1_MODE_MASK, ADC_CFG1_MODE(value))) |
| #define ADC_BWR_CFG1_MODE(base, value) (BME_BFI32(&ADC_CFG1_REG(base), ((uint32_t)(value) << ADC_CFG1_MODE_SHIFT), ADC_CFG1_MODE_SHIFT, ADC_CFG1_MODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_CFG1, field ADLSMP[4] (RW) |
| * |
| * Selects between different sample times based on the conversion mode selected. |
| * This field adjusts the sample period to allow higher impedance inputs to be |
| * accurately sampled or to maximize conversion speed for lower impedance inputs. |
| * Longer sample times can also be used to lower overall power consumption if |
| * continuous conversions are enabled and high conversion rates are not required. |
| * When ADLSMP=1, the long sample time select bits, (ADLSTS[1:0]), can select the |
| * extent of the long sample time. |
| * |
| * Values: |
| * - 0b0 - Short sample time. |
| * - 0b1 - Long sample time. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CFG1_ADLSMP field. */ |
| #define ADC_RD_CFG1_ADLSMP(base) ((ADC_CFG1_REG(base) & ADC_CFG1_ADLSMP_MASK) >> ADC_CFG1_ADLSMP_SHIFT) |
| #define ADC_BRD_CFG1_ADLSMP(base) (BME_UBFX32(&ADC_CFG1_REG(base), ADC_CFG1_ADLSMP_SHIFT, ADC_CFG1_ADLSMP_WIDTH)) |
| |
| /*! @brief Set the ADLSMP field to a new value. */ |
| #define ADC_WR_CFG1_ADLSMP(base, value) (ADC_RMW_CFG1(base, ADC_CFG1_ADLSMP_MASK, ADC_CFG1_ADLSMP(value))) |
| #define ADC_BWR_CFG1_ADLSMP(base, value) (BME_BFI32(&ADC_CFG1_REG(base), ((uint32_t)(value) << ADC_CFG1_ADLSMP_SHIFT), ADC_CFG1_ADLSMP_SHIFT, ADC_CFG1_ADLSMP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_CFG1, field ADIV[6:5] (RW) |
| * |
| * Selects the divide ratio used by the ADC to generate the internal clock ADCK. |
| * |
| * Values: |
| * - 0b00 - The divide ratio is 1 and the clock rate is input clock. |
| * - 0b01 - The divide ratio is 2 and the clock rate is (input clock)/2. |
| * - 0b10 - The divide ratio is 4 and the clock rate is (input clock)/4. |
| * - 0b11 - The divide ratio is 8 and the clock rate is (input clock)/8. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CFG1_ADIV field. */ |
| #define ADC_RD_CFG1_ADIV(base) ((ADC_CFG1_REG(base) & ADC_CFG1_ADIV_MASK) >> ADC_CFG1_ADIV_SHIFT) |
| #define ADC_BRD_CFG1_ADIV(base) (BME_UBFX32(&ADC_CFG1_REG(base), ADC_CFG1_ADIV_SHIFT, ADC_CFG1_ADIV_WIDTH)) |
| |
| /*! @brief Set the ADIV field to a new value. */ |
| #define ADC_WR_CFG1_ADIV(base, value) (ADC_RMW_CFG1(base, ADC_CFG1_ADIV_MASK, ADC_CFG1_ADIV(value))) |
| #define ADC_BWR_CFG1_ADIV(base, value) (BME_BFI32(&ADC_CFG1_REG(base), ((uint32_t)(value) << ADC_CFG1_ADIV_SHIFT), ADC_CFG1_ADIV_SHIFT, ADC_CFG1_ADIV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_CFG1, field ADLPC[7] (RW) |
| * |
| * Controls the power configuration of the successive approximation converter. |
| * This optimizes power consumption when higher sample rates are not required. |
| * |
| * Values: |
| * - 0b0 - Normal power configuration. |
| * - 0b1 - Low-power configuration. The power is reduced at the expense of |
| * maximum clock speed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CFG1_ADLPC field. */ |
| #define ADC_RD_CFG1_ADLPC(base) ((ADC_CFG1_REG(base) & ADC_CFG1_ADLPC_MASK) >> ADC_CFG1_ADLPC_SHIFT) |
| #define ADC_BRD_CFG1_ADLPC(base) (BME_UBFX32(&ADC_CFG1_REG(base), ADC_CFG1_ADLPC_SHIFT, ADC_CFG1_ADLPC_WIDTH)) |
| |
| /*! @brief Set the ADLPC field to a new value. */ |
| #define ADC_WR_CFG1_ADLPC(base, value) (ADC_RMW_CFG1(base, ADC_CFG1_ADLPC_MASK, ADC_CFG1_ADLPC(value))) |
| #define ADC_BWR_CFG1_ADLPC(base, value) (BME_BFI32(&ADC_CFG1_REG(base), ((uint32_t)(value) << ADC_CFG1_ADLPC_SHIFT), ADC_CFG1_ADLPC_SHIFT, ADC_CFG1_ADLPC_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CFG2 - ADC Configuration Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CFG2 - ADC Configuration Register 2 (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Configuration Register 2 (CFG2) selects the special high-speed configuration |
| * for very high speed conversions and selects the long sample time duration |
| * during long sample mode. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CFG2 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CFG2(base) (ADC_CFG2_REG(base)) |
| #define ADC_WR_CFG2(base, value) (ADC_CFG2_REG(base) = (value)) |
| #define ADC_RMW_CFG2(base, mask, value) (ADC_WR_CFG2(base, (ADC_RD_CFG2(base) & ~(mask)) | (value))) |
| #define ADC_SET_CFG2(base, value) (BME_OR32(&ADC_CFG2_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CFG2(base, value) (BME_AND32(&ADC_CFG2_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CFG2(base, value) (BME_XOR32(&ADC_CFG2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CFG2 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CFG2, field ADLSTS[1:0] (RW) |
| * |
| * Selects between the extended sample times when long sample time is selected, |
| * that is, when CFG1[ADLSMP]=1. This allows higher impedance inputs to be |
| * accurately sampled or to maximize conversion speed for lower impedance inputs. |
| * Longer sample times can also be used to lower overall power consumption when |
| * continuous conversions are enabled if high conversion rates are not required. |
| * |
| * Values: |
| * - 0b00 - Default longest sample time; 20 extra ADCK cycles; 24 ADCK cycles |
| * total. |
| * - 0b01 - 12 extra ADCK cycles; 16 ADCK cycles total sample time. |
| * - 0b10 - 6 extra ADCK cycles; 10 ADCK cycles total sample time. |
| * - 0b11 - 2 extra ADCK cycles; 6 ADCK cycles total sample time. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CFG2_ADLSTS field. */ |
| #define ADC_RD_CFG2_ADLSTS(base) ((ADC_CFG2_REG(base) & ADC_CFG2_ADLSTS_MASK) >> ADC_CFG2_ADLSTS_SHIFT) |
| #define ADC_BRD_CFG2_ADLSTS(base) (BME_UBFX32(&ADC_CFG2_REG(base), ADC_CFG2_ADLSTS_SHIFT, ADC_CFG2_ADLSTS_WIDTH)) |
| |
| /*! @brief Set the ADLSTS field to a new value. */ |
| #define ADC_WR_CFG2_ADLSTS(base, value) (ADC_RMW_CFG2(base, ADC_CFG2_ADLSTS_MASK, ADC_CFG2_ADLSTS(value))) |
| #define ADC_BWR_CFG2_ADLSTS(base, value) (BME_BFI32(&ADC_CFG2_REG(base), ((uint32_t)(value) << ADC_CFG2_ADLSTS_SHIFT), ADC_CFG2_ADLSTS_SHIFT, ADC_CFG2_ADLSTS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_CFG2, field ADHSC[2] (RW) |
| * |
| * Configures the ADC for very high-speed operation. The conversion sequence is |
| * altered with 2 ADCK cycles added to the conversion time to allow higher speed |
| * conversion clocks. |
| * |
| * Values: |
| * - 0b0 - Normal conversion sequence selected. |
| * - 0b1 - High-speed conversion sequence selected with 2 additional ADCK cycles |
| * to total conversion time. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CFG2_ADHSC field. */ |
| #define ADC_RD_CFG2_ADHSC(base) ((ADC_CFG2_REG(base) & ADC_CFG2_ADHSC_MASK) >> ADC_CFG2_ADHSC_SHIFT) |
| #define ADC_BRD_CFG2_ADHSC(base) (BME_UBFX32(&ADC_CFG2_REG(base), ADC_CFG2_ADHSC_SHIFT, ADC_CFG2_ADHSC_WIDTH)) |
| |
| /*! @brief Set the ADHSC field to a new value. */ |
| #define ADC_WR_CFG2_ADHSC(base, value) (ADC_RMW_CFG2(base, ADC_CFG2_ADHSC_MASK, ADC_CFG2_ADHSC(value))) |
| #define ADC_BWR_CFG2_ADHSC(base, value) (BME_BFI32(&ADC_CFG2_REG(base), ((uint32_t)(value) << ADC_CFG2_ADHSC_SHIFT), ADC_CFG2_ADHSC_SHIFT, ADC_CFG2_ADHSC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_CFG2, field ADACKEN[3] (RW) |
| * |
| * Enables the asynchronous clock source and the clock source output regardless |
| * of the conversion and status of CFG1[ADICLK]. Based on MCU configuration, the |
| * asynchronous clock may be used by other modules. See chip configuration |
| * information. Setting this field allows the clock to be used even while the ADC is |
| * idle or operating from a different clock source. Also, latency of initiating a |
| * single or first-continuous conversion with the asynchronous clock selected is |
| * reduced because the ADACK clock is already operational. |
| * |
| * Values: |
| * - 0b0 - Asynchronous clock output disabled; Asynchronous clock is enabled |
| * only if selected by ADICLK and a conversion is active. |
| * - 0b1 - Asynchronous clock and clock output is enabled regardless of the |
| * state of the ADC. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CFG2_ADACKEN field. */ |
| #define ADC_RD_CFG2_ADACKEN(base) ((ADC_CFG2_REG(base) & ADC_CFG2_ADACKEN_MASK) >> ADC_CFG2_ADACKEN_SHIFT) |
| #define ADC_BRD_CFG2_ADACKEN(base) (BME_UBFX32(&ADC_CFG2_REG(base), ADC_CFG2_ADACKEN_SHIFT, ADC_CFG2_ADACKEN_WIDTH)) |
| |
| /*! @brief Set the ADACKEN field to a new value. */ |
| #define ADC_WR_CFG2_ADACKEN(base, value) (ADC_RMW_CFG2(base, ADC_CFG2_ADACKEN_MASK, ADC_CFG2_ADACKEN(value))) |
| #define ADC_BWR_CFG2_ADACKEN(base, value) (BME_BFI32(&ADC_CFG2_REG(base), ((uint32_t)(value) << ADC_CFG2_ADACKEN_SHIFT), ADC_CFG2_ADACKEN_SHIFT, ADC_CFG2_ADACKEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_CFG2, field MUXSEL[4] (RW) |
| * |
| * Changes the ADC mux setting to select between alternate sets of ADC channels. |
| * |
| * Values: |
| * - 0b0 - ADxxa channels are selected. |
| * - 0b1 - ADxxb channels are selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CFG2_MUXSEL field. */ |
| #define ADC_RD_CFG2_MUXSEL(base) ((ADC_CFG2_REG(base) & ADC_CFG2_MUXSEL_MASK) >> ADC_CFG2_MUXSEL_SHIFT) |
| #define ADC_BRD_CFG2_MUXSEL(base) (BME_UBFX32(&ADC_CFG2_REG(base), ADC_CFG2_MUXSEL_SHIFT, ADC_CFG2_MUXSEL_WIDTH)) |
| |
| /*! @brief Set the MUXSEL field to a new value. */ |
| #define ADC_WR_CFG2_MUXSEL(base, value) (ADC_RMW_CFG2(base, ADC_CFG2_MUXSEL_MASK, ADC_CFG2_MUXSEL(value))) |
| #define ADC_BWR_CFG2_MUXSEL(base, value) (BME_BFI32(&ADC_CFG2_REG(base), ((uint32_t)(value) << ADC_CFG2_MUXSEL_SHIFT), ADC_CFG2_MUXSEL_SHIFT, ADC_CFG2_MUXSEL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_R - ADC Data Result Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_R - ADC Data Result Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The data result registers (Rn) contain the result of an ADC conversion of the |
| * channel selected by the corresponding status and channel control register |
| * (SC1A:SC1n). For every status and channel control register, there is a |
| * corresponding data result register. Final result value stored in the data result |
| * register (R) will include the conversion result whose raw result is affected by a |
| * shift value that varies on mode configurations (see the table below), the OFS |
| * offset value, CLP/CLPM calibration values, and a factor of 1/32 (0x0800) that |
| * gets added upon certain conditions. Final conversion equation result is: Conv. |
| * Result = Raw conv. result (RCR) + shift - OFS - sum(CLPx) + sum(CLMx) - 0x0800 + |
| * CLPD RCR = Plus-side conversion - Minus-side conversion In equation above, |
| * the sum of CLPx does not include CLPD value and CLMD never has any affect on |
| * final conversion result. The factor of 0x0800 only gets subtracted only if plus |
| * compare output is a logic 1 after completion of minus-side conversion and prior |
| * to start of plus-side conversion. Shift values Mode Shift value 00 0x0040 01 |
| * 0x0004 10 0x0010 11 0x0000 Unused bits in R n are cleared in unsigned |
| * right-aligned modes and carry the sign bit (MSB) in sign-extended 2's complement |
| * modes. For example, when configured for 10-bit single-ended mode, D[15:10] are |
| * cleared. When configured for 11-bit differential mode, D[15:10] carry the sign |
| * bit, that is, bit 10 extended through bit 15. The following table describes the |
| * behavior of the data result registers in the different modes of operation. Data |
| * result register description Conversion mode D15 D14 D13 D12 D11 D10 D9 D8 D7 |
| * D6 D5 D4 D3 D2 D1 D0 Format 16-bit differential S D D D D D D D D D D D D D D |
| * D Signed 2's complement 16-bit single-ended D D D D D D D D D D D D D D D D |
| * Unsigned right justified 13-bit differential S S S S D D D D D D D D D D D D |
| * Sign-extended 2's complement 12-bit single-ended 0 0 0 0 D D D D D D D D D D D D |
| * Unsigned right-justified 11-bit differential S S S S S S D D D D D D D D D D |
| * Sign-extended 2's complement 10-bit single-ended 0 0 0 0 0 0 D D D D D D D D D |
| * D Unsigned right-justified 9-bit differential S S S S S S S S D D D D D D D D |
| * Sign-extended 2's complement 8-bit single-ended 0 0 0 0 0 0 0 0 D D D D D D D |
| * D Unsigned right-justified S: Sign bit or sign bit extension; D: Data, which |
| * is 2's complement data if indicated |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_R register |
| */ |
| /*@{*/ |
| #define ADC_RD_R(base, index) (ADC_R_REG(base, index)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_R bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_R, field D[15:0] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_R_D field. */ |
| #define ADC_RD_R_D(base, index) ((ADC_R_REG(base, index) & ADC_R_D_MASK) >> ADC_R_D_SHIFT) |
| #define ADC_BRD_R_D(base, index) (BME_UBFX32(&ADC_R_REG(base, index), ADC_R_D_SHIFT, ADC_R_D_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CV1 - Compare Value Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CV1 - Compare Value Registers (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Compare Value Registers (CV1 and CV2) contain a compare value used to |
| * compare the conversion result when the compare function is enabled, that is, |
| * SC2[ACFE]=1. This register is formatted in the same way as the Rn registers in |
| * different modes of operation for both bit position definition and value format |
| * using unsigned or sign-extended 2's complement. Therefore, the compare function |
| * uses only the CVn fields that are related to the ADC mode of operation. The |
| * compare value 2 register (CV2) is used only when the compare range function is |
| * enabled, that is, SC2[ACREN]=1. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CV1 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CV1(base) (ADC_CV1_REG(base)) |
| #define ADC_WR_CV1(base, value) (ADC_CV1_REG(base) = (value)) |
| #define ADC_RMW_CV1(base, mask, value) (ADC_WR_CV1(base, (ADC_RD_CV1(base) & ~(mask)) | (value))) |
| #define ADC_SET_CV1(base, value) (BME_OR32(&ADC_CV1_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CV1(base, value) (BME_AND32(&ADC_CV1_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CV1(base, value) (BME_XOR32(&ADC_CV1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CV1 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CV1, field CV[15:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CV1_CV field. */ |
| #define ADC_RD_CV1_CV(base) ((ADC_CV1_REG(base) & ADC_CV1_CV_MASK) >> ADC_CV1_CV_SHIFT) |
| #define ADC_BRD_CV1_CV(base) (BME_UBFX32(&ADC_CV1_REG(base), ADC_CV1_CV_SHIFT, ADC_CV1_CV_WIDTH)) |
| |
| /*! @brief Set the CV field to a new value. */ |
| #define ADC_WR_CV1_CV(base, value) (ADC_RMW_CV1(base, ADC_CV1_CV_MASK, ADC_CV1_CV(value))) |
| #define ADC_BWR_CV1_CV(base, value) (BME_BFI32(&ADC_CV1_REG(base), ((uint32_t)(value) << ADC_CV1_CV_SHIFT), ADC_CV1_CV_SHIFT, ADC_CV1_CV_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CV2 - Compare Value Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CV2 - Compare Value Registers (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Compare Value Registers (CV1 and CV2) contain a compare value used to |
| * compare the conversion result when the compare function is enabled, that is, |
| * SC2[ACFE]=1. This register is formatted in the same way as the Rn registers in |
| * different modes of operation for both bit position definition and value format |
| * using unsigned or sign-extended 2's complement. Therefore, the compare function |
| * uses only the CVn fields that are related to the ADC mode of operation. The |
| * compare value 2 register (CV2) is used only when the compare range function is |
| * enabled, that is, SC2[ACREN]=1. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CV2 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CV2(base) (ADC_CV2_REG(base)) |
| #define ADC_WR_CV2(base, value) (ADC_CV2_REG(base) = (value)) |
| #define ADC_RMW_CV2(base, mask, value) (ADC_WR_CV2(base, (ADC_RD_CV2(base) & ~(mask)) | (value))) |
| #define ADC_SET_CV2(base, value) (BME_OR32(&ADC_CV2_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CV2(base, value) (BME_AND32(&ADC_CV2_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CV2(base, value) (BME_XOR32(&ADC_CV2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CV2 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CV2, field CV[15:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CV2_CV field. */ |
| #define ADC_RD_CV2_CV(base) ((ADC_CV2_REG(base) & ADC_CV2_CV_MASK) >> ADC_CV2_CV_SHIFT) |
| #define ADC_BRD_CV2_CV(base) (BME_UBFX32(&ADC_CV2_REG(base), ADC_CV2_CV_SHIFT, ADC_CV2_CV_WIDTH)) |
| |
| /*! @brief Set the CV field to a new value. */ |
| #define ADC_WR_CV2_CV(base, value) (ADC_RMW_CV2(base, ADC_CV2_CV_MASK, ADC_CV2_CV(value))) |
| #define ADC_BWR_CV2_CV(base, value) (BME_BFI32(&ADC_CV2_REG(base), ((uint32_t)(value) << ADC_CV2_CV_SHIFT), ADC_CV2_CV_SHIFT, ADC_CV2_CV_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_SC2 - Status and Control Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_SC2 - Status and Control Register 2 (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The status and control register 2 (SC2) contains the conversion active, |
| * hardware/software trigger select, compare function, and voltage reference select of |
| * the ADC module. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_SC2 register |
| */ |
| /*@{*/ |
| #define ADC_RD_SC2(base) (ADC_SC2_REG(base)) |
| #define ADC_WR_SC2(base, value) (ADC_SC2_REG(base) = (value)) |
| #define ADC_RMW_SC2(base, mask, value) (ADC_WR_SC2(base, (ADC_RD_SC2(base) & ~(mask)) | (value))) |
| #define ADC_SET_SC2(base, value) (BME_OR32(&ADC_SC2_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_SC2(base, value) (BME_AND32(&ADC_SC2_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_SC2(base, value) (BME_XOR32(&ADC_SC2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_SC2 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_SC2, field REFSEL[1:0] (RW) |
| * |
| * Selects the voltage reference source used for conversions. |
| * |
| * Values: |
| * - 0b00 - Default voltage reference pin pair, that is, external pins VREFH and |
| * VREFL |
| * - 0b01 - Alternate reference pair, that is, VALTH and VALTL . This pair may |
| * be additional external pins or internal sources depending on the MCU |
| * configuration. See the chip configuration information for details specific to |
| * this MCU |
| * - 0b10 - Reserved |
| * - 0b11 - Reserved - Selects default voltage reference (V REFH and V REFL ) |
| * pin pair. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC2_REFSEL field. */ |
| #define ADC_RD_SC2_REFSEL(base) ((ADC_SC2_REG(base) & ADC_SC2_REFSEL_MASK) >> ADC_SC2_REFSEL_SHIFT) |
| #define ADC_BRD_SC2_REFSEL(base) (BME_UBFX32(&ADC_SC2_REG(base), ADC_SC2_REFSEL_SHIFT, ADC_SC2_REFSEL_WIDTH)) |
| |
| /*! @brief Set the REFSEL field to a new value. */ |
| #define ADC_WR_SC2_REFSEL(base, value) (ADC_RMW_SC2(base, ADC_SC2_REFSEL_MASK, ADC_SC2_REFSEL(value))) |
| #define ADC_BWR_SC2_REFSEL(base, value) (BME_BFI32(&ADC_SC2_REG(base), ((uint32_t)(value) << ADC_SC2_REFSEL_SHIFT), ADC_SC2_REFSEL_SHIFT, ADC_SC2_REFSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC2, field DMAEN[2] (RW) |
| * |
| * Values: |
| * - 0b0 - DMA is disabled. |
| * - 0b1 - DMA is enabled and will assert the ADC DMA request during an ADC |
| * conversion complete event noted when any of the SC1n[COCO] flags is asserted. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC2_DMAEN field. */ |
| #define ADC_RD_SC2_DMAEN(base) ((ADC_SC2_REG(base) & ADC_SC2_DMAEN_MASK) >> ADC_SC2_DMAEN_SHIFT) |
| #define ADC_BRD_SC2_DMAEN(base) (BME_UBFX32(&ADC_SC2_REG(base), ADC_SC2_DMAEN_SHIFT, ADC_SC2_DMAEN_WIDTH)) |
| |
| /*! @brief Set the DMAEN field to a new value. */ |
| #define ADC_WR_SC2_DMAEN(base, value) (ADC_RMW_SC2(base, ADC_SC2_DMAEN_MASK, ADC_SC2_DMAEN(value))) |
| #define ADC_BWR_SC2_DMAEN(base, value) (BME_BFI32(&ADC_SC2_REG(base), ((uint32_t)(value) << ADC_SC2_DMAEN_SHIFT), ADC_SC2_DMAEN_SHIFT, ADC_SC2_DMAEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC2, field ACREN[3] (RW) |
| * |
| * Configures the compare function to check if the conversion result of the |
| * input being monitored is either between or outside the range formed by CV1 and CV2 |
| * determined by the value of ACFGT. ACFE must be set for ACFGT to have any |
| * effect. |
| * |
| * Values: |
| * - 0b0 - Range function disabled. Only CV1 is compared. |
| * - 0b1 - Range function enabled. Both CV1 and CV2 are compared. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC2_ACREN field. */ |
| #define ADC_RD_SC2_ACREN(base) ((ADC_SC2_REG(base) & ADC_SC2_ACREN_MASK) >> ADC_SC2_ACREN_SHIFT) |
| #define ADC_BRD_SC2_ACREN(base) (BME_UBFX32(&ADC_SC2_REG(base), ADC_SC2_ACREN_SHIFT, ADC_SC2_ACREN_WIDTH)) |
| |
| /*! @brief Set the ACREN field to a new value. */ |
| #define ADC_WR_SC2_ACREN(base, value) (ADC_RMW_SC2(base, ADC_SC2_ACREN_MASK, ADC_SC2_ACREN(value))) |
| #define ADC_BWR_SC2_ACREN(base, value) (BME_BFI32(&ADC_SC2_REG(base), ((uint32_t)(value) << ADC_SC2_ACREN_SHIFT), ADC_SC2_ACREN_SHIFT, ADC_SC2_ACREN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC2, field ACFGT[4] (RW) |
| * |
| * Configures the compare function to check the conversion result relative to |
| * the CV1 and CV2 based upon the value of ACREN. ACFE must be set for ACFGT to |
| * have any effect. |
| * |
| * Values: |
| * - 0b0 - Configures less than threshold, outside range not inclusive and |
| * inside range not inclusive; functionality based on the values placed in CV1 and |
| * CV2. |
| * - 0b1 - Configures greater than or equal to threshold, outside and inside |
| * ranges inclusive; functionality based on the values placed in CV1 and CV2. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC2_ACFGT field. */ |
| #define ADC_RD_SC2_ACFGT(base) ((ADC_SC2_REG(base) & ADC_SC2_ACFGT_MASK) >> ADC_SC2_ACFGT_SHIFT) |
| #define ADC_BRD_SC2_ACFGT(base) (BME_UBFX32(&ADC_SC2_REG(base), ADC_SC2_ACFGT_SHIFT, ADC_SC2_ACFGT_WIDTH)) |
| |
| /*! @brief Set the ACFGT field to a new value. */ |
| #define ADC_WR_SC2_ACFGT(base, value) (ADC_RMW_SC2(base, ADC_SC2_ACFGT_MASK, ADC_SC2_ACFGT(value))) |
| #define ADC_BWR_SC2_ACFGT(base, value) (BME_BFI32(&ADC_SC2_REG(base), ((uint32_t)(value) << ADC_SC2_ACFGT_SHIFT), ADC_SC2_ACFGT_SHIFT, ADC_SC2_ACFGT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC2, field ACFE[5] (RW) |
| * |
| * Enables the compare function. |
| * |
| * Values: |
| * - 0b0 - Compare function disabled. |
| * - 0b1 - Compare function enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC2_ACFE field. */ |
| #define ADC_RD_SC2_ACFE(base) ((ADC_SC2_REG(base) & ADC_SC2_ACFE_MASK) >> ADC_SC2_ACFE_SHIFT) |
| #define ADC_BRD_SC2_ACFE(base) (BME_UBFX32(&ADC_SC2_REG(base), ADC_SC2_ACFE_SHIFT, ADC_SC2_ACFE_WIDTH)) |
| |
| /*! @brief Set the ACFE field to a new value. */ |
| #define ADC_WR_SC2_ACFE(base, value) (ADC_RMW_SC2(base, ADC_SC2_ACFE_MASK, ADC_SC2_ACFE(value))) |
| #define ADC_BWR_SC2_ACFE(base, value) (BME_BFI32(&ADC_SC2_REG(base), ((uint32_t)(value) << ADC_SC2_ACFE_SHIFT), ADC_SC2_ACFE_SHIFT, ADC_SC2_ACFE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC2, field ADTRG[6] (RW) |
| * |
| * Selects the type of trigger used for initiating a conversion. Two types of |
| * trigger are selectable: Software trigger: When software trigger is selected, a |
| * conversion is initiated following a write to SC1A. Hardware trigger: When |
| * hardware trigger is selected, a conversion is initiated following the assertion of |
| * the ADHWT input after a pulse of the ADHWTSn input. |
| * |
| * Values: |
| * - 0b0 - Software trigger selected. |
| * - 0b1 - Hardware trigger selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC2_ADTRG field. */ |
| #define ADC_RD_SC2_ADTRG(base) ((ADC_SC2_REG(base) & ADC_SC2_ADTRG_MASK) >> ADC_SC2_ADTRG_SHIFT) |
| #define ADC_BRD_SC2_ADTRG(base) (BME_UBFX32(&ADC_SC2_REG(base), ADC_SC2_ADTRG_SHIFT, ADC_SC2_ADTRG_WIDTH)) |
| |
| /*! @brief Set the ADTRG field to a new value. */ |
| #define ADC_WR_SC2_ADTRG(base, value) (ADC_RMW_SC2(base, ADC_SC2_ADTRG_MASK, ADC_SC2_ADTRG(value))) |
| #define ADC_BWR_SC2_ADTRG(base, value) (BME_BFI32(&ADC_SC2_REG(base), ((uint32_t)(value) << ADC_SC2_ADTRG_SHIFT), ADC_SC2_ADTRG_SHIFT, ADC_SC2_ADTRG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC2, field ADACT[7] (RO) |
| * |
| * Indicates that a conversion or hardware averaging is in progress. ADACT is |
| * set when a conversion is initiated and cleared when a conversion is completed or |
| * aborted. |
| * |
| * Values: |
| * - 0b0 - Conversion not in progress. |
| * - 0b1 - Conversion in progress. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC2_ADACT field. */ |
| #define ADC_RD_SC2_ADACT(base) ((ADC_SC2_REG(base) & ADC_SC2_ADACT_MASK) >> ADC_SC2_ADACT_SHIFT) |
| #define ADC_BRD_SC2_ADACT(base) (BME_UBFX32(&ADC_SC2_REG(base), ADC_SC2_ADACT_SHIFT, ADC_SC2_ADACT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_SC3 - Status and Control Register 3 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_SC3 - Status and Control Register 3 (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Status and Control Register 3 (SC3) controls the calibration, continuous |
| * convert, and hardware averaging functions of the ADC module. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_SC3 register |
| */ |
| /*@{*/ |
| #define ADC_RD_SC3(base) (ADC_SC3_REG(base)) |
| #define ADC_WR_SC3(base, value) (ADC_SC3_REG(base) = (value)) |
| #define ADC_RMW_SC3(base, mask, value) (ADC_WR_SC3(base, (ADC_RD_SC3(base) & ~(mask)) | (value))) |
| #define ADC_SET_SC3(base, value) (BME_OR32(&ADC_SC3_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_SC3(base, value) (BME_AND32(&ADC_SC3_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_SC3(base, value) (BME_XOR32(&ADC_SC3_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_SC3 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_SC3, field AVGS[1:0] (RW) |
| * |
| * Determines how many ADC conversions will be averaged to create the ADC |
| * average result. |
| * |
| * Values: |
| * - 0b00 - 4 samples averaged. |
| * - 0b01 - 8 samples averaged. |
| * - 0b10 - 16 samples averaged. |
| * - 0b11 - 32 samples averaged. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC3_AVGS field. */ |
| #define ADC_RD_SC3_AVGS(base) ((ADC_SC3_REG(base) & ADC_SC3_AVGS_MASK) >> ADC_SC3_AVGS_SHIFT) |
| #define ADC_BRD_SC3_AVGS(base) (BME_UBFX32(&ADC_SC3_REG(base), ADC_SC3_AVGS_SHIFT, ADC_SC3_AVGS_WIDTH)) |
| |
| /*! @brief Set the AVGS field to a new value. */ |
| #define ADC_WR_SC3_AVGS(base, value) (ADC_RMW_SC3(base, (ADC_SC3_AVGS_MASK | ADC_SC3_CALF_MASK), ADC_SC3_AVGS(value))) |
| #define ADC_BWR_SC3_AVGS(base, value) (BME_BFI32(&ADC_SC3_REG(base), ((uint32_t)(value) << ADC_SC3_AVGS_SHIFT), ADC_SC3_AVGS_SHIFT, ADC_SC3_AVGS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC3, field AVGE[2] (RW) |
| * |
| * Enables the hardware average function of the ADC. |
| * |
| * Values: |
| * - 0b0 - Hardware average function disabled. |
| * - 0b1 - Hardware average function enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC3_AVGE field. */ |
| #define ADC_RD_SC3_AVGE(base) ((ADC_SC3_REG(base) & ADC_SC3_AVGE_MASK) >> ADC_SC3_AVGE_SHIFT) |
| #define ADC_BRD_SC3_AVGE(base) (BME_UBFX32(&ADC_SC3_REG(base), ADC_SC3_AVGE_SHIFT, ADC_SC3_AVGE_WIDTH)) |
| |
| /*! @brief Set the AVGE field to a new value. */ |
| #define ADC_WR_SC3_AVGE(base, value) (ADC_RMW_SC3(base, (ADC_SC3_AVGE_MASK | ADC_SC3_CALF_MASK), ADC_SC3_AVGE(value))) |
| #define ADC_BWR_SC3_AVGE(base, value) (BME_BFI32(&ADC_SC3_REG(base), ((uint32_t)(value) << ADC_SC3_AVGE_SHIFT), ADC_SC3_AVGE_SHIFT, ADC_SC3_AVGE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC3, field ADCO[3] (RW) |
| * |
| * Enables continuous conversions. |
| * |
| * Values: |
| * - 0b0 - One conversion or one set of conversions if the hardware average |
| * function is enabled, that is, AVGE=1, after initiating a conversion. |
| * - 0b1 - Continuous conversions or sets of conversions if the hardware average |
| * function is enabled, that is, AVGE=1, after initiating a conversion. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC3_ADCO field. */ |
| #define ADC_RD_SC3_ADCO(base) ((ADC_SC3_REG(base) & ADC_SC3_ADCO_MASK) >> ADC_SC3_ADCO_SHIFT) |
| #define ADC_BRD_SC3_ADCO(base) (BME_UBFX32(&ADC_SC3_REG(base), ADC_SC3_ADCO_SHIFT, ADC_SC3_ADCO_WIDTH)) |
| |
| /*! @brief Set the ADCO field to a new value. */ |
| #define ADC_WR_SC3_ADCO(base, value) (ADC_RMW_SC3(base, (ADC_SC3_ADCO_MASK | ADC_SC3_CALF_MASK), ADC_SC3_ADCO(value))) |
| #define ADC_BWR_SC3_ADCO(base, value) (BME_BFI32(&ADC_SC3_REG(base), ((uint32_t)(value) << ADC_SC3_ADCO_SHIFT), ADC_SC3_ADCO_SHIFT, ADC_SC3_ADCO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC3, field CALF[6] (W1C) |
| * |
| * Displays the result of the calibration sequence. The calibration sequence |
| * will fail if SC2[ADTRG] = 1, any ADC register is written, or any stop mode is |
| * entered before the calibration sequence completes. Writing 1 to CALF clears it. |
| * |
| * Values: |
| * - 0b0 - Calibration completed normally. |
| * - 0b1 - Calibration failed. ADC accuracy specifications are not guaranteed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC3_CALF field. */ |
| #define ADC_RD_SC3_CALF(base) ((ADC_SC3_REG(base) & ADC_SC3_CALF_MASK) >> ADC_SC3_CALF_SHIFT) |
| #define ADC_BRD_SC3_CALF(base) (BME_UBFX32(&ADC_SC3_REG(base), ADC_SC3_CALF_SHIFT, ADC_SC3_CALF_WIDTH)) |
| |
| /*! @brief Set the CALF field to a new value. */ |
| #define ADC_WR_SC3_CALF(base, value) (ADC_RMW_SC3(base, ADC_SC3_CALF_MASK, ADC_SC3_CALF(value))) |
| #define ADC_BWR_SC3_CALF(base, value) (BME_BFI32(&ADC_SC3_REG(base), ((uint32_t)(value) << ADC_SC3_CALF_SHIFT), ADC_SC3_CALF_SHIFT, ADC_SC3_CALF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ADC_SC3, field CAL[7] (RW) |
| * |
| * Begins the calibration sequence when set. This field stays set while the |
| * calibration is in progress and is cleared when the calibration sequence is |
| * completed. CALF must be checked to determine the result of the calibration sequence. |
| * Once started, the calibration routine cannot be interrupted by writes to the |
| * ADC registers or the results will be invalid and CALF will set. Setting CAL |
| * will abort any current conversion. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_SC3_CAL field. */ |
| #define ADC_RD_SC3_CAL(base) ((ADC_SC3_REG(base) & ADC_SC3_CAL_MASK) >> ADC_SC3_CAL_SHIFT) |
| #define ADC_BRD_SC3_CAL(base) (BME_UBFX32(&ADC_SC3_REG(base), ADC_SC3_CAL_SHIFT, ADC_SC3_CAL_WIDTH)) |
| |
| /*! @brief Set the CAL field to a new value. */ |
| #define ADC_WR_SC3_CAL(base, value) (ADC_RMW_SC3(base, (ADC_SC3_CAL_MASK | ADC_SC3_CALF_MASK), ADC_SC3_CAL(value))) |
| #define ADC_BWR_SC3_CAL(base, value) (BME_BFI32(&ADC_SC3_REG(base), ((uint32_t)(value) << ADC_SC3_CAL_SHIFT), ADC_SC3_CAL_SHIFT, ADC_SC3_CAL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_OFS - ADC Offset Correction Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_OFS - ADC Offset Correction Register (RW) |
| * |
| * Reset value: 0x00000004U |
| * |
| * The ADC Offset Correction Register (OFS) contains the user-selected or |
| * calibration-generated offset error correction value. This register is a 2's |
| * complement, left-justified, 16-bit value . The value in OFS is subtracted from the |
| * conversion and the result is transferred into the result registers, Rn. If the |
| * result is greater than the maximum or less than the minimum result value, it is |
| * forced to the appropriate limit for the current mode of operation. It is |
| * forced to 0xFFFF if over and 0x0000 if lower The formatting of the ADC offset |
| * correction register is different from the data result registers (Rn) to preserve |
| * the resolution of the calibration value regardless of the conversion mode |
| * selected. Lower order bits are ignored in lower resolution modes. For example, in |
| * 8-bit single-ended mode, the bits OFS[14:7] are subtracted from D[7:0]; bit |
| * OFS[15] indicates the sign (negative numbers are effectively added to the result) |
| * and bits OFS[6:0] are ignored. The same bits are used in 9-bit differential |
| * mode since bit OFS[15] indicates the sign bit, which maps to bit D[8]. For |
| * 16-bit differential mode, all bits OFS[15:0] are directly subtracted from the |
| * conversion result data D[15:0]. Finally, in 16-bit single-ended mode, there is no |
| * bit in the ADC offset correction register corresponding to the least |
| * significant result bit D[0], so odd values (-1 or +1, and so on) cannot be subtracted |
| * from the result. There is an effective limit to the offset values that can be |
| * set by the user. If the magnitude of the offset is too great the results of the |
| * conversions will cap off at the limits. OFS is automatically set according to |
| * calibration requirements once the self calibration sequence is done (CAL is |
| * cleared). The user may write OFS to override the calibration result if desired. |
| * If the ADC offset correction register is written by the user to a value that |
| * is different from the calibration value, the ADC error specifications may not |
| * be met. It is recommended that the value generated by the calibration function |
| * be stored in memory before overwriting with a user specified value. For more |
| * information regarding the calibration procedure, please refer to the |
| * Calibration functionThe ADC contains a self-calibration function that is required to |
| * achieve the specified accuracy. section. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_OFS register |
| */ |
| /*@{*/ |
| #define ADC_RD_OFS(base) (ADC_OFS_REG(base)) |
| #define ADC_WR_OFS(base, value) (ADC_OFS_REG(base) = (value)) |
| #define ADC_RMW_OFS(base, mask, value) (ADC_WR_OFS(base, (ADC_RD_OFS(base) & ~(mask)) | (value))) |
| #define ADC_SET_OFS(base, value) (BME_OR32(&ADC_OFS_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_OFS(base, value) (BME_AND32(&ADC_OFS_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_OFS(base, value) (BME_XOR32(&ADC_OFS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_OFS bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_OFS, field OFS[15:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_OFS_OFS field. */ |
| #define ADC_RD_OFS_OFS(base) ((ADC_OFS_REG(base) & ADC_OFS_OFS_MASK) >> ADC_OFS_OFS_SHIFT) |
| #define ADC_BRD_OFS_OFS(base) (BME_UBFX32(&ADC_OFS_REG(base), ADC_OFS_OFS_SHIFT, ADC_OFS_OFS_WIDTH)) |
| |
| /*! @brief Set the OFS field to a new value. */ |
| #define ADC_WR_OFS_OFS(base, value) (ADC_RMW_OFS(base, ADC_OFS_OFS_MASK, ADC_OFS_OFS(value))) |
| #define ADC_BWR_OFS_OFS(base, value) (BME_BFI32(&ADC_OFS_REG(base), ((uint32_t)(value) << ADC_OFS_OFS_SHIFT), ADC_OFS_OFS_SHIFT, ADC_OFS_OFS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_PG - ADC Plus-Side Gain Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_PG - ADC Plus-Side Gain Register (RW) |
| * |
| * Reset value: 0x00008200U |
| * |
| * In non-16-bit half-sample mode (Mode[1:0] not equal to 11), the plus-side |
| * gain is automatically loaded from CLP4[9:0] and the MSBs are forced to half (bits |
| * 16-10 = 0100000). The Plus-Side Gain Register (PG) contains the gain error |
| * correction for the plus-side input in differential mode or the overall |
| * conversion in single-ended mode. PG, a 16-bit real number in binary format, is the gain |
| * adjustment factor, with the radix point fixed between PG[15] and PG[14]. This |
| * register must be written by the user with the value described in the |
| * calibration procedure. Otherwise, the gain error specifications may not be met. The |
| * allowable range is from 0.25 (PGH:PGL = 0x2000) to 1.03122 (PGH:PGL = 0x83FF). |
| * If this register is written to values outside this range the ADC will not |
| * operate correctly. For more information regarding the calibration procedure, please |
| * refer to the Calibration functionThe ADC contains a self-calibration function |
| * that is required to achieve the specified accuracy. section. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_PG register |
| */ |
| /*@{*/ |
| #define ADC_RD_PG(base) (ADC_PG_REG(base)) |
| #define ADC_WR_PG(base, value) (ADC_PG_REG(base) = (value)) |
| #define ADC_RMW_PG(base, mask, value) (ADC_WR_PG(base, (ADC_RD_PG(base) & ~(mask)) | (value))) |
| #define ADC_SET_PG(base, value) (BME_OR32(&ADC_PG_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_PG(base, value) (BME_AND32(&ADC_PG_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_PG(base, value) (BME_XOR32(&ADC_PG_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_PG bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_PG, field PG[15:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_PG_PG field. */ |
| #define ADC_RD_PG_PG(base) ((ADC_PG_REG(base) & ADC_PG_PG_MASK) >> ADC_PG_PG_SHIFT) |
| #define ADC_BRD_PG_PG(base) (BME_UBFX32(&ADC_PG_REG(base), ADC_PG_PG_SHIFT, ADC_PG_PG_WIDTH)) |
| |
| /*! @brief Set the PG field to a new value. */ |
| #define ADC_WR_PG_PG(base, value) (ADC_RMW_PG(base, ADC_PG_PG_MASK, ADC_PG_PG(value))) |
| #define ADC_BWR_PG_PG(base, value) (BME_BFI32(&ADC_PG_REG(base), ((uint32_t)(value) << ADC_PG_PG_SHIFT), ADC_PG_PG_SHIFT, ADC_PG_PG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_MG - ADC Minus-Side Gain Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_MG - ADC Minus-Side Gain Register (RW) |
| * |
| * Reset value: 0x00008200U |
| * |
| * The Minus-Side Gain Register (MG) contains the gain error correction for the |
| * minus-side input in differential mode. This register is ignored in |
| * single-ended mode. MG, a 16-bit real number in binary format, is the gain adjustment |
| * factor, with the radix point fixed between MG[15] and MG[14]. This register must |
| * be written by the user with the value described in the calibration procedure. |
| * Otherwise, the gain error specifications may not be met. The allowable range is |
| * from 0.25 (MG = 0x2000) to 1.03122 (MG = 0x83FF). If this register is written |
| * to values outside this range the ADC will not operate correctly. For more |
| * information regarding the calibration procedure, please refer to the Calibration |
| * functionThe ADC contains a self-calibration function that is required to |
| * achieve the specified accuracy. section. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_MG register |
| */ |
| /*@{*/ |
| #define ADC_RD_MG(base) (ADC_MG_REG(base)) |
| #define ADC_WR_MG(base, value) (ADC_MG_REG(base) = (value)) |
| #define ADC_RMW_MG(base, mask, value) (ADC_WR_MG(base, (ADC_RD_MG(base) & ~(mask)) | (value))) |
| #define ADC_SET_MG(base, value) (BME_OR32(&ADC_MG_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_MG(base, value) (BME_AND32(&ADC_MG_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_MG(base, value) (BME_XOR32(&ADC_MG_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_MG bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_MG, field MG[15:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_MG_MG field. */ |
| #define ADC_RD_MG_MG(base) ((ADC_MG_REG(base) & ADC_MG_MG_MASK) >> ADC_MG_MG_SHIFT) |
| #define ADC_BRD_MG_MG(base) (BME_UBFX32(&ADC_MG_REG(base), ADC_MG_MG_SHIFT, ADC_MG_MG_WIDTH)) |
| |
| /*! @brief Set the MG field to a new value. */ |
| #define ADC_WR_MG_MG(base, value) (ADC_RMW_MG(base, ADC_MG_MG_MASK, ADC_MG_MG(value))) |
| #define ADC_BWR_MG_MG(base, value) (BME_BFI32(&ADC_MG_REG(base), ((uint32_t)(value) << ADC_MG_MG_SHIFT), ADC_MG_MG_SHIFT, ADC_MG_MG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLPD - ADC Plus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLPD - ADC Plus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x0000000AU |
| * |
| * The Plus-Side General Calibration Value Registers (CLPx) contain calibration |
| * information that is generated by the calibration function. These registers |
| * contain seven calibration values of varying widths: CLP0[5:0], CLP1[6:0], |
| * CLP2[7:0], CLP3[8:0], CLP4[9:0], CLPS[5:0], and CLPD[5:0]. CLPx are automatically set |
| * when the self-calibration sequence is done, that is, CAL is cleared. If these |
| * registers are written by the user after calibration, the linearity error |
| * specifications may not be met. These calibration values (CLPx) will affect the end |
| * conversion result by having there values subtracted from the conversion |
| * before end result is transferred into the result register. (CLP4 is only subtracted |
| * from conversion result if the compare output value from ADC hard block is |
| * equal to logic 0 during the 1st and 2nd compare cycle. CLPS register value is |
| * subtracted from conversion result if ADC is configured in 16-bit Mode and the |
| * compare output value from the ADC hard block is equal to logic 0 during 1st, 2nd, |
| * 3rd, and the 4th compare cycles.) For more information regarding the |
| * calibration procedure, please refer to the Calibration functionThe ADC contains a |
| * self-calibration function that is required to achieve the specified accuracy. |
| * section. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLPD register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLPD(base) (ADC_CLPD_REG(base)) |
| #define ADC_WR_CLPD(base, value) (ADC_CLPD_REG(base) = (value)) |
| #define ADC_RMW_CLPD(base, mask, value) (ADC_WR_CLPD(base, (ADC_RD_CLPD(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLPD(base, value) (BME_OR32(&ADC_CLPD_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLPD(base, value) (BME_AND32(&ADC_CLPD_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLPD(base, value) (BME_XOR32(&ADC_CLPD_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLPD bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLPD, field CLPD[5:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLPD_CLPD field. */ |
| #define ADC_RD_CLPD_CLPD(base) ((ADC_CLPD_REG(base) & ADC_CLPD_CLPD_MASK) >> ADC_CLPD_CLPD_SHIFT) |
| #define ADC_BRD_CLPD_CLPD(base) (BME_UBFX32(&ADC_CLPD_REG(base), ADC_CLPD_CLPD_SHIFT, ADC_CLPD_CLPD_WIDTH)) |
| |
| /*! @brief Set the CLPD field to a new value. */ |
| #define ADC_WR_CLPD_CLPD(base, value) (ADC_RMW_CLPD(base, ADC_CLPD_CLPD_MASK, ADC_CLPD_CLPD(value))) |
| #define ADC_BWR_CLPD_CLPD(base, value) (BME_BFI32(&ADC_CLPD_REG(base), ((uint32_t)(value) << ADC_CLPD_CLPD_SHIFT), ADC_CLPD_CLPD_SHIFT, ADC_CLPD_CLPD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLPS - ADC Plus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLPS - ADC Plus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000020U |
| * |
| * For more information, see CLPD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLPS register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLPS(base) (ADC_CLPS_REG(base)) |
| #define ADC_WR_CLPS(base, value) (ADC_CLPS_REG(base) = (value)) |
| #define ADC_RMW_CLPS(base, mask, value) (ADC_WR_CLPS(base, (ADC_RD_CLPS(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLPS(base, value) (BME_OR32(&ADC_CLPS_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLPS(base, value) (BME_AND32(&ADC_CLPS_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLPS(base, value) (BME_XOR32(&ADC_CLPS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLPS bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLPS, field CLPS[5:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLPS_CLPS field. */ |
| #define ADC_RD_CLPS_CLPS(base) ((ADC_CLPS_REG(base) & ADC_CLPS_CLPS_MASK) >> ADC_CLPS_CLPS_SHIFT) |
| #define ADC_BRD_CLPS_CLPS(base) (BME_UBFX32(&ADC_CLPS_REG(base), ADC_CLPS_CLPS_SHIFT, ADC_CLPS_CLPS_WIDTH)) |
| |
| /*! @brief Set the CLPS field to a new value. */ |
| #define ADC_WR_CLPS_CLPS(base, value) (ADC_RMW_CLPS(base, ADC_CLPS_CLPS_MASK, ADC_CLPS_CLPS(value))) |
| #define ADC_BWR_CLPS_CLPS(base, value) (BME_BFI32(&ADC_CLPS_REG(base), ((uint32_t)(value) << ADC_CLPS_CLPS_SHIFT), ADC_CLPS_CLPS_SHIFT, ADC_CLPS_CLPS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLP4 - ADC Plus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLP4 - ADC Plus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000200U |
| * |
| * For more information, see CLPD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLP4 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLP4(base) (ADC_CLP4_REG(base)) |
| #define ADC_WR_CLP4(base, value) (ADC_CLP4_REG(base) = (value)) |
| #define ADC_RMW_CLP4(base, mask, value) (ADC_WR_CLP4(base, (ADC_RD_CLP4(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLP4(base, value) (BME_OR32(&ADC_CLP4_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLP4(base, value) (BME_AND32(&ADC_CLP4_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLP4(base, value) (BME_XOR32(&ADC_CLP4_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLP4 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLP4, field CLP4[9:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLP4_CLP4 field. */ |
| #define ADC_RD_CLP4_CLP4(base) ((ADC_CLP4_REG(base) & ADC_CLP4_CLP4_MASK) >> ADC_CLP4_CLP4_SHIFT) |
| #define ADC_BRD_CLP4_CLP4(base) (BME_UBFX32(&ADC_CLP4_REG(base), ADC_CLP4_CLP4_SHIFT, ADC_CLP4_CLP4_WIDTH)) |
| |
| /*! @brief Set the CLP4 field to a new value. */ |
| #define ADC_WR_CLP4_CLP4(base, value) (ADC_RMW_CLP4(base, ADC_CLP4_CLP4_MASK, ADC_CLP4_CLP4(value))) |
| #define ADC_BWR_CLP4_CLP4(base, value) (BME_BFI32(&ADC_CLP4_REG(base), ((uint32_t)(value) << ADC_CLP4_CLP4_SHIFT), ADC_CLP4_CLP4_SHIFT, ADC_CLP4_CLP4_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLP3 - ADC Plus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLP3 - ADC Plus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000100U |
| * |
| * For more information, see CLPD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLP3 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLP3(base) (ADC_CLP3_REG(base)) |
| #define ADC_WR_CLP3(base, value) (ADC_CLP3_REG(base) = (value)) |
| #define ADC_RMW_CLP3(base, mask, value) (ADC_WR_CLP3(base, (ADC_RD_CLP3(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLP3(base, value) (BME_OR32(&ADC_CLP3_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLP3(base, value) (BME_AND32(&ADC_CLP3_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLP3(base, value) (BME_XOR32(&ADC_CLP3_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLP3 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLP3, field CLP3[8:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLP3_CLP3 field. */ |
| #define ADC_RD_CLP3_CLP3(base) ((ADC_CLP3_REG(base) & ADC_CLP3_CLP3_MASK) >> ADC_CLP3_CLP3_SHIFT) |
| #define ADC_BRD_CLP3_CLP3(base) (BME_UBFX32(&ADC_CLP3_REG(base), ADC_CLP3_CLP3_SHIFT, ADC_CLP3_CLP3_WIDTH)) |
| |
| /*! @brief Set the CLP3 field to a new value. */ |
| #define ADC_WR_CLP3_CLP3(base, value) (ADC_RMW_CLP3(base, ADC_CLP3_CLP3_MASK, ADC_CLP3_CLP3(value))) |
| #define ADC_BWR_CLP3_CLP3(base, value) (BME_BFI32(&ADC_CLP3_REG(base), ((uint32_t)(value) << ADC_CLP3_CLP3_SHIFT), ADC_CLP3_CLP3_SHIFT, ADC_CLP3_CLP3_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLP2 - ADC Plus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLP2 - ADC Plus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000080U |
| * |
| * For more information, see CLPD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLP2 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLP2(base) (ADC_CLP2_REG(base)) |
| #define ADC_WR_CLP2(base, value) (ADC_CLP2_REG(base) = (value)) |
| #define ADC_RMW_CLP2(base, mask, value) (ADC_WR_CLP2(base, (ADC_RD_CLP2(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLP2(base, value) (BME_OR32(&ADC_CLP2_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLP2(base, value) (BME_AND32(&ADC_CLP2_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLP2(base, value) (BME_XOR32(&ADC_CLP2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLP2 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLP2, field CLP2[7:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLP2_CLP2 field. */ |
| #define ADC_RD_CLP2_CLP2(base) ((ADC_CLP2_REG(base) & ADC_CLP2_CLP2_MASK) >> ADC_CLP2_CLP2_SHIFT) |
| #define ADC_BRD_CLP2_CLP2(base) (BME_UBFX32(&ADC_CLP2_REG(base), ADC_CLP2_CLP2_SHIFT, ADC_CLP2_CLP2_WIDTH)) |
| |
| /*! @brief Set the CLP2 field to a new value. */ |
| #define ADC_WR_CLP2_CLP2(base, value) (ADC_RMW_CLP2(base, ADC_CLP2_CLP2_MASK, ADC_CLP2_CLP2(value))) |
| #define ADC_BWR_CLP2_CLP2(base, value) (BME_BFI32(&ADC_CLP2_REG(base), ((uint32_t)(value) << ADC_CLP2_CLP2_SHIFT), ADC_CLP2_CLP2_SHIFT, ADC_CLP2_CLP2_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLP1 - ADC Plus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLP1 - ADC Plus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000040U |
| * |
| * For more information, see CLPD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLP1 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLP1(base) (ADC_CLP1_REG(base)) |
| #define ADC_WR_CLP1(base, value) (ADC_CLP1_REG(base) = (value)) |
| #define ADC_RMW_CLP1(base, mask, value) (ADC_WR_CLP1(base, (ADC_RD_CLP1(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLP1(base, value) (BME_OR32(&ADC_CLP1_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLP1(base, value) (BME_AND32(&ADC_CLP1_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLP1(base, value) (BME_XOR32(&ADC_CLP1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLP1 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLP1, field CLP1[6:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLP1_CLP1 field. */ |
| #define ADC_RD_CLP1_CLP1(base) ((ADC_CLP1_REG(base) & ADC_CLP1_CLP1_MASK) >> ADC_CLP1_CLP1_SHIFT) |
| #define ADC_BRD_CLP1_CLP1(base) (BME_UBFX32(&ADC_CLP1_REG(base), ADC_CLP1_CLP1_SHIFT, ADC_CLP1_CLP1_WIDTH)) |
| |
| /*! @brief Set the CLP1 field to a new value. */ |
| #define ADC_WR_CLP1_CLP1(base, value) (ADC_RMW_CLP1(base, ADC_CLP1_CLP1_MASK, ADC_CLP1_CLP1(value))) |
| #define ADC_BWR_CLP1_CLP1(base, value) (BME_BFI32(&ADC_CLP1_REG(base), ((uint32_t)(value) << ADC_CLP1_CLP1_SHIFT), ADC_CLP1_CLP1_SHIFT, ADC_CLP1_CLP1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLP0 - ADC Plus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLP0 - ADC Plus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000020U |
| * |
| * For more information, see CLPD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLP0 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLP0(base) (ADC_CLP0_REG(base)) |
| #define ADC_WR_CLP0(base, value) (ADC_CLP0_REG(base) = (value)) |
| #define ADC_RMW_CLP0(base, mask, value) (ADC_WR_CLP0(base, (ADC_RD_CLP0(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLP0(base, value) (BME_OR32(&ADC_CLP0_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLP0(base, value) (BME_AND32(&ADC_CLP0_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLP0(base, value) (BME_XOR32(&ADC_CLP0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLP0 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLP0, field CLP0[5:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLP0_CLP0 field. */ |
| #define ADC_RD_CLP0_CLP0(base) ((ADC_CLP0_REG(base) & ADC_CLP0_CLP0_MASK) >> ADC_CLP0_CLP0_SHIFT) |
| #define ADC_BRD_CLP0_CLP0(base) (BME_UBFX32(&ADC_CLP0_REG(base), ADC_CLP0_CLP0_SHIFT, ADC_CLP0_CLP0_WIDTH)) |
| |
| /*! @brief Set the CLP0 field to a new value. */ |
| #define ADC_WR_CLP0_CLP0(base, value) (ADC_RMW_CLP0(base, ADC_CLP0_CLP0_MASK, ADC_CLP0_CLP0(value))) |
| #define ADC_BWR_CLP0_CLP0(base, value) (BME_BFI32(&ADC_CLP0_REG(base), ((uint32_t)(value) << ADC_CLP0_CLP0_SHIFT), ADC_CLP0_CLP0_SHIFT, ADC_CLP0_CLP0_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLMD - ADC Minus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLMD - ADC Minus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x0000000AU |
| * |
| * The Minus-Side General Calibration Value (CLMx) registers contain calibration |
| * information that is generated by the calibration function. These registers |
| * contain seven calibration values of varying widths: CLM0[5:0], CLM1[6:0], |
| * CLM2[7:0], CLM3[8:0], CLM4[9:0], CLMS[5:0], and CLMD[5:0]. CLMx are automatically |
| * set when the self-calibration sequence is done, that is, CAL is cleared. If |
| * these registers are written by the user after calibration, the linearity error |
| * specifications may not be met. If Differential is enabled (DIFF=1), these |
| * calibration values (CLMx) with the exception of CLMD will affect the end conversion |
| * result by having there values subtracted from the conversion before end result |
| * is transferred into the result register. (CLM4 is only subtracted from |
| * conversion result if the compare output value from ADC hard block is equal to logic 0 |
| * during the 1st and 2nd compare cycle. CLMS register value is subtracted from |
| * conversion result if ADC is configured in 16-bit Mode and the compare output |
| * value from the ADC hard block is equal to logic 0 during 1st, 2nd, 3rd, and the |
| * 4th compare cycles.) For more information regarding the calibration |
| * procedure, please refer to the Calibration functionThe ADC contains a self-calibration |
| * function that is required to achieve the specified accuracy. section. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLMD register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLMD(base) (ADC_CLMD_REG(base)) |
| #define ADC_WR_CLMD(base, value) (ADC_CLMD_REG(base) = (value)) |
| #define ADC_RMW_CLMD(base, mask, value) (ADC_WR_CLMD(base, (ADC_RD_CLMD(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLMD(base, value) (BME_OR32(&ADC_CLMD_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLMD(base, value) (BME_AND32(&ADC_CLMD_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLMD(base, value) (BME_XOR32(&ADC_CLMD_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLMD bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLMD, field CLMD[5:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLMD_CLMD field. */ |
| #define ADC_RD_CLMD_CLMD(base) ((ADC_CLMD_REG(base) & ADC_CLMD_CLMD_MASK) >> ADC_CLMD_CLMD_SHIFT) |
| #define ADC_BRD_CLMD_CLMD(base) (BME_UBFX32(&ADC_CLMD_REG(base), ADC_CLMD_CLMD_SHIFT, ADC_CLMD_CLMD_WIDTH)) |
| |
| /*! @brief Set the CLMD field to a new value. */ |
| #define ADC_WR_CLMD_CLMD(base, value) (ADC_RMW_CLMD(base, ADC_CLMD_CLMD_MASK, ADC_CLMD_CLMD(value))) |
| #define ADC_BWR_CLMD_CLMD(base, value) (BME_BFI32(&ADC_CLMD_REG(base), ((uint32_t)(value) << ADC_CLMD_CLMD_SHIFT), ADC_CLMD_CLMD_SHIFT, ADC_CLMD_CLMD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLMS - ADC Minus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLMS - ADC Minus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000020U |
| * |
| * For more information, see CLMD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLMS register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLMS(base) (ADC_CLMS_REG(base)) |
| #define ADC_WR_CLMS(base, value) (ADC_CLMS_REG(base) = (value)) |
| #define ADC_RMW_CLMS(base, mask, value) (ADC_WR_CLMS(base, (ADC_RD_CLMS(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLMS(base, value) (BME_OR32(&ADC_CLMS_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLMS(base, value) (BME_AND32(&ADC_CLMS_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLMS(base, value) (BME_XOR32(&ADC_CLMS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLMS bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLMS, field CLMS[5:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLMS_CLMS field. */ |
| #define ADC_RD_CLMS_CLMS(base) ((ADC_CLMS_REG(base) & ADC_CLMS_CLMS_MASK) >> ADC_CLMS_CLMS_SHIFT) |
| #define ADC_BRD_CLMS_CLMS(base) (BME_UBFX32(&ADC_CLMS_REG(base), ADC_CLMS_CLMS_SHIFT, ADC_CLMS_CLMS_WIDTH)) |
| |
| /*! @brief Set the CLMS field to a new value. */ |
| #define ADC_WR_CLMS_CLMS(base, value) (ADC_RMW_CLMS(base, ADC_CLMS_CLMS_MASK, ADC_CLMS_CLMS(value))) |
| #define ADC_BWR_CLMS_CLMS(base, value) (BME_BFI32(&ADC_CLMS_REG(base), ((uint32_t)(value) << ADC_CLMS_CLMS_SHIFT), ADC_CLMS_CLMS_SHIFT, ADC_CLMS_CLMS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLM4 - ADC Minus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLM4 - ADC Minus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000200U |
| * |
| * For more information, see CLMD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLM4 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLM4(base) (ADC_CLM4_REG(base)) |
| #define ADC_WR_CLM4(base, value) (ADC_CLM4_REG(base) = (value)) |
| #define ADC_RMW_CLM4(base, mask, value) (ADC_WR_CLM4(base, (ADC_RD_CLM4(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLM4(base, value) (BME_OR32(&ADC_CLM4_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLM4(base, value) (BME_AND32(&ADC_CLM4_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLM4(base, value) (BME_XOR32(&ADC_CLM4_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLM4 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLM4, field CLM4[9:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLM4_CLM4 field. */ |
| #define ADC_RD_CLM4_CLM4(base) ((ADC_CLM4_REG(base) & ADC_CLM4_CLM4_MASK) >> ADC_CLM4_CLM4_SHIFT) |
| #define ADC_BRD_CLM4_CLM4(base) (BME_UBFX32(&ADC_CLM4_REG(base), ADC_CLM4_CLM4_SHIFT, ADC_CLM4_CLM4_WIDTH)) |
| |
| /*! @brief Set the CLM4 field to a new value. */ |
| #define ADC_WR_CLM4_CLM4(base, value) (ADC_RMW_CLM4(base, ADC_CLM4_CLM4_MASK, ADC_CLM4_CLM4(value))) |
| #define ADC_BWR_CLM4_CLM4(base, value) (BME_BFI32(&ADC_CLM4_REG(base), ((uint32_t)(value) << ADC_CLM4_CLM4_SHIFT), ADC_CLM4_CLM4_SHIFT, ADC_CLM4_CLM4_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLM3 - ADC Minus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLM3 - ADC Minus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000100U |
| * |
| * For more information, see CLMD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLM3 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLM3(base) (ADC_CLM3_REG(base)) |
| #define ADC_WR_CLM3(base, value) (ADC_CLM3_REG(base) = (value)) |
| #define ADC_RMW_CLM3(base, mask, value) (ADC_WR_CLM3(base, (ADC_RD_CLM3(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLM3(base, value) (BME_OR32(&ADC_CLM3_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLM3(base, value) (BME_AND32(&ADC_CLM3_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLM3(base, value) (BME_XOR32(&ADC_CLM3_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLM3 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLM3, field CLM3[8:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLM3_CLM3 field. */ |
| #define ADC_RD_CLM3_CLM3(base) ((ADC_CLM3_REG(base) & ADC_CLM3_CLM3_MASK) >> ADC_CLM3_CLM3_SHIFT) |
| #define ADC_BRD_CLM3_CLM3(base) (BME_UBFX32(&ADC_CLM3_REG(base), ADC_CLM3_CLM3_SHIFT, ADC_CLM3_CLM3_WIDTH)) |
| |
| /*! @brief Set the CLM3 field to a new value. */ |
| #define ADC_WR_CLM3_CLM3(base, value) (ADC_RMW_CLM3(base, ADC_CLM3_CLM3_MASK, ADC_CLM3_CLM3(value))) |
| #define ADC_BWR_CLM3_CLM3(base, value) (BME_BFI32(&ADC_CLM3_REG(base), ((uint32_t)(value) << ADC_CLM3_CLM3_SHIFT), ADC_CLM3_CLM3_SHIFT, ADC_CLM3_CLM3_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLM2 - ADC Minus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLM2 - ADC Minus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000080U |
| * |
| * For more information, see CLMD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLM2 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLM2(base) (ADC_CLM2_REG(base)) |
| #define ADC_WR_CLM2(base, value) (ADC_CLM2_REG(base) = (value)) |
| #define ADC_RMW_CLM2(base, mask, value) (ADC_WR_CLM2(base, (ADC_RD_CLM2(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLM2(base, value) (BME_OR32(&ADC_CLM2_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLM2(base, value) (BME_AND32(&ADC_CLM2_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLM2(base, value) (BME_XOR32(&ADC_CLM2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLM2 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLM2, field CLM2[7:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLM2_CLM2 field. */ |
| #define ADC_RD_CLM2_CLM2(base) ((ADC_CLM2_REG(base) & ADC_CLM2_CLM2_MASK) >> ADC_CLM2_CLM2_SHIFT) |
| #define ADC_BRD_CLM2_CLM2(base) (BME_UBFX32(&ADC_CLM2_REG(base), ADC_CLM2_CLM2_SHIFT, ADC_CLM2_CLM2_WIDTH)) |
| |
| /*! @brief Set the CLM2 field to a new value. */ |
| #define ADC_WR_CLM2_CLM2(base, value) (ADC_RMW_CLM2(base, ADC_CLM2_CLM2_MASK, ADC_CLM2_CLM2(value))) |
| #define ADC_BWR_CLM2_CLM2(base, value) (BME_BFI32(&ADC_CLM2_REG(base), ((uint32_t)(value) << ADC_CLM2_CLM2_SHIFT), ADC_CLM2_CLM2_SHIFT, ADC_CLM2_CLM2_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLM1 - ADC Minus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLM1 - ADC Minus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000040U |
| * |
| * For more information, see CLMD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLM1 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLM1(base) (ADC_CLM1_REG(base)) |
| #define ADC_WR_CLM1(base, value) (ADC_CLM1_REG(base) = (value)) |
| #define ADC_RMW_CLM1(base, mask, value) (ADC_WR_CLM1(base, (ADC_RD_CLM1(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLM1(base, value) (BME_OR32(&ADC_CLM1_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLM1(base, value) (BME_AND32(&ADC_CLM1_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLM1(base, value) (BME_XOR32(&ADC_CLM1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLM1 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLM1, field CLM1[6:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLM1_CLM1 field. */ |
| #define ADC_RD_CLM1_CLM1(base) ((ADC_CLM1_REG(base) & ADC_CLM1_CLM1_MASK) >> ADC_CLM1_CLM1_SHIFT) |
| #define ADC_BRD_CLM1_CLM1(base) (BME_UBFX32(&ADC_CLM1_REG(base), ADC_CLM1_CLM1_SHIFT, ADC_CLM1_CLM1_WIDTH)) |
| |
| /*! @brief Set the CLM1 field to a new value. */ |
| #define ADC_WR_CLM1_CLM1(base, value) (ADC_RMW_CLM1(base, ADC_CLM1_CLM1_MASK, ADC_CLM1_CLM1(value))) |
| #define ADC_BWR_CLM1_CLM1(base, value) (BME_BFI32(&ADC_CLM1_REG(base), ((uint32_t)(value) << ADC_CLM1_CLM1_SHIFT), ADC_CLM1_CLM1_SHIFT, ADC_CLM1_CLM1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ADC_CLM0 - ADC Minus-Side General Calibration Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ADC_CLM0 - ADC Minus-Side General Calibration Value Register (RW) |
| * |
| * Reset value: 0x00000020U |
| * |
| * For more information, see CLMD register description. |
| */ |
| /*! |
| * @name Constants and macros for entire ADC_CLM0 register |
| */ |
| /*@{*/ |
| #define ADC_RD_CLM0(base) (ADC_CLM0_REG(base)) |
| #define ADC_WR_CLM0(base, value) (ADC_CLM0_REG(base) = (value)) |
| #define ADC_RMW_CLM0(base, mask, value) (ADC_WR_CLM0(base, (ADC_RD_CLM0(base) & ~(mask)) | (value))) |
| #define ADC_SET_CLM0(base, value) (BME_OR32(&ADC_CLM0_REG(base), (uint32_t)(value))) |
| #define ADC_CLR_CLM0(base, value) (BME_AND32(&ADC_CLM0_REG(base), (uint32_t)(~(value)))) |
| #define ADC_TOG_CLM0(base, value) (BME_XOR32(&ADC_CLM0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ADC_CLM0 bitfields |
| */ |
| |
| /*! |
| * @name Register ADC_CLM0, field CLM0[5:0] (RW) |
| * |
| * Calibration Value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ADC_CLM0_CLM0 field. */ |
| #define ADC_RD_CLM0_CLM0(base) ((ADC_CLM0_REG(base) & ADC_CLM0_CLM0_MASK) >> ADC_CLM0_CLM0_SHIFT) |
| #define ADC_BRD_CLM0_CLM0(base) (BME_UBFX32(&ADC_CLM0_REG(base), ADC_CLM0_CLM0_SHIFT, ADC_CLM0_CLM0_WIDTH)) |
| |
| /*! @brief Set the CLM0 field to a new value. */ |
| #define ADC_WR_CLM0_CLM0(base, value) (ADC_RMW_CLM0(base, ADC_CLM0_CLM0_MASK, ADC_CLM0_CLM0(value))) |
| #define ADC_BWR_CLM0_CLM0(base, value) (BME_BFI32(&ADC_CLM0_REG(base), ((uint32_t)(value) << ADC_CLM0_CLM0_SHIFT), ADC_CLM0_CLM0_SHIFT, ADC_CLM0_CLM0_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 BLE_RF_REGS |
| * |
| * Bluetooth Low Energy RF Registers |
| * |
| * Registers defined in this header file: |
| * - BLE_RF_REGS_BLE_PART_ID - Bluetooth Low Energy Part ID |
| * - BLE_RF_REGS_DSM_STATUS - DSM Status |
| * - BLE_RF_REGS_BLE_AFC - Bluetooth Low Energy AFC |
| * - BLE_RF_REGS_BLE_BSM - Bluetooth Low Energy BSM |
| */ |
| |
| #define BLE_RF_REGS_INSTANCE_COUNT (1U) /*!< Number of instances of the BLE_RF_REGS module. */ |
| #define BLE_RF_REGS_IDX (0U) /*!< Instance number for BLE_RF_REGS. */ |
| |
| /******************************************************************************* |
| * BLE_RF_REGS_BLE_PART_ID - Bluetooth Low Energy Part ID |
| ******************************************************************************/ |
| |
| /*! |
| * @brief BLE_RF_REGS_BLE_PART_ID - Bluetooth Low Energy Part ID (RO) |
| * |
| * Reset value: 0x0001U |
| */ |
| /*! |
| * @name Constants and macros for entire BLE_RF_REGS_BLE_PART_ID register |
| */ |
| /*@{*/ |
| #define BLE_RF_REGS_RD_BLE_PART_ID(base) (BLE_RF_REGS_BLE_PART_ID_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * BLE_RF_REGS_DSM_STATUS - DSM Status |
| ******************************************************************************/ |
| |
| /*! |
| * @brief BLE_RF_REGS_DSM_STATUS - DSM Status (RO) |
| * |
| * Reset value: 0x0000U |
| */ |
| /*! |
| * @name Constants and macros for entire BLE_RF_REGS_DSM_STATUS register |
| */ |
| /*@{*/ |
| #define BLE_RF_REGS_RD_DSM_STATUS(base) (BLE_RF_REGS_DSM_STATUS_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual BLE_RF_REGS_DSM_STATUS bitfields |
| */ |
| |
| /*! |
| * @name Register BLE_RF_REGS_DSM_STATUS, field ORF_SYSCLK_REQ[0] (RO) |
| * |
| * Reflects the state of the BLE LL output of the same name, the control signal |
| * used to enable/disable the RF Oscillator for entry and exit from DSM (deep |
| * sleep mode). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the BLE_RF_REGS_DSM_STATUS_ORF_SYSCLK_REQ field. */ |
| #define BLE_RF_REGS_RD_DSM_STATUS_ORF_SYSCLK_REQ(base) ((BLE_RF_REGS_DSM_STATUS_REG(base) & BLE_RF_REGS_DSM_STATUS_ORF_SYSCLK_REQ_MASK) >> BLE_RF_REGS_DSM_STATUS_ORF_SYSCLK_REQ_SHIFT) |
| #define BLE_RF_REGS_BRD_DSM_STATUS_ORF_SYSCLK_REQ(base) (BME_UBFX16(&BLE_RF_REGS_DSM_STATUS_REG(base), BLE_RF_REGS_DSM_STATUS_ORF_SYSCLK_REQ_SHIFT, BLE_RF_REGS_DSM_STATUS_ORF_SYSCLK_REQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register BLE_RF_REGS_DSM_STATUS, field RIF_LL_ACTIVE[1] (RO) |
| * |
| * Reflects the state of the BLE LL output of the same name, the signal to be |
| * used by the host as an 'early' indication to prevent host to do any operations |
| * while the BLE block is doing transceiver operations, so as to reduce the peak |
| * power and noise. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the BLE_RF_REGS_DSM_STATUS_RIF_LL_ACTIVE field. */ |
| #define BLE_RF_REGS_RD_DSM_STATUS_RIF_LL_ACTIVE(base) ((BLE_RF_REGS_DSM_STATUS_REG(base) & BLE_RF_REGS_DSM_STATUS_RIF_LL_ACTIVE_MASK) >> BLE_RF_REGS_DSM_STATUS_RIF_LL_ACTIVE_SHIFT) |
| #define BLE_RF_REGS_BRD_DSM_STATUS_RIF_LL_ACTIVE(base) (BME_UBFX16(&BLE_RF_REGS_DSM_STATUS_REG(base), BLE_RF_REGS_DSM_STATUS_RIF_LL_ACTIVE_SHIFT, BLE_RF_REGS_DSM_STATUS_RIF_LL_ACTIVE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * BLE_RF_REGS_BLE_AFC - Bluetooth Low Energy AFC |
| ******************************************************************************/ |
| |
| /*! |
| * @brief BLE_RF_REGS_BLE_AFC - Bluetooth Low Energy AFC (RW) |
| * |
| * Reset value: 0x0000U |
| */ |
| /*! |
| * @name Constants and macros for entire BLE_RF_REGS_BLE_AFC register |
| */ |
| /*@{*/ |
| #define BLE_RF_REGS_RD_BLE_AFC(base) (BLE_RF_REGS_BLE_AFC_REG(base)) |
| #define BLE_RF_REGS_WR_BLE_AFC(base, value) (BLE_RF_REGS_BLE_AFC_REG(base) = (value)) |
| #define BLE_RF_REGS_RMW_BLE_AFC(base, mask, value) (BLE_RF_REGS_WR_BLE_AFC(base, (BLE_RF_REGS_RD_BLE_AFC(base) & ~(mask)) | (value))) |
| #define BLE_RF_REGS_SET_BLE_AFC(base, value) (BME_OR16(&BLE_RF_REGS_BLE_AFC_REG(base), (uint16_t)(value))) |
| #define BLE_RF_REGS_CLR_BLE_AFC(base, value) (BME_AND16(&BLE_RF_REGS_BLE_AFC_REG(base), (uint16_t)(~(value)))) |
| #define BLE_RF_REGS_TOG_BLE_AFC(base, value) (BME_XOR16(&BLE_RF_REGS_BLE_AFC_REG(base), (uint16_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual BLE_RF_REGS_BLE_AFC bitfields |
| */ |
| |
| /*! |
| * @name Register BLE_RF_REGS_BLE_AFC, field BLE_AFC[13:0] (RO) |
| * |
| * This field holds the result of the most recent BLE RX AFC (Automatic |
| * Frequency Correction) estimation. A new AFC estimation will be generated whenever |
| * preamble is detected. If LATCH_AFC_ON_ACCESS_MATCH=1, BLE_AFC will be latched on |
| * access address match, and will not change until the next access address match. |
| * Otherwise, BLE_AFC will be updated whenever preamble is detected. This is a |
| * 14-bit, signed, two's complement value. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the BLE_RF_REGS_BLE_AFC_BLE_AFC field. */ |
| #define BLE_RF_REGS_RD_BLE_AFC_BLE_AFC(base) ((BLE_RF_REGS_BLE_AFC_REG(base) & BLE_RF_REGS_BLE_AFC_BLE_AFC_MASK) >> BLE_RF_REGS_BLE_AFC_BLE_AFC_SHIFT) |
| #define BLE_RF_REGS_BRD_BLE_AFC_BLE_AFC(base) (BME_UBFX16(&BLE_RF_REGS_BLE_AFC_REG(base), BLE_RF_REGS_BLE_AFC_BLE_AFC_SHIFT, BLE_RF_REGS_BLE_AFC_BLE_AFC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register BLE_RF_REGS_BLE_AFC, field LATCH_AFC_ON_ACCESS_MATCH[15] (RW) |
| * |
| * Values: |
| * - 0b0 - BLE_AFC[13:0] is updated whenever preamble is detected |
| * - 0b1 - BLE_AFC[13:0] is latched at access address match, and will not be |
| * updated until the next access address match. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the BLE_RF_REGS_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH field. */ |
| #define BLE_RF_REGS_RD_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH(base) ((BLE_RF_REGS_BLE_AFC_REG(base) & BLE_RF_REGS_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH_MASK) >> BLE_RF_REGS_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH_SHIFT) |
| #define BLE_RF_REGS_BRD_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH(base) (BME_UBFX16(&BLE_RF_REGS_BLE_AFC_REG(base), BLE_RF_REGS_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH_SHIFT, BLE_RF_REGS_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH_WIDTH)) |
| |
| /*! @brief Set the LATCH_AFC_ON_ACCESS_MATCH field to a new value. */ |
| #define BLE_RF_REGS_WR_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH(base, value) (BLE_RF_REGS_RMW_BLE_AFC(base, BLE_RF_REGS_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH_MASK, BLE_RF_REGS_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH(value))) |
| #define BLE_RF_REGS_BWR_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH(base, value) (BME_BFI16(&BLE_RF_REGS_BLE_AFC_REG(base), ((uint16_t)(value) << BLE_RF_REGS_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH_SHIFT), BLE_RF_REGS_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH_SHIFT, BLE_RF_REGS_BLE_AFC_LATCH_AFC_ON_ACCESS_MATCH_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * BLE_RF_REGS_BLE_BSM - Bluetooth Low Energy BSM |
| ******************************************************************************/ |
| |
| /*! |
| * @brief BLE_RF_REGS_BLE_BSM - Bluetooth Low Energy BSM (RW) |
| * |
| * Reset value: 0x0000U |
| */ |
| /*! |
| * @name Constants and macros for entire BLE_RF_REGS_BLE_BSM register |
| */ |
| /*@{*/ |
| #define BLE_RF_REGS_RD_BLE_BSM(base) (BLE_RF_REGS_BLE_BSM_REG(base)) |
| #define BLE_RF_REGS_WR_BLE_BSM(base, value) (BLE_RF_REGS_BLE_BSM_REG(base) = (value)) |
| #define BLE_RF_REGS_RMW_BLE_BSM(base, mask, value) (BLE_RF_REGS_WR_BLE_BSM(base, (BLE_RF_REGS_RD_BLE_BSM(base) & ~(mask)) | (value))) |
| #define BLE_RF_REGS_SET_BLE_BSM(base, value) (BME_OR16(&BLE_RF_REGS_BLE_BSM_REG(base), (uint16_t)(value))) |
| #define BLE_RF_REGS_CLR_BLE_BSM(base, value) (BME_AND16(&BLE_RF_REGS_BLE_BSM_REG(base), (uint16_t)(~(value)))) |
| #define BLE_RF_REGS_TOG_BLE_BSM(base, value) (BME_XOR16(&BLE_RF_REGS_BLE_BSM_REG(base), (uint16_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual BLE_RF_REGS_BLE_BSM bitfields |
| */ |
| |
| /*! |
| * @name Register BLE_RF_REGS_BLE_BSM, field BSM_EN_BLE[0] (RW) |
| * |
| * When enabled, the 3 BSM outputs (BSM_DATA, BSM_FRAME, and BSM_BLK) appear on |
| * the BSM interface pins of the SoC. In Apache, these are alternate, muxed-GPIO |
| * pins, so the appropriate port programming is required. |
| * |
| * Values: |
| * - 0b0 - BLE Bit Streaming Mode disabled |
| * - 0b1 - BLE Bit Streaming Mode enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the BLE_RF_REGS_BLE_BSM_BSM_EN_BLE field. */ |
| #define BLE_RF_REGS_RD_BLE_BSM_BSM_EN_BLE(base) ((BLE_RF_REGS_BLE_BSM_REG(base) & BLE_RF_REGS_BLE_BSM_BSM_EN_BLE_MASK) >> BLE_RF_REGS_BLE_BSM_BSM_EN_BLE_SHIFT) |
| #define BLE_RF_REGS_BRD_BLE_BSM_BSM_EN_BLE(base) (BME_UBFX16(&BLE_RF_REGS_BLE_BSM_REG(base), BLE_RF_REGS_BLE_BSM_BSM_EN_BLE_SHIFT, BLE_RF_REGS_BLE_BSM_BSM_EN_BLE_WIDTH)) |
| |
| /*! @brief Set the BSM_EN_BLE field to a new value. */ |
| #define BLE_RF_REGS_WR_BLE_BSM_BSM_EN_BLE(base, value) (BLE_RF_REGS_RMW_BLE_BSM(base, BLE_RF_REGS_BLE_BSM_BSM_EN_BLE_MASK, BLE_RF_REGS_BLE_BSM_BSM_EN_BLE(value))) |
| #define BLE_RF_REGS_BWR_BLE_BSM_BSM_EN_BLE(base, value) (BME_BFI16(&BLE_RF_REGS_BLE_BSM_REG(base), ((uint16_t)(value) << BLE_RF_REGS_BLE_BSM_BSM_EN_BLE_SHIFT), BLE_RF_REGS_BLE_BSM_BSM_EN_BLE_SHIFT, BLE_RF_REGS_BLE_BSM_BSM_EN_BLE_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 CMP |
| * |
| * High-Speed Comparator (CMP), Voltage Reference (VREF) Digital-to-Analog Converter (DAC), and Analog Mux (ANMUX) |
| * |
| * Registers defined in this header file: |
| * - CMP_CR0 - CMP Control Register 0 |
| * - CMP_CR1 - CMP Control Register 1 |
| * - CMP_FPR - CMP Filter Period Register |
| * - CMP_SCR - CMP Status and Control Register |
| * - CMP_DACCR - DAC Control Register |
| * - CMP_MUXCR - MUX Control Register |
| */ |
| |
| #define CMP_INSTANCE_COUNT (1U) /*!< Number of instances of the CMP module. */ |
| #define CMP0_IDX (0U) /*!< Instance number for CMP0. */ |
| |
| /******************************************************************************* |
| * CMP_CR0 - CMP Control Register 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMP_CR0 - CMP Control Register 0 (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire CMP_CR0 register |
| */ |
| /*@{*/ |
| #define CMP_RD_CR0(base) (CMP_CR0_REG(base)) |
| #define CMP_WR_CR0(base, value) (CMP_CR0_REG(base) = (value)) |
| #define CMP_RMW_CR0(base, mask, value) (CMP_WR_CR0(base, (CMP_RD_CR0(base) & ~(mask)) | (value))) |
| #define CMP_SET_CR0(base, value) (BME_OR8(&CMP_CR0_REG(base), (uint8_t)(value))) |
| #define CMP_CLR_CR0(base, value) (BME_AND8(&CMP_CR0_REG(base), (uint8_t)(~(value)))) |
| #define CMP_TOG_CR0(base, value) (BME_XOR8(&CMP_CR0_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual CMP_CR0 bitfields |
| */ |
| |
| /*! |
| * @name Register CMP_CR0, field HYSTCTR[1:0] (RW) |
| * |
| * Defines the programmable hysteresis level. The hysteresis values associated |
| * with each level are device-specific. See the Data Sheet of the device for the |
| * exact values. |
| * |
| * Values: |
| * - 0b00 - Level 0 The hard block output has no hysteresis internally. |
| * - 0b01 - Level 1 The hard block output has 20 mv hysteresis internally. |
| * - 0b10 - Level 2 The hard block output has 40 mv hysteresis internally. |
| * - 0b11 - Level 3 The hard block output has 60 mv hysteresis internally. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_CR0_HYSTCTR field. */ |
| #define CMP_RD_CR0_HYSTCTR(base) ((CMP_CR0_REG(base) & CMP_CR0_HYSTCTR_MASK) >> CMP_CR0_HYSTCTR_SHIFT) |
| #define CMP_BRD_CR0_HYSTCTR(base) (BME_UBFX8(&CMP_CR0_REG(base), CMP_CR0_HYSTCTR_SHIFT, CMP_CR0_HYSTCTR_WIDTH)) |
| |
| /*! @brief Set the HYSTCTR field to a new value. */ |
| #define CMP_WR_CR0_HYSTCTR(base, value) (CMP_RMW_CR0(base, CMP_CR0_HYSTCTR_MASK, CMP_CR0_HYSTCTR(value))) |
| #define CMP_BWR_CR0_HYSTCTR(base, value) (BME_BFI8(&CMP_CR0_REG(base), ((uint8_t)(value) << CMP_CR0_HYSTCTR_SHIFT), CMP_CR0_HYSTCTR_SHIFT, CMP_CR0_HYSTCTR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_CR0, field FILTER_CNT[6:4] (RW) |
| * |
| * Represents the number of consecutive samples that must agree prior to the |
| * comparator ouput filter accepting a new output state. For information regarding |
| * filter programming and latency, see the Functional descriptionThe CMP module |
| * can be used to compare two analog input voltages applied to INP and INM. . |
| * |
| * Values: |
| * - 0b000 - Filter is disabled. SE = 0, COUT = COUTA. |
| * - 0b001 - One sample must agree. The comparator output is simply sampled. |
| * - 0b010 - 2 consecutive samples must agree. |
| * - 0b011 - 3 consecutive samples must agree. |
| * - 0b100 - 4 consecutive samples must agree. |
| * - 0b101 - 5 consecutive samples must agree. |
| * - 0b110 - 6 consecutive samples must agree. |
| * - 0b111 - 7 consecutive samples must agree. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_CR0_FILTER_CNT field. */ |
| #define CMP_RD_CR0_FILTER_CNT(base) ((CMP_CR0_REG(base) & CMP_CR0_FILTER_CNT_MASK) >> CMP_CR0_FILTER_CNT_SHIFT) |
| #define CMP_BRD_CR0_FILTER_CNT(base) (BME_UBFX8(&CMP_CR0_REG(base), CMP_CR0_FILTER_CNT_SHIFT, CMP_CR0_FILTER_CNT_WIDTH)) |
| |
| /*! @brief Set the FILTER_CNT field to a new value. */ |
| #define CMP_WR_CR0_FILTER_CNT(base, value) (CMP_RMW_CR0(base, CMP_CR0_FILTER_CNT_MASK, CMP_CR0_FILTER_CNT(value))) |
| #define CMP_BWR_CR0_FILTER_CNT(base, value) (BME_BFI8(&CMP_CR0_REG(base), ((uint8_t)(value) << CMP_CR0_FILTER_CNT_SHIFT), CMP_CR0_FILTER_CNT_SHIFT, CMP_CR0_FILTER_CNT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMP_CR1 - CMP Control Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMP_CR1 - CMP Control Register 1 (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire CMP_CR1 register |
| */ |
| /*@{*/ |
| #define CMP_RD_CR1(base) (CMP_CR1_REG(base)) |
| #define CMP_WR_CR1(base, value) (CMP_CR1_REG(base) = (value)) |
| #define CMP_RMW_CR1(base, mask, value) (CMP_WR_CR1(base, (CMP_RD_CR1(base) & ~(mask)) | (value))) |
| #define CMP_SET_CR1(base, value) (BME_OR8(&CMP_CR1_REG(base), (uint8_t)(value))) |
| #define CMP_CLR_CR1(base, value) (BME_AND8(&CMP_CR1_REG(base), (uint8_t)(~(value)))) |
| #define CMP_TOG_CR1(base, value) (BME_XOR8(&CMP_CR1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual CMP_CR1 bitfields |
| */ |
| |
| /*! |
| * @name Register CMP_CR1, field EN[0] (RW) |
| * |
| * Enables the Analog Comparator module. When the module is not enabled, it |
| * remains in the off state, and consumes no power. When the user selects the same |
| * input from analog mux to the positive and negative port, the comparator is |
| * disabled automatically. |
| * |
| * Values: |
| * - 0b0 - Analog Comparator is disabled. |
| * - 0b1 - Analog Comparator is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_CR1_EN field. */ |
| #define CMP_RD_CR1_EN(base) ((CMP_CR1_REG(base) & CMP_CR1_EN_MASK) >> CMP_CR1_EN_SHIFT) |
| #define CMP_BRD_CR1_EN(base) (BME_UBFX8(&CMP_CR1_REG(base), CMP_CR1_EN_SHIFT, CMP_CR1_EN_WIDTH)) |
| |
| /*! @brief Set the EN field to a new value. */ |
| #define CMP_WR_CR1_EN(base, value) (CMP_RMW_CR1(base, CMP_CR1_EN_MASK, CMP_CR1_EN(value))) |
| #define CMP_BWR_CR1_EN(base, value) (BME_BFI8(&CMP_CR1_REG(base), ((uint8_t)(value) << CMP_CR1_EN_SHIFT), CMP_CR1_EN_SHIFT, CMP_CR1_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_CR1, field OPE[1] (RW) |
| * |
| * Operation of the OPE bit varies, depending on how it is encapsulated within |
| * the system. There are two cases. |
| * |
| * Values: |
| * - 0b0 - CMPO is not available on the associated CMPO output pin. For devices |
| * that use explicit muxing control to I/O pin functions (DSC and non-Flexis |
| * ColdFire devices): If the comparator does not own the pin, this field has |
| * no effect. |
| * - 0b1 - CMPO is available on the associated CMPO output pin. For devices that |
| * use explicit muxing control to I/O pin functions (DSC and non-Flexis |
| * ColdFire devices): The comparator output (CMPO) is driven out on the |
| * associated CMPO output pin if the comparator owns the pin. If the comparator does |
| * not own the field, this bit has no effect. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_CR1_OPE field. */ |
| #define CMP_RD_CR1_OPE(base) ((CMP_CR1_REG(base) & CMP_CR1_OPE_MASK) >> CMP_CR1_OPE_SHIFT) |
| #define CMP_BRD_CR1_OPE(base) (BME_UBFX8(&CMP_CR1_REG(base), CMP_CR1_OPE_SHIFT, CMP_CR1_OPE_WIDTH)) |
| |
| /*! @brief Set the OPE field to a new value. */ |
| #define CMP_WR_CR1_OPE(base, value) (CMP_RMW_CR1(base, CMP_CR1_OPE_MASK, CMP_CR1_OPE(value))) |
| #define CMP_BWR_CR1_OPE(base, value) (BME_BFI8(&CMP_CR1_REG(base), ((uint8_t)(value) << CMP_CR1_OPE_SHIFT), CMP_CR1_OPE_SHIFT, CMP_CR1_OPE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_CR1, field COS[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Set the filtered comparator output (CMPO) to equal COUT. |
| * - 0b1 - Set the unfiltered comparator output (CMPO) to equal COUTA. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_CR1_COS field. */ |
| #define CMP_RD_CR1_COS(base) ((CMP_CR1_REG(base) & CMP_CR1_COS_MASK) >> CMP_CR1_COS_SHIFT) |
| #define CMP_BRD_CR1_COS(base) (BME_UBFX8(&CMP_CR1_REG(base), CMP_CR1_COS_SHIFT, CMP_CR1_COS_WIDTH)) |
| |
| /*! @brief Set the COS field to a new value. */ |
| #define CMP_WR_CR1_COS(base, value) (CMP_RMW_CR1(base, CMP_CR1_COS_MASK, CMP_CR1_COS(value))) |
| #define CMP_BWR_CR1_COS(base, value) (BME_BFI8(&CMP_CR1_REG(base), ((uint8_t)(value) << CMP_CR1_COS_SHIFT), CMP_CR1_COS_SHIFT, CMP_CR1_COS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_CR1, field INV[3] (RW) |
| * |
| * Allows selection of the polarity of the analog comparator function. It is |
| * also driven to the COUT output, on both the device pin and as SCR[COUT], when |
| * OPE=0. |
| * |
| * Values: |
| * - 0b0 - Does not invert the comparator output. |
| * - 0b1 - Inverts the comparator output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_CR1_INV field. */ |
| #define CMP_RD_CR1_INV(base) ((CMP_CR1_REG(base) & CMP_CR1_INV_MASK) >> CMP_CR1_INV_SHIFT) |
| #define CMP_BRD_CR1_INV(base) (BME_UBFX8(&CMP_CR1_REG(base), CMP_CR1_INV_SHIFT, CMP_CR1_INV_WIDTH)) |
| |
| /*! @brief Set the INV field to a new value. */ |
| #define CMP_WR_CR1_INV(base, value) (CMP_RMW_CR1(base, CMP_CR1_INV_MASK, CMP_CR1_INV(value))) |
| #define CMP_BWR_CR1_INV(base, value) (BME_BFI8(&CMP_CR1_REG(base), ((uint8_t)(value) << CMP_CR1_INV_SHIFT), CMP_CR1_INV_SHIFT, CMP_CR1_INV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_CR1, field PMODE[4] (RW) |
| * |
| * See the electrical specifications table in the device Data Sheet for details. |
| * |
| * Values: |
| * - 0b0 - Low-Speed (LS) Comparison mode selected. In this mode, CMP has slower |
| * output propagation delay and lower current consumption. |
| * - 0b1 - High-Speed (HS) Comparison mode selected. In this mode, CMP has |
| * faster output propagation delay and higher current consumption. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_CR1_PMODE field. */ |
| #define CMP_RD_CR1_PMODE(base) ((CMP_CR1_REG(base) & CMP_CR1_PMODE_MASK) >> CMP_CR1_PMODE_SHIFT) |
| #define CMP_BRD_CR1_PMODE(base) (BME_UBFX8(&CMP_CR1_REG(base), CMP_CR1_PMODE_SHIFT, CMP_CR1_PMODE_WIDTH)) |
| |
| /*! @brief Set the PMODE field to a new value. */ |
| #define CMP_WR_CR1_PMODE(base, value) (CMP_RMW_CR1(base, CMP_CR1_PMODE_MASK, CMP_CR1_PMODE(value))) |
| #define CMP_BWR_CR1_PMODE(base, value) (BME_BFI8(&CMP_CR1_REG(base), ((uint8_t)(value) << CMP_CR1_PMODE_SHIFT), CMP_CR1_PMODE_SHIFT, CMP_CR1_PMODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_CR1, field TRIGM[5] (RW) |
| * |
| * CMP and DAC are configured to CMP Trigger mode when CMP_CR1[TRIGM] is set to |
| * 1. In addition, the CMP should be enabled. If the DAC is to be used as a |
| * reference to the CMP, it should also be enabled. CMP Trigger mode depends on an |
| * external timer resource to periodically enable the CMP and 6-bit DAC in order to |
| * generate a triggered compare. Upon setting TRIGM, the CMP and DAC are placed |
| * in a standby state until an external timer resource trigger is received. See |
| * the chip configuration for details about the external timer resource. |
| * |
| * Values: |
| * - 0b0 - Trigger mode is disabled. |
| * - 0b1 - Trigger mode is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_CR1_TRIGM field. */ |
| #define CMP_RD_CR1_TRIGM(base) ((CMP_CR1_REG(base) & CMP_CR1_TRIGM_MASK) >> CMP_CR1_TRIGM_SHIFT) |
| #define CMP_BRD_CR1_TRIGM(base) (BME_UBFX8(&CMP_CR1_REG(base), CMP_CR1_TRIGM_SHIFT, CMP_CR1_TRIGM_WIDTH)) |
| |
| /*! @brief Set the TRIGM field to a new value. */ |
| #define CMP_WR_CR1_TRIGM(base, value) (CMP_RMW_CR1(base, CMP_CR1_TRIGM_MASK, CMP_CR1_TRIGM(value))) |
| #define CMP_BWR_CR1_TRIGM(base, value) (BME_BFI8(&CMP_CR1_REG(base), ((uint8_t)(value) << CMP_CR1_TRIGM_SHIFT), CMP_CR1_TRIGM_SHIFT, CMP_CR1_TRIGM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_CR1, field WE[6] (RW) |
| * |
| * The CMP does not support window compare function and a 0 must always be |
| * written to WE. |
| * |
| * Values: |
| * - 0b0 - Windowing mode is not selected. |
| * - 0b1 - Windowing mode is selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_CR1_WE field. */ |
| #define CMP_RD_CR1_WE(base) ((CMP_CR1_REG(base) & CMP_CR1_WE_MASK) >> CMP_CR1_WE_SHIFT) |
| #define CMP_BRD_CR1_WE(base) (BME_UBFX8(&CMP_CR1_REG(base), CMP_CR1_WE_SHIFT, CMP_CR1_WE_WIDTH)) |
| |
| /*! @brief Set the WE field to a new value. */ |
| #define CMP_WR_CR1_WE(base, value) (CMP_RMW_CR1(base, CMP_CR1_WE_MASK, CMP_CR1_WE(value))) |
| #define CMP_BWR_CR1_WE(base, value) (BME_BFI8(&CMP_CR1_REG(base), ((uint8_t)(value) << CMP_CR1_WE_SHIFT), CMP_CR1_WE_SHIFT, CMP_CR1_WE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_CR1, field SE[7] (RW) |
| * |
| * SE must be clear to 0 and usage of sample operation is limited to a divided |
| * version of the bus clock. |
| * |
| * Values: |
| * - 0b0 - Sampling mode is not selected. |
| * - 0b1 - Sampling mode is selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_CR1_SE field. */ |
| #define CMP_RD_CR1_SE(base) ((CMP_CR1_REG(base) & CMP_CR1_SE_MASK) >> CMP_CR1_SE_SHIFT) |
| #define CMP_BRD_CR1_SE(base) (BME_UBFX8(&CMP_CR1_REG(base), CMP_CR1_SE_SHIFT, CMP_CR1_SE_WIDTH)) |
| |
| /*! @brief Set the SE field to a new value. */ |
| #define CMP_WR_CR1_SE(base, value) (CMP_RMW_CR1(base, CMP_CR1_SE_MASK, CMP_CR1_SE(value))) |
| #define CMP_BWR_CR1_SE(base, value) (BME_BFI8(&CMP_CR1_REG(base), ((uint8_t)(value) << CMP_CR1_SE_SHIFT), CMP_CR1_SE_SHIFT, CMP_CR1_SE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMP_FPR - CMP Filter Period Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMP_FPR - CMP Filter Period Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire CMP_FPR register |
| */ |
| /*@{*/ |
| #define CMP_RD_FPR(base) (CMP_FPR_REG(base)) |
| #define CMP_WR_FPR(base, value) (CMP_FPR_REG(base) = (value)) |
| #define CMP_RMW_FPR(base, mask, value) (CMP_WR_FPR(base, (CMP_RD_FPR(base) & ~(mask)) | (value))) |
| #define CMP_SET_FPR(base, value) (BME_OR8(&CMP_FPR_REG(base), (uint8_t)(value))) |
| #define CMP_CLR_FPR(base, value) (BME_AND8(&CMP_FPR_REG(base), (uint8_t)(~(value)))) |
| #define CMP_TOG_FPR(base, value) (BME_XOR8(&CMP_FPR_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMP_SCR - CMP Status and Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMP_SCR - CMP Status and Control Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire CMP_SCR register |
| */ |
| /*@{*/ |
| #define CMP_RD_SCR(base) (CMP_SCR_REG(base)) |
| #define CMP_WR_SCR(base, value) (CMP_SCR_REG(base) = (value)) |
| #define CMP_RMW_SCR(base, mask, value) (CMP_WR_SCR(base, (CMP_RD_SCR(base) & ~(mask)) | (value))) |
| #define CMP_SET_SCR(base, value) (BME_OR8(&CMP_SCR_REG(base), (uint8_t)(value))) |
| #define CMP_CLR_SCR(base, value) (BME_AND8(&CMP_SCR_REG(base), (uint8_t)(~(value)))) |
| #define CMP_TOG_SCR(base, value) (BME_XOR8(&CMP_SCR_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual CMP_SCR bitfields |
| */ |
| |
| /*! |
| * @name Register CMP_SCR, field COUT[0] (RO) |
| * |
| * Returns the current value of the Analog Comparator output, when read. The |
| * field is reset to 0 and will read as CR1[INV] when the Analog Comparator module |
| * is disabled, that is, when CR1[EN] = 0. Writes to this field are ignored. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_SCR_COUT field. */ |
| #define CMP_RD_SCR_COUT(base) ((CMP_SCR_REG(base) & CMP_SCR_COUT_MASK) >> CMP_SCR_COUT_SHIFT) |
| #define CMP_BRD_SCR_COUT(base) (BME_UBFX8(&CMP_SCR_REG(base), CMP_SCR_COUT_SHIFT, CMP_SCR_COUT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_SCR, field CFF[1] (W1C) |
| * |
| * Detects a falling-edge on COUT, when set, during normal operation. CFF is |
| * cleared by writing 1 to it. During Stop modes, CFF is level sensitive . |
| * |
| * Values: |
| * - 0b0 - Falling-edge on COUT has not been detected. |
| * - 0b1 - Falling-edge on COUT has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_SCR_CFF field. */ |
| #define CMP_RD_SCR_CFF(base) ((CMP_SCR_REG(base) & CMP_SCR_CFF_MASK) >> CMP_SCR_CFF_SHIFT) |
| #define CMP_BRD_SCR_CFF(base) (BME_UBFX8(&CMP_SCR_REG(base), CMP_SCR_CFF_SHIFT, CMP_SCR_CFF_WIDTH)) |
| |
| /*! @brief Set the CFF field to a new value. */ |
| #define CMP_WR_SCR_CFF(base, value) (CMP_RMW_SCR(base, (CMP_SCR_CFF_MASK | CMP_SCR_CFR_MASK), CMP_SCR_CFF(value))) |
| #define CMP_BWR_SCR_CFF(base, value) (BME_BFI8(&CMP_SCR_REG(base), ((uint8_t)(value) << CMP_SCR_CFF_SHIFT), CMP_SCR_CFF_SHIFT, CMP_SCR_CFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_SCR, field CFR[2] (W1C) |
| * |
| * Detects a rising-edge on COUT, when set, during normal operation. CFR is |
| * cleared by writing 1 to it. During Stop modes, CFR is level sensitive . |
| * |
| * Values: |
| * - 0b0 - Rising-edge on COUT has not been detected. |
| * - 0b1 - Rising-edge on COUT has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_SCR_CFR field. */ |
| #define CMP_RD_SCR_CFR(base) ((CMP_SCR_REG(base) & CMP_SCR_CFR_MASK) >> CMP_SCR_CFR_SHIFT) |
| #define CMP_BRD_SCR_CFR(base) (BME_UBFX8(&CMP_SCR_REG(base), CMP_SCR_CFR_SHIFT, CMP_SCR_CFR_WIDTH)) |
| |
| /*! @brief Set the CFR field to a new value. */ |
| #define CMP_WR_SCR_CFR(base, value) (CMP_RMW_SCR(base, (CMP_SCR_CFR_MASK | CMP_SCR_CFF_MASK), CMP_SCR_CFR(value))) |
| #define CMP_BWR_SCR_CFR(base, value) (BME_BFI8(&CMP_SCR_REG(base), ((uint8_t)(value) << CMP_SCR_CFR_SHIFT), CMP_SCR_CFR_SHIFT, CMP_SCR_CFR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_SCR, field IEF[3] (RW) |
| * |
| * Enables the CFF interrupt from the CMP. When this field is set, an interrupt |
| * will be asserted when CFF is set. |
| * |
| * Values: |
| * - 0b0 - Interrupt is disabled. |
| * - 0b1 - Interrupt is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_SCR_IEF field. */ |
| #define CMP_RD_SCR_IEF(base) ((CMP_SCR_REG(base) & CMP_SCR_IEF_MASK) >> CMP_SCR_IEF_SHIFT) |
| #define CMP_BRD_SCR_IEF(base) (BME_UBFX8(&CMP_SCR_REG(base), CMP_SCR_IEF_SHIFT, CMP_SCR_IEF_WIDTH)) |
| |
| /*! @brief Set the IEF field to a new value. */ |
| #define CMP_WR_SCR_IEF(base, value) (CMP_RMW_SCR(base, (CMP_SCR_IEF_MASK | CMP_SCR_CFF_MASK | CMP_SCR_CFR_MASK), CMP_SCR_IEF(value))) |
| #define CMP_BWR_SCR_IEF(base, value) (BME_BFI8(&CMP_SCR_REG(base), ((uint8_t)(value) << CMP_SCR_IEF_SHIFT), CMP_SCR_IEF_SHIFT, CMP_SCR_IEF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_SCR, field IER[4] (RW) |
| * |
| * Enables the CFR interrupt from the CMP. When this field is set, an interrupt |
| * will be asserted when CFR is set. |
| * |
| * Values: |
| * - 0b0 - Interrupt is disabled. |
| * - 0b1 - Interrupt is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_SCR_IER field. */ |
| #define CMP_RD_SCR_IER(base) ((CMP_SCR_REG(base) & CMP_SCR_IER_MASK) >> CMP_SCR_IER_SHIFT) |
| #define CMP_BRD_SCR_IER(base) (BME_UBFX8(&CMP_SCR_REG(base), CMP_SCR_IER_SHIFT, CMP_SCR_IER_WIDTH)) |
| |
| /*! @brief Set the IER field to a new value. */ |
| #define CMP_WR_SCR_IER(base, value) (CMP_RMW_SCR(base, (CMP_SCR_IER_MASK | CMP_SCR_CFF_MASK | CMP_SCR_CFR_MASK), CMP_SCR_IER(value))) |
| #define CMP_BWR_SCR_IER(base, value) (BME_BFI8(&CMP_SCR_REG(base), ((uint8_t)(value) << CMP_SCR_IER_SHIFT), CMP_SCR_IER_SHIFT, CMP_SCR_IER_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_SCR, field DMAEN[6] (RW) |
| * |
| * Enables the DMA transfer triggered from the CMP module. When this field is |
| * set, a DMA request is asserted when CFR or CFF is set. |
| * |
| * Values: |
| * - 0b0 - DMA is disabled. |
| * - 0b1 - DMA is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_SCR_DMAEN field. */ |
| #define CMP_RD_SCR_DMAEN(base) ((CMP_SCR_REG(base) & CMP_SCR_DMAEN_MASK) >> CMP_SCR_DMAEN_SHIFT) |
| #define CMP_BRD_SCR_DMAEN(base) (BME_UBFX8(&CMP_SCR_REG(base), CMP_SCR_DMAEN_SHIFT, CMP_SCR_DMAEN_WIDTH)) |
| |
| /*! @brief Set the DMAEN field to a new value. */ |
| #define CMP_WR_SCR_DMAEN(base, value) (CMP_RMW_SCR(base, (CMP_SCR_DMAEN_MASK | CMP_SCR_CFF_MASK | CMP_SCR_CFR_MASK), CMP_SCR_DMAEN(value))) |
| #define CMP_BWR_SCR_DMAEN(base, value) (BME_BFI8(&CMP_SCR_REG(base), ((uint8_t)(value) << CMP_SCR_DMAEN_SHIFT), CMP_SCR_DMAEN_SHIFT, CMP_SCR_DMAEN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMP_DACCR - DAC Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMP_DACCR - DAC Control Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire CMP_DACCR register |
| */ |
| /*@{*/ |
| #define CMP_RD_DACCR(base) (CMP_DACCR_REG(base)) |
| #define CMP_WR_DACCR(base, value) (CMP_DACCR_REG(base) = (value)) |
| #define CMP_RMW_DACCR(base, mask, value) (CMP_WR_DACCR(base, (CMP_RD_DACCR(base) & ~(mask)) | (value))) |
| #define CMP_SET_DACCR(base, value) (BME_OR8(&CMP_DACCR_REG(base), (uint8_t)(value))) |
| #define CMP_CLR_DACCR(base, value) (BME_AND8(&CMP_DACCR_REG(base), (uint8_t)(~(value)))) |
| #define CMP_TOG_DACCR(base, value) (BME_XOR8(&CMP_DACCR_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual CMP_DACCR bitfields |
| */ |
| |
| /*! |
| * @name Register CMP_DACCR, field VOSEL[5:0] (RW) |
| * |
| * Selects an output voltage from one of 64 distinct levels. DACO = (V in /64) * |
| * (VOSEL[5:0] + 1) , so the DACO range is from V in /64 to V in . |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_DACCR_VOSEL field. */ |
| #define CMP_RD_DACCR_VOSEL(base) ((CMP_DACCR_REG(base) & CMP_DACCR_VOSEL_MASK) >> CMP_DACCR_VOSEL_SHIFT) |
| #define CMP_BRD_DACCR_VOSEL(base) (BME_UBFX8(&CMP_DACCR_REG(base), CMP_DACCR_VOSEL_SHIFT, CMP_DACCR_VOSEL_WIDTH)) |
| |
| /*! @brief Set the VOSEL field to a new value. */ |
| #define CMP_WR_DACCR_VOSEL(base, value) (CMP_RMW_DACCR(base, CMP_DACCR_VOSEL_MASK, CMP_DACCR_VOSEL(value))) |
| #define CMP_BWR_DACCR_VOSEL(base, value) (BME_BFI8(&CMP_DACCR_REG(base), ((uint8_t)(value) << CMP_DACCR_VOSEL_SHIFT), CMP_DACCR_VOSEL_SHIFT, CMP_DACCR_VOSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_DACCR, field VRSEL[6] (RW) |
| * |
| * Values: |
| * - 0b0 - Vin1 is selected as resistor ladder network supply reference. |
| * - 0b1 - Vin2 is selected as resistor ladder network supply reference. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_DACCR_VRSEL field. */ |
| #define CMP_RD_DACCR_VRSEL(base) ((CMP_DACCR_REG(base) & CMP_DACCR_VRSEL_MASK) >> CMP_DACCR_VRSEL_SHIFT) |
| #define CMP_BRD_DACCR_VRSEL(base) (BME_UBFX8(&CMP_DACCR_REG(base), CMP_DACCR_VRSEL_SHIFT, CMP_DACCR_VRSEL_WIDTH)) |
| |
| /*! @brief Set the VRSEL field to a new value. */ |
| #define CMP_WR_DACCR_VRSEL(base, value) (CMP_RMW_DACCR(base, CMP_DACCR_VRSEL_MASK, CMP_DACCR_VRSEL(value))) |
| #define CMP_BWR_DACCR_VRSEL(base, value) (BME_BFI8(&CMP_DACCR_REG(base), ((uint8_t)(value) << CMP_DACCR_VRSEL_SHIFT), CMP_DACCR_VRSEL_SHIFT, CMP_DACCR_VRSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_DACCR, field DACEN[7] (RW) |
| * |
| * Enables the DAC. When the DAC is disabled, it is powered down to conserve |
| * power. |
| * |
| * Values: |
| * - 0b0 - DAC is disabled. |
| * - 0b1 - DAC is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_DACCR_DACEN field. */ |
| #define CMP_RD_DACCR_DACEN(base) ((CMP_DACCR_REG(base) & CMP_DACCR_DACEN_MASK) >> CMP_DACCR_DACEN_SHIFT) |
| #define CMP_BRD_DACCR_DACEN(base) (BME_UBFX8(&CMP_DACCR_REG(base), CMP_DACCR_DACEN_SHIFT, CMP_DACCR_DACEN_WIDTH)) |
| |
| /*! @brief Set the DACEN field to a new value. */ |
| #define CMP_WR_DACCR_DACEN(base, value) (CMP_RMW_DACCR(base, CMP_DACCR_DACEN_MASK, CMP_DACCR_DACEN(value))) |
| #define CMP_BWR_DACCR_DACEN(base, value) (BME_BFI8(&CMP_DACCR_REG(base), ((uint8_t)(value) << CMP_DACCR_DACEN_SHIFT), CMP_DACCR_DACEN_SHIFT, CMP_DACCR_DACEN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMP_MUXCR - MUX Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMP_MUXCR - MUX Control Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire CMP_MUXCR register |
| */ |
| /*@{*/ |
| #define CMP_RD_MUXCR(base) (CMP_MUXCR_REG(base)) |
| #define CMP_WR_MUXCR(base, value) (CMP_MUXCR_REG(base) = (value)) |
| #define CMP_RMW_MUXCR(base, mask, value) (CMP_WR_MUXCR(base, (CMP_RD_MUXCR(base) & ~(mask)) | (value))) |
| #define CMP_SET_MUXCR(base, value) (BME_OR8(&CMP_MUXCR_REG(base), (uint8_t)(value))) |
| #define CMP_CLR_MUXCR(base, value) (BME_AND8(&CMP_MUXCR_REG(base), (uint8_t)(~(value)))) |
| #define CMP_TOG_MUXCR(base, value) (BME_XOR8(&CMP_MUXCR_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual CMP_MUXCR bitfields |
| */ |
| |
| /*! |
| * @name Register CMP_MUXCR, field MSEL[2:0] (RW) |
| * |
| * Determines which input is selected for the minus input of the comparator. For |
| * INx inputs, see CMP, DAC, and ANMUX block diagrams. When an inappropriate |
| * operation selects the same input for both muxes, the comparator automatically |
| * shuts down to prevent itself from becoming a noise generator. |
| * |
| * Values: |
| * - 0b000 - IN0 |
| * - 0b001 - IN1 |
| * - 0b010 - IN2 |
| * - 0b011 - IN3 |
| * - 0b100 - IN4 |
| * - 0b101 - IN5 |
| * - 0b110 - IN6 |
| * - 0b111 - IN7 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_MUXCR_MSEL field. */ |
| #define CMP_RD_MUXCR_MSEL(base) ((CMP_MUXCR_REG(base) & CMP_MUXCR_MSEL_MASK) >> CMP_MUXCR_MSEL_SHIFT) |
| #define CMP_BRD_MUXCR_MSEL(base) (BME_UBFX8(&CMP_MUXCR_REG(base), CMP_MUXCR_MSEL_SHIFT, CMP_MUXCR_MSEL_WIDTH)) |
| |
| /*! @brief Set the MSEL field to a new value. */ |
| #define CMP_WR_MUXCR_MSEL(base, value) (CMP_RMW_MUXCR(base, CMP_MUXCR_MSEL_MASK, CMP_MUXCR_MSEL(value))) |
| #define CMP_BWR_MUXCR_MSEL(base, value) (BME_BFI8(&CMP_MUXCR_REG(base), ((uint8_t)(value) << CMP_MUXCR_MSEL_SHIFT), CMP_MUXCR_MSEL_SHIFT, CMP_MUXCR_MSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_MUXCR, field PSEL[5:3] (RW) |
| * |
| * Determines which input is selected for the plus input of the comparator. For |
| * INx inputs, see CMP, DAC, and ANMUX block diagrams. When an inappropriate |
| * operation selects the same input for both muxes, the comparator automatically |
| * shuts down to prevent itself from becoming a noise generator. |
| * |
| * Values: |
| * - 0b000 - IN0 |
| * - 0b001 - IN1 |
| * - 0b010 - IN2 |
| * - 0b011 - IN3 |
| * - 0b100 - IN4 |
| * - 0b101 - IN5 |
| * - 0b110 - IN6 |
| * - 0b111 - IN7 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_MUXCR_PSEL field. */ |
| #define CMP_RD_MUXCR_PSEL(base) ((CMP_MUXCR_REG(base) & CMP_MUXCR_PSEL_MASK) >> CMP_MUXCR_PSEL_SHIFT) |
| #define CMP_BRD_MUXCR_PSEL(base) (BME_UBFX8(&CMP_MUXCR_REG(base), CMP_MUXCR_PSEL_SHIFT, CMP_MUXCR_PSEL_WIDTH)) |
| |
| /*! @brief Set the PSEL field to a new value. */ |
| #define CMP_WR_MUXCR_PSEL(base, value) (CMP_RMW_MUXCR(base, CMP_MUXCR_PSEL_MASK, CMP_MUXCR_PSEL(value))) |
| #define CMP_BWR_MUXCR_PSEL(base, value) (BME_BFI8(&CMP_MUXCR_REG(base), ((uint8_t)(value) << CMP_MUXCR_PSEL_SHIFT), CMP_MUXCR_PSEL_SHIFT, CMP_MUXCR_PSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMP_MUXCR, field PSTM[7] (RW) |
| * |
| * This bit is used to enable to MUX pass through mode. Pass through mode is |
| * always available but for some devices this feature must be always disabled due to |
| * the lack of package pins. |
| * |
| * Values: |
| * - 0b0 - Pass Through Mode is disabled. |
| * - 0b1 - Pass Through Mode is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMP_MUXCR_PSTM field. */ |
| #define CMP_RD_MUXCR_PSTM(base) ((CMP_MUXCR_REG(base) & CMP_MUXCR_PSTM_MASK) >> CMP_MUXCR_PSTM_SHIFT) |
| #define CMP_BRD_MUXCR_PSTM(base) (BME_UBFX8(&CMP_MUXCR_REG(base), CMP_MUXCR_PSTM_SHIFT, CMP_MUXCR_PSTM_WIDTH)) |
| |
| /*! @brief Set the PSTM field to a new value. */ |
| #define CMP_WR_MUXCR_PSTM(base, value) (CMP_RMW_MUXCR(base, CMP_MUXCR_PSTM_MASK, CMP_MUXCR_PSTM(value))) |
| #define CMP_BWR_MUXCR_PSTM(base, value) (BME_BFI8(&CMP_MUXCR_REG(base), ((uint8_t)(value) << CMP_MUXCR_PSTM_SHIFT), CMP_MUXCR_PSTM_SHIFT, CMP_MUXCR_PSTM_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 CMT |
| * |
| * Carrier Modulator Transmitter |
| * |
| * Registers defined in this header file: |
| * - CMT_CGH1 - CMT Carrier Generator High Data Register 1 |
| * - CMT_CGL1 - CMT Carrier Generator Low Data Register 1 |
| * - CMT_CGH2 - CMT Carrier Generator High Data Register 2 |
| * - CMT_CGL2 - CMT Carrier Generator Low Data Register 2 |
| * - CMT_OC - CMT Output Control Register |
| * - CMT_MSC - CMT Modulator Status and Control Register |
| * - CMT_CMD1 - CMT Modulator Data Register Mark High |
| * - CMT_CMD2 - CMT Modulator Data Register Mark Low |
| * - CMT_CMD3 - CMT Modulator Data Register Space High |
| * - CMT_CMD4 - CMT Modulator Data Register Space Low |
| * - CMT_PPS - CMT Primary Prescaler Register |
| * - CMT_DMA - CMT Direct Memory Access Register |
| */ |
| |
| #define CMT_INSTANCE_COUNT (1U) /*!< Number of instances of the CMT module. */ |
| #define CMT_IDX (0U) /*!< Instance number for CMT. */ |
| |
| /******************************************************************************* |
| * CMT_CGH1 - CMT Carrier Generator High Data Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_CGH1 - CMT Carrier Generator High Data Register 1 (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This data register contains the primary high value for generating the carrier |
| * output. |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_CGH1 register |
| */ |
| /*@{*/ |
| #define CMT_RD_CGH1(base) (CMT_CGH1_REG(base)) |
| #define CMT_WR_CGH1(base, value) (CMT_CGH1_REG(base) = (value)) |
| #define CMT_RMW_CGH1(base, mask, value) (CMT_WR_CGH1(base, (CMT_RD_CGH1(base) & ~(mask)) | (value))) |
| #define CMT_SET_CGH1(base, value) (BME_OR8(&CMT_CGH1_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_CGH1(base, value) (BME_AND8(&CMT_CGH1_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_CGH1(base, value) (BME_XOR8(&CMT_CGH1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_CGL1 - CMT Carrier Generator Low Data Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_CGL1 - CMT Carrier Generator Low Data Register 1 (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This data register contains the primary low value for generating the carrier |
| * output. |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_CGL1 register |
| */ |
| /*@{*/ |
| #define CMT_RD_CGL1(base) (CMT_CGL1_REG(base)) |
| #define CMT_WR_CGL1(base, value) (CMT_CGL1_REG(base) = (value)) |
| #define CMT_RMW_CGL1(base, mask, value) (CMT_WR_CGL1(base, (CMT_RD_CGL1(base) & ~(mask)) | (value))) |
| #define CMT_SET_CGL1(base, value) (BME_OR8(&CMT_CGL1_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_CGL1(base, value) (BME_AND8(&CMT_CGL1_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_CGL1(base, value) (BME_XOR8(&CMT_CGL1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_CGH2 - CMT Carrier Generator High Data Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_CGH2 - CMT Carrier Generator High Data Register 2 (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This data register contains the secondary high value for generating the |
| * carrier output. |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_CGH2 register |
| */ |
| /*@{*/ |
| #define CMT_RD_CGH2(base) (CMT_CGH2_REG(base)) |
| #define CMT_WR_CGH2(base, value) (CMT_CGH2_REG(base) = (value)) |
| #define CMT_RMW_CGH2(base, mask, value) (CMT_WR_CGH2(base, (CMT_RD_CGH2(base) & ~(mask)) | (value))) |
| #define CMT_SET_CGH2(base, value) (BME_OR8(&CMT_CGH2_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_CGH2(base, value) (BME_AND8(&CMT_CGH2_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_CGH2(base, value) (BME_XOR8(&CMT_CGH2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_CGL2 - CMT Carrier Generator Low Data Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_CGL2 - CMT Carrier Generator Low Data Register 2 (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This data register contains the secondary low value for generating the |
| * carrier output. |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_CGL2 register |
| */ |
| /*@{*/ |
| #define CMT_RD_CGL2(base) (CMT_CGL2_REG(base)) |
| #define CMT_WR_CGL2(base, value) (CMT_CGL2_REG(base) = (value)) |
| #define CMT_RMW_CGL2(base, mask, value) (CMT_WR_CGL2(base, (CMT_RD_CGL2(base) & ~(mask)) | (value))) |
| #define CMT_SET_CGL2(base, value) (BME_OR8(&CMT_CGL2_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_CGL2(base, value) (BME_AND8(&CMT_CGL2_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_CGL2(base, value) (BME_XOR8(&CMT_CGL2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_OC - CMT Output Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_OC - CMT Output Control Register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This register is used to control the IRO signal of the CMT module. |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_OC register |
| */ |
| /*@{*/ |
| #define CMT_RD_OC(base) (CMT_OC_REG(base)) |
| #define CMT_WR_OC(base, value) (CMT_OC_REG(base) = (value)) |
| #define CMT_RMW_OC(base, mask, value) (CMT_WR_OC(base, (CMT_RD_OC(base) & ~(mask)) | (value))) |
| #define CMT_SET_OC(base, value) (BME_OR8(&CMT_OC_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_OC(base, value) (BME_AND8(&CMT_OC_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_OC(base, value) (BME_XOR8(&CMT_OC_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual CMT_OC bitfields |
| */ |
| |
| /*! |
| * @name Register CMT_OC, field IROPEN[5] (RW) |
| * |
| * Enables and disables the IRO signal. When the IRO signal is enabled, it is an |
| * output that drives out either the CMT transmitter output or the state of IROL |
| * depending on whether MSC[MCGEN] is set or not. Also, the state of output is |
| * either inverted or non-inverted, depending on the state of CMTPOL. When the IRO |
| * signal is disabled, it is in a high-impedance state and is unable to draw any |
| * current. This signal is disabled during reset. |
| * |
| * Values: |
| * - 0b0 - The IRO signal is disabled. |
| * - 0b1 - The IRO signal is enabled as output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_OC_IROPEN field. */ |
| #define CMT_RD_OC_IROPEN(base) ((CMT_OC_REG(base) & CMT_OC_IROPEN_MASK) >> CMT_OC_IROPEN_SHIFT) |
| #define CMT_BRD_OC_IROPEN(base) (BME_UBFX8(&CMT_OC_REG(base), CMT_OC_IROPEN_SHIFT, CMT_OC_IROPEN_WIDTH)) |
| |
| /*! @brief Set the IROPEN field to a new value. */ |
| #define CMT_WR_OC_IROPEN(base, value) (CMT_RMW_OC(base, CMT_OC_IROPEN_MASK, CMT_OC_IROPEN(value))) |
| #define CMT_BWR_OC_IROPEN(base, value) (BME_BFI8(&CMT_OC_REG(base), ((uint8_t)(value) << CMT_OC_IROPEN_SHIFT), CMT_OC_IROPEN_SHIFT, CMT_OC_IROPEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMT_OC, field CMTPOL[6] (RW) |
| * |
| * Controls the polarity of the IRO signal. |
| * |
| * Values: |
| * - 0b0 - The IRO signal is active-low. |
| * - 0b1 - The IRO signal is active-high. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_OC_CMTPOL field. */ |
| #define CMT_RD_OC_CMTPOL(base) ((CMT_OC_REG(base) & CMT_OC_CMTPOL_MASK) >> CMT_OC_CMTPOL_SHIFT) |
| #define CMT_BRD_OC_CMTPOL(base) (BME_UBFX8(&CMT_OC_REG(base), CMT_OC_CMTPOL_SHIFT, CMT_OC_CMTPOL_WIDTH)) |
| |
| /*! @brief Set the CMTPOL field to a new value. */ |
| #define CMT_WR_OC_CMTPOL(base, value) (CMT_RMW_OC(base, CMT_OC_CMTPOL_MASK, CMT_OC_CMTPOL(value))) |
| #define CMT_BWR_OC_CMTPOL(base, value) (BME_BFI8(&CMT_OC_REG(base), ((uint8_t)(value) << CMT_OC_CMTPOL_SHIFT), CMT_OC_CMTPOL_SHIFT, CMT_OC_CMTPOL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMT_OC, field IROL[7] (RW) |
| * |
| * Reads the state of the IRO latch. Writing to IROL changes the state of the |
| * IRO signal when MSC[MCGEN] is cleared and IROPEN is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_OC_IROL field. */ |
| #define CMT_RD_OC_IROL(base) ((CMT_OC_REG(base) & CMT_OC_IROL_MASK) >> CMT_OC_IROL_SHIFT) |
| #define CMT_BRD_OC_IROL(base) (BME_UBFX8(&CMT_OC_REG(base), CMT_OC_IROL_SHIFT, CMT_OC_IROL_WIDTH)) |
| |
| /*! @brief Set the IROL field to a new value. */ |
| #define CMT_WR_OC_IROL(base, value) (CMT_RMW_OC(base, CMT_OC_IROL_MASK, CMT_OC_IROL(value))) |
| #define CMT_BWR_OC_IROL(base, value) (BME_BFI8(&CMT_OC_REG(base), ((uint8_t)(value) << CMT_OC_IROL_SHIFT), CMT_OC_IROL_SHIFT, CMT_OC_IROL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_MSC - CMT Modulator Status and Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_MSC - CMT Modulator Status and Control Register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This register contains the modulator and carrier generator enable (MCGEN), |
| * end of cycle interrupt enable (EOCIE), FSK mode select (FSK), baseband enable |
| * (BASE), extended space (EXSPC), prescaler (CMTDIV) bits, and the end of cycle |
| * (EOCF) status bit. |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_MSC register |
| */ |
| /*@{*/ |
| #define CMT_RD_MSC(base) (CMT_MSC_REG(base)) |
| #define CMT_WR_MSC(base, value) (CMT_MSC_REG(base) = (value)) |
| #define CMT_RMW_MSC(base, mask, value) (CMT_WR_MSC(base, (CMT_RD_MSC(base) & ~(mask)) | (value))) |
| #define CMT_SET_MSC(base, value) (BME_OR8(&CMT_MSC_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_MSC(base, value) (BME_AND8(&CMT_MSC_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_MSC(base, value) (BME_XOR8(&CMT_MSC_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual CMT_MSC bitfields |
| */ |
| |
| /*! |
| * @name Register CMT_MSC, field MCGEN[0] (RW) |
| * |
| * Setting MCGEN will initialize the carrier generator and modulator and will |
| * enable all clocks. When enabled, the carrier generator and modulator will |
| * function continuously. When MCGEN is cleared, the current modulator cycle will be |
| * allowed to expire before all carrier and modulator clocks are disabled to save |
| * power and the modulator output is forced low. To prevent spurious operation, |
| * the user should initialize all data and control registers before enabling the |
| * system. |
| * |
| * Values: |
| * - 0b0 - Modulator and carrier generator disabled |
| * - 0b1 - Modulator and carrier generator enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_MSC_MCGEN field. */ |
| #define CMT_RD_MSC_MCGEN(base) ((CMT_MSC_REG(base) & CMT_MSC_MCGEN_MASK) >> CMT_MSC_MCGEN_SHIFT) |
| #define CMT_BRD_MSC_MCGEN(base) (BME_UBFX8(&CMT_MSC_REG(base), CMT_MSC_MCGEN_SHIFT, CMT_MSC_MCGEN_WIDTH)) |
| |
| /*! @brief Set the MCGEN field to a new value. */ |
| #define CMT_WR_MSC_MCGEN(base, value) (CMT_RMW_MSC(base, CMT_MSC_MCGEN_MASK, CMT_MSC_MCGEN(value))) |
| #define CMT_BWR_MSC_MCGEN(base, value) (BME_BFI8(&CMT_MSC_REG(base), ((uint8_t)(value) << CMT_MSC_MCGEN_SHIFT), CMT_MSC_MCGEN_SHIFT, CMT_MSC_MCGEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMT_MSC, field EOCIE[1] (RW) |
| * |
| * Requests to enable a CPU interrupt when EOCF is set if EOCIE is high. |
| * |
| * Values: |
| * - 0b0 - CPU interrupt is disabled. |
| * - 0b1 - CPU interrupt is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_MSC_EOCIE field. */ |
| #define CMT_RD_MSC_EOCIE(base) ((CMT_MSC_REG(base) & CMT_MSC_EOCIE_MASK) >> CMT_MSC_EOCIE_SHIFT) |
| #define CMT_BRD_MSC_EOCIE(base) (BME_UBFX8(&CMT_MSC_REG(base), CMT_MSC_EOCIE_SHIFT, CMT_MSC_EOCIE_WIDTH)) |
| |
| /*! @brief Set the EOCIE field to a new value. */ |
| #define CMT_WR_MSC_EOCIE(base, value) (CMT_RMW_MSC(base, CMT_MSC_EOCIE_MASK, CMT_MSC_EOCIE(value))) |
| #define CMT_BWR_MSC_EOCIE(base, value) (BME_BFI8(&CMT_MSC_REG(base), ((uint8_t)(value) << CMT_MSC_EOCIE_SHIFT), CMT_MSC_EOCIE_SHIFT, CMT_MSC_EOCIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMT_MSC, field FSK[2] (RW) |
| * |
| * Enables FSK operation. |
| * |
| * Values: |
| * - 0b0 - The CMT operates in Time or Baseband mode. |
| * - 0b1 - The CMT operates in FSK mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_MSC_FSK field. */ |
| #define CMT_RD_MSC_FSK(base) ((CMT_MSC_REG(base) & CMT_MSC_FSK_MASK) >> CMT_MSC_FSK_SHIFT) |
| #define CMT_BRD_MSC_FSK(base) (BME_UBFX8(&CMT_MSC_REG(base), CMT_MSC_FSK_SHIFT, CMT_MSC_FSK_WIDTH)) |
| |
| /*! @brief Set the FSK field to a new value. */ |
| #define CMT_WR_MSC_FSK(base, value) (CMT_RMW_MSC(base, CMT_MSC_FSK_MASK, CMT_MSC_FSK(value))) |
| #define CMT_BWR_MSC_FSK(base, value) (BME_BFI8(&CMT_MSC_REG(base), ((uint8_t)(value) << CMT_MSC_FSK_SHIFT), CMT_MSC_FSK_SHIFT, CMT_MSC_FSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMT_MSC, field BASE[3] (RW) |
| * |
| * When set, BASE disables the carrier generator and forces the carrier output |
| * high for generation of baseband protocols. When BASE is cleared, the carrier |
| * generator is enabled and the carrier output toggles at the frequency determined |
| * by values stored in the carrier data registers. This field is cleared by |
| * reset. This field is not double-buffered and must not be written to during a |
| * transmission. |
| * |
| * Values: |
| * - 0b0 - Baseband mode is disabled. |
| * - 0b1 - Baseband mode is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_MSC_BASE field. */ |
| #define CMT_RD_MSC_BASE(base) ((CMT_MSC_REG(base) & CMT_MSC_BASE_MASK) >> CMT_MSC_BASE_SHIFT) |
| #define CMT_BRD_MSC_BASE(base) (BME_UBFX8(&CMT_MSC_REG(base), CMT_MSC_BASE_SHIFT, CMT_MSC_BASE_WIDTH)) |
| |
| /*! @brief Set the BASE field to a new value. */ |
| #define CMT_WR_MSC_BASE(base, value) (CMT_RMW_MSC(base, CMT_MSC_BASE_MASK, CMT_MSC_BASE(value))) |
| #define CMT_BWR_MSC_BASE(base, value) (BME_BFI8(&CMT_MSC_REG(base), ((uint8_t)(value) << CMT_MSC_BASE_SHIFT), CMT_MSC_BASE_SHIFT, CMT_MSC_BASE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMT_MSC, field EXSPC[4] (RW) |
| * |
| * Enables the extended space operation. |
| * |
| * Values: |
| * - 0b0 - Extended space is disabled. |
| * - 0b1 - Extended space is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_MSC_EXSPC field. */ |
| #define CMT_RD_MSC_EXSPC(base) ((CMT_MSC_REG(base) & CMT_MSC_EXSPC_MASK) >> CMT_MSC_EXSPC_SHIFT) |
| #define CMT_BRD_MSC_EXSPC(base) (BME_UBFX8(&CMT_MSC_REG(base), CMT_MSC_EXSPC_SHIFT, CMT_MSC_EXSPC_WIDTH)) |
| |
| /*! @brief Set the EXSPC field to a new value. */ |
| #define CMT_WR_MSC_EXSPC(base, value) (CMT_RMW_MSC(base, CMT_MSC_EXSPC_MASK, CMT_MSC_EXSPC(value))) |
| #define CMT_BWR_MSC_EXSPC(base, value) (BME_BFI8(&CMT_MSC_REG(base), ((uint8_t)(value) << CMT_MSC_EXSPC_SHIFT), CMT_MSC_EXSPC_SHIFT, CMT_MSC_EXSPC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMT_MSC, field CMTDIV[6:5] (RW) |
| * |
| * Causes the CMT to be clocked at the IF signal frequency, or the IF frequency |
| * divided by 2 ,4, or 8 . This field must not be changed during a transmission |
| * because it is not double-buffered. |
| * |
| * Values: |
| * - 0b00 - IF * 1 |
| * - 0b01 - IF * 2 |
| * - 0b10 - IF * 4 |
| * - 0b11 - IF * 8 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_MSC_CMTDIV field. */ |
| #define CMT_RD_MSC_CMTDIV(base) ((CMT_MSC_REG(base) & CMT_MSC_CMTDIV_MASK) >> CMT_MSC_CMTDIV_SHIFT) |
| #define CMT_BRD_MSC_CMTDIV(base) (BME_UBFX8(&CMT_MSC_REG(base), CMT_MSC_CMTDIV_SHIFT, CMT_MSC_CMTDIV_WIDTH)) |
| |
| /*! @brief Set the CMTDIV field to a new value. */ |
| #define CMT_WR_MSC_CMTDIV(base, value) (CMT_RMW_MSC(base, CMT_MSC_CMTDIV_MASK, CMT_MSC_CMTDIV(value))) |
| #define CMT_BWR_MSC_CMTDIV(base, value) (BME_BFI8(&CMT_MSC_REG(base), ((uint8_t)(value) << CMT_MSC_CMTDIV_SHIFT), CMT_MSC_CMTDIV_SHIFT, CMT_MSC_CMTDIV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register CMT_MSC, field EOCF[7] (RO) |
| * |
| * Sets when: The modulator is not currently active and MCGEN is set to begin |
| * the initial CMT transmission. At the end of each modulation cycle while MCGEN is |
| * set. This is recognized when a match occurs between the contents of the space |
| * period register and the down counter. At this time, the counter is |
| * initialized with, possibly new contents of the mark period buffer, CMD1 and CMD2, and |
| * the space period register is loaded with, possibly new contents of the space |
| * period buffer, CMD3 and CMD4. This flag is cleared by reading MSC followed by an |
| * access of CMD2 or CMD4, or by the DMA transfer. |
| * |
| * Values: |
| * - 0b0 - End of modulation cycle has not occured since the flag last cleared. |
| * - 0b1 - End of modulator cycle has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_MSC_EOCF field. */ |
| #define CMT_RD_MSC_EOCF(base) ((CMT_MSC_REG(base) & CMT_MSC_EOCF_MASK) >> CMT_MSC_EOCF_SHIFT) |
| #define CMT_BRD_MSC_EOCF(base) (BME_UBFX8(&CMT_MSC_REG(base), CMT_MSC_EOCF_SHIFT, CMT_MSC_EOCF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_CMD1 - CMT Modulator Data Register Mark High |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_CMD1 - CMT Modulator Data Register Mark High (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The contents of this register are transferred to the modulator down counter |
| * upon the completion of a modulation period. |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_CMD1 register |
| */ |
| /*@{*/ |
| #define CMT_RD_CMD1(base) (CMT_CMD1_REG(base)) |
| #define CMT_WR_CMD1(base, value) (CMT_CMD1_REG(base) = (value)) |
| #define CMT_RMW_CMD1(base, mask, value) (CMT_WR_CMD1(base, (CMT_RD_CMD1(base) & ~(mask)) | (value))) |
| #define CMT_SET_CMD1(base, value) (BME_OR8(&CMT_CMD1_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_CMD1(base, value) (BME_AND8(&CMT_CMD1_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_CMD1(base, value) (BME_XOR8(&CMT_CMD1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_CMD2 - CMT Modulator Data Register Mark Low |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_CMD2 - CMT Modulator Data Register Mark Low (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The contents of this register are transferred to the modulator down counter |
| * upon the completion of a modulation period. |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_CMD2 register |
| */ |
| /*@{*/ |
| #define CMT_RD_CMD2(base) (CMT_CMD2_REG(base)) |
| #define CMT_WR_CMD2(base, value) (CMT_CMD2_REG(base) = (value)) |
| #define CMT_RMW_CMD2(base, mask, value) (CMT_WR_CMD2(base, (CMT_RD_CMD2(base) & ~(mask)) | (value))) |
| #define CMT_SET_CMD2(base, value) (BME_OR8(&CMT_CMD2_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_CMD2(base, value) (BME_AND8(&CMT_CMD2_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_CMD2(base, value) (BME_XOR8(&CMT_CMD2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_CMD3 - CMT Modulator Data Register Space High |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_CMD3 - CMT Modulator Data Register Space High (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The contents of this register are transferred to the space period register |
| * upon the completion of a modulation period. |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_CMD3 register |
| */ |
| /*@{*/ |
| #define CMT_RD_CMD3(base) (CMT_CMD3_REG(base)) |
| #define CMT_WR_CMD3(base, value) (CMT_CMD3_REG(base) = (value)) |
| #define CMT_RMW_CMD3(base, mask, value) (CMT_WR_CMD3(base, (CMT_RD_CMD3(base) & ~(mask)) | (value))) |
| #define CMT_SET_CMD3(base, value) (BME_OR8(&CMT_CMD3_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_CMD3(base, value) (BME_AND8(&CMT_CMD3_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_CMD3(base, value) (BME_XOR8(&CMT_CMD3_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_CMD4 - CMT Modulator Data Register Space Low |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_CMD4 - CMT Modulator Data Register Space Low (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The contents of this register are transferred to the space period register |
| * upon the completion of a modulation period. |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_CMD4 register |
| */ |
| /*@{*/ |
| #define CMT_RD_CMD4(base) (CMT_CMD4_REG(base)) |
| #define CMT_WR_CMD4(base, value) (CMT_CMD4_REG(base) = (value)) |
| #define CMT_RMW_CMD4(base, mask, value) (CMT_WR_CMD4(base, (CMT_RD_CMD4(base) & ~(mask)) | (value))) |
| #define CMT_SET_CMD4(base, value) (BME_OR8(&CMT_CMD4_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_CMD4(base, value) (BME_AND8(&CMT_CMD4_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_CMD4(base, value) (BME_XOR8(&CMT_CMD4_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_PPS - CMT Primary Prescaler Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_PPS - CMT Primary Prescaler Register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This register is used to set the Primary Prescaler Divider field (PPSDIV). |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_PPS register |
| */ |
| /*@{*/ |
| #define CMT_RD_PPS(base) (CMT_PPS_REG(base)) |
| #define CMT_WR_PPS(base, value) (CMT_PPS_REG(base) = (value)) |
| #define CMT_RMW_PPS(base, mask, value) (CMT_WR_PPS(base, (CMT_RD_PPS(base) & ~(mask)) | (value))) |
| #define CMT_SET_PPS(base, value) (BME_OR8(&CMT_PPS_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_PPS(base, value) (BME_AND8(&CMT_PPS_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_PPS(base, value) (BME_XOR8(&CMT_PPS_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual CMT_PPS bitfields |
| */ |
| |
| /*! |
| * @name Register CMT_PPS, field PPSDIV[3:0] (RW) |
| * |
| * Divides the CMT clock to generate the Intermediate Frequency clock enable to |
| * the secondary prescaler. |
| * |
| * Values: |
| * - 0b0000 - Bus clock * 1 |
| * - 0b0001 - Bus clock * 2 |
| * - 0b0010 - Bus clock * 3 |
| * - 0b0011 - Bus clock * 4 |
| * - 0b0100 - Bus clock * 5 |
| * - 0b0101 - Bus clock * 6 |
| * - 0b0110 - Bus clock * 7 |
| * - 0b0111 - Bus clock * 8 |
| * - 0b1000 - Bus clock * 9 |
| * - 0b1001 - Bus clock * 10 |
| * - 0b1010 - Bus clock * 11 |
| * - 0b1011 - Bus clock * 12 |
| * - 0b1100 - Bus clock * 13 |
| * - 0b1101 - Bus clock * 14 |
| * - 0b1110 - Bus clock * 15 |
| * - 0b1111 - Bus clock * 16 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_PPS_PPSDIV field. */ |
| #define CMT_RD_PPS_PPSDIV(base) ((CMT_PPS_REG(base) & CMT_PPS_PPSDIV_MASK) >> CMT_PPS_PPSDIV_SHIFT) |
| #define CMT_BRD_PPS_PPSDIV(base) (BME_UBFX8(&CMT_PPS_REG(base), CMT_PPS_PPSDIV_SHIFT, CMT_PPS_PPSDIV_WIDTH)) |
| |
| /*! @brief Set the PPSDIV field to a new value. */ |
| #define CMT_WR_PPS_PPSDIV(base, value) (CMT_RMW_PPS(base, CMT_PPS_PPSDIV_MASK, CMT_PPS_PPSDIV(value))) |
| #define CMT_BWR_PPS_PPSDIV(base, value) (BME_BFI8(&CMT_PPS_REG(base), ((uint8_t)(value) << CMT_PPS_PPSDIV_SHIFT), CMT_PPS_PPSDIV_SHIFT, CMT_PPS_PPSDIV_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * CMT_DMA - CMT Direct Memory Access Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief CMT_DMA - CMT Direct Memory Access Register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This register is used to enable/disable direct memory access (DMA). |
| */ |
| /*! |
| * @name Constants and macros for entire CMT_DMA register |
| */ |
| /*@{*/ |
| #define CMT_RD_DMA(base) (CMT_DMA_REG(base)) |
| #define CMT_WR_DMA(base, value) (CMT_DMA_REG(base) = (value)) |
| #define CMT_RMW_DMA(base, mask, value) (CMT_WR_DMA(base, (CMT_RD_DMA(base) & ~(mask)) | (value))) |
| #define CMT_SET_DMA(base, value) (BME_OR8(&CMT_DMA_REG(base), (uint8_t)(value))) |
| #define CMT_CLR_DMA(base, value) (BME_AND8(&CMT_DMA_REG(base), (uint8_t)(~(value)))) |
| #define CMT_TOG_DMA(base, value) (BME_XOR8(&CMT_DMA_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual CMT_DMA bitfields |
| */ |
| |
| /*! |
| * @name Register CMT_DMA, field DMA[0] (RW) |
| * |
| * Enables the DMA protocol. |
| * |
| * Values: |
| * - 0b0 - DMA transfer request and done are disabled. |
| * - 0b1 - DMA transfer request and done are enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the CMT_DMA_DMA field. */ |
| #define CMT_RD_DMA_DMA(base) ((CMT_DMA_REG(base) & CMT_DMA_DMA_MASK) >> CMT_DMA_DMA_SHIFT) |
| #define CMT_BRD_DMA_DMA(base) (BME_UBFX8(&CMT_DMA_REG(base), CMT_DMA_DMA_SHIFT, CMT_DMA_DMA_WIDTH)) |
| |
| /*! @brief Set the DMA field to a new value. */ |
| #define CMT_WR_DMA_DMA(base, value) (CMT_RMW_DMA(base, CMT_DMA_DMA_MASK, CMT_DMA_DMA(value))) |
| #define CMT_BWR_DMA_DMA(base, value) (BME_BFI8(&CMT_DMA_REG(base), ((uint8_t)(value) << CMT_DMA_DMA_SHIFT), CMT_DMA_DMA_SHIFT, CMT_DMA_DMA_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 DAC |
| * |
| * 12-Bit Digital-to-Analog Converter |
| * |
| * Registers defined in this header file: |
| * - DAC_DATL - DAC Data Low Register |
| * - DAC_DATH - DAC Data High Register |
| * - DAC_SR - DAC Status Register |
| * - DAC_C0 - DAC Control Register |
| * - DAC_C1 - DAC Control Register 1 |
| * - DAC_C2 - DAC Control Register 2 |
| */ |
| |
| #define DAC_INSTANCE_COUNT (1U) /*!< Number of instances of the DAC module. */ |
| #define DAC0_IDX (0U) /*!< Instance number for DAC0. */ |
| |
| /******************************************************************************* |
| * DAC_DATL - DAC Data Low Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DAC_DATL - DAC Data Low Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire DAC_DATL register |
| */ |
| /*@{*/ |
| #define DAC_RD_DATL(base, index) (DAC_DATL_REG(base, index)) |
| #define DAC_WR_DATL(base, index, value) (DAC_DATL_REG(base, index) = (value)) |
| #define DAC_RMW_DATL(base, index, mask, value) (DAC_WR_DATL(base, index, (DAC_RD_DATL(base, index) & ~(mask)) | (value))) |
| #define DAC_SET_DATL(base, index, value) (BME_OR8(&DAC_DATL_REG(base, index), (uint8_t)(value))) |
| #define DAC_CLR_DATL(base, index, value) (BME_AND8(&DAC_DATL_REG(base, index), (uint8_t)(~(value)))) |
| #define DAC_TOG_DATL(base, index, value) (BME_XOR8(&DAC_DATL_REG(base, index), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DAC_DATH - DAC Data High Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DAC_DATH - DAC Data High Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire DAC_DATH register |
| */ |
| /*@{*/ |
| #define DAC_RD_DATH(base, index) (DAC_DATH_REG(base, index)) |
| #define DAC_WR_DATH(base, index, value) (DAC_DATH_REG(base, index) = (value)) |
| #define DAC_RMW_DATH(base, index, mask, value) (DAC_WR_DATH(base, index, (DAC_RD_DATH(base, index) & ~(mask)) | (value))) |
| #define DAC_SET_DATH(base, index, value) (BME_OR8(&DAC_DATH_REG(base, index), (uint8_t)(value))) |
| #define DAC_CLR_DATH(base, index, value) (BME_AND8(&DAC_DATH_REG(base, index), (uint8_t)(~(value)))) |
| #define DAC_TOG_DATH(base, index, value) (BME_XOR8(&DAC_DATH_REG(base, index), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DAC_DATH bitfields |
| */ |
| |
| /*! |
| * @name Register DAC_DATH, field DATA1[3:0] (RW) |
| * |
| * When the DAC Buffer is not enabled, DATA[11:0] controls the output voltage |
| * based on the following formula. V out = V in * (1 + DACDAT0[11:0])/4096 When the |
| * DAC buffer is enabled, DATA[11:0] is mapped to the 16-word buffer. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_DATH_DATA1 field. */ |
| #define DAC_RD_DATH_DATA1(base, index) ((DAC_DATH_REG(base, index) & DAC_DATH_DATA1_MASK) >> DAC_DATH_DATA1_SHIFT) |
| #define DAC_BRD_DATH_DATA1(base, index) (BME_UBFX8(&DAC_DATH_REG(base, index), DAC_DATH_DATA1_SHIFT, DAC_DATH_DATA1_WIDTH)) |
| |
| /*! @brief Set the DATA1 field to a new value. */ |
| #define DAC_WR_DATH_DATA1(base, index, value) (DAC_RMW_DATH(base, index, DAC_DATH_DATA1_MASK, DAC_DATH_DATA1(value))) |
| #define DAC_BWR_DATH_DATA1(base, index, value) (BME_BFI8(&DAC_DATH_REG(base, index), ((uint8_t)(value) << DAC_DATH_DATA1_SHIFT), DAC_DATH_DATA1_SHIFT, DAC_DATH_DATA1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DAC_SR - DAC Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DAC_SR - DAC Status Register (RW) |
| * |
| * Reset value: 0x02U |
| * |
| * If DMA is enabled, the flags can be cleared automatically by DMA when the DMA |
| * request is done. Writing 0 to a field clears it whereas writing 1 has no |
| * effect. After reset, DACBFRPTF is set and can be cleared by software, if needed. |
| * The flags are set only when the data buffer status is changed. Do not use |
| * 32/16-bit accesses to this register. |
| */ |
| /*! |
| * @name Constants and macros for entire DAC_SR register |
| */ |
| /*@{*/ |
| #define DAC_RD_SR(base) (DAC_SR_REG(base)) |
| #define DAC_WR_SR(base, value) (DAC_SR_REG(base) = (value)) |
| #define DAC_RMW_SR(base, mask, value) (DAC_WR_SR(base, (DAC_RD_SR(base) & ~(mask)) | (value))) |
| #define DAC_SET_SR(base, value) (BME_OR8(&DAC_SR_REG(base), (uint8_t)(value))) |
| #define DAC_CLR_SR(base, value) (BME_AND8(&DAC_SR_REG(base), (uint8_t)(~(value)))) |
| #define DAC_TOG_SR(base, value) (BME_XOR8(&DAC_SR_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DAC_SR bitfields |
| */ |
| |
| /*! |
| * @name Register DAC_SR, field DACBFRPBF[0] (RW) |
| * |
| * Values: |
| * - 0b0 - The DAC buffer read pointer is not equal to C2[DACBFUP]. |
| * - 0b1 - The DAC buffer read pointer is equal to C2[DACBFUP]. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_SR_DACBFRPBF field. */ |
| #define DAC_RD_SR_DACBFRPBF(base) ((DAC_SR_REG(base) & DAC_SR_DACBFRPBF_MASK) >> DAC_SR_DACBFRPBF_SHIFT) |
| #define DAC_BRD_SR_DACBFRPBF(base) (BME_UBFX8(&DAC_SR_REG(base), DAC_SR_DACBFRPBF_SHIFT, DAC_SR_DACBFRPBF_WIDTH)) |
| |
| /*! @brief Set the DACBFRPBF field to a new value. */ |
| #define DAC_WR_SR_DACBFRPBF(base, value) (DAC_RMW_SR(base, DAC_SR_DACBFRPBF_MASK, DAC_SR_DACBFRPBF(value))) |
| #define DAC_BWR_SR_DACBFRPBF(base, value) (BME_BFI8(&DAC_SR_REG(base), ((uint8_t)(value) << DAC_SR_DACBFRPBF_SHIFT), DAC_SR_DACBFRPBF_SHIFT, DAC_SR_DACBFRPBF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DAC_SR, field DACBFRPTF[1] (RW) |
| * |
| * Values: |
| * - 0b0 - The DAC buffer read pointer is not zero. |
| * - 0b1 - The DAC buffer read pointer is zero. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_SR_DACBFRPTF field. */ |
| #define DAC_RD_SR_DACBFRPTF(base) ((DAC_SR_REG(base) & DAC_SR_DACBFRPTF_MASK) >> DAC_SR_DACBFRPTF_SHIFT) |
| #define DAC_BRD_SR_DACBFRPTF(base) (BME_UBFX8(&DAC_SR_REG(base), DAC_SR_DACBFRPTF_SHIFT, DAC_SR_DACBFRPTF_WIDTH)) |
| |
| /*! @brief Set the DACBFRPTF field to a new value. */ |
| #define DAC_WR_SR_DACBFRPTF(base, value) (DAC_RMW_SR(base, DAC_SR_DACBFRPTF_MASK, DAC_SR_DACBFRPTF(value))) |
| #define DAC_BWR_SR_DACBFRPTF(base, value) (BME_BFI8(&DAC_SR_REG(base), ((uint8_t)(value) << DAC_SR_DACBFRPTF_SHIFT), DAC_SR_DACBFRPTF_SHIFT, DAC_SR_DACBFRPTF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DAC_C0 - DAC Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DAC_C0 - DAC Control Register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * Do not use 32- or 16-bit accesses to this register. |
| */ |
| /*! |
| * @name Constants and macros for entire DAC_C0 register |
| */ |
| /*@{*/ |
| #define DAC_RD_C0(base) (DAC_C0_REG(base)) |
| #define DAC_WR_C0(base, value) (DAC_C0_REG(base) = (value)) |
| #define DAC_RMW_C0(base, mask, value) (DAC_WR_C0(base, (DAC_RD_C0(base) & ~(mask)) | (value))) |
| #define DAC_SET_C0(base, value) (BME_OR8(&DAC_C0_REG(base), (uint8_t)(value))) |
| #define DAC_CLR_C0(base, value) (BME_AND8(&DAC_C0_REG(base), (uint8_t)(~(value)))) |
| #define DAC_TOG_C0(base, value) (BME_XOR8(&DAC_C0_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DAC_C0 bitfields |
| */ |
| |
| /*! |
| * @name Register DAC_C0, field DACBBIEN[0] (RW) |
| * |
| * Values: |
| * - 0b0 - The DAC buffer read pointer bottom flag interrupt is disabled. |
| * - 0b1 - The DAC buffer read pointer bottom flag interrupt is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C0_DACBBIEN field. */ |
| #define DAC_RD_C0_DACBBIEN(base) ((DAC_C0_REG(base) & DAC_C0_DACBBIEN_MASK) >> DAC_C0_DACBBIEN_SHIFT) |
| #define DAC_BRD_C0_DACBBIEN(base) (BME_UBFX8(&DAC_C0_REG(base), DAC_C0_DACBBIEN_SHIFT, DAC_C0_DACBBIEN_WIDTH)) |
| |
| /*! @brief Set the DACBBIEN field to a new value. */ |
| #define DAC_WR_C0_DACBBIEN(base, value) (DAC_RMW_C0(base, DAC_C0_DACBBIEN_MASK, DAC_C0_DACBBIEN(value))) |
| #define DAC_BWR_C0_DACBBIEN(base, value) (BME_BFI8(&DAC_C0_REG(base), ((uint8_t)(value) << DAC_C0_DACBBIEN_SHIFT), DAC_C0_DACBBIEN_SHIFT, DAC_C0_DACBBIEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DAC_C0, field DACBTIEN[1] (RW) |
| * |
| * Values: |
| * - 0b0 - The DAC buffer read pointer top flag interrupt is disabled. |
| * - 0b1 - The DAC buffer read pointer top flag interrupt is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C0_DACBTIEN field. */ |
| #define DAC_RD_C0_DACBTIEN(base) ((DAC_C0_REG(base) & DAC_C0_DACBTIEN_MASK) >> DAC_C0_DACBTIEN_SHIFT) |
| #define DAC_BRD_C0_DACBTIEN(base) (BME_UBFX8(&DAC_C0_REG(base), DAC_C0_DACBTIEN_SHIFT, DAC_C0_DACBTIEN_WIDTH)) |
| |
| /*! @brief Set the DACBTIEN field to a new value. */ |
| #define DAC_WR_C0_DACBTIEN(base, value) (DAC_RMW_C0(base, DAC_C0_DACBTIEN_MASK, DAC_C0_DACBTIEN(value))) |
| #define DAC_BWR_C0_DACBTIEN(base, value) (BME_BFI8(&DAC_C0_REG(base), ((uint8_t)(value) << DAC_C0_DACBTIEN_SHIFT), DAC_C0_DACBTIEN_SHIFT, DAC_C0_DACBTIEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DAC_C0, field LPEN[3] (RW) |
| * |
| * See the 12-bit DAC electrical characteristics of the device data sheet for |
| * details on the impact of the modes below. |
| * |
| * Values: |
| * - 0b0 - High-Power mode |
| * - 0b1 - Low-Power mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C0_LPEN field. */ |
| #define DAC_RD_C0_LPEN(base) ((DAC_C0_REG(base) & DAC_C0_LPEN_MASK) >> DAC_C0_LPEN_SHIFT) |
| #define DAC_BRD_C0_LPEN(base) (BME_UBFX8(&DAC_C0_REG(base), DAC_C0_LPEN_SHIFT, DAC_C0_LPEN_WIDTH)) |
| |
| /*! @brief Set the LPEN field to a new value. */ |
| #define DAC_WR_C0_LPEN(base, value) (DAC_RMW_C0(base, DAC_C0_LPEN_MASK, DAC_C0_LPEN(value))) |
| #define DAC_BWR_C0_LPEN(base, value) (BME_BFI8(&DAC_C0_REG(base), ((uint8_t)(value) << DAC_C0_LPEN_SHIFT), DAC_C0_LPEN_SHIFT, DAC_C0_LPEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DAC_C0, field DACSWTRG[4] (WORZ) |
| * |
| * Active high. This is a write-only field, which always reads 0. If DAC |
| * software trigger is selected and buffer is enabled, writing 1 to this field will |
| * advance the buffer read pointer once. |
| * |
| * Values: |
| * - 0b0 - The DAC soft trigger is not valid. |
| * - 0b1 - The DAC soft trigger is valid. |
| */ |
| /*@{*/ |
| /*! @brief Set the DACSWTRG field to a new value. */ |
| #define DAC_WR_C0_DACSWTRG(base, value) (DAC_RMW_C0(base, DAC_C0_DACSWTRG_MASK, DAC_C0_DACSWTRG(value))) |
| #define DAC_BWR_C0_DACSWTRG(base, value) (BME_BFI8(&DAC_C0_REG(base), ((uint8_t)(value) << DAC_C0_DACSWTRG_SHIFT), DAC_C0_DACSWTRG_SHIFT, DAC_C0_DACSWTRG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DAC_C0, field DACTRGSEL[5] (RW) |
| * |
| * Values: |
| * - 0b0 - The DAC hardware trigger is selected. |
| * - 0b1 - The DAC software trigger is selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C0_DACTRGSEL field. */ |
| #define DAC_RD_C0_DACTRGSEL(base) ((DAC_C0_REG(base) & DAC_C0_DACTRGSEL_MASK) >> DAC_C0_DACTRGSEL_SHIFT) |
| #define DAC_BRD_C0_DACTRGSEL(base) (BME_UBFX8(&DAC_C0_REG(base), DAC_C0_DACTRGSEL_SHIFT, DAC_C0_DACTRGSEL_WIDTH)) |
| |
| /*! @brief Set the DACTRGSEL field to a new value. */ |
| #define DAC_WR_C0_DACTRGSEL(base, value) (DAC_RMW_C0(base, DAC_C0_DACTRGSEL_MASK, DAC_C0_DACTRGSEL(value))) |
| #define DAC_BWR_C0_DACTRGSEL(base, value) (BME_BFI8(&DAC_C0_REG(base), ((uint8_t)(value) << DAC_C0_DACTRGSEL_SHIFT), DAC_C0_DACTRGSEL_SHIFT, DAC_C0_DACTRGSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DAC_C0, field DACRFS[6] (RW) |
| * |
| * Values: |
| * - 0b0 - The DAC selects DACREF_1 as the reference voltage. |
| * - 0b1 - The DAC selects DACREF_2 as the reference voltage. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C0_DACRFS field. */ |
| #define DAC_RD_C0_DACRFS(base) ((DAC_C0_REG(base) & DAC_C0_DACRFS_MASK) >> DAC_C0_DACRFS_SHIFT) |
| #define DAC_BRD_C0_DACRFS(base) (BME_UBFX8(&DAC_C0_REG(base), DAC_C0_DACRFS_SHIFT, DAC_C0_DACRFS_WIDTH)) |
| |
| /*! @brief Set the DACRFS field to a new value. */ |
| #define DAC_WR_C0_DACRFS(base, value) (DAC_RMW_C0(base, DAC_C0_DACRFS_MASK, DAC_C0_DACRFS(value))) |
| #define DAC_BWR_C0_DACRFS(base, value) (BME_BFI8(&DAC_C0_REG(base), ((uint8_t)(value) << DAC_C0_DACRFS_SHIFT), DAC_C0_DACRFS_SHIFT, DAC_C0_DACRFS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DAC_C0, field DACEN[7] (RW) |
| * |
| * Starts the Programmable Reference Generator operation. |
| * |
| * Values: |
| * - 0b0 - The DAC system is disabled. |
| * - 0b1 - The DAC system is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C0_DACEN field. */ |
| #define DAC_RD_C0_DACEN(base) ((DAC_C0_REG(base) & DAC_C0_DACEN_MASK) >> DAC_C0_DACEN_SHIFT) |
| #define DAC_BRD_C0_DACEN(base) (BME_UBFX8(&DAC_C0_REG(base), DAC_C0_DACEN_SHIFT, DAC_C0_DACEN_WIDTH)) |
| |
| /*! @brief Set the DACEN field to a new value. */ |
| #define DAC_WR_C0_DACEN(base, value) (DAC_RMW_C0(base, DAC_C0_DACEN_MASK, DAC_C0_DACEN(value))) |
| #define DAC_BWR_C0_DACEN(base, value) (BME_BFI8(&DAC_C0_REG(base), ((uint8_t)(value) << DAC_C0_DACEN_SHIFT), DAC_C0_DACEN_SHIFT, DAC_C0_DACEN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DAC_C1 - DAC Control Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DAC_C1 - DAC Control Register 1 (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * Do not use 32- or 16-bit accesses to this register. |
| */ |
| /*! |
| * @name Constants and macros for entire DAC_C1 register |
| */ |
| /*@{*/ |
| #define DAC_RD_C1(base) (DAC_C1_REG(base)) |
| #define DAC_WR_C1(base, value) (DAC_C1_REG(base) = (value)) |
| #define DAC_RMW_C1(base, mask, value) (DAC_WR_C1(base, (DAC_RD_C1(base) & ~(mask)) | (value))) |
| #define DAC_SET_C1(base, value) (BME_OR8(&DAC_C1_REG(base), (uint8_t)(value))) |
| #define DAC_CLR_C1(base, value) (BME_AND8(&DAC_C1_REG(base), (uint8_t)(~(value)))) |
| #define DAC_TOG_C1(base, value) (BME_XOR8(&DAC_C1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DAC_C1 bitfields |
| */ |
| |
| /*! |
| * @name Register DAC_C1, field DACBFEN[0] (RW) |
| * |
| * Values: |
| * - 0b0 - Buffer read pointer is disabled. The converted data is always the |
| * first word of the buffer. |
| * - 0b1 - Buffer read pointer is enabled. The converted data is the word that |
| * the read pointer points to. It means converted data can be from any word of |
| * the buffer. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C1_DACBFEN field. */ |
| #define DAC_RD_C1_DACBFEN(base) ((DAC_C1_REG(base) & DAC_C1_DACBFEN_MASK) >> DAC_C1_DACBFEN_SHIFT) |
| #define DAC_BRD_C1_DACBFEN(base) (BME_UBFX8(&DAC_C1_REG(base), DAC_C1_DACBFEN_SHIFT, DAC_C1_DACBFEN_WIDTH)) |
| |
| /*! @brief Set the DACBFEN field to a new value. */ |
| #define DAC_WR_C1_DACBFEN(base, value) (DAC_RMW_C1(base, DAC_C1_DACBFEN_MASK, DAC_C1_DACBFEN(value))) |
| #define DAC_BWR_C1_DACBFEN(base, value) (BME_BFI8(&DAC_C1_REG(base), ((uint8_t)(value) << DAC_C1_DACBFEN_SHIFT), DAC_C1_DACBFEN_SHIFT, DAC_C1_DACBFEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DAC_C1, field DACBFMD[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal mode |
| * - 0b1 - One-Time Scan mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C1_DACBFMD field. */ |
| #define DAC_RD_C1_DACBFMD(base) ((DAC_C1_REG(base) & DAC_C1_DACBFMD_MASK) >> DAC_C1_DACBFMD_SHIFT) |
| #define DAC_BRD_C1_DACBFMD(base) (BME_UBFX8(&DAC_C1_REG(base), DAC_C1_DACBFMD_SHIFT, DAC_C1_DACBFMD_WIDTH)) |
| |
| /*! @brief Set the DACBFMD field to a new value. */ |
| #define DAC_WR_C1_DACBFMD(base, value) (DAC_RMW_C1(base, DAC_C1_DACBFMD_MASK, DAC_C1_DACBFMD(value))) |
| #define DAC_BWR_C1_DACBFMD(base, value) (BME_BFI8(&DAC_C1_REG(base), ((uint8_t)(value) << DAC_C1_DACBFMD_SHIFT), DAC_C1_DACBFMD_SHIFT, DAC_C1_DACBFMD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DAC_C1, field DMAEN[7] (RW) |
| * |
| * Values: |
| * - 0b0 - DMA is disabled. |
| * - 0b1 - DMA is enabled. When DMA is enabled, the DMA request will be |
| * generated by original interrupts. The interrupts will not be presented on this |
| * module at the same time. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C1_DMAEN field. */ |
| #define DAC_RD_C1_DMAEN(base) ((DAC_C1_REG(base) & DAC_C1_DMAEN_MASK) >> DAC_C1_DMAEN_SHIFT) |
| #define DAC_BRD_C1_DMAEN(base) (BME_UBFX8(&DAC_C1_REG(base), DAC_C1_DMAEN_SHIFT, DAC_C1_DMAEN_WIDTH)) |
| |
| /*! @brief Set the DMAEN field to a new value. */ |
| #define DAC_WR_C1_DMAEN(base, value) (DAC_RMW_C1(base, DAC_C1_DMAEN_MASK, DAC_C1_DMAEN(value))) |
| #define DAC_BWR_C1_DMAEN(base, value) (BME_BFI8(&DAC_C1_REG(base), ((uint8_t)(value) << DAC_C1_DMAEN_SHIFT), DAC_C1_DMAEN_SHIFT, DAC_C1_DMAEN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DAC_C2 - DAC Control Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DAC_C2 - DAC Control Register 2 (RW) |
| * |
| * Reset value: 0x01U |
| */ |
| /*! |
| * @name Constants and macros for entire DAC_C2 register |
| */ |
| /*@{*/ |
| #define DAC_RD_C2(base) (DAC_C2_REG(base)) |
| #define DAC_WR_C2(base, value) (DAC_C2_REG(base) = (value)) |
| #define DAC_RMW_C2(base, mask, value) (DAC_WR_C2(base, (DAC_RD_C2(base) & ~(mask)) | (value))) |
| #define DAC_SET_C2(base, value) (BME_OR8(&DAC_C2_REG(base), (uint8_t)(value))) |
| #define DAC_CLR_C2(base, value) (BME_AND8(&DAC_C2_REG(base), (uint8_t)(~(value)))) |
| #define DAC_TOG_C2(base, value) (BME_XOR8(&DAC_C2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DAC_C2 bitfields |
| */ |
| |
| /*! |
| * @name Register DAC_C2, field DACBFUP[0] (RW) |
| * |
| * Selects the upper limit of the DAC buffer. The buffer read pointer cannot |
| * exceed it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C2_DACBFUP field. */ |
| #define DAC_RD_C2_DACBFUP(base) ((DAC_C2_REG(base) & DAC_C2_DACBFUP_MASK) >> DAC_C2_DACBFUP_SHIFT) |
| #define DAC_BRD_C2_DACBFUP(base) (BME_UBFX8(&DAC_C2_REG(base), DAC_C2_DACBFUP_SHIFT, DAC_C2_DACBFUP_WIDTH)) |
| |
| /*! @brief Set the DACBFUP field to a new value. */ |
| #define DAC_WR_C2_DACBFUP(base, value) (DAC_RMW_C2(base, DAC_C2_DACBFUP_MASK, DAC_C2_DACBFUP(value))) |
| #define DAC_BWR_C2_DACBFUP(base, value) (BME_BFI8(&DAC_C2_REG(base), ((uint8_t)(value) << DAC_C2_DACBFUP_SHIFT), DAC_C2_DACBFUP_SHIFT, DAC_C2_DACBFUP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DAC_C2, field DACBFRP[4] (RW) |
| * |
| * Keeps the current value of the buffer read pointer. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DAC_C2_DACBFRP field. */ |
| #define DAC_RD_C2_DACBFRP(base) ((DAC_C2_REG(base) & DAC_C2_DACBFRP_MASK) >> DAC_C2_DACBFRP_SHIFT) |
| #define DAC_BRD_C2_DACBFRP(base) (BME_UBFX8(&DAC_C2_REG(base), DAC_C2_DACBFRP_SHIFT, DAC_C2_DACBFRP_WIDTH)) |
| |
| /*! @brief Set the DACBFRP field to a new value. */ |
| #define DAC_WR_C2_DACBFRP(base, value) (DAC_RMW_C2(base, DAC_C2_DACBFRP_MASK, DAC_C2_DACBFRP(value))) |
| #define DAC_BWR_C2_DACBFRP(base, value) (BME_BFI8(&DAC_C2_REG(base), ((uint8_t)(value) << DAC_C2_DACBFRP_SHIFT), DAC_C2_DACBFRP_SHIFT, DAC_C2_DACBFRP_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 DCDC |
| * |
| * DC to DC Converter |
| * |
| * Registers defined in this header file: |
| * - DCDC_REG0 - DCDC REGISTER 0 |
| * - DCDC_REG1 - DCDC REGISTER 1 |
| * - DCDC_REG2 - DCDC REGISTER 2 |
| * - DCDC_REG3 - DCDC REGISTER 3 |
| * - DCDC_REG4 - DCDC REGISTER 4 |
| * - DCDC_REG6 - DCDC REGISTER 6 |
| * - DCDC_REG7 - DCDC REGISTER 7 |
| */ |
| |
| #define DCDC_INSTANCE_COUNT (1U) /*!< Number of instances of the DCDC module. */ |
| #define DCDC_IDX (0U) /*!< Instance number for DCDC. */ |
| |
| /******************************************************************************* |
| * DCDC_REG0 - DCDC REGISTER 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DCDC_REG0 - DCDC REGISTER 0 (RW) |
| * |
| * Reset value: 0x04180000U |
| */ |
| /*! |
| * @name Constants and macros for entire DCDC_REG0 register |
| */ |
| /*@{*/ |
| #define DCDC_RD_REG0(base) (DCDC_REG0_REG(base)) |
| #define DCDC_WR_REG0(base, value) (DCDC_REG0_REG(base) = (value)) |
| #define DCDC_RMW_REG0(base, mask, value) (DCDC_WR_REG0(base, (DCDC_RD_REG0(base) & ~(mask)) | (value))) |
| #define DCDC_SET_REG0(base, value) (BME_OR32(&DCDC_REG0_REG(base), (uint32_t)(value))) |
| #define DCDC_CLR_REG0(base, value) (BME_AND32(&DCDC_REG0_REG(base), (uint32_t)(~(value)))) |
| #define DCDC_TOG_REG0(base, value) (BME_XOR32(&DCDC_REG0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DCDC_REG0 bitfields |
| */ |
| |
| /*! |
| * @name Register DCDC_REG0, field DCDC_DISABLE_AUTO_CLK_SWITCH[1] (RW) |
| * |
| * Disable automatic clock switch from internal oscillator to external clock. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH field. */ |
| #define DCDC_RD_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH(base) ((DCDC_REG0_REG(base) & DCDC_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH_MASK) >> DCDC_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH_SHIFT) |
| #define DCDC_BRD_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH_SHIFT, DCDC_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH_WIDTH)) |
| |
| /*! @brief Set the DCDC_DISABLE_AUTO_CLK_SWITCH field to a new value. */ |
| #define DCDC_WR_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH_MASK, DCDC_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH(value))) |
| #define DCDC_BWR_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH_SHIFT), DCDC_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH_SHIFT, DCDC_REG0_DCDC_DISABLE_AUTO_CLK_SWITCH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field DCDC_SEL_CLK[2] (RW) |
| * |
| * Select external clock for DCDC when DCDC_DISABLE_AUTO_CLK_SWITCH is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_DCDC_SEL_CLK field. */ |
| #define DCDC_RD_REG0_DCDC_SEL_CLK(base) ((DCDC_REG0_REG(base) & DCDC_REG0_DCDC_SEL_CLK_MASK) >> DCDC_REG0_DCDC_SEL_CLK_SHIFT) |
| #define DCDC_BRD_REG0_DCDC_SEL_CLK(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_DCDC_SEL_CLK_SHIFT, DCDC_REG0_DCDC_SEL_CLK_WIDTH)) |
| |
| /*! @brief Set the DCDC_SEL_CLK field to a new value. */ |
| #define DCDC_WR_REG0_DCDC_SEL_CLK(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_DCDC_SEL_CLK_MASK, DCDC_REG0_DCDC_SEL_CLK(value))) |
| #define DCDC_BWR_REG0_DCDC_SEL_CLK(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_DCDC_SEL_CLK_SHIFT), DCDC_REG0_DCDC_SEL_CLK_SHIFT, DCDC_REG0_DCDC_SEL_CLK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field DCDC_PWD_OSC_INT[3] (RW) |
| * |
| * Power down internal oscillator. Only set this bit when 32M crystal oscillator |
| * is available. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_DCDC_PWD_OSC_INT field. */ |
| #define DCDC_RD_REG0_DCDC_PWD_OSC_INT(base) ((DCDC_REG0_REG(base) & DCDC_REG0_DCDC_PWD_OSC_INT_MASK) >> DCDC_REG0_DCDC_PWD_OSC_INT_SHIFT) |
| #define DCDC_BRD_REG0_DCDC_PWD_OSC_INT(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_DCDC_PWD_OSC_INT_SHIFT, DCDC_REG0_DCDC_PWD_OSC_INT_WIDTH)) |
| |
| /*! @brief Set the DCDC_PWD_OSC_INT field to a new value. */ |
| #define DCDC_WR_REG0_DCDC_PWD_OSC_INT(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_DCDC_PWD_OSC_INT_MASK, DCDC_REG0_DCDC_PWD_OSC_INT(value))) |
| #define DCDC_BWR_REG0_DCDC_PWD_OSC_INT(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_DCDC_PWD_OSC_INT_SHIFT), DCDC_REG0_DCDC_PWD_OSC_INT_SHIFT, DCDC_REG0_DCDC_PWD_OSC_INT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field DCDC_LP_DF_CMP_ENABLE[9] (RW) |
| * |
| * Enable low power differential comparators, to sense lower supply in pulsed |
| * mode. This can reduce the ripple in pulsed mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_DCDC_LP_DF_CMP_ENABLE field. */ |
| #define DCDC_RD_REG0_DCDC_LP_DF_CMP_ENABLE(base) ((DCDC_REG0_REG(base) & DCDC_REG0_DCDC_LP_DF_CMP_ENABLE_MASK) >> DCDC_REG0_DCDC_LP_DF_CMP_ENABLE_SHIFT) |
| #define DCDC_BRD_REG0_DCDC_LP_DF_CMP_ENABLE(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_DCDC_LP_DF_CMP_ENABLE_SHIFT, DCDC_REG0_DCDC_LP_DF_CMP_ENABLE_WIDTH)) |
| |
| /*! @brief Set the DCDC_LP_DF_CMP_ENABLE field to a new value. */ |
| #define DCDC_WR_REG0_DCDC_LP_DF_CMP_ENABLE(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_DCDC_LP_DF_CMP_ENABLE_MASK, DCDC_REG0_DCDC_LP_DF_CMP_ENABLE(value))) |
| #define DCDC_BWR_REG0_DCDC_LP_DF_CMP_ENABLE(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_DCDC_LP_DF_CMP_ENABLE_SHIFT), DCDC_REG0_DCDC_LP_DF_CMP_ENABLE_SHIFT, DCDC_REG0_DCDC_LP_DF_CMP_ENABLE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field DCDC_VBAT_DIV_CTRL[11:10] (RW) |
| * |
| * Controls VBAT voltage divider. The divided VBAT output is input to an ADC |
| * channel which allows the battery voltage to be measured. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_DCDC_VBAT_DIV_CTRL field. */ |
| #define DCDC_RD_REG0_DCDC_VBAT_DIV_CTRL(base) ((DCDC_REG0_REG(base) & DCDC_REG0_DCDC_VBAT_DIV_CTRL_MASK) >> DCDC_REG0_DCDC_VBAT_DIV_CTRL_SHIFT) |
| #define DCDC_BRD_REG0_DCDC_VBAT_DIV_CTRL(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_DCDC_VBAT_DIV_CTRL_SHIFT, DCDC_REG0_DCDC_VBAT_DIV_CTRL_WIDTH)) |
| |
| /*! @brief Set the DCDC_VBAT_DIV_CTRL field to a new value. */ |
| #define DCDC_WR_REG0_DCDC_VBAT_DIV_CTRL(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_DCDC_VBAT_DIV_CTRL_MASK, DCDC_REG0_DCDC_VBAT_DIV_CTRL(value))) |
| #define DCDC_BWR_REG0_DCDC_VBAT_DIV_CTRL(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_DCDC_VBAT_DIV_CTRL_SHIFT), DCDC_REG0_DCDC_VBAT_DIV_CTRL_SHIFT, DCDC_REG0_DCDC_VBAT_DIV_CTRL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field DCDC_LP_STATE_HYS_L[18:17] (RW) |
| * |
| * Configure the hysteretic lower threshold value in low power mode. It |
| * determines the hysteretic value of the output voltage in pulsed mode. |
| * |
| * Values: |
| * - 0b00 - Target voltage value - 0 mV |
| * - 0b01 - Target voltage value - 25 mV |
| * - 0b10 - Target voltage value - 50 mV |
| * - 0b11 - Target voltage value - 75 mV |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_DCDC_LP_STATE_HYS_L field. */ |
| #define DCDC_RD_REG0_DCDC_LP_STATE_HYS_L(base) ((DCDC_REG0_REG(base) & DCDC_REG0_DCDC_LP_STATE_HYS_L_MASK) >> DCDC_REG0_DCDC_LP_STATE_HYS_L_SHIFT) |
| #define DCDC_BRD_REG0_DCDC_LP_STATE_HYS_L(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_DCDC_LP_STATE_HYS_L_SHIFT, DCDC_REG0_DCDC_LP_STATE_HYS_L_WIDTH)) |
| |
| /*! @brief Set the DCDC_LP_STATE_HYS_L field to a new value. */ |
| #define DCDC_WR_REG0_DCDC_LP_STATE_HYS_L(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_DCDC_LP_STATE_HYS_L_MASK, DCDC_REG0_DCDC_LP_STATE_HYS_L(value))) |
| #define DCDC_BWR_REG0_DCDC_LP_STATE_HYS_L(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_DCDC_LP_STATE_HYS_L_SHIFT), DCDC_REG0_DCDC_LP_STATE_HYS_L_SHIFT, DCDC_REG0_DCDC_LP_STATE_HYS_L_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field DCDC_LP_STATE_HYS_H[20:19] (RW) |
| * |
| * Configure the hysteretic upper threshold value in low power mode. It |
| * determines the hysteretic value of the output voltage in pulsed mode. |
| * |
| * Values: |
| * - 0b00 - Target voltage value + 0 mV |
| * - 0b01 - Target voltage value + 25 mV |
| * - 0b10 - Target voltage value + 50 mV |
| * - 0b11 - Target voltage value + 75 mV |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_DCDC_LP_STATE_HYS_H field. */ |
| #define DCDC_RD_REG0_DCDC_LP_STATE_HYS_H(base) ((DCDC_REG0_REG(base) & DCDC_REG0_DCDC_LP_STATE_HYS_H_MASK) >> DCDC_REG0_DCDC_LP_STATE_HYS_H_SHIFT) |
| #define DCDC_BRD_REG0_DCDC_LP_STATE_HYS_H(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_DCDC_LP_STATE_HYS_H_SHIFT, DCDC_REG0_DCDC_LP_STATE_HYS_H_WIDTH)) |
| |
| /*! @brief Set the DCDC_LP_STATE_HYS_H field to a new value. */ |
| #define DCDC_WR_REG0_DCDC_LP_STATE_HYS_H(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_DCDC_LP_STATE_HYS_H_MASK, DCDC_REG0_DCDC_LP_STATE_HYS_H(value))) |
| #define DCDC_BWR_REG0_DCDC_LP_STATE_HYS_H(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_DCDC_LP_STATE_HYS_H_SHIFT), DCDC_REG0_DCDC_LP_STATE_HYS_H_SHIFT, DCDC_REG0_DCDC_LP_STATE_HYS_H_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field HYST_LP_COMP_ADJ[21] (RW) |
| * |
| * Adjust hysteretic value in low power comparator. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_HYST_LP_COMP_ADJ field. */ |
| #define DCDC_RD_REG0_HYST_LP_COMP_ADJ(base) ((DCDC_REG0_REG(base) & DCDC_REG0_HYST_LP_COMP_ADJ_MASK) >> DCDC_REG0_HYST_LP_COMP_ADJ_SHIFT) |
| #define DCDC_BRD_REG0_HYST_LP_COMP_ADJ(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_HYST_LP_COMP_ADJ_SHIFT, DCDC_REG0_HYST_LP_COMP_ADJ_WIDTH)) |
| |
| /*! @brief Set the HYST_LP_COMP_ADJ field to a new value. */ |
| #define DCDC_WR_REG0_HYST_LP_COMP_ADJ(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_HYST_LP_COMP_ADJ_MASK, DCDC_REG0_HYST_LP_COMP_ADJ(value))) |
| #define DCDC_BWR_REG0_HYST_LP_COMP_ADJ(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_HYST_LP_COMP_ADJ_SHIFT), DCDC_REG0_HYST_LP_COMP_ADJ_SHIFT, DCDC_REG0_HYST_LP_COMP_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field HYST_LP_CMP_DISABLE[22] (RW) |
| * |
| * Disable hysteresis in low power comparator. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_HYST_LP_CMP_DISABLE field. */ |
| #define DCDC_RD_REG0_HYST_LP_CMP_DISABLE(base) ((DCDC_REG0_REG(base) & DCDC_REG0_HYST_LP_CMP_DISABLE_MASK) >> DCDC_REG0_HYST_LP_CMP_DISABLE_SHIFT) |
| #define DCDC_BRD_REG0_HYST_LP_CMP_DISABLE(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_HYST_LP_CMP_DISABLE_SHIFT, DCDC_REG0_HYST_LP_CMP_DISABLE_WIDTH)) |
| |
| /*! @brief Set the HYST_LP_CMP_DISABLE field to a new value. */ |
| #define DCDC_WR_REG0_HYST_LP_CMP_DISABLE(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_HYST_LP_CMP_DISABLE_MASK, DCDC_REG0_HYST_LP_CMP_DISABLE(value))) |
| #define DCDC_BWR_REG0_HYST_LP_CMP_DISABLE(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_HYST_LP_CMP_DISABLE_SHIFT), DCDC_REG0_HYST_LP_CMP_DISABLE_SHIFT, DCDC_REG0_HYST_LP_CMP_DISABLE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field OFFSET_RSNS_LP_ADJ[23] (RW) |
| * |
| * Adjust hysteretic value in low power voltage sense. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_OFFSET_RSNS_LP_ADJ field. */ |
| #define DCDC_RD_REG0_OFFSET_RSNS_LP_ADJ(base) ((DCDC_REG0_REG(base) & DCDC_REG0_OFFSET_RSNS_LP_ADJ_MASK) >> DCDC_REG0_OFFSET_RSNS_LP_ADJ_SHIFT) |
| #define DCDC_BRD_REG0_OFFSET_RSNS_LP_ADJ(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_OFFSET_RSNS_LP_ADJ_SHIFT, DCDC_REG0_OFFSET_RSNS_LP_ADJ_WIDTH)) |
| |
| /*! @brief Set the OFFSET_RSNS_LP_ADJ field to a new value. */ |
| #define DCDC_WR_REG0_OFFSET_RSNS_LP_ADJ(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_OFFSET_RSNS_LP_ADJ_MASK, DCDC_REG0_OFFSET_RSNS_LP_ADJ(value))) |
| #define DCDC_BWR_REG0_OFFSET_RSNS_LP_ADJ(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_OFFSET_RSNS_LP_ADJ_SHIFT), DCDC_REG0_OFFSET_RSNS_LP_ADJ_SHIFT, DCDC_REG0_OFFSET_RSNS_LP_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field OFFSET_RSNS_LP_DISABLE[24] (RW) |
| * |
| * Disable hysteresis in low power voltage sense. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_OFFSET_RSNS_LP_DISABLE field. */ |
| #define DCDC_RD_REG0_OFFSET_RSNS_LP_DISABLE(base) ((DCDC_REG0_REG(base) & DCDC_REG0_OFFSET_RSNS_LP_DISABLE_MASK) >> DCDC_REG0_OFFSET_RSNS_LP_DISABLE_SHIFT) |
| #define DCDC_BRD_REG0_OFFSET_RSNS_LP_DISABLE(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_OFFSET_RSNS_LP_DISABLE_SHIFT, DCDC_REG0_OFFSET_RSNS_LP_DISABLE_WIDTH)) |
| |
| /*! @brief Set the OFFSET_RSNS_LP_DISABLE field to a new value. */ |
| #define DCDC_WR_REG0_OFFSET_RSNS_LP_DISABLE(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_OFFSET_RSNS_LP_DISABLE_MASK, DCDC_REG0_OFFSET_RSNS_LP_DISABLE(value))) |
| #define DCDC_BWR_REG0_OFFSET_RSNS_LP_DISABLE(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_OFFSET_RSNS_LP_DISABLE_SHIFT), DCDC_REG0_OFFSET_RSNS_LP_DISABLE_SHIFT, DCDC_REG0_OFFSET_RSNS_LP_DISABLE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field DCDC_LESS_I[25] (RW) |
| * |
| * Reduce DCDC current. It will save approximately 20uA in RUN. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_DCDC_LESS_I field. */ |
| #define DCDC_RD_REG0_DCDC_LESS_I(base) ((DCDC_REG0_REG(base) & DCDC_REG0_DCDC_LESS_I_MASK) >> DCDC_REG0_DCDC_LESS_I_SHIFT) |
| #define DCDC_BRD_REG0_DCDC_LESS_I(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_DCDC_LESS_I_SHIFT, DCDC_REG0_DCDC_LESS_I_WIDTH)) |
| |
| /*! @brief Set the DCDC_LESS_I field to a new value. */ |
| #define DCDC_WR_REG0_DCDC_LESS_I(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_DCDC_LESS_I_MASK, DCDC_REG0_DCDC_LESS_I(value))) |
| #define DCDC_BWR_REG0_DCDC_LESS_I(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_DCDC_LESS_I_SHIFT), DCDC_REG0_DCDC_LESS_I_SHIFT, DCDC_REG0_DCDC_LESS_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field PWD_CMP_OFFSET[26] (RW) |
| * |
| * Power down output range comparator |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_PWD_CMP_OFFSET field. */ |
| #define DCDC_RD_REG0_PWD_CMP_OFFSET(base) ((DCDC_REG0_REG(base) & DCDC_REG0_PWD_CMP_OFFSET_MASK) >> DCDC_REG0_PWD_CMP_OFFSET_SHIFT) |
| #define DCDC_BRD_REG0_PWD_CMP_OFFSET(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_PWD_CMP_OFFSET_SHIFT, DCDC_REG0_PWD_CMP_OFFSET_WIDTH)) |
| |
| /*! @brief Set the PWD_CMP_OFFSET field to a new value. */ |
| #define DCDC_WR_REG0_PWD_CMP_OFFSET(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_PWD_CMP_OFFSET_MASK, DCDC_REG0_PWD_CMP_OFFSET(value))) |
| #define DCDC_BWR_REG0_PWD_CMP_OFFSET(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_PWD_CMP_OFFSET_SHIFT), DCDC_REG0_PWD_CMP_OFFSET_SHIFT, DCDC_REG0_PWD_CMP_OFFSET_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field DCDC_XTALOK_DISABLE[27] (RW) |
| * |
| * Disable xtalok detection circuit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_DCDC_XTALOK_DISABLE field. */ |
| #define DCDC_RD_REG0_DCDC_XTALOK_DISABLE(base) ((DCDC_REG0_REG(base) & DCDC_REG0_DCDC_XTALOK_DISABLE_MASK) >> DCDC_REG0_DCDC_XTALOK_DISABLE_SHIFT) |
| #define DCDC_BRD_REG0_DCDC_XTALOK_DISABLE(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_DCDC_XTALOK_DISABLE_SHIFT, DCDC_REG0_DCDC_XTALOK_DISABLE_WIDTH)) |
| |
| /*! @brief Set the DCDC_XTALOK_DISABLE field to a new value. */ |
| #define DCDC_WR_REG0_DCDC_XTALOK_DISABLE(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_DCDC_XTALOK_DISABLE_MASK, DCDC_REG0_DCDC_XTALOK_DISABLE(value))) |
| #define DCDC_BWR_REG0_DCDC_XTALOK_DISABLE(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_DCDC_XTALOK_DISABLE_SHIFT), DCDC_REG0_DCDC_XTALOK_DISABLE_SHIFT, DCDC_REG0_DCDC_XTALOK_DISABLE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field PSWITCH_STATUS[28] (RO) |
| * |
| * Status register to indicate PSWITCH status |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_PSWITCH_STATUS field. */ |
| #define DCDC_RD_REG0_PSWITCH_STATUS(base) ((DCDC_REG0_REG(base) & DCDC_REG0_PSWITCH_STATUS_MASK) >> DCDC_REG0_PSWITCH_STATUS_SHIFT) |
| #define DCDC_BRD_REG0_PSWITCH_STATUS(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_PSWITCH_STATUS_SHIFT, DCDC_REG0_PSWITCH_STATUS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field VLPS_CONFIG_DCDC_HP[29] (RW) |
| * |
| * Selects behavior of DCDC in device VLPS low power mode. Pulsed mode is a |
| * lower power mode. It can be used if the loads are small (<=0.5mA) in VLPx modes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_VLPS_CONFIG_DCDC_HP field. */ |
| #define DCDC_RD_REG0_VLPS_CONFIG_DCDC_HP(base) ((DCDC_REG0_REG(base) & DCDC_REG0_VLPS_CONFIG_DCDC_HP_MASK) >> DCDC_REG0_VLPS_CONFIG_DCDC_HP_SHIFT) |
| #define DCDC_BRD_REG0_VLPS_CONFIG_DCDC_HP(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_VLPS_CONFIG_DCDC_HP_SHIFT, DCDC_REG0_VLPS_CONFIG_DCDC_HP_WIDTH)) |
| |
| /*! @brief Set the VLPS_CONFIG_DCDC_HP field to a new value. */ |
| #define DCDC_WR_REG0_VLPS_CONFIG_DCDC_HP(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_VLPS_CONFIG_DCDC_HP_MASK, DCDC_REG0_VLPS_CONFIG_DCDC_HP(value))) |
| #define DCDC_BWR_REG0_VLPS_CONFIG_DCDC_HP(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_VLPS_CONFIG_DCDC_HP_SHIFT), DCDC_REG0_VLPS_CONFIG_DCDC_HP_SHIFT, DCDC_REG0_VLPS_CONFIG_DCDC_HP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field VLPR_VLPW_CONFIG_DCDC_HP[30] (RW) |
| * |
| * Selects behavior of DCDC in device VLPR and VLPW low power modes. Pulsed mode |
| * is a lower power mode. It can be used if the loads are small (<=0.5mA) in |
| * VLPx modes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_VLPR_VLPW_CONFIG_DCDC_HP field. */ |
| #define DCDC_RD_REG0_VLPR_VLPW_CONFIG_DCDC_HP(base) ((DCDC_REG0_REG(base) & DCDC_REG0_VLPR_VLPW_CONFIG_DCDC_HP_MASK) >> DCDC_REG0_VLPR_VLPW_CONFIG_DCDC_HP_SHIFT) |
| #define DCDC_BRD_REG0_VLPR_VLPW_CONFIG_DCDC_HP(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_VLPR_VLPW_CONFIG_DCDC_HP_SHIFT, DCDC_REG0_VLPR_VLPW_CONFIG_DCDC_HP_WIDTH)) |
| |
| /*! @brief Set the VLPR_VLPW_CONFIG_DCDC_HP field to a new value. */ |
| #define DCDC_WR_REG0_VLPR_VLPW_CONFIG_DCDC_HP(base, value) (DCDC_RMW_REG0(base, DCDC_REG0_VLPR_VLPW_CONFIG_DCDC_HP_MASK, DCDC_REG0_VLPR_VLPW_CONFIG_DCDC_HP(value))) |
| #define DCDC_BWR_REG0_VLPR_VLPW_CONFIG_DCDC_HP(base, value) (BME_BFI32(&DCDC_REG0_REG(base), ((uint32_t)(value) << DCDC_REG0_VLPR_VLPW_CONFIG_DCDC_HP_SHIFT), DCDC_REG0_VLPR_VLPW_CONFIG_DCDC_HP_SHIFT, DCDC_REG0_VLPR_VLPW_CONFIG_DCDC_HP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG0, field DCDC_STS_DC_OK[31] (RO) |
| * |
| * Status register to indicate DCDC lock. The lock time depends on the loading |
| * and the DCDC mode. When changing output voltage target, it will take |
| * approximately (0.5ms* target change steps). In pulsed mode, it will take approximately |
| * 5ms. In startup, it will take approximately 50ms. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG0_DCDC_STS_DC_OK field. */ |
| #define DCDC_RD_REG0_DCDC_STS_DC_OK(base) ((DCDC_REG0_REG(base) & DCDC_REG0_DCDC_STS_DC_OK_MASK) >> DCDC_REG0_DCDC_STS_DC_OK_SHIFT) |
| #define DCDC_BRD_REG0_DCDC_STS_DC_OK(base) (BME_UBFX32(&DCDC_REG0_REG(base), DCDC_REG0_DCDC_STS_DC_OK_SHIFT, DCDC_REG0_DCDC_STS_DC_OK_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DCDC_REG1 - DCDC REGISTER 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DCDC_REG1 - DCDC REGISTER 1 (RW) |
| * |
| * Reset value: 0x0017C21CU |
| */ |
| /*! |
| * @name Constants and macros for entire DCDC_REG1 register |
| */ |
| /*@{*/ |
| #define DCDC_RD_REG1(base) (DCDC_REG1_REG(base)) |
| #define DCDC_WR_REG1(base, value) (DCDC_REG1_REG(base) = (value)) |
| #define DCDC_RMW_REG1(base, mask, value) (DCDC_WR_REG1(base, (DCDC_RD_REG1(base) & ~(mask)) | (value))) |
| #define DCDC_SET_REG1(base, value) (BME_OR32(&DCDC_REG1_REG(base), (uint32_t)(value))) |
| #define DCDC_CLR_REG1(base, value) (BME_AND32(&DCDC_REG1_REG(base), (uint32_t)(~(value)))) |
| #define DCDC_TOG_REG1(base, value) (BME_XOR32(&DCDC_REG1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DCDC_REG1 bitfields |
| */ |
| |
| /*! |
| * @name Register DCDC_REG1, field POSLIMIT_BUCK_IN[6:0] (RW) |
| * |
| * Upper limit duty cycle limit in DC-DC converter. This field limits the |
| * maximum VDDIO achievable for a given battery voltage, and its value may be increased |
| * if very low battery operation is met. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG1_POSLIMIT_BUCK_IN field. */ |
| #define DCDC_RD_REG1_POSLIMIT_BUCK_IN(base) ((DCDC_REG1_REG(base) & DCDC_REG1_POSLIMIT_BUCK_IN_MASK) >> DCDC_REG1_POSLIMIT_BUCK_IN_SHIFT) |
| #define DCDC_BRD_REG1_POSLIMIT_BUCK_IN(base) (BME_UBFX32(&DCDC_REG1_REG(base), DCDC_REG1_POSLIMIT_BUCK_IN_SHIFT, DCDC_REG1_POSLIMIT_BUCK_IN_WIDTH)) |
| |
| /*! @brief Set the POSLIMIT_BUCK_IN field to a new value. */ |
| #define DCDC_WR_REG1_POSLIMIT_BUCK_IN(base, value) (DCDC_RMW_REG1(base, DCDC_REG1_POSLIMIT_BUCK_IN_MASK, DCDC_REG1_POSLIMIT_BUCK_IN(value))) |
| #define DCDC_BWR_REG1_POSLIMIT_BUCK_IN(base, value) (BME_BFI32(&DCDC_REG1_REG(base), ((uint32_t)(value) << DCDC_REG1_POSLIMIT_BUCK_IN_SHIFT), DCDC_REG1_POSLIMIT_BUCK_IN_SHIFT, DCDC_REG1_POSLIMIT_BUCK_IN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG1, field POSLIMIT_BOOST_IN[13:7] (RW) |
| * |
| * Upper limit duty cycle limit in DC-DC converter. This field limits the |
| * maximum VDDIO achievable for a given battery voltage, and its value may be increased |
| * if very low battery operation is met. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG1_POSLIMIT_BOOST_IN field. */ |
| #define DCDC_RD_REG1_POSLIMIT_BOOST_IN(base) ((DCDC_REG1_REG(base) & DCDC_REG1_POSLIMIT_BOOST_IN_MASK) >> DCDC_REG1_POSLIMIT_BOOST_IN_SHIFT) |
| #define DCDC_BRD_REG1_POSLIMIT_BOOST_IN(base) (BME_UBFX32(&DCDC_REG1_REG(base), DCDC_REG1_POSLIMIT_BOOST_IN_SHIFT, DCDC_REG1_POSLIMIT_BOOST_IN_WIDTH)) |
| |
| /*! @brief Set the POSLIMIT_BOOST_IN field to a new value. */ |
| #define DCDC_WR_REG1_POSLIMIT_BOOST_IN(base, value) (DCDC_RMW_REG1(base, DCDC_REG1_POSLIMIT_BOOST_IN_MASK, DCDC_REG1_POSLIMIT_BOOST_IN(value))) |
| #define DCDC_BWR_REG1_POSLIMIT_BOOST_IN(base, value) (BME_BFI32(&DCDC_REG1_REG(base), ((uint32_t)(value) << DCDC_REG1_POSLIMIT_BOOST_IN_SHIFT), DCDC_REG1_POSLIMIT_BOOST_IN_SHIFT, DCDC_REG1_POSLIMIT_BOOST_IN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG1, field DCDC_LOOPCTRL_CM_HST_THRESH[21] (RW) |
| * |
| * Enable hysteresis in switching converter common mode analog comparators. This |
| * feature improves transient supply ripple and efficiency. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG1_DCDC_LOOPCTRL_CM_HST_THRESH field. */ |
| #define DCDC_RD_REG1_DCDC_LOOPCTRL_CM_HST_THRESH(base) ((DCDC_REG1_REG(base) & DCDC_REG1_DCDC_LOOPCTRL_CM_HST_THRESH_MASK) >> DCDC_REG1_DCDC_LOOPCTRL_CM_HST_THRESH_SHIFT) |
| #define DCDC_BRD_REG1_DCDC_LOOPCTRL_CM_HST_THRESH(base) (BME_UBFX32(&DCDC_REG1_REG(base), DCDC_REG1_DCDC_LOOPCTRL_CM_HST_THRESH_SHIFT, DCDC_REG1_DCDC_LOOPCTRL_CM_HST_THRESH_WIDTH)) |
| |
| /*! @brief Set the DCDC_LOOPCTRL_CM_HST_THRESH field to a new value. */ |
| #define DCDC_WR_REG1_DCDC_LOOPCTRL_CM_HST_THRESH(base, value) (DCDC_RMW_REG1(base, DCDC_REG1_DCDC_LOOPCTRL_CM_HST_THRESH_MASK, DCDC_REG1_DCDC_LOOPCTRL_CM_HST_THRESH(value))) |
| #define DCDC_BWR_REG1_DCDC_LOOPCTRL_CM_HST_THRESH(base, value) (BME_BFI32(&DCDC_REG1_REG(base), ((uint32_t)(value) << DCDC_REG1_DCDC_LOOPCTRL_CM_HST_THRESH_SHIFT), DCDC_REG1_DCDC_LOOPCTRL_CM_HST_THRESH_SHIFT, DCDC_REG1_DCDC_LOOPCTRL_CM_HST_THRESH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG1, field DCDC_LOOPCTRL_DF_HST_THRESH[22] (RW) |
| * |
| * Enable hysteresis in switching converter differential mode analog |
| * comparators. This feature improves transient supply ripple and efficiency. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG1_DCDC_LOOPCTRL_DF_HST_THRESH field. */ |
| #define DCDC_RD_REG1_DCDC_LOOPCTRL_DF_HST_THRESH(base) ((DCDC_REG1_REG(base) & DCDC_REG1_DCDC_LOOPCTRL_DF_HST_THRESH_MASK) >> DCDC_REG1_DCDC_LOOPCTRL_DF_HST_THRESH_SHIFT) |
| #define DCDC_BRD_REG1_DCDC_LOOPCTRL_DF_HST_THRESH(base) (BME_UBFX32(&DCDC_REG1_REG(base), DCDC_REG1_DCDC_LOOPCTRL_DF_HST_THRESH_SHIFT, DCDC_REG1_DCDC_LOOPCTRL_DF_HST_THRESH_WIDTH)) |
| |
| /*! @brief Set the DCDC_LOOPCTRL_DF_HST_THRESH field to a new value. */ |
| #define DCDC_WR_REG1_DCDC_LOOPCTRL_DF_HST_THRESH(base, value) (DCDC_RMW_REG1(base, DCDC_REG1_DCDC_LOOPCTRL_DF_HST_THRESH_MASK, DCDC_REG1_DCDC_LOOPCTRL_DF_HST_THRESH(value))) |
| #define DCDC_BWR_REG1_DCDC_LOOPCTRL_DF_HST_THRESH(base, value) (BME_BFI32(&DCDC_REG1_REG(base), ((uint32_t)(value) << DCDC_REG1_DCDC_LOOPCTRL_DF_HST_THRESH_SHIFT), DCDC_REG1_DCDC_LOOPCTRL_DF_HST_THRESH_SHIFT, DCDC_REG1_DCDC_LOOPCTRL_DF_HST_THRESH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG1, field DCDC_LOOPCTRL_EN_CM_HYST[23] (RW) |
| * |
| * Enable hysteresis in switching converter common mode analog comparators. This |
| * feature improves transient supply ripple and efficiency. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG1_DCDC_LOOPCTRL_EN_CM_HYST field. */ |
| #define DCDC_RD_REG1_DCDC_LOOPCTRL_EN_CM_HYST(base) ((DCDC_REG1_REG(base) & DCDC_REG1_DCDC_LOOPCTRL_EN_CM_HYST_MASK) >> DCDC_REG1_DCDC_LOOPCTRL_EN_CM_HYST_SHIFT) |
| #define DCDC_BRD_REG1_DCDC_LOOPCTRL_EN_CM_HYST(base) (BME_UBFX32(&DCDC_REG1_REG(base), DCDC_REG1_DCDC_LOOPCTRL_EN_CM_HYST_SHIFT, DCDC_REG1_DCDC_LOOPCTRL_EN_CM_HYST_WIDTH)) |
| |
| /*! @brief Set the DCDC_LOOPCTRL_EN_CM_HYST field to a new value. */ |
| #define DCDC_WR_REG1_DCDC_LOOPCTRL_EN_CM_HYST(base, value) (DCDC_RMW_REG1(base, DCDC_REG1_DCDC_LOOPCTRL_EN_CM_HYST_MASK, DCDC_REG1_DCDC_LOOPCTRL_EN_CM_HYST(value))) |
| #define DCDC_BWR_REG1_DCDC_LOOPCTRL_EN_CM_HYST(base, value) (BME_BFI32(&DCDC_REG1_REG(base), ((uint32_t)(value) << DCDC_REG1_DCDC_LOOPCTRL_EN_CM_HYST_SHIFT), DCDC_REG1_DCDC_LOOPCTRL_EN_CM_HYST_SHIFT, DCDC_REG1_DCDC_LOOPCTRL_EN_CM_HYST_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG1, field DCDC_LOOPCTRL_EN_DF_HYST[24] (RW) |
| * |
| * Enable hysteresis in switching converter differential mode analog |
| * comparators. This feature improves transient supply ripple and efficiency. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG1_DCDC_LOOPCTRL_EN_DF_HYST field. */ |
| #define DCDC_RD_REG1_DCDC_LOOPCTRL_EN_DF_HYST(base) ((DCDC_REG1_REG(base) & DCDC_REG1_DCDC_LOOPCTRL_EN_DF_HYST_MASK) >> DCDC_REG1_DCDC_LOOPCTRL_EN_DF_HYST_SHIFT) |
| #define DCDC_BRD_REG1_DCDC_LOOPCTRL_EN_DF_HYST(base) (BME_UBFX32(&DCDC_REG1_REG(base), DCDC_REG1_DCDC_LOOPCTRL_EN_DF_HYST_SHIFT, DCDC_REG1_DCDC_LOOPCTRL_EN_DF_HYST_WIDTH)) |
| |
| /*! @brief Set the DCDC_LOOPCTRL_EN_DF_HYST field to a new value. */ |
| #define DCDC_WR_REG1_DCDC_LOOPCTRL_EN_DF_HYST(base, value) (DCDC_RMW_REG1(base, DCDC_REG1_DCDC_LOOPCTRL_EN_DF_HYST_MASK, DCDC_REG1_DCDC_LOOPCTRL_EN_DF_HYST(value))) |
| #define DCDC_BWR_REG1_DCDC_LOOPCTRL_EN_DF_HYST(base, value) (BME_BFI32(&DCDC_REG1_REG(base), ((uint32_t)(value) << DCDC_REG1_DCDC_LOOPCTRL_EN_DF_HYST_SHIFT), DCDC_REG1_DCDC_LOOPCTRL_EN_DF_HYST_SHIFT, DCDC_REG1_DCDC_LOOPCTRL_EN_DF_HYST_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DCDC_REG2 - DCDC REGISTER 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DCDC_REG2 - DCDC REGISTER 2 (RW) |
| * |
| * Reset value: 0x00004009U |
| */ |
| /*! |
| * @name Constants and macros for entire DCDC_REG2 register |
| */ |
| /*@{*/ |
| #define DCDC_RD_REG2(base) (DCDC_REG2_REG(base)) |
| #define DCDC_WR_REG2(base, value) (DCDC_REG2_REG(base) = (value)) |
| #define DCDC_RMW_REG2(base, mask, value) (DCDC_WR_REG2(base, (DCDC_RD_REG2(base) & ~(mask)) | (value))) |
| #define DCDC_SET_REG2(base, value) (BME_OR32(&DCDC_REG2_REG(base), (uint32_t)(value))) |
| #define DCDC_CLR_REG2(base, value) (BME_AND32(&DCDC_REG2_REG(base), (uint32_t)(~(value)))) |
| #define DCDC_TOG_REG2(base, value) (BME_XOR32(&DCDC_REG2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DCDC_REG2 bitfields |
| */ |
| |
| /*! |
| * @name Register DCDC_REG2, field DCDC_LOOPCTRL_DC_C[1:0] (RW) |
| * |
| * Ratio of integral control parameter to proportional control parameter in the |
| * switching DC-DC converter, it can be used to optimize efficiency and loop |
| * response. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG2_DCDC_LOOPCTRL_DC_C field. */ |
| #define DCDC_RD_REG2_DCDC_LOOPCTRL_DC_C(base) ((DCDC_REG2_REG(base) & DCDC_REG2_DCDC_LOOPCTRL_DC_C_MASK) >> DCDC_REG2_DCDC_LOOPCTRL_DC_C_SHIFT) |
| #define DCDC_BRD_REG2_DCDC_LOOPCTRL_DC_C(base) (BME_UBFX32(&DCDC_REG2_REG(base), DCDC_REG2_DCDC_LOOPCTRL_DC_C_SHIFT, DCDC_REG2_DCDC_LOOPCTRL_DC_C_WIDTH)) |
| |
| /*! @brief Set the DCDC_LOOPCTRL_DC_C field to a new value. */ |
| #define DCDC_WR_REG2_DCDC_LOOPCTRL_DC_C(base, value) (DCDC_RMW_REG2(base, DCDC_REG2_DCDC_LOOPCTRL_DC_C_MASK, DCDC_REG2_DCDC_LOOPCTRL_DC_C(value))) |
| #define DCDC_BWR_REG2_DCDC_LOOPCTRL_DC_C(base, value) (BME_BFI32(&DCDC_REG2_REG(base), ((uint32_t)(value) << DCDC_REG2_DCDC_LOOPCTRL_DC_C_SHIFT), DCDC_REG2_DCDC_LOOPCTRL_DC_C_SHIFT, DCDC_REG2_DCDC_LOOPCTRL_DC_C_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG2, field DCDC_LOOPCTRL_DC_FF[8:6] (RW) |
| * |
| * Two complement feed forward step in duty cycle in the switching DC-DC |
| * converter. Each time this bit makes a transition from 0x0, the loop filter of the |
| * DC-DC converter is stepped once by a value proportional to the change. This can |
| * be used to force a certain control loop behavior, such as improving response |
| * under known heavy load transients. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG2_DCDC_LOOPCTRL_DC_FF field. */ |
| #define DCDC_RD_REG2_DCDC_LOOPCTRL_DC_FF(base) ((DCDC_REG2_REG(base) & DCDC_REG2_DCDC_LOOPCTRL_DC_FF_MASK) >> DCDC_REG2_DCDC_LOOPCTRL_DC_FF_SHIFT) |
| #define DCDC_BRD_REG2_DCDC_LOOPCTRL_DC_FF(base) (BME_UBFX32(&DCDC_REG2_REG(base), DCDC_REG2_DCDC_LOOPCTRL_DC_FF_SHIFT, DCDC_REG2_DCDC_LOOPCTRL_DC_FF_WIDTH)) |
| |
| /*! @brief Set the DCDC_LOOPCTRL_DC_FF field to a new value. */ |
| #define DCDC_WR_REG2_DCDC_LOOPCTRL_DC_FF(base, value) (DCDC_RMW_REG2(base, DCDC_REG2_DCDC_LOOPCTRL_DC_FF_MASK, DCDC_REG2_DCDC_LOOPCTRL_DC_FF(value))) |
| #define DCDC_BWR_REG2_DCDC_LOOPCTRL_DC_FF(base, value) (BME_BFI32(&DCDC_REG2_REG(base), ((uint32_t)(value) << DCDC_REG2_DCDC_LOOPCTRL_DC_FF_SHIFT), DCDC_REG2_DCDC_LOOPCTRL_DC_FF_SHIFT, DCDC_REG2_DCDC_LOOPCTRL_DC_FF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG2, field DCDC_LOOPCTRL_HYST_SIGN[13] (RW) |
| * |
| * Invert the sign of the hysteresis in DC-DC analog comparators. This bit is |
| * set when in limp mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG2_DCDC_LOOPCTRL_HYST_SIGN field. */ |
| #define DCDC_RD_REG2_DCDC_LOOPCTRL_HYST_SIGN(base) ((DCDC_REG2_REG(base) & DCDC_REG2_DCDC_LOOPCTRL_HYST_SIGN_MASK) >> DCDC_REG2_DCDC_LOOPCTRL_HYST_SIGN_SHIFT) |
| #define DCDC_BRD_REG2_DCDC_LOOPCTRL_HYST_SIGN(base) (BME_UBFX32(&DCDC_REG2_REG(base), DCDC_REG2_DCDC_LOOPCTRL_HYST_SIGN_SHIFT, DCDC_REG2_DCDC_LOOPCTRL_HYST_SIGN_WIDTH)) |
| |
| /*! @brief Set the DCDC_LOOPCTRL_HYST_SIGN field to a new value. */ |
| #define DCDC_WR_REG2_DCDC_LOOPCTRL_HYST_SIGN(base, value) (DCDC_RMW_REG2(base, DCDC_REG2_DCDC_LOOPCTRL_HYST_SIGN_MASK, DCDC_REG2_DCDC_LOOPCTRL_HYST_SIGN(value))) |
| #define DCDC_BWR_REG2_DCDC_LOOPCTRL_HYST_SIGN(base, value) (BME_BFI32(&DCDC_REG2_REG(base), ((uint32_t)(value) << DCDC_REG2_DCDC_LOOPCTRL_HYST_SIGN_SHIFT), DCDC_REG2_DCDC_LOOPCTRL_HYST_SIGN_SHIFT, DCDC_REG2_DCDC_LOOPCTRL_HYST_SIGN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG2, field DCDC_LOOPCTRL_TOGGLE_DIF[14] (RW) |
| * |
| * Set high to enable supply stepping to change, only after the differential |
| * control loop has toggled. This bit eliminates any chance of large transients when |
| * supply voltage changes are made. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG2_DCDC_LOOPCTRL_TOGGLE_DIF field. */ |
| #define DCDC_RD_REG2_DCDC_LOOPCTRL_TOGGLE_DIF(base) ((DCDC_REG2_REG(base) & DCDC_REG2_DCDC_LOOPCTRL_TOGGLE_DIF_MASK) >> DCDC_REG2_DCDC_LOOPCTRL_TOGGLE_DIF_SHIFT) |
| #define DCDC_BRD_REG2_DCDC_LOOPCTRL_TOGGLE_DIF(base) (BME_UBFX32(&DCDC_REG2_REG(base), DCDC_REG2_DCDC_LOOPCTRL_TOGGLE_DIF_SHIFT, DCDC_REG2_DCDC_LOOPCTRL_TOGGLE_DIF_WIDTH)) |
| |
| /*! @brief Set the DCDC_LOOPCTRL_TOGGLE_DIF field to a new value. */ |
| #define DCDC_WR_REG2_DCDC_LOOPCTRL_TOGGLE_DIF(base, value) (DCDC_RMW_REG2(base, DCDC_REG2_DCDC_LOOPCTRL_TOGGLE_DIF_MASK, DCDC_REG2_DCDC_LOOPCTRL_TOGGLE_DIF(value))) |
| #define DCDC_BWR_REG2_DCDC_LOOPCTRL_TOGGLE_DIF(base, value) (BME_BFI32(&DCDC_REG2_REG(base), ((uint32_t)(value) << DCDC_REG2_DCDC_LOOPCTRL_TOGGLE_DIF_SHIFT), DCDC_REG2_DCDC_LOOPCTRL_TOGGLE_DIF_SHIFT, DCDC_REG2_DCDC_LOOPCTRL_TOGGLE_DIF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG2, field DCDC_BATTMONITOR_EN_BATADJ[15] (RW) |
| * |
| * This bit enables the DC-DC to improve efficiency and minimize ripple using |
| * the information from the BATT_VAL field. The BATT_VAL contains accurate |
| * information before setting EN_BATADJ. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG2_DCDC_BATTMONITOR_EN_BATADJ field. */ |
| #define DCDC_RD_REG2_DCDC_BATTMONITOR_EN_BATADJ(base) ((DCDC_REG2_REG(base) & DCDC_REG2_DCDC_BATTMONITOR_EN_BATADJ_MASK) >> DCDC_REG2_DCDC_BATTMONITOR_EN_BATADJ_SHIFT) |
| #define DCDC_BRD_REG2_DCDC_BATTMONITOR_EN_BATADJ(base) (BME_UBFX32(&DCDC_REG2_REG(base), DCDC_REG2_DCDC_BATTMONITOR_EN_BATADJ_SHIFT, DCDC_REG2_DCDC_BATTMONITOR_EN_BATADJ_WIDTH)) |
| |
| /*! @brief Set the DCDC_BATTMONITOR_EN_BATADJ field to a new value. */ |
| #define DCDC_WR_REG2_DCDC_BATTMONITOR_EN_BATADJ(base, value) (DCDC_RMW_REG2(base, DCDC_REG2_DCDC_BATTMONITOR_EN_BATADJ_MASK, DCDC_REG2_DCDC_BATTMONITOR_EN_BATADJ(value))) |
| #define DCDC_BWR_REG2_DCDC_BATTMONITOR_EN_BATADJ(base, value) (BME_BFI32(&DCDC_REG2_REG(base), ((uint32_t)(value) << DCDC_REG2_DCDC_BATTMONITOR_EN_BATADJ_SHIFT), DCDC_REG2_DCDC_BATTMONITOR_EN_BATADJ_SHIFT, DCDC_REG2_DCDC_BATTMONITOR_EN_BATADJ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG2, field DCDC_BATTMONITOR_BATT_VAL[25:16] (RW) |
| * |
| * Software should be configured to place the battery voltage in this register |
| * measured with an 8 mV LSB resolution through the ADC. This value is used by the |
| * DC-DC converter and must be proper configured before setting EN_BATADJ. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG2_DCDC_BATTMONITOR_BATT_VAL field. */ |
| #define DCDC_RD_REG2_DCDC_BATTMONITOR_BATT_VAL(base) ((DCDC_REG2_REG(base) & DCDC_REG2_DCDC_BATTMONITOR_BATT_VAL_MASK) >> DCDC_REG2_DCDC_BATTMONITOR_BATT_VAL_SHIFT) |
| #define DCDC_BRD_REG2_DCDC_BATTMONITOR_BATT_VAL(base) (BME_UBFX32(&DCDC_REG2_REG(base), DCDC_REG2_DCDC_BATTMONITOR_BATT_VAL_SHIFT, DCDC_REG2_DCDC_BATTMONITOR_BATT_VAL_WIDTH)) |
| |
| /*! @brief Set the DCDC_BATTMONITOR_BATT_VAL field to a new value. */ |
| #define DCDC_WR_REG2_DCDC_BATTMONITOR_BATT_VAL(base, value) (DCDC_RMW_REG2(base, DCDC_REG2_DCDC_BATTMONITOR_BATT_VAL_MASK, DCDC_REG2_DCDC_BATTMONITOR_BATT_VAL(value))) |
| #define DCDC_BWR_REG2_DCDC_BATTMONITOR_BATT_VAL(base, value) (BME_BFI32(&DCDC_REG2_REG(base), ((uint32_t)(value) << DCDC_REG2_DCDC_BATTMONITOR_BATT_VAL_SHIFT), DCDC_REG2_DCDC_BATTMONITOR_BATT_VAL_SHIFT, DCDC_REG2_DCDC_BATTMONITOR_BATT_VAL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DCDC_REG3 - DCDC REGISTER 3 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DCDC_REG3 - DCDC REGISTER 3 (RW) |
| * |
| * Reset value: 0x0000A9C6U |
| */ |
| /*! |
| * @name Constants and macros for entire DCDC_REG3 register |
| */ |
| /*@{*/ |
| #define DCDC_RD_REG3(base) (DCDC_REG3_REG(base)) |
| #define DCDC_WR_REG3(base, value) (DCDC_REG3_REG(base) = (value)) |
| #define DCDC_RMW_REG3(base, mask, value) (DCDC_WR_REG3(base, (DCDC_RD_REG3(base) & ~(mask)) | (value))) |
| #define DCDC_SET_REG3(base, value) (BME_OR32(&DCDC_REG3_REG(base), (uint32_t)(value))) |
| #define DCDC_CLR_REG3(base, value) (BME_AND32(&DCDC_REG3_REG(base), (uint32_t)(~(value)))) |
| #define DCDC_TOG_REG3(base, value) (BME_XOR32(&DCDC_REG3_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DCDC_REG3 bitfields |
| */ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_VDD1P8CTRL_TRG[5:0] (RW) |
| * |
| * Target value of VDD1P8, 25 mV each step in two ranges, from 0x00 to 0x11 and |
| * 0x20 to 0x3F. |
| * |
| * Values: |
| * - 0b000000 - 1.65 V |
| * - 0b000110 - 1.8 V |
| * - 0b010001 - 2.075 V |
| * - 0b100000 - 2.8 V |
| * - 0b110100 - 3.3 V |
| * - 0b111111 - 3.575 V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_VDD1P8CTRL_TRG field. */ |
| #define DCDC_RD_REG3_DCDC_VDD1P8CTRL_TRG(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_VDD1P8CTRL_TRG_MASK) >> DCDC_REG3_DCDC_VDD1P8CTRL_TRG_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_VDD1P8CTRL_TRG(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_VDD1P8CTRL_TRG_SHIFT, DCDC_REG3_DCDC_VDD1P8CTRL_TRG_WIDTH)) |
| |
| /*! @brief Set the DCDC_VDD1P8CTRL_TRG field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_VDD1P8CTRL_TRG(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_VDD1P8CTRL_TRG_MASK, DCDC_REG3_DCDC_VDD1P8CTRL_TRG(value))) |
| #define DCDC_BWR_REG3_DCDC_VDD1P8CTRL_TRG(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_VDD1P8CTRL_TRG_SHIFT), DCDC_REG3_DCDC_VDD1P8CTRL_TRG_SHIFT, DCDC_REG3_DCDC_VDD1P8CTRL_TRG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_VDD1P45CTRL_TRG_BUCK[10:6] (RW) |
| * |
| * Target value of VDD1p45 in buck mode, 25 mV each step from 0x00 to 0x0F |
| * |
| * Values: |
| * - 0b01111 - 1.65 V |
| * - 0b00111 - 1.45 V |
| * - 0b00000 - 1.275 V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BUCK field. */ |
| #define DCDC_RD_REG3_DCDC_VDD1P45CTRL_TRG_BUCK(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BUCK_MASK) >> DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BUCK_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_VDD1P45CTRL_TRG_BUCK(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BUCK_SHIFT, DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BUCK_WIDTH)) |
| |
| /*! @brief Set the DCDC_VDD1P45CTRL_TRG_BUCK field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_VDD1P45CTRL_TRG_BUCK(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BUCK_MASK, DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BUCK(value))) |
| #define DCDC_BWR_REG3_DCDC_VDD1P45CTRL_TRG_BUCK(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BUCK_SHIFT), DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BUCK_SHIFT, DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BUCK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_VDD1P45CTRL_TRG_BOOST[15:11] (RW) |
| * |
| * Target value of VDD1P45 in bost mode, 25 mV each step from 0x00 to 0x0F. In |
| * boost mode, DCDC boosts VDD1P45 to 1.8 V by default, software need to measure |
| * battery voltage in light load, then adjust the target value accordingly. If the |
| * total load current < 10mA, it is considered to be light load. It depends on |
| * the internal resistance of the battery type. |
| * |
| * Values: |
| * - 0b10101 - 1.8 V |
| * - 0b01111 - 1.65 V |
| * - 0b00111 - 1.45 V |
| * - 0b00000 - 1.275 V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BOOST field. */ |
| #define DCDC_RD_REG3_DCDC_VDD1P45CTRL_TRG_BOOST(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BOOST_MASK) >> DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BOOST_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_VDD1P45CTRL_TRG_BOOST(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BOOST_SHIFT, DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BOOST_WIDTH)) |
| |
| /*! @brief Set the DCDC_VDD1P45CTRL_TRG_BOOST field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_VDD1P45CTRL_TRG_BOOST(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BOOST_MASK, DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BOOST(value))) |
| #define DCDC_BWR_REG3_DCDC_VDD1P45CTRL_TRG_BOOST(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BOOST_SHIFT), DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BOOST_SHIFT, DCDC_REG3_DCDC_VDD1P45CTRL_TRG_BOOST_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_VDD1P45CTRL_ADJTN[20:17] (RW) |
| * |
| * Adjust value of duty cycle when switching between VDD1P45 and VDD1P8. The |
| * unit is 1/32 or 3.125%. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_VDD1P45CTRL_ADJTN field. */ |
| #define DCDC_RD_REG3_DCDC_VDD1P45CTRL_ADJTN(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_VDD1P45CTRL_ADJTN_MASK) >> DCDC_REG3_DCDC_VDD1P45CTRL_ADJTN_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_VDD1P45CTRL_ADJTN(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_VDD1P45CTRL_ADJTN_SHIFT, DCDC_REG3_DCDC_VDD1P45CTRL_ADJTN_WIDTH)) |
| |
| /*! @brief Set the DCDC_VDD1P45CTRL_ADJTN field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_VDD1P45CTRL_ADJTN(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_VDD1P45CTRL_ADJTN_MASK, DCDC_REG3_DCDC_VDD1P45CTRL_ADJTN(value))) |
| #define DCDC_BWR_REG3_DCDC_VDD1P45CTRL_ADJTN(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_VDD1P45CTRL_ADJTN_SHIFT), DCDC_REG3_DCDC_VDD1P45CTRL_ADJTN_SHIFT, DCDC_REG3_DCDC_VDD1P45CTRL_ADJTN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_MINPWR_DC_HALFCLK_LIMP[21] (RW) |
| * |
| * Set DCDC clock to half frequency for the limp mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP field. */ |
| #define DCDC_RD_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP_MASK) >> DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP_SHIFT, DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP_WIDTH)) |
| |
| /*! @brief Set the DCDC_MINPWR_DC_HALFCLK_LIMP field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP_MASK, DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP(value))) |
| #define DCDC_BWR_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP_SHIFT), DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP_SHIFT, DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_LIMP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_MINPWR_DOUBLE_FETS_LIMP[22] (RW) |
| * |
| * Use double switch FET for the limp mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP field. */ |
| #define DCDC_RD_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP_MASK) >> DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP_SHIFT, DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP_WIDTH)) |
| |
| /*! @brief Set the DCDC_MINPWR_DOUBLE_FETS_LIMP field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP_MASK, DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP(value))) |
| #define DCDC_BWR_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP_SHIFT), DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP_SHIFT, DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_LIMP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_MINPWR_HALF_FETS_LIMP[23] (RW) |
| * |
| * Use half switch FET for the limp mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_MINPWR_HALF_FETS_LIMP field. */ |
| #define DCDC_RD_REG3_DCDC_MINPWR_HALF_FETS_LIMP(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_MINPWR_HALF_FETS_LIMP_MASK) >> DCDC_REG3_DCDC_MINPWR_HALF_FETS_LIMP_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_MINPWR_HALF_FETS_LIMP(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_MINPWR_HALF_FETS_LIMP_SHIFT, DCDC_REG3_DCDC_MINPWR_HALF_FETS_LIMP_WIDTH)) |
| |
| /*! @brief Set the DCDC_MINPWR_HALF_FETS_LIMP field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_MINPWR_HALF_FETS_LIMP(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_MINPWR_HALF_FETS_LIMP_MASK, DCDC_REG3_DCDC_MINPWR_HALF_FETS_LIMP(value))) |
| #define DCDC_BWR_REG3_DCDC_MINPWR_HALF_FETS_LIMP(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_MINPWR_HALF_FETS_LIMP_SHIFT), DCDC_REG3_DCDC_MINPWR_HALF_FETS_LIMP_SHIFT, DCDC_REG3_DCDC_MINPWR_HALF_FETS_LIMP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_MINPWR_DC_HALFCLK[24] (RW) |
| * |
| * Set DCDC clock to half frequency for the continuous mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_MINPWR_DC_HALFCLK field. */ |
| #define DCDC_RD_REG3_DCDC_MINPWR_DC_HALFCLK(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_MASK) >> DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_MINPWR_DC_HALFCLK(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_SHIFT, DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_WIDTH)) |
| |
| /*! @brief Set the DCDC_MINPWR_DC_HALFCLK field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_MINPWR_DC_HALFCLK(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_MASK, DCDC_REG3_DCDC_MINPWR_DC_HALFCLK(value))) |
| #define DCDC_BWR_REG3_DCDC_MINPWR_DC_HALFCLK(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_SHIFT), DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_SHIFT, DCDC_REG3_DCDC_MINPWR_DC_HALFCLK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_MINPWR_DOUBLE_FETS[25] (RW) |
| * |
| * Use double switch FET for the continuous mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS field. */ |
| #define DCDC_RD_REG3_DCDC_MINPWR_DOUBLE_FETS(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_MASK) >> DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_MINPWR_DOUBLE_FETS(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_SHIFT, DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_WIDTH)) |
| |
| /*! @brief Set the DCDC_MINPWR_DOUBLE_FETS field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_MINPWR_DOUBLE_FETS(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_MASK, DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS(value))) |
| #define DCDC_BWR_REG3_DCDC_MINPWR_DOUBLE_FETS(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_SHIFT), DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_SHIFT, DCDC_REG3_DCDC_MINPWR_DOUBLE_FETS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_MINPWR_HALF_FETS[26] (RW) |
| * |
| * Use half switch FET for the continuous mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_MINPWR_HALF_FETS field. */ |
| #define DCDC_RD_REG3_DCDC_MINPWR_HALF_FETS(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_MINPWR_HALF_FETS_MASK) >> DCDC_REG3_DCDC_MINPWR_HALF_FETS_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_MINPWR_HALF_FETS(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_MINPWR_HALF_FETS_SHIFT, DCDC_REG3_DCDC_MINPWR_HALF_FETS_WIDTH)) |
| |
| /*! @brief Set the DCDC_MINPWR_HALF_FETS field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_MINPWR_HALF_FETS(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_MINPWR_HALF_FETS_MASK, DCDC_REG3_DCDC_MINPWR_HALF_FETS(value))) |
| #define DCDC_BWR_REG3_DCDC_MINPWR_HALF_FETS(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_MINPWR_HALF_FETS_SHIFT), DCDC_REG3_DCDC_MINPWR_HALF_FETS_SHIFT, DCDC_REG3_DCDC_MINPWR_HALF_FETS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_VDD1P45CTRL_DISABLE_STEP[29] (RW) |
| * |
| * Disable stepping for VDD1P45. Must set this bit before enter low power modes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP field. */ |
| #define DCDC_RD_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP_MASK) >> DCDC_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP_SHIFT, DCDC_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP_WIDTH)) |
| |
| /*! @brief Set the DCDC_VDD1P45CTRL_DISABLE_STEP field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP_MASK, DCDC_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP(value))) |
| #define DCDC_BWR_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP_SHIFT), DCDC_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP_SHIFT, DCDC_REG3_DCDC_VDD1P45CTRL_DISABLE_STEP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG3, field DCDC_VDD1P8CTRL_DISABLE_STEP[30] (RW) |
| * |
| * Disable stepping for VDD1P8. Must set this bit before enter low power modes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP field. */ |
| #define DCDC_RD_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP(base) ((DCDC_REG3_REG(base) & DCDC_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP_MASK) >> DCDC_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP_SHIFT) |
| #define DCDC_BRD_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP(base) (BME_UBFX32(&DCDC_REG3_REG(base), DCDC_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP_SHIFT, DCDC_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP_WIDTH)) |
| |
| /*! @brief Set the DCDC_VDD1P8CTRL_DISABLE_STEP field to a new value. */ |
| #define DCDC_WR_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP(base, value) (DCDC_RMW_REG3(base, DCDC_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP_MASK, DCDC_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP(value))) |
| #define DCDC_BWR_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP(base, value) (BME_BFI32(&DCDC_REG3_REG(base), ((uint32_t)(value) << DCDC_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP_SHIFT), DCDC_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP_SHIFT, DCDC_REG3_DCDC_VDD1P8CTRL_DISABLE_STEP_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DCDC_REG4 - DCDC REGISTER 4 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DCDC_REG4 - DCDC REGISTER 4 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire DCDC_REG4 register |
| */ |
| /*@{*/ |
| #define DCDC_RD_REG4(base) (DCDC_REG4_REG(base)) |
| #define DCDC_WR_REG4(base, value) (DCDC_REG4_REG(base) = (value)) |
| #define DCDC_RMW_REG4(base, mask, value) (DCDC_WR_REG4(base, (DCDC_RD_REG4(base) & ~(mask)) | (value))) |
| #define DCDC_SET_REG4(base, value) (BME_OR32(&DCDC_REG4_REG(base), (uint32_t)(value))) |
| #define DCDC_CLR_REG4(base, value) (BME_AND32(&DCDC_REG4_REG(base), (uint32_t)(~(value)))) |
| #define DCDC_TOG_REG4(base, value) (BME_XOR32(&DCDC_REG4_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DCDC_REG4 bitfields |
| */ |
| |
| /*! |
| * @name Register DCDC_REG4, field DCDC_SW_SHUTDOWN[0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG4_DCDC_SW_SHUTDOWN field. */ |
| #define DCDC_RD_REG4_DCDC_SW_SHUTDOWN(base) ((DCDC_REG4_REG(base) & DCDC_REG4_DCDC_SW_SHUTDOWN_MASK) >> DCDC_REG4_DCDC_SW_SHUTDOWN_SHIFT) |
| #define DCDC_BRD_REG4_DCDC_SW_SHUTDOWN(base) (BME_UBFX32(&DCDC_REG4_REG(base), DCDC_REG4_DCDC_SW_SHUTDOWN_SHIFT, DCDC_REG4_DCDC_SW_SHUTDOWN_WIDTH)) |
| |
| /*! @brief Set the DCDC_SW_SHUTDOWN field to a new value. */ |
| #define DCDC_WR_REG4_DCDC_SW_SHUTDOWN(base, value) (DCDC_RMW_REG4(base, DCDC_REG4_DCDC_SW_SHUTDOWN_MASK, DCDC_REG4_DCDC_SW_SHUTDOWN(value))) |
| #define DCDC_BWR_REG4_DCDC_SW_SHUTDOWN(base, value) (BME_BFI32(&DCDC_REG4_REG(base), ((uint32_t)(value) << DCDC_REG4_DCDC_SW_SHUTDOWN_SHIFT), DCDC_REG4_DCDC_SW_SHUTDOWN_SHIFT, DCDC_REG4_DCDC_SW_SHUTDOWN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG4, field UNLOCK[31:16] (RW) |
| * |
| * 0x3E77 KEY-Key needed to unlock HW_POWER_RESET register. Write 0x3E77 to |
| * unlock this register and allow other bits to be changed. This register must be |
| * unlocked on a write-by-write basis, so the UNLOCK bit can contain the correct key |
| * value during all writes to this register in order to update any other bit |
| * values in the register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG4_UNLOCK field. */ |
| #define DCDC_RD_REG4_UNLOCK(base) ((DCDC_REG4_REG(base) & DCDC_REG4_UNLOCK_MASK) >> DCDC_REG4_UNLOCK_SHIFT) |
| #define DCDC_BRD_REG4_UNLOCK(base) (BME_UBFX32(&DCDC_REG4_REG(base), DCDC_REG4_UNLOCK_SHIFT, DCDC_REG4_UNLOCK_WIDTH)) |
| |
| /*! @brief Set the UNLOCK field to a new value. */ |
| #define DCDC_WR_REG4_UNLOCK(base, value) (DCDC_RMW_REG4(base, DCDC_REG4_UNLOCK_MASK, DCDC_REG4_UNLOCK(value))) |
| #define DCDC_BWR_REG4_UNLOCK(base, value) (BME_BFI32(&DCDC_REG4_REG(base), ((uint32_t)(value) << DCDC_REG4_UNLOCK_SHIFT), DCDC_REG4_UNLOCK_SHIFT, DCDC_REG4_UNLOCK_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DCDC_REG6 - DCDC REGISTER 6 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DCDC_REG6 - DCDC REGISTER 6 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire DCDC_REG6 register |
| */ |
| /*@{*/ |
| #define DCDC_RD_REG6(base) (DCDC_REG6_REG(base)) |
| #define DCDC_WR_REG6(base, value) (DCDC_REG6_REG(base) = (value)) |
| #define DCDC_RMW_REG6(base, mask, value) (DCDC_WR_REG6(base, (DCDC_RD_REG6(base) & ~(mask)) | (value))) |
| #define DCDC_SET_REG6(base, value) (BME_OR32(&DCDC_REG6_REG(base), (uint32_t)(value))) |
| #define DCDC_CLR_REG6(base, value) (BME_AND32(&DCDC_REG6_REG(base), (uint32_t)(~(value)))) |
| #define DCDC_TOG_REG6(base, value) (BME_XOR32(&DCDC_REG6_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DCDC_REG6 bitfields |
| */ |
| |
| /*! |
| * @name Register DCDC_REG6, field PSWITCH_INT_RISE_EN[0] (RW) |
| * |
| * Enable rising edge detect for interrupt. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG6_PSWITCH_INT_RISE_EN field. */ |
| #define DCDC_RD_REG6_PSWITCH_INT_RISE_EN(base) ((DCDC_REG6_REG(base) & DCDC_REG6_PSWITCH_INT_RISE_EN_MASK) >> DCDC_REG6_PSWITCH_INT_RISE_EN_SHIFT) |
| #define DCDC_BRD_REG6_PSWITCH_INT_RISE_EN(base) (BME_UBFX32(&DCDC_REG6_REG(base), DCDC_REG6_PSWITCH_INT_RISE_EN_SHIFT, DCDC_REG6_PSWITCH_INT_RISE_EN_WIDTH)) |
| |
| /*! @brief Set the PSWITCH_INT_RISE_EN field to a new value. */ |
| #define DCDC_WR_REG6_PSWITCH_INT_RISE_EN(base, value) (DCDC_RMW_REG6(base, DCDC_REG6_PSWITCH_INT_RISE_EN_MASK, DCDC_REG6_PSWITCH_INT_RISE_EN(value))) |
| #define DCDC_BWR_REG6_PSWITCH_INT_RISE_EN(base, value) (BME_BFI32(&DCDC_REG6_REG(base), ((uint32_t)(value) << DCDC_REG6_PSWITCH_INT_RISE_EN_SHIFT), DCDC_REG6_PSWITCH_INT_RISE_EN_SHIFT, DCDC_REG6_PSWITCH_INT_RISE_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG6, field PSWITCH_INT_FALL_EN[1] (RW) |
| * |
| * Enable falling edge detect for interrupt. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG6_PSWITCH_INT_FALL_EN field. */ |
| #define DCDC_RD_REG6_PSWITCH_INT_FALL_EN(base) ((DCDC_REG6_REG(base) & DCDC_REG6_PSWITCH_INT_FALL_EN_MASK) >> DCDC_REG6_PSWITCH_INT_FALL_EN_SHIFT) |
| #define DCDC_BRD_REG6_PSWITCH_INT_FALL_EN(base) (BME_UBFX32(&DCDC_REG6_REG(base), DCDC_REG6_PSWITCH_INT_FALL_EN_SHIFT, DCDC_REG6_PSWITCH_INT_FALL_EN_WIDTH)) |
| |
| /*! @brief Set the PSWITCH_INT_FALL_EN field to a new value. */ |
| #define DCDC_WR_REG6_PSWITCH_INT_FALL_EN(base, value) (DCDC_RMW_REG6(base, DCDC_REG6_PSWITCH_INT_FALL_EN_MASK, DCDC_REG6_PSWITCH_INT_FALL_EN(value))) |
| #define DCDC_BWR_REG6_PSWITCH_INT_FALL_EN(base, value) (BME_BFI32(&DCDC_REG6_REG(base), ((uint32_t)(value) << DCDC_REG6_PSWITCH_INT_FALL_EN_SHIFT), DCDC_REG6_PSWITCH_INT_FALL_EN_SHIFT, DCDC_REG6_PSWITCH_INT_FALL_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG6, field PSWITCH_INT_CLEAR[2] (RW) |
| * |
| * Write 1 to clear interrupt. Set to 0 after clear. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG6_PSWITCH_INT_CLEAR field. */ |
| #define DCDC_RD_REG6_PSWITCH_INT_CLEAR(base) ((DCDC_REG6_REG(base) & DCDC_REG6_PSWITCH_INT_CLEAR_MASK) >> DCDC_REG6_PSWITCH_INT_CLEAR_SHIFT) |
| #define DCDC_BRD_REG6_PSWITCH_INT_CLEAR(base) (BME_UBFX32(&DCDC_REG6_REG(base), DCDC_REG6_PSWITCH_INT_CLEAR_SHIFT, DCDC_REG6_PSWITCH_INT_CLEAR_WIDTH)) |
| |
| /*! @brief Set the PSWITCH_INT_CLEAR field to a new value. */ |
| #define DCDC_WR_REG6_PSWITCH_INT_CLEAR(base, value) (DCDC_RMW_REG6(base, DCDC_REG6_PSWITCH_INT_CLEAR_MASK, DCDC_REG6_PSWITCH_INT_CLEAR(value))) |
| #define DCDC_BWR_REG6_PSWITCH_INT_CLEAR(base, value) (BME_BFI32(&DCDC_REG6_REG(base), ((uint32_t)(value) << DCDC_REG6_PSWITCH_INT_CLEAR_SHIFT), DCDC_REG6_PSWITCH_INT_CLEAR_SHIFT, DCDC_REG6_PSWITCH_INT_CLEAR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG6, field PSWITCH_INT_MUTE[3] (RW) |
| * |
| * Mask interrupt to SoC, edge detection result can be read from PSIWTCH_INT_STS. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG6_PSWITCH_INT_MUTE field. */ |
| #define DCDC_RD_REG6_PSWITCH_INT_MUTE(base) ((DCDC_REG6_REG(base) & DCDC_REG6_PSWITCH_INT_MUTE_MASK) >> DCDC_REG6_PSWITCH_INT_MUTE_SHIFT) |
| #define DCDC_BRD_REG6_PSWITCH_INT_MUTE(base) (BME_UBFX32(&DCDC_REG6_REG(base), DCDC_REG6_PSWITCH_INT_MUTE_SHIFT, DCDC_REG6_PSWITCH_INT_MUTE_WIDTH)) |
| |
| /*! @brief Set the PSWITCH_INT_MUTE field to a new value. */ |
| #define DCDC_WR_REG6_PSWITCH_INT_MUTE(base, value) (DCDC_RMW_REG6(base, DCDC_REG6_PSWITCH_INT_MUTE_MASK, DCDC_REG6_PSWITCH_INT_MUTE(value))) |
| #define DCDC_BWR_REG6_PSWITCH_INT_MUTE(base, value) (BME_BFI32(&DCDC_REG6_REG(base), ((uint32_t)(value) << DCDC_REG6_PSWITCH_INT_MUTE_SHIFT), DCDC_REG6_PSWITCH_INT_MUTE_SHIFT, DCDC_REG6_PSWITCH_INT_MUTE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG6, field PSWITCH_INT_STS[31] (RO) |
| * |
| * PSWITCH edge detection interrupt status |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG6_PSWITCH_INT_STS field. */ |
| #define DCDC_RD_REG6_PSWITCH_INT_STS(base) ((DCDC_REG6_REG(base) & DCDC_REG6_PSWITCH_INT_STS_MASK) >> DCDC_REG6_PSWITCH_INT_STS_SHIFT) |
| #define DCDC_BRD_REG6_PSWITCH_INT_STS(base) (BME_UBFX32(&DCDC_REG6_REG(base), DCDC_REG6_PSWITCH_INT_STS_SHIFT, DCDC_REG6_PSWITCH_INT_STS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DCDC_REG7 - DCDC REGISTER 7 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DCDC_REG7 - DCDC REGISTER 7 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire DCDC_REG7 register |
| */ |
| /*@{*/ |
| #define DCDC_RD_REG7(base) (DCDC_REG7_REG(base)) |
| #define DCDC_WR_REG7(base, value) (DCDC_REG7_REG(base) = (value)) |
| #define DCDC_RMW_REG7(base, mask, value) (DCDC_WR_REG7(base, (DCDC_RD_REG7(base) & ~(mask)) | (value))) |
| #define DCDC_SET_REG7(base, value) (BME_OR32(&DCDC_REG7_REG(base), (uint32_t)(value))) |
| #define DCDC_CLR_REG7(base, value) (BME_AND32(&DCDC_REG7_REG(base), (uint32_t)(~(value)))) |
| #define DCDC_TOG_REG7(base, value) (BME_XOR32(&DCDC_REG7_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DCDC_REG7 bitfields |
| */ |
| |
| /*! |
| * @name Register DCDC_REG7, field INTEGRATOR_VALUE[18:0] (RW) |
| * |
| * Integrator value which can be loaded in pulsed mode. Software can program |
| * this value according to battery voltage and VDD1P45 output target value before |
| * goes to the pulsed mode. It is signed number. The register value = (Dutycycle * |
| * 32 - 16) * 2 ^ 13 For buck mode, dutycycle = VDD1P45 / Vbat.For boost mode, |
| * dutycycle = (VDD1P45 - Vbat) / VDD1P45. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG7_INTEGRATOR_VALUE field. */ |
| #define DCDC_RD_REG7_INTEGRATOR_VALUE(base) ((DCDC_REG7_REG(base) & DCDC_REG7_INTEGRATOR_VALUE_MASK) >> DCDC_REG7_INTEGRATOR_VALUE_SHIFT) |
| #define DCDC_BRD_REG7_INTEGRATOR_VALUE(base) (DCDC_RD_REG7_INTEGRATOR_VALUE(base)) |
| |
| /*! @brief Set the INTEGRATOR_VALUE field to a new value. */ |
| #define DCDC_WR_REG7_INTEGRATOR_VALUE(base, value) (DCDC_RMW_REG7(base, DCDC_REG7_INTEGRATOR_VALUE_MASK, DCDC_REG7_INTEGRATOR_VALUE(value))) |
| #define DCDC_BWR_REG7_INTEGRATOR_VALUE(base, value) (DCDC_WR_REG7_INTEGRATOR_VALUE(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG7, field INTEGRATOR_VALUE_SEL[19] (RW) |
| * |
| * Select the integrator value from above register or saved value in hardware. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG7_INTEGRATOR_VALUE_SEL field. */ |
| #define DCDC_RD_REG7_INTEGRATOR_VALUE_SEL(base) ((DCDC_REG7_REG(base) & DCDC_REG7_INTEGRATOR_VALUE_SEL_MASK) >> DCDC_REG7_INTEGRATOR_VALUE_SEL_SHIFT) |
| #define DCDC_BRD_REG7_INTEGRATOR_VALUE_SEL(base) (BME_UBFX32(&DCDC_REG7_REG(base), DCDC_REG7_INTEGRATOR_VALUE_SEL_SHIFT, DCDC_REG7_INTEGRATOR_VALUE_SEL_WIDTH)) |
| |
| /*! @brief Set the INTEGRATOR_VALUE_SEL field to a new value. */ |
| #define DCDC_WR_REG7_INTEGRATOR_VALUE_SEL(base, value) (DCDC_RMW_REG7(base, DCDC_REG7_INTEGRATOR_VALUE_SEL_MASK, DCDC_REG7_INTEGRATOR_VALUE_SEL(value))) |
| #define DCDC_BWR_REG7_INTEGRATOR_VALUE_SEL(base, value) (BME_BFI32(&DCDC_REG7_REG(base), ((uint32_t)(value) << DCDC_REG7_INTEGRATOR_VALUE_SEL_SHIFT), DCDC_REG7_INTEGRATOR_VALUE_SEL_SHIFT, DCDC_REG7_INTEGRATOR_VALUE_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DCDC_REG7, field PULSE_RUN_SPEEDUP[20] (RW) |
| * |
| * Enable pulse run speedup. Before setting this bit, INTEGRATOR_VALUE_SEL must |
| * be set to 1'b1 and integrator value must be programmed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DCDC_REG7_PULSE_RUN_SPEEDUP field. */ |
| #define DCDC_RD_REG7_PULSE_RUN_SPEEDUP(base) ((DCDC_REG7_REG(base) & DCDC_REG7_PULSE_RUN_SPEEDUP_MASK) >> DCDC_REG7_PULSE_RUN_SPEEDUP_SHIFT) |
| #define DCDC_BRD_REG7_PULSE_RUN_SPEEDUP(base) (BME_UBFX32(&DCDC_REG7_REG(base), DCDC_REG7_PULSE_RUN_SPEEDUP_SHIFT, DCDC_REG7_PULSE_RUN_SPEEDUP_WIDTH)) |
| |
| /*! @brief Set the PULSE_RUN_SPEEDUP field to a new value. */ |
| #define DCDC_WR_REG7_PULSE_RUN_SPEEDUP(base, value) (DCDC_RMW_REG7(base, DCDC_REG7_PULSE_RUN_SPEEDUP_MASK, DCDC_REG7_PULSE_RUN_SPEEDUP(value))) |
| #define DCDC_BWR_REG7_PULSE_RUN_SPEEDUP(base, value) (BME_BFI32(&DCDC_REG7_REG(base), ((uint32_t)(value) << DCDC_REG7_PULSE_RUN_SPEEDUP_SHIFT), DCDC_REG7_PULSE_RUN_SPEEDUP_SHIFT, DCDC_REG7_PULSE_RUN_SPEEDUP_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 DMA |
| * |
| * DMA Controller |
| * |
| * Registers defined in this header file: |
| * - DMA_SAR - Source Address Register |
| * - DMA_DAR - Destination Address Register |
| * - DMA_DSR - DMA_DSR0 register. |
| * - DMA_DSR_BCR - DMA Status Register / Byte Count Register |
| * - DMA_DCR - DMA Control Register |
| */ |
| |
| #define DMA_INSTANCE_COUNT (1U) /*!< Number of instances of the DMA module. */ |
| #define DMA_IDX (0U) /*!< Instance number for DMA. */ |
| |
| /******************************************************************************* |
| * DMA_SAR - Source Address Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DMA_SAR - Source Address Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * For this register: Only 32-bit writes are allowed. 16-bit and 8-bit writes |
| * result in a bus error. Only several values are allowed to be written to bits |
| * 31-20 of this register, see the value list in the field description. A write of |
| * any other value to these bits causes a configuration error when the channel |
| * starts to execute. For more information about the configuration error, see the |
| * description of the CEConfiguration Error field of DSR. |
| */ |
| /*! |
| * @name Constants and macros for entire DMA_SAR register |
| */ |
| /*@{*/ |
| #define DMA_RD_SAR(base, index) (DMA_SAR_REG(base, index)) |
| #define DMA_WR_SAR(base, index, value) (DMA_SAR_REG(base, index) = (value)) |
| #define DMA_RMW_SAR(base, index, mask, value) (DMA_WR_SAR(base, index, (DMA_RD_SAR(base, index) & ~(mask)) | (value))) |
| #define DMA_SET_SAR(base, index, value) (BME_OR32(&DMA_SAR_REG(base, index), (uint32_t)(value))) |
| #define DMA_CLR_SAR(base, index, value) (BME_AND32(&DMA_SAR_REG(base, index), (uint32_t)(~(value)))) |
| #define DMA_TOG_SAR(base, index, value) (BME_XOR32(&DMA_SAR_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DMA_DAR - Destination Address Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DMA_DAR - Destination Address Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * For this register: Only 32-bit writes are allowed. 16-bit and 8-bit writes |
| * result in a bus error. Only several values are allowed to be written to bits |
| * 31-20 of this register, see the value list in the field description. A write of |
| * any other value to these bits causes a configuration error when the channel |
| * starts to execute. For more information about the configuration error, see the |
| * description of the CEConfiguration Error field of DSR. |
| */ |
| /*! |
| * @name Constants and macros for entire DMA_DAR register |
| */ |
| /*@{*/ |
| #define DMA_RD_DAR(base, index) (DMA_DAR_REG(base, index)) |
| #define DMA_WR_DAR(base, index, value) (DMA_DAR_REG(base, index) = (value)) |
| #define DMA_RMW_DAR(base, index, mask, value) (DMA_WR_DAR(base, index, (DMA_RD_DAR(base, index) & ~(mask)) | (value))) |
| #define DMA_SET_DAR(base, index, value) (BME_OR32(&DMA_DAR_REG(base, index), (uint32_t)(value))) |
| #define DMA_CLR_DAR(base, index, value) (BME_AND32(&DMA_DAR_REG(base, index), (uint32_t)(~(value)))) |
| #define DMA_TOG_DAR(base, index, value) (BME_XOR32(&DMA_DAR_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DMA_DSR_BCR - DMA Status Register / Byte Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DMA_DSR_BCR - DMA Status Register / Byte Count Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * DSR and BCR are two logical registers that occupy one 32-bit address. DSRn |
| * occupies bits 31-24, and BCRn occupies bits 23-0. DSRn contains flags indicating |
| * the channel status, and BCRn contains the number of bytes yet to be |
| * transferred for a given block. On the successful completion of the write transfer, BCRn |
| * decrements by 1, 2, or 4 for 8-bit, 16-bit, or 32-bit accesses, respectively. |
| * BCRn is cleared if a 1 is written to DSR[DONE]. In response to an event, the |
| * DMA controller writes to the appropriate DSRn bit. Only a write to DSRn[DONE] |
| * results in action. DSRn[DONE] is set when the block transfer is complete. When |
| * a transfer sequence is initiated and BCRn[BCR] is not a multiple of 4 or 2 |
| * when the DMA is configured for 32-bit or 16-bit transfers, respectively, |
| * DSRn[CE] is set and no transfer occurs. |
| */ |
| /*! |
| * @name Constants and macros for entire DMA_DSR_BCR register |
| */ |
| /*@{*/ |
| #define DMA_RD_DSR_BCR(base, index) (DMA_DSR_BCR_REG(base, index)) |
| #define DMA_WR_DSR_BCR(base, index, value) (DMA_DSR_BCR_REG(base, index) = (value)) |
| #define DMA_RMW_DSR_BCR(base, index, mask, value) (DMA_WR_DSR_BCR(base, index, (DMA_RD_DSR_BCR(base, index) & ~(mask)) | (value))) |
| #define DMA_SET_DSR_BCR(base, index, value) (BME_OR32(&DMA_DSR_BCR_REG(base, index), (uint32_t)(value))) |
| #define DMA_CLR_DSR_BCR(base, index, value) (BME_AND32(&DMA_DSR_BCR_REG(base, index), (uint32_t)(~(value)))) |
| #define DMA_TOG_DSR_BCR(base, index, value) (BME_XOR32(&DMA_DSR_BCR_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DMA_DSR_BCR bitfields |
| */ |
| |
| /*! |
| * @name Register DMA_DSR_BCR, field BCR[23:0] (RW) |
| * |
| * This field contains the number of bytes yet to be transferred for a given |
| * block. BCR must be written with a value equal to or less than 0F_FFFFh. After |
| * being written with a value in this range, bits 23-20 of BCR read back as 0000b. A |
| * write to BCR of a value greater than 0F_FFFFh causes a configuration error |
| * when the channel starts to execute. After being written with a value in this |
| * range, bits 23-20 of BCR read back as 0001b. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DSR_BCR_BCR field. */ |
| #define DMA_RD_DSR_BCR_BCR(base, index) ((DMA_DSR_BCR_REG(base, index) & DMA_DSR_BCR_BCR_MASK) >> DMA_DSR_BCR_BCR_SHIFT) |
| #define DMA_BRD_DSR_BCR_BCR(base, index) (DMA_RD_DSR_BCR_BCR(base, index)) |
| |
| /*! @brief Set the BCR field to a new value. */ |
| #define DMA_WR_DSR_BCR_BCR(base, index, value) (DMA_RMW_DSR_BCR(base, index, (DMA_DSR_BCR_BCR_MASK | DMA_DSR_BCR_DONE_MASK), DMA_DSR_BCR_BCR(value))) |
| #define DMA_BWR_DSR_BCR_BCR(base, index, value) (DMA_WR_DSR_BCR_BCR(base, index, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DSR_BCR, field DONE[24] (W1C) |
| * |
| * Set when all DMA controller transactions complete as determined by transfer |
| * count, or based on error conditions. When BCR reaches 0, DONE is set when the |
| * final transfer completes successfully. DONE can also be used to abort a |
| * transfer by resetting the status bits. When a transfer completes, software must clear |
| * DONE before reprogramming the DMA. |
| * |
| * Values: |
| * - 0b0 - DMA transfer is not yet complete. Writing a 0 has no effect. |
| * - 0b1 - DMA transfer completed. Writing a 1 to this bit clears all DMA status |
| * bits and should be used in an interrupt service routine to clear the DMA |
| * interrupt and error bits. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DSR_BCR_DONE field. */ |
| #define DMA_RD_DSR_BCR_DONE(base, index) ((DMA_DSR_BCR_REG(base, index) & DMA_DSR_BCR_DONE_MASK) >> DMA_DSR_BCR_DONE_SHIFT) |
| #define DMA_BRD_DSR_BCR_DONE(base, index) (BME_UBFX32(&DMA_DSR_BCR_REG(base, index), DMA_DSR_BCR_DONE_SHIFT, DMA_DSR_BCR_DONE_WIDTH)) |
| |
| /*! @brief Set the DONE field to a new value. */ |
| #define DMA_WR_DSR_BCR_DONE(base, index, value) (DMA_RMW_DSR_BCR(base, index, DMA_DSR_BCR_DONE_MASK, DMA_DSR_BCR_DONE(value))) |
| #define DMA_BWR_DSR_BCR_DONE(base, index, value) (BME_BFI32(&DMA_DSR_BCR_REG(base, index), ((uint32_t)(value) << DMA_DSR_BCR_DONE_SHIFT), DMA_DSR_BCR_DONE_SHIFT, DMA_DSR_BCR_DONE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DSR_BCR, field BSY[25] (RO) |
| * |
| * Values: |
| * - 0b0 - DMA channel is inactive. Cleared when the DMA has finished the last |
| * transaction. |
| * - 0b1 - BSY is set the first time the channel is enabled after a transfer is |
| * initiated. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DSR_BCR_BSY field. */ |
| #define DMA_RD_DSR_BCR_BSY(base, index) ((DMA_DSR_BCR_REG(base, index) & DMA_DSR_BCR_BSY_MASK) >> DMA_DSR_BCR_BSY_SHIFT) |
| #define DMA_BRD_DSR_BCR_BSY(base, index) (BME_UBFX32(&DMA_DSR_BCR_REG(base, index), DMA_DSR_BCR_BSY_SHIFT, DMA_DSR_BCR_BSY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DSR_BCR, field REQ[26] (RO) |
| * |
| * Values: |
| * - 0b0 - No request is pending or the channel is currently active. Cleared |
| * when the channel is selected. |
| * - 0b1 - The DMA channel has a transfer remaining and the channel is not |
| * selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DSR_BCR_REQ field. */ |
| #define DMA_RD_DSR_BCR_REQ(base, index) ((DMA_DSR_BCR_REG(base, index) & DMA_DSR_BCR_REQ_MASK) >> DMA_DSR_BCR_REQ_SHIFT) |
| #define DMA_BRD_DSR_BCR_REQ(base, index) (BME_UBFX32(&DMA_DSR_BCR_REG(base, index), DMA_DSR_BCR_REQ_SHIFT, DMA_DSR_BCR_REQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DSR_BCR, field BED[28] (RO) |
| * |
| * BED is cleared at hardware reset or by writing a 1 to DONE. |
| * |
| * Values: |
| * - 0b0 - No bus error occurred. |
| * - 0b1 - The DMA channel terminated with a bus error during the write portion |
| * of a transfer. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DSR_BCR_BED field. */ |
| #define DMA_RD_DSR_BCR_BED(base, index) ((DMA_DSR_BCR_REG(base, index) & DMA_DSR_BCR_BED_MASK) >> DMA_DSR_BCR_BED_SHIFT) |
| #define DMA_BRD_DSR_BCR_BED(base, index) (BME_UBFX32(&DMA_DSR_BCR_REG(base, index), DMA_DSR_BCR_BED_SHIFT, DMA_DSR_BCR_BED_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DSR_BCR, field BES[29] (RO) |
| * |
| * BES is cleared at hardware reset or by writing a 1 to DONE. |
| * |
| * Values: |
| * - 0b0 - No bus error occurred. |
| * - 0b1 - The DMA channel terminated with a bus error during the read portion |
| * of a transfer. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DSR_BCR_BES field. */ |
| #define DMA_RD_DSR_BCR_BES(base, index) ((DMA_DSR_BCR_REG(base, index) & DMA_DSR_BCR_BES_MASK) >> DMA_DSR_BCR_BES_SHIFT) |
| #define DMA_BRD_DSR_BCR_BES(base, index) (BME_UBFX32(&DMA_DSR_BCR_REG(base, index), DMA_DSR_BCR_BES_SHIFT, DMA_DSR_BCR_BES_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DSR_BCR, field CE[30] (RO) |
| * |
| * Any of the following conditions causes a configuration error: BCR, SAR, or |
| * DAR does not match the requested transfer size. A value greater than 0F_FFFFh is |
| * written to BCR. Bits 31-20 of SAR or DAR are written with a value other than |
| * one of the allowed values. See SARSAR and DARDAR . SSIZE or DSIZE is set to an |
| * unsupported value. BCR equals 0 when the DMA receives a start condition. CE |
| * is cleared at hardware reset or by writing a 1 to DONE. |
| * |
| * Values: |
| * - 0b0 - No configuration error exists. |
| * - 0b1 - A configuration error has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DSR_BCR_CE field. */ |
| #define DMA_RD_DSR_BCR_CE(base, index) ((DMA_DSR_BCR_REG(base, index) & DMA_DSR_BCR_CE_MASK) >> DMA_DSR_BCR_CE_SHIFT) |
| #define DMA_BRD_DSR_BCR_CE(base, index) (BME_UBFX32(&DMA_DSR_BCR_REG(base, index), DMA_DSR_BCR_CE_SHIFT, DMA_DSR_BCR_CE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DMA_DSR - DMA_DSR0 register. |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DMA_DSR - DMA_DSR0 register. (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire DMA_DSR register |
| */ |
| /*@{*/ |
| #define DMA_RD_DSR(base, index) (DMA_DSR_REG(base, index)) |
| #define DMA_WR_DSR(base, index, value) (DMA_DSR_REG(base, index) = (value)) |
| #define DMA_RMW_DSR(base, index, mask, value) (DMA_WR_DSR(base, index, (DMA_RD_DSR(base, index) & ~(mask)) | (value))) |
| #define DMA_SET_DSR(base, index, value) (BME_OR8(&DMA_DSR_REG(base, index), (uint8_t)(value))) |
| #define DMA_CLR_DSR(base, index, value) (BME_AND8(&DMA_DSR_REG(base, index), (uint8_t)(~(value)))) |
| #define DMA_TOG_DSR(base, index, value) (BME_XOR8(&DMA_DSR_REG(base, index), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * DMA_DCR - DMA Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DMA_DCR - DMA Control Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire DMA_DCR register |
| */ |
| /*@{*/ |
| #define DMA_RD_DCR(base, index) (DMA_DCR_REG(base, index)) |
| #define DMA_WR_DCR(base, index, value) (DMA_DCR_REG(base, index) = (value)) |
| #define DMA_RMW_DCR(base, index, mask, value) (DMA_WR_DCR(base, index, (DMA_RD_DCR(base, index) & ~(mask)) | (value))) |
| #define DMA_SET_DCR(base, index, value) (BME_OR32(&DMA_DCR_REG(base, index), (uint32_t)(value))) |
| #define DMA_CLR_DCR(base, index, value) (BME_AND32(&DMA_DCR_REG(base, index), (uint32_t)(~(value)))) |
| #define DMA_TOG_DCR(base, index, value) (BME_XOR32(&DMA_DCR_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DMA_DCR bitfields |
| */ |
| |
| /*! |
| * @name Register DMA_DCR, field LCH2[1:0] (RW) |
| * |
| * The 2-bit link channel number under control of the encoded link control |
| * field, LINKCC. |
| * |
| * Values: |
| * - 0b00 - DMA Channel 0 |
| * - 0b01 - DMA Channel 1 |
| * - 0b10 - DMA Channel 2 |
| * - 0b11 - DMA Channel 3 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_LCH2 field. */ |
| #define DMA_RD_DCR_LCH2(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_LCH2_MASK) >> DMA_DCR_LCH2_SHIFT) |
| #define DMA_BRD_DCR_LCH2(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_LCH2_SHIFT, DMA_DCR_LCH2_WIDTH)) |
| |
| /*! @brief Set the LCH2 field to a new value. */ |
| #define DMA_WR_DCR_LCH2(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_LCH2_MASK, DMA_DCR_LCH2(value))) |
| #define DMA_BWR_DCR_LCH2(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_LCH2_SHIFT), DMA_DCR_LCH2_SHIFT, DMA_DCR_LCH2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field LCH1[3:2] (RW) |
| * |
| * The 2-bit link channel number under control of the encoded link control |
| * field, LINKCC. |
| * |
| * Values: |
| * - 0b00 - DMA Channel 0 |
| * - 0b01 - DMA Channel 1 |
| * - 0b10 - DMA Channel 2 |
| * - 0b11 - DMA Channel 3 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_LCH1 field. */ |
| #define DMA_RD_DCR_LCH1(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_LCH1_MASK) >> DMA_DCR_LCH1_SHIFT) |
| #define DMA_BRD_DCR_LCH1(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_LCH1_SHIFT, DMA_DCR_LCH1_WIDTH)) |
| |
| /*! @brief Set the LCH1 field to a new value. */ |
| #define DMA_WR_DCR_LCH1(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_LCH1_MASK, DMA_DCR_LCH1(value))) |
| #define DMA_BWR_DCR_LCH1(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_LCH1_SHIFT), DMA_DCR_LCH1_SHIFT, DMA_DCR_LCH1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field LINKCC[5:4] (RW) |
| * |
| * The LINKCC field provides a 2-bit encoded value defining the applicable |
| * channel-to-channel linking. If not in cycle steal mode (DCRn[CS]=0) and LINKCC |
| * equals 01 or 10, no link to LCH1 occurs. The link channel (LCH1, LCH2) number |
| * cannot be the same as the currently executing channel, and generates a |
| * configuration error if this is attempted (DSRn[CE] is set). This type of configuration |
| * error sets both DSRn[7:6]. The DSRn[CE] bit is set the standard configuration |
| * error flag, while DSRn[7] is a new flag to explicitly signal an linking |
| * configuration error. If LINKCC equals 01, a link to LCH1 is created after each |
| * cycle-steal transfer except the last one is completed. As the last cycle-steal is |
| * performed and the BCR is done, then the link to LCH1 is closed and a link to LCH2 |
| * is created. |
| * |
| * Values: |
| * - 0b00 - No channel-to-channel linking |
| * - 0b01 - Perform a link to channel LCH1 after each cycle-steal transfer |
| * followed by a link to LCH2 after the BCR decrements to 0. |
| * - 0b10 - Perform a link to channel LCH1 after each cycle-steal transfer |
| * - 0b11 - Perform a link to channel LCH1 after the BCR decrements to 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_LINKCC field. */ |
| #define DMA_RD_DCR_LINKCC(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_LINKCC_MASK) >> DMA_DCR_LINKCC_SHIFT) |
| #define DMA_BRD_DCR_LINKCC(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_LINKCC_SHIFT, DMA_DCR_LINKCC_WIDTH)) |
| |
| /*! @brief Set the LINKCC field to a new value. */ |
| #define DMA_WR_DCR_LINKCC(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_LINKCC_MASK, DMA_DCR_LINKCC(value))) |
| #define DMA_BWR_DCR_LINKCC(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_LINKCC_SHIFT), DMA_DCR_LINKCC_SHIFT, DMA_DCR_LINKCC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field D_REQ[7] (RW) |
| * |
| * If this flag is set, the DMA hardware automatically clears the corresponding |
| * DCRn[ERQ] bit when the byte count register reaches 0. |
| * |
| * Values: |
| * - 0b0 - The channel's ERQ bit is not affected. |
| * - 0b1 - The channel's ERQ bit is cleared when the BCR is exhausted. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_D_REQ field. */ |
| #define DMA_RD_DCR_D_REQ(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_D_REQ_MASK) >> DMA_DCR_D_REQ_SHIFT) |
| #define DMA_BRD_DCR_D_REQ(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_D_REQ_SHIFT, DMA_DCR_D_REQ_WIDTH)) |
| |
| /*! @brief Set the D_REQ field to a new value. */ |
| #define DMA_WR_DCR_D_REQ(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_D_REQ_MASK, DMA_DCR_D_REQ(value))) |
| #define DMA_BWR_DCR_D_REQ(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_D_REQ_SHIFT), DMA_DCR_D_REQ_SHIFT, DMA_DCR_D_REQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field DMOD[11:8] (RW) |
| * |
| * Defines the size of the destination data circular buffer used by the DMA |
| * Controller. If enabled (DMOD value is non-zero), the buffer base address is |
| * located on a boundary of the buffer size. The value of this boundary depends on the |
| * initial destination address (DAR). The base address should be aligned to a |
| * 0-modulo-(circular buffer size) boundary. Misaligned buffers are not possible. |
| * The boundary is forced to the value determined by the upper address bits in the |
| * field selection. Same functionality as SMOD, except it is applied to the |
| * destination address generation. |
| * |
| * Values: |
| * - 0b0000 - Buffer disabled |
| * - 0b0001 - Circular buffer size is 16 bytes |
| * - 0b0010 - Circular buffer size is 32 bytes |
| * - 0b0011 - Circular buffer size is 64 bytes |
| * - 0b0100 - Circular buffer size is 128 bytes |
| * - 0b0101 - Circular buffer size is 256 bytes |
| * - 0b0110 - Circular buffer size is 512 bytes |
| * - 0b0111 - Circular buffer size is 1 KB |
| * - 0b1000 - Circular buffer size is 2 KB |
| * - 0b1001 - Circular buffer size is 4 KB |
| * - 0b1010 - Circular buffer size is 8 KB |
| * - 0b1011 - Circular buffer size is 16 KB |
| * - 0b1100 - Circular buffer size is 32 KB |
| * - 0b1101 - Circular buffer size is 64 KB |
| * - 0b1110 - Circular buffer size is 128 KB |
| * - 0b1111 - Circular buffer size is 256 KB |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_DMOD field. */ |
| #define DMA_RD_DCR_DMOD(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_DMOD_MASK) >> DMA_DCR_DMOD_SHIFT) |
| #define DMA_BRD_DCR_DMOD(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_DMOD_SHIFT, DMA_DCR_DMOD_WIDTH)) |
| |
| /*! @brief Set the DMOD field to a new value. */ |
| #define DMA_WR_DCR_DMOD(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_DMOD_MASK, DMA_DCR_DMOD(value))) |
| #define DMA_BWR_DCR_DMOD(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_DMOD_SHIFT), DMA_DCR_DMOD_SHIFT, DMA_DCR_DMOD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field SMOD[15:12] (RW) |
| * |
| * Defines the size of the source data circular buffer used by the DMA |
| * Controller. If enabled (SMOD is non-zero), the buffer base address is located on a |
| * boundary of the buffer size. The value of this boundary is based upon the initial |
| * source address (SAR). The base address should be aligned to a |
| * 0-modulo-(circular buffer size) boundary. Misaligned buffers are not possible. The boundary is |
| * forced to the value determined by the upper address bits in the field |
| * selection. 0 Source address modulo feature is disabled. non-0: The value defines each |
| * address bit which is selected to be either the value after next-state SAR |
| * calculation is performed or the current SAR register value. This feature provides |
| * the ability to easily implement circular data queues. For data queues |
| * requiring power-of-2 "size" bytes, the queue should be based at a 0-modulo-size |
| * address and the SMOD field set to the appropriate value to effectively freeze the |
| * upper address bits. The bit select is defined as ((1 << SMOD+3) - 1) where a |
| * resulting 1 in a bit location selects the next state address for the |
| * corresponding address bit location and a 0 selects the original register value for the |
| * corresponding address bit location. The modulo implementation includes 32 |
| * one-bit 2-to-1 muxes connected to the source address register and the output of an |
| * adder used to generate the next-state address. The adder sums the source |
| * address register with an offset calculated based on the transfer size and increment |
| * control (DCRn[SSIZE, SINC]). The 32-bit wide select vector is formed using the |
| * expression noted above and is then used to select either the source address |
| * register bit (select = 0) or the corresponding bit position from the adder |
| * output (select = 1) for each bit of the next-state source address. This |
| * functionality supports circular queues ranging in size from 16 bytes (SMOD = 1) to 256 |
| * KB (SMOD = 15). |
| * |
| * Values: |
| * - 0b0000 - Buffer disabled |
| * - 0b0001 - Circular buffer size is 16 bytes. |
| * - 0b0010 - Circular buffer size is 32 bytes. |
| * - 0b0011 - Circular buffer size is 64 bytes. |
| * - 0b0100 - Circular buffer size is 128 bytes. |
| * - 0b0101 - Circular buffer size is 256 bytes. |
| * - 0b0110 - Circular buffer size is 512 bytes. |
| * - 0b0111 - Circular buffer size is 1 KB. |
| * - 0b1000 - Circular buffer size is 2 KB. |
| * - 0b1001 - Circular buffer size is 4 KB. |
| * - 0b1010 - Circular buffer size is 8 KB. |
| * - 0b1011 - Circular buffer size is 16 KB. |
| * - 0b1100 - Circular buffer size is 32 KB. |
| * - 0b1101 - Circular buffer size is 64 KB. |
| * - 0b1110 - Circular buffer size is 128 KB. |
| * - 0b1111 - Circular buffer size is 256 KB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_SMOD field. */ |
| #define DMA_RD_DCR_SMOD(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_SMOD_MASK) >> DMA_DCR_SMOD_SHIFT) |
| #define DMA_BRD_DCR_SMOD(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_SMOD_SHIFT, DMA_DCR_SMOD_WIDTH)) |
| |
| /*! @brief Set the SMOD field to a new value. */ |
| #define DMA_WR_DCR_SMOD(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_SMOD_MASK, DMA_DCR_SMOD(value))) |
| #define DMA_BWR_DCR_SMOD(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_SMOD_SHIFT), DMA_DCR_SMOD_SHIFT, DMA_DCR_SMOD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field START[16] (WORZ) |
| * |
| * Values: |
| * - 0b0 - DMA inactive |
| * - 0b1 - The DMA begins the transfer in accordance to the values in the TCDn. |
| * START is cleared automatically after one module clock and always reads as |
| * logic 0. |
| */ |
| /*@{*/ |
| /*! @brief Set the START field to a new value. */ |
| #define DMA_WR_DCR_START(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_START_MASK, DMA_DCR_START(value))) |
| #define DMA_BWR_DCR_START(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_START_SHIFT), DMA_DCR_START_SHIFT, DMA_DCR_START_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field DSIZE[18:17] (RW) |
| * |
| * Determines the data size of the destination bus cycle for the DMA controller. |
| * |
| * Values: |
| * - 0b00 - 32-bit |
| * - 0b01 - 8-bit |
| * - 0b10 - 16-bit |
| * - 0b11 - Reserved (generates a configuration error (DSRn[CE]) if incorrectly |
| * specified at time of channel activation) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_DSIZE field. */ |
| #define DMA_RD_DCR_DSIZE(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_DSIZE_MASK) >> DMA_DCR_DSIZE_SHIFT) |
| #define DMA_BRD_DCR_DSIZE(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_DSIZE_SHIFT, DMA_DCR_DSIZE_WIDTH)) |
| |
| /*! @brief Set the DSIZE field to a new value. */ |
| #define DMA_WR_DCR_DSIZE(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_DSIZE_MASK, DMA_DCR_DSIZE(value))) |
| #define DMA_BWR_DCR_DSIZE(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_DSIZE_SHIFT), DMA_DCR_DSIZE_SHIFT, DMA_DCR_DSIZE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field DINC[19] (RW) |
| * |
| * Controls whether the destination address increments after each successful |
| * transfer. |
| * |
| * Values: |
| * - 0b0 - No change to the DAR after a successful transfer. |
| * - 0b1 - The DAR increments by 1, 2, 4 depending upon the size of the transfer. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_DINC field. */ |
| #define DMA_RD_DCR_DINC(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_DINC_MASK) >> DMA_DCR_DINC_SHIFT) |
| #define DMA_BRD_DCR_DINC(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_DINC_SHIFT, DMA_DCR_DINC_WIDTH)) |
| |
| /*! @brief Set the DINC field to a new value. */ |
| #define DMA_WR_DCR_DINC(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_DINC_MASK, DMA_DCR_DINC(value))) |
| #define DMA_BWR_DCR_DINC(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_DINC_SHIFT), DMA_DCR_DINC_SHIFT, DMA_DCR_DINC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field SSIZE[21:20] (RW) |
| * |
| * Determines the data size of the source bus cycle for the DMA controller. |
| * |
| * Values: |
| * - 0b00 - 32-bit |
| * - 0b01 - 8-bit |
| * - 0b10 - 16-bit |
| * - 0b11 - Reserved (generates a configuration error (DSRn[CE]) if incorrectly |
| * specified at time of channel activation) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_SSIZE field. */ |
| #define DMA_RD_DCR_SSIZE(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_SSIZE_MASK) >> DMA_DCR_SSIZE_SHIFT) |
| #define DMA_BRD_DCR_SSIZE(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_SSIZE_SHIFT, DMA_DCR_SSIZE_WIDTH)) |
| |
| /*! @brief Set the SSIZE field to a new value. */ |
| #define DMA_WR_DCR_SSIZE(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_SSIZE_MASK, DMA_DCR_SSIZE(value))) |
| #define DMA_BWR_DCR_SSIZE(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_SSIZE_SHIFT), DMA_DCR_SSIZE_SHIFT, DMA_DCR_SSIZE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field SINC[22] (RW) |
| * |
| * Controls whether the source address increments after each successful transfer. |
| * |
| * Values: |
| * - 0b0 - No change to SAR after a successful transfer. |
| * - 0b1 - The SAR increments by 1, 2, 4 as determined by the transfer size. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_SINC field. */ |
| #define DMA_RD_DCR_SINC(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_SINC_MASK) >> DMA_DCR_SINC_SHIFT) |
| #define DMA_BRD_DCR_SINC(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_SINC_SHIFT, DMA_DCR_SINC_WIDTH)) |
| |
| /*! @brief Set the SINC field to a new value. */ |
| #define DMA_WR_DCR_SINC(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_SINC_MASK, DMA_DCR_SINC(value))) |
| #define DMA_BWR_DCR_SINC(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_SINC_SHIFT), DMA_DCR_SINC_SHIFT, DMA_DCR_SINC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field EADREQ[23] (RW) |
| * |
| * Enables the channel to support asynchronous DREQs while the MCU is in Stop |
| * mode. |
| * |
| * Values: |
| * - 0b0 - Disabled |
| * - 0b1 - Enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_EADREQ field. */ |
| #define DMA_RD_DCR_EADREQ(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_EADREQ_MASK) >> DMA_DCR_EADREQ_SHIFT) |
| #define DMA_BRD_DCR_EADREQ(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_EADREQ_SHIFT, DMA_DCR_EADREQ_WIDTH)) |
| |
| /*! @brief Set the EADREQ field to a new value. */ |
| #define DMA_WR_DCR_EADREQ(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_EADREQ_MASK, DMA_DCR_EADREQ(value))) |
| #define DMA_BWR_DCR_EADREQ(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_EADREQ_SHIFT), DMA_DCR_EADREQ_SHIFT, DMA_DCR_EADREQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field AA[28] (RW) |
| * |
| * AA and SIZE bits determine whether the source or destination is auto-aligned; |
| * that is, transfers are optimized based on the address and size. |
| * |
| * Values: |
| * - 0b0 - Auto-align disabled |
| * - 0b1 - If SSIZE indicates a transfer no smaller than DSIZE, source accesses |
| * are auto-aligned; otherwise, destination accesses are auto-aligned. Source |
| * alignment takes precedence over destination alignment. If auto-alignment |
| * is enabled, the appropriate address register increments, regardless of |
| * DINC or SINC. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_AA field. */ |
| #define DMA_RD_DCR_AA(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_AA_MASK) >> DMA_DCR_AA_SHIFT) |
| #define DMA_BRD_DCR_AA(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_AA_SHIFT, DMA_DCR_AA_WIDTH)) |
| |
| /*! @brief Set the AA field to a new value. */ |
| #define DMA_WR_DCR_AA(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_AA_MASK, DMA_DCR_AA(value))) |
| #define DMA_BWR_DCR_AA(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_AA_SHIFT), DMA_DCR_AA_SHIFT, DMA_DCR_AA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field CS[29] (RW) |
| * |
| * Values: |
| * - 0b0 - DMA continuously makes read/write transfers until the BCR decrements |
| * to 0. |
| * - 0b1 - Forces a single read/write transfer per request. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_CS field. */ |
| #define DMA_RD_DCR_CS(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_CS_MASK) >> DMA_DCR_CS_SHIFT) |
| #define DMA_BRD_DCR_CS(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_CS_SHIFT, DMA_DCR_CS_WIDTH)) |
| |
| /*! @brief Set the CS field to a new value. */ |
| #define DMA_WR_DCR_CS(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_CS_MASK, DMA_DCR_CS(value))) |
| #define DMA_BWR_DCR_CS(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_CS_SHIFT), DMA_DCR_CS_SHIFT, DMA_DCR_CS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field ERQ[30] (RW) |
| * |
| * Be careful: a collision can occur between START and D_REQ when ERQ is 1. |
| * |
| * Values: |
| * - 0b0 - Peripheral request is ignored. |
| * - 0b1 - Enables peripheral request to initiate transfer. A software-initiated |
| * request (setting START) is always enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_ERQ field. */ |
| #define DMA_RD_DCR_ERQ(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_ERQ_MASK) >> DMA_DCR_ERQ_SHIFT) |
| #define DMA_BRD_DCR_ERQ(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_ERQ_SHIFT, DMA_DCR_ERQ_WIDTH)) |
| |
| /*! @brief Set the ERQ field to a new value. */ |
| #define DMA_WR_DCR_ERQ(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_ERQ_MASK, DMA_DCR_ERQ(value))) |
| #define DMA_BWR_DCR_ERQ(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_ERQ_SHIFT), DMA_DCR_ERQ_SHIFT, DMA_DCR_ERQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMA_DCR, field EINT[31] (RW) |
| * |
| * Determines whether an interrupt is generated by completing a transfer or by |
| * the occurrence of an error condition. |
| * |
| * Values: |
| * - 0b0 - No interrupt is generated. |
| * - 0b1 - SINT asserts. Interrupt signal is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMA_DCR_EINT field. */ |
| #define DMA_RD_DCR_EINT(base, index) ((DMA_DCR_REG(base, index) & DMA_DCR_EINT_MASK) >> DMA_DCR_EINT_SHIFT) |
| #define DMA_BRD_DCR_EINT(base, index) (BME_UBFX32(&DMA_DCR_REG(base, index), DMA_DCR_EINT_SHIFT, DMA_DCR_EINT_WIDTH)) |
| |
| /*! @brief Set the EINT field to a new value. */ |
| #define DMA_WR_DCR_EINT(base, index, value) (DMA_RMW_DCR(base, index, DMA_DCR_EINT_MASK, DMA_DCR_EINT(value))) |
| #define DMA_BWR_DCR_EINT(base, index, value) (BME_BFI32(&DMA_DCR_REG(base, index), ((uint32_t)(value) << DMA_DCR_EINT_SHIFT), DMA_DCR_EINT_SHIFT, DMA_DCR_EINT_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 DMAMUX |
| * |
| * DMA channel multiplexor |
| * |
| * Registers defined in this header file: |
| * - DMAMUX_CHCFG - Channel Configuration register |
| */ |
| |
| #define DMAMUX_INSTANCE_COUNT (1U) /*!< Number of instances of the DMAMUX module. */ |
| #define DMAMUX0_IDX (0U) /*!< Instance number for DMAMUX0. */ |
| |
| /******************************************************************************* |
| * DMAMUX_CHCFG - Channel Configuration register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief DMAMUX_CHCFG - Channel Configuration register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * Each of the DMA channels can be independently enabled/disabled and associated |
| * with one of the DMA slots (peripheral slots or always-on slots) in the |
| * system. Setting multiple CHCFG registers with the same source value will result in |
| * unpredictable behavior. This is true, even if a channel is disabled (ENBL==0). |
| * Before changing the trigger or source settings, a DMA channel must be disabled |
| * via CHCFGn[ENBL]. |
| */ |
| /*! |
| * @name Constants and macros for entire DMAMUX_CHCFG register |
| */ |
| /*@{*/ |
| #define DMAMUX_RD_CHCFG(base, index) (DMAMUX_CHCFG_REG(base, index)) |
| #define DMAMUX_WR_CHCFG(base, index, value) (DMAMUX_CHCFG_REG(base, index) = (value)) |
| #define DMAMUX_RMW_CHCFG(base, index, mask, value) (DMAMUX_WR_CHCFG(base, index, (DMAMUX_RD_CHCFG(base, index) & ~(mask)) | (value))) |
| #define DMAMUX_SET_CHCFG(base, index, value) (BME_OR8(&DMAMUX_CHCFG_REG(base, index), (uint8_t)(value))) |
| #define DMAMUX_CLR_CHCFG(base, index, value) (BME_AND8(&DMAMUX_CHCFG_REG(base, index), (uint8_t)(~(value)))) |
| #define DMAMUX_TOG_CHCFG(base, index, value) (BME_XOR8(&DMAMUX_CHCFG_REG(base, index), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual DMAMUX_CHCFG bitfields |
| */ |
| |
| /*! |
| * @name Register DMAMUX_CHCFG, field SOURCE[5:0] (RW) |
| * |
| * Specifies which DMA source, if any, is routed to a particular DMA channel. |
| * See the chip-specific DMAMUX information for details about the peripherals and |
| * their slot numbers. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMAMUX_CHCFG_SOURCE field. */ |
| #define DMAMUX_RD_CHCFG_SOURCE(base, index) ((DMAMUX_CHCFG_REG(base, index) & DMAMUX_CHCFG_SOURCE_MASK) >> DMAMUX_CHCFG_SOURCE_SHIFT) |
| #define DMAMUX_BRD_CHCFG_SOURCE(base, index) (BME_UBFX8(&DMAMUX_CHCFG_REG(base, index), DMAMUX_CHCFG_SOURCE_SHIFT, DMAMUX_CHCFG_SOURCE_WIDTH)) |
| |
| /*! @brief Set the SOURCE field to a new value. */ |
| #define DMAMUX_WR_CHCFG_SOURCE(base, index, value) (DMAMUX_RMW_CHCFG(base, index, DMAMUX_CHCFG_SOURCE_MASK, DMAMUX_CHCFG_SOURCE(value))) |
| #define DMAMUX_BWR_CHCFG_SOURCE(base, index, value) (BME_BFI8(&DMAMUX_CHCFG_REG(base, index), ((uint8_t)(value) << DMAMUX_CHCFG_SOURCE_SHIFT), DMAMUX_CHCFG_SOURCE_SHIFT, DMAMUX_CHCFG_SOURCE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMAMUX_CHCFG, field TRIG[6] (RW) |
| * |
| * Enables the periodic trigger capability for the triggered DMA channel. |
| * |
| * Values: |
| * - 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) |
| * - 0b1 - Triggering is enabled. If triggering is enabled and ENBL is set, the |
| * DMAMUX is in Periodic Trigger mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMAMUX_CHCFG_TRIG field. */ |
| #define DMAMUX_RD_CHCFG_TRIG(base, index) ((DMAMUX_CHCFG_REG(base, index) & DMAMUX_CHCFG_TRIG_MASK) >> DMAMUX_CHCFG_TRIG_SHIFT) |
| #define DMAMUX_BRD_CHCFG_TRIG(base, index) (BME_UBFX8(&DMAMUX_CHCFG_REG(base, index), DMAMUX_CHCFG_TRIG_SHIFT, DMAMUX_CHCFG_TRIG_WIDTH)) |
| |
| /*! @brief Set the TRIG field to a new value. */ |
| #define DMAMUX_WR_CHCFG_TRIG(base, index, value) (DMAMUX_RMW_CHCFG(base, index, DMAMUX_CHCFG_TRIG_MASK, DMAMUX_CHCFG_TRIG(value))) |
| #define DMAMUX_BWR_CHCFG_TRIG(base, index, value) (BME_BFI8(&DMAMUX_CHCFG_REG(base, index), ((uint8_t)(value) << DMAMUX_CHCFG_TRIG_SHIFT), DMAMUX_CHCFG_TRIG_SHIFT, DMAMUX_CHCFG_TRIG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register DMAMUX_CHCFG, field ENBL[7] (RW) |
| * |
| * Enables the DMA channel. |
| * |
| * Values: |
| * - 0b0 - DMA channel is disabled. This mode is primarily used during |
| * configuration of the DMAMux. The DMA has separate channel enables/disables, which |
| * should be used to disable or reconfigure a DMA channel. |
| * - 0b1 - DMA channel is enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the DMAMUX_CHCFG_ENBL field. */ |
| #define DMAMUX_RD_CHCFG_ENBL(base, index) ((DMAMUX_CHCFG_REG(base, index) & DMAMUX_CHCFG_ENBL_MASK) >> DMAMUX_CHCFG_ENBL_SHIFT) |
| #define DMAMUX_BRD_CHCFG_ENBL(base, index) (BME_UBFX8(&DMAMUX_CHCFG_REG(base, index), DMAMUX_CHCFG_ENBL_SHIFT, DMAMUX_CHCFG_ENBL_WIDTH)) |
| |
| /*! @brief Set the ENBL field to a new value. */ |
| #define DMAMUX_WR_CHCFG_ENBL(base, index, value) (DMAMUX_RMW_CHCFG(base, index, DMAMUX_CHCFG_ENBL_MASK, DMAMUX_CHCFG_ENBL(value))) |
| #define DMAMUX_BWR_CHCFG_ENBL(base, index, value) (BME_BFI8(&DMAMUX_CHCFG_REG(base, index), ((uint8_t)(value) << DMAMUX_CHCFG_ENBL_SHIFT), DMAMUX_CHCFG_ENBL_SHIFT, DMAMUX_CHCFG_ENBL_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 FGPIO |
| * |
| * General Purpose Input/Output |
| * |
| * Registers defined in this header file: |
| * - FGPIO_PDOR - Port Data Output Register |
| * - FGPIO_PSOR - Port Set Output Register |
| * - FGPIO_PCOR - Port Clear Output Register |
| * - FGPIO_PTOR - Port Toggle Output Register |
| * - FGPIO_PDIR - Port Data Input Register |
| * - FGPIO_PDDR - Port Data Direction Register |
| */ |
| |
| #define FGPIO_INSTANCE_COUNT (3U) /*!< Number of instances of the FGPIO module. */ |
| #define FGPIOA_IDX (0U) /*!< Instance number for FGPIOA. */ |
| #define FGPIOB_IDX (1U) /*!< Instance number for FGPIOB. */ |
| #define FGPIOC_IDX (2U) /*!< Instance number for FGPIOC. */ |
| |
| /******************************************************************************* |
| * FGPIO_PDOR - Port Data Output Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FGPIO_PDOR - Port Data Output Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register configures the logic levels that are driven on each |
| * general-purpose output pins. |
| */ |
| /*! |
| * @name Constants and macros for entire FGPIO_PDOR register |
| */ |
| /*@{*/ |
| #define FGPIO_RD_PDOR(base) (FGPIO_PDOR_REG(base)) |
| #define FGPIO_WR_PDOR(base, value) (FGPIO_PDOR_REG(base) = (value)) |
| #define FGPIO_RMW_PDOR(base, mask, value) (FGPIO_WR_PDOR(base, (FGPIO_RD_PDOR(base) & ~(mask)) | (value))) |
| #define FGPIO_SET_PDOR(base, value) (FGPIO_WR_PDOR(base, FGPIO_RD_PDOR(base) | (value))) |
| #define FGPIO_CLR_PDOR(base, value) (FGPIO_WR_PDOR(base, FGPIO_RD_PDOR(base) & ~(value))) |
| #define FGPIO_TOG_PDOR(base, value) (FGPIO_WR_PDOR(base, FGPIO_RD_PDOR(base) ^ (value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FGPIO_PSOR - Port Set Output Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FGPIO_PSOR - Port Set Output Register (WORZ) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register configures whether to set the fields of the PDOR. |
| */ |
| /*! |
| * @name Constants and macros for entire FGPIO_PSOR register |
| */ |
| /*@{*/ |
| #define FGPIO_RD_PSOR(base) (FGPIO_PSOR_REG(base)) |
| #define FGPIO_WR_PSOR(base, value) (FGPIO_PSOR_REG(base) = (value)) |
| #define FGPIO_RMW_PSOR(base, mask, value) (FGPIO_WR_PSOR(base, (FGPIO_RD_PSOR(base) & ~(mask)) | (value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FGPIO_PCOR - Port Clear Output Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FGPIO_PCOR - Port Clear Output Register (WORZ) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register configures whether to clear the fields of PDOR. |
| */ |
| /*! |
| * @name Constants and macros for entire FGPIO_PCOR register |
| */ |
| /*@{*/ |
| #define FGPIO_RD_PCOR(base) (FGPIO_PCOR_REG(base)) |
| #define FGPIO_WR_PCOR(base, value) (FGPIO_PCOR_REG(base) = (value)) |
| #define FGPIO_RMW_PCOR(base, mask, value) (FGPIO_WR_PCOR(base, (FGPIO_RD_PCOR(base) & ~(mask)) | (value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FGPIO_PTOR - Port Toggle Output Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FGPIO_PTOR - Port Toggle Output Register (WORZ) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire FGPIO_PTOR register |
| */ |
| /*@{*/ |
| #define FGPIO_RD_PTOR(base) (FGPIO_PTOR_REG(base)) |
| #define FGPIO_WR_PTOR(base, value) (FGPIO_PTOR_REG(base) = (value)) |
| #define FGPIO_RMW_PTOR(base, mask, value) (FGPIO_WR_PTOR(base, (FGPIO_RD_PTOR(base) & ~(mask)) | (value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FGPIO_PDIR - Port Data Input Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FGPIO_PDIR - Port Data Input Register (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire FGPIO_PDIR register |
| */ |
| /*@{*/ |
| #define FGPIO_RD_PDIR(base) (FGPIO_PDIR_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FGPIO_PDDR - Port Data Direction Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FGPIO_PDDR - Port Data Direction Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The PDDR configures the individual port pins for input or output. |
| */ |
| /*! |
| * @name Constants and macros for entire FGPIO_PDDR register |
| */ |
| /*@{*/ |
| #define FGPIO_RD_PDDR(base) (FGPIO_PDDR_REG(base)) |
| #define FGPIO_WR_PDDR(base, value) (FGPIO_PDDR_REG(base) = (value)) |
| #define FGPIO_RMW_PDDR(base, mask, value) (FGPIO_WR_PDDR(base, (FGPIO_RD_PDDR(base) & ~(mask)) | (value))) |
| #define FGPIO_SET_PDDR(base, value) (FGPIO_WR_PDDR(base, FGPIO_RD_PDDR(base) | (value))) |
| #define FGPIO_CLR_PDDR(base, value) (FGPIO_WR_PDDR(base, FGPIO_RD_PDDR(base) & ~(value))) |
| #define FGPIO_TOG_PDDR(base, value) (FGPIO_WR_PDDR(base, FGPIO_RD_PDDR(base) ^ (value))) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 FTFA |
| * |
| * Flash Memory Interface |
| * |
| * Registers defined in this header file: |
| * - FTFA_FSTAT - Flash Status Register |
| * - FTFA_FCNFG - Flash Configuration Register |
| * - FTFA_FSEC - Flash Security Register |
| * - FTFA_FOPT - Flash Option Register |
| * - FTFA_FCCOB3 - Flash Common Command Object Registers |
| * - FTFA_FCCOB2 - Flash Common Command Object Registers |
| * - FTFA_FCCOB1 - Flash Common Command Object Registers |
| * - FTFA_FCCOB0 - Flash Common Command Object Registers |
| * - FTFA_FCCOB7 - Flash Common Command Object Registers |
| * - FTFA_FCCOB6 - Flash Common Command Object Registers |
| * - FTFA_FCCOB5 - Flash Common Command Object Registers |
| * - FTFA_FCCOB4 - Flash Common Command Object Registers |
| * - FTFA_FCCOBB - Flash Common Command Object Registers |
| * - FTFA_FCCOBA - Flash Common Command Object Registers |
| * - FTFA_FCCOB9 - Flash Common Command Object Registers |
| * - FTFA_FCCOB8 - Flash Common Command Object Registers |
| * - FTFA_FPROT3 - Program Flash Protection Registers |
| * - FTFA_FPROT2 - Program Flash Protection Registers |
| * - FTFA_FPROT1 - Program Flash Protection Registers |
| * - FTFA_FPROT0 - Program Flash Protection Registers |
| * - FTFA_XACCH3 - Execute-only Access Registers |
| * - FTFA_XACCH2 - Execute-only Access Registers |
| * - FTFA_XACCH1 - Execute-only Access Registers |
| * - FTFA_XACCH0 - Execute-only Access Registers |
| * - FTFA_XACCL3 - Execute-only Access Registers |
| * - FTFA_XACCL2 - Execute-only Access Registers |
| * - FTFA_XACCL1 - Execute-only Access Registers |
| * - FTFA_XACCL0 - Execute-only Access Registers |
| * - FTFA_SACCH3 - Supervisor-only Access Registers |
| * - FTFA_SACCH2 - Supervisor-only Access Registers |
| * - FTFA_SACCH1 - Supervisor-only Access Registers |
| * - FTFA_SACCH0 - Supervisor-only Access Registers |
| * - FTFA_SACCL3 - Supervisor-only Access Registers |
| * - FTFA_SACCL2 - Supervisor-only Access Registers |
| * - FTFA_SACCL1 - Supervisor-only Access Registers |
| * - FTFA_SACCL0 - Supervisor-only Access Registers |
| * - FTFA_FACSS - Flash Access Segment Size Register |
| * - FTFA_FACSN - Flash Access Segment Number Register |
| */ |
| |
| #define FTFA_INSTANCE_COUNT (1U) /*!< Number of instances of the FTFA module. */ |
| #define FTFA_IDX (0U) /*!< Instance number for FTFA. */ |
| |
| /******************************************************************************* |
| * FTFA_FSTAT - Flash Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FSTAT - Flash Status Register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FSTAT register reports the operational status of the flash memory module. |
| * The CCIF, RDCOLERR, ACCERR, and FPVIOL bits are readable and writable. The |
| * MGSTAT0 bit is read only. The unassigned bits read 0 and are not writable. When |
| * set, the Access Error (ACCERR) and Flash Protection Violation (FPVIOL) bits in |
| * this register prevent the launch of any more commands until the flag is |
| * cleared (by writing a one to it). |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FSTAT register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FSTAT(base) (FTFA_FSTAT_REG(base)) |
| #define FTFA_WR_FSTAT(base, value) (FTFA_FSTAT_REG(base) = (value)) |
| #define FTFA_RMW_FSTAT(base, mask, value) (FTFA_WR_FSTAT(base, (FTFA_RD_FSTAT(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FSTAT(base, value) (BME_OR8(&FTFA_FSTAT_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FSTAT(base, value) (BME_AND8(&FTFA_FSTAT_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FSTAT(base, value) (BME_XOR8(&FTFA_FSTAT_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual FTFA_FSTAT bitfields |
| */ |
| |
| /*! |
| * @name Register FTFA_FSTAT, field MGSTAT0[0] (RO) |
| * |
| * The MGSTAT0 status flag is set if an error is detected during execution of a |
| * flash command or during the flash reset sequence. As a status flag, this field |
| * cannot (and need not) be cleared by the user like the other error flags in |
| * this register. The value of the MGSTAT0 bit for "command-N" is valid only at the |
| * end of the "command-N" execution when CCIF=1 and before the next command has |
| * been launched. At some point during the execution of "command-N+1," the |
| * previous result is discarded and any previous error is cleared. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FSTAT_MGSTAT0 field. */ |
| #define FTFA_RD_FSTAT_MGSTAT0(base) ((FTFA_FSTAT_REG(base) & FTFA_FSTAT_MGSTAT0_MASK) >> FTFA_FSTAT_MGSTAT0_SHIFT) |
| #define FTFA_BRD_FSTAT_MGSTAT0(base) (BME_UBFX8(&FTFA_FSTAT_REG(base), FTFA_FSTAT_MGSTAT0_SHIFT, FTFA_FSTAT_MGSTAT0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register FTFA_FSTAT, field FPVIOL[4] (W1C) |
| * |
| * Indicates an attempt was made to program or erase an address in a protected |
| * area of program flash memory during a command write sequence . While FPVIOL is |
| * set, the CCIF flag cannot be cleared to launch a command. The FPVIOL bit is |
| * cleared by writing a 1 to FPVIOL while CCIF is set. Writing a 0 to the FPVIOL |
| * bit has no effect. |
| * |
| * Values: |
| * - 0b0 - No protection violation detected |
| * - 0b1 - Protection violation detected |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FSTAT_FPVIOL field. */ |
| #define FTFA_RD_FSTAT_FPVIOL(base) ((FTFA_FSTAT_REG(base) & FTFA_FSTAT_FPVIOL_MASK) >> FTFA_FSTAT_FPVIOL_SHIFT) |
| #define FTFA_BRD_FSTAT_FPVIOL(base) (BME_UBFX8(&FTFA_FSTAT_REG(base), FTFA_FSTAT_FPVIOL_SHIFT, FTFA_FSTAT_FPVIOL_WIDTH)) |
| |
| /*! @brief Set the FPVIOL field to a new value. */ |
| #define FTFA_WR_FSTAT_FPVIOL(base, value) (FTFA_RMW_FSTAT(base, (FTFA_FSTAT_FPVIOL_MASK | FTFA_FSTAT_ACCERR_MASK | FTFA_FSTAT_RDCOLERR_MASK | FTFA_FSTAT_CCIF_MASK), FTFA_FSTAT_FPVIOL(value))) |
| #define FTFA_BWR_FSTAT_FPVIOL(base, value) (BME_BFI8(&FTFA_FSTAT_REG(base), ((uint8_t)(value) << FTFA_FSTAT_FPVIOL_SHIFT), FTFA_FSTAT_FPVIOL_SHIFT, FTFA_FSTAT_FPVIOL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register FTFA_FSTAT, field ACCERR[5] (W1C) |
| * |
| * Indicates an illegal access has occurred to a flash memory resource caused by |
| * a violation of the command write sequence or issuing an illegal flash |
| * command. While ACCERR is set, the CCIF flag cannot be cleared to launch a command. |
| * The ACCERR bit is cleared by writing a 1 to ACCERR while CCIF is set. Writing a |
| * 0 to the ACCERR bit has no effect. |
| * |
| * Values: |
| * - 0b0 - No access error detected |
| * - 0b1 - Access error detected |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FSTAT_ACCERR field. */ |
| #define FTFA_RD_FSTAT_ACCERR(base) ((FTFA_FSTAT_REG(base) & FTFA_FSTAT_ACCERR_MASK) >> FTFA_FSTAT_ACCERR_SHIFT) |
| #define FTFA_BRD_FSTAT_ACCERR(base) (BME_UBFX8(&FTFA_FSTAT_REG(base), FTFA_FSTAT_ACCERR_SHIFT, FTFA_FSTAT_ACCERR_WIDTH)) |
| |
| /*! @brief Set the ACCERR field to a new value. */ |
| #define FTFA_WR_FSTAT_ACCERR(base, value) (FTFA_RMW_FSTAT(base, (FTFA_FSTAT_ACCERR_MASK | FTFA_FSTAT_FPVIOL_MASK | FTFA_FSTAT_RDCOLERR_MASK | FTFA_FSTAT_CCIF_MASK), FTFA_FSTAT_ACCERR(value))) |
| #define FTFA_BWR_FSTAT_ACCERR(base, value) (BME_BFI8(&FTFA_FSTAT_REG(base), ((uint8_t)(value) << FTFA_FSTAT_ACCERR_SHIFT), FTFA_FSTAT_ACCERR_SHIFT, FTFA_FSTAT_ACCERR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register FTFA_FSTAT, field RDCOLERR[6] (W1C) |
| * |
| * Indicates that the MCU attempted a read from a flash memory resource that was |
| * being manipulated by a flash command (CCIF=0). Any simultaneous access is |
| * detected as a collision error by the block arbitration logic. The read data in |
| * this case cannot be guaranteed. The RDCOLERR bit is cleared by writing a 1 to |
| * it. Writing a 0 to RDCOLERR has no effect. |
| * |
| * Values: |
| * - 0b0 - No collision error detected |
| * - 0b1 - Collision error detected |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FSTAT_RDCOLERR field. */ |
| #define FTFA_RD_FSTAT_RDCOLERR(base) ((FTFA_FSTAT_REG(base) & FTFA_FSTAT_RDCOLERR_MASK) >> FTFA_FSTAT_RDCOLERR_SHIFT) |
| #define FTFA_BRD_FSTAT_RDCOLERR(base) (BME_UBFX8(&FTFA_FSTAT_REG(base), FTFA_FSTAT_RDCOLERR_SHIFT, FTFA_FSTAT_RDCOLERR_WIDTH)) |
| |
| /*! @brief Set the RDCOLERR field to a new value. */ |
| #define FTFA_WR_FSTAT_RDCOLERR(base, value) (FTFA_RMW_FSTAT(base, (FTFA_FSTAT_RDCOLERR_MASK | FTFA_FSTAT_FPVIOL_MASK | FTFA_FSTAT_ACCERR_MASK | FTFA_FSTAT_CCIF_MASK), FTFA_FSTAT_RDCOLERR(value))) |
| #define FTFA_BWR_FSTAT_RDCOLERR(base, value) (BME_BFI8(&FTFA_FSTAT_REG(base), ((uint8_t)(value) << FTFA_FSTAT_RDCOLERR_SHIFT), FTFA_FSTAT_RDCOLERR_SHIFT, FTFA_FSTAT_RDCOLERR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register FTFA_FSTAT, field CCIF[7] (W1C) |
| * |
| * Indicates that a flash command has completed. The CCIF flag is cleared by |
| * writing a 1 to CCIF to launch a command, and CCIF stays low until command |
| * completion or command violation. CCIF is reset to 0 but is set to 1 by the memory |
| * controller at the end of the reset initialization sequence. Depending on how |
| * quickly the read occurs after reset release, the user may or may not see the 0 |
| * hardware reset value. |
| * |
| * Values: |
| * - 0b0 - Flash command in progress |
| * - 0b1 - Flash command has completed |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FSTAT_CCIF field. */ |
| #define FTFA_RD_FSTAT_CCIF(base) ((FTFA_FSTAT_REG(base) & FTFA_FSTAT_CCIF_MASK) >> FTFA_FSTAT_CCIF_SHIFT) |
| #define FTFA_BRD_FSTAT_CCIF(base) (BME_UBFX8(&FTFA_FSTAT_REG(base), FTFA_FSTAT_CCIF_SHIFT, FTFA_FSTAT_CCIF_WIDTH)) |
| |
| /*! @brief Set the CCIF field to a new value. */ |
| #define FTFA_WR_FSTAT_CCIF(base, value) (FTFA_RMW_FSTAT(base, (FTFA_FSTAT_CCIF_MASK | FTFA_FSTAT_FPVIOL_MASK | FTFA_FSTAT_ACCERR_MASK | FTFA_FSTAT_RDCOLERR_MASK), FTFA_FSTAT_CCIF(value))) |
| #define FTFA_BWR_FSTAT_CCIF(base, value) (BME_BFI8(&FTFA_FSTAT_REG(base), ((uint8_t)(value) << FTFA_FSTAT_CCIF_SHIFT), FTFA_FSTAT_CCIF_SHIFT, FTFA_FSTAT_CCIF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCNFG - Flash Configuration Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCNFG - Flash Configuration Register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This register provides information on the current functional state of the |
| * flash memory module. The erase control bits (ERSAREQ and ERSSUSP) have write |
| * restrictions. The unassigned bits read as noted and are not writable. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCNFG register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCNFG(base) (FTFA_FCNFG_REG(base)) |
| #define FTFA_WR_FCNFG(base, value) (FTFA_FCNFG_REG(base) = (value)) |
| #define FTFA_RMW_FCNFG(base, mask, value) (FTFA_WR_FCNFG(base, (FTFA_RD_FCNFG(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCNFG(base, value) (BME_OR8(&FTFA_FCNFG_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCNFG(base, value) (BME_AND8(&FTFA_FCNFG_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCNFG(base, value) (BME_XOR8(&FTFA_FCNFG_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual FTFA_FCNFG bitfields |
| */ |
| |
| /*! |
| * @name Register FTFA_FCNFG, field ERSSUSP[4] (RW) |
| * |
| * Allows the user to suspend (interrupt) the Erase Flash Sector command while |
| * it is executing. |
| * |
| * Values: |
| * - 0b0 - No suspend requested |
| * - 0b1 - Suspend the current Erase Flash Sector command execution. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FCNFG_ERSSUSP field. */ |
| #define FTFA_RD_FCNFG_ERSSUSP(base) ((FTFA_FCNFG_REG(base) & FTFA_FCNFG_ERSSUSP_MASK) >> FTFA_FCNFG_ERSSUSP_SHIFT) |
| #define FTFA_BRD_FCNFG_ERSSUSP(base) (BME_UBFX8(&FTFA_FCNFG_REG(base), FTFA_FCNFG_ERSSUSP_SHIFT, FTFA_FCNFG_ERSSUSP_WIDTH)) |
| |
| /*! @brief Set the ERSSUSP field to a new value. */ |
| #define FTFA_WR_FCNFG_ERSSUSP(base, value) (FTFA_RMW_FCNFG(base, FTFA_FCNFG_ERSSUSP_MASK, FTFA_FCNFG_ERSSUSP(value))) |
| #define FTFA_BWR_FCNFG_ERSSUSP(base, value) (BME_BFI8(&FTFA_FCNFG_REG(base), ((uint8_t)(value) << FTFA_FCNFG_ERSSUSP_SHIFT), FTFA_FCNFG_ERSSUSP_SHIFT, FTFA_FCNFG_ERSSUSP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register FTFA_FCNFG, field ERSAREQ[5] (RO) |
| * |
| * Issues a request to the memory controller to execute the Erase All Blocks |
| * command and release security. ERSAREQ is not directly writable but is under |
| * indirect user control. Refer to the device's Chip Configuration details on how to |
| * request this command. ERSAREQ sets when and CCIF is set (no command is |
| * currently being executed). ERSAREQ is cleared by the flash memory module when the |
| * operation completes. |
| * |
| * Values: |
| * - 0b0 - No request or request complete |
| * - 0b1 - Request to: run the Erase All Blocks command, verify the erased |
| * state, program the security byte in the Flash Configuration Field to the |
| * unsecure state, and release MCU security by setting the FSEC[SEC] field to the |
| * unsecure state. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FCNFG_ERSAREQ field. */ |
| #define FTFA_RD_FCNFG_ERSAREQ(base) ((FTFA_FCNFG_REG(base) & FTFA_FCNFG_ERSAREQ_MASK) >> FTFA_FCNFG_ERSAREQ_SHIFT) |
| #define FTFA_BRD_FCNFG_ERSAREQ(base) (BME_UBFX8(&FTFA_FCNFG_REG(base), FTFA_FCNFG_ERSAREQ_SHIFT, FTFA_FCNFG_ERSAREQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register FTFA_FCNFG, field RDCOLLIE[6] (RW) |
| * |
| * Controls interrupt generation when a flash memory read collision error occurs. |
| * |
| * Values: |
| * - 0b0 - Read collision error interrupt disabled |
| * - 0b1 - Read collision error interrupt enabled. An interrupt request is |
| * generated whenever a flash memory read collision error is detected (see the |
| * description of FSTAT[RDCOLERR]). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FCNFG_RDCOLLIE field. */ |
| #define FTFA_RD_FCNFG_RDCOLLIE(base) ((FTFA_FCNFG_REG(base) & FTFA_FCNFG_RDCOLLIE_MASK) >> FTFA_FCNFG_RDCOLLIE_SHIFT) |
| #define FTFA_BRD_FCNFG_RDCOLLIE(base) (BME_UBFX8(&FTFA_FCNFG_REG(base), FTFA_FCNFG_RDCOLLIE_SHIFT, FTFA_FCNFG_RDCOLLIE_WIDTH)) |
| |
| /*! @brief Set the RDCOLLIE field to a new value. */ |
| #define FTFA_WR_FCNFG_RDCOLLIE(base, value) (FTFA_RMW_FCNFG(base, FTFA_FCNFG_RDCOLLIE_MASK, FTFA_FCNFG_RDCOLLIE(value))) |
| #define FTFA_BWR_FCNFG_RDCOLLIE(base, value) (BME_BFI8(&FTFA_FCNFG_REG(base), ((uint8_t)(value) << FTFA_FCNFG_RDCOLLIE_SHIFT), FTFA_FCNFG_RDCOLLIE_SHIFT, FTFA_FCNFG_RDCOLLIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register FTFA_FCNFG, field CCIE[7] (RW) |
| * |
| * Controls interrupt generation when a flash command completes. |
| * |
| * Values: |
| * - 0b0 - Command complete interrupt disabled |
| * - 0b1 - Command complete interrupt enabled. An interrupt request is generated |
| * whenever the FSTAT[CCIF] flag is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FCNFG_CCIE field. */ |
| #define FTFA_RD_FCNFG_CCIE(base) ((FTFA_FCNFG_REG(base) & FTFA_FCNFG_CCIE_MASK) >> FTFA_FCNFG_CCIE_SHIFT) |
| #define FTFA_BRD_FCNFG_CCIE(base) (BME_UBFX8(&FTFA_FCNFG_REG(base), FTFA_FCNFG_CCIE_SHIFT, FTFA_FCNFG_CCIE_WIDTH)) |
| |
| /*! @brief Set the CCIE field to a new value. */ |
| #define FTFA_WR_FCNFG_CCIE(base, value) (FTFA_RMW_FCNFG(base, FTFA_FCNFG_CCIE_MASK, FTFA_FCNFG_CCIE(value))) |
| #define FTFA_BWR_FCNFG_CCIE(base, value) (BME_BFI8(&FTFA_FCNFG_REG(base), ((uint8_t)(value) << FTFA_FCNFG_CCIE_SHIFT), FTFA_FCNFG_CCIE_SHIFT, FTFA_FCNFG_CCIE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FSEC - Flash Security Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FSEC - Flash Security Register (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * This read-only register holds all bits associated with the security of the |
| * MCU and flash memory module. During the reset sequence, the register is loaded |
| * with the contents of the flash security byte in the Flash Configuration Field |
| * located in program flash memory. The flash basis for the values is signified by |
| * X in the reset value. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FSEC register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FSEC(base) (FTFA_FSEC_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual FTFA_FSEC bitfields |
| */ |
| |
| /*! |
| * @name Register FTFA_FSEC, field SEC[1:0] (RO) |
| * |
| * Defines the security state of the MCU. In the secure state, the MCU limits |
| * access to flash memory module resources. The limitations are defined per device |
| * and are detailed in the Chip Configuration details. If the flash memory module |
| * is unsecured using backdoor key access, SEC is forced to 10b. |
| * |
| * Values: |
| * - 0b00 - MCU security status is secure. |
| * - 0b01 - MCU security status is secure. |
| * - 0b10 - MCU security status is unsecure. (The standard shipping condition of |
| * the flash memory module is unsecure.) |
| * - 0b11 - MCU security status is secure. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FSEC_SEC field. */ |
| #define FTFA_RD_FSEC_SEC(base) ((FTFA_FSEC_REG(base) & FTFA_FSEC_SEC_MASK) >> FTFA_FSEC_SEC_SHIFT) |
| #define FTFA_BRD_FSEC_SEC(base) (BME_UBFX8(&FTFA_FSEC_REG(base), FTFA_FSEC_SEC_SHIFT, FTFA_FSEC_SEC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register FTFA_FSEC, field FSLACC[3:2] (RO) |
| * |
| * Enables or disables access to the flash memory contents during returned part |
| * failure analysis at Freescale. When SEC is secure and FSLACC is denied, access |
| * to the program flash contents is denied and any failure analysis performed by |
| * Freescale factory test must begin with a full erase to unsecure the part. |
| * When access is granted (SEC is unsecure, or SEC is secure and FSLACC is granted), |
| * Freescale factory testing has visibility of the current flash contents. The |
| * state of the FSLACC bits is only relevant when SEC is set to secure. When SEC |
| * is set to unsecure, the FSLACC setting does not matter. |
| * |
| * Values: |
| * - 0b00 - Freescale factory access granted |
| * - 0b01 - Freescale factory access denied |
| * - 0b10 - Freescale factory access denied |
| * - 0b11 - Freescale factory access granted |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FSEC_FSLACC field. */ |
| #define FTFA_RD_FSEC_FSLACC(base) ((FTFA_FSEC_REG(base) & FTFA_FSEC_FSLACC_MASK) >> FTFA_FSEC_FSLACC_SHIFT) |
| #define FTFA_BRD_FSEC_FSLACC(base) (BME_UBFX8(&FTFA_FSEC_REG(base), FTFA_FSEC_FSLACC_SHIFT, FTFA_FSEC_FSLACC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register FTFA_FSEC, field MEEN[5:4] (RO) |
| * |
| * Enables and disables mass erase capability of the flash memory module. When |
| * SEC is set to unsecure, the MEEN setting does not matter. |
| * |
| * Values: |
| * - 0b00 - Mass erase is enabled |
| * - 0b01 - Mass erase is enabled |
| * - 0b10 - Mass erase is disabled |
| * - 0b11 - Mass erase is enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FSEC_MEEN field. */ |
| #define FTFA_RD_FSEC_MEEN(base) ((FTFA_FSEC_REG(base) & FTFA_FSEC_MEEN_MASK) >> FTFA_FSEC_MEEN_SHIFT) |
| #define FTFA_BRD_FSEC_MEEN(base) (BME_UBFX8(&FTFA_FSEC_REG(base), FTFA_FSEC_MEEN_SHIFT, FTFA_FSEC_MEEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register FTFA_FSEC, field KEYEN[7:6] (RO) |
| * |
| * Enables or disables backdoor key access to the flash memory module. |
| * |
| * Values: |
| * - 0b00 - Backdoor key access disabled |
| * - 0b01 - Backdoor key access disabled (preferred KEYEN state to disable |
| * backdoor key access) |
| * - 0b10 - Backdoor key access enabled |
| * - 0b11 - Backdoor key access disabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the FTFA_FSEC_KEYEN field. */ |
| #define FTFA_RD_FSEC_KEYEN(base) ((FTFA_FSEC_REG(base) & FTFA_FSEC_KEYEN_MASK) >> FTFA_FSEC_KEYEN_SHIFT) |
| #define FTFA_BRD_FSEC_KEYEN(base) (BME_UBFX8(&FTFA_FSEC_REG(base), FTFA_FSEC_KEYEN_SHIFT, FTFA_FSEC_KEYEN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FOPT - Flash Option Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FOPT - Flash Option Register (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The flash option register allows the MCU to customize its operations by |
| * examining the state of these read-only bits, which are loaded from NVM at reset. |
| * The function of the bits is defined in the device's Chip Configuration details. |
| * All bits in the register are read-only . During the reset sequence, the |
| * register is loaded from the flash nonvolatile option byte in the Flash Configuration |
| * Field located in program flash memory. The flash basis for the values is |
| * signified by X in the reset value. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FOPT register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FOPT(base) (FTFA_FOPT_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOB3 - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOB3 - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOB3 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOB3(base) (FTFA_FCCOB3_REG(base)) |
| #define FTFA_WR_FCCOB3(base, value) (FTFA_FCCOB3_REG(base) = (value)) |
| #define FTFA_RMW_FCCOB3(base, mask, value) (FTFA_WR_FCCOB3(base, (FTFA_RD_FCCOB3(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOB3(base, value) (BME_OR8(&FTFA_FCCOB3_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOB3(base, value) (BME_AND8(&FTFA_FCCOB3_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOB3(base, value) (BME_XOR8(&FTFA_FCCOB3_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOB2 - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOB2 - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOB2 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOB2(base) (FTFA_FCCOB2_REG(base)) |
| #define FTFA_WR_FCCOB2(base, value) (FTFA_FCCOB2_REG(base) = (value)) |
| #define FTFA_RMW_FCCOB2(base, mask, value) (FTFA_WR_FCCOB2(base, (FTFA_RD_FCCOB2(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOB2(base, value) (BME_OR8(&FTFA_FCCOB2_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOB2(base, value) (BME_AND8(&FTFA_FCCOB2_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOB2(base, value) (BME_XOR8(&FTFA_FCCOB2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOB1 - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOB1 - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOB1 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOB1(base) (FTFA_FCCOB1_REG(base)) |
| #define FTFA_WR_FCCOB1(base, value) (FTFA_FCCOB1_REG(base) = (value)) |
| #define FTFA_RMW_FCCOB1(base, mask, value) (FTFA_WR_FCCOB1(base, (FTFA_RD_FCCOB1(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOB1(base, value) (BME_OR8(&FTFA_FCCOB1_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOB1(base, value) (BME_AND8(&FTFA_FCCOB1_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOB1(base, value) (BME_XOR8(&FTFA_FCCOB1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOB0 - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOB0 - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOB0 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOB0(base) (FTFA_FCCOB0_REG(base)) |
| #define FTFA_WR_FCCOB0(base, value) (FTFA_FCCOB0_REG(base) = (value)) |
| #define FTFA_RMW_FCCOB0(base, mask, value) (FTFA_WR_FCCOB0(base, (FTFA_RD_FCCOB0(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOB0(base, value) (BME_OR8(&FTFA_FCCOB0_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOB0(base, value) (BME_AND8(&FTFA_FCCOB0_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOB0(base, value) (BME_XOR8(&FTFA_FCCOB0_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOB7 - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOB7 - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOB7 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOB7(base) (FTFA_FCCOB7_REG(base)) |
| #define FTFA_WR_FCCOB7(base, value) (FTFA_FCCOB7_REG(base) = (value)) |
| #define FTFA_RMW_FCCOB7(base, mask, value) (FTFA_WR_FCCOB7(base, (FTFA_RD_FCCOB7(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOB7(base, value) (BME_OR8(&FTFA_FCCOB7_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOB7(base, value) (BME_AND8(&FTFA_FCCOB7_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOB7(base, value) (BME_XOR8(&FTFA_FCCOB7_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOB6 - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOB6 - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOB6 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOB6(base) (FTFA_FCCOB6_REG(base)) |
| #define FTFA_WR_FCCOB6(base, value) (FTFA_FCCOB6_REG(base) = (value)) |
| #define FTFA_RMW_FCCOB6(base, mask, value) (FTFA_WR_FCCOB6(base, (FTFA_RD_FCCOB6(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOB6(base, value) (BME_OR8(&FTFA_FCCOB6_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOB6(base, value) (BME_AND8(&FTFA_FCCOB6_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOB6(base, value) (BME_XOR8(&FTFA_FCCOB6_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOB5 - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOB5 - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOB5 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOB5(base) (FTFA_FCCOB5_REG(base)) |
| #define FTFA_WR_FCCOB5(base, value) (FTFA_FCCOB5_REG(base) = (value)) |
| #define FTFA_RMW_FCCOB5(base, mask, value) (FTFA_WR_FCCOB5(base, (FTFA_RD_FCCOB5(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOB5(base, value) (BME_OR8(&FTFA_FCCOB5_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOB5(base, value) (BME_AND8(&FTFA_FCCOB5_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOB5(base, value) (BME_XOR8(&FTFA_FCCOB5_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOB4 - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOB4 - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOB4 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOB4(base) (FTFA_FCCOB4_REG(base)) |
| #define FTFA_WR_FCCOB4(base, value) (FTFA_FCCOB4_REG(base) = (value)) |
| #define FTFA_RMW_FCCOB4(base, mask, value) (FTFA_WR_FCCOB4(base, (FTFA_RD_FCCOB4(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOB4(base, value) (BME_OR8(&FTFA_FCCOB4_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOB4(base, value) (BME_AND8(&FTFA_FCCOB4_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOB4(base, value) (BME_XOR8(&FTFA_FCCOB4_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOBB - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOBB - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOBB register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOBB(base) (FTFA_FCCOBB_REG(base)) |
| #define FTFA_WR_FCCOBB(base, value) (FTFA_FCCOBB_REG(base) = (value)) |
| #define FTFA_RMW_FCCOBB(base, mask, value) (FTFA_WR_FCCOBB(base, (FTFA_RD_FCCOBB(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOBB(base, value) (BME_OR8(&FTFA_FCCOBB_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOBB(base, value) (BME_AND8(&FTFA_FCCOBB_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOBB(base, value) (BME_XOR8(&FTFA_FCCOBB_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOBA - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOBA - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOBA register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOBA(base) (FTFA_FCCOBA_REG(base)) |
| #define FTFA_WR_FCCOBA(base, value) (FTFA_FCCOBA_REG(base) = (value)) |
| #define FTFA_RMW_FCCOBA(base, mask, value) (FTFA_WR_FCCOBA(base, (FTFA_RD_FCCOBA(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOBA(base, value) (BME_OR8(&FTFA_FCCOBA_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOBA(base, value) (BME_AND8(&FTFA_FCCOBA_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOBA(base, value) (BME_XOR8(&FTFA_FCCOBA_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOB9 - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOB9 - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOB9 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOB9(base) (FTFA_FCCOB9_REG(base)) |
| #define FTFA_WR_FCCOB9(base, value) (FTFA_FCCOB9_REG(base) = (value)) |
| #define FTFA_RMW_FCCOB9(base, mask, value) (FTFA_WR_FCCOB9(base, (FTFA_RD_FCCOB9(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOB9(base, value) (BME_OR8(&FTFA_FCCOB9_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOB9(base, value) (BME_AND8(&FTFA_FCCOB9_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOB9(base, value) (BME_XOR8(&FTFA_FCCOB9_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FCCOB8 - Flash Common Command Object Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FCCOB8 - Flash Common Command Object Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FCCOB register group provides 12 bytes for command codes and parameters. |
| * The individual bytes within the set append a 0-B hex identifier to the FCCOB |
| * register name: FCCOB0, FCCOB1, ..., FCCOBB. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FCCOB8 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FCCOB8(base) (FTFA_FCCOB8_REG(base)) |
| #define FTFA_WR_FCCOB8(base, value) (FTFA_FCCOB8_REG(base) = (value)) |
| #define FTFA_RMW_FCCOB8(base, mask, value) (FTFA_WR_FCCOB8(base, (FTFA_RD_FCCOB8(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FCCOB8(base, value) (BME_OR8(&FTFA_FCCOB8_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FCCOB8(base, value) (BME_AND8(&FTFA_FCCOB8_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FCCOB8(base, value) (BME_XOR8(&FTFA_FCCOB8_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FPROT3 - Program Flash Protection Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FPROT3 - Program Flash Protection Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FPROT registers define which program flash regions are protected from |
| * program and erase operations. Protected flash regions cannot have their content |
| * changed; that is, these regions cannot be programmed and cannot be erased by |
| * any flash command. Unprotected regions can be changed by program and erase |
| * operations. The four FPROT registers allow up to 32 protectable regions. Each bit |
| * protects a 1/32 region of the program flash memory except for memory |
| * configurations with less than 32 KB of program flash where each assigned bit protects 1 |
| * KB . For configurations with 24 KB of program flash memory or less, FPROT0 is |
| * not used. For configurations with 16 KB of program flash memory or less, |
| * FPROT1 is not used. For configurations with 8 KB of program flash memory, FPROT2 is |
| * not used. For configurations with 24 KB of program flash memory or less, |
| * FPROT0 is not used. For configurations with 16 KB of program flash memory or less, |
| * FPROT1 is not used. For configurations with 8 KB of program flash memory, |
| * FPROT2 is not used. The bitfields are defined in each register as follows: |
| * Program flash protection register Program flash protection bits FPROT0 PROT[31:24] |
| * FPROT1 PROT[23:16] FPROT2 PROT[15:8] FPROT3 PROT[7:0] During the reset |
| * sequence, the FPROT registers are loaded with the contents of the program flash |
| * protection bytes in the Flash Configuration Field as indicated in the following |
| * table. Program flash protection register Flash Configuration Field offset address |
| * FPROT0 0x000B FPROT1 0x000A FPROT2 0x0009 FPROT3 0x0008 To change the program |
| * flash protection that is loaded during the reset sequence, unprotect the |
| * sector of program flash memory that contains the Flash Configuration Field. Then, |
| * reprogram the program flash protection byte. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FPROT3 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FPROT3(base) (FTFA_FPROT3_REG(base)) |
| #define FTFA_WR_FPROT3(base, value) (FTFA_FPROT3_REG(base) = (value)) |
| #define FTFA_RMW_FPROT3(base, mask, value) (FTFA_WR_FPROT3(base, (FTFA_RD_FPROT3(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FPROT3(base, value) (BME_OR8(&FTFA_FPROT3_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FPROT3(base, value) (BME_AND8(&FTFA_FPROT3_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FPROT3(base, value) (BME_XOR8(&FTFA_FPROT3_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FPROT2 - Program Flash Protection Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FPROT2 - Program Flash Protection Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FPROT registers define which program flash regions are protected from |
| * program and erase operations. Protected flash regions cannot have their content |
| * changed; that is, these regions cannot be programmed and cannot be erased by |
| * any flash command. Unprotected regions can be changed by program and erase |
| * operations. The four FPROT registers allow up to 32 protectable regions. Each bit |
| * protects a 1/32 region of the program flash memory except for memory |
| * configurations with less than 32 KB of program flash where each assigned bit protects 1 |
| * KB . For configurations with 24 KB of program flash memory or less, FPROT0 is |
| * not used. For configurations with 16 KB of program flash memory or less, |
| * FPROT1 is not used. For configurations with 8 KB of program flash memory, FPROT2 is |
| * not used. For configurations with 24 KB of program flash memory or less, |
| * FPROT0 is not used. For configurations with 16 KB of program flash memory or less, |
| * FPROT1 is not used. For configurations with 8 KB of program flash memory, |
| * FPROT2 is not used. The bitfields are defined in each register as follows: |
| * Program flash protection register Program flash protection bits FPROT0 PROT[31:24] |
| * FPROT1 PROT[23:16] FPROT2 PROT[15:8] FPROT3 PROT[7:0] During the reset |
| * sequence, the FPROT registers are loaded with the contents of the program flash |
| * protection bytes in the Flash Configuration Field as indicated in the following |
| * table. Program flash protection register Flash Configuration Field offset address |
| * FPROT0 0x000B FPROT1 0x000A FPROT2 0x0009 FPROT3 0x0008 To change the program |
| * flash protection that is loaded during the reset sequence, unprotect the |
| * sector of program flash memory that contains the Flash Configuration Field. Then, |
| * reprogram the program flash protection byte. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FPROT2 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FPROT2(base) (FTFA_FPROT2_REG(base)) |
| #define FTFA_WR_FPROT2(base, value) (FTFA_FPROT2_REG(base) = (value)) |
| #define FTFA_RMW_FPROT2(base, mask, value) (FTFA_WR_FPROT2(base, (FTFA_RD_FPROT2(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FPROT2(base, value) (BME_OR8(&FTFA_FPROT2_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FPROT2(base, value) (BME_AND8(&FTFA_FPROT2_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FPROT2(base, value) (BME_XOR8(&FTFA_FPROT2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FPROT1 - Program Flash Protection Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FPROT1 - Program Flash Protection Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FPROT registers define which program flash regions are protected from |
| * program and erase operations. Protected flash regions cannot have their content |
| * changed; that is, these regions cannot be programmed and cannot be erased by |
| * any flash command. Unprotected regions can be changed by program and erase |
| * operations. The four FPROT registers allow up to 32 protectable regions. Each bit |
| * protects a 1/32 region of the program flash memory except for memory |
| * configurations with less than 32 KB of program flash where each assigned bit protects 1 |
| * KB . For configurations with 24 KB of program flash memory or less, FPROT0 is |
| * not used. For configurations with 16 KB of program flash memory or less, |
| * FPROT1 is not used. For configurations with 8 KB of program flash memory, FPROT2 is |
| * not used. For configurations with 24 KB of program flash memory or less, |
| * FPROT0 is not used. For configurations with 16 KB of program flash memory or less, |
| * FPROT1 is not used. For configurations with 8 KB of program flash memory, |
| * FPROT2 is not used. The bitfields are defined in each register as follows: |
| * Program flash protection register Program flash protection bits FPROT0 PROT[31:24] |
| * FPROT1 PROT[23:16] FPROT2 PROT[15:8] FPROT3 PROT[7:0] During the reset |
| * sequence, the FPROT registers are loaded with the contents of the program flash |
| * protection bytes in the Flash Configuration Field as indicated in the following |
| * table. Program flash protection register Flash Configuration Field offset address |
| * FPROT0 0x000B FPROT1 0x000A FPROT2 0x0009 FPROT3 0x0008 To change the program |
| * flash protection that is loaded during the reset sequence, unprotect the |
| * sector of program flash memory that contains the Flash Configuration Field. Then, |
| * reprogram the program flash protection byte. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FPROT1 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FPROT1(base) (FTFA_FPROT1_REG(base)) |
| #define FTFA_WR_FPROT1(base, value) (FTFA_FPROT1_REG(base) = (value)) |
| #define FTFA_RMW_FPROT1(base, mask, value) (FTFA_WR_FPROT1(base, (FTFA_RD_FPROT1(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FPROT1(base, value) (BME_OR8(&FTFA_FPROT1_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FPROT1(base, value) (BME_AND8(&FTFA_FPROT1_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FPROT1(base, value) (BME_XOR8(&FTFA_FPROT1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FPROT0 - Program Flash Protection Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FPROT0 - Program Flash Protection Registers (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The FPROT registers define which program flash regions are protected from |
| * program and erase operations. Protected flash regions cannot have their content |
| * changed; that is, these regions cannot be programmed and cannot be erased by |
| * any flash command. Unprotected regions can be changed by program and erase |
| * operations. The four FPROT registers allow up to 32 protectable regions. Each bit |
| * protects a 1/32 region of the program flash memory except for memory |
| * configurations with less than 32 KB of program flash where each assigned bit protects 1 |
| * KB . For configurations with 24 KB of program flash memory or less, FPROT0 is |
| * not used. For configurations with 16 KB of program flash memory or less, |
| * FPROT1 is not used. For configurations with 8 KB of program flash memory, FPROT2 is |
| * not used. For configurations with 24 KB of program flash memory or less, |
| * FPROT0 is not used. For configurations with 16 KB of program flash memory or less, |
| * FPROT1 is not used. For configurations with 8 KB of program flash memory, |
| * FPROT2 is not used. The bitfields are defined in each register as follows: |
| * Program flash protection register Program flash protection bits FPROT0 PROT[31:24] |
| * FPROT1 PROT[23:16] FPROT2 PROT[15:8] FPROT3 PROT[7:0] During the reset |
| * sequence, the FPROT registers are loaded with the contents of the program flash |
| * protection bytes in the Flash Configuration Field as indicated in the following |
| * table. Program flash protection register Flash Configuration Field offset address |
| * FPROT0 0x000B FPROT1 0x000A FPROT2 0x0009 FPROT3 0x0008 To change the program |
| * flash protection that is loaded during the reset sequence, unprotect the |
| * sector of program flash memory that contains the Flash Configuration Field. Then, |
| * reprogram the program flash protection byte. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FPROT0 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FPROT0(base) (FTFA_FPROT0_REG(base)) |
| #define FTFA_WR_FPROT0(base, value) (FTFA_FPROT0_REG(base) = (value)) |
| #define FTFA_RMW_FPROT0(base, mask, value) (FTFA_WR_FPROT0(base, (FTFA_RD_FPROT0(base) & ~(mask)) | (value))) |
| #define FTFA_SET_FPROT0(base, value) (BME_OR8(&FTFA_FPROT0_REG(base), (uint8_t)(value))) |
| #define FTFA_CLR_FPROT0(base, value) (BME_AND8(&FTFA_FPROT0_REG(base), (uint8_t)(~(value)))) |
| #define FTFA_TOG_FPROT0(base, value) (BME_XOR8(&FTFA_FPROT0_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_XACCH3 - Execute-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_XACCH3 - Execute-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The XACC registers define which program flash segments are restricted to data |
| * read or execute only or both data and instruction fetches. The eight XACC |
| * registers allow up to 64 restricted segments of equal memory size. Execute-only |
| * access register Program flash execute-only access bits XACCH0 XA[63:56] XACCH1 |
| * XA[55:48] XACCH2 XA[47:40] XACCH3 XA[39:32] XACCL0 XA[31:24] XACCL1 XA[23:16] |
| * XACCL2 XA[15:8] XACCL3 XA[7:0] During the reset sequence, the XACC registers |
| * are loaded with the logical AND of Program Flash IFR addresses A and B as |
| * indicated in the following table. Execute-only access register Program Flash IFR |
| * address A Program Flash IFR address B XACCH0 0xA3 0xAB XACCH1 0xA2 0xAA XACCH2 |
| * 0xA1 0xA9 XACCH3 0xA0 0xA8 XACCL0 0xA7 0xAF XACCL1 0xA6 0xAE XACCL2 0xA5 0xAD |
| * XACCL3 0xA4 0xAC Use the Program Once command to program the execute-only |
| * access control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_XACCH3 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_XACCH3(base) (FTFA_XACCH3_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_XACCH2 - Execute-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_XACCH2 - Execute-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The XACC registers define which program flash segments are restricted to data |
| * read or execute only or both data and instruction fetches. The eight XACC |
| * registers allow up to 64 restricted segments of equal memory size. Execute-only |
| * access register Program flash execute-only access bits XACCH0 XA[63:56] XACCH1 |
| * XA[55:48] XACCH2 XA[47:40] XACCH3 XA[39:32] XACCL0 XA[31:24] XACCL1 XA[23:16] |
| * XACCL2 XA[15:8] XACCL3 XA[7:0] During the reset sequence, the XACC registers |
| * are loaded with the logical AND of Program Flash IFR addresses A and B as |
| * indicated in the following table. Execute-only access register Program Flash IFR |
| * address A Program Flash IFR address B XACCH0 0xA3 0xAB XACCH1 0xA2 0xAA XACCH2 |
| * 0xA1 0xA9 XACCH3 0xA0 0xA8 XACCL0 0xA7 0xAF XACCL1 0xA6 0xAE XACCL2 0xA5 0xAD |
| * XACCL3 0xA4 0xAC Use the Program Once command to program the execute-only |
| * access control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_XACCH2 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_XACCH2(base) (FTFA_XACCH2_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_XACCH1 - Execute-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_XACCH1 - Execute-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The XACC registers define which program flash segments are restricted to data |
| * read or execute only or both data and instruction fetches. The eight XACC |
| * registers allow up to 64 restricted segments of equal memory size. Execute-only |
| * access register Program flash execute-only access bits XACCH0 XA[63:56] XACCH1 |
| * XA[55:48] XACCH2 XA[47:40] XACCH3 XA[39:32] XACCL0 XA[31:24] XACCL1 XA[23:16] |
| * XACCL2 XA[15:8] XACCL3 XA[7:0] During the reset sequence, the XACC registers |
| * are loaded with the logical AND of Program Flash IFR addresses A and B as |
| * indicated in the following table. Execute-only access register Program Flash IFR |
| * address A Program Flash IFR address B XACCH0 0xA3 0xAB XACCH1 0xA2 0xAA XACCH2 |
| * 0xA1 0xA9 XACCH3 0xA0 0xA8 XACCL0 0xA7 0xAF XACCL1 0xA6 0xAE XACCL2 0xA5 0xAD |
| * XACCL3 0xA4 0xAC Use the Program Once command to program the execute-only |
| * access control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_XACCH1 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_XACCH1(base) (FTFA_XACCH1_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_XACCH0 - Execute-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_XACCH0 - Execute-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The XACC registers define which program flash segments are restricted to data |
| * read or execute only or both data and instruction fetches. The eight XACC |
| * registers allow up to 64 restricted segments of equal memory size. Execute-only |
| * access register Program flash execute-only access bits XACCH0 XA[63:56] XACCH1 |
| * XA[55:48] XACCH2 XA[47:40] XACCH3 XA[39:32] XACCL0 XA[31:24] XACCL1 XA[23:16] |
| * XACCL2 XA[15:8] XACCL3 XA[7:0] During the reset sequence, the XACC registers |
| * are loaded with the logical AND of Program Flash IFR addresses A and B as |
| * indicated in the following table. Execute-only access register Program Flash IFR |
| * address A Program Flash IFR address B XACCH0 0xA3 0xAB XACCH1 0xA2 0xAA XACCH2 |
| * 0xA1 0xA9 XACCH3 0xA0 0xA8 XACCL0 0xA7 0xAF XACCL1 0xA6 0xAE XACCL2 0xA5 0xAD |
| * XACCL3 0xA4 0xAC Use the Program Once command to program the execute-only |
| * access control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_XACCH0 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_XACCH0(base) (FTFA_XACCH0_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_XACCL3 - Execute-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_XACCL3 - Execute-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The XACC registers define which program flash segments are restricted to data |
| * read or execute only or both data and instruction fetches. The eight XACC |
| * registers allow up to 64 restricted segments of equal memory size. Execute-only |
| * access register Program flash execute-only access bits XACCH0 XA[63:56] XACCH1 |
| * XA[55:48] XACCH2 XA[47:40] XACCH3 XA[39:32] XACCL0 XA[31:24] XACCL1 XA[23:16] |
| * XACCL2 XA[15:8] XACCL3 XA[7:0] During the reset sequence, the XACC registers |
| * are loaded with the logical AND of Program Flash IFR addresses A and B as |
| * indicated in the following table. Execute-only access register Program Flash IFR |
| * address A Program Flash IFR address B XACCH0 0xA3 0xAB XACCH1 0xA2 0xAA XACCH2 |
| * 0xA1 0xA9 XACCH3 0xA0 0xA8 XACCL0 0xA7 0xAF XACCL1 0xA6 0xAE XACCL2 0xA5 0xAD |
| * XACCL3 0xA4 0xAC Use the Program Once command to program the execute-only |
| * access control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_XACCL3 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_XACCL3(base) (FTFA_XACCL3_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_XACCL2 - Execute-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_XACCL2 - Execute-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The XACC registers define which program flash segments are restricted to data |
| * read or execute only or both data and instruction fetches. The eight XACC |
| * registers allow up to 64 restricted segments of equal memory size. Execute-only |
| * access register Program flash execute-only access bits XACCH0 XA[63:56] XACCH1 |
| * XA[55:48] XACCH2 XA[47:40] XACCH3 XA[39:32] XACCL0 XA[31:24] XACCL1 XA[23:16] |
| * XACCL2 XA[15:8] XACCL3 XA[7:0] During the reset sequence, the XACC registers |
| * are loaded with the logical AND of Program Flash IFR addresses A and B as |
| * indicated in the following table. Execute-only access register Program Flash IFR |
| * address A Program Flash IFR address B XACCH0 0xA3 0xAB XACCH1 0xA2 0xAA XACCH2 |
| * 0xA1 0xA9 XACCH3 0xA0 0xA8 XACCL0 0xA7 0xAF XACCL1 0xA6 0xAE XACCL2 0xA5 0xAD |
| * XACCL3 0xA4 0xAC Use the Program Once command to program the execute-only |
| * access control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_XACCL2 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_XACCL2(base) (FTFA_XACCL2_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_XACCL1 - Execute-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_XACCL1 - Execute-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The XACC registers define which program flash segments are restricted to data |
| * read or execute only or both data and instruction fetches. The eight XACC |
| * registers allow up to 64 restricted segments of equal memory size. Execute-only |
| * access register Program flash execute-only access bits XACCH0 XA[63:56] XACCH1 |
| * XA[55:48] XACCH2 XA[47:40] XACCH3 XA[39:32] XACCL0 XA[31:24] XACCL1 XA[23:16] |
| * XACCL2 XA[15:8] XACCL3 XA[7:0] During the reset sequence, the XACC registers |
| * are loaded with the logical AND of Program Flash IFR addresses A and B as |
| * indicated in the following table. Execute-only access register Program Flash IFR |
| * address A Program Flash IFR address B XACCH0 0xA3 0xAB XACCH1 0xA2 0xAA XACCH2 |
| * 0xA1 0xA9 XACCH3 0xA0 0xA8 XACCL0 0xA7 0xAF XACCL1 0xA6 0xAE XACCL2 0xA5 0xAD |
| * XACCL3 0xA4 0xAC Use the Program Once command to program the execute-only |
| * access control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_XACCL1 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_XACCL1(base) (FTFA_XACCL1_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_XACCL0 - Execute-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_XACCL0 - Execute-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The XACC registers define which program flash segments are restricted to data |
| * read or execute only or both data and instruction fetches. The eight XACC |
| * registers allow up to 64 restricted segments of equal memory size. Execute-only |
| * access register Program flash execute-only access bits XACCH0 XA[63:56] XACCH1 |
| * XA[55:48] XACCH2 XA[47:40] XACCH3 XA[39:32] XACCL0 XA[31:24] XACCL1 XA[23:16] |
| * XACCL2 XA[15:8] XACCL3 XA[7:0] During the reset sequence, the XACC registers |
| * are loaded with the logical AND of Program Flash IFR addresses A and B as |
| * indicated in the following table. Execute-only access register Program Flash IFR |
| * address A Program Flash IFR address B XACCH0 0xA3 0xAB XACCH1 0xA2 0xAA XACCH2 |
| * 0xA1 0xA9 XACCH3 0xA0 0xA8 XACCL0 0xA7 0xAF XACCL1 0xA6 0xAE XACCL2 0xA5 0xAD |
| * XACCL3 0xA4 0xAC Use the Program Once command to program the execute-only |
| * access control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_XACCL0 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_XACCL0(base) (FTFA_XACCL0_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_SACCH3 - Supervisor-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_SACCH3 - Supervisor-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The SACC registers define which program flash segments are restricted to |
| * supervisor only or user and supervisor access. The eight SACC registers allow up |
| * to 64 restricted segments of equal memory size. Supervisor-only access register |
| * Program flash supervisor-only access bits SACCH0 SA[63:56] SACCH1 SA[55:48] |
| * SACCH2 SA[47:40] SACCH3 SA[39:32] SACCL0 SA[31:24] SACCL1 SA[23:16] SACCL2 |
| * SA[15:8] SACCL3 SA[7:0] During the reset sequence, the SACC registers are loaded |
| * with the logical AND of Program Flash IFR addresses A and B as indicated in the |
| * following table. Supervisor-only access register Program Flash IFR address A |
| * Program Flash IFR address B SACCH0 0xB3 0xBB SACCH1 0xB2 0xBA SACCH2 0xB1 0xB9 |
| * SACCH3 0xB0 0xB8 SACCL0 0xB7 0xBF SACCL1 0xB6 0xBE SACCL2 0xB5 0xBD SACCL3 |
| * 0xB4 0xBC Use the Program Once command to program the supervisor-only access |
| * control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_SACCH3 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_SACCH3(base) (FTFA_SACCH3_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_SACCH2 - Supervisor-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_SACCH2 - Supervisor-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The SACC registers define which program flash segments are restricted to |
| * supervisor only or user and supervisor access. The eight SACC registers allow up |
| * to 64 restricted segments of equal memory size. Supervisor-only access register |
| * Program flash supervisor-only access bits SACCH0 SA[63:56] SACCH1 SA[55:48] |
| * SACCH2 SA[47:40] SACCH3 SA[39:32] SACCL0 SA[31:24] SACCL1 SA[23:16] SACCL2 |
| * SA[15:8] SACCL3 SA[7:0] During the reset sequence, the SACC registers are loaded |
| * with the logical AND of Program Flash IFR addresses A and B as indicated in the |
| * following table. Supervisor-only access register Program Flash IFR address A |
| * Program Flash IFR address B SACCH0 0xB3 0xBB SACCH1 0xB2 0xBA SACCH2 0xB1 0xB9 |
| * SACCH3 0xB0 0xB8 SACCL0 0xB7 0xBF SACCL1 0xB6 0xBE SACCL2 0xB5 0xBD SACCL3 |
| * 0xB4 0xBC Use the Program Once command to program the supervisor-only access |
| * control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_SACCH2 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_SACCH2(base) (FTFA_SACCH2_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_SACCH1 - Supervisor-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_SACCH1 - Supervisor-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The SACC registers define which program flash segments are restricted to |
| * supervisor only or user and supervisor access. The eight SACC registers allow up |
| * to 64 restricted segments of equal memory size. Supervisor-only access register |
| * Program flash supervisor-only access bits SACCH0 SA[63:56] SACCH1 SA[55:48] |
| * SACCH2 SA[47:40] SACCH3 SA[39:32] SACCL0 SA[31:24] SACCL1 SA[23:16] SACCL2 |
| * SA[15:8] SACCL3 SA[7:0] During the reset sequence, the SACC registers are loaded |
| * with the logical AND of Program Flash IFR addresses A and B as indicated in the |
| * following table. Supervisor-only access register Program Flash IFR address A |
| * Program Flash IFR address B SACCH0 0xB3 0xBB SACCH1 0xB2 0xBA SACCH2 0xB1 0xB9 |
| * SACCH3 0xB0 0xB8 SACCL0 0xB7 0xBF SACCL1 0xB6 0xBE SACCL2 0xB5 0xBD SACCL3 |
| * 0xB4 0xBC Use the Program Once command to program the supervisor-only access |
| * control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_SACCH1 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_SACCH1(base) (FTFA_SACCH1_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_SACCH0 - Supervisor-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_SACCH0 - Supervisor-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The SACC registers define which program flash segments are restricted to |
| * supervisor only or user and supervisor access. The eight SACC registers allow up |
| * to 64 restricted segments of equal memory size. Supervisor-only access register |
| * Program flash supervisor-only access bits SACCH0 SA[63:56] SACCH1 SA[55:48] |
| * SACCH2 SA[47:40] SACCH3 SA[39:32] SACCL0 SA[31:24] SACCL1 SA[23:16] SACCL2 |
| * SA[15:8] SACCL3 SA[7:0] During the reset sequence, the SACC registers are loaded |
| * with the logical AND of Program Flash IFR addresses A and B as indicated in the |
| * following table. Supervisor-only access register Program Flash IFR address A |
| * Program Flash IFR address B SACCH0 0xB3 0xBB SACCH1 0xB2 0xBA SACCH2 0xB1 0xB9 |
| * SACCH3 0xB0 0xB8 SACCL0 0xB7 0xBF SACCL1 0xB6 0xBE SACCL2 0xB5 0xBD SACCL3 |
| * 0xB4 0xBC Use the Program Once command to program the supervisor-only access |
| * control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_SACCH0 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_SACCH0(base) (FTFA_SACCH0_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_SACCL3 - Supervisor-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_SACCL3 - Supervisor-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The SACC registers define which program flash segments are restricted to |
| * supervisor only or user and supervisor access. The eight SACC registers allow up |
| * to 64 restricted segments of equal memory size. Supervisor-only access register |
| * Program flash supervisor-only access bits SACCH0 SA[63:56] SACCH1 SA[55:48] |
| * SACCH2 SA[47:40] SACCH3 SA[39:32] SACCL0 SA[31:24] SACCL1 SA[23:16] SACCL2 |
| * SA[15:8] SACCL3 SA[7:0] During the reset sequence, the SACC registers are loaded |
| * with the logical AND of Program Flash IFR addresses A and B as indicated in the |
| * following table. Supervisor-only access register Program Flash IFR address A |
| * Program Flash IFR address B SACCH0 0xB3 0xBB SACCH1 0xB2 0xBA SACCH2 0xB1 0xB9 |
| * SACCH3 0xB0 0xB8 SACCL0 0xB7 0xBF SACCL1 0xB6 0xBE SACCL2 0xB5 0xBD SACCL3 |
| * 0xB4 0xBC Use the Program Once command to program the supervisor-only access |
| * control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_SACCL3 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_SACCL3(base) (FTFA_SACCL3_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_SACCL2 - Supervisor-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_SACCL2 - Supervisor-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The SACC registers define which program flash segments are restricted to |
| * supervisor only or user and supervisor access. The eight SACC registers allow up |
| * to 64 restricted segments of equal memory size. Supervisor-only access register |
| * Program flash supervisor-only access bits SACCH0 SA[63:56] SACCH1 SA[55:48] |
| * SACCH2 SA[47:40] SACCH3 SA[39:32] SACCL0 SA[31:24] SACCL1 SA[23:16] SACCL2 |
| * SA[15:8] SACCL3 SA[7:0] During the reset sequence, the SACC registers are loaded |
| * with the logical AND of Program Flash IFR addresses A and B as indicated in the |
| * following table. Supervisor-only access register Program Flash IFR address A |
| * Program Flash IFR address B SACCH0 0xB3 0xBB SACCH1 0xB2 0xBA SACCH2 0xB1 0xB9 |
| * SACCH3 0xB0 0xB8 SACCL0 0xB7 0xBF SACCL1 0xB6 0xBE SACCL2 0xB5 0xBD SACCL3 |
| * 0xB4 0xBC Use the Program Once command to program the supervisor-only access |
| * control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_SACCL2 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_SACCL2(base) (FTFA_SACCL2_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_SACCL1 - Supervisor-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_SACCL1 - Supervisor-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The SACC registers define which program flash segments are restricted to |
| * supervisor only or user and supervisor access. The eight SACC registers allow up |
| * to 64 restricted segments of equal memory size. Supervisor-only access register |
| * Program flash supervisor-only access bits SACCH0 SA[63:56] SACCH1 SA[55:48] |
| * SACCH2 SA[47:40] SACCH3 SA[39:32] SACCL0 SA[31:24] SACCL1 SA[23:16] SACCL2 |
| * SA[15:8] SACCL3 SA[7:0] During the reset sequence, the SACC registers are loaded |
| * with the logical AND of Program Flash IFR addresses A and B as indicated in the |
| * following table. Supervisor-only access register Program Flash IFR address A |
| * Program Flash IFR address B SACCH0 0xB3 0xBB SACCH1 0xB2 0xBA SACCH2 0xB1 0xB9 |
| * SACCH3 0xB0 0xB8 SACCL0 0xB7 0xBF SACCL1 0xB6 0xBE SACCL2 0xB5 0xBD SACCL3 |
| * 0xB4 0xBC Use the Program Once command to program the supervisor-only access |
| * control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_SACCL1 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_SACCL1(base) (FTFA_SACCL1_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_SACCL0 - Supervisor-only Access Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_SACCL0 - Supervisor-only Access Registers (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The SACC registers define which program flash segments are restricted to |
| * supervisor only or user and supervisor access. The eight SACC registers allow up |
| * to 64 restricted segments of equal memory size. Supervisor-only access register |
| * Program flash supervisor-only access bits SACCH0 SA[63:56] SACCH1 SA[55:48] |
| * SACCH2 SA[47:40] SACCH3 SA[39:32] SACCL0 SA[31:24] SACCL1 SA[23:16] SACCL2 |
| * SA[15:8] SACCL3 SA[7:0] During the reset sequence, the SACC registers are loaded |
| * with the logical AND of Program Flash IFR addresses A and B as indicated in the |
| * following table. Supervisor-only access register Program Flash IFR address A |
| * Program Flash IFR address B SACCH0 0xB3 0xBB SACCH1 0xB2 0xBA SACCH2 0xB1 0xB9 |
| * SACCH3 0xB0 0xB8 SACCL0 0xB7 0xBF SACCL1 0xB6 0xBE SACCL2 0xB5 0xBD SACCL3 |
| * 0xB4 0xBC Use the Program Once command to program the supervisor-only access |
| * control fields that are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_SACCL0 register |
| */ |
| /*@{*/ |
| #define FTFA_RD_SACCL0(base) (FTFA_SACCL0_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FACSS - Flash Access Segment Size Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FACSS - Flash Access Segment Size Register (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The flash access segment size register determines which bits in the address |
| * are used to index into the SACC and XACC bitmaps to get the appropriate |
| * permission flags. All bits in the register are read-only. The contents of this |
| * register are loaded during the reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FACSS register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FACSS(base) (FTFA_FACSS_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * FTFA_FACSN - Flash Access Segment Number Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief FTFA_FACSN - Flash Access Segment Number Register (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * The flash access segment number register provides the number of program flash |
| * segments that are available for XACC and SACC permissions. All bits in the |
| * register are read-only. The contents of this register are loaded during the |
| * reset sequence. |
| */ |
| /*! |
| * @name Constants and macros for entire FTFA_FACSN register |
| */ |
| /*@{*/ |
| #define FTFA_RD_FACSN(base) (FTFA_FACSN_REG(base)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 GPIO |
| * |
| * General Purpose Input/Output |
| * |
| * Registers defined in this header file: |
| * - GPIO_PDOR - Port Data Output Register |
| * - GPIO_PSOR - Port Set Output Register |
| * - GPIO_PCOR - Port Clear Output Register |
| * - GPIO_PTOR - Port Toggle Output Register |
| * - GPIO_PDIR - Port Data Input Register |
| * - GPIO_PDDR - Port Data Direction Register |
| */ |
| |
| #define GPIO_INSTANCE_COUNT (3U) /*!< Number of instances of the GPIO module. */ |
| #define GPIOA_IDX (0U) /*!< Instance number for GPIOA. */ |
| #define GPIOB_IDX (1U) /*!< Instance number for GPIOB. */ |
| #define GPIOC_IDX (2U) /*!< Instance number for GPIOC. */ |
| |
| /******************************************************************************* |
| * GPIO_PDOR - Port Data Output Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief GPIO_PDOR - Port Data Output Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register configures the logic levels that are driven on each |
| * general-purpose output pins. Do not modify pin configuration registers associated with |
| * pins not available in your selected package. All unbonded pins not available in |
| * your package will default to DISABLE state for lowest power consumption. |
| */ |
| /*! |
| * @name Constants and macros for entire GPIO_PDOR register |
| */ |
| /*@{*/ |
| #define GPIO_RD_PDOR(base) (GPIO_PDOR_REG(base)) |
| #define GPIO_WR_PDOR(base, value) (GPIO_PDOR_REG(base) = (value)) |
| #define GPIO_RMW_PDOR(base, mask, value) (GPIO_WR_PDOR(base, (GPIO_RD_PDOR(base) & ~(mask)) | (value))) |
| #define GPIO_SET_PDOR(base, value) (BME_OR32(&GPIO_PDOR_REG(base), (uint32_t)(value))) |
| #define GPIO_CLR_PDOR(base, value) (BME_AND32(&GPIO_PDOR_REG(base), (uint32_t)(~(value)))) |
| #define GPIO_TOG_PDOR(base, value) (BME_XOR32(&GPIO_PDOR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * GPIO_PSOR - Port Set Output Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief GPIO_PSOR - Port Set Output Register (WORZ) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register configures whether to set the fields of the PDOR. |
| */ |
| /*! |
| * @name Constants and macros for entire GPIO_PSOR register |
| */ |
| /*@{*/ |
| #define GPIO_RD_PSOR(base) (GPIO_PSOR_REG(base)) |
| #define GPIO_WR_PSOR(base, value) (GPIO_PSOR_REG(base) = (value)) |
| #define GPIO_RMW_PSOR(base, mask, value) (GPIO_WR_PSOR(base, (GPIO_RD_PSOR(base) & ~(mask)) | (value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * GPIO_PCOR - Port Clear Output Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief GPIO_PCOR - Port Clear Output Register (WORZ) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register configures whether to clear the fields of PDOR. |
| */ |
| /*! |
| * @name Constants and macros for entire GPIO_PCOR register |
| */ |
| /*@{*/ |
| #define GPIO_RD_PCOR(base) (GPIO_PCOR_REG(base)) |
| #define GPIO_WR_PCOR(base, value) (GPIO_PCOR_REG(base) = (value)) |
| #define GPIO_RMW_PCOR(base, mask, value) (GPIO_WR_PCOR(base, (GPIO_RD_PCOR(base) & ~(mask)) | (value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * GPIO_PTOR - Port Toggle Output Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief GPIO_PTOR - Port Toggle Output Register (WORZ) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire GPIO_PTOR register |
| */ |
| /*@{*/ |
| #define GPIO_RD_PTOR(base) (GPIO_PTOR_REG(base)) |
| #define GPIO_WR_PTOR(base, value) (GPIO_PTOR_REG(base) = (value)) |
| #define GPIO_RMW_PTOR(base, mask, value) (GPIO_WR_PTOR(base, (GPIO_RD_PTOR(base) & ~(mask)) | (value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * GPIO_PDIR - Port Data Input Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief GPIO_PDIR - Port Data Input Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Do not modify pin configuration registers associated with pins not available |
| * in your selected package. All unbonded pins not available in your package will |
| * default to DISABLE state for lowest power consumption. |
| */ |
| /*! |
| * @name Constants and macros for entire GPIO_PDIR register |
| */ |
| /*@{*/ |
| #define GPIO_RD_PDIR(base) (GPIO_PDIR_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * GPIO_PDDR - Port Data Direction Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief GPIO_PDDR - Port Data Direction Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The PDDR configures the individual port pins for input or output. |
| */ |
| /*! |
| * @name Constants and macros for entire GPIO_PDDR register |
| */ |
| /*@{*/ |
| #define GPIO_RD_PDDR(base) (GPIO_PDDR_REG(base)) |
| #define GPIO_WR_PDDR(base, value) (GPIO_PDDR_REG(base) = (value)) |
| #define GPIO_RMW_PDDR(base, mask, value) (GPIO_WR_PDDR(base, (GPIO_RD_PDDR(base) & ~(mask)) | (value))) |
| #define GPIO_SET_PDDR(base, value) (BME_OR32(&GPIO_PDDR_REG(base), (uint32_t)(value))) |
| #define GPIO_CLR_PDDR(base, value) (BME_AND32(&GPIO_PDDR_REG(base), (uint32_t)(~(value)))) |
| #define GPIO_TOG_PDDR(base, value) (BME_XOR32(&GPIO_PDDR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 I2C |
| * |
| * Inter-Integrated Circuit |
| * |
| * Registers defined in this header file: |
| * - I2C_A1 - I2C Address Register 1 |
| * - I2C_F - I2C Frequency Divider register |
| * - I2C_C1 - I2C Control Register 1 |
| * - I2C_S - I2C Status register |
| * - I2C_D - I2C Data I/O register |
| * - I2C_C2 - I2C Control Register 2 |
| * - I2C_FLT - I2C Programmable Input Glitch Filter Register |
| * - I2C_RA - I2C Range Address register |
| * - I2C_SMB - I2C SMBus Control and Status register |
| * - I2C_A2 - I2C Address Register 2 |
| * - I2C_SLTH - I2C SCL Low Timeout Register High |
| * - I2C_SLTL - I2C SCL Low Timeout Register Low |
| * - I2C_S2 - I2C Status register 2 |
| */ |
| |
| #define I2C_INSTANCE_COUNT (2U) /*!< Number of instances of the I2C module. */ |
| #define I2C0_IDX (0U) /*!< Instance number for I2C0. */ |
| #define I2C1_IDX (1U) /*!< Instance number for I2C1. */ |
| |
| /******************************************************************************* |
| * I2C_A1 - I2C Address Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_A1 - I2C Address Register 1 (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This register contains the slave address to be used by the I2C module. |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_A1 register |
| */ |
| /*@{*/ |
| #define I2C_RD_A1(base) (I2C_A1_REG(base)) |
| #define I2C_WR_A1(base, value) (I2C_A1_REG(base) = (value)) |
| #define I2C_RMW_A1(base, mask, value) (I2C_WR_A1(base, (I2C_RD_A1(base) & ~(mask)) | (value))) |
| #define I2C_SET_A1(base, value) (BME_OR8(&I2C_A1_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_A1(base, value) (BME_AND8(&I2C_A1_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_A1(base, value) (BME_XOR8(&I2C_A1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual I2C_A1 bitfields |
| */ |
| |
| /*! |
| * @name Register I2C_A1, field AD[7:1] (RW) |
| * |
| * Contains the primary slave address used by the I2C module when it is |
| * addressed as a slave. This field is used in the 7-bit address scheme and the lower |
| * seven bits in the 10-bit address scheme. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_A1_AD field. */ |
| #define I2C_RD_A1_AD(base) ((I2C_A1_REG(base) & I2C_A1_AD_MASK) >> I2C_A1_AD_SHIFT) |
| #define I2C_BRD_A1_AD(base) (BME_UBFX8(&I2C_A1_REG(base), I2C_A1_AD_SHIFT, I2C_A1_AD_WIDTH)) |
| |
| /*! @brief Set the AD field to a new value. */ |
| #define I2C_WR_A1_AD(base, value) (I2C_RMW_A1(base, I2C_A1_AD_MASK, I2C_A1_AD(value))) |
| #define I2C_BWR_A1_AD(base, value) (BME_BFI8(&I2C_A1_REG(base), ((uint8_t)(value) << I2C_A1_AD_SHIFT), I2C_A1_AD_SHIFT, I2C_A1_AD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_F - I2C Frequency Divider register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_F - I2C Frequency Divider register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_F register |
| */ |
| /*@{*/ |
| #define I2C_RD_F(base) (I2C_F_REG(base)) |
| #define I2C_WR_F(base, value) (I2C_F_REG(base) = (value)) |
| #define I2C_RMW_F(base, mask, value) (I2C_WR_F(base, (I2C_RD_F(base) & ~(mask)) | (value))) |
| #define I2C_SET_F(base, value) (BME_OR8(&I2C_F_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_F(base, value) (BME_AND8(&I2C_F_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_F(base, value) (BME_XOR8(&I2C_F_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual I2C_F bitfields |
| */ |
| |
| /*! |
| * @name Register I2C_F, field ICR[5:0] (RW) |
| * |
| * Prescales the I2C module clock for bit rate selection. This field and the |
| * MULT field determine the I2C baud rate, the SDA hold time, the SCL start hold |
| * time, and the SCL stop hold time. For a list of values corresponding to each ICR |
| * setting, see I2C divider and hold values. The SCL divider multiplied by |
| * multiplier factor (mul) determines the I2C baud rate. I2C baud rate = I2C module |
| * clock speed (Hz)/(mul * SCL divider) The SDA hold time is the delay from the |
| * falling edge of SCL (I2C clock) to the changing of SDA (I2C data). SDA hold time = |
| * I2C module clock period (s) * mul * SDA hold value The SCL start hold time is |
| * the delay from the falling edge of SDA (I2C data) while SCL is high (start |
| * condition) to the falling edge of SCL (I2C clock). SCL start hold time = I2C |
| * module clock period (s) * mul * SCL start hold value The SCL stop hold time is |
| * the delay from the rising edge of SCL (I2C clock) to the rising edge of SDA (I2C |
| * data) while SCL is high (stop condition). SCL stop hold time = I2C module |
| * clock period (s) * mul * SCL stop hold value For example, if the I2C module clock |
| * speed is 8 MHz, the following table shows the possible hold time values with |
| * different ICR and MULT selections to achieve an I2C baud rate of 100 kbit/s. |
| * MULT ICR Hold times (us) SDA SCL Start SCL Stop 2h 00h 3.500 3.000 5.500 1h 07h |
| * 2.500 4.000 5.250 1h 0Bh 2.250 4.000 5.250 0h 14h 2.125 4.250 5.125 0h 18h |
| * 1.125 4.750 5.125 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_F_ICR field. */ |
| #define I2C_RD_F_ICR(base) ((I2C_F_REG(base) & I2C_F_ICR_MASK) >> I2C_F_ICR_SHIFT) |
| #define I2C_BRD_F_ICR(base) (BME_UBFX8(&I2C_F_REG(base), I2C_F_ICR_SHIFT, I2C_F_ICR_WIDTH)) |
| |
| /*! @brief Set the ICR field to a new value. */ |
| #define I2C_WR_F_ICR(base, value) (I2C_RMW_F(base, I2C_F_ICR_MASK, I2C_F_ICR(value))) |
| #define I2C_BWR_F_ICR(base, value) (BME_BFI8(&I2C_F_REG(base), ((uint8_t)(value) << I2C_F_ICR_SHIFT), I2C_F_ICR_SHIFT, I2C_F_ICR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_F, field MULT[7:6] (RW) |
| * |
| * Defines the multiplier factor (mul). This factor is used along with the SCL |
| * divider to generate the I2C baud rate. |
| * |
| * Values: |
| * - 0b00 - mul = 1 |
| * - 0b01 - mul = 2 |
| * - 0b10 - mul = 4 |
| * - 0b11 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_F_MULT field. */ |
| #define I2C_RD_F_MULT(base) ((I2C_F_REG(base) & I2C_F_MULT_MASK) >> I2C_F_MULT_SHIFT) |
| #define I2C_BRD_F_MULT(base) (BME_UBFX8(&I2C_F_REG(base), I2C_F_MULT_SHIFT, I2C_F_MULT_WIDTH)) |
| |
| /*! @brief Set the MULT field to a new value. */ |
| #define I2C_WR_F_MULT(base, value) (I2C_RMW_F(base, I2C_F_MULT_MASK, I2C_F_MULT(value))) |
| #define I2C_BWR_F_MULT(base, value) (BME_BFI8(&I2C_F_REG(base), ((uint8_t)(value) << I2C_F_MULT_SHIFT), I2C_F_MULT_SHIFT, I2C_F_MULT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_C1 - I2C Control Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_C1 - I2C Control Register 1 (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_C1 register |
| */ |
| /*@{*/ |
| #define I2C_RD_C1(base) (I2C_C1_REG(base)) |
| #define I2C_WR_C1(base, value) (I2C_C1_REG(base) = (value)) |
| #define I2C_RMW_C1(base, mask, value) (I2C_WR_C1(base, (I2C_RD_C1(base) & ~(mask)) | (value))) |
| #define I2C_SET_C1(base, value) (BME_OR8(&I2C_C1_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_C1(base, value) (BME_AND8(&I2C_C1_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_C1(base, value) (BME_XOR8(&I2C_C1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual I2C_C1 bitfields |
| */ |
| |
| /*! |
| * @name Register I2C_C1, field DMAEN[0] (RW) |
| * |
| * Enables or disables the DMA function. |
| * |
| * Values: |
| * - 0b0 - All DMA signalling disabled. |
| * - 0b1 - DMA transfer is enabled. While SMB[FACK] = 0, the following |
| * conditions trigger the DMA request: a data byte is received, and either address or |
| * data is transmitted. (ACK/NACK is automatic) the first byte received |
| * matches the A1 register or is a general call address. If any address matching |
| * occurs, S[IAAS] and S[TCF] are set. If the direction of transfer is known |
| * from master to slave, then it is not required to check S[SRW]. With this |
| * assumption, DMA can also be used in this case. In other cases, if the master |
| * reads data from the slave, then it is required to rewrite the C1 register |
| * operation. With this assumption, DMA cannot be used. When FACK = 1, an |
| * address or a data byte is transmitted. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C1_DMAEN field. */ |
| #define I2C_RD_C1_DMAEN(base) ((I2C_C1_REG(base) & I2C_C1_DMAEN_MASK) >> I2C_C1_DMAEN_SHIFT) |
| #define I2C_BRD_C1_DMAEN(base) (BME_UBFX8(&I2C_C1_REG(base), I2C_C1_DMAEN_SHIFT, I2C_C1_DMAEN_WIDTH)) |
| |
| /*! @brief Set the DMAEN field to a new value. */ |
| #define I2C_WR_C1_DMAEN(base, value) (I2C_RMW_C1(base, I2C_C1_DMAEN_MASK, I2C_C1_DMAEN(value))) |
| #define I2C_BWR_C1_DMAEN(base, value) (BME_BFI8(&I2C_C1_REG(base), ((uint8_t)(value) << I2C_C1_DMAEN_SHIFT), I2C_C1_DMAEN_SHIFT, I2C_C1_DMAEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C1, field WUEN[1] (RW) |
| * |
| * The I2C module can wake the MCU from low power mode with no peripheral bus |
| * running when slave address matching occurs. |
| * |
| * Values: |
| * - 0b0 - Normal operation. No interrupt generated when address matching in low |
| * power mode. |
| * - 0b1 - Enables the wakeup function in low power mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C1_WUEN field. */ |
| #define I2C_RD_C1_WUEN(base) ((I2C_C1_REG(base) & I2C_C1_WUEN_MASK) >> I2C_C1_WUEN_SHIFT) |
| #define I2C_BRD_C1_WUEN(base) (BME_UBFX8(&I2C_C1_REG(base), I2C_C1_WUEN_SHIFT, I2C_C1_WUEN_WIDTH)) |
| |
| /*! @brief Set the WUEN field to a new value. */ |
| #define I2C_WR_C1_WUEN(base, value) (I2C_RMW_C1(base, I2C_C1_WUEN_MASK, I2C_C1_WUEN(value))) |
| #define I2C_BWR_C1_WUEN(base, value) (BME_BFI8(&I2C_C1_REG(base), ((uint8_t)(value) << I2C_C1_WUEN_SHIFT), I2C_C1_WUEN_SHIFT, I2C_C1_WUEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C1, field RSTA[2] (WORZ) |
| * |
| * Writing 1 to this bit generates a repeated START condition provided it is the |
| * current master. This bit will always be read as 0. Attempting a repeat at the |
| * wrong time results in loss of arbitration. |
| */ |
| /*@{*/ |
| /*! @brief Set the RSTA field to a new value. */ |
| #define I2C_WR_C1_RSTA(base, value) (I2C_RMW_C1(base, I2C_C1_RSTA_MASK, I2C_C1_RSTA(value))) |
| #define I2C_BWR_C1_RSTA(base, value) (BME_BFI8(&I2C_C1_REG(base), ((uint8_t)(value) << I2C_C1_RSTA_SHIFT), I2C_C1_RSTA_SHIFT, I2C_C1_RSTA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C1, field TXAK[3] (RW) |
| * |
| * Specifies the value driven onto the SDA during data acknowledge cycles for |
| * both master and slave receivers. The value of SMB[FACK] affects NACK/ACK |
| * generation. SCL is held low until TXAK is written. |
| * |
| * Values: |
| * - 0b0 - An acknowledge signal is sent to the bus on the following receiving |
| * byte (if FACK is cleared) or the current receiving byte (if FACK is set). |
| * - 0b1 - No acknowledge signal is sent to the bus on the following receiving |
| * data byte (if FACK is cleared) or the current receiving data byte (if FACK |
| * is set). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C1_TXAK field. */ |
| #define I2C_RD_C1_TXAK(base) ((I2C_C1_REG(base) & I2C_C1_TXAK_MASK) >> I2C_C1_TXAK_SHIFT) |
| #define I2C_BRD_C1_TXAK(base) (BME_UBFX8(&I2C_C1_REG(base), I2C_C1_TXAK_SHIFT, I2C_C1_TXAK_WIDTH)) |
| |
| /*! @brief Set the TXAK field to a new value. */ |
| #define I2C_WR_C1_TXAK(base, value) (I2C_RMW_C1(base, I2C_C1_TXAK_MASK, I2C_C1_TXAK(value))) |
| #define I2C_BWR_C1_TXAK(base, value) (BME_BFI8(&I2C_C1_REG(base), ((uint8_t)(value) << I2C_C1_TXAK_SHIFT), I2C_C1_TXAK_SHIFT, I2C_C1_TXAK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C1, field TX[4] (RW) |
| * |
| * Selects the direction of master and slave transfers. In master mode this bit |
| * must be set according to the type of transfer required. Therefore, for address |
| * cycles, this bit is always set. When addressed as a slave this bit must be |
| * set by software according to the SRW bit in the status register. |
| * |
| * Values: |
| * - 0b0 - Receive |
| * - 0b1 - Transmit |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C1_TX field. */ |
| #define I2C_RD_C1_TX(base) ((I2C_C1_REG(base) & I2C_C1_TX_MASK) >> I2C_C1_TX_SHIFT) |
| #define I2C_BRD_C1_TX(base) (BME_UBFX8(&I2C_C1_REG(base), I2C_C1_TX_SHIFT, I2C_C1_TX_WIDTH)) |
| |
| /*! @brief Set the TX field to a new value. */ |
| #define I2C_WR_C1_TX(base, value) (I2C_RMW_C1(base, I2C_C1_TX_MASK, I2C_C1_TX(value))) |
| #define I2C_BWR_C1_TX(base, value) (BME_BFI8(&I2C_C1_REG(base), ((uint8_t)(value) << I2C_C1_TX_SHIFT), I2C_C1_TX_SHIFT, I2C_C1_TX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C1, field MST[5] (RW) |
| * |
| * When MST is changed from 0 to 1, a START signal is generated on the bus and |
| * master mode is selected. When this bit changes from 1 to 0, a STOP signal is |
| * generated and the mode of operation changes from master to slave. |
| * |
| * Values: |
| * - 0b0 - Slave mode |
| * - 0b1 - Master mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C1_MST field. */ |
| #define I2C_RD_C1_MST(base) ((I2C_C1_REG(base) & I2C_C1_MST_MASK) >> I2C_C1_MST_SHIFT) |
| #define I2C_BRD_C1_MST(base) (BME_UBFX8(&I2C_C1_REG(base), I2C_C1_MST_SHIFT, I2C_C1_MST_WIDTH)) |
| |
| /*! @brief Set the MST field to a new value. */ |
| #define I2C_WR_C1_MST(base, value) (I2C_RMW_C1(base, I2C_C1_MST_MASK, I2C_C1_MST(value))) |
| #define I2C_BWR_C1_MST(base, value) (BME_BFI8(&I2C_C1_REG(base), ((uint8_t)(value) << I2C_C1_MST_SHIFT), I2C_C1_MST_SHIFT, I2C_C1_MST_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C1, field IICIE[6] (RW) |
| * |
| * Enables I2C interrupt requests. |
| * |
| * Values: |
| * - 0b0 - Disabled |
| * - 0b1 - Enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C1_IICIE field. */ |
| #define I2C_RD_C1_IICIE(base) ((I2C_C1_REG(base) & I2C_C1_IICIE_MASK) >> I2C_C1_IICIE_SHIFT) |
| #define I2C_BRD_C1_IICIE(base) (BME_UBFX8(&I2C_C1_REG(base), I2C_C1_IICIE_SHIFT, I2C_C1_IICIE_WIDTH)) |
| |
| /*! @brief Set the IICIE field to a new value. */ |
| #define I2C_WR_C1_IICIE(base, value) (I2C_RMW_C1(base, I2C_C1_IICIE_MASK, I2C_C1_IICIE(value))) |
| #define I2C_BWR_C1_IICIE(base, value) (BME_BFI8(&I2C_C1_REG(base), ((uint8_t)(value) << I2C_C1_IICIE_SHIFT), I2C_C1_IICIE_SHIFT, I2C_C1_IICIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C1, field IICEN[7] (RW) |
| * |
| * Enables I2C module operation. |
| * |
| * Values: |
| * - 0b0 - Disabled |
| * - 0b1 - Enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C1_IICEN field. */ |
| #define I2C_RD_C1_IICEN(base) ((I2C_C1_REG(base) & I2C_C1_IICEN_MASK) >> I2C_C1_IICEN_SHIFT) |
| #define I2C_BRD_C1_IICEN(base) (BME_UBFX8(&I2C_C1_REG(base), I2C_C1_IICEN_SHIFT, I2C_C1_IICEN_WIDTH)) |
| |
| /*! @brief Set the IICEN field to a new value. */ |
| #define I2C_WR_C1_IICEN(base, value) (I2C_RMW_C1(base, I2C_C1_IICEN_MASK, I2C_C1_IICEN(value))) |
| #define I2C_BWR_C1_IICEN(base, value) (BME_BFI8(&I2C_C1_REG(base), ((uint8_t)(value) << I2C_C1_IICEN_SHIFT), I2C_C1_IICEN_SHIFT, I2C_C1_IICEN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_S - I2C Status register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_S - I2C Status register (RW) |
| * |
| * Reset value: 0x80U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_S register |
| */ |
| /*@{*/ |
| #define I2C_RD_S(base) (I2C_S_REG(base)) |
| #define I2C_WR_S(base, value) (I2C_S_REG(base) = (value)) |
| #define I2C_RMW_S(base, mask, value) (I2C_WR_S(base, (I2C_RD_S(base) & ~(mask)) | (value))) |
| #define I2C_SET_S(base, value) (BME_OR8(&I2C_S_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_S(base, value) (BME_AND8(&I2C_S_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_S(base, value) (BME_XOR8(&I2C_S_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual I2C_S bitfields |
| */ |
| |
| /*! |
| * @name Register I2C_S, field RXAK[0] (RO) |
| * |
| * Values: |
| * - 0b0 - Acknowledge signal was received after the completion of one byte of |
| * data transmission on the bus |
| * - 0b1 - No acknowledge signal detected |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_S_RXAK field. */ |
| #define I2C_RD_S_RXAK(base) ((I2C_S_REG(base) & I2C_S_RXAK_MASK) >> I2C_S_RXAK_SHIFT) |
| #define I2C_BRD_S_RXAK(base) (BME_UBFX8(&I2C_S_REG(base), I2C_S_RXAK_SHIFT, I2C_S_RXAK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_S, field IICIF[1] (W1C) |
| * |
| * This bit sets when an interrupt is pending. This bit must be cleared by |
| * software by writing 1 to it, such as in the interrupt routine. One of the following |
| * events can set this bit: One byte transfer, including ACK/NACK bit, completes |
| * if FACK is 0. An ACK or NACK is sent on the bus by writing 0 or 1 to TXAK |
| * after this bit is set in receive mode. One byte transfer, excluding ACK/NACK bit, |
| * completes if FACK is 1. Match of slave address to calling address including |
| * primary slave address, range slave address , alert response address, second |
| * slave address, or general call address. Arbitration lost In SMBus mode, any |
| * timeouts except SCL and SDA high timeouts I2C bus stop or start detection if the |
| * STOPIE SSIE bit in the Input Glitch Filter register is 1 To clear the I2C bus |
| * stop or start detection interrupt: In the interrupt service routine, first clear |
| * the STOPF or STARTF bit in the Input Glitch Filter register by writing 1 to |
| * it, and then clear the IICIF bit. If this sequence is reversed, the IICIF bit |
| * is asserted again. |
| * |
| * Values: |
| * - 0b0 - No interrupt pending |
| * - 0b1 - Interrupt pending |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_S_IICIF field. */ |
| #define I2C_RD_S_IICIF(base) ((I2C_S_REG(base) & I2C_S_IICIF_MASK) >> I2C_S_IICIF_SHIFT) |
| #define I2C_BRD_S_IICIF(base) (BME_UBFX8(&I2C_S_REG(base), I2C_S_IICIF_SHIFT, I2C_S_IICIF_WIDTH)) |
| |
| /*! @brief Set the IICIF field to a new value. */ |
| #define I2C_WR_S_IICIF(base, value) (I2C_RMW_S(base, (I2C_S_IICIF_MASK | I2C_S_ARBL_MASK), I2C_S_IICIF(value))) |
| #define I2C_BWR_S_IICIF(base, value) (BME_BFI8(&I2C_S_REG(base), ((uint8_t)(value) << I2C_S_IICIF_SHIFT), I2C_S_IICIF_SHIFT, I2C_S_IICIF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_S, field SRW[2] (RO) |
| * |
| * When addressed as a slave, SRW indicates the value of the R/W command bit of |
| * the calling address sent to the master. |
| * |
| * Values: |
| * - 0b0 - Slave receive, master writing to slave |
| * - 0b1 - Slave transmit, master reading from slave |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_S_SRW field. */ |
| #define I2C_RD_S_SRW(base) ((I2C_S_REG(base) & I2C_S_SRW_MASK) >> I2C_S_SRW_SHIFT) |
| #define I2C_BRD_S_SRW(base) (BME_UBFX8(&I2C_S_REG(base), I2C_S_SRW_SHIFT, I2C_S_SRW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_S, field RAM[3] (RW) |
| * |
| * This bit is set to 1 by any of the following conditions, if I2C_C2[RMEN] = 1: |
| * Any nonzero calling address is received that matches the address in the RA |
| * register. The calling address is within the range of values of the A1 and RA |
| * registers. For the RAM bit to be set to 1 correctly, C1[IICIE] must be set to 1. |
| * Writing the C1 register with any value clears this bit to 0. |
| * |
| * Values: |
| * - 0b0 - Not addressed |
| * - 0b1 - Addressed as a slave |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_S_RAM field. */ |
| #define I2C_RD_S_RAM(base) ((I2C_S_REG(base) & I2C_S_RAM_MASK) >> I2C_S_RAM_SHIFT) |
| #define I2C_BRD_S_RAM(base) (BME_UBFX8(&I2C_S_REG(base), I2C_S_RAM_SHIFT, I2C_S_RAM_WIDTH)) |
| |
| /*! @brief Set the RAM field to a new value. */ |
| #define I2C_WR_S_RAM(base, value) (I2C_RMW_S(base, (I2C_S_RAM_MASK | I2C_S_IICIF_MASK | I2C_S_ARBL_MASK), I2C_S_RAM(value))) |
| #define I2C_BWR_S_RAM(base, value) (BME_BFI8(&I2C_S_REG(base), ((uint8_t)(value) << I2C_S_RAM_SHIFT), I2C_S_RAM_SHIFT, I2C_S_RAM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_S, field ARBL[4] (W1C) |
| * |
| * This bit is set by hardware when the arbitration procedure is lost. The ARBL |
| * bit must be cleared by software, by writing 1 to it. |
| * |
| * Values: |
| * - 0b0 - Standard bus operation. |
| * - 0b1 - Loss of arbitration. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_S_ARBL field. */ |
| #define I2C_RD_S_ARBL(base) ((I2C_S_REG(base) & I2C_S_ARBL_MASK) >> I2C_S_ARBL_SHIFT) |
| #define I2C_BRD_S_ARBL(base) (BME_UBFX8(&I2C_S_REG(base), I2C_S_ARBL_SHIFT, I2C_S_ARBL_WIDTH)) |
| |
| /*! @brief Set the ARBL field to a new value. */ |
| #define I2C_WR_S_ARBL(base, value) (I2C_RMW_S(base, (I2C_S_ARBL_MASK | I2C_S_IICIF_MASK), I2C_S_ARBL(value))) |
| #define I2C_BWR_S_ARBL(base, value) (BME_BFI8(&I2C_S_REG(base), ((uint8_t)(value) << I2C_S_ARBL_SHIFT), I2C_S_ARBL_SHIFT, I2C_S_ARBL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_S, field BUSY[5] (RO) |
| * |
| * Indicates the status of the bus regardless of slave or master mode. This bit |
| * is set when a START signal is detected and cleared when a STOP signal is |
| * detected. |
| * |
| * Values: |
| * - 0b0 - Bus is idle |
| * - 0b1 - Bus is busy |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_S_BUSY field. */ |
| #define I2C_RD_S_BUSY(base) ((I2C_S_REG(base) & I2C_S_BUSY_MASK) >> I2C_S_BUSY_SHIFT) |
| #define I2C_BRD_S_BUSY(base) (BME_UBFX8(&I2C_S_REG(base), I2C_S_BUSY_SHIFT, I2C_S_BUSY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_S, field IAAS[6] (RW) |
| * |
| * This bit is set by one of the following conditions: The calling address |
| * matches the programmed primary slave address in the A1 register, or matches the |
| * range address in the RA register (which must be set to a nonzero value and under |
| * the condition I2C_C2[RMEN] = 1). C2[GCAEN] is set and a general call is |
| * received. SMB[SIICAEN] is set and the calling address matches the second programmed |
| * slave address. ALERTEN is set and an SMBus alert response address is received |
| * RMEN is set and an address is received that is within the range between the |
| * values of the A1 and RA registers. IAAS sets before the ACK bit. The CPU must |
| * check the SRW bit and set TX/RX accordingly. Writing the C1 register with any |
| * value clears this bit. |
| * |
| * Values: |
| * - 0b0 - Not addressed |
| * - 0b1 - Addressed as a slave |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_S_IAAS field. */ |
| #define I2C_RD_S_IAAS(base) ((I2C_S_REG(base) & I2C_S_IAAS_MASK) >> I2C_S_IAAS_SHIFT) |
| #define I2C_BRD_S_IAAS(base) (BME_UBFX8(&I2C_S_REG(base), I2C_S_IAAS_SHIFT, I2C_S_IAAS_WIDTH)) |
| |
| /*! @brief Set the IAAS field to a new value. */ |
| #define I2C_WR_S_IAAS(base, value) (I2C_RMW_S(base, (I2C_S_IAAS_MASK | I2C_S_IICIF_MASK | I2C_S_ARBL_MASK), I2C_S_IAAS(value))) |
| #define I2C_BWR_S_IAAS(base, value) (BME_BFI8(&I2C_S_REG(base), ((uint8_t)(value) << I2C_S_IAAS_SHIFT), I2C_S_IAAS_SHIFT, I2C_S_IAAS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_S, field TCF[7] (RO) |
| * |
| * Acknowledges a byte transfer; TCF is set on the completion of a byte |
| * transfer. This bit is valid only during or immediately following a transfer to or from |
| * the I2C module. TCF is cleared by reading the I2C data register in receive |
| * mode or by writing to the I2C data register in transmit mode.In the buffer mode, |
| * TCF is cleared automatically by internal reading or writing the data register |
| * I2C_D, with no need waiting for manually reading/writing the I2C data |
| * register in Rx/Tx mode. |
| * |
| * Values: |
| * - 0b0 - Transfer in progress |
| * - 0b1 - Transfer complete |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_S_TCF field. */ |
| #define I2C_RD_S_TCF(base) ((I2C_S_REG(base) & I2C_S_TCF_MASK) >> I2C_S_TCF_SHIFT) |
| #define I2C_BRD_S_TCF(base) (BME_UBFX8(&I2C_S_REG(base), I2C_S_TCF_SHIFT, I2C_S_TCF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_D - I2C Data I/O register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_D - I2C Data I/O register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_D register |
| */ |
| /*@{*/ |
| #define I2C_RD_D(base) (I2C_D_REG(base)) |
| #define I2C_WR_D(base, value) (I2C_D_REG(base) = (value)) |
| #define I2C_RMW_D(base, mask, value) (I2C_WR_D(base, (I2C_RD_D(base) & ~(mask)) | (value))) |
| #define I2C_SET_D(base, value) (BME_OR8(&I2C_D_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_D(base, value) (BME_AND8(&I2C_D_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_D(base, value) (BME_XOR8(&I2C_D_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_C2 - I2C Control Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_C2 - I2C Control Register 2 (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_C2 register |
| */ |
| /*@{*/ |
| #define I2C_RD_C2(base) (I2C_C2_REG(base)) |
| #define I2C_WR_C2(base, value) (I2C_C2_REG(base) = (value)) |
| #define I2C_RMW_C2(base, mask, value) (I2C_WR_C2(base, (I2C_RD_C2(base) & ~(mask)) | (value))) |
| #define I2C_SET_C2(base, value) (BME_OR8(&I2C_C2_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_C2(base, value) (BME_AND8(&I2C_C2_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_C2(base, value) (BME_XOR8(&I2C_C2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual I2C_C2 bitfields |
| */ |
| |
| /*! |
| * @name Register I2C_C2, field AD[2:0] (RW) |
| * |
| * Contains the upper three bits of the slave address in the 10-bit address |
| * scheme. This field is valid only while the ADEXT bit is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C2_AD field. */ |
| #define I2C_RD_C2_AD(base) ((I2C_C2_REG(base) & I2C_C2_AD_MASK) >> I2C_C2_AD_SHIFT) |
| #define I2C_BRD_C2_AD(base) (BME_UBFX8(&I2C_C2_REG(base), I2C_C2_AD_SHIFT, I2C_C2_AD_WIDTH)) |
| |
| /*! @brief Set the AD field to a new value. */ |
| #define I2C_WR_C2_AD(base, value) (I2C_RMW_C2(base, I2C_C2_AD_MASK, I2C_C2_AD(value))) |
| #define I2C_BWR_C2_AD(base, value) (BME_BFI8(&I2C_C2_REG(base), ((uint8_t)(value) << I2C_C2_AD_SHIFT), I2C_C2_AD_SHIFT, I2C_C2_AD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C2, field RMEN[3] (RW) |
| * |
| * This bit controls the slave address matching for addresses between the values |
| * of the A1 and RA registers. When this bit is set, a slave address matching |
| * occurs for any address greater than the value of the A1 register and less than |
| * or equal to the value of the RA register. |
| * |
| * Values: |
| * - 0b0 - Range mode disabled. No address matching occurs for an address within |
| * the range of values of the A1 and RA registers. |
| * - 0b1 - Range mode enabled. Address matching occurs when a slave receives an |
| * address within the range of values of the A1 and RA registers. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C2_RMEN field. */ |
| #define I2C_RD_C2_RMEN(base) ((I2C_C2_REG(base) & I2C_C2_RMEN_MASK) >> I2C_C2_RMEN_SHIFT) |
| #define I2C_BRD_C2_RMEN(base) (BME_UBFX8(&I2C_C2_REG(base), I2C_C2_RMEN_SHIFT, I2C_C2_RMEN_WIDTH)) |
| |
| /*! @brief Set the RMEN field to a new value. */ |
| #define I2C_WR_C2_RMEN(base, value) (I2C_RMW_C2(base, I2C_C2_RMEN_MASK, I2C_C2_RMEN(value))) |
| #define I2C_BWR_C2_RMEN(base, value) (BME_BFI8(&I2C_C2_REG(base), ((uint8_t)(value) << I2C_C2_RMEN_SHIFT), I2C_C2_RMEN_SHIFT, I2C_C2_RMEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C2, field SBRC[4] (RW) |
| * |
| * Enables independent slave mode baud rate at maximum frequency, which forces |
| * clock stretching on SCL in very fast I2C modes. To a slave, an example of a |
| * "very fast" mode is when the master transfers at 40 kbit/s but the slave can |
| * capture the master's data at only 10 kbit/s. |
| * |
| * Values: |
| * - 0b0 - The slave baud rate follows the master baud rate and clock stretching |
| * may occur |
| * - 0b1 - Slave baud rate is independent of the master baud rate |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C2_SBRC field. */ |
| #define I2C_RD_C2_SBRC(base) ((I2C_C2_REG(base) & I2C_C2_SBRC_MASK) >> I2C_C2_SBRC_SHIFT) |
| #define I2C_BRD_C2_SBRC(base) (BME_UBFX8(&I2C_C2_REG(base), I2C_C2_SBRC_SHIFT, I2C_C2_SBRC_WIDTH)) |
| |
| /*! @brief Set the SBRC field to a new value. */ |
| #define I2C_WR_C2_SBRC(base, value) (I2C_RMW_C2(base, I2C_C2_SBRC_MASK, I2C_C2_SBRC(value))) |
| #define I2C_BWR_C2_SBRC(base, value) (BME_BFI8(&I2C_C2_REG(base), ((uint8_t)(value) << I2C_C2_SBRC_SHIFT), I2C_C2_SBRC_SHIFT, I2C_C2_SBRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C2, field HDRS[5] (RW) |
| * |
| * Controls the drive capability of the I2C pads. |
| * |
| * Values: |
| * - 0b0 - Normal drive mode |
| * - 0b1 - High drive mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C2_HDRS field. */ |
| #define I2C_RD_C2_HDRS(base) ((I2C_C2_REG(base) & I2C_C2_HDRS_MASK) >> I2C_C2_HDRS_SHIFT) |
| #define I2C_BRD_C2_HDRS(base) (BME_UBFX8(&I2C_C2_REG(base), I2C_C2_HDRS_SHIFT, I2C_C2_HDRS_WIDTH)) |
| |
| /*! @brief Set the HDRS field to a new value. */ |
| #define I2C_WR_C2_HDRS(base, value) (I2C_RMW_C2(base, I2C_C2_HDRS_MASK, I2C_C2_HDRS(value))) |
| #define I2C_BWR_C2_HDRS(base, value) (BME_BFI8(&I2C_C2_REG(base), ((uint8_t)(value) << I2C_C2_HDRS_SHIFT), I2C_C2_HDRS_SHIFT, I2C_C2_HDRS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C2, field ADEXT[6] (RW) |
| * |
| * Controls the number of bits used for the slave address. |
| * |
| * Values: |
| * - 0b0 - 7-bit address scheme |
| * - 0b1 - 10-bit address scheme |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C2_ADEXT field. */ |
| #define I2C_RD_C2_ADEXT(base) ((I2C_C2_REG(base) & I2C_C2_ADEXT_MASK) >> I2C_C2_ADEXT_SHIFT) |
| #define I2C_BRD_C2_ADEXT(base) (BME_UBFX8(&I2C_C2_REG(base), I2C_C2_ADEXT_SHIFT, I2C_C2_ADEXT_WIDTH)) |
| |
| /*! @brief Set the ADEXT field to a new value. */ |
| #define I2C_WR_C2_ADEXT(base, value) (I2C_RMW_C2(base, I2C_C2_ADEXT_MASK, I2C_C2_ADEXT(value))) |
| #define I2C_BWR_C2_ADEXT(base, value) (BME_BFI8(&I2C_C2_REG(base), ((uint8_t)(value) << I2C_C2_ADEXT_SHIFT), I2C_C2_ADEXT_SHIFT, I2C_C2_ADEXT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_C2, field GCAEN[7] (RW) |
| * |
| * Enables general call address. |
| * |
| * Values: |
| * - 0b0 - Disabled |
| * - 0b1 - Enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_C2_GCAEN field. */ |
| #define I2C_RD_C2_GCAEN(base) ((I2C_C2_REG(base) & I2C_C2_GCAEN_MASK) >> I2C_C2_GCAEN_SHIFT) |
| #define I2C_BRD_C2_GCAEN(base) (BME_UBFX8(&I2C_C2_REG(base), I2C_C2_GCAEN_SHIFT, I2C_C2_GCAEN_WIDTH)) |
| |
| /*! @brief Set the GCAEN field to a new value. */ |
| #define I2C_WR_C2_GCAEN(base, value) (I2C_RMW_C2(base, I2C_C2_GCAEN_MASK, I2C_C2_GCAEN(value))) |
| #define I2C_BWR_C2_GCAEN(base, value) (BME_BFI8(&I2C_C2_REG(base), ((uint8_t)(value) << I2C_C2_GCAEN_SHIFT), I2C_C2_GCAEN_SHIFT, I2C_C2_GCAEN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_FLT - I2C Programmable Input Glitch Filter Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_FLT - I2C Programmable Input Glitch Filter Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_FLT register |
| */ |
| /*@{*/ |
| #define I2C_RD_FLT(base) (I2C_FLT_REG(base)) |
| #define I2C_WR_FLT(base, value) (I2C_FLT_REG(base) = (value)) |
| #define I2C_RMW_FLT(base, mask, value) (I2C_WR_FLT(base, (I2C_RD_FLT(base) & ~(mask)) | (value))) |
| #define I2C_SET_FLT(base, value) (BME_OR8(&I2C_FLT_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_FLT(base, value) (BME_AND8(&I2C_FLT_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_FLT(base, value) (BME_XOR8(&I2C_FLT_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual I2C_FLT bitfields |
| */ |
| |
| /*! |
| * @name Register I2C_FLT, field FLT[3:0] (RW) |
| * |
| * Controls the width of the glitch, in terms of I2C module clock cycles, that |
| * the filter must absorb. For any glitch whose size is less than or equal to this |
| * width setting, the filter does not allow the glitch to pass. The width of the |
| * FLT is an integration option that can be changed in different SoCs. Also the |
| * clock source used is an integration/configuration option: it could be the 2* |
| * IPBus clock or the IPBus clock -- which must be identified at architectural |
| * definition. For the sample 4-bit definitions, the description of "half" IPBUS |
| * clock cycles does not apply when the IPBUS clock is used for filtering logic. |
| * |
| * Values: |
| * - 0b0000 - No filter/bypass |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_FLT_FLT field. */ |
| #define I2C_RD_FLT_FLT(base) ((I2C_FLT_REG(base) & I2C_FLT_FLT_MASK) >> I2C_FLT_FLT_SHIFT) |
| #define I2C_BRD_FLT_FLT(base) (BME_UBFX8(&I2C_FLT_REG(base), I2C_FLT_FLT_SHIFT, I2C_FLT_FLT_WIDTH)) |
| |
| /*! @brief Set the FLT field to a new value. */ |
| #define I2C_WR_FLT_FLT(base, value) (I2C_RMW_FLT(base, (I2C_FLT_FLT_MASK | I2C_FLT_STARTF_MASK | I2C_FLT_STOPF_MASK), I2C_FLT_FLT(value))) |
| #define I2C_BWR_FLT_FLT(base, value) (BME_BFI8(&I2C_FLT_REG(base), ((uint8_t)(value) << I2C_FLT_FLT_SHIFT), I2C_FLT_FLT_SHIFT, I2C_FLT_FLT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_FLT, field STARTF[4] (W1C) |
| * |
| * Hardware sets this bit when the I2C bus's start status is detected. The |
| * STARTF bit must be cleared by writing 1 to it. |
| * |
| * Values: |
| * - 0b0 - No start happens on I2C bus |
| * - 0b1 - Start detected on I2C bus |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_FLT_STARTF field. */ |
| #define I2C_RD_FLT_STARTF(base) ((I2C_FLT_REG(base) & I2C_FLT_STARTF_MASK) >> I2C_FLT_STARTF_SHIFT) |
| #define I2C_BRD_FLT_STARTF(base) (BME_UBFX8(&I2C_FLT_REG(base), I2C_FLT_STARTF_SHIFT, I2C_FLT_STARTF_WIDTH)) |
| |
| /*! @brief Set the STARTF field to a new value. */ |
| #define I2C_WR_FLT_STARTF(base, value) (I2C_RMW_FLT(base, (I2C_FLT_STARTF_MASK | I2C_FLT_STOPF_MASK), I2C_FLT_STARTF(value))) |
| #define I2C_BWR_FLT_STARTF(base, value) (BME_BFI8(&I2C_FLT_REG(base), ((uint8_t)(value) << I2C_FLT_STARTF_SHIFT), I2C_FLT_STARTF_SHIFT, I2C_FLT_STARTF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_FLT, field SSIE[5] (RW) |
| * |
| * This bit enables the interrupt for I2C bus stop or start detection. To clear |
| * the I2C bus stop or start detection interrupt: In the interrupt service |
| * routine, first clear the STOPF or STARTF bit by writing 1 to it, and then clear the |
| * IICIF bit in the status register. If this sequence is reversed, the IICIF bit |
| * is asserted again. |
| * |
| * Values: |
| * - 0b0 - Stop or start detection interrupt is disabled |
| * - 0b1 - Stop or start detection interrupt is enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_FLT_SSIE field. */ |
| #define I2C_RD_FLT_SSIE(base) ((I2C_FLT_REG(base) & I2C_FLT_SSIE_MASK) >> I2C_FLT_SSIE_SHIFT) |
| #define I2C_BRD_FLT_SSIE(base) (BME_UBFX8(&I2C_FLT_REG(base), I2C_FLT_SSIE_SHIFT, I2C_FLT_SSIE_WIDTH)) |
| |
| /*! @brief Set the SSIE field to a new value. */ |
| #define I2C_WR_FLT_SSIE(base, value) (I2C_RMW_FLT(base, (I2C_FLT_SSIE_MASK | I2C_FLT_STARTF_MASK | I2C_FLT_STOPF_MASK), I2C_FLT_SSIE(value))) |
| #define I2C_BWR_FLT_SSIE(base, value) (BME_BFI8(&I2C_FLT_REG(base), ((uint8_t)(value) << I2C_FLT_SSIE_SHIFT), I2C_FLT_SSIE_SHIFT, I2C_FLT_SSIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_FLT, field STOPF[6] (W1C) |
| * |
| * Hardware sets this bit when the I2C bus's stop status is detected. The STOPF |
| * bit must be cleared by writing 1 to it. |
| * |
| * Values: |
| * - 0b0 - No stop happens on I2C bus |
| * - 0b1 - Stop detected on I2C bus |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_FLT_STOPF field. */ |
| #define I2C_RD_FLT_STOPF(base) ((I2C_FLT_REG(base) & I2C_FLT_STOPF_MASK) >> I2C_FLT_STOPF_SHIFT) |
| #define I2C_BRD_FLT_STOPF(base) (BME_UBFX8(&I2C_FLT_REG(base), I2C_FLT_STOPF_SHIFT, I2C_FLT_STOPF_WIDTH)) |
| |
| /*! @brief Set the STOPF field to a new value. */ |
| #define I2C_WR_FLT_STOPF(base, value) (I2C_RMW_FLT(base, (I2C_FLT_STOPF_MASK | I2C_FLT_STARTF_MASK), I2C_FLT_STOPF(value))) |
| #define I2C_BWR_FLT_STOPF(base, value) (BME_BFI8(&I2C_FLT_REG(base), ((uint8_t)(value) << I2C_FLT_STOPF_SHIFT), I2C_FLT_STOPF_SHIFT, I2C_FLT_STOPF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_FLT, field SHEN[7] (RW) |
| * |
| * Set this bit to hold off entry to stop mode when any data transmission or |
| * reception is occurring. The following scenario explains the holdoff |
| * functionality: The I2C module is configured for a basic transfer, and the SHEN bit is set |
| * to 1. A transfer begins. The MCU signals the I2C module to enter stop mode. The |
| * byte currently being transferred, including both address and data, completes |
| * its transfer. The I2C slave or master acknowledges that the in-transfer byte |
| * completed its transfer and acknowledges the request to enter stop mode. After |
| * receiving the I2C module's acknowledgment of the request to enter stop mode, |
| * the MCU determines whether to shut off the I2C module's clock. If the SHEN bit |
| * is set to 1 and the I2C module is in an idle or disabled state when the MCU |
| * signals to enter stop mode, the module immediately acknowledges the request to |
| * enter stop mode. If SHEN is cleared to 0 and the overall data transmission or |
| * reception that was suspended by stop mode entry was incomplete: To resume the |
| * overall transmission or reception after the MCU exits stop mode, software must |
| * reinitialize the transfer by resending the address of the slave. If the I2C |
| * Control Register 1's IICIE bit was set to 1 before the MCU entered stop mode, |
| * system software will receive the interrupt triggered by the I2C Status Register's |
| * TCF bit after the MCU wakes from the stop mode. |
| * |
| * Values: |
| * - 0b0 - Stop holdoff is disabled. The MCU's entry to stop mode is not gated. |
| * Clocks to peripherals are gated when the core stop occurs. |
| * - 0b1 - Stop holdoff is enabled. Stop mode entry is gated until the current |
| * transaction phase is complete, and the IP enters stop mode (clocks are |
| * gated) after the current phase's completion. That is to say: If the system |
| * stop request occurs between the address or data phase, the stop acknowledge |
| * is asserted after the current byte and IIC ack completion (after the |
| * acknowledge in the ninth cycle). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_FLT_SHEN field. */ |
| #define I2C_RD_FLT_SHEN(base) ((I2C_FLT_REG(base) & I2C_FLT_SHEN_MASK) >> I2C_FLT_SHEN_SHIFT) |
| #define I2C_BRD_FLT_SHEN(base) (BME_UBFX8(&I2C_FLT_REG(base), I2C_FLT_SHEN_SHIFT, I2C_FLT_SHEN_WIDTH)) |
| |
| /*! @brief Set the SHEN field to a new value. */ |
| #define I2C_WR_FLT_SHEN(base, value) (I2C_RMW_FLT(base, (I2C_FLT_SHEN_MASK | I2C_FLT_STARTF_MASK | I2C_FLT_STOPF_MASK), I2C_FLT_SHEN(value))) |
| #define I2C_BWR_FLT_SHEN(base, value) (BME_BFI8(&I2C_FLT_REG(base), ((uint8_t)(value) << I2C_FLT_SHEN_SHIFT), I2C_FLT_SHEN_SHIFT, I2C_FLT_SHEN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_RA - I2C Range Address register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_RA - I2C Range Address register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_RA register |
| */ |
| /*@{*/ |
| #define I2C_RD_RA(base) (I2C_RA_REG(base)) |
| #define I2C_WR_RA(base, value) (I2C_RA_REG(base) = (value)) |
| #define I2C_RMW_RA(base, mask, value) (I2C_WR_RA(base, (I2C_RD_RA(base) & ~(mask)) | (value))) |
| #define I2C_SET_RA(base, value) (BME_OR8(&I2C_RA_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_RA(base, value) (BME_AND8(&I2C_RA_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_RA(base, value) (BME_XOR8(&I2C_RA_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual I2C_RA bitfields |
| */ |
| |
| /*! |
| * @name Register I2C_RA, field RAD[7:1] (RW) |
| * |
| * This field contains the slave address to be used by the I2C module. The field |
| * is used in the 7-bit address scheme. If I2C_C2[RMEN] is set to 1, any nonzero |
| * value write enables this register. This register value can be considered as a |
| * maximum boundary in the range matching mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_RA_RAD field. */ |
| #define I2C_RD_RA_RAD(base) ((I2C_RA_REG(base) & I2C_RA_RAD_MASK) >> I2C_RA_RAD_SHIFT) |
| #define I2C_BRD_RA_RAD(base) (BME_UBFX8(&I2C_RA_REG(base), I2C_RA_RAD_SHIFT, I2C_RA_RAD_WIDTH)) |
| |
| /*! @brief Set the RAD field to a new value. */ |
| #define I2C_WR_RA_RAD(base, value) (I2C_RMW_RA(base, I2C_RA_RAD_MASK, I2C_RA_RAD(value))) |
| #define I2C_BWR_RA_RAD(base, value) (BME_BFI8(&I2C_RA_REG(base), ((uint8_t)(value) << I2C_RA_RAD_SHIFT), I2C_RA_RAD_SHIFT, I2C_RA_RAD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_SMB - I2C SMBus Control and Status register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_SMB - I2C SMBus Control and Status register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * When the SCL and SDA signals are held high for a length of time greater than |
| * the high timeout period, the SHTF1 flag sets. Before reaching this threshold, |
| * while the system is detecting how long these signals are being held high, a |
| * master assumes that the bus is free. However, the SHTF1 bit is set to 1 in the |
| * bus transmission process with the idle bus state. When the TCKSEL bit is set, |
| * there is no need to monitor the SHTF1 bit because the bus speed is too high to |
| * match the protocol of SMBus. |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_SMB register |
| */ |
| /*@{*/ |
| #define I2C_RD_SMB(base) (I2C_SMB_REG(base)) |
| #define I2C_WR_SMB(base, value) (I2C_SMB_REG(base) = (value)) |
| #define I2C_RMW_SMB(base, mask, value) (I2C_WR_SMB(base, (I2C_RD_SMB(base) & ~(mask)) | (value))) |
| #define I2C_SET_SMB(base, value) (BME_OR8(&I2C_SMB_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_SMB(base, value) (BME_AND8(&I2C_SMB_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_SMB(base, value) (BME_XOR8(&I2C_SMB_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual I2C_SMB bitfields |
| */ |
| |
| /*! |
| * @name Register I2C_SMB, field SHTF2IE[0] (RW) |
| * |
| * Enables SCL high and SDA low timeout interrupt. |
| * |
| * Values: |
| * - 0b0 - SHTF2 interrupt is disabled |
| * - 0b1 - SHTF2 interrupt is enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_SMB_SHTF2IE field. */ |
| #define I2C_RD_SMB_SHTF2IE(base) ((I2C_SMB_REG(base) & I2C_SMB_SHTF2IE_MASK) >> I2C_SMB_SHTF2IE_SHIFT) |
| #define I2C_BRD_SMB_SHTF2IE(base) (BME_UBFX8(&I2C_SMB_REG(base), I2C_SMB_SHTF2IE_SHIFT, I2C_SMB_SHTF2IE_WIDTH)) |
| |
| /*! @brief Set the SHTF2IE field to a new value. */ |
| #define I2C_WR_SMB_SHTF2IE(base, value) (I2C_RMW_SMB(base, (I2C_SMB_SHTF2IE_MASK | I2C_SMB_SHTF2_MASK | I2C_SMB_SLTF_MASK), I2C_SMB_SHTF2IE(value))) |
| #define I2C_BWR_SMB_SHTF2IE(base, value) (BME_BFI8(&I2C_SMB_REG(base), ((uint8_t)(value) << I2C_SMB_SHTF2IE_SHIFT), I2C_SMB_SHTF2IE_SHIFT, I2C_SMB_SHTF2IE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_SMB, field SHTF2[1] (W1C) |
| * |
| * This bit sets when SCL is held high and SDA is held low more than clock * |
| * LoValue / 512. Software clears this bit by writing 1 to it. |
| * |
| * Values: |
| * - 0b0 - No SCL high and SDA low timeout occurs |
| * - 0b1 - SCL high and SDA low timeout occurs |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_SMB_SHTF2 field. */ |
| #define I2C_RD_SMB_SHTF2(base) ((I2C_SMB_REG(base) & I2C_SMB_SHTF2_MASK) >> I2C_SMB_SHTF2_SHIFT) |
| #define I2C_BRD_SMB_SHTF2(base) (BME_UBFX8(&I2C_SMB_REG(base), I2C_SMB_SHTF2_SHIFT, I2C_SMB_SHTF2_WIDTH)) |
| |
| /*! @brief Set the SHTF2 field to a new value. */ |
| #define I2C_WR_SMB_SHTF2(base, value) (I2C_RMW_SMB(base, (I2C_SMB_SHTF2_MASK | I2C_SMB_SLTF_MASK), I2C_SMB_SHTF2(value))) |
| #define I2C_BWR_SMB_SHTF2(base, value) (BME_BFI8(&I2C_SMB_REG(base), ((uint8_t)(value) << I2C_SMB_SHTF2_SHIFT), I2C_SMB_SHTF2_SHIFT, I2C_SMB_SHTF2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_SMB, field SHTF1[2] (RO) |
| * |
| * This read-only bit sets when SCL and SDA are held high more than clock * |
| * LoValue / 512, which indicates the bus is free. This bit is cleared automatically. |
| * |
| * Values: |
| * - 0b0 - No SCL high and SDA high timeout occurs |
| * - 0b1 - SCL high and SDA high timeout occurs |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_SMB_SHTF1 field. */ |
| #define I2C_RD_SMB_SHTF1(base) ((I2C_SMB_REG(base) & I2C_SMB_SHTF1_MASK) >> I2C_SMB_SHTF1_SHIFT) |
| #define I2C_BRD_SMB_SHTF1(base) (BME_UBFX8(&I2C_SMB_REG(base), I2C_SMB_SHTF1_SHIFT, I2C_SMB_SHTF1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_SMB, field SLTF[3] (W1C) |
| * |
| * This bit is set when the SLT register (consisting of the SLTH and SLTL |
| * registers) is loaded with a non-zero value (LoValue) and an SCL low timeout occurs. |
| * Software clears this bit by writing a logic 1 to it. The low timeout function |
| * is disabled when the SLT register's value is 0. |
| * |
| * Values: |
| * - 0b0 - No low timeout occurs |
| * - 0b1 - Low timeout occurs |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_SMB_SLTF field. */ |
| #define I2C_RD_SMB_SLTF(base) ((I2C_SMB_REG(base) & I2C_SMB_SLTF_MASK) >> I2C_SMB_SLTF_SHIFT) |
| #define I2C_BRD_SMB_SLTF(base) (BME_UBFX8(&I2C_SMB_REG(base), I2C_SMB_SLTF_SHIFT, I2C_SMB_SLTF_WIDTH)) |
| |
| /*! @brief Set the SLTF field to a new value. */ |
| #define I2C_WR_SMB_SLTF(base, value) (I2C_RMW_SMB(base, (I2C_SMB_SLTF_MASK | I2C_SMB_SHTF2_MASK), I2C_SMB_SLTF(value))) |
| #define I2C_BWR_SMB_SLTF(base, value) (BME_BFI8(&I2C_SMB_REG(base), ((uint8_t)(value) << I2C_SMB_SLTF_SHIFT), I2C_SMB_SLTF_SHIFT, I2C_SMB_SLTF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_SMB, field TCKSEL[4] (RW) |
| * |
| * Selects the clock source of the timeout counter. |
| * |
| * Values: |
| * - 0b0 - Timeout counter counts at the frequency of the I2C module clock / 64 |
| * - 0b1 - Timeout counter counts at the frequency of the I2C module clock |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_SMB_TCKSEL field. */ |
| #define I2C_RD_SMB_TCKSEL(base) ((I2C_SMB_REG(base) & I2C_SMB_TCKSEL_MASK) >> I2C_SMB_TCKSEL_SHIFT) |
| #define I2C_BRD_SMB_TCKSEL(base) (BME_UBFX8(&I2C_SMB_REG(base), I2C_SMB_TCKSEL_SHIFT, I2C_SMB_TCKSEL_WIDTH)) |
| |
| /*! @brief Set the TCKSEL field to a new value. */ |
| #define I2C_WR_SMB_TCKSEL(base, value) (I2C_RMW_SMB(base, (I2C_SMB_TCKSEL_MASK | I2C_SMB_SHTF2_MASK | I2C_SMB_SLTF_MASK), I2C_SMB_TCKSEL(value))) |
| #define I2C_BWR_SMB_TCKSEL(base, value) (BME_BFI8(&I2C_SMB_REG(base), ((uint8_t)(value) << I2C_SMB_TCKSEL_SHIFT), I2C_SMB_TCKSEL_SHIFT, I2C_SMB_TCKSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_SMB, field SIICAEN[5] (RW) |
| * |
| * Enables or disables SMBus device default address. |
| * |
| * Values: |
| * - 0b0 - I2C address register 2 matching is disabled |
| * - 0b1 - I2C address register 2 matching is enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_SMB_SIICAEN field. */ |
| #define I2C_RD_SMB_SIICAEN(base) ((I2C_SMB_REG(base) & I2C_SMB_SIICAEN_MASK) >> I2C_SMB_SIICAEN_SHIFT) |
| #define I2C_BRD_SMB_SIICAEN(base) (BME_UBFX8(&I2C_SMB_REG(base), I2C_SMB_SIICAEN_SHIFT, I2C_SMB_SIICAEN_WIDTH)) |
| |
| /*! @brief Set the SIICAEN field to a new value. */ |
| #define I2C_WR_SMB_SIICAEN(base, value) (I2C_RMW_SMB(base, (I2C_SMB_SIICAEN_MASK | I2C_SMB_SHTF2_MASK | I2C_SMB_SLTF_MASK), I2C_SMB_SIICAEN(value))) |
| #define I2C_BWR_SMB_SIICAEN(base, value) (BME_BFI8(&I2C_SMB_REG(base), ((uint8_t)(value) << I2C_SMB_SIICAEN_SHIFT), I2C_SMB_SIICAEN_SHIFT, I2C_SMB_SIICAEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_SMB, field ALERTEN[6] (RW) |
| * |
| * Enables or disables SMBus alert response address matching. After the host |
| * responds to a device that used the alert response address, you must use software |
| * to put the device's address on the bus. The alert protocol is described in the |
| * SMBus specification. |
| * |
| * Values: |
| * - 0b0 - SMBus alert response address matching is disabled |
| * - 0b1 - SMBus alert response address matching is enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_SMB_ALERTEN field. */ |
| #define I2C_RD_SMB_ALERTEN(base) ((I2C_SMB_REG(base) & I2C_SMB_ALERTEN_MASK) >> I2C_SMB_ALERTEN_SHIFT) |
| #define I2C_BRD_SMB_ALERTEN(base) (BME_UBFX8(&I2C_SMB_REG(base), I2C_SMB_ALERTEN_SHIFT, I2C_SMB_ALERTEN_WIDTH)) |
| |
| /*! @brief Set the ALERTEN field to a new value. */ |
| #define I2C_WR_SMB_ALERTEN(base, value) (I2C_RMW_SMB(base, (I2C_SMB_ALERTEN_MASK | I2C_SMB_SHTF2_MASK | I2C_SMB_SLTF_MASK), I2C_SMB_ALERTEN(value))) |
| #define I2C_BWR_SMB_ALERTEN(base, value) (BME_BFI8(&I2C_SMB_REG(base), ((uint8_t)(value) << I2C_SMB_ALERTEN_SHIFT), I2C_SMB_ALERTEN_SHIFT, I2C_SMB_ALERTEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_SMB, field FACK[7] (RW) |
| * |
| * For SMBus packet error checking, the CPU must be able to issue an ACK or NACK |
| * according to the result of receiving data byte. |
| * |
| * Values: |
| * - 0b0 - An ACK or NACK is sent on the following receiving data byte |
| * - 0b1 - Writing 0 to TXAK after receiving a data byte generates an ACK. |
| * Writing 1 to TXAK after receiving a data byte generates a NACK. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_SMB_FACK field. */ |
| #define I2C_RD_SMB_FACK(base) ((I2C_SMB_REG(base) & I2C_SMB_FACK_MASK) >> I2C_SMB_FACK_SHIFT) |
| #define I2C_BRD_SMB_FACK(base) (BME_UBFX8(&I2C_SMB_REG(base), I2C_SMB_FACK_SHIFT, I2C_SMB_FACK_WIDTH)) |
| |
| /*! @brief Set the FACK field to a new value. */ |
| #define I2C_WR_SMB_FACK(base, value) (I2C_RMW_SMB(base, (I2C_SMB_FACK_MASK | I2C_SMB_SHTF2_MASK | I2C_SMB_SLTF_MASK), I2C_SMB_FACK(value))) |
| #define I2C_BWR_SMB_FACK(base, value) (BME_BFI8(&I2C_SMB_REG(base), ((uint8_t)(value) << I2C_SMB_FACK_SHIFT), I2C_SMB_FACK_SHIFT, I2C_SMB_FACK_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_A2 - I2C Address Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_A2 - I2C Address Register 2 (RW) |
| * |
| * Reset value: 0xC2U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_A2 register |
| */ |
| /*@{*/ |
| #define I2C_RD_A2(base) (I2C_A2_REG(base)) |
| #define I2C_WR_A2(base, value) (I2C_A2_REG(base) = (value)) |
| #define I2C_RMW_A2(base, mask, value) (I2C_WR_A2(base, (I2C_RD_A2(base) & ~(mask)) | (value))) |
| #define I2C_SET_A2(base, value) (BME_OR8(&I2C_A2_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_A2(base, value) (BME_AND8(&I2C_A2_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_A2(base, value) (BME_XOR8(&I2C_A2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual I2C_A2 bitfields |
| */ |
| |
| /*! |
| * @name Register I2C_A2, field SAD[7:1] (RW) |
| * |
| * Contains the slave address used by the SMBus. This field is used on the |
| * device default address or other related addresses. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_A2_SAD field. */ |
| #define I2C_RD_A2_SAD(base) ((I2C_A2_REG(base) & I2C_A2_SAD_MASK) >> I2C_A2_SAD_SHIFT) |
| #define I2C_BRD_A2_SAD(base) (BME_UBFX8(&I2C_A2_REG(base), I2C_A2_SAD_SHIFT, I2C_A2_SAD_WIDTH)) |
| |
| /*! @brief Set the SAD field to a new value. */ |
| #define I2C_WR_A2_SAD(base, value) (I2C_RMW_A2(base, I2C_A2_SAD_MASK, I2C_A2_SAD(value))) |
| #define I2C_BWR_A2_SAD(base, value) (BME_BFI8(&I2C_A2_REG(base), ((uint8_t)(value) << I2C_A2_SAD_SHIFT), I2C_A2_SAD_SHIFT, I2C_A2_SAD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_SLTH - I2C SCL Low Timeout Register High |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_SLTH - I2C SCL Low Timeout Register High (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_SLTH register |
| */ |
| /*@{*/ |
| #define I2C_RD_SLTH(base) (I2C_SLTH_REG(base)) |
| #define I2C_WR_SLTH(base, value) (I2C_SLTH_REG(base) = (value)) |
| #define I2C_RMW_SLTH(base, mask, value) (I2C_WR_SLTH(base, (I2C_RD_SLTH(base) & ~(mask)) | (value))) |
| #define I2C_SET_SLTH(base, value) (BME_OR8(&I2C_SLTH_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_SLTH(base, value) (BME_AND8(&I2C_SLTH_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_SLTH(base, value) (BME_XOR8(&I2C_SLTH_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_SLTL - I2C SCL Low Timeout Register Low |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_SLTL - I2C SCL Low Timeout Register Low (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_SLTL register |
| */ |
| /*@{*/ |
| #define I2C_RD_SLTL(base) (I2C_SLTL_REG(base)) |
| #define I2C_WR_SLTL(base, value) (I2C_SLTL_REG(base) = (value)) |
| #define I2C_RMW_SLTL(base, mask, value) (I2C_WR_SLTL(base, (I2C_RD_SLTL(base) & ~(mask)) | (value))) |
| #define I2C_SET_SLTL(base, value) (BME_OR8(&I2C_SLTL_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_SLTL(base, value) (BME_AND8(&I2C_SLTL_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_SLTL(base, value) (BME_XOR8(&I2C_SLTL_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * I2C_S2 - I2C Status register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief I2C_S2 - I2C Status register 2 (RW) |
| * |
| * Reset value: 0x01U |
| */ |
| /*! |
| * @name Constants and macros for entire I2C_S2 register |
| */ |
| /*@{*/ |
| #define I2C_RD_S2(base) (I2C_S2_REG(base)) |
| #define I2C_WR_S2(base, value) (I2C_S2_REG(base) = (value)) |
| #define I2C_RMW_S2(base, mask, value) (I2C_WR_S2(base, (I2C_RD_S2(base) & ~(mask)) | (value))) |
| #define I2C_SET_S2(base, value) (BME_OR8(&I2C_S2_REG(base), (uint8_t)(value))) |
| #define I2C_CLR_S2(base, value) (BME_AND8(&I2C_S2_REG(base), (uint8_t)(~(value)))) |
| #define I2C_TOG_S2(base, value) (BME_XOR8(&I2C_S2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual I2C_S2 bitfields |
| */ |
| |
| /*! |
| * @name Register I2C_S2, field EMPTY[0] (RO) |
| * |
| * Indicates if the Tx or Rx buffer is empty. |
| * |
| * Values: |
| * - 0b0 - Tx or Rx buffer is not empty and cannot be written to, that is new |
| * data cannot be loaded into the buffer. |
| * - 0b1 - Tx or Rx buffer is empty and can be written to, that is new data can |
| * be loaded into the buffer. Write 1 to reset this flag (to the default |
| * value 1, which means that the Tx or Rx buffer is empty). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_S2_EMPTY field. */ |
| #define I2C_RD_S2_EMPTY(base) ((I2C_S2_REG(base) & I2C_S2_EMPTY_MASK) >> I2C_S2_EMPTY_SHIFT) |
| #define I2C_BRD_S2_EMPTY(base) (BME_UBFX8(&I2C_S2_REG(base), I2C_S2_EMPTY_SHIFT, I2C_S2_EMPTY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register I2C_S2, field ERROR[1] (W1C) |
| * |
| * Indicates if there are read or write errors with the Tx and Rx buffers. |
| * |
| * Values: |
| * - 0b0 - The buffer is not full and all write/read operations have no errors. |
| * - 0b1 - There are 3 or more write/read errors during the data transfer phase |
| * (when the Empty flag is not set and the buffer is busy). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the I2C_S2_ERROR field. */ |
| #define I2C_RD_S2_ERROR(base) ((I2C_S2_REG(base) & I2C_S2_ERROR_MASK) >> I2C_S2_ERROR_SHIFT) |
| #define I2C_BRD_S2_ERROR(base) (BME_UBFX8(&I2C_S2_REG(base), I2C_S2_ERROR_SHIFT, I2C_S2_ERROR_WIDTH)) |
| |
| /*! @brief Set the ERROR field to a new value. */ |
| #define I2C_WR_S2_ERROR(base, value) (I2C_RMW_S2(base, I2C_S2_ERROR_MASK, I2C_S2_ERROR(value))) |
| #define I2C_BWR_S2_ERROR(base, value) (BME_BFI8(&I2C_S2_REG(base), ((uint8_t)(value) << I2C_S2_ERROR_SHIFT), I2C_S2_ERROR_SHIFT, I2C_S2_ERROR_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 LLWU |
| * |
| * Low leakage wakeup unit |
| * |
| * Registers defined in this header file: |
| * - LLWU_PE1 - LLWU Pin Enable 1 register |
| * - LLWU_PE2 - LLWU Pin Enable 2 register |
| * - LLWU_PE3 - LLWU Pin Enable 3 register |
| * - LLWU_PE4 - LLWU Pin Enable 4 register |
| * - LLWU_ME - LLWU Module Enable register |
| * - LLWU_F1 - LLWU Flag 1 register |
| * - LLWU_F2 - LLWU Flag 2 register |
| * - LLWU_F3 - LLWU Flag 3 register |
| * - LLWU_FILT1 - LLWU Pin Filter 1 register |
| * - LLWU_FILT2 - LLWU Pin Filter 2 register |
| */ |
| |
| #define LLWU_INSTANCE_COUNT (1U) /*!< Number of instances of the LLWU module. */ |
| #define LLWU_IDX (0U) /*!< Instance number for LLWU. */ |
| |
| /******************************************************************************* |
| * LLWU_PE1 - LLWU Pin Enable 1 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LLWU_PE1 - LLWU Pin Enable 1 register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * LLWU_PE1 contains the field to enable and select the edge detect type for the |
| * external wakeup input pins LLWU_P3-LLWU_P0. This register is reset on Chip |
| * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is |
| * unaffected by reset types that do not trigger Chip Reset not VLLS. See the |
| * IntroductionInformation found here describes the registers of the Reset Control Module |
| * (RCM). The RCM implements many of the reset functions for the chip. See the |
| * chip's reset chapter for more information. details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire LLWU_PE1 register |
| */ |
| /*@{*/ |
| #define LLWU_RD_PE1(base) (LLWU_PE1_REG(base)) |
| #define LLWU_WR_PE1(base, value) (LLWU_PE1_REG(base) = (value)) |
| #define LLWU_RMW_PE1(base, mask, value) (LLWU_WR_PE1(base, (LLWU_RD_PE1(base) & ~(mask)) | (value))) |
| #define LLWU_SET_PE1(base, value) (BME_OR8(&LLWU_PE1_REG(base), (uint8_t)(value))) |
| #define LLWU_CLR_PE1(base, value) (BME_AND8(&LLWU_PE1_REG(base), (uint8_t)(~(value)))) |
| #define LLWU_TOG_PE1(base, value) (BME_XOR8(&LLWU_PE1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LLWU_PE1 bitfields |
| */ |
| |
| /*! |
| * @name Register LLWU_PE1, field WUPE0[1:0] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE1_WUPE0 field. */ |
| #define LLWU_RD_PE1_WUPE0(base) ((LLWU_PE1_REG(base) & LLWU_PE1_WUPE0_MASK) >> LLWU_PE1_WUPE0_SHIFT) |
| #define LLWU_BRD_PE1_WUPE0(base) (BME_UBFX8(&LLWU_PE1_REG(base), LLWU_PE1_WUPE0_SHIFT, LLWU_PE1_WUPE0_WIDTH)) |
| |
| /*! @brief Set the WUPE0 field to a new value. */ |
| #define LLWU_WR_PE1_WUPE0(base, value) (LLWU_RMW_PE1(base, LLWU_PE1_WUPE0_MASK, LLWU_PE1_WUPE0(value))) |
| #define LLWU_BWR_PE1_WUPE0(base, value) (BME_BFI8(&LLWU_PE1_REG(base), ((uint8_t)(value) << LLWU_PE1_WUPE0_SHIFT), LLWU_PE1_WUPE0_SHIFT, LLWU_PE1_WUPE0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE1, field WUPE1[3:2] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE1_WUPE1 field. */ |
| #define LLWU_RD_PE1_WUPE1(base) ((LLWU_PE1_REG(base) & LLWU_PE1_WUPE1_MASK) >> LLWU_PE1_WUPE1_SHIFT) |
| #define LLWU_BRD_PE1_WUPE1(base) (BME_UBFX8(&LLWU_PE1_REG(base), LLWU_PE1_WUPE1_SHIFT, LLWU_PE1_WUPE1_WIDTH)) |
| |
| /*! @brief Set the WUPE1 field to a new value. */ |
| #define LLWU_WR_PE1_WUPE1(base, value) (LLWU_RMW_PE1(base, LLWU_PE1_WUPE1_MASK, LLWU_PE1_WUPE1(value))) |
| #define LLWU_BWR_PE1_WUPE1(base, value) (BME_BFI8(&LLWU_PE1_REG(base), ((uint8_t)(value) << LLWU_PE1_WUPE1_SHIFT), LLWU_PE1_WUPE1_SHIFT, LLWU_PE1_WUPE1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE1, field WUPE2[5:4] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE1_WUPE2 field. */ |
| #define LLWU_RD_PE1_WUPE2(base) ((LLWU_PE1_REG(base) & LLWU_PE1_WUPE2_MASK) >> LLWU_PE1_WUPE2_SHIFT) |
| #define LLWU_BRD_PE1_WUPE2(base) (BME_UBFX8(&LLWU_PE1_REG(base), LLWU_PE1_WUPE2_SHIFT, LLWU_PE1_WUPE2_WIDTH)) |
| |
| /*! @brief Set the WUPE2 field to a new value. */ |
| #define LLWU_WR_PE1_WUPE2(base, value) (LLWU_RMW_PE1(base, LLWU_PE1_WUPE2_MASK, LLWU_PE1_WUPE2(value))) |
| #define LLWU_BWR_PE1_WUPE2(base, value) (BME_BFI8(&LLWU_PE1_REG(base), ((uint8_t)(value) << LLWU_PE1_WUPE2_SHIFT), LLWU_PE1_WUPE2_SHIFT, LLWU_PE1_WUPE2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE1, field WUPE3[7:6] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE1_WUPE3 field. */ |
| #define LLWU_RD_PE1_WUPE3(base) ((LLWU_PE1_REG(base) & LLWU_PE1_WUPE3_MASK) >> LLWU_PE1_WUPE3_SHIFT) |
| #define LLWU_BRD_PE1_WUPE3(base) (BME_UBFX8(&LLWU_PE1_REG(base), LLWU_PE1_WUPE3_SHIFT, LLWU_PE1_WUPE3_WIDTH)) |
| |
| /*! @brief Set the WUPE3 field to a new value. */ |
| #define LLWU_WR_PE1_WUPE3(base, value) (LLWU_RMW_PE1(base, LLWU_PE1_WUPE3_MASK, LLWU_PE1_WUPE3(value))) |
| #define LLWU_BWR_PE1_WUPE3(base, value) (BME_BFI8(&LLWU_PE1_REG(base), ((uint8_t)(value) << LLWU_PE1_WUPE3_SHIFT), LLWU_PE1_WUPE3_SHIFT, LLWU_PE1_WUPE3_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LLWU_PE2 - LLWU Pin Enable 2 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LLWU_PE2 - LLWU Pin Enable 2 register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * LLWU_PE2 contains the field to enable and select the edge detect type for the |
| * external wakeup input pins LLWU_P7-LLWU_P4. This register is reset on Chip |
| * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is |
| * unaffected by reset types that do not trigger Chip Reset not VLLS. See the |
| * IntroductionInformation found here describes the registers of the Reset Control Module |
| * (RCM). The RCM implements many of the reset functions for the chip. See the |
| * chip's reset chapter for more information. details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire LLWU_PE2 register |
| */ |
| /*@{*/ |
| #define LLWU_RD_PE2(base) (LLWU_PE2_REG(base)) |
| #define LLWU_WR_PE2(base, value) (LLWU_PE2_REG(base) = (value)) |
| #define LLWU_RMW_PE2(base, mask, value) (LLWU_WR_PE2(base, (LLWU_RD_PE2(base) & ~(mask)) | (value))) |
| #define LLWU_SET_PE2(base, value) (BME_OR8(&LLWU_PE2_REG(base), (uint8_t)(value))) |
| #define LLWU_CLR_PE2(base, value) (BME_AND8(&LLWU_PE2_REG(base), (uint8_t)(~(value)))) |
| #define LLWU_TOG_PE2(base, value) (BME_XOR8(&LLWU_PE2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LLWU_PE2 bitfields |
| */ |
| |
| /*! |
| * @name Register LLWU_PE2, field WUPE4[1:0] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE2_WUPE4 field. */ |
| #define LLWU_RD_PE2_WUPE4(base) ((LLWU_PE2_REG(base) & LLWU_PE2_WUPE4_MASK) >> LLWU_PE2_WUPE4_SHIFT) |
| #define LLWU_BRD_PE2_WUPE4(base) (BME_UBFX8(&LLWU_PE2_REG(base), LLWU_PE2_WUPE4_SHIFT, LLWU_PE2_WUPE4_WIDTH)) |
| |
| /*! @brief Set the WUPE4 field to a new value. */ |
| #define LLWU_WR_PE2_WUPE4(base, value) (LLWU_RMW_PE2(base, LLWU_PE2_WUPE4_MASK, LLWU_PE2_WUPE4(value))) |
| #define LLWU_BWR_PE2_WUPE4(base, value) (BME_BFI8(&LLWU_PE2_REG(base), ((uint8_t)(value) << LLWU_PE2_WUPE4_SHIFT), LLWU_PE2_WUPE4_SHIFT, LLWU_PE2_WUPE4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE2, field WUPE5[3:2] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE2_WUPE5 field. */ |
| #define LLWU_RD_PE2_WUPE5(base) ((LLWU_PE2_REG(base) & LLWU_PE2_WUPE5_MASK) >> LLWU_PE2_WUPE5_SHIFT) |
| #define LLWU_BRD_PE2_WUPE5(base) (BME_UBFX8(&LLWU_PE2_REG(base), LLWU_PE2_WUPE5_SHIFT, LLWU_PE2_WUPE5_WIDTH)) |
| |
| /*! @brief Set the WUPE5 field to a new value. */ |
| #define LLWU_WR_PE2_WUPE5(base, value) (LLWU_RMW_PE2(base, LLWU_PE2_WUPE5_MASK, LLWU_PE2_WUPE5(value))) |
| #define LLWU_BWR_PE2_WUPE5(base, value) (BME_BFI8(&LLWU_PE2_REG(base), ((uint8_t)(value) << LLWU_PE2_WUPE5_SHIFT), LLWU_PE2_WUPE5_SHIFT, LLWU_PE2_WUPE5_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE2, field WUPE6[5:4] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE2_WUPE6 field. */ |
| #define LLWU_RD_PE2_WUPE6(base) ((LLWU_PE2_REG(base) & LLWU_PE2_WUPE6_MASK) >> LLWU_PE2_WUPE6_SHIFT) |
| #define LLWU_BRD_PE2_WUPE6(base) (BME_UBFX8(&LLWU_PE2_REG(base), LLWU_PE2_WUPE6_SHIFT, LLWU_PE2_WUPE6_WIDTH)) |
| |
| /*! @brief Set the WUPE6 field to a new value. */ |
| #define LLWU_WR_PE2_WUPE6(base, value) (LLWU_RMW_PE2(base, LLWU_PE2_WUPE6_MASK, LLWU_PE2_WUPE6(value))) |
| #define LLWU_BWR_PE2_WUPE6(base, value) (BME_BFI8(&LLWU_PE2_REG(base), ((uint8_t)(value) << LLWU_PE2_WUPE6_SHIFT), LLWU_PE2_WUPE6_SHIFT, LLWU_PE2_WUPE6_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE2, field WUPE7[7:6] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE2_WUPE7 field. */ |
| #define LLWU_RD_PE2_WUPE7(base) ((LLWU_PE2_REG(base) & LLWU_PE2_WUPE7_MASK) >> LLWU_PE2_WUPE7_SHIFT) |
| #define LLWU_BRD_PE2_WUPE7(base) (BME_UBFX8(&LLWU_PE2_REG(base), LLWU_PE2_WUPE7_SHIFT, LLWU_PE2_WUPE7_WIDTH)) |
| |
| /*! @brief Set the WUPE7 field to a new value. */ |
| #define LLWU_WR_PE2_WUPE7(base, value) (LLWU_RMW_PE2(base, LLWU_PE2_WUPE7_MASK, LLWU_PE2_WUPE7(value))) |
| #define LLWU_BWR_PE2_WUPE7(base, value) (BME_BFI8(&LLWU_PE2_REG(base), ((uint8_t)(value) << LLWU_PE2_WUPE7_SHIFT), LLWU_PE2_WUPE7_SHIFT, LLWU_PE2_WUPE7_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LLWU_PE3 - LLWU Pin Enable 3 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LLWU_PE3 - LLWU Pin Enable 3 register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * LLWU_PE3 contains the field to enable and select the edge detect type for the |
| * external wakeup input pins LLWU_P11-LLWU_P8. This register is reset on Chip |
| * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is |
| * unaffected by reset types that do not trigger Chip Reset not VLLS. See the |
| * IntroductionInformation found here describes the registers of the Reset Control Module |
| * (RCM). The RCM implements many of the reset functions for the chip. See the |
| * chip's reset chapter for more information. details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire LLWU_PE3 register |
| */ |
| /*@{*/ |
| #define LLWU_RD_PE3(base) (LLWU_PE3_REG(base)) |
| #define LLWU_WR_PE3(base, value) (LLWU_PE3_REG(base) = (value)) |
| #define LLWU_RMW_PE3(base, mask, value) (LLWU_WR_PE3(base, (LLWU_RD_PE3(base) & ~(mask)) | (value))) |
| #define LLWU_SET_PE3(base, value) (BME_OR8(&LLWU_PE3_REG(base), (uint8_t)(value))) |
| #define LLWU_CLR_PE3(base, value) (BME_AND8(&LLWU_PE3_REG(base), (uint8_t)(~(value)))) |
| #define LLWU_TOG_PE3(base, value) (BME_XOR8(&LLWU_PE3_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LLWU_PE3 bitfields |
| */ |
| |
| /*! |
| * @name Register LLWU_PE3, field WUPE8[1:0] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE3_WUPE8 field. */ |
| #define LLWU_RD_PE3_WUPE8(base) ((LLWU_PE3_REG(base) & LLWU_PE3_WUPE8_MASK) >> LLWU_PE3_WUPE8_SHIFT) |
| #define LLWU_BRD_PE3_WUPE8(base) (BME_UBFX8(&LLWU_PE3_REG(base), LLWU_PE3_WUPE8_SHIFT, LLWU_PE3_WUPE8_WIDTH)) |
| |
| /*! @brief Set the WUPE8 field to a new value. */ |
| #define LLWU_WR_PE3_WUPE8(base, value) (LLWU_RMW_PE3(base, LLWU_PE3_WUPE8_MASK, LLWU_PE3_WUPE8(value))) |
| #define LLWU_BWR_PE3_WUPE8(base, value) (BME_BFI8(&LLWU_PE3_REG(base), ((uint8_t)(value) << LLWU_PE3_WUPE8_SHIFT), LLWU_PE3_WUPE8_SHIFT, LLWU_PE3_WUPE8_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE3, field WUPE9[3:2] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE3_WUPE9 field. */ |
| #define LLWU_RD_PE3_WUPE9(base) ((LLWU_PE3_REG(base) & LLWU_PE3_WUPE9_MASK) >> LLWU_PE3_WUPE9_SHIFT) |
| #define LLWU_BRD_PE3_WUPE9(base) (BME_UBFX8(&LLWU_PE3_REG(base), LLWU_PE3_WUPE9_SHIFT, LLWU_PE3_WUPE9_WIDTH)) |
| |
| /*! @brief Set the WUPE9 field to a new value. */ |
| #define LLWU_WR_PE3_WUPE9(base, value) (LLWU_RMW_PE3(base, LLWU_PE3_WUPE9_MASK, LLWU_PE3_WUPE9(value))) |
| #define LLWU_BWR_PE3_WUPE9(base, value) (BME_BFI8(&LLWU_PE3_REG(base), ((uint8_t)(value) << LLWU_PE3_WUPE9_SHIFT), LLWU_PE3_WUPE9_SHIFT, LLWU_PE3_WUPE9_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE3, field WUPE10[5:4] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE3_WUPE10 field. */ |
| #define LLWU_RD_PE3_WUPE10(base) ((LLWU_PE3_REG(base) & LLWU_PE3_WUPE10_MASK) >> LLWU_PE3_WUPE10_SHIFT) |
| #define LLWU_BRD_PE3_WUPE10(base) (BME_UBFX8(&LLWU_PE3_REG(base), LLWU_PE3_WUPE10_SHIFT, LLWU_PE3_WUPE10_WIDTH)) |
| |
| /*! @brief Set the WUPE10 field to a new value. */ |
| #define LLWU_WR_PE3_WUPE10(base, value) (LLWU_RMW_PE3(base, LLWU_PE3_WUPE10_MASK, LLWU_PE3_WUPE10(value))) |
| #define LLWU_BWR_PE3_WUPE10(base, value) (BME_BFI8(&LLWU_PE3_REG(base), ((uint8_t)(value) << LLWU_PE3_WUPE10_SHIFT), LLWU_PE3_WUPE10_SHIFT, LLWU_PE3_WUPE10_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE3, field WUPE11[7:6] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE3_WUPE11 field. */ |
| #define LLWU_RD_PE3_WUPE11(base) ((LLWU_PE3_REG(base) & LLWU_PE3_WUPE11_MASK) >> LLWU_PE3_WUPE11_SHIFT) |
| #define LLWU_BRD_PE3_WUPE11(base) (BME_UBFX8(&LLWU_PE3_REG(base), LLWU_PE3_WUPE11_SHIFT, LLWU_PE3_WUPE11_WIDTH)) |
| |
| /*! @brief Set the WUPE11 field to a new value. */ |
| #define LLWU_WR_PE3_WUPE11(base, value) (LLWU_RMW_PE3(base, LLWU_PE3_WUPE11_MASK, LLWU_PE3_WUPE11(value))) |
| #define LLWU_BWR_PE3_WUPE11(base, value) (BME_BFI8(&LLWU_PE3_REG(base), ((uint8_t)(value) << LLWU_PE3_WUPE11_SHIFT), LLWU_PE3_WUPE11_SHIFT, LLWU_PE3_WUPE11_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LLWU_PE4 - LLWU Pin Enable 4 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LLWU_PE4 - LLWU Pin Enable 4 register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * LLWU_PE4 contains the field to enable and select the edge detect type for the |
| * external wakeup input pins LLWU_P15-LLWU_P12. This register is reset on Chip |
| * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is |
| * unaffected by reset types that do not trigger Chip Reset not VLLS. See the |
| * IntroductionInformation found here describes the registers of the Reset Control |
| * Module (RCM). The RCM implements many of the reset functions for the chip. See the |
| * chip's reset chapter for more information. details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire LLWU_PE4 register |
| */ |
| /*@{*/ |
| #define LLWU_RD_PE4(base) (LLWU_PE4_REG(base)) |
| #define LLWU_WR_PE4(base, value) (LLWU_PE4_REG(base) = (value)) |
| #define LLWU_RMW_PE4(base, mask, value) (LLWU_WR_PE4(base, (LLWU_RD_PE4(base) & ~(mask)) | (value))) |
| #define LLWU_SET_PE4(base, value) (BME_OR8(&LLWU_PE4_REG(base), (uint8_t)(value))) |
| #define LLWU_CLR_PE4(base, value) (BME_AND8(&LLWU_PE4_REG(base), (uint8_t)(~(value)))) |
| #define LLWU_TOG_PE4(base, value) (BME_XOR8(&LLWU_PE4_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LLWU_PE4 bitfields |
| */ |
| |
| /*! |
| * @name Register LLWU_PE4, field WUPE12[1:0] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE4_WUPE12 field. */ |
| #define LLWU_RD_PE4_WUPE12(base) ((LLWU_PE4_REG(base) & LLWU_PE4_WUPE12_MASK) >> LLWU_PE4_WUPE12_SHIFT) |
| #define LLWU_BRD_PE4_WUPE12(base) (BME_UBFX8(&LLWU_PE4_REG(base), LLWU_PE4_WUPE12_SHIFT, LLWU_PE4_WUPE12_WIDTH)) |
| |
| /*! @brief Set the WUPE12 field to a new value. */ |
| #define LLWU_WR_PE4_WUPE12(base, value) (LLWU_RMW_PE4(base, LLWU_PE4_WUPE12_MASK, LLWU_PE4_WUPE12(value))) |
| #define LLWU_BWR_PE4_WUPE12(base, value) (BME_BFI8(&LLWU_PE4_REG(base), ((uint8_t)(value) << LLWU_PE4_WUPE12_SHIFT), LLWU_PE4_WUPE12_SHIFT, LLWU_PE4_WUPE12_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE4, field WUPE13[3:2] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE4_WUPE13 field. */ |
| #define LLWU_RD_PE4_WUPE13(base) ((LLWU_PE4_REG(base) & LLWU_PE4_WUPE13_MASK) >> LLWU_PE4_WUPE13_SHIFT) |
| #define LLWU_BRD_PE4_WUPE13(base) (BME_UBFX8(&LLWU_PE4_REG(base), LLWU_PE4_WUPE13_SHIFT, LLWU_PE4_WUPE13_WIDTH)) |
| |
| /*! @brief Set the WUPE13 field to a new value. */ |
| #define LLWU_WR_PE4_WUPE13(base, value) (LLWU_RMW_PE4(base, LLWU_PE4_WUPE13_MASK, LLWU_PE4_WUPE13(value))) |
| #define LLWU_BWR_PE4_WUPE13(base, value) (BME_BFI8(&LLWU_PE4_REG(base), ((uint8_t)(value) << LLWU_PE4_WUPE13_SHIFT), LLWU_PE4_WUPE13_SHIFT, LLWU_PE4_WUPE13_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE4, field WUPE14[5:4] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE4_WUPE14 field. */ |
| #define LLWU_RD_PE4_WUPE14(base) ((LLWU_PE4_REG(base) & LLWU_PE4_WUPE14_MASK) >> LLWU_PE4_WUPE14_SHIFT) |
| #define LLWU_BRD_PE4_WUPE14(base) (BME_UBFX8(&LLWU_PE4_REG(base), LLWU_PE4_WUPE14_SHIFT, LLWU_PE4_WUPE14_WIDTH)) |
| |
| /*! @brief Set the WUPE14 field to a new value. */ |
| #define LLWU_WR_PE4_WUPE14(base, value) (LLWU_RMW_PE4(base, LLWU_PE4_WUPE14_MASK, LLWU_PE4_WUPE14(value))) |
| #define LLWU_BWR_PE4_WUPE14(base, value) (BME_BFI8(&LLWU_PE4_REG(base), ((uint8_t)(value) << LLWU_PE4_WUPE14_SHIFT), LLWU_PE4_WUPE14_SHIFT, LLWU_PE4_WUPE14_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_PE4, field WUPE15[7:6] (RW) |
| * |
| * Enables and configures the edge detection for the wakeup pin. |
| * |
| * Values: |
| * - 0b00 - External input pin disabled as wakeup input |
| * - 0b01 - External input pin enabled with rising edge detection |
| * - 0b10 - External input pin enabled with falling edge detection |
| * - 0b11 - External input pin enabled with any change detection |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_PE4_WUPE15 field. */ |
| #define LLWU_RD_PE4_WUPE15(base) ((LLWU_PE4_REG(base) & LLWU_PE4_WUPE15_MASK) >> LLWU_PE4_WUPE15_SHIFT) |
| #define LLWU_BRD_PE4_WUPE15(base) (BME_UBFX8(&LLWU_PE4_REG(base), LLWU_PE4_WUPE15_SHIFT, LLWU_PE4_WUPE15_WIDTH)) |
| |
| /*! @brief Set the WUPE15 field to a new value. */ |
| #define LLWU_WR_PE4_WUPE15(base, value) (LLWU_RMW_PE4(base, LLWU_PE4_WUPE15_MASK, LLWU_PE4_WUPE15(value))) |
| #define LLWU_BWR_PE4_WUPE15(base, value) (BME_BFI8(&LLWU_PE4_REG(base), ((uint8_t)(value) << LLWU_PE4_WUPE15_SHIFT), LLWU_PE4_WUPE15_SHIFT, LLWU_PE4_WUPE15_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LLWU_ME - LLWU Module Enable register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LLWU_ME - LLWU Module Enable register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * LLWU_ME contains the bits to enable the internal module flag as a wakeup |
| * input source for inputs MWUF7-MWUF0. This register is reset on Chip Reset not VLLS |
| * and by reset types that trigger Chip Reset not VLLS. It is unaffected by |
| * reset types that do not trigger Chip Reset not VLLS. See the |
| * IntroductionInformation found here describes the registers of the Reset Control Module (RCM). The |
| * RCM implements many of the reset functions for the chip. See the chip's reset |
| * chapter for more information. details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire LLWU_ME register |
| */ |
| /*@{*/ |
| #define LLWU_RD_ME(base) (LLWU_ME_REG(base)) |
| #define LLWU_WR_ME(base, value) (LLWU_ME_REG(base) = (value)) |
| #define LLWU_RMW_ME(base, mask, value) (LLWU_WR_ME(base, (LLWU_RD_ME(base) & ~(mask)) | (value))) |
| #define LLWU_SET_ME(base, value) (BME_OR8(&LLWU_ME_REG(base), (uint8_t)(value))) |
| #define LLWU_CLR_ME(base, value) (BME_AND8(&LLWU_ME_REG(base), (uint8_t)(~(value)))) |
| #define LLWU_TOG_ME(base, value) (BME_XOR8(&LLWU_ME_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LLWU_ME bitfields |
| */ |
| |
| /*! |
| * @name Register LLWU_ME, field WUME0[0] (RW) |
| * |
| * Enables an internal module as a wakeup source input. |
| * |
| * Values: |
| * - 0b0 - Internal module flag not used as wakeup source |
| * - 0b1 - Internal module flag used as wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_ME_WUME0 field. */ |
| #define LLWU_RD_ME_WUME0(base) ((LLWU_ME_REG(base) & LLWU_ME_WUME0_MASK) >> LLWU_ME_WUME0_SHIFT) |
| #define LLWU_BRD_ME_WUME0(base) (BME_UBFX8(&LLWU_ME_REG(base), LLWU_ME_WUME0_SHIFT, LLWU_ME_WUME0_WIDTH)) |
| |
| /*! @brief Set the WUME0 field to a new value. */ |
| #define LLWU_WR_ME_WUME0(base, value) (LLWU_RMW_ME(base, LLWU_ME_WUME0_MASK, LLWU_ME_WUME0(value))) |
| #define LLWU_BWR_ME_WUME0(base, value) (BME_BFI8(&LLWU_ME_REG(base), ((uint8_t)(value) << LLWU_ME_WUME0_SHIFT), LLWU_ME_WUME0_SHIFT, LLWU_ME_WUME0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_ME, field WUME1[1] (RW) |
| * |
| * Enables an internal module as a wakeup source input. |
| * |
| * Values: |
| * - 0b0 - Internal module flag not used as wakeup source |
| * - 0b1 - Internal module flag used as wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_ME_WUME1 field. */ |
| #define LLWU_RD_ME_WUME1(base) ((LLWU_ME_REG(base) & LLWU_ME_WUME1_MASK) >> LLWU_ME_WUME1_SHIFT) |
| #define LLWU_BRD_ME_WUME1(base) (BME_UBFX8(&LLWU_ME_REG(base), LLWU_ME_WUME1_SHIFT, LLWU_ME_WUME1_WIDTH)) |
| |
| /*! @brief Set the WUME1 field to a new value. */ |
| #define LLWU_WR_ME_WUME1(base, value) (LLWU_RMW_ME(base, LLWU_ME_WUME1_MASK, LLWU_ME_WUME1(value))) |
| #define LLWU_BWR_ME_WUME1(base, value) (BME_BFI8(&LLWU_ME_REG(base), ((uint8_t)(value) << LLWU_ME_WUME1_SHIFT), LLWU_ME_WUME1_SHIFT, LLWU_ME_WUME1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_ME, field WUME2[2] (RW) |
| * |
| * Enables an internal module as a wakeup source input. |
| * |
| * Values: |
| * - 0b0 - Internal module flag not used as wakeup source |
| * - 0b1 - Internal module flag used as wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_ME_WUME2 field. */ |
| #define LLWU_RD_ME_WUME2(base) ((LLWU_ME_REG(base) & LLWU_ME_WUME2_MASK) >> LLWU_ME_WUME2_SHIFT) |
| #define LLWU_BRD_ME_WUME2(base) (BME_UBFX8(&LLWU_ME_REG(base), LLWU_ME_WUME2_SHIFT, LLWU_ME_WUME2_WIDTH)) |
| |
| /*! @brief Set the WUME2 field to a new value. */ |
| #define LLWU_WR_ME_WUME2(base, value) (LLWU_RMW_ME(base, LLWU_ME_WUME2_MASK, LLWU_ME_WUME2(value))) |
| #define LLWU_BWR_ME_WUME2(base, value) (BME_BFI8(&LLWU_ME_REG(base), ((uint8_t)(value) << LLWU_ME_WUME2_SHIFT), LLWU_ME_WUME2_SHIFT, LLWU_ME_WUME2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_ME, field WUME3[3] (RW) |
| * |
| * Enables an internal module as a wakeup source input. |
| * |
| * Values: |
| * - 0b0 - Internal module flag not used as wakeup source |
| * - 0b1 - Internal module flag used as wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_ME_WUME3 field. */ |
| #define LLWU_RD_ME_WUME3(base) ((LLWU_ME_REG(base) & LLWU_ME_WUME3_MASK) >> LLWU_ME_WUME3_SHIFT) |
| #define LLWU_BRD_ME_WUME3(base) (BME_UBFX8(&LLWU_ME_REG(base), LLWU_ME_WUME3_SHIFT, LLWU_ME_WUME3_WIDTH)) |
| |
| /*! @brief Set the WUME3 field to a new value. */ |
| #define LLWU_WR_ME_WUME3(base, value) (LLWU_RMW_ME(base, LLWU_ME_WUME3_MASK, LLWU_ME_WUME3(value))) |
| #define LLWU_BWR_ME_WUME3(base, value) (BME_BFI8(&LLWU_ME_REG(base), ((uint8_t)(value) << LLWU_ME_WUME3_SHIFT), LLWU_ME_WUME3_SHIFT, LLWU_ME_WUME3_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_ME, field WUME4[4] (RW) |
| * |
| * Enables an internal module as a wakeup source input. |
| * |
| * Values: |
| * - 0b0 - Internal module flag not used as wakeup source |
| * - 0b1 - Internal module flag used as wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_ME_WUME4 field. */ |
| #define LLWU_RD_ME_WUME4(base) ((LLWU_ME_REG(base) & LLWU_ME_WUME4_MASK) >> LLWU_ME_WUME4_SHIFT) |
| #define LLWU_BRD_ME_WUME4(base) (BME_UBFX8(&LLWU_ME_REG(base), LLWU_ME_WUME4_SHIFT, LLWU_ME_WUME4_WIDTH)) |
| |
| /*! @brief Set the WUME4 field to a new value. */ |
| #define LLWU_WR_ME_WUME4(base, value) (LLWU_RMW_ME(base, LLWU_ME_WUME4_MASK, LLWU_ME_WUME4(value))) |
| #define LLWU_BWR_ME_WUME4(base, value) (BME_BFI8(&LLWU_ME_REG(base), ((uint8_t)(value) << LLWU_ME_WUME4_SHIFT), LLWU_ME_WUME4_SHIFT, LLWU_ME_WUME4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_ME, field WUME5[5] (RW) |
| * |
| * Enables an internal module as a wakeup source input. |
| * |
| * Values: |
| * - 0b0 - Internal module flag not used as wakeup source |
| * - 0b1 - Internal module flag used as wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_ME_WUME5 field. */ |
| #define LLWU_RD_ME_WUME5(base) ((LLWU_ME_REG(base) & LLWU_ME_WUME5_MASK) >> LLWU_ME_WUME5_SHIFT) |
| #define LLWU_BRD_ME_WUME5(base) (BME_UBFX8(&LLWU_ME_REG(base), LLWU_ME_WUME5_SHIFT, LLWU_ME_WUME5_WIDTH)) |
| |
| /*! @brief Set the WUME5 field to a new value. */ |
| #define LLWU_WR_ME_WUME5(base, value) (LLWU_RMW_ME(base, LLWU_ME_WUME5_MASK, LLWU_ME_WUME5(value))) |
| #define LLWU_BWR_ME_WUME5(base, value) (BME_BFI8(&LLWU_ME_REG(base), ((uint8_t)(value) << LLWU_ME_WUME5_SHIFT), LLWU_ME_WUME5_SHIFT, LLWU_ME_WUME5_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_ME, field WUME6[6] (RW) |
| * |
| * Enables an internal module as a wakeup source input. |
| * |
| * Values: |
| * - 0b0 - Internal module flag not used as wakeup source |
| * - 0b1 - Internal module flag used as wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_ME_WUME6 field. */ |
| #define LLWU_RD_ME_WUME6(base) ((LLWU_ME_REG(base) & LLWU_ME_WUME6_MASK) >> LLWU_ME_WUME6_SHIFT) |
| #define LLWU_BRD_ME_WUME6(base) (BME_UBFX8(&LLWU_ME_REG(base), LLWU_ME_WUME6_SHIFT, LLWU_ME_WUME6_WIDTH)) |
| |
| /*! @brief Set the WUME6 field to a new value. */ |
| #define LLWU_WR_ME_WUME6(base, value) (LLWU_RMW_ME(base, LLWU_ME_WUME6_MASK, LLWU_ME_WUME6(value))) |
| #define LLWU_BWR_ME_WUME6(base, value) (BME_BFI8(&LLWU_ME_REG(base), ((uint8_t)(value) << LLWU_ME_WUME6_SHIFT), LLWU_ME_WUME6_SHIFT, LLWU_ME_WUME6_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_ME, field WUME7[7] (RW) |
| * |
| * Enables an internal module as a wakeup source input. |
| * |
| * Values: |
| * - 0b0 - Internal module flag not used as wakeup source |
| * - 0b1 - Internal module flag used as wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_ME_WUME7 field. */ |
| #define LLWU_RD_ME_WUME7(base) ((LLWU_ME_REG(base) & LLWU_ME_WUME7_MASK) >> LLWU_ME_WUME7_SHIFT) |
| #define LLWU_BRD_ME_WUME7(base) (BME_UBFX8(&LLWU_ME_REG(base), LLWU_ME_WUME7_SHIFT, LLWU_ME_WUME7_WIDTH)) |
| |
| /*! @brief Set the WUME7 field to a new value. */ |
| #define LLWU_WR_ME_WUME7(base, value) (LLWU_RMW_ME(base, LLWU_ME_WUME7_MASK, LLWU_ME_WUME7(value))) |
| #define LLWU_BWR_ME_WUME7(base, value) (BME_BFI8(&LLWU_ME_REG(base), ((uint8_t)(value) << LLWU_ME_WUME7_SHIFT), LLWU_ME_WUME7_SHIFT, LLWU_ME_WUME7_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LLWU_F1 - LLWU Flag 1 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LLWU_F1 - LLWU Flag 1 register (W1C) |
| * |
| * Reset value: 0x00U |
| * |
| * LLWU_F1 contains the wakeup flags indicating which wakeup source caused the |
| * MCU to exit LLS or VLLS mode. For LLS, this is the source causing the CPU |
| * interrupt flow. For VLLS, this is the source causing the MCU reset flow. The |
| * external wakeup flags are read-only and clearing a flag is accomplished by a write |
| * of a 1 to the corresponding WUFx bit. The wakeup flag (WUFx), if set, will |
| * remain set if the associated WUPEx bit is cleared. This register is reset on Chip |
| * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is |
| * unaffected by reset types that do not trigger Chip Reset not VLLS. See the |
| * IntroductionInformation found here describes the registers of the Reset Control |
| * Module (RCM). The RCM implements many of the reset functions for the chip. See the |
| * chip's reset chapter for more information. details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire LLWU_F1 register |
| */ |
| /*@{*/ |
| #define LLWU_RD_F1(base) (LLWU_F1_REG(base)) |
| #define LLWU_WR_F1(base, value) (LLWU_F1_REG(base) = (value)) |
| #define LLWU_RMW_F1(base, mask, value) (LLWU_WR_F1(base, (LLWU_RD_F1(base) & ~(mask)) | (value))) |
| #define LLWU_SET_F1(base, value) (BME_OR8(&LLWU_F1_REG(base), (uint8_t)(value))) |
| #define LLWU_CLR_F1(base, value) (BME_AND8(&LLWU_F1_REG(base), (uint8_t)(~(value)))) |
| #define LLWU_TOG_F1(base, value) (BME_XOR8(&LLWU_F1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LLWU_F1 bitfields |
| */ |
| |
| /*! |
| * @name Register LLWU_F1, field WUF0[0] (W1C) |
| * |
| * Indicates that an enabled external wake-up pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF0. |
| * |
| * Values: |
| * - 0b0 - LLWU_P0 input was not a wakeup source |
| * - 0b1 - LLWU_P0 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F1_WUF0 field. */ |
| #define LLWU_RD_F1_WUF0(base) ((LLWU_F1_REG(base) & LLWU_F1_WUF0_MASK) >> LLWU_F1_WUF0_SHIFT) |
| #define LLWU_BRD_F1_WUF0(base) (BME_UBFX8(&LLWU_F1_REG(base), LLWU_F1_WUF0_SHIFT, LLWU_F1_WUF0_WIDTH)) |
| |
| /*! @brief Set the WUF0 field to a new value. */ |
| #define LLWU_WR_F1_WUF0(base, value) (LLWU_RMW_F1(base, (LLWU_F1_WUF0_MASK | LLWU_F1_WUF1_MASK | LLWU_F1_WUF2_MASK | LLWU_F1_WUF3_MASK | LLWU_F1_WUF4_MASK | LLWU_F1_WUF5_MASK | LLWU_F1_WUF6_MASK | LLWU_F1_WUF7_MASK), LLWU_F1_WUF0(value))) |
| #define LLWU_BWR_F1_WUF0(base, value) (BME_BFI8(&LLWU_F1_REG(base), ((uint8_t)(value) << LLWU_F1_WUF0_SHIFT), LLWU_F1_WUF0_SHIFT, LLWU_F1_WUF0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F1, field WUF1[1] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF1. |
| * |
| * Values: |
| * - 0b0 - LLWU_P1 input was not a wakeup source |
| * - 0b1 - LLWU_P1 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F1_WUF1 field. */ |
| #define LLWU_RD_F1_WUF1(base) ((LLWU_F1_REG(base) & LLWU_F1_WUF1_MASK) >> LLWU_F1_WUF1_SHIFT) |
| #define LLWU_BRD_F1_WUF1(base) (BME_UBFX8(&LLWU_F1_REG(base), LLWU_F1_WUF1_SHIFT, LLWU_F1_WUF1_WIDTH)) |
| |
| /*! @brief Set the WUF1 field to a new value. */ |
| #define LLWU_WR_F1_WUF1(base, value) (LLWU_RMW_F1(base, (LLWU_F1_WUF1_MASK | LLWU_F1_WUF0_MASK | LLWU_F1_WUF2_MASK | LLWU_F1_WUF3_MASK | LLWU_F1_WUF4_MASK | LLWU_F1_WUF5_MASK | LLWU_F1_WUF6_MASK | LLWU_F1_WUF7_MASK), LLWU_F1_WUF1(value))) |
| #define LLWU_BWR_F1_WUF1(base, value) (BME_BFI8(&LLWU_F1_REG(base), ((uint8_t)(value) << LLWU_F1_WUF1_SHIFT), LLWU_F1_WUF1_SHIFT, LLWU_F1_WUF1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F1, field WUF2[2] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF2. |
| * |
| * Values: |
| * - 0b0 - LLWU_P2 input was not a wakeup source |
| * - 0b1 - LLWU_P2 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F1_WUF2 field. */ |
| #define LLWU_RD_F1_WUF2(base) ((LLWU_F1_REG(base) & LLWU_F1_WUF2_MASK) >> LLWU_F1_WUF2_SHIFT) |
| #define LLWU_BRD_F1_WUF2(base) (BME_UBFX8(&LLWU_F1_REG(base), LLWU_F1_WUF2_SHIFT, LLWU_F1_WUF2_WIDTH)) |
| |
| /*! @brief Set the WUF2 field to a new value. */ |
| #define LLWU_WR_F1_WUF2(base, value) (LLWU_RMW_F1(base, (LLWU_F1_WUF2_MASK | LLWU_F1_WUF0_MASK | LLWU_F1_WUF1_MASK | LLWU_F1_WUF3_MASK | LLWU_F1_WUF4_MASK | LLWU_F1_WUF5_MASK | LLWU_F1_WUF6_MASK | LLWU_F1_WUF7_MASK), LLWU_F1_WUF2(value))) |
| #define LLWU_BWR_F1_WUF2(base, value) (BME_BFI8(&LLWU_F1_REG(base), ((uint8_t)(value) << LLWU_F1_WUF2_SHIFT), LLWU_F1_WUF2_SHIFT, LLWU_F1_WUF2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F1, field WUF3[3] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF3. |
| * |
| * Values: |
| * - 0b0 - LLWU_P3 input was not a wake-up source |
| * - 0b1 - LLWU_P3 input was a wake-up source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F1_WUF3 field. */ |
| #define LLWU_RD_F1_WUF3(base) ((LLWU_F1_REG(base) & LLWU_F1_WUF3_MASK) >> LLWU_F1_WUF3_SHIFT) |
| #define LLWU_BRD_F1_WUF3(base) (BME_UBFX8(&LLWU_F1_REG(base), LLWU_F1_WUF3_SHIFT, LLWU_F1_WUF3_WIDTH)) |
| |
| /*! @brief Set the WUF3 field to a new value. */ |
| #define LLWU_WR_F1_WUF3(base, value) (LLWU_RMW_F1(base, (LLWU_F1_WUF3_MASK | LLWU_F1_WUF0_MASK | LLWU_F1_WUF1_MASK | LLWU_F1_WUF2_MASK | LLWU_F1_WUF4_MASK | LLWU_F1_WUF5_MASK | LLWU_F1_WUF6_MASK | LLWU_F1_WUF7_MASK), LLWU_F1_WUF3(value))) |
| #define LLWU_BWR_F1_WUF3(base, value) (BME_BFI8(&LLWU_F1_REG(base), ((uint8_t)(value) << LLWU_F1_WUF3_SHIFT), LLWU_F1_WUF3_SHIFT, LLWU_F1_WUF3_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F1, field WUF4[4] (W1C) |
| * |
| * Indicates that an enabled external wake-up pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF4. |
| * |
| * Values: |
| * - 0b0 - LLWU_P4 input was not a wakeup source |
| * - 0b1 - LLWU_P4 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F1_WUF4 field. */ |
| #define LLWU_RD_F1_WUF4(base) ((LLWU_F1_REG(base) & LLWU_F1_WUF4_MASK) >> LLWU_F1_WUF4_SHIFT) |
| #define LLWU_BRD_F1_WUF4(base) (BME_UBFX8(&LLWU_F1_REG(base), LLWU_F1_WUF4_SHIFT, LLWU_F1_WUF4_WIDTH)) |
| |
| /*! @brief Set the WUF4 field to a new value. */ |
| #define LLWU_WR_F1_WUF4(base, value) (LLWU_RMW_F1(base, (LLWU_F1_WUF4_MASK | LLWU_F1_WUF0_MASK | LLWU_F1_WUF1_MASK | LLWU_F1_WUF2_MASK | LLWU_F1_WUF3_MASK | LLWU_F1_WUF5_MASK | LLWU_F1_WUF6_MASK | LLWU_F1_WUF7_MASK), LLWU_F1_WUF4(value))) |
| #define LLWU_BWR_F1_WUF4(base, value) (BME_BFI8(&LLWU_F1_REG(base), ((uint8_t)(value) << LLWU_F1_WUF4_SHIFT), LLWU_F1_WUF4_SHIFT, LLWU_F1_WUF4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F1, field WUF5[5] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF5. |
| * |
| * Values: |
| * - 0b0 - LLWU_P5 input was not a wakeup source |
| * - 0b1 - LLWU_P5 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F1_WUF5 field. */ |
| #define LLWU_RD_F1_WUF5(base) ((LLWU_F1_REG(base) & LLWU_F1_WUF5_MASK) >> LLWU_F1_WUF5_SHIFT) |
| #define LLWU_BRD_F1_WUF5(base) (BME_UBFX8(&LLWU_F1_REG(base), LLWU_F1_WUF5_SHIFT, LLWU_F1_WUF5_WIDTH)) |
| |
| /*! @brief Set the WUF5 field to a new value. */ |
| #define LLWU_WR_F1_WUF5(base, value) (LLWU_RMW_F1(base, (LLWU_F1_WUF5_MASK | LLWU_F1_WUF0_MASK | LLWU_F1_WUF1_MASK | LLWU_F1_WUF2_MASK | LLWU_F1_WUF3_MASK | LLWU_F1_WUF4_MASK | LLWU_F1_WUF6_MASK | LLWU_F1_WUF7_MASK), LLWU_F1_WUF5(value))) |
| #define LLWU_BWR_F1_WUF5(base, value) (BME_BFI8(&LLWU_F1_REG(base), ((uint8_t)(value) << LLWU_F1_WUF5_SHIFT), LLWU_F1_WUF5_SHIFT, LLWU_F1_WUF5_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F1, field WUF6[6] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF6. |
| * |
| * Values: |
| * - 0b0 - LLWU_P6 input was not a wakeup source |
| * - 0b1 - LLWU_P6 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F1_WUF6 field. */ |
| #define LLWU_RD_F1_WUF6(base) ((LLWU_F1_REG(base) & LLWU_F1_WUF6_MASK) >> LLWU_F1_WUF6_SHIFT) |
| #define LLWU_BRD_F1_WUF6(base) (BME_UBFX8(&LLWU_F1_REG(base), LLWU_F1_WUF6_SHIFT, LLWU_F1_WUF6_WIDTH)) |
| |
| /*! @brief Set the WUF6 field to a new value. */ |
| #define LLWU_WR_F1_WUF6(base, value) (LLWU_RMW_F1(base, (LLWU_F1_WUF6_MASK | LLWU_F1_WUF0_MASK | LLWU_F1_WUF1_MASK | LLWU_F1_WUF2_MASK | LLWU_F1_WUF3_MASK | LLWU_F1_WUF4_MASK | LLWU_F1_WUF5_MASK | LLWU_F1_WUF7_MASK), LLWU_F1_WUF6(value))) |
| #define LLWU_BWR_F1_WUF6(base, value) (BME_BFI8(&LLWU_F1_REG(base), ((uint8_t)(value) << LLWU_F1_WUF6_SHIFT), LLWU_F1_WUF6_SHIFT, LLWU_F1_WUF6_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F1, field WUF7[7] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF7. |
| * |
| * Values: |
| * - 0b0 - LLWU_P7 input was not a wakeup source |
| * - 0b1 - LLWU_P7 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F1_WUF7 field. */ |
| #define LLWU_RD_F1_WUF7(base) ((LLWU_F1_REG(base) & LLWU_F1_WUF7_MASK) >> LLWU_F1_WUF7_SHIFT) |
| #define LLWU_BRD_F1_WUF7(base) (BME_UBFX8(&LLWU_F1_REG(base), LLWU_F1_WUF7_SHIFT, LLWU_F1_WUF7_WIDTH)) |
| |
| /*! @brief Set the WUF7 field to a new value. */ |
| #define LLWU_WR_F1_WUF7(base, value) (LLWU_RMW_F1(base, (LLWU_F1_WUF7_MASK | LLWU_F1_WUF0_MASK | LLWU_F1_WUF1_MASK | LLWU_F1_WUF2_MASK | LLWU_F1_WUF3_MASK | LLWU_F1_WUF4_MASK | LLWU_F1_WUF5_MASK | LLWU_F1_WUF6_MASK), LLWU_F1_WUF7(value))) |
| #define LLWU_BWR_F1_WUF7(base, value) (BME_BFI8(&LLWU_F1_REG(base), ((uint8_t)(value) << LLWU_F1_WUF7_SHIFT), LLWU_F1_WUF7_SHIFT, LLWU_F1_WUF7_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LLWU_F2 - LLWU Flag 2 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LLWU_F2 - LLWU Flag 2 register (W1C) |
| * |
| * Reset value: 0x00U |
| * |
| * LLWU_F2 contains the wakeup flags indicating which wakeup source caused the |
| * MCU to exit LLS or VLLS mode. For LLS, this is the source causing the CPU |
| * interrupt flow. For VLLS, this is the source causing the MCU reset flow. The |
| * external wakeup flags are read-only and clearing a flag is accomplished by a write |
| * of a 1 to the corresponding WUFx bit. The wakeup flag (WUFx), if set, will |
| * remain set if the associated WUPEx bit is cleared. This register is reset on Chip |
| * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is |
| * unaffected by reset types that do not trigger Chip Reset not VLLS. See the |
| * IntroductionInformation found here describes the registers of the Reset Control |
| * Module (RCM). The RCM implements many of the reset functions for the chip. See the |
| * chip's reset chapter for more information. details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire LLWU_F2 register |
| */ |
| /*@{*/ |
| #define LLWU_RD_F2(base) (LLWU_F2_REG(base)) |
| #define LLWU_WR_F2(base, value) (LLWU_F2_REG(base) = (value)) |
| #define LLWU_RMW_F2(base, mask, value) (LLWU_WR_F2(base, (LLWU_RD_F2(base) & ~(mask)) | (value))) |
| #define LLWU_SET_F2(base, value) (BME_OR8(&LLWU_F2_REG(base), (uint8_t)(value))) |
| #define LLWU_CLR_F2(base, value) (BME_AND8(&LLWU_F2_REG(base), (uint8_t)(~(value)))) |
| #define LLWU_TOG_F2(base, value) (BME_XOR8(&LLWU_F2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LLWU_F2 bitfields |
| */ |
| |
| /*! |
| * @name Register LLWU_F2, field WUF8[0] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF8. |
| * |
| * Values: |
| * - 0b0 - LLWU_P8 input was not a wakeup source |
| * - 0b1 - LLWU_P8 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F2_WUF8 field. */ |
| #define LLWU_RD_F2_WUF8(base) ((LLWU_F2_REG(base) & LLWU_F2_WUF8_MASK) >> LLWU_F2_WUF8_SHIFT) |
| #define LLWU_BRD_F2_WUF8(base) (BME_UBFX8(&LLWU_F2_REG(base), LLWU_F2_WUF8_SHIFT, LLWU_F2_WUF8_WIDTH)) |
| |
| /*! @brief Set the WUF8 field to a new value. */ |
| #define LLWU_WR_F2_WUF8(base, value) (LLWU_RMW_F2(base, (LLWU_F2_WUF8_MASK | LLWU_F2_WUF9_MASK | LLWU_F2_WUF10_MASK | LLWU_F2_WUF11_MASK | LLWU_F2_WUF12_MASK | LLWU_F2_WUF13_MASK | LLWU_F2_WUF14_MASK | LLWU_F2_WUF15_MASK), LLWU_F2_WUF8(value))) |
| #define LLWU_BWR_F2_WUF8(base, value) (BME_BFI8(&LLWU_F2_REG(base), ((uint8_t)(value) << LLWU_F2_WUF8_SHIFT), LLWU_F2_WUF8_SHIFT, LLWU_F2_WUF8_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F2, field WUF9[1] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF9. |
| * |
| * Values: |
| * - 0b0 - LLWU_P9 input was not a wakeup source |
| * - 0b1 - LLWU_P9 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F2_WUF9 field. */ |
| #define LLWU_RD_F2_WUF9(base) ((LLWU_F2_REG(base) & LLWU_F2_WUF9_MASK) >> LLWU_F2_WUF9_SHIFT) |
| #define LLWU_BRD_F2_WUF9(base) (BME_UBFX8(&LLWU_F2_REG(base), LLWU_F2_WUF9_SHIFT, LLWU_F2_WUF9_WIDTH)) |
| |
| /*! @brief Set the WUF9 field to a new value. */ |
| #define LLWU_WR_F2_WUF9(base, value) (LLWU_RMW_F2(base, (LLWU_F2_WUF9_MASK | LLWU_F2_WUF8_MASK | LLWU_F2_WUF10_MASK | LLWU_F2_WUF11_MASK | LLWU_F2_WUF12_MASK | LLWU_F2_WUF13_MASK | LLWU_F2_WUF14_MASK | LLWU_F2_WUF15_MASK), LLWU_F2_WUF9(value))) |
| #define LLWU_BWR_F2_WUF9(base, value) (BME_BFI8(&LLWU_F2_REG(base), ((uint8_t)(value) << LLWU_F2_WUF9_SHIFT), LLWU_F2_WUF9_SHIFT, LLWU_F2_WUF9_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F2, field WUF10[2] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF10. |
| * |
| * Values: |
| * - 0b0 - LLWU_P10 input was not a wakeup source |
| * - 0b1 - LLWU_P10 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F2_WUF10 field. */ |
| #define LLWU_RD_F2_WUF10(base) ((LLWU_F2_REG(base) & LLWU_F2_WUF10_MASK) >> LLWU_F2_WUF10_SHIFT) |
| #define LLWU_BRD_F2_WUF10(base) (BME_UBFX8(&LLWU_F2_REG(base), LLWU_F2_WUF10_SHIFT, LLWU_F2_WUF10_WIDTH)) |
| |
| /*! @brief Set the WUF10 field to a new value. */ |
| #define LLWU_WR_F2_WUF10(base, value) (LLWU_RMW_F2(base, (LLWU_F2_WUF10_MASK | LLWU_F2_WUF8_MASK | LLWU_F2_WUF9_MASK | LLWU_F2_WUF11_MASK | LLWU_F2_WUF12_MASK | LLWU_F2_WUF13_MASK | LLWU_F2_WUF14_MASK | LLWU_F2_WUF15_MASK), LLWU_F2_WUF10(value))) |
| #define LLWU_BWR_F2_WUF10(base, value) (BME_BFI8(&LLWU_F2_REG(base), ((uint8_t)(value) << LLWU_F2_WUF10_SHIFT), LLWU_F2_WUF10_SHIFT, LLWU_F2_WUF10_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F2, field WUF11[3] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF11. |
| * |
| * Values: |
| * - 0b0 - LLWU_P11 input was not a wakeup source |
| * - 0b1 - LLWU_P11 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F2_WUF11 field. */ |
| #define LLWU_RD_F2_WUF11(base) ((LLWU_F2_REG(base) & LLWU_F2_WUF11_MASK) >> LLWU_F2_WUF11_SHIFT) |
| #define LLWU_BRD_F2_WUF11(base) (BME_UBFX8(&LLWU_F2_REG(base), LLWU_F2_WUF11_SHIFT, LLWU_F2_WUF11_WIDTH)) |
| |
| /*! @brief Set the WUF11 field to a new value. */ |
| #define LLWU_WR_F2_WUF11(base, value) (LLWU_RMW_F2(base, (LLWU_F2_WUF11_MASK | LLWU_F2_WUF8_MASK | LLWU_F2_WUF9_MASK | LLWU_F2_WUF10_MASK | LLWU_F2_WUF12_MASK | LLWU_F2_WUF13_MASK | LLWU_F2_WUF14_MASK | LLWU_F2_WUF15_MASK), LLWU_F2_WUF11(value))) |
| #define LLWU_BWR_F2_WUF11(base, value) (BME_BFI8(&LLWU_F2_REG(base), ((uint8_t)(value) << LLWU_F2_WUF11_SHIFT), LLWU_F2_WUF11_SHIFT, LLWU_F2_WUF11_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F2, field WUF12[4] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF12. |
| * |
| * Values: |
| * - 0b0 - LLWU_P12 input was not a wakeup source |
| * - 0b1 - LLWU_P12 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F2_WUF12 field. */ |
| #define LLWU_RD_F2_WUF12(base) ((LLWU_F2_REG(base) & LLWU_F2_WUF12_MASK) >> LLWU_F2_WUF12_SHIFT) |
| #define LLWU_BRD_F2_WUF12(base) (BME_UBFX8(&LLWU_F2_REG(base), LLWU_F2_WUF12_SHIFT, LLWU_F2_WUF12_WIDTH)) |
| |
| /*! @brief Set the WUF12 field to a new value. */ |
| #define LLWU_WR_F2_WUF12(base, value) (LLWU_RMW_F2(base, (LLWU_F2_WUF12_MASK | LLWU_F2_WUF8_MASK | LLWU_F2_WUF9_MASK | LLWU_F2_WUF10_MASK | LLWU_F2_WUF11_MASK | LLWU_F2_WUF13_MASK | LLWU_F2_WUF14_MASK | LLWU_F2_WUF15_MASK), LLWU_F2_WUF12(value))) |
| #define LLWU_BWR_F2_WUF12(base, value) (BME_BFI8(&LLWU_F2_REG(base), ((uint8_t)(value) << LLWU_F2_WUF12_SHIFT), LLWU_F2_WUF12_SHIFT, LLWU_F2_WUF12_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F2, field WUF13[5] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF13. |
| * |
| * Values: |
| * - 0b0 - LLWU_P13 input was not a wakeup source |
| * - 0b1 - LLWU_P13 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F2_WUF13 field. */ |
| #define LLWU_RD_F2_WUF13(base) ((LLWU_F2_REG(base) & LLWU_F2_WUF13_MASK) >> LLWU_F2_WUF13_SHIFT) |
| #define LLWU_BRD_F2_WUF13(base) (BME_UBFX8(&LLWU_F2_REG(base), LLWU_F2_WUF13_SHIFT, LLWU_F2_WUF13_WIDTH)) |
| |
| /*! @brief Set the WUF13 field to a new value. */ |
| #define LLWU_WR_F2_WUF13(base, value) (LLWU_RMW_F2(base, (LLWU_F2_WUF13_MASK | LLWU_F2_WUF8_MASK | LLWU_F2_WUF9_MASK | LLWU_F2_WUF10_MASK | LLWU_F2_WUF11_MASK | LLWU_F2_WUF12_MASK | LLWU_F2_WUF14_MASK | LLWU_F2_WUF15_MASK), LLWU_F2_WUF13(value))) |
| #define LLWU_BWR_F2_WUF13(base, value) (BME_BFI8(&LLWU_F2_REG(base), ((uint8_t)(value) << LLWU_F2_WUF13_SHIFT), LLWU_F2_WUF13_SHIFT, LLWU_F2_WUF13_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F2, field WUF14[6] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF14. |
| * |
| * Values: |
| * - 0b0 - LLWU_P14 input was not a wakeup source |
| * - 0b1 - LLWU_P14 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F2_WUF14 field. */ |
| #define LLWU_RD_F2_WUF14(base) ((LLWU_F2_REG(base) & LLWU_F2_WUF14_MASK) >> LLWU_F2_WUF14_SHIFT) |
| #define LLWU_BRD_F2_WUF14(base) (BME_UBFX8(&LLWU_F2_REG(base), LLWU_F2_WUF14_SHIFT, LLWU_F2_WUF14_WIDTH)) |
| |
| /*! @brief Set the WUF14 field to a new value. */ |
| #define LLWU_WR_F2_WUF14(base, value) (LLWU_RMW_F2(base, (LLWU_F2_WUF14_MASK | LLWU_F2_WUF8_MASK | LLWU_F2_WUF9_MASK | LLWU_F2_WUF10_MASK | LLWU_F2_WUF11_MASK | LLWU_F2_WUF12_MASK | LLWU_F2_WUF13_MASK | LLWU_F2_WUF15_MASK), LLWU_F2_WUF14(value))) |
| #define LLWU_BWR_F2_WUF14(base, value) (BME_BFI8(&LLWU_F2_REG(base), ((uint8_t)(value) << LLWU_F2_WUF14_SHIFT), LLWU_F2_WUF14_SHIFT, LLWU_F2_WUF14_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F2, field WUF15[7] (W1C) |
| * |
| * Indicates that an enabled external wakeup pin was a source of exiting a |
| * low-leakage power mode. To clear the flag, write a 1 to WUF15. |
| * |
| * Values: |
| * - 0b0 - LLWU_P15 input was not a wakeup source |
| * - 0b1 - LLWU_P15 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F2_WUF15 field. */ |
| #define LLWU_RD_F2_WUF15(base) ((LLWU_F2_REG(base) & LLWU_F2_WUF15_MASK) >> LLWU_F2_WUF15_SHIFT) |
| #define LLWU_BRD_F2_WUF15(base) (BME_UBFX8(&LLWU_F2_REG(base), LLWU_F2_WUF15_SHIFT, LLWU_F2_WUF15_WIDTH)) |
| |
| /*! @brief Set the WUF15 field to a new value. */ |
| #define LLWU_WR_F2_WUF15(base, value) (LLWU_RMW_F2(base, (LLWU_F2_WUF15_MASK | LLWU_F2_WUF8_MASK | LLWU_F2_WUF9_MASK | LLWU_F2_WUF10_MASK | LLWU_F2_WUF11_MASK | LLWU_F2_WUF12_MASK | LLWU_F2_WUF13_MASK | LLWU_F2_WUF14_MASK), LLWU_F2_WUF15(value))) |
| #define LLWU_BWR_F2_WUF15(base, value) (BME_BFI8(&LLWU_F2_REG(base), ((uint8_t)(value) << LLWU_F2_WUF15_SHIFT), LLWU_F2_WUF15_SHIFT, LLWU_F2_WUF15_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LLWU_F3 - LLWU Flag 3 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LLWU_F3 - LLWU Flag 3 register (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * LLWU_F3 contains the wakeup flags indicating which internal wakeup source |
| * caused the MCU to exit LLS or VLLS mode. For LLS, this is the source causing the |
| * CPU interrupt flow. For VLLS, this is the source causing the MCU reset flow. |
| * For internal peripherals that are capable of running in a low-leakage power |
| * mode, such as a real time clock module or CMP module, the flag from the |
| * associated peripheral is accessible as the MWUFx bit. The flag will need to be cleared |
| * in the peripheral instead of writing a 1 to the MWUFx bit. This register is |
| * reset on Chip Reset not VLLS and by reset types that trigger Chip Reset not |
| * VLLS. It is unaffected by reset types that do not trigger Chip Reset not VLLS. See |
| * the IntroductionInformation found here describes the registers of the Reset |
| * Control Module (RCM). The RCM implements many of the reset functions for the |
| * chip. See the chip's reset chapter for more information. details for more |
| * information. |
| */ |
| /*! |
| * @name Constants and macros for entire LLWU_F3 register |
| */ |
| /*@{*/ |
| #define LLWU_RD_F3(base) (LLWU_F3_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LLWU_F3 bitfields |
| */ |
| |
| /*! |
| * @name Register LLWU_F3, field MWUF0[0] (RO) |
| * |
| * Indicates that an enabled internal peripheral was a source of exiting a |
| * low-leakage power mode. To clear the flag, follow the internal peripheral flag |
| * clearing mechanism. |
| * |
| * Values: |
| * - 0b0 - Module 0 input was not a wakeup source |
| * - 0b1 - Module 0 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F3_MWUF0 field. */ |
| #define LLWU_RD_F3_MWUF0(base) ((LLWU_F3_REG(base) & LLWU_F3_MWUF0_MASK) >> LLWU_F3_MWUF0_SHIFT) |
| #define LLWU_BRD_F3_MWUF0(base) (BME_UBFX8(&LLWU_F3_REG(base), LLWU_F3_MWUF0_SHIFT, LLWU_F3_MWUF0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F3, field MWUF1[1] (RO) |
| * |
| * Indicates that an enabled internal peripheral was a source of exiting a |
| * low-leakage power mode. To clear the flag, follow the internal peripheral flag |
| * clearing mechanism. |
| * |
| * Values: |
| * - 0b0 - Module 1 input was not a wakeup source |
| * - 0b1 - Module 1 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F3_MWUF1 field. */ |
| #define LLWU_RD_F3_MWUF1(base) ((LLWU_F3_REG(base) & LLWU_F3_MWUF1_MASK) >> LLWU_F3_MWUF1_SHIFT) |
| #define LLWU_BRD_F3_MWUF1(base) (BME_UBFX8(&LLWU_F3_REG(base), LLWU_F3_MWUF1_SHIFT, LLWU_F3_MWUF1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F3, field MWUF2[2] (RO) |
| * |
| * Indicates that an enabled internal peripheral was a source of exiting a |
| * low-leakage power mode. To clear the flag, follow the internal peripheral flag |
| * clearing mechanism. |
| * |
| * Values: |
| * - 0b0 - Module 2 input was not a wakeup source |
| * - 0b1 - Module 2 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F3_MWUF2 field. */ |
| #define LLWU_RD_F3_MWUF2(base) ((LLWU_F3_REG(base) & LLWU_F3_MWUF2_MASK) >> LLWU_F3_MWUF2_SHIFT) |
| #define LLWU_BRD_F3_MWUF2(base) (BME_UBFX8(&LLWU_F3_REG(base), LLWU_F3_MWUF2_SHIFT, LLWU_F3_MWUF2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F3, field MWUF3[3] (RO) |
| * |
| * Indicates that an enabled internal peripheral was a source of exiting a |
| * low-leakage power mode. To clear the flag, follow the internal peripheral flag |
| * clearing mechanism. |
| * |
| * Values: |
| * - 0b0 - Module 3 input was not a wakeup source |
| * - 0b1 - Module 3 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F3_MWUF3 field. */ |
| #define LLWU_RD_F3_MWUF3(base) ((LLWU_F3_REG(base) & LLWU_F3_MWUF3_MASK) >> LLWU_F3_MWUF3_SHIFT) |
| #define LLWU_BRD_F3_MWUF3(base) (BME_UBFX8(&LLWU_F3_REG(base), LLWU_F3_MWUF3_SHIFT, LLWU_F3_MWUF3_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F3, field MWUF4[4] (RO) |
| * |
| * Indicates that an enabled internal peripheral was a source of exiting a |
| * low-leakage power mode. To clear the flag, follow the internal peripheral flag |
| * clearing mechanism. |
| * |
| * Values: |
| * - 0b0 - Module 4 input was not a wakeup source |
| * - 0b1 - Module 4 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F3_MWUF4 field. */ |
| #define LLWU_RD_F3_MWUF4(base) ((LLWU_F3_REG(base) & LLWU_F3_MWUF4_MASK) >> LLWU_F3_MWUF4_SHIFT) |
| #define LLWU_BRD_F3_MWUF4(base) (BME_UBFX8(&LLWU_F3_REG(base), LLWU_F3_MWUF4_SHIFT, LLWU_F3_MWUF4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F3, field MWUF5[5] (RO) |
| * |
| * Indicates that an enabled internal peripheral was a source of exiting a |
| * low-leakage power mode. To clear the flag, follow the internal peripheral flag |
| * clearing mechanism. |
| * |
| * Values: |
| * - 0b0 - Module 5 input was not a wakeup source |
| * - 0b1 - Module 5 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F3_MWUF5 field. */ |
| #define LLWU_RD_F3_MWUF5(base) ((LLWU_F3_REG(base) & LLWU_F3_MWUF5_MASK) >> LLWU_F3_MWUF5_SHIFT) |
| #define LLWU_BRD_F3_MWUF5(base) (BME_UBFX8(&LLWU_F3_REG(base), LLWU_F3_MWUF5_SHIFT, LLWU_F3_MWUF5_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F3, field MWUF6[6] (RO) |
| * |
| * Indicates that an enabled internal peripheral was a source of exiting a |
| * low-leakage power mode. To clear the flag, follow the internal peripheral flag |
| * clearing mechanism. |
| * |
| * Values: |
| * - 0b0 - Module 6 input was not a wakeup source |
| * - 0b1 - Module 6 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F3_MWUF6 field. */ |
| #define LLWU_RD_F3_MWUF6(base) ((LLWU_F3_REG(base) & LLWU_F3_MWUF6_MASK) >> LLWU_F3_MWUF6_SHIFT) |
| #define LLWU_BRD_F3_MWUF6(base) (BME_UBFX8(&LLWU_F3_REG(base), LLWU_F3_MWUF6_SHIFT, LLWU_F3_MWUF6_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_F3, field MWUF7[7] (RO) |
| * |
| * Indicates that an enabled internal peripheral was a source of exiting a |
| * low-leakage power mode. To clear the flag, follow the internal peripheral flag |
| * clearing mechanism. |
| * |
| * Values: |
| * - 0b0 - Module 7 input was not a wakeup source |
| * - 0b1 - Module 7 input was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_F3_MWUF7 field. */ |
| #define LLWU_RD_F3_MWUF7(base) ((LLWU_F3_REG(base) & LLWU_F3_MWUF7_MASK) >> LLWU_F3_MWUF7_SHIFT) |
| #define LLWU_BRD_F3_MWUF7(base) (BME_UBFX8(&LLWU_F3_REG(base), LLWU_F3_MWUF7_SHIFT, LLWU_F3_MWUF7_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LLWU_FILT1 - LLWU Pin Filter 1 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LLWU_FILT1 - LLWU Pin Filter 1 register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * LLWU_FILT1 is a control and status register that is used to enable/disable |
| * the digital filter 1 features for an external pin. This register is reset on |
| * Chip Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is |
| * unaffected by reset types that do not trigger Chip Reset not VLLS. See the |
| * IntroductionInformation found here describes the registers of the Reset Control |
| * Module (RCM). The RCM implements many of the reset functions for the chip. See |
| * the chip's reset chapter for more information. details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire LLWU_FILT1 register |
| */ |
| /*@{*/ |
| #define LLWU_RD_FILT1(base) (LLWU_FILT1_REG(base)) |
| #define LLWU_WR_FILT1(base, value) (LLWU_FILT1_REG(base) = (value)) |
| #define LLWU_RMW_FILT1(base, mask, value) (LLWU_WR_FILT1(base, (LLWU_RD_FILT1(base) & ~(mask)) | (value))) |
| #define LLWU_SET_FILT1(base, value) (BME_OR8(&LLWU_FILT1_REG(base), (uint8_t)(value))) |
| #define LLWU_CLR_FILT1(base, value) (BME_AND8(&LLWU_FILT1_REG(base), (uint8_t)(~(value)))) |
| #define LLWU_TOG_FILT1(base, value) (BME_XOR8(&LLWU_FILT1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LLWU_FILT1 bitfields |
| */ |
| |
| /*! |
| * @name Register LLWU_FILT1, field FILTSEL[3:0] (RW) |
| * |
| * Selects 1 out of the 16 wakeup pins to be muxed into the filter. |
| * |
| * Values: |
| * - 0b0000 - Select LLWU_P0 for filter |
| * - 0b1111 - Select LLWU_P15 for filter |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_FILT1_FILTSEL field. */ |
| #define LLWU_RD_FILT1_FILTSEL(base) ((LLWU_FILT1_REG(base) & LLWU_FILT1_FILTSEL_MASK) >> LLWU_FILT1_FILTSEL_SHIFT) |
| #define LLWU_BRD_FILT1_FILTSEL(base) (BME_UBFX8(&LLWU_FILT1_REG(base), LLWU_FILT1_FILTSEL_SHIFT, LLWU_FILT1_FILTSEL_WIDTH)) |
| |
| /*! @brief Set the FILTSEL field to a new value. */ |
| #define LLWU_WR_FILT1_FILTSEL(base, value) (LLWU_RMW_FILT1(base, (LLWU_FILT1_FILTSEL_MASK | LLWU_FILT1_FILTF_MASK), LLWU_FILT1_FILTSEL(value))) |
| #define LLWU_BWR_FILT1_FILTSEL(base, value) (BME_BFI8(&LLWU_FILT1_REG(base), ((uint8_t)(value) << LLWU_FILT1_FILTSEL_SHIFT), LLWU_FILT1_FILTSEL_SHIFT, LLWU_FILT1_FILTSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_FILT1, field FILTE[6:5] (RW) |
| * |
| * Controls the digital filter options for the external pin detect. |
| * |
| * Values: |
| * - 0b00 - Filter disabled |
| * - 0b01 - Filter posedge detect enabled |
| * - 0b10 - Filter negedge detect enabled |
| * - 0b11 - Filter any edge detect enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_FILT1_FILTE field. */ |
| #define LLWU_RD_FILT1_FILTE(base) ((LLWU_FILT1_REG(base) & LLWU_FILT1_FILTE_MASK) >> LLWU_FILT1_FILTE_SHIFT) |
| #define LLWU_BRD_FILT1_FILTE(base) (BME_UBFX8(&LLWU_FILT1_REG(base), LLWU_FILT1_FILTE_SHIFT, LLWU_FILT1_FILTE_WIDTH)) |
| |
| /*! @brief Set the FILTE field to a new value. */ |
| #define LLWU_WR_FILT1_FILTE(base, value) (LLWU_RMW_FILT1(base, (LLWU_FILT1_FILTE_MASK | LLWU_FILT1_FILTF_MASK), LLWU_FILT1_FILTE(value))) |
| #define LLWU_BWR_FILT1_FILTE(base, value) (BME_BFI8(&LLWU_FILT1_REG(base), ((uint8_t)(value) << LLWU_FILT1_FILTE_SHIFT), LLWU_FILT1_FILTE_SHIFT, LLWU_FILT1_FILTE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_FILT1, field FILTF[7] (W1C) |
| * |
| * Indicates that the filtered external wakeup pin, selected by FILTSEL, was a |
| * source of exiting a low-leakage power mode. To clear the flag write a one to |
| * FILTF. |
| * |
| * Values: |
| * - 0b0 - Pin Filter 1 was not a wakeup source |
| * - 0b1 - Pin Filter 1 was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_FILT1_FILTF field. */ |
| #define LLWU_RD_FILT1_FILTF(base) ((LLWU_FILT1_REG(base) & LLWU_FILT1_FILTF_MASK) >> LLWU_FILT1_FILTF_SHIFT) |
| #define LLWU_BRD_FILT1_FILTF(base) (BME_UBFX8(&LLWU_FILT1_REG(base), LLWU_FILT1_FILTF_SHIFT, LLWU_FILT1_FILTF_WIDTH)) |
| |
| /*! @brief Set the FILTF field to a new value. */ |
| #define LLWU_WR_FILT1_FILTF(base, value) (LLWU_RMW_FILT1(base, LLWU_FILT1_FILTF_MASK, LLWU_FILT1_FILTF(value))) |
| #define LLWU_BWR_FILT1_FILTF(base, value) (BME_BFI8(&LLWU_FILT1_REG(base), ((uint8_t)(value) << LLWU_FILT1_FILTF_SHIFT), LLWU_FILT1_FILTF_SHIFT, LLWU_FILT1_FILTF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LLWU_FILT2 - LLWU Pin Filter 2 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LLWU_FILT2 - LLWU Pin Filter 2 register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * LLWU_FILT2 is a control and status register that is used to enable/disable |
| * the digital filter 2 features for an external pin. This register is reset on |
| * Chip Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is |
| * unaffected by reset types that do not trigger Chip Reset not VLLS. See the |
| * IntroductionInformation found here describes the registers of the Reset Control |
| * Module (RCM). The RCM implements many of the reset functions for the chip. See |
| * the chip's reset chapter for more information. details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire LLWU_FILT2 register |
| */ |
| /*@{*/ |
| #define LLWU_RD_FILT2(base) (LLWU_FILT2_REG(base)) |
| #define LLWU_WR_FILT2(base, value) (LLWU_FILT2_REG(base) = (value)) |
| #define LLWU_RMW_FILT2(base, mask, value) (LLWU_WR_FILT2(base, (LLWU_RD_FILT2(base) & ~(mask)) | (value))) |
| #define LLWU_SET_FILT2(base, value) (BME_OR8(&LLWU_FILT2_REG(base), (uint8_t)(value))) |
| #define LLWU_CLR_FILT2(base, value) (BME_AND8(&LLWU_FILT2_REG(base), (uint8_t)(~(value)))) |
| #define LLWU_TOG_FILT2(base, value) (BME_XOR8(&LLWU_FILT2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LLWU_FILT2 bitfields |
| */ |
| |
| /*! |
| * @name Register LLWU_FILT2, field FILTSEL[3:0] (RW) |
| * |
| * Selects 1 out of the 16 wakeup pins to be muxed into the filter. |
| * |
| * Values: |
| * - 0b0000 - Select LLWU_P0 for filter |
| * - 0b1111 - Select LLWU_P15 for filter |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_FILT2_FILTSEL field. */ |
| #define LLWU_RD_FILT2_FILTSEL(base) ((LLWU_FILT2_REG(base) & LLWU_FILT2_FILTSEL_MASK) >> LLWU_FILT2_FILTSEL_SHIFT) |
| #define LLWU_BRD_FILT2_FILTSEL(base) (BME_UBFX8(&LLWU_FILT2_REG(base), LLWU_FILT2_FILTSEL_SHIFT, LLWU_FILT2_FILTSEL_WIDTH)) |
| |
| /*! @brief Set the FILTSEL field to a new value. */ |
| #define LLWU_WR_FILT2_FILTSEL(base, value) (LLWU_RMW_FILT2(base, (LLWU_FILT2_FILTSEL_MASK | LLWU_FILT2_FILTF_MASK), LLWU_FILT2_FILTSEL(value))) |
| #define LLWU_BWR_FILT2_FILTSEL(base, value) (BME_BFI8(&LLWU_FILT2_REG(base), ((uint8_t)(value) << LLWU_FILT2_FILTSEL_SHIFT), LLWU_FILT2_FILTSEL_SHIFT, LLWU_FILT2_FILTSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_FILT2, field FILTE[6:5] (RW) |
| * |
| * Controls the digital filter options for the external pin detect. |
| * |
| * Values: |
| * - 0b00 - Filter disabled |
| * - 0b01 - Filter posedge detect enabled |
| * - 0b10 - Filter negedge detect enabled |
| * - 0b11 - Filter any edge detect enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_FILT2_FILTE field. */ |
| #define LLWU_RD_FILT2_FILTE(base) ((LLWU_FILT2_REG(base) & LLWU_FILT2_FILTE_MASK) >> LLWU_FILT2_FILTE_SHIFT) |
| #define LLWU_BRD_FILT2_FILTE(base) (BME_UBFX8(&LLWU_FILT2_REG(base), LLWU_FILT2_FILTE_SHIFT, LLWU_FILT2_FILTE_WIDTH)) |
| |
| /*! @brief Set the FILTE field to a new value. */ |
| #define LLWU_WR_FILT2_FILTE(base, value) (LLWU_RMW_FILT2(base, (LLWU_FILT2_FILTE_MASK | LLWU_FILT2_FILTF_MASK), LLWU_FILT2_FILTE(value))) |
| #define LLWU_BWR_FILT2_FILTE(base, value) (BME_BFI8(&LLWU_FILT2_REG(base), ((uint8_t)(value) << LLWU_FILT2_FILTE_SHIFT), LLWU_FILT2_FILTE_SHIFT, LLWU_FILT2_FILTE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LLWU_FILT2, field FILTF[7] (W1C) |
| * |
| * Indicates that the filtered external wakeup pin, selected by FILTSEL, was a |
| * source of exiting a low-leakage power mode. To clear the flag write a one to |
| * FILTF. |
| * |
| * Values: |
| * - 0b0 - Pin Filter 2 was not a wakeup source |
| * - 0b1 - Pin Filter 2 was a wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LLWU_FILT2_FILTF field. */ |
| #define LLWU_RD_FILT2_FILTF(base) ((LLWU_FILT2_REG(base) & LLWU_FILT2_FILTF_MASK) >> LLWU_FILT2_FILTF_SHIFT) |
| #define LLWU_BRD_FILT2_FILTF(base) (BME_UBFX8(&LLWU_FILT2_REG(base), LLWU_FILT2_FILTF_SHIFT, LLWU_FILT2_FILTF_WIDTH)) |
| |
| /*! @brief Set the FILTF field to a new value. */ |
| #define LLWU_WR_FILT2_FILTF(base, value) (LLWU_RMW_FILT2(base, LLWU_FILT2_FILTF_MASK, LLWU_FILT2_FILTF(value))) |
| #define LLWU_BWR_FILT2_FILTF(base, value) (BME_BFI8(&LLWU_FILT2_REG(base), ((uint8_t)(value) << LLWU_FILT2_FILTF_SHIFT), LLWU_FILT2_FILTF_SHIFT, LLWU_FILT2_FILTF_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 LPTMR |
| * |
| * Low Power Timer |
| * |
| * Registers defined in this header file: |
| * - LPTMR_CSR - Low Power Timer Control Status Register |
| * - LPTMR_PSR - Low Power Timer Prescale Register |
| * - LPTMR_CMR - Low Power Timer Compare Register |
| * - LPTMR_CNR - Low Power Timer Counter Register |
| */ |
| |
| #define LPTMR_INSTANCE_COUNT (1U) /*!< Number of instances of the LPTMR module. */ |
| #define LPTMR0_IDX (0U) /*!< Instance number for LPTMR0. */ |
| |
| /******************************************************************************* |
| * LPTMR_CSR - Low Power Timer Control Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LPTMR_CSR - Low Power Timer Control Status Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire LPTMR_CSR register |
| */ |
| /*@{*/ |
| #define LPTMR_RD_CSR(base) (LPTMR_CSR_REG(base)) |
| #define LPTMR_WR_CSR(base, value) (LPTMR_CSR_REG(base) = (value)) |
| #define LPTMR_RMW_CSR(base, mask, value) (LPTMR_WR_CSR(base, (LPTMR_RD_CSR(base) & ~(mask)) | (value))) |
| #define LPTMR_SET_CSR(base, value) (BME_OR32(&LPTMR_CSR_REG(base), (uint32_t)(value))) |
| #define LPTMR_CLR_CSR(base, value) (BME_AND32(&LPTMR_CSR_REG(base), (uint32_t)(~(value)))) |
| #define LPTMR_TOG_CSR(base, value) (BME_XOR32(&LPTMR_CSR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LPTMR_CSR bitfields |
| */ |
| |
| /*! |
| * @name Register LPTMR_CSR, field TEN[0] (RW) |
| * |
| * When TEN is clear, it resets the LPTMR internal logic, including the CNR and |
| * TCF. When TEN is set, the LPTMR is enabled. While writing 1 to this field, |
| * CSR[5:1] must not be altered. |
| * |
| * Values: |
| * - 0b0 - LPTMR is disabled and internal logic is reset. |
| * - 0b1 - LPTMR is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_CSR_TEN field. */ |
| #define LPTMR_RD_CSR_TEN(base) ((LPTMR_CSR_REG(base) & LPTMR_CSR_TEN_MASK) >> LPTMR_CSR_TEN_SHIFT) |
| #define LPTMR_BRD_CSR_TEN(base) (BME_UBFX32(&LPTMR_CSR_REG(base), LPTMR_CSR_TEN_SHIFT, LPTMR_CSR_TEN_WIDTH)) |
| |
| /*! @brief Set the TEN field to a new value. */ |
| #define LPTMR_WR_CSR_TEN(base, value) (LPTMR_RMW_CSR(base, (LPTMR_CSR_TEN_MASK | LPTMR_CSR_TCF_MASK), LPTMR_CSR_TEN(value))) |
| #define LPTMR_BWR_CSR_TEN(base, value) (BME_BFI32(&LPTMR_CSR_REG(base), ((uint32_t)(value) << LPTMR_CSR_TEN_SHIFT), LPTMR_CSR_TEN_SHIFT, LPTMR_CSR_TEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPTMR_CSR, field TMS[1] (RW) |
| * |
| * Configures the mode of the LPTMR. TMS must be altered only when the LPTMR is |
| * disabled. |
| * |
| * Values: |
| * - 0b0 - Time Counter mode. |
| * - 0b1 - Pulse Counter mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_CSR_TMS field. */ |
| #define LPTMR_RD_CSR_TMS(base) ((LPTMR_CSR_REG(base) & LPTMR_CSR_TMS_MASK) >> LPTMR_CSR_TMS_SHIFT) |
| #define LPTMR_BRD_CSR_TMS(base) (BME_UBFX32(&LPTMR_CSR_REG(base), LPTMR_CSR_TMS_SHIFT, LPTMR_CSR_TMS_WIDTH)) |
| |
| /*! @brief Set the TMS field to a new value. */ |
| #define LPTMR_WR_CSR_TMS(base, value) (LPTMR_RMW_CSR(base, (LPTMR_CSR_TMS_MASK | LPTMR_CSR_TCF_MASK), LPTMR_CSR_TMS(value))) |
| #define LPTMR_BWR_CSR_TMS(base, value) (BME_BFI32(&LPTMR_CSR_REG(base), ((uint32_t)(value) << LPTMR_CSR_TMS_SHIFT), LPTMR_CSR_TMS_SHIFT, LPTMR_CSR_TMS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPTMR_CSR, field TFC[2] (RW) |
| * |
| * When clear, TFC configures the CNR to reset whenever TCF is set. When set, |
| * TFC configures the CNR to reset on overflow. TFC must be altered only when the |
| * LPTMR is disabled. |
| * |
| * Values: |
| * - 0b0 - CNR is reset whenever TCF is set. |
| * - 0b1 - CNR is reset on overflow. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_CSR_TFC field. */ |
| #define LPTMR_RD_CSR_TFC(base) ((LPTMR_CSR_REG(base) & LPTMR_CSR_TFC_MASK) >> LPTMR_CSR_TFC_SHIFT) |
| #define LPTMR_BRD_CSR_TFC(base) (BME_UBFX32(&LPTMR_CSR_REG(base), LPTMR_CSR_TFC_SHIFT, LPTMR_CSR_TFC_WIDTH)) |
| |
| /*! @brief Set the TFC field to a new value. */ |
| #define LPTMR_WR_CSR_TFC(base, value) (LPTMR_RMW_CSR(base, (LPTMR_CSR_TFC_MASK | LPTMR_CSR_TCF_MASK), LPTMR_CSR_TFC(value))) |
| #define LPTMR_BWR_CSR_TFC(base, value) (BME_BFI32(&LPTMR_CSR_REG(base), ((uint32_t)(value) << LPTMR_CSR_TFC_SHIFT), LPTMR_CSR_TFC_SHIFT, LPTMR_CSR_TFC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPTMR_CSR, field TPP[3] (RW) |
| * |
| * Configures the polarity of the input source in Pulse Counter mode. TPP must |
| * be changed only when the LPTMR is disabled. |
| * |
| * Values: |
| * - 0b0 - Pulse Counter input source is active-high, and the CNR will increment |
| * on the rising-edge. |
| * - 0b1 - Pulse Counter input source is active-low, and the CNR will increment |
| * on the falling-edge. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_CSR_TPP field. */ |
| #define LPTMR_RD_CSR_TPP(base) ((LPTMR_CSR_REG(base) & LPTMR_CSR_TPP_MASK) >> LPTMR_CSR_TPP_SHIFT) |
| #define LPTMR_BRD_CSR_TPP(base) (BME_UBFX32(&LPTMR_CSR_REG(base), LPTMR_CSR_TPP_SHIFT, LPTMR_CSR_TPP_WIDTH)) |
| |
| /*! @brief Set the TPP field to a new value. */ |
| #define LPTMR_WR_CSR_TPP(base, value) (LPTMR_RMW_CSR(base, (LPTMR_CSR_TPP_MASK | LPTMR_CSR_TCF_MASK), LPTMR_CSR_TPP(value))) |
| #define LPTMR_BWR_CSR_TPP(base, value) (BME_BFI32(&LPTMR_CSR_REG(base), ((uint32_t)(value) << LPTMR_CSR_TPP_SHIFT), LPTMR_CSR_TPP_SHIFT, LPTMR_CSR_TPP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPTMR_CSR, field TPS[5:4] (RW) |
| * |
| * Configures the input source to be used in Pulse Counter mode. TPS must be |
| * altered only when the LPTMR is disabled. The input connections vary by device. |
| * See the chip configuration details for information on the connections to these |
| * inputs. |
| * |
| * Values: |
| * - 0b00 - Pulse counter input 0 is selected. |
| * - 0b01 - Pulse counter input 1 is selected. |
| * - 0b10 - Pulse counter input 2 is selected. |
| * - 0b11 - Pulse counter input 3 is selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_CSR_TPS field. */ |
| #define LPTMR_RD_CSR_TPS(base) ((LPTMR_CSR_REG(base) & LPTMR_CSR_TPS_MASK) >> LPTMR_CSR_TPS_SHIFT) |
| #define LPTMR_BRD_CSR_TPS(base) (BME_UBFX32(&LPTMR_CSR_REG(base), LPTMR_CSR_TPS_SHIFT, LPTMR_CSR_TPS_WIDTH)) |
| |
| /*! @brief Set the TPS field to a new value. */ |
| #define LPTMR_WR_CSR_TPS(base, value) (LPTMR_RMW_CSR(base, (LPTMR_CSR_TPS_MASK | LPTMR_CSR_TCF_MASK), LPTMR_CSR_TPS(value))) |
| #define LPTMR_BWR_CSR_TPS(base, value) (BME_BFI32(&LPTMR_CSR_REG(base), ((uint32_t)(value) << LPTMR_CSR_TPS_SHIFT), LPTMR_CSR_TPS_SHIFT, LPTMR_CSR_TPS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPTMR_CSR, field TIE[6] (RW) |
| * |
| * When TIE is set, the LPTMR Interrupt is generated whenever TCF is also set. |
| * |
| * Values: |
| * - 0b0 - Timer interrupt disabled. |
| * - 0b1 - Timer interrupt enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_CSR_TIE field. */ |
| #define LPTMR_RD_CSR_TIE(base) ((LPTMR_CSR_REG(base) & LPTMR_CSR_TIE_MASK) >> LPTMR_CSR_TIE_SHIFT) |
| #define LPTMR_BRD_CSR_TIE(base) (BME_UBFX32(&LPTMR_CSR_REG(base), LPTMR_CSR_TIE_SHIFT, LPTMR_CSR_TIE_WIDTH)) |
| |
| /*! @brief Set the TIE field to a new value. */ |
| #define LPTMR_WR_CSR_TIE(base, value) (LPTMR_RMW_CSR(base, (LPTMR_CSR_TIE_MASK | LPTMR_CSR_TCF_MASK), LPTMR_CSR_TIE(value))) |
| #define LPTMR_BWR_CSR_TIE(base, value) (BME_BFI32(&LPTMR_CSR_REG(base), ((uint32_t)(value) << LPTMR_CSR_TIE_SHIFT), LPTMR_CSR_TIE_SHIFT, LPTMR_CSR_TIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPTMR_CSR, field TCF[7] (W1C) |
| * |
| * TCF is set when the LPTMR is enabled and the CNR equals the CMR and |
| * increments. TCF is cleared when the LPTMR is disabled or a logic 1 is written to it. |
| * |
| * Values: |
| * - 0b0 - The value of CNR is not equal to CMR and increments. |
| * - 0b1 - The value of CNR is equal to CMR and increments. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_CSR_TCF field. */ |
| #define LPTMR_RD_CSR_TCF(base) ((LPTMR_CSR_REG(base) & LPTMR_CSR_TCF_MASK) >> LPTMR_CSR_TCF_SHIFT) |
| #define LPTMR_BRD_CSR_TCF(base) (BME_UBFX32(&LPTMR_CSR_REG(base), LPTMR_CSR_TCF_SHIFT, LPTMR_CSR_TCF_WIDTH)) |
| |
| /*! @brief Set the TCF field to a new value. */ |
| #define LPTMR_WR_CSR_TCF(base, value) (LPTMR_RMW_CSR(base, LPTMR_CSR_TCF_MASK, LPTMR_CSR_TCF(value))) |
| #define LPTMR_BWR_CSR_TCF(base, value) (BME_BFI32(&LPTMR_CSR_REG(base), ((uint32_t)(value) << LPTMR_CSR_TCF_SHIFT), LPTMR_CSR_TCF_SHIFT, LPTMR_CSR_TCF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LPTMR_PSR - Low Power Timer Prescale Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LPTMR_PSR - Low Power Timer Prescale Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire LPTMR_PSR register |
| */ |
| /*@{*/ |
| #define LPTMR_RD_PSR(base) (LPTMR_PSR_REG(base)) |
| #define LPTMR_WR_PSR(base, value) (LPTMR_PSR_REG(base) = (value)) |
| #define LPTMR_RMW_PSR(base, mask, value) (LPTMR_WR_PSR(base, (LPTMR_RD_PSR(base) & ~(mask)) | (value))) |
| #define LPTMR_SET_PSR(base, value) (BME_OR32(&LPTMR_PSR_REG(base), (uint32_t)(value))) |
| #define LPTMR_CLR_PSR(base, value) (BME_AND32(&LPTMR_PSR_REG(base), (uint32_t)(~(value)))) |
| #define LPTMR_TOG_PSR(base, value) (BME_XOR32(&LPTMR_PSR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LPTMR_PSR bitfields |
| */ |
| |
| /*! |
| * @name Register LPTMR_PSR, field PCS[1:0] (RW) |
| * |
| * Selects the clock to be used by the LPTMR prescaler/glitch filter. PCS must |
| * be altered only when the LPTMR is disabled. The clock connections vary by |
| * device. See the chip configuration details for information on the connections to |
| * these inputs. |
| * |
| * Values: |
| * - 0b00 - Prescaler/glitch filter clock 0 selected. |
| * - 0b01 - Prescaler/glitch filter clock 1 selected. |
| * - 0b10 - Prescaler/glitch filter clock 2 selected. |
| * - 0b11 - Prescaler/glitch filter clock 3 selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_PSR_PCS field. */ |
| #define LPTMR_RD_PSR_PCS(base) ((LPTMR_PSR_REG(base) & LPTMR_PSR_PCS_MASK) >> LPTMR_PSR_PCS_SHIFT) |
| #define LPTMR_BRD_PSR_PCS(base) (BME_UBFX32(&LPTMR_PSR_REG(base), LPTMR_PSR_PCS_SHIFT, LPTMR_PSR_PCS_WIDTH)) |
| |
| /*! @brief Set the PCS field to a new value. */ |
| #define LPTMR_WR_PSR_PCS(base, value) (LPTMR_RMW_PSR(base, LPTMR_PSR_PCS_MASK, LPTMR_PSR_PCS(value))) |
| #define LPTMR_BWR_PSR_PCS(base, value) (BME_BFI32(&LPTMR_PSR_REG(base), ((uint32_t)(value) << LPTMR_PSR_PCS_SHIFT), LPTMR_PSR_PCS_SHIFT, LPTMR_PSR_PCS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPTMR_PSR, field PBYP[2] (RW) |
| * |
| * When PBYP is set, the selected prescaler clock in Time Counter mode or |
| * selected input source in Pulse Counter mode directly clocks the CNR. When PBYP is |
| * clear, the CNR is clocked by the output of the prescaler/glitch filter. PBYP |
| * must be altered only when the LPTMR is disabled. |
| * |
| * Values: |
| * - 0b0 - Prescaler/glitch filter is enabled. |
| * - 0b1 - Prescaler/glitch filter is bypassed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_PSR_PBYP field. */ |
| #define LPTMR_RD_PSR_PBYP(base) ((LPTMR_PSR_REG(base) & LPTMR_PSR_PBYP_MASK) >> LPTMR_PSR_PBYP_SHIFT) |
| #define LPTMR_BRD_PSR_PBYP(base) (BME_UBFX32(&LPTMR_PSR_REG(base), LPTMR_PSR_PBYP_SHIFT, LPTMR_PSR_PBYP_WIDTH)) |
| |
| /*! @brief Set the PBYP field to a new value. */ |
| #define LPTMR_WR_PSR_PBYP(base, value) (LPTMR_RMW_PSR(base, LPTMR_PSR_PBYP_MASK, LPTMR_PSR_PBYP(value))) |
| #define LPTMR_BWR_PSR_PBYP(base, value) (BME_BFI32(&LPTMR_PSR_REG(base), ((uint32_t)(value) << LPTMR_PSR_PBYP_SHIFT), LPTMR_PSR_PBYP_SHIFT, LPTMR_PSR_PBYP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPTMR_PSR, field PRESCALE[6:3] (RW) |
| * |
| * Configures the size of the Prescaler in Time Counter mode or width of the |
| * glitch filter in Pulse Counter mode. PRESCALE must be altered only when the LPTMR |
| * is disabled. |
| * |
| * Values: |
| * - 0b0000 - Prescaler divides the prescaler clock by 2; glitch filter does not |
| * support this configuration. |
| * - 0b0001 - Prescaler divides the prescaler clock by 4; glitch filter |
| * recognizes change on input pin after 2 rising clock edges. |
| * - 0b0010 - Prescaler divides the prescaler clock by 8; glitch filter |
| * recognizes change on input pin after 4 rising clock edges. |
| * - 0b0011 - Prescaler divides the prescaler clock by 16; glitch filter |
| * recognizes change on input pin after 8 rising clock edges. |
| * - 0b0100 - Prescaler divides the prescaler clock by 32; glitch filter |
| * recognizes change on input pin after 16 rising clock edges. |
| * - 0b0101 - Prescaler divides the prescaler clock by 64; glitch filter |
| * recognizes change on input pin after 32 rising clock edges. |
| * - 0b0110 - Prescaler divides the prescaler clock by 128; glitch filter |
| * recognizes change on input pin after 64 rising clock edges. |
| * - 0b0111 - Prescaler divides the prescaler clock by 256; glitch filter |
| * recognizes change on input pin after 128 rising clock edges. |
| * - 0b1000 - Prescaler divides the prescaler clock by 512; glitch filter |
| * recognizes change on input pin after 256 rising clock edges. |
| * - 0b1001 - Prescaler divides the prescaler clock by 1024; glitch filter |
| * recognizes change on input pin after 512 rising clock edges. |
| * - 0b1010 - Prescaler divides the prescaler clock by 2048; glitch filter |
| * recognizes change on input pin after 1024 rising clock edges. |
| * - 0b1011 - Prescaler divides the prescaler clock by 4096; glitch filter |
| * recognizes change on input pin after 2048 rising clock edges. |
| * - 0b1100 - Prescaler divides the prescaler clock by 8192; glitch filter |
| * recognizes change on input pin after 4096 rising clock edges. |
| * - 0b1101 - Prescaler divides the prescaler clock by 16,384; glitch filter |
| * recognizes change on input pin after 8192 rising clock edges. |
| * - 0b1110 - Prescaler divides the prescaler clock by 32,768; glitch filter |
| * recognizes change on input pin after 16,384 rising clock edges. |
| * - 0b1111 - Prescaler divides the prescaler clock by 65,536; glitch filter |
| * recognizes change on input pin after 32,768 rising clock edges. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_PSR_PRESCALE field. */ |
| #define LPTMR_RD_PSR_PRESCALE(base) ((LPTMR_PSR_REG(base) & LPTMR_PSR_PRESCALE_MASK) >> LPTMR_PSR_PRESCALE_SHIFT) |
| #define LPTMR_BRD_PSR_PRESCALE(base) (BME_UBFX32(&LPTMR_PSR_REG(base), LPTMR_PSR_PRESCALE_SHIFT, LPTMR_PSR_PRESCALE_WIDTH)) |
| |
| /*! @brief Set the PRESCALE field to a new value. */ |
| #define LPTMR_WR_PSR_PRESCALE(base, value) (LPTMR_RMW_PSR(base, LPTMR_PSR_PRESCALE_MASK, LPTMR_PSR_PRESCALE(value))) |
| #define LPTMR_BWR_PSR_PRESCALE(base, value) (BME_BFI32(&LPTMR_PSR_REG(base), ((uint32_t)(value) << LPTMR_PSR_PRESCALE_SHIFT), LPTMR_PSR_PRESCALE_SHIFT, LPTMR_PSR_PRESCALE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LPTMR_CMR - Low Power Timer Compare Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LPTMR_CMR - Low Power Timer Compare Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire LPTMR_CMR register |
| */ |
| /*@{*/ |
| #define LPTMR_RD_CMR(base) (LPTMR_CMR_REG(base)) |
| #define LPTMR_WR_CMR(base, value) (LPTMR_CMR_REG(base) = (value)) |
| #define LPTMR_RMW_CMR(base, mask, value) (LPTMR_WR_CMR(base, (LPTMR_RD_CMR(base) & ~(mask)) | (value))) |
| #define LPTMR_SET_CMR(base, value) (BME_OR32(&LPTMR_CMR_REG(base), (uint32_t)(value))) |
| #define LPTMR_CLR_CMR(base, value) (BME_AND32(&LPTMR_CMR_REG(base), (uint32_t)(~(value)))) |
| #define LPTMR_TOG_CMR(base, value) (BME_XOR32(&LPTMR_CMR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LPTMR_CMR bitfields |
| */ |
| |
| /*! |
| * @name Register LPTMR_CMR, field COMPARE[15:0] (RW) |
| * |
| * When the LPTMR is enabled and the CNR equals the value in the CMR and |
| * increments, TCF is set and the hardware trigger asserts until the next time the CNR |
| * increments. If the CMR is 0, the hardware trigger will remain asserted until |
| * the LPTMR is disabled. If the LPTMR is enabled, the CMR must be altered only |
| * when TCF is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_CMR_COMPARE field. */ |
| #define LPTMR_RD_CMR_COMPARE(base) ((LPTMR_CMR_REG(base) & LPTMR_CMR_COMPARE_MASK) >> LPTMR_CMR_COMPARE_SHIFT) |
| #define LPTMR_BRD_CMR_COMPARE(base) (BME_UBFX32(&LPTMR_CMR_REG(base), LPTMR_CMR_COMPARE_SHIFT, LPTMR_CMR_COMPARE_WIDTH)) |
| |
| /*! @brief Set the COMPARE field to a new value. */ |
| #define LPTMR_WR_CMR_COMPARE(base, value) (LPTMR_RMW_CMR(base, LPTMR_CMR_COMPARE_MASK, LPTMR_CMR_COMPARE(value))) |
| #define LPTMR_BWR_CMR_COMPARE(base, value) (BME_BFI32(&LPTMR_CMR_REG(base), ((uint32_t)(value) << LPTMR_CMR_COMPARE_SHIFT), LPTMR_CMR_COMPARE_SHIFT, LPTMR_CMR_COMPARE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LPTMR_CNR - Low Power Timer Counter Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LPTMR_CNR - Low Power Timer Counter Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire LPTMR_CNR register |
| */ |
| /*@{*/ |
| #define LPTMR_RD_CNR(base) (LPTMR_CNR_REG(base)) |
| #define LPTMR_WR_CNR(base, value) (LPTMR_CNR_REG(base) = (value)) |
| #define LPTMR_RMW_CNR(base, mask, value) (LPTMR_WR_CNR(base, (LPTMR_RD_CNR(base) & ~(mask)) | (value))) |
| #define LPTMR_SET_CNR(base, value) (BME_OR32(&LPTMR_CNR_REG(base), (uint32_t)(value))) |
| #define LPTMR_CLR_CNR(base, value) (BME_AND32(&LPTMR_CNR_REG(base), (uint32_t)(~(value)))) |
| #define LPTMR_TOG_CNR(base, value) (BME_XOR32(&LPTMR_CNR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LPTMR_CNR bitfields |
| */ |
| |
| /*! |
| * @name Register LPTMR_CNR, field COUNTER[15:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPTMR_CNR_COUNTER field. */ |
| #define LPTMR_RD_CNR_COUNTER(base) ((LPTMR_CNR_REG(base) & LPTMR_CNR_COUNTER_MASK) >> LPTMR_CNR_COUNTER_SHIFT) |
| #define LPTMR_BRD_CNR_COUNTER(base) (BME_UBFX32(&LPTMR_CNR_REG(base), LPTMR_CNR_COUNTER_SHIFT, LPTMR_CNR_COUNTER_WIDTH)) |
| |
| /*! @brief Set the COUNTER field to a new value. */ |
| #define LPTMR_WR_CNR_COUNTER(base, value) (LPTMR_RMW_CNR(base, LPTMR_CNR_COUNTER_MASK, LPTMR_CNR_COUNTER(value))) |
| #define LPTMR_BWR_CNR_COUNTER(base, value) (BME_BFI32(&LPTMR_CNR_REG(base), ((uint32_t)(value) << LPTMR_CNR_COUNTER_SHIFT), LPTMR_CNR_COUNTER_SHIFT, LPTMR_CNR_COUNTER_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 LPUART |
| * |
| * Universal Asynchronous Receiver/Transmitter |
| * |
| * Registers defined in this header file: |
| * - LPUART_BAUD - LPUART Baud Rate Register |
| * - LPUART_STAT - LPUART Status Register |
| * - LPUART_CTRL - LPUART Control Register |
| * - LPUART_DATA - LPUART Data Register |
| * - LPUART_MATCH - LPUART Match Address Register |
| * - LPUART_MODIR - LPUART Modem IrDA Register |
| */ |
| |
| #define LPUART_INSTANCE_COUNT (1U) /*!< Number of instances of the LPUART module. */ |
| #define LPUART0_IDX (0U) /*!< Instance number for LPUART0. */ |
| |
| /******************************************************************************* |
| * LPUART_BAUD - LPUART Baud Rate Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LPUART_BAUD - LPUART Baud Rate Register (RW) |
| * |
| * Reset value: 0x0F000004U |
| */ |
| /*! |
| * @name Constants and macros for entire LPUART_BAUD register |
| */ |
| /*@{*/ |
| #define LPUART_RD_BAUD(base) (LPUART_BAUD_REG(base)) |
| #define LPUART_WR_BAUD(base, value) (LPUART_BAUD_REG(base) = (value)) |
| #define LPUART_RMW_BAUD(base, mask, value) (LPUART_WR_BAUD(base, (LPUART_RD_BAUD(base) & ~(mask)) | (value))) |
| #define LPUART_SET_BAUD(base, value) (BME_OR32(&LPUART_BAUD_REG(base), (uint32_t)(value))) |
| #define LPUART_CLR_BAUD(base, value) (BME_AND32(&LPUART_BAUD_REG(base), (uint32_t)(~(value)))) |
| #define LPUART_TOG_BAUD(base, value) (BME_XOR32(&LPUART_BAUD_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LPUART_BAUD bitfields |
| */ |
| |
| /*! |
| * @name Register LPUART_BAUD, field SBR[12:0] (RW) |
| * |
| * The 13 bits in SBR[12:0] set the modulo divide rate for the baud rate |
| * generator. When SBR is 1 - 8191, the baud rate equals "baud clock / ((OSR+1) * SBR)". |
| * The 13-bit baud rate setting [SBR12:SBR0] must only be updated when the |
| * transmitter and receiver are both disabled (LPUART_CTRL[RE] and LPUART_CTRL[TE] are |
| * both 0). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_SBR field. */ |
| #define LPUART_RD_BAUD_SBR(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_SBR_MASK) >> LPUART_BAUD_SBR_SHIFT) |
| #define LPUART_BRD_BAUD_SBR(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_SBR_SHIFT, LPUART_BAUD_SBR_WIDTH)) |
| |
| /*! @brief Set the SBR field to a new value. */ |
| #define LPUART_WR_BAUD_SBR(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_SBR_MASK, LPUART_BAUD_SBR(value))) |
| #define LPUART_BWR_BAUD_SBR(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_SBR_SHIFT), LPUART_BAUD_SBR_SHIFT, LPUART_BAUD_SBR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field SBNS[13] (RW) |
| * |
| * SBNS determines whether data characters are one or two stop bits. This bit |
| * should only be changed when the transmitter and receiver are both disabled. |
| * |
| * Values: |
| * - 0b0 - One stop bit. |
| * - 0b1 - Two stop bits. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_SBNS field. */ |
| #define LPUART_RD_BAUD_SBNS(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_SBNS_MASK) >> LPUART_BAUD_SBNS_SHIFT) |
| #define LPUART_BRD_BAUD_SBNS(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_SBNS_SHIFT, LPUART_BAUD_SBNS_WIDTH)) |
| |
| /*! @brief Set the SBNS field to a new value. */ |
| #define LPUART_WR_BAUD_SBNS(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_SBNS_MASK, LPUART_BAUD_SBNS(value))) |
| #define LPUART_BWR_BAUD_SBNS(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_SBNS_SHIFT), LPUART_BAUD_SBNS_SHIFT, LPUART_BAUD_SBNS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field RXEDGIE[14] (RW) |
| * |
| * Enables the receive input active edge, RXEDGIF, to generate interrupt |
| * requests. Changing CTRL[LOOP] or CTRL[RSRC] when RXEDGIE is set can cause the RXEDGIF |
| * to set. |
| * |
| * Values: |
| * - 0b0 - Hardware interrupts from LPUART_STAT[RXEDGIF] disabled (use polling). |
| * - 0b1 - Hardware interrupt requested when LPUART_STAT[RXEDGIF] flag is 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_RXEDGIE field. */ |
| #define LPUART_RD_BAUD_RXEDGIE(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_RXEDGIE_MASK) >> LPUART_BAUD_RXEDGIE_SHIFT) |
| #define LPUART_BRD_BAUD_RXEDGIE(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_RXEDGIE_SHIFT, LPUART_BAUD_RXEDGIE_WIDTH)) |
| |
| /*! @brief Set the RXEDGIE field to a new value. */ |
| #define LPUART_WR_BAUD_RXEDGIE(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_RXEDGIE_MASK, LPUART_BAUD_RXEDGIE(value))) |
| #define LPUART_BWR_BAUD_RXEDGIE(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_RXEDGIE_SHIFT), LPUART_BAUD_RXEDGIE_SHIFT, LPUART_BAUD_RXEDGIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field LBKDIE[15] (RW) |
| * |
| * LBKDIE enables the LIN break detect flag, LBKDIF, to generate interrupt |
| * requests. |
| * |
| * Values: |
| * - 0b0 - Hardware interrupts from LPUART_STAT[LBKDIF] disabled (use polling). |
| * - 0b1 - Hardware interrupt requested when LPUART_STAT[LBKDIF] flag is 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_LBKDIE field. */ |
| #define LPUART_RD_BAUD_LBKDIE(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_LBKDIE_MASK) >> LPUART_BAUD_LBKDIE_SHIFT) |
| #define LPUART_BRD_BAUD_LBKDIE(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_LBKDIE_SHIFT, LPUART_BAUD_LBKDIE_WIDTH)) |
| |
| /*! @brief Set the LBKDIE field to a new value. */ |
| #define LPUART_WR_BAUD_LBKDIE(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_LBKDIE_MASK, LPUART_BAUD_LBKDIE(value))) |
| #define LPUART_BWR_BAUD_LBKDIE(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_LBKDIE_SHIFT), LPUART_BAUD_LBKDIE_SHIFT, LPUART_BAUD_LBKDIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field RESYNCDIS[16] (RW) |
| * |
| * When set, disables the resynchronization of the received data word when a |
| * data one followed by data zero transition is detected. This bit should only be |
| * changed when the receiver is disabled. |
| * |
| * Values: |
| * - 0b0 - Resynchronization during received data word is supported |
| * - 0b1 - Resynchronization during received data word is disabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_RESYNCDIS field. */ |
| #define LPUART_RD_BAUD_RESYNCDIS(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_RESYNCDIS_MASK) >> LPUART_BAUD_RESYNCDIS_SHIFT) |
| #define LPUART_BRD_BAUD_RESYNCDIS(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_RESYNCDIS_SHIFT, LPUART_BAUD_RESYNCDIS_WIDTH)) |
| |
| /*! @brief Set the RESYNCDIS field to a new value. */ |
| #define LPUART_WR_BAUD_RESYNCDIS(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_RESYNCDIS_MASK, LPUART_BAUD_RESYNCDIS(value))) |
| #define LPUART_BWR_BAUD_RESYNCDIS(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_RESYNCDIS_SHIFT), LPUART_BAUD_RESYNCDIS_SHIFT, LPUART_BAUD_RESYNCDIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field BOTHEDGE[17] (RW) |
| * |
| * Enables sampling of the received data on both edges of the baud rate clock, |
| * effectively doubling the number of times the receiver samples the input data |
| * for a given oversampling ratio. This bit must be set for oversampling ratios |
| * between x4 and x7 and is optional for higher oversampling ratios. This bit should |
| * only be changed when the receiver is disabled. |
| * |
| * Values: |
| * - 0b0 - Receiver samples input data using the rising edge of the baud rate |
| * clock. |
| * - 0b1 - Receiver samples input data using the rising and falling edge of the |
| * baud rate clock. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_BOTHEDGE field. */ |
| #define LPUART_RD_BAUD_BOTHEDGE(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_BOTHEDGE_MASK) >> LPUART_BAUD_BOTHEDGE_SHIFT) |
| #define LPUART_BRD_BAUD_BOTHEDGE(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_BOTHEDGE_SHIFT, LPUART_BAUD_BOTHEDGE_WIDTH)) |
| |
| /*! @brief Set the BOTHEDGE field to a new value. */ |
| #define LPUART_WR_BAUD_BOTHEDGE(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_BOTHEDGE_MASK, LPUART_BAUD_BOTHEDGE(value))) |
| #define LPUART_BWR_BAUD_BOTHEDGE(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_BOTHEDGE_SHIFT), LPUART_BAUD_BOTHEDGE_SHIFT, LPUART_BAUD_BOTHEDGE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field MATCFG[19:18] (RW) |
| * |
| * Configures the match addressing mode used. |
| * |
| * Values: |
| * - 0b00 - Address Match Wakeup |
| * - 0b01 - Idle Match Wakeup |
| * - 0b10 - Match On and Match Off |
| * - 0b11 - Enables RWU on Data Match and Match On/Off for transmitter CTS input |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_MATCFG field. */ |
| #define LPUART_RD_BAUD_MATCFG(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_MATCFG_MASK) >> LPUART_BAUD_MATCFG_SHIFT) |
| #define LPUART_BRD_BAUD_MATCFG(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_MATCFG_SHIFT, LPUART_BAUD_MATCFG_WIDTH)) |
| |
| /*! @brief Set the MATCFG field to a new value. */ |
| #define LPUART_WR_BAUD_MATCFG(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_MATCFG_MASK, LPUART_BAUD_MATCFG(value))) |
| #define LPUART_BWR_BAUD_MATCFG(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_MATCFG_SHIFT), LPUART_BAUD_MATCFG_SHIFT, LPUART_BAUD_MATCFG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field RDMAE[21] (RW) |
| * |
| * RDMAE configures the receiver data register full flag, LPUART_STAT[RDRF], to |
| * generate a DMA request. |
| * |
| * Values: |
| * - 0b0 - DMA request disabled. |
| * - 0b1 - DMA request enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_RDMAE field. */ |
| #define LPUART_RD_BAUD_RDMAE(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_RDMAE_MASK) >> LPUART_BAUD_RDMAE_SHIFT) |
| #define LPUART_BRD_BAUD_RDMAE(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_RDMAE_SHIFT, LPUART_BAUD_RDMAE_WIDTH)) |
| |
| /*! @brief Set the RDMAE field to a new value. */ |
| #define LPUART_WR_BAUD_RDMAE(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_RDMAE_MASK, LPUART_BAUD_RDMAE(value))) |
| #define LPUART_BWR_BAUD_RDMAE(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_RDMAE_SHIFT), LPUART_BAUD_RDMAE_SHIFT, LPUART_BAUD_RDMAE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field TDMAE[23] (RW) |
| * |
| * TDMAE configures the transmit data register empty flag, LPUART_STAT[TDRE], to |
| * generate a DMA request. |
| * |
| * Values: |
| * - 0b0 - DMA request disabled. |
| * - 0b1 - DMA request enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_TDMAE field. */ |
| #define LPUART_RD_BAUD_TDMAE(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_TDMAE_MASK) >> LPUART_BAUD_TDMAE_SHIFT) |
| #define LPUART_BRD_BAUD_TDMAE(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_TDMAE_SHIFT, LPUART_BAUD_TDMAE_WIDTH)) |
| |
| /*! @brief Set the TDMAE field to a new value. */ |
| #define LPUART_WR_BAUD_TDMAE(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_TDMAE_MASK, LPUART_BAUD_TDMAE(value))) |
| #define LPUART_BWR_BAUD_TDMAE(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_TDMAE_SHIFT), LPUART_BAUD_TDMAE_SHIFT, LPUART_BAUD_TDMAE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field OSR[28:24] (RW) |
| * |
| * This field configures the oversampling ratio for the receiver between 4x |
| * (00011) and 32x (11111). Writing an invalid oversampling ratio will default to an |
| * oversampling ratio of 16 (01111). This field should only be changed when the |
| * transmitter and receiver are both disabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_OSR field. */ |
| #define LPUART_RD_BAUD_OSR(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_OSR_MASK) >> LPUART_BAUD_OSR_SHIFT) |
| #define LPUART_BRD_BAUD_OSR(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_OSR_SHIFT, LPUART_BAUD_OSR_WIDTH)) |
| |
| /*! @brief Set the OSR field to a new value. */ |
| #define LPUART_WR_BAUD_OSR(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_OSR_MASK, LPUART_BAUD_OSR(value))) |
| #define LPUART_BWR_BAUD_OSR(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_OSR_SHIFT), LPUART_BAUD_OSR_SHIFT, LPUART_BAUD_OSR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field M10[29] (RW) |
| * |
| * The M10 bit causes a tenth bit to be part of the serial transmission. This |
| * bit should only be changed when the transmitter and receiver are both disabled. |
| * |
| * Values: |
| * - 0b0 - Receiver and transmitter use 8-bit or 9-bit data characters. |
| * - 0b1 - Receiver and transmitter use 10-bit data characters. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_M10 field. */ |
| #define LPUART_RD_BAUD_M10(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_M10_MASK) >> LPUART_BAUD_M10_SHIFT) |
| #define LPUART_BRD_BAUD_M10(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_M10_SHIFT, LPUART_BAUD_M10_WIDTH)) |
| |
| /*! @brief Set the M10 field to a new value. */ |
| #define LPUART_WR_BAUD_M10(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_M10_MASK, LPUART_BAUD_M10(value))) |
| #define LPUART_BWR_BAUD_M10(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_M10_SHIFT), LPUART_BAUD_M10_SHIFT, LPUART_BAUD_M10_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field MAEN2[30] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Enables automatic address matching or data matching mode for |
| * MATCH[MA2]. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_MAEN2 field. */ |
| #define LPUART_RD_BAUD_MAEN2(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_MAEN2_MASK) >> LPUART_BAUD_MAEN2_SHIFT) |
| #define LPUART_BRD_BAUD_MAEN2(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_MAEN2_SHIFT, LPUART_BAUD_MAEN2_WIDTH)) |
| |
| /*! @brief Set the MAEN2 field to a new value. */ |
| #define LPUART_WR_BAUD_MAEN2(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_MAEN2_MASK, LPUART_BAUD_MAEN2(value))) |
| #define LPUART_BWR_BAUD_MAEN2(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_MAEN2_SHIFT), LPUART_BAUD_MAEN2_SHIFT, LPUART_BAUD_MAEN2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_BAUD, field MAEN1[31] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Enables automatic address matching or data matching mode for |
| * MATCH[MA1]. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_BAUD_MAEN1 field. */ |
| #define LPUART_RD_BAUD_MAEN1(base) ((LPUART_BAUD_REG(base) & LPUART_BAUD_MAEN1_MASK) >> LPUART_BAUD_MAEN1_SHIFT) |
| #define LPUART_BRD_BAUD_MAEN1(base) (BME_UBFX32(&LPUART_BAUD_REG(base), LPUART_BAUD_MAEN1_SHIFT, LPUART_BAUD_MAEN1_WIDTH)) |
| |
| /*! @brief Set the MAEN1 field to a new value. */ |
| #define LPUART_WR_BAUD_MAEN1(base, value) (LPUART_RMW_BAUD(base, LPUART_BAUD_MAEN1_MASK, LPUART_BAUD_MAEN1(value))) |
| #define LPUART_BWR_BAUD_MAEN1(base, value) (BME_BFI32(&LPUART_BAUD_REG(base), ((uint32_t)(value) << LPUART_BAUD_MAEN1_SHIFT), LPUART_BAUD_MAEN1_SHIFT, LPUART_BAUD_MAEN1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LPUART_STAT - LPUART Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LPUART_STAT - LPUART Status Register (RW) |
| * |
| * Reset value: 0x00C00000U |
| */ |
| /*! |
| * @name Constants and macros for entire LPUART_STAT register |
| */ |
| /*@{*/ |
| #define LPUART_RD_STAT(base) (LPUART_STAT_REG(base)) |
| #define LPUART_WR_STAT(base, value) (LPUART_STAT_REG(base) = (value)) |
| #define LPUART_RMW_STAT(base, mask, value) (LPUART_WR_STAT(base, (LPUART_RD_STAT(base) & ~(mask)) | (value))) |
| #define LPUART_SET_STAT(base, value) (BME_OR32(&LPUART_STAT_REG(base), (uint32_t)(value))) |
| #define LPUART_CLR_STAT(base, value) (BME_AND32(&LPUART_STAT_REG(base), (uint32_t)(~(value)))) |
| #define LPUART_TOG_STAT(base, value) (BME_XOR32(&LPUART_STAT_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LPUART_STAT bitfields |
| */ |
| |
| /*! |
| * @name Register LPUART_STAT, field MA2F[14] (W1C) |
| * |
| * MA2F is set whenever the next character to be read from LPUART_DATA matches |
| * MA2. To clear MA2F, write a logic one to the MA2F. |
| * |
| * Values: |
| * - 0b0 - Received data is not equal to MA2 |
| * - 0b1 - Received data is equal to MA2 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_MA2F field. */ |
| #define LPUART_RD_STAT_MA2F(base) ((LPUART_STAT_REG(base) & LPUART_STAT_MA2F_MASK) >> LPUART_STAT_MA2F_SHIFT) |
| #define LPUART_BRD_STAT_MA2F(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_MA2F_SHIFT, LPUART_STAT_MA2F_WIDTH)) |
| |
| /*! @brief Set the MA2F field to a new value. */ |
| #define LPUART_WR_STAT_MA2F(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_MA2F(value))) |
| #define LPUART_BWR_STAT_MA2F(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_MA2F_SHIFT), LPUART_STAT_MA2F_SHIFT, LPUART_STAT_MA2F_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field MA1F[15] (W1C) |
| * |
| * MA1F is set whenever the next character to be read from LPUART_DATA matches |
| * MA1. To clear MA1F, write a logic one to the MA1F. |
| * |
| * Values: |
| * - 0b0 - Received data is not equal to MA1 |
| * - 0b1 - Received data is equal to MA1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_MA1F field. */ |
| #define LPUART_RD_STAT_MA1F(base) ((LPUART_STAT_REG(base) & LPUART_STAT_MA1F_MASK) >> LPUART_STAT_MA1F_SHIFT) |
| #define LPUART_BRD_STAT_MA1F(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_MA1F_SHIFT, LPUART_STAT_MA1F_WIDTH)) |
| |
| /*! @brief Set the MA1F field to a new value. */ |
| #define LPUART_WR_STAT_MA1F(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_MA1F_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_MA1F(value))) |
| #define LPUART_BWR_STAT_MA1F(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_MA1F_SHIFT), LPUART_STAT_MA1F_SHIFT, LPUART_STAT_MA1F_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field PF[16] (W1C) |
| * |
| * PF is set whenever the next character to be read from LPUART_DATA was |
| * received when parity is enabled (PE = 1) and the parity bit in the received character |
| * does not agree with the expected parity value. To clear PF, write a logic one |
| * to the PF. |
| * |
| * Values: |
| * - 0b0 - No parity error. |
| * - 0b1 - Parity error. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_PF field. */ |
| #define LPUART_RD_STAT_PF(base) ((LPUART_STAT_REG(base) & LPUART_STAT_PF_MASK) >> LPUART_STAT_PF_SHIFT) |
| #define LPUART_BRD_STAT_PF(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_PF_SHIFT, LPUART_STAT_PF_WIDTH)) |
| |
| /*! @brief Set the PF field to a new value. */ |
| #define LPUART_WR_STAT_PF(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_PF_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_PF(value))) |
| #define LPUART_BWR_STAT_PF(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_PF_SHIFT), LPUART_STAT_PF_SHIFT, LPUART_STAT_PF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field FE[17] (W1C) |
| * |
| * FE is set whenever the next character to be read from LPUART_DATA was |
| * received with logic 0 detected where a stop bit was expected. To clear NF, write |
| * logic one to the NF. |
| * |
| * Values: |
| * - 0b0 - No framing error detected. This does not guarantee the framing is |
| * correct. |
| * - 0b1 - Framing error. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_FE field. */ |
| #define LPUART_RD_STAT_FE(base) ((LPUART_STAT_REG(base) & LPUART_STAT_FE_MASK) >> LPUART_STAT_FE_SHIFT) |
| #define LPUART_BRD_STAT_FE(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_FE_SHIFT, LPUART_STAT_FE_WIDTH)) |
| |
| /*! @brief Set the FE field to a new value. */ |
| #define LPUART_WR_STAT_FE(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_FE_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_FE(value))) |
| #define LPUART_BWR_STAT_FE(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_FE_SHIFT), LPUART_STAT_FE_SHIFT, LPUART_STAT_FE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field NF[18] (W1C) |
| * |
| * The advanced sampling technique used in the receiver takes three samples in |
| * each of the received bits. If any of these samples disagrees with the rest of |
| * the samples within any bit time in the frame then noise is detected for that |
| * character. NF is set whenever the next character to be read from LPUART_DATA was |
| * received with noise detected within the character. To clear NF, write logic |
| * one to the NF. |
| * |
| * Values: |
| * - 0b0 - No noise detected. |
| * - 0b1 - Noise detected in the received character in LPUART_DATA. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_NF field. */ |
| #define LPUART_RD_STAT_NF(base) ((LPUART_STAT_REG(base) & LPUART_STAT_NF_MASK) >> LPUART_STAT_NF_SHIFT) |
| #define LPUART_BRD_STAT_NF(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_NF_SHIFT, LPUART_STAT_NF_WIDTH)) |
| |
| /*! @brief Set the NF field to a new value. */ |
| #define LPUART_WR_STAT_NF(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_NF_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_NF(value))) |
| #define LPUART_BWR_STAT_NF(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_NF_SHIFT), LPUART_STAT_NF_SHIFT, LPUART_STAT_NF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field OR[19] (W1C) |
| * |
| * OR is set when software fails to prevent the receive data register from |
| * overflowing with data. The OR bit is set immediately after the stop bit has been |
| * completely received for the dataword that overflows the buffer and all the other |
| * error flags (FE, NF, and PF) are prevented from setting. The data in the |
| * shift register is lost, but the data already in the LPUART data registers is not |
| * affected. If LBKDE is enabled and a LIN Break is detected, the OR field asserts |
| * if LBKDIF is not cleared before the next data character is received. While |
| * the OR flag is set, no additional data is stored in the data buffer even if |
| * sufficient room exists. To clear OR, write logic 1 to the OR flag. |
| * |
| * Values: |
| * - 0b0 - No overrun. |
| * - 0b1 - Receive overrun (new LPUART data lost). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_OR field. */ |
| #define LPUART_RD_STAT_OR(base) ((LPUART_STAT_REG(base) & LPUART_STAT_OR_MASK) >> LPUART_STAT_OR_SHIFT) |
| #define LPUART_BRD_STAT_OR(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_OR_SHIFT, LPUART_STAT_OR_WIDTH)) |
| |
| /*! @brief Set the OR field to a new value. */ |
| #define LPUART_WR_STAT_OR(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_OR_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_OR(value))) |
| #define LPUART_BWR_STAT_OR(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_OR_SHIFT), LPUART_STAT_OR_SHIFT, LPUART_STAT_OR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field IDLE[20] (W1C) |
| * |
| * IDLE is set when the LPUART receive line becomes idle for a full character |
| * time after a period of activity. When ILT is cleared, the receiver starts |
| * counting idle bit times after the start bit. If the receive character is all 1s, |
| * these bit times and the stop bits time count toward the full character time of |
| * logic high, 10 to 13 bit times, needed for the receiver to detect an idle line. |
| * When ILT is set, the receiver doesn't start counting idle bit times until |
| * after the stop bits. The stop bits and any logic high bit times at the end of the |
| * previous character do not count toward the full character time of logic high |
| * needed for the receiver to detect an idle line. To clear IDLE, write logic 1 to |
| * the IDLE flag. After IDLE has been cleared, it cannot become set again until |
| * after a new character has been stored in the receive buffer or a LIN break |
| * character has set the LBKDIF flag . IDLE is set only once even if the receive |
| * line remains idle for an extended period. |
| * |
| * Values: |
| * - 0b0 - No idle line detected. |
| * - 0b1 - Idle line was detected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_IDLE field. */ |
| #define LPUART_RD_STAT_IDLE(base) ((LPUART_STAT_REG(base) & LPUART_STAT_IDLE_MASK) >> LPUART_STAT_IDLE_SHIFT) |
| #define LPUART_BRD_STAT_IDLE(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_IDLE_SHIFT, LPUART_STAT_IDLE_WIDTH)) |
| |
| /*! @brief Set the IDLE field to a new value. */ |
| #define LPUART_WR_STAT_IDLE(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_IDLE_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_IDLE(value))) |
| #define LPUART_BWR_STAT_IDLE(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_IDLE_SHIFT), LPUART_STAT_IDLE_SHIFT, LPUART_STAT_IDLE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field RDRF[21] (RO) |
| * |
| * When the receive FIFO is enabled, RDRF is set when the number of datawords in |
| * the receive buffer is equal to or more than the number indicated by |
| * LPUART_WATER[RXWATER]. To clear RDRF, read LPUART_DATA until the number of datawords in |
| * the receive data buffer is less than the number indicated by |
| * LPUART_WATER[RXWATER]. When the receive FIFO is disabled,RDRF is set when the receive buffer |
| * (LPUART_DATA) is full. To clear RDRF, read the LPUART_DATA register. A |
| * character that is in the process of being received does not cause a change in RDRF |
| * until the entire character is received. Even if RDRF is set, the character will |
| * continue to be received until an overrun condition occurs once the entire |
| * character is received. |
| * |
| * Values: |
| * - 0b0 - Receive data buffer empty. |
| * - 0b1 - Receive data buffer full. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_RDRF field. */ |
| #define LPUART_RD_STAT_RDRF(base) ((LPUART_STAT_REG(base) & LPUART_STAT_RDRF_MASK) >> LPUART_STAT_RDRF_SHIFT) |
| #define LPUART_BRD_STAT_RDRF(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_RDRF_SHIFT, LPUART_STAT_RDRF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field TC[22] (RO) |
| * |
| * TC is cleared when there is a transmission in progress or when a preamble or |
| * break character is loaded. TC is set when the transmit buffer is empty and no |
| * data, preamble, or break character is being transmitted. When TC is set, the |
| * transmit data output signal becomes idle (logic 1). TC is cleared by writing to |
| * LPUART_DATA to transmit new data, queuing a preamble by clearing and then |
| * setting LPUART_CTRL[TE], queuing a break character by writing 1 to |
| * LPUART_CTRL[SBK]. |
| * |
| * Values: |
| * - 0b0 - Transmitter active (sending data, a preamble, or a break). |
| * - 0b1 - Transmitter idle (transmission activity complete). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_TC field. */ |
| #define LPUART_RD_STAT_TC(base) ((LPUART_STAT_REG(base) & LPUART_STAT_TC_MASK) >> LPUART_STAT_TC_SHIFT) |
| #define LPUART_BRD_STAT_TC(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_TC_SHIFT, LPUART_STAT_TC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field TDRE[23] (RO) |
| * |
| * When the transmit FIFO is enabled, TDRE will set when the number of datawords |
| * in the transmit FIFO (LPUART_DATA) is equal to or less than the number |
| * indicated by LPUART_WATER[TXWATER]). To clear TDRE, write to the LPUART data |
| * register (LPUART_DATA) until the number of words in the transmit FIFO is greater than |
| * the number indicated by LPUART_WATER[TXWATER]. When the transmit FIFO is |
| * disabled,TDRE will set when the transmit data register (LPUART_DATA) is empty. To |
| * clear TDRE, write to the LPUART data register (LPUART_DATA). TDRE is not |
| * affected by a character that is in the process of being transmitted, it is updated |
| * at the start of each transmitted character. |
| * |
| * Values: |
| * - 0b0 - Transmit data buffer full. |
| * - 0b1 - Transmit data buffer empty. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_TDRE field. */ |
| #define LPUART_RD_STAT_TDRE(base) ((LPUART_STAT_REG(base) & LPUART_STAT_TDRE_MASK) >> LPUART_STAT_TDRE_SHIFT) |
| #define LPUART_BRD_STAT_TDRE(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_TDRE_SHIFT, LPUART_STAT_TDRE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field RAF[24] (RO) |
| * |
| * RAF is set when the receiver detects the beginning of a valid start bit, and |
| * RAF is cleared automatically when the receiver detects an idle line. |
| * |
| * Values: |
| * - 0b0 - LPUART receiver idle waiting for a start bit. |
| * - 0b1 - LPUART receiver active (LPUART_RX input not idle). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_RAF field. */ |
| #define LPUART_RD_STAT_RAF(base) ((LPUART_STAT_REG(base) & LPUART_STAT_RAF_MASK) >> LPUART_STAT_RAF_SHIFT) |
| #define LPUART_BRD_STAT_RAF(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_RAF_SHIFT, LPUART_STAT_RAF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field LBKDE[25] (RW) |
| * |
| * LBKDE selects a longer break character detection length. While LBKDE is set, |
| * receive data is not stored in the receive data buffer. |
| * |
| * Values: |
| * - 0b0 - Break character is detected at length 10 bit times (if M = 0, SBNS = |
| * 0) or 11 (if M = 1, SBNS = 0 or M = 0, SBNS = 1) or 12 (if M = 1, SBNS = 1 |
| * or M10 = 1, SNBS = 0) or 13 (if M10 = 1, SNBS = 1). |
| * - 0b1 - Break character is detected at length of 11 bit times (if M = 0, SBNS |
| * = 0) or 12 (if M = 1, SBNS = 0 or M = 0, SBNS = 1) or 14 (if M = 1, SBNS |
| * = 1 or M10 = 1, SNBS = 0) or 15 (if M10 = 1, SNBS = 1). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_LBKDE field. */ |
| #define LPUART_RD_STAT_LBKDE(base) ((LPUART_STAT_REG(base) & LPUART_STAT_LBKDE_MASK) >> LPUART_STAT_LBKDE_SHIFT) |
| #define LPUART_BRD_STAT_LBKDE(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_LBKDE_SHIFT, LPUART_STAT_LBKDE_WIDTH)) |
| |
| /*! @brief Set the LBKDE field to a new value. */ |
| #define LPUART_WR_STAT_LBKDE(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_LBKDE_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_LBKDE(value))) |
| #define LPUART_BWR_STAT_LBKDE(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_LBKDE_SHIFT), LPUART_STAT_LBKDE_SHIFT, LPUART_STAT_LBKDE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field BRK13[26] (RW) |
| * |
| * BRK13 selects a longer transmitted break character length. Detection of a |
| * framing error is not affected by the state of this bit. This bit should only be |
| * changed when the transmitter is disabled. |
| * |
| * Values: |
| * - 0b0 - Break character is transmitted with length of 10 bit times (if M = 0, |
| * SBNS = 0) or 11 (if M = 1, SBNS = 0 or M = 0, SBNS = 1) or 12 (if M = 1, |
| * SBNS = 1 or M10 = 1, SNBS = 0) or 13 (if M10 = 1, SNBS = 1). |
| * - 0b1 - Break character is transmitted with length of 13 bit times (if M = 0, |
| * SBNS = 0) or 14 (if M = 1, SBNS = 0 or M = 0, SBNS = 1) or 15 (if M = 1, |
| * SBNS = 1 or M10 = 1, SNBS = 0) or 16 (if M10 = 1, SNBS = 1). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_BRK13 field. */ |
| #define LPUART_RD_STAT_BRK13(base) ((LPUART_STAT_REG(base) & LPUART_STAT_BRK13_MASK) >> LPUART_STAT_BRK13_SHIFT) |
| #define LPUART_BRD_STAT_BRK13(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_BRK13_SHIFT, LPUART_STAT_BRK13_WIDTH)) |
| |
| /*! @brief Set the BRK13 field to a new value. */ |
| #define LPUART_WR_STAT_BRK13(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_BRK13_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_BRK13(value))) |
| #define LPUART_BWR_STAT_BRK13(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_BRK13_SHIFT), LPUART_STAT_BRK13_SHIFT, LPUART_STAT_BRK13_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field RWUID[27] (RW) |
| * |
| * For RWU on idle character, RWUID controls whether the idle character that |
| * wakes up the receiver sets the IDLE bit. For address match wakeup, RWUID controls |
| * if the IDLE bit is set when the address does not match. This bit should only |
| * be changed when the receiver is disabled. |
| * |
| * Values: |
| * - 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 get set when an address does not match. |
| * - 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 get set when an address does not match. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_RWUID field. */ |
| #define LPUART_RD_STAT_RWUID(base) ((LPUART_STAT_REG(base) & LPUART_STAT_RWUID_MASK) >> LPUART_STAT_RWUID_SHIFT) |
| #define LPUART_BRD_STAT_RWUID(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_RWUID_SHIFT, LPUART_STAT_RWUID_WIDTH)) |
| |
| /*! @brief Set the RWUID field to a new value. */ |
| #define LPUART_WR_STAT_RWUID(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_RWUID_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_RWUID(value))) |
| #define LPUART_BWR_STAT_RWUID(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_RWUID_SHIFT), LPUART_STAT_RWUID_SHIFT, LPUART_STAT_RWUID_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field RXINV[28] (RW) |
| * |
| * Setting this bit reverses the polarity of the received data input. Setting |
| * RXINV inverts the LPUART_RX input for all cases: data bits, start and stop bits, |
| * break, and idle. |
| * |
| * Values: |
| * - 0b0 - Receive data not inverted. |
| * - 0b1 - Receive data inverted. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_RXINV field. */ |
| #define LPUART_RD_STAT_RXINV(base) ((LPUART_STAT_REG(base) & LPUART_STAT_RXINV_MASK) >> LPUART_STAT_RXINV_SHIFT) |
| #define LPUART_BRD_STAT_RXINV(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_RXINV_SHIFT, LPUART_STAT_RXINV_WIDTH)) |
| |
| /*! @brief Set the RXINV field to a new value. */ |
| #define LPUART_WR_STAT_RXINV(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_RXINV_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_RXINV(value))) |
| #define LPUART_BWR_STAT_RXINV(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_RXINV_SHIFT), LPUART_STAT_RXINV_SHIFT, LPUART_STAT_RXINV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field MSBF[29] (RW) |
| * |
| * Setting this bit reverses the order of the bits that are transmitted and |
| * received on the wire. This bit does not affect the polarity of the bits, the |
| * location of the parity bit or the location of the start or stop bits. This bit |
| * should only be changed when the transmitter and receiver are both disabled. |
| * |
| * Values: |
| * - 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. |
| * - 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]. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_MSBF field. */ |
| #define LPUART_RD_STAT_MSBF(base) ((LPUART_STAT_REG(base) & LPUART_STAT_MSBF_MASK) >> LPUART_STAT_MSBF_SHIFT) |
| #define LPUART_BRD_STAT_MSBF(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_MSBF_SHIFT, LPUART_STAT_MSBF_WIDTH)) |
| |
| /*! @brief Set the MSBF field to a new value. */ |
| #define LPUART_WR_STAT_MSBF(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_MSBF_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_MSBF(value))) |
| #define LPUART_BWR_STAT_MSBF(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_MSBF_SHIFT), LPUART_STAT_MSBF_SHIFT, LPUART_STAT_MSBF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field RXEDGIF[30] (W1C) |
| * |
| * RXEDGIF is set when an active edge, falling if RXINV = 0, rising if RXINV=1, |
| * on the LPUART_RX pin occurs. RXEDGIF is cleared by writing a 1 to it. |
| * |
| * Values: |
| * - 0b0 - No active edge on the receive pin has occurred. |
| * - 0b1 - An active edge on the receive pin has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_RXEDGIF field. */ |
| #define LPUART_RD_STAT_RXEDGIF(base) ((LPUART_STAT_REG(base) & LPUART_STAT_RXEDGIF_MASK) >> LPUART_STAT_RXEDGIF_SHIFT) |
| #define LPUART_BRD_STAT_RXEDGIF(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_RXEDGIF_SHIFT, LPUART_STAT_RXEDGIF_WIDTH)) |
| |
| /*! @brief Set the RXEDGIF field to a new value. */ |
| #define LPUART_WR_STAT_RXEDGIF(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_RXEDGIF_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_LBKDIF_MASK), LPUART_STAT_RXEDGIF(value))) |
| #define LPUART_BWR_STAT_RXEDGIF(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_RXEDGIF_SHIFT), LPUART_STAT_RXEDGIF_SHIFT, LPUART_STAT_RXEDGIF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_STAT, field LBKDIF[31] (W1C) |
| * |
| * LBKDIF is set when the LIN break detect circuitry is enabled and a LIN break |
| * character is detected. LBKDIF is cleared by writing a 1 to it. |
| * |
| * Values: |
| * - 0b0 - No LIN break character has been detected. |
| * - 0b1 - LIN break character has been detected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_STAT_LBKDIF field. */ |
| #define LPUART_RD_STAT_LBKDIF(base) ((LPUART_STAT_REG(base) & LPUART_STAT_LBKDIF_MASK) >> LPUART_STAT_LBKDIF_SHIFT) |
| #define LPUART_BRD_STAT_LBKDIF(base) (BME_UBFX32(&LPUART_STAT_REG(base), LPUART_STAT_LBKDIF_SHIFT, LPUART_STAT_LBKDIF_WIDTH)) |
| |
| /*! @brief Set the LBKDIF field to a new value. */ |
| #define LPUART_WR_STAT_LBKDIF(base, value) (LPUART_RMW_STAT(base, (LPUART_STAT_LBKDIF_MASK | LPUART_STAT_MA2F_MASK | LPUART_STAT_MA1F_MASK | LPUART_STAT_PF_MASK | LPUART_STAT_FE_MASK | LPUART_STAT_NF_MASK | LPUART_STAT_OR_MASK | LPUART_STAT_IDLE_MASK | LPUART_STAT_RXEDGIF_MASK), LPUART_STAT_LBKDIF(value))) |
| #define LPUART_BWR_STAT_LBKDIF(base, value) (BME_BFI32(&LPUART_STAT_REG(base), ((uint32_t)(value) << LPUART_STAT_LBKDIF_SHIFT), LPUART_STAT_LBKDIF_SHIFT, LPUART_STAT_LBKDIF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LPUART_CTRL - LPUART Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LPUART_CTRL - LPUART Control Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This read/write register controls various optional features of the LPUART |
| * system. This register should only be altered when the transmitter and receiver |
| * are both disabled. |
| */ |
| /*! |
| * @name Constants and macros for entire LPUART_CTRL register |
| */ |
| /*@{*/ |
| #define LPUART_RD_CTRL(base) (LPUART_CTRL_REG(base)) |
| #define LPUART_WR_CTRL(base, value) (LPUART_CTRL_REG(base) = (value)) |
| #define LPUART_RMW_CTRL(base, mask, value) (LPUART_WR_CTRL(base, (LPUART_RD_CTRL(base) & ~(mask)) | (value))) |
| #define LPUART_SET_CTRL(base, value) (BME_OR32(&LPUART_CTRL_REG(base), (uint32_t)(value))) |
| #define LPUART_CLR_CTRL(base, value) (BME_AND32(&LPUART_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define LPUART_TOG_CTRL(base, value) (BME_XOR32(&LPUART_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LPUART_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register LPUART_CTRL, field PT[0] (RW) |
| * |
| * Provided parity is enabled (PE = 1), this bit selects even or odd parity. Odd |
| * parity means the total number of 1s in the data character, including the |
| * parity bit, is odd. Even parity means the total number of 1s in the data |
| * character, including the parity bit, is even. |
| * |
| * Values: |
| * - 0b0 - Even parity. |
| * - 0b1 - Odd parity. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_PT field. */ |
| #define LPUART_RD_CTRL_PT(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_PT_MASK) >> LPUART_CTRL_PT_SHIFT) |
| #define LPUART_BRD_CTRL_PT(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_PT_SHIFT, LPUART_CTRL_PT_WIDTH)) |
| |
| /*! @brief Set the PT field to a new value. */ |
| #define LPUART_WR_CTRL_PT(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_PT_MASK, LPUART_CTRL_PT(value))) |
| #define LPUART_BWR_CTRL_PT(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_PT_SHIFT), LPUART_CTRL_PT_SHIFT, LPUART_CTRL_PT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field PE[1] (RW) |
| * |
| * Enables hardware parity generation and checking. When parity is enabled, the |
| * bit immediately before the stop bit is treated as the parity bit. |
| * |
| * Values: |
| * - 0b0 - No hardware parity generation or checking. |
| * - 0b1 - Parity enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_PE field. */ |
| #define LPUART_RD_CTRL_PE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_PE_MASK) >> LPUART_CTRL_PE_SHIFT) |
| #define LPUART_BRD_CTRL_PE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_PE_SHIFT, LPUART_CTRL_PE_WIDTH)) |
| |
| /*! @brief Set the PE field to a new value. */ |
| #define LPUART_WR_CTRL_PE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_PE_MASK, LPUART_CTRL_PE(value))) |
| #define LPUART_BWR_CTRL_PE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_PE_SHIFT), LPUART_CTRL_PE_SHIFT, LPUART_CTRL_PE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field ILT[2] (RW) |
| * |
| * Determines when the receiver starts counting logic 1s as idle character bits. |
| * The count begins either after a valid start bit or after the stop bit. If the |
| * count begins after the start bit, then a string of logic 1s preceding the |
| * stop bit can cause false recognition of an idle character. Beginning the count |
| * after the stop bit avoids false idle character recognition, but requires |
| * properly synchronized transmissions. In case the LPUART is programmed with ILT = 1, a |
| * logic 0 is automatically shifted after a received stop bit, therefore |
| * resetting the idle count. |
| * |
| * Values: |
| * - 0b0 - Idle character bit count starts after start bit. |
| * - 0b1 - Idle character bit count starts after stop bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_ILT field. */ |
| #define LPUART_RD_CTRL_ILT(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_ILT_MASK) >> LPUART_CTRL_ILT_SHIFT) |
| #define LPUART_BRD_CTRL_ILT(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_ILT_SHIFT, LPUART_CTRL_ILT_WIDTH)) |
| |
| /*! @brief Set the ILT field to a new value. */ |
| #define LPUART_WR_CTRL_ILT(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_ILT_MASK, LPUART_CTRL_ILT(value))) |
| #define LPUART_BWR_CTRL_ILT(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_ILT_SHIFT), LPUART_CTRL_ILT_SHIFT, LPUART_CTRL_ILT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field WAKE[3] (RW) |
| * |
| * Determines which condition wakes the LPUART when RWU=1: Address mark in the |
| * most significant bit position of a received data character, or An idle |
| * condition on the receive pin input signal. |
| * |
| * Values: |
| * - 0b0 - Configures RWU for idle-line wakeup. |
| * - 0b1 - Configures RWU with address-mark wakeup. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_WAKE field. */ |
| #define LPUART_RD_CTRL_WAKE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_WAKE_MASK) >> LPUART_CTRL_WAKE_SHIFT) |
| #define LPUART_BRD_CTRL_WAKE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_WAKE_SHIFT, LPUART_CTRL_WAKE_WIDTH)) |
| |
| /*! @brief Set the WAKE field to a new value. */ |
| #define LPUART_WR_CTRL_WAKE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_WAKE_MASK, LPUART_CTRL_WAKE(value))) |
| #define LPUART_BWR_CTRL_WAKE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_WAKE_SHIFT), LPUART_CTRL_WAKE_SHIFT, LPUART_CTRL_WAKE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field M[4] (RW) |
| * |
| * Values: |
| * - 0b0 - Receiver and transmitter use 8-bit data characters. |
| * - 0b1 - Receiver and transmitter use 9-bit data characters. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_M field. */ |
| #define LPUART_RD_CTRL_M(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_M_MASK) >> LPUART_CTRL_M_SHIFT) |
| #define LPUART_BRD_CTRL_M(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_M_SHIFT, LPUART_CTRL_M_WIDTH)) |
| |
| /*! @brief Set the M field to a new value. */ |
| #define LPUART_WR_CTRL_M(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_M_MASK, LPUART_CTRL_M(value))) |
| #define LPUART_BWR_CTRL_M(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_M_SHIFT), LPUART_CTRL_M_SHIFT, LPUART_CTRL_M_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field RSRC[5] (RW) |
| * |
| * This field has no meaning or effect unless the LOOPS field is set. When LOOPS |
| * is set, the RSRC field determines the source for the receiver shift register |
| * input. |
| * |
| * Values: |
| * - 0b0 - Provided LOOPS is set, RSRC is cleared, selects internal loop back |
| * mode and the LPUART does not use the LPUART_RX pin. |
| * - 0b1 - Single-wire LPUART mode where the LPUART_TX pin is connected to the |
| * transmitter output and receiver input. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_RSRC field. */ |
| #define LPUART_RD_CTRL_RSRC(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_RSRC_MASK) >> LPUART_CTRL_RSRC_SHIFT) |
| #define LPUART_BRD_CTRL_RSRC(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_RSRC_SHIFT, LPUART_CTRL_RSRC_WIDTH)) |
| |
| /*! @brief Set the RSRC field to a new value. */ |
| #define LPUART_WR_CTRL_RSRC(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_RSRC_MASK, LPUART_CTRL_RSRC(value))) |
| #define LPUART_BWR_CTRL_RSRC(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_RSRC_SHIFT), LPUART_CTRL_RSRC_SHIFT, LPUART_CTRL_RSRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field DOZEEN[6] (RW) |
| * |
| * Values: |
| * - 0b0 - LPUART is enabled in Doze mode. |
| * - 0b1 - LPUART is disabled in Doze mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_DOZEEN field. */ |
| #define LPUART_RD_CTRL_DOZEEN(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_DOZEEN_MASK) >> LPUART_CTRL_DOZEEN_SHIFT) |
| #define LPUART_BRD_CTRL_DOZEEN(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_DOZEEN_SHIFT, LPUART_CTRL_DOZEEN_WIDTH)) |
| |
| /*! @brief Set the DOZEEN field to a new value. */ |
| #define LPUART_WR_CTRL_DOZEEN(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_DOZEEN_MASK, LPUART_CTRL_DOZEEN(value))) |
| #define LPUART_BWR_CTRL_DOZEEN(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_DOZEEN_SHIFT), LPUART_CTRL_DOZEEN_SHIFT, LPUART_CTRL_DOZEEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field LOOPS[7] (RW) |
| * |
| * When LOOPS is set, the LPUART_RX pin is disconnected from the LPUART and the |
| * transmitter output is internally connected to the receiver input. The |
| * transmitter and the receiver must be enabled to use the loop function. |
| * |
| * Values: |
| * - 0b0 - Normal operation - LPUART_RX and LPUART_TX use separate pins. |
| * - 0b1 - Loop mode or single-wire mode where transmitter outputs are |
| * internally connected to receiver input (see RSRC bit). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_LOOPS field. */ |
| #define LPUART_RD_CTRL_LOOPS(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_LOOPS_MASK) >> LPUART_CTRL_LOOPS_SHIFT) |
| #define LPUART_BRD_CTRL_LOOPS(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_LOOPS_SHIFT, LPUART_CTRL_LOOPS_WIDTH)) |
| |
| /*! @brief Set the LOOPS field to a new value. */ |
| #define LPUART_WR_CTRL_LOOPS(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_LOOPS_MASK, LPUART_CTRL_LOOPS(value))) |
| #define LPUART_BWR_CTRL_LOOPS(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_LOOPS_SHIFT), LPUART_CTRL_LOOPS_SHIFT, LPUART_CTRL_LOOPS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field IDLECFG[10:8] (RW) |
| * |
| * Configures the number of idle characters that must be received before the |
| * IDLE flag is set. |
| * |
| * Values: |
| * - 0b000 - 1 idle character |
| * - 0b001 - 2 idle characters |
| * - 0b010 - 4 idle characters |
| * - 0b011 - 8 idle characters |
| * - 0b100 - 16 idle characters |
| * - 0b101 - 32 idle characters |
| * - 0b110 - 64 idle characters |
| * - 0b111 - 128 idle characters |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_IDLECFG field. */ |
| #define LPUART_RD_CTRL_IDLECFG(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_IDLECFG_MASK) >> LPUART_CTRL_IDLECFG_SHIFT) |
| #define LPUART_BRD_CTRL_IDLECFG(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_IDLECFG_SHIFT, LPUART_CTRL_IDLECFG_WIDTH)) |
| |
| /*! @brief Set the IDLECFG field to a new value. */ |
| #define LPUART_WR_CTRL_IDLECFG(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_IDLECFG_MASK, LPUART_CTRL_IDLECFG(value))) |
| #define LPUART_BWR_CTRL_IDLECFG(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_IDLECFG_SHIFT), LPUART_CTRL_IDLECFG_SHIFT, LPUART_CTRL_IDLECFG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field MA2IE[14] (RW) |
| * |
| * Values: |
| * - 0b0 - MA2F interrupt disabled |
| * - 0b1 - MA2F interrupt enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_MA2IE field. */ |
| #define LPUART_RD_CTRL_MA2IE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_MA2IE_MASK) >> LPUART_CTRL_MA2IE_SHIFT) |
| #define LPUART_BRD_CTRL_MA2IE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_MA2IE_SHIFT, LPUART_CTRL_MA2IE_WIDTH)) |
| |
| /*! @brief Set the MA2IE field to a new value. */ |
| #define LPUART_WR_CTRL_MA2IE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_MA2IE_MASK, LPUART_CTRL_MA2IE(value))) |
| #define LPUART_BWR_CTRL_MA2IE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_MA2IE_SHIFT), LPUART_CTRL_MA2IE_SHIFT, LPUART_CTRL_MA2IE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field MA1IE[15] (RW) |
| * |
| * Values: |
| * - 0b0 - MA1F interrupt disabled |
| * - 0b1 - MA1F interrupt enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_MA1IE field. */ |
| #define LPUART_RD_CTRL_MA1IE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_MA1IE_MASK) >> LPUART_CTRL_MA1IE_SHIFT) |
| #define LPUART_BRD_CTRL_MA1IE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_MA1IE_SHIFT, LPUART_CTRL_MA1IE_WIDTH)) |
| |
| /*! @brief Set the MA1IE field to a new value. */ |
| #define LPUART_WR_CTRL_MA1IE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_MA1IE_MASK, LPUART_CTRL_MA1IE(value))) |
| #define LPUART_BWR_CTRL_MA1IE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_MA1IE_SHIFT), LPUART_CTRL_MA1IE_SHIFT, LPUART_CTRL_MA1IE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field SBK[16] (RW) |
| * |
| * Writing a 1 and then a 0 to SBK queues a break character in the transmit data |
| * stream. Additional break characters of 10 to 13, or 13 to 16 if |
| * LPUART_STATBRK13] is set, bit times of logic 0 are queued as long as SBK is set. Depending |
| * on the timing of the set and clear of SBK relative to the information |
| * currently being transmitted, a second break character may be queued before software |
| * clears SBK. |
| * |
| * Values: |
| * - 0b0 - Normal transmitter operation. |
| * - 0b1 - Queue break character(s) to be sent. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_SBK field. */ |
| #define LPUART_RD_CTRL_SBK(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_SBK_MASK) >> LPUART_CTRL_SBK_SHIFT) |
| #define LPUART_BRD_CTRL_SBK(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_SBK_SHIFT, LPUART_CTRL_SBK_WIDTH)) |
| |
| /*! @brief Set the SBK field to a new value. */ |
| #define LPUART_WR_CTRL_SBK(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_SBK_MASK, LPUART_CTRL_SBK(value))) |
| #define LPUART_BWR_CTRL_SBK(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_SBK_SHIFT), LPUART_CTRL_SBK_SHIFT, LPUART_CTRL_SBK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field RWU[17] (RW) |
| * |
| * This field can be set to place the LPUART receiver in a standby state. RWU |
| * automatically clears when an RWU event occurs, that is, an IDLE event when |
| * CTRL[WAKE] is clear or an address match when CTRL[WAKE] is set with STAT[RWUID] is |
| * clear. RWU must be set only with CTRL[WAKE] = 0 (wakeup on idle) if the |
| * channel is currently not idle. This can be determined by STAT[RAF]. If the flag is |
| * set to wake up an IDLE event and the channel is already idle, it is possible |
| * that the LPUART will discard data. This is because the data must be received or |
| * a LIN break detected after an IDLE is detected before IDLE is allowed to be |
| * reasserted. |
| * |
| * Values: |
| * - 0b0 - Normal receiver operation. |
| * - 0b1 - LPUART receiver in standby waiting for wakeup condition. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_RWU field. */ |
| #define LPUART_RD_CTRL_RWU(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_RWU_MASK) >> LPUART_CTRL_RWU_SHIFT) |
| #define LPUART_BRD_CTRL_RWU(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_RWU_SHIFT, LPUART_CTRL_RWU_WIDTH)) |
| |
| /*! @brief Set the RWU field to a new value. */ |
| #define LPUART_WR_CTRL_RWU(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_RWU_MASK, LPUART_CTRL_RWU(value))) |
| #define LPUART_BWR_CTRL_RWU(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_RWU_SHIFT), LPUART_CTRL_RWU_SHIFT, LPUART_CTRL_RWU_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field RE[18] (RW) |
| * |
| * Enables the LPUART receiver. When RE is written to 0, this register bit will |
| * read as 1 until the receiver finishes receiving the current character (if any). |
| * |
| * Values: |
| * - 0b0 - Receiver disabled. |
| * - 0b1 - Receiver enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_RE field. */ |
| #define LPUART_RD_CTRL_RE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_RE_MASK) >> LPUART_CTRL_RE_SHIFT) |
| #define LPUART_BRD_CTRL_RE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_RE_SHIFT, LPUART_CTRL_RE_WIDTH)) |
| |
| /*! @brief Set the RE field to a new value. */ |
| #define LPUART_WR_CTRL_RE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_RE_MASK, LPUART_CTRL_RE(value))) |
| #define LPUART_BWR_CTRL_RE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_RE_SHIFT), LPUART_CTRL_RE_SHIFT, LPUART_CTRL_RE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field TE[19] (RW) |
| * |
| * Enables the LPUART transmitter. TE can also be used to queue an idle preamble |
| * by clearing and then setting TE. When TE is cleared, this register bit will |
| * read as 1 until the transmitter has completed the current character and the |
| * LPUART_TX pin is tristated. |
| * |
| * Values: |
| * - 0b0 - Transmitter disabled. |
| * - 0b1 - Transmitter enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_TE field. */ |
| #define LPUART_RD_CTRL_TE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_TE_MASK) >> LPUART_CTRL_TE_SHIFT) |
| #define LPUART_BRD_CTRL_TE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_TE_SHIFT, LPUART_CTRL_TE_WIDTH)) |
| |
| /*! @brief Set the TE field to a new value. */ |
| #define LPUART_WR_CTRL_TE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_TE_MASK, LPUART_CTRL_TE(value))) |
| #define LPUART_BWR_CTRL_TE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_TE_SHIFT), LPUART_CTRL_TE_SHIFT, LPUART_CTRL_TE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field ILIE[20] (RW) |
| * |
| * ILIE enables the idle line flag, STAT[IDLE], to generate interrupt requests. |
| * |
| * Values: |
| * - 0b0 - Hardware interrupts from IDLE disabled; use polling. |
| * - 0b1 - Hardware interrupt requested when IDLE flag is 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_ILIE field. */ |
| #define LPUART_RD_CTRL_ILIE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_ILIE_MASK) >> LPUART_CTRL_ILIE_SHIFT) |
| #define LPUART_BRD_CTRL_ILIE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_ILIE_SHIFT, LPUART_CTRL_ILIE_WIDTH)) |
| |
| /*! @brief Set the ILIE field to a new value. */ |
| #define LPUART_WR_CTRL_ILIE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_ILIE_MASK, LPUART_CTRL_ILIE(value))) |
| #define LPUART_BWR_CTRL_ILIE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_ILIE_SHIFT), LPUART_CTRL_ILIE_SHIFT, LPUART_CTRL_ILIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field RIE[21] (RW) |
| * |
| * Enables STAT[RDRF] to generate interrupt requests. |
| * |
| * Values: |
| * - 0b0 - Hardware interrupts from RDRF disabled; use polling. |
| * - 0b1 - Hardware interrupt requested when RDRF flag is 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_RIE field. */ |
| #define LPUART_RD_CTRL_RIE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_RIE_MASK) >> LPUART_CTRL_RIE_SHIFT) |
| #define LPUART_BRD_CTRL_RIE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_RIE_SHIFT, LPUART_CTRL_RIE_WIDTH)) |
| |
| /*! @brief Set the RIE field to a new value. */ |
| #define LPUART_WR_CTRL_RIE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_RIE_MASK, LPUART_CTRL_RIE(value))) |
| #define LPUART_BWR_CTRL_RIE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_RIE_SHIFT), LPUART_CTRL_RIE_SHIFT, LPUART_CTRL_RIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field TCIE[22] (RW) |
| * |
| * TCIE enables the transmission complete flag, TC, to generate interrupt |
| * requests. |
| * |
| * Values: |
| * - 0b0 - Hardware interrupts from TC disabled; use polling. |
| * - 0b1 - Hardware interrupt requested when TC flag is 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_TCIE field. */ |
| #define LPUART_RD_CTRL_TCIE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_TCIE_MASK) >> LPUART_CTRL_TCIE_SHIFT) |
| #define LPUART_BRD_CTRL_TCIE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_TCIE_SHIFT, LPUART_CTRL_TCIE_WIDTH)) |
| |
| /*! @brief Set the TCIE field to a new value. */ |
| #define LPUART_WR_CTRL_TCIE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_TCIE_MASK, LPUART_CTRL_TCIE(value))) |
| #define LPUART_BWR_CTRL_TCIE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_TCIE_SHIFT), LPUART_CTRL_TCIE_SHIFT, LPUART_CTRL_TCIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field TIE[23] (RW) |
| * |
| * Enables STAT[TDRE] to generate interrupt requests. |
| * |
| * Values: |
| * - 0b0 - Hardware interrupts from TDRE disabled; use polling. |
| * - 0b1 - Hardware interrupt requested when TDRE flag is 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_TIE field. */ |
| #define LPUART_RD_CTRL_TIE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_TIE_MASK) >> LPUART_CTRL_TIE_SHIFT) |
| #define LPUART_BRD_CTRL_TIE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_TIE_SHIFT, LPUART_CTRL_TIE_WIDTH)) |
| |
| /*! @brief Set the TIE field to a new value. */ |
| #define LPUART_WR_CTRL_TIE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_TIE_MASK, LPUART_CTRL_TIE(value))) |
| #define LPUART_BWR_CTRL_TIE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_TIE_SHIFT), LPUART_CTRL_TIE_SHIFT, LPUART_CTRL_TIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field PEIE[24] (RW) |
| * |
| * This bit enables the parity error flag (PF) to generate hardware interrupt |
| * requests. |
| * |
| * Values: |
| * - 0b0 - PF interrupts disabled; use polling). |
| * - 0b1 - Hardware interrupt requested when PF is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_PEIE field. */ |
| #define LPUART_RD_CTRL_PEIE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_PEIE_MASK) >> LPUART_CTRL_PEIE_SHIFT) |
| #define LPUART_BRD_CTRL_PEIE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_PEIE_SHIFT, LPUART_CTRL_PEIE_WIDTH)) |
| |
| /*! @brief Set the PEIE field to a new value. */ |
| #define LPUART_WR_CTRL_PEIE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_PEIE_MASK, LPUART_CTRL_PEIE(value))) |
| #define LPUART_BWR_CTRL_PEIE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_PEIE_SHIFT), LPUART_CTRL_PEIE_SHIFT, LPUART_CTRL_PEIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field FEIE[25] (RW) |
| * |
| * This bit enables the framing error flag (FE) to generate hardware interrupt |
| * requests. |
| * |
| * Values: |
| * - 0b0 - FE interrupts disabled; use polling. |
| * - 0b1 - Hardware interrupt requested when FE is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_FEIE field. */ |
| #define LPUART_RD_CTRL_FEIE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_FEIE_MASK) >> LPUART_CTRL_FEIE_SHIFT) |
| #define LPUART_BRD_CTRL_FEIE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_FEIE_SHIFT, LPUART_CTRL_FEIE_WIDTH)) |
| |
| /*! @brief Set the FEIE field to a new value. */ |
| #define LPUART_WR_CTRL_FEIE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_FEIE_MASK, LPUART_CTRL_FEIE(value))) |
| #define LPUART_BWR_CTRL_FEIE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_FEIE_SHIFT), LPUART_CTRL_FEIE_SHIFT, LPUART_CTRL_FEIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field NEIE[26] (RW) |
| * |
| * This bit enables the noise flag (NF) to generate hardware interrupt requests. |
| * |
| * Values: |
| * - 0b0 - NF interrupts disabled; use polling. |
| * - 0b1 - Hardware interrupt requested when NF is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_NEIE field. */ |
| #define LPUART_RD_CTRL_NEIE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_NEIE_MASK) >> LPUART_CTRL_NEIE_SHIFT) |
| #define LPUART_BRD_CTRL_NEIE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_NEIE_SHIFT, LPUART_CTRL_NEIE_WIDTH)) |
| |
| /*! @brief Set the NEIE field to a new value. */ |
| #define LPUART_WR_CTRL_NEIE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_NEIE_MASK, LPUART_CTRL_NEIE(value))) |
| #define LPUART_BWR_CTRL_NEIE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_NEIE_SHIFT), LPUART_CTRL_NEIE_SHIFT, LPUART_CTRL_NEIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field ORIE[27] (RW) |
| * |
| * This bit enables the overrun flag (OR) to generate hardware interrupt |
| * requests. |
| * |
| * Values: |
| * - 0b0 - OR interrupts disabled; use polling. |
| * - 0b1 - Hardware interrupt requested when OR is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_ORIE field. */ |
| #define LPUART_RD_CTRL_ORIE(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_ORIE_MASK) >> LPUART_CTRL_ORIE_SHIFT) |
| #define LPUART_BRD_CTRL_ORIE(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_ORIE_SHIFT, LPUART_CTRL_ORIE_WIDTH)) |
| |
| /*! @brief Set the ORIE field to a new value. */ |
| #define LPUART_WR_CTRL_ORIE(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_ORIE_MASK, LPUART_CTRL_ORIE(value))) |
| #define LPUART_BWR_CTRL_ORIE(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_ORIE_SHIFT), LPUART_CTRL_ORIE_SHIFT, LPUART_CTRL_ORIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field TXINV[28] (RW) |
| * |
| * Setting this bit reverses the polarity of the transmitted data output. |
| * Setting TXINV inverts the LPUART_TX output for all cases: data bits, start and stop |
| * bits, break, and idle. |
| * |
| * Values: |
| * - 0b0 - Transmit data not inverted. |
| * - 0b1 - Transmit data inverted. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_TXINV field. */ |
| #define LPUART_RD_CTRL_TXINV(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_TXINV_MASK) >> LPUART_CTRL_TXINV_SHIFT) |
| #define LPUART_BRD_CTRL_TXINV(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_TXINV_SHIFT, LPUART_CTRL_TXINV_WIDTH)) |
| |
| /*! @brief Set the TXINV field to a new value. */ |
| #define LPUART_WR_CTRL_TXINV(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_TXINV_MASK, LPUART_CTRL_TXINV(value))) |
| #define LPUART_BWR_CTRL_TXINV(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_TXINV_SHIFT), LPUART_CTRL_TXINV_SHIFT, LPUART_CTRL_TXINV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field TXDIR[29] (RW) |
| * |
| * When the LPUART is configured for single-wire half-duplex operation (LOOPS = |
| * RSRC = 1), this bit determines the direction of data at the LPUART_TX pin. |
| * When clearing TXDIR, the transmitter will finish receiving the current character |
| * (if any) before the receiver starts receiving data from the LPUART_TX pin. |
| * |
| * Values: |
| * - 0b0 - LPUART_TX pin is an input in single-wire mode. |
| * - 0b1 - LPUART_TX pin is an output in single-wire mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_TXDIR field. */ |
| #define LPUART_RD_CTRL_TXDIR(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_TXDIR_MASK) >> LPUART_CTRL_TXDIR_SHIFT) |
| #define LPUART_BRD_CTRL_TXDIR(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_TXDIR_SHIFT, LPUART_CTRL_TXDIR_WIDTH)) |
| |
| /*! @brief Set the TXDIR field to a new value. */ |
| #define LPUART_WR_CTRL_TXDIR(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_TXDIR_MASK, LPUART_CTRL_TXDIR(value))) |
| #define LPUART_BWR_CTRL_TXDIR(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_TXDIR_SHIFT), LPUART_CTRL_TXDIR_SHIFT, LPUART_CTRL_TXDIR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field R9T8[30] (RW) |
| * |
| * R9 is the tenth data bit received when the LPUART is configured for 10-bit |
| * data formats. When reading 10-bit data, read R9 before reading LPUART_DATA T8 is |
| * the ninth data bit received when the LPUART is configured for 9-bit or 10-bit |
| * data formats. When writing 9-bit or 10-bit data, write T8 before writing |
| * LPUART_DATA. If T8 does not need to change from its previous value, such as when |
| * it is used to generate address mark or parity, they it need not be written each |
| * time LPUART_DATA is written. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_R9T8 field. */ |
| #define LPUART_RD_CTRL_R9T8(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_R9T8_MASK) >> LPUART_CTRL_R9T8_SHIFT) |
| #define LPUART_BRD_CTRL_R9T8(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_R9T8_SHIFT, LPUART_CTRL_R9T8_WIDTH)) |
| |
| /*! @brief Set the R9T8 field to a new value. */ |
| #define LPUART_WR_CTRL_R9T8(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_R9T8_MASK, LPUART_CTRL_R9T8(value))) |
| #define LPUART_BWR_CTRL_R9T8(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_R9T8_SHIFT), LPUART_CTRL_R9T8_SHIFT, LPUART_CTRL_R9T8_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_CTRL, field R8T9[31] (RW) |
| * |
| * R8 is the ninth data bit received when the LPUART is configured for 9-bit or |
| * 10-bit data formats. When reading 9-bit or 10-bit data, read R8 before reading |
| * LPUART_DATA. T9 is the tenth data bit received when the LPUART is configured |
| * for 10-bit data formats. When writing 10-bit data, write T9 before writing |
| * LPUART_DATA. If T9 does not need to change from its previous value, such as when |
| * it is used to generate address mark or parity, they it need not be written |
| * each time LPUART_DATA is written. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_CTRL_R8T9 field. */ |
| #define LPUART_RD_CTRL_R8T9(base) ((LPUART_CTRL_REG(base) & LPUART_CTRL_R8T9_MASK) >> LPUART_CTRL_R8T9_SHIFT) |
| #define LPUART_BRD_CTRL_R8T9(base) (BME_UBFX32(&LPUART_CTRL_REG(base), LPUART_CTRL_R8T9_SHIFT, LPUART_CTRL_R8T9_WIDTH)) |
| |
| /*! @brief Set the R8T9 field to a new value. */ |
| #define LPUART_WR_CTRL_R8T9(base, value) (LPUART_RMW_CTRL(base, LPUART_CTRL_R8T9_MASK, LPUART_CTRL_R8T9(value))) |
| #define LPUART_BWR_CTRL_R8T9(base, value) (BME_BFI32(&LPUART_CTRL_REG(base), ((uint32_t)(value) << LPUART_CTRL_R8T9_SHIFT), LPUART_CTRL_R8T9_SHIFT, LPUART_CTRL_R8T9_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LPUART_DATA - LPUART Data Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LPUART_DATA - LPUART Data Register (RW) |
| * |
| * Reset value: 0x00001000U |
| * |
| * This register is actually two separate registers. Reads return the contents |
| * of the read-only receive data buffer and writes go to the write-only transmit |
| * data buffer. Reads and writes of this register are also involved in the |
| * automatic flag clearing mechanisms for some of the LPUART status flags. |
| */ |
| /*! |
| * @name Constants and macros for entire LPUART_DATA register |
| */ |
| /*@{*/ |
| #define LPUART_RD_DATA(base) (LPUART_DATA_REG(base)) |
| #define LPUART_WR_DATA(base, value) (LPUART_DATA_REG(base) = (value)) |
| #define LPUART_RMW_DATA(base, mask, value) (LPUART_WR_DATA(base, (LPUART_RD_DATA(base) & ~(mask)) | (value))) |
| #define LPUART_SET_DATA(base, value) (BME_OR32(&LPUART_DATA_REG(base), (uint32_t)(value))) |
| #define LPUART_CLR_DATA(base, value) (BME_AND32(&LPUART_DATA_REG(base), (uint32_t)(~(value)))) |
| #define LPUART_TOG_DATA(base, value) (BME_XOR32(&LPUART_DATA_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LPUART_DATA bitfields |
| */ |
| |
| /*! |
| * @name Register LPUART_DATA, field R0T0[0] (RW) |
| * |
| * Read receive data buffer 0 or write transmit data buffer 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_R0T0 field. */ |
| #define LPUART_RD_DATA_R0T0(base) ((LPUART_DATA_REG(base) & LPUART_DATA_R0T0_MASK) >> LPUART_DATA_R0T0_SHIFT) |
| #define LPUART_BRD_DATA_R0T0(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_R0T0_SHIFT, LPUART_DATA_R0T0_WIDTH)) |
| |
| /*! @brief Set the R0T0 field to a new value. */ |
| #define LPUART_WR_DATA_R0T0(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_R0T0_MASK, LPUART_DATA_R0T0(value))) |
| #define LPUART_BWR_DATA_R0T0(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_R0T0_SHIFT), LPUART_DATA_R0T0_SHIFT, LPUART_DATA_R0T0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field R1T1[1] (RW) |
| * |
| * Read receive data buffer 1 or write transmit data buffer 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_R1T1 field. */ |
| #define LPUART_RD_DATA_R1T1(base) ((LPUART_DATA_REG(base) & LPUART_DATA_R1T1_MASK) >> LPUART_DATA_R1T1_SHIFT) |
| #define LPUART_BRD_DATA_R1T1(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_R1T1_SHIFT, LPUART_DATA_R1T1_WIDTH)) |
| |
| /*! @brief Set the R1T1 field to a new value. */ |
| #define LPUART_WR_DATA_R1T1(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_R1T1_MASK, LPUART_DATA_R1T1(value))) |
| #define LPUART_BWR_DATA_R1T1(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_R1T1_SHIFT), LPUART_DATA_R1T1_SHIFT, LPUART_DATA_R1T1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field R2T2[2] (RW) |
| * |
| * Read receive data buffer 2 or write transmit data buffer 2. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_R2T2 field. */ |
| #define LPUART_RD_DATA_R2T2(base) ((LPUART_DATA_REG(base) & LPUART_DATA_R2T2_MASK) >> LPUART_DATA_R2T2_SHIFT) |
| #define LPUART_BRD_DATA_R2T2(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_R2T2_SHIFT, LPUART_DATA_R2T2_WIDTH)) |
| |
| /*! @brief Set the R2T2 field to a new value. */ |
| #define LPUART_WR_DATA_R2T2(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_R2T2_MASK, LPUART_DATA_R2T2(value))) |
| #define LPUART_BWR_DATA_R2T2(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_R2T2_SHIFT), LPUART_DATA_R2T2_SHIFT, LPUART_DATA_R2T2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field R3T3[3] (RW) |
| * |
| * Read receive data buffer 3 or write transmit data buffer 3. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_R3T3 field. */ |
| #define LPUART_RD_DATA_R3T3(base) ((LPUART_DATA_REG(base) & LPUART_DATA_R3T3_MASK) >> LPUART_DATA_R3T3_SHIFT) |
| #define LPUART_BRD_DATA_R3T3(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_R3T3_SHIFT, LPUART_DATA_R3T3_WIDTH)) |
| |
| /*! @brief Set the R3T3 field to a new value. */ |
| #define LPUART_WR_DATA_R3T3(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_R3T3_MASK, LPUART_DATA_R3T3(value))) |
| #define LPUART_BWR_DATA_R3T3(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_R3T3_SHIFT), LPUART_DATA_R3T3_SHIFT, LPUART_DATA_R3T3_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field R4T4[4] (RW) |
| * |
| * Read receive data buffer 4 or write transmit data buffer 4. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_R4T4 field. */ |
| #define LPUART_RD_DATA_R4T4(base) ((LPUART_DATA_REG(base) & LPUART_DATA_R4T4_MASK) >> LPUART_DATA_R4T4_SHIFT) |
| #define LPUART_BRD_DATA_R4T4(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_R4T4_SHIFT, LPUART_DATA_R4T4_WIDTH)) |
| |
| /*! @brief Set the R4T4 field to a new value. */ |
| #define LPUART_WR_DATA_R4T4(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_R4T4_MASK, LPUART_DATA_R4T4(value))) |
| #define LPUART_BWR_DATA_R4T4(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_R4T4_SHIFT), LPUART_DATA_R4T4_SHIFT, LPUART_DATA_R4T4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field R5T5[5] (RW) |
| * |
| * Read receive data buffer 5 or write transmit data buffer 5. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_R5T5 field. */ |
| #define LPUART_RD_DATA_R5T5(base) ((LPUART_DATA_REG(base) & LPUART_DATA_R5T5_MASK) >> LPUART_DATA_R5T5_SHIFT) |
| #define LPUART_BRD_DATA_R5T5(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_R5T5_SHIFT, LPUART_DATA_R5T5_WIDTH)) |
| |
| /*! @brief Set the R5T5 field to a new value. */ |
| #define LPUART_WR_DATA_R5T5(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_R5T5_MASK, LPUART_DATA_R5T5(value))) |
| #define LPUART_BWR_DATA_R5T5(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_R5T5_SHIFT), LPUART_DATA_R5T5_SHIFT, LPUART_DATA_R5T5_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field R6T6[6] (RW) |
| * |
| * Read receive data buffer 6 or write transmit data buffer 6. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_R6T6 field. */ |
| #define LPUART_RD_DATA_R6T6(base) ((LPUART_DATA_REG(base) & LPUART_DATA_R6T6_MASK) >> LPUART_DATA_R6T6_SHIFT) |
| #define LPUART_BRD_DATA_R6T6(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_R6T6_SHIFT, LPUART_DATA_R6T6_WIDTH)) |
| |
| /*! @brief Set the R6T6 field to a new value. */ |
| #define LPUART_WR_DATA_R6T6(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_R6T6_MASK, LPUART_DATA_R6T6(value))) |
| #define LPUART_BWR_DATA_R6T6(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_R6T6_SHIFT), LPUART_DATA_R6T6_SHIFT, LPUART_DATA_R6T6_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field R7T7[7] (RW) |
| * |
| * Read receive data buffer 7 or write transmit data buffer 7. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_R7T7 field. */ |
| #define LPUART_RD_DATA_R7T7(base) ((LPUART_DATA_REG(base) & LPUART_DATA_R7T7_MASK) >> LPUART_DATA_R7T7_SHIFT) |
| #define LPUART_BRD_DATA_R7T7(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_R7T7_SHIFT, LPUART_DATA_R7T7_WIDTH)) |
| |
| /*! @brief Set the R7T7 field to a new value. */ |
| #define LPUART_WR_DATA_R7T7(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_R7T7_MASK, LPUART_DATA_R7T7(value))) |
| #define LPUART_BWR_DATA_R7T7(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_R7T7_SHIFT), LPUART_DATA_R7T7_SHIFT, LPUART_DATA_R7T7_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field R8T8[8] (RW) |
| * |
| * Read receive data buffer 8 or write transmit data buffer 8. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_R8T8 field. */ |
| #define LPUART_RD_DATA_R8T8(base) ((LPUART_DATA_REG(base) & LPUART_DATA_R8T8_MASK) >> LPUART_DATA_R8T8_SHIFT) |
| #define LPUART_BRD_DATA_R8T8(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_R8T8_SHIFT, LPUART_DATA_R8T8_WIDTH)) |
| |
| /*! @brief Set the R8T8 field to a new value. */ |
| #define LPUART_WR_DATA_R8T8(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_R8T8_MASK, LPUART_DATA_R8T8(value))) |
| #define LPUART_BWR_DATA_R8T8(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_R8T8_SHIFT), LPUART_DATA_R8T8_SHIFT, LPUART_DATA_R8T8_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field R9T9[9] (RW) |
| * |
| * Read receive data buffer 9 or write transmit data buffer 9. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_R9T9 field. */ |
| #define LPUART_RD_DATA_R9T9(base) ((LPUART_DATA_REG(base) & LPUART_DATA_R9T9_MASK) >> LPUART_DATA_R9T9_SHIFT) |
| #define LPUART_BRD_DATA_R9T9(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_R9T9_SHIFT, LPUART_DATA_R9T9_WIDTH)) |
| |
| /*! @brief Set the R9T9 field to a new value. */ |
| #define LPUART_WR_DATA_R9T9(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_R9T9_MASK, LPUART_DATA_R9T9(value))) |
| #define LPUART_BWR_DATA_R9T9(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_R9T9_SHIFT), LPUART_DATA_R9T9_SHIFT, LPUART_DATA_R9T9_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field IDLINE[11] (RO) |
| * |
| * Indicates the receiver line was idle before receiving the character in |
| * DATA[9:0]. Unlike the IDLE flag, this bit can set for the first character received |
| * when the receiver is first enabled. |
| * |
| * Values: |
| * - 0b0 - Receiver was not idle before receiving this character. |
| * - 0b1 - Receiver was idle before receiving this character. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_IDLINE field. */ |
| #define LPUART_RD_DATA_IDLINE(base) ((LPUART_DATA_REG(base) & LPUART_DATA_IDLINE_MASK) >> LPUART_DATA_IDLINE_SHIFT) |
| #define LPUART_BRD_DATA_IDLINE(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_IDLINE_SHIFT, LPUART_DATA_IDLINE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field RXEMPT[12] (RO) |
| * |
| * Asserts when there is no data in the receive buffer. This field does not take |
| * into account data that is in the receive shift register. |
| * |
| * Values: |
| * - 0b0 - Receive buffer contains valid data. |
| * - 0b1 - Receive buffer is empty, data returned on read is not valid. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_RXEMPT field. */ |
| #define LPUART_RD_DATA_RXEMPT(base) ((LPUART_DATA_REG(base) & LPUART_DATA_RXEMPT_MASK) >> LPUART_DATA_RXEMPT_SHIFT) |
| #define LPUART_BRD_DATA_RXEMPT(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_RXEMPT_SHIFT, LPUART_DATA_RXEMPT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field FRETSC[13] (RW) |
| * |
| * For reads, indicates the current received dataword contained in DATA[R9:R0] |
| * was received with a frame error. For writes, indicates a break or idle |
| * character is to be transmitted instead of the contents in DATA[T9:T0]. T9 is used to |
| * indicate a break character when 0 and a idle character when 1, he contents of |
| * DATA[T8:T0] should be zero. |
| * |
| * Values: |
| * - 0b0 - The dataword was received without a frame error on read, transmit a |
| * normal character on write. |
| * - 0b1 - The dataword was received with a frame error, transmit an idle or |
| * break character on transmit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_FRETSC field. */ |
| #define LPUART_RD_DATA_FRETSC(base) ((LPUART_DATA_REG(base) & LPUART_DATA_FRETSC_MASK) >> LPUART_DATA_FRETSC_SHIFT) |
| #define LPUART_BRD_DATA_FRETSC(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_FRETSC_SHIFT, LPUART_DATA_FRETSC_WIDTH)) |
| |
| /*! @brief Set the FRETSC field to a new value. */ |
| #define LPUART_WR_DATA_FRETSC(base, value) (LPUART_RMW_DATA(base, LPUART_DATA_FRETSC_MASK, LPUART_DATA_FRETSC(value))) |
| #define LPUART_BWR_DATA_FRETSC(base, value) (BME_BFI32(&LPUART_DATA_REG(base), ((uint32_t)(value) << LPUART_DATA_FRETSC_SHIFT), LPUART_DATA_FRETSC_SHIFT, LPUART_DATA_FRETSC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field PARITYE[14] (RO) |
| * |
| * The current received dataword contained in DATA[R9:R0] was received with a |
| * parity error. |
| * |
| * Values: |
| * - 0b0 - The dataword was received without a parity error. |
| * - 0b1 - The dataword was received with a parity error. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_PARITYE field. */ |
| #define LPUART_RD_DATA_PARITYE(base) ((LPUART_DATA_REG(base) & LPUART_DATA_PARITYE_MASK) >> LPUART_DATA_PARITYE_SHIFT) |
| #define LPUART_BRD_DATA_PARITYE(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_PARITYE_SHIFT, LPUART_DATA_PARITYE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_DATA, field NOISY[15] (RO) |
| * |
| * The current received dataword contained in DATA[R9:R0] was received with |
| * noise. |
| * |
| * Values: |
| * - 0b0 - The dataword was received without noise. |
| * - 0b1 - The data was received with noise. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_DATA_NOISY field. */ |
| #define LPUART_RD_DATA_NOISY(base) ((LPUART_DATA_REG(base) & LPUART_DATA_NOISY_MASK) >> LPUART_DATA_NOISY_SHIFT) |
| #define LPUART_BRD_DATA_NOISY(base) (BME_UBFX32(&LPUART_DATA_REG(base), LPUART_DATA_NOISY_SHIFT, LPUART_DATA_NOISY_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LPUART_MATCH - LPUART Match Address Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LPUART_MATCH - LPUART Match Address Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire LPUART_MATCH register |
| */ |
| /*@{*/ |
| #define LPUART_RD_MATCH(base) (LPUART_MATCH_REG(base)) |
| #define LPUART_WR_MATCH(base, value) (LPUART_MATCH_REG(base) = (value)) |
| #define LPUART_RMW_MATCH(base, mask, value) (LPUART_WR_MATCH(base, (LPUART_RD_MATCH(base) & ~(mask)) | (value))) |
| #define LPUART_SET_MATCH(base, value) (BME_OR32(&LPUART_MATCH_REG(base), (uint32_t)(value))) |
| #define LPUART_CLR_MATCH(base, value) (BME_AND32(&LPUART_MATCH_REG(base), (uint32_t)(~(value)))) |
| #define LPUART_TOG_MATCH(base, value) (BME_XOR32(&LPUART_MATCH_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LPUART_MATCH bitfields |
| */ |
| |
| /*! |
| * @name Register LPUART_MATCH, field MA1[9:0] (RW) |
| * |
| * The MA1 and MA2 registers are compared to input data addresses when the most |
| * significant bit is set and the associated BAUD[MAEN] bit is set. If a match |
| * occurs, the following data is transferred to the data register. If a match |
| * fails, the following data is discarded. Software should only write a MA register |
| * when the associated BAUD[MAEN] bit is clear. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_MATCH_MA1 field. */ |
| #define LPUART_RD_MATCH_MA1(base) ((LPUART_MATCH_REG(base) & LPUART_MATCH_MA1_MASK) >> LPUART_MATCH_MA1_SHIFT) |
| #define LPUART_BRD_MATCH_MA1(base) (BME_UBFX32(&LPUART_MATCH_REG(base), LPUART_MATCH_MA1_SHIFT, LPUART_MATCH_MA1_WIDTH)) |
| |
| /*! @brief Set the MA1 field to a new value. */ |
| #define LPUART_WR_MATCH_MA1(base, value) (LPUART_RMW_MATCH(base, LPUART_MATCH_MA1_MASK, LPUART_MATCH_MA1(value))) |
| #define LPUART_BWR_MATCH_MA1(base, value) (BME_BFI32(&LPUART_MATCH_REG(base), ((uint32_t)(value) << LPUART_MATCH_MA1_SHIFT), LPUART_MATCH_MA1_SHIFT, LPUART_MATCH_MA1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_MATCH, field MA2[25:16] (RW) |
| * |
| * The MA1 and MA2 registers are compared to input data addresses when the most |
| * significant bit is set and the associated BAUD[MAEN] bit is set. If a match |
| * occurs, the following data is transferred to the data register. If a match |
| * fails, the following data is discarded. Software should only write a MA register |
| * when the associated BAUD[MAEN] bit is clear. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_MATCH_MA2 field. */ |
| #define LPUART_RD_MATCH_MA2(base) ((LPUART_MATCH_REG(base) & LPUART_MATCH_MA2_MASK) >> LPUART_MATCH_MA2_SHIFT) |
| #define LPUART_BRD_MATCH_MA2(base) (BME_UBFX32(&LPUART_MATCH_REG(base), LPUART_MATCH_MA2_SHIFT, LPUART_MATCH_MA2_WIDTH)) |
| |
| /*! @brief Set the MA2 field to a new value. */ |
| #define LPUART_WR_MATCH_MA2(base, value) (LPUART_RMW_MATCH(base, LPUART_MATCH_MA2_MASK, LPUART_MATCH_MA2(value))) |
| #define LPUART_BWR_MATCH_MA2(base, value) (BME_BFI32(&LPUART_MATCH_REG(base), ((uint32_t)(value) << LPUART_MATCH_MA2_SHIFT), LPUART_MATCH_MA2_SHIFT, LPUART_MATCH_MA2_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LPUART_MODIR - LPUART Modem IrDA Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LPUART_MODIR - LPUART Modem IrDA Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The MODEM register controls options for setting the modem configuration. |
| */ |
| /*! |
| * @name Constants and macros for entire LPUART_MODIR register |
| */ |
| /*@{*/ |
| #define LPUART_RD_MODIR(base) (LPUART_MODIR_REG(base)) |
| #define LPUART_WR_MODIR(base, value) (LPUART_MODIR_REG(base) = (value)) |
| #define LPUART_RMW_MODIR(base, mask, value) (LPUART_WR_MODIR(base, (LPUART_RD_MODIR(base) & ~(mask)) | (value))) |
| #define LPUART_SET_MODIR(base, value) (BME_OR32(&LPUART_MODIR_REG(base), (uint32_t)(value))) |
| #define LPUART_CLR_MODIR(base, value) (BME_AND32(&LPUART_MODIR_REG(base), (uint32_t)(~(value)))) |
| #define LPUART_TOG_MODIR(base, value) (BME_XOR32(&LPUART_MODIR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LPUART_MODIR bitfields |
| */ |
| |
| /*! |
| * @name Register LPUART_MODIR, field TXCTSE[0] (RW) |
| * |
| * TXCTSE controls the operation of the transmitter. TXCTSE can be set |
| * independently from the state of TXRTSE and RXRTSE. |
| * |
| * Values: |
| * - 0b0 - CTS has no effect on the transmitter. |
| * - 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. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_MODIR_TXCTSE field. */ |
| #define LPUART_RD_MODIR_TXCTSE(base) ((LPUART_MODIR_REG(base) & LPUART_MODIR_TXCTSE_MASK) >> LPUART_MODIR_TXCTSE_SHIFT) |
| #define LPUART_BRD_MODIR_TXCTSE(base) (BME_UBFX32(&LPUART_MODIR_REG(base), LPUART_MODIR_TXCTSE_SHIFT, LPUART_MODIR_TXCTSE_WIDTH)) |
| |
| /*! @brief Set the TXCTSE field to a new value. */ |
| #define LPUART_WR_MODIR_TXCTSE(base, value) (LPUART_RMW_MODIR(base, LPUART_MODIR_TXCTSE_MASK, LPUART_MODIR_TXCTSE(value))) |
| #define LPUART_BWR_MODIR_TXCTSE(base, value) (BME_BFI32(&LPUART_MODIR_REG(base), ((uint32_t)(value) << LPUART_MODIR_TXCTSE_SHIFT), LPUART_MODIR_TXCTSE_SHIFT, LPUART_MODIR_TXCTSE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_MODIR, field TXRTSE[1] (RW) |
| * |
| * Controls RTS before and after a transmission. |
| * |
| * Values: |
| * - 0b0 - The transmitter has no effect on RTS. |
| * - 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. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_MODIR_TXRTSE field. */ |
| #define LPUART_RD_MODIR_TXRTSE(base) ((LPUART_MODIR_REG(base) & LPUART_MODIR_TXRTSE_MASK) >> LPUART_MODIR_TXRTSE_SHIFT) |
| #define LPUART_BRD_MODIR_TXRTSE(base) (BME_UBFX32(&LPUART_MODIR_REG(base), LPUART_MODIR_TXRTSE_SHIFT, LPUART_MODIR_TXRTSE_WIDTH)) |
| |
| /*! @brief Set the TXRTSE field to a new value. */ |
| #define LPUART_WR_MODIR_TXRTSE(base, value) (LPUART_RMW_MODIR(base, LPUART_MODIR_TXRTSE_MASK, LPUART_MODIR_TXRTSE(value))) |
| #define LPUART_BWR_MODIR_TXRTSE(base, value) (BME_BFI32(&LPUART_MODIR_REG(base), ((uint32_t)(value) << LPUART_MODIR_TXRTSE_SHIFT), LPUART_MODIR_TXRTSE_SHIFT, LPUART_MODIR_TXRTSE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_MODIR, field TXRTSPOL[2] (RW) |
| * |
| * Controls the polarity of the transmitter RTS. TXRTSPOL does not affect the |
| * polarity of the receiver RTS. RTS will remain negated in the active low state |
| * unless TXRTSE is set. |
| * |
| * Values: |
| * - 0b0 - Transmitter RTS is active low. |
| * - 0b1 - Transmitter RTS is active high. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_MODIR_TXRTSPOL field. */ |
| #define LPUART_RD_MODIR_TXRTSPOL(base) ((LPUART_MODIR_REG(base) & LPUART_MODIR_TXRTSPOL_MASK) >> LPUART_MODIR_TXRTSPOL_SHIFT) |
| #define LPUART_BRD_MODIR_TXRTSPOL(base) (BME_UBFX32(&LPUART_MODIR_REG(base), LPUART_MODIR_TXRTSPOL_SHIFT, LPUART_MODIR_TXRTSPOL_WIDTH)) |
| |
| /*! @brief Set the TXRTSPOL field to a new value. */ |
| #define LPUART_WR_MODIR_TXRTSPOL(base, value) (LPUART_RMW_MODIR(base, LPUART_MODIR_TXRTSPOL_MASK, LPUART_MODIR_TXRTSPOL(value))) |
| #define LPUART_BWR_MODIR_TXRTSPOL(base, value) (BME_BFI32(&LPUART_MODIR_REG(base), ((uint32_t)(value) << LPUART_MODIR_TXRTSPOL_SHIFT), LPUART_MODIR_TXRTSPOL_SHIFT, LPUART_MODIR_TXRTSPOL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_MODIR, field RXRTSE[3] (RW) |
| * |
| * Allows the RTS output to control the CTS input of the transmitting device to |
| * prevent receiver overrun. Do not set both RXRTSE and TXRTSE. |
| * |
| * Values: |
| * - 0b0 - The receiver has no effect on RTS. |
| * - 0b1 - RTS assertion is configured by the RTSWATER field |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_MODIR_RXRTSE field. */ |
| #define LPUART_RD_MODIR_RXRTSE(base) ((LPUART_MODIR_REG(base) & LPUART_MODIR_RXRTSE_MASK) >> LPUART_MODIR_RXRTSE_SHIFT) |
| #define LPUART_BRD_MODIR_RXRTSE(base) (BME_UBFX32(&LPUART_MODIR_REG(base), LPUART_MODIR_RXRTSE_SHIFT, LPUART_MODIR_RXRTSE_WIDTH)) |
| |
| /*! @brief Set the RXRTSE field to a new value. */ |
| #define LPUART_WR_MODIR_RXRTSE(base, value) (LPUART_RMW_MODIR(base, LPUART_MODIR_RXRTSE_MASK, LPUART_MODIR_RXRTSE(value))) |
| #define LPUART_BWR_MODIR_RXRTSE(base, value) (BME_BFI32(&LPUART_MODIR_REG(base), ((uint32_t)(value) << LPUART_MODIR_RXRTSE_SHIFT), LPUART_MODIR_RXRTSE_SHIFT, LPUART_MODIR_RXRTSE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_MODIR, field TXCTSC[4] (RW) |
| * |
| * Configures if the CTS state is checked at the start of each character or only |
| * when the transmitter is idle. |
| * |
| * Values: |
| * - 0b0 - CTS input is sampled at the start of each character. |
| * - 0b1 - CTS input is sampled when the transmitter is idle. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_MODIR_TXCTSC field. */ |
| #define LPUART_RD_MODIR_TXCTSC(base) ((LPUART_MODIR_REG(base) & LPUART_MODIR_TXCTSC_MASK) >> LPUART_MODIR_TXCTSC_SHIFT) |
| #define LPUART_BRD_MODIR_TXCTSC(base) (BME_UBFX32(&LPUART_MODIR_REG(base), LPUART_MODIR_TXCTSC_SHIFT, LPUART_MODIR_TXCTSC_WIDTH)) |
| |
| /*! @brief Set the TXCTSC field to a new value. */ |
| #define LPUART_WR_MODIR_TXCTSC(base, value) (LPUART_RMW_MODIR(base, LPUART_MODIR_TXCTSC_MASK, LPUART_MODIR_TXCTSC(value))) |
| #define LPUART_BWR_MODIR_TXCTSC(base, value) (BME_BFI32(&LPUART_MODIR_REG(base), ((uint32_t)(value) << LPUART_MODIR_TXCTSC_SHIFT), LPUART_MODIR_TXCTSC_SHIFT, LPUART_MODIR_TXCTSC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_MODIR, field TXCTSSRC[5] (RW) |
| * |
| * Configures the source of the CTS input. |
| * |
| * Values: |
| * - 0b0 - CTS input is the LPUART_CTS pin. |
| * - 0b1 - CTS input is the inverted Receiver Match result. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_MODIR_TXCTSSRC field. */ |
| #define LPUART_RD_MODIR_TXCTSSRC(base) ((LPUART_MODIR_REG(base) & LPUART_MODIR_TXCTSSRC_MASK) >> LPUART_MODIR_TXCTSSRC_SHIFT) |
| #define LPUART_BRD_MODIR_TXCTSSRC(base) (BME_UBFX32(&LPUART_MODIR_REG(base), LPUART_MODIR_TXCTSSRC_SHIFT, LPUART_MODIR_TXCTSSRC_WIDTH)) |
| |
| /*! @brief Set the TXCTSSRC field to a new value. */ |
| #define LPUART_WR_MODIR_TXCTSSRC(base, value) (LPUART_RMW_MODIR(base, LPUART_MODIR_TXCTSSRC_MASK, LPUART_MODIR_TXCTSSRC(value))) |
| #define LPUART_BWR_MODIR_TXCTSSRC(base, value) (BME_BFI32(&LPUART_MODIR_REG(base), ((uint32_t)(value) << LPUART_MODIR_TXCTSSRC_SHIFT), LPUART_MODIR_TXCTSSRC_SHIFT, LPUART_MODIR_TXCTSSRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_MODIR, field TNP[17:16] (RW) |
| * |
| * Enables whether the LPUART transmits a 1/OSR, 2/OSR, 3/OSR or 4/OSR narrow |
| * pulse. |
| * |
| * Values: |
| * - 0b00 - 1/OSR. |
| * - 0b01 - 2/OSR. |
| * - 0b10 - 3/OSR. |
| * - 0b11 - 4/OSR. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_MODIR_TNP field. */ |
| #define LPUART_RD_MODIR_TNP(base) ((LPUART_MODIR_REG(base) & LPUART_MODIR_TNP_MASK) >> LPUART_MODIR_TNP_SHIFT) |
| #define LPUART_BRD_MODIR_TNP(base) (BME_UBFX32(&LPUART_MODIR_REG(base), LPUART_MODIR_TNP_SHIFT, LPUART_MODIR_TNP_WIDTH)) |
| |
| /*! @brief Set the TNP field to a new value. */ |
| #define LPUART_WR_MODIR_TNP(base, value) (LPUART_RMW_MODIR(base, LPUART_MODIR_TNP_MASK, LPUART_MODIR_TNP(value))) |
| #define LPUART_BWR_MODIR_TNP(base, value) (BME_BFI32(&LPUART_MODIR_REG(base), ((uint32_t)(value) << LPUART_MODIR_TNP_SHIFT), LPUART_MODIR_TNP_SHIFT, LPUART_MODIR_TNP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LPUART_MODIR, field IREN[18] (RW) |
| * |
| * Enables/disables the infrared modulation/demodulation. |
| * |
| * Values: |
| * - 0b0 - IR disabled. |
| * - 0b1 - IR enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LPUART_MODIR_IREN field. */ |
| #define LPUART_RD_MODIR_IREN(base) ((LPUART_MODIR_REG(base) & LPUART_MODIR_IREN_MASK) >> LPUART_MODIR_IREN_SHIFT) |
| #define LPUART_BRD_MODIR_IREN(base) (BME_UBFX32(&LPUART_MODIR_REG(base), LPUART_MODIR_IREN_SHIFT, LPUART_MODIR_IREN_WIDTH)) |
| |
| /*! @brief Set the IREN field to a new value. */ |
| #define LPUART_WR_MODIR_IREN(base, value) (LPUART_RMW_MODIR(base, LPUART_MODIR_IREN_MASK, LPUART_MODIR_IREN(value))) |
| #define LPUART_BWR_MODIR_IREN(base, value) (BME_BFI32(&LPUART_MODIR_REG(base), ((uint32_t)(value) << LPUART_MODIR_IREN_SHIFT), LPUART_MODIR_IREN_SHIFT, LPUART_MODIR_IREN_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 LTC |
| * |
| * LTC |
| * |
| * Registers defined in this header file: |
| * - LTC_MD - LTC Mode Register (non-PKHA/non-RNG use) |
| * - LTC_KS - LTC Key Size Register |
| * - LTC_DS - LTC Data Size Register |
| * - LTC_ICVS - LTC ICV Size Register |
| * - LTC_COM - LTC Command Register |
| * - LTC_CTL - LTC Control Register |
| * - LTC_CW - LTC Clear Written Register |
| * - LTC_STA - LTC Status Register |
| * - LTC_ESTA - LTC Error Status Register |
| * - LTC_AADSZ - LTC AAD Size Register |
| * - LTC_CTX - LTC Context Register |
| * - LTC_KEY - LTC Key Registers |
| * - LTC_FIFOSTA - LTC FIFO Status Register |
| * - LTC_IFIFO - LTC Input Data FIFO |
| * - LTC_OFIFO - LTC Output Data FIFO |
| * - LTC_VID1 - LTC Version ID Register |
| * - LTC_CHAVID - LTC CHA Version ID Register |
| */ |
| |
| #define LTC_INSTANCE_COUNT (1U) /*!< Number of instances of the LTC module. */ |
| #define LTC0_IDX (0U) /*!< Instance number for LTC0. */ |
| |
| /******************************************************************************* |
| * LTC_MD - LTC Mode Register (non-PKHA/non-RNG use) |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_MD - LTC Mode Register (non-PKHA/non-RNG use) (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Mode Register is used to tell the cryptographic engines which operation |
| * is being requested. The interpretation of this register will be unique for each |
| * CHA. This section defines the format of the Mode Register when used with |
| * non-public-key algorithms and non-RNG operations. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_MD register |
| */ |
| /*@{*/ |
| #define LTC_RD_MD(base) (LTC_MD_REG(base)) |
| #define LTC_WR_MD(base, value) (LTC_MD_REG(base) = (value)) |
| #define LTC_RMW_MD(base, mask, value) (LTC_WR_MD(base, (LTC_RD_MD(base) & ~(mask)) | (value))) |
| #define LTC_SET_MD(base, value) (BME_OR32(<C_MD_REG(base), (uint32_t)(value))) |
| #define LTC_CLR_MD(base, value) (BME_AND32(<C_MD_REG(base), (uint32_t)(~(value)))) |
| #define LTC_TOG_MD(base, value) (BME_XOR32(<C_MD_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_MD bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_MD, field ENC[0] (RW) |
| * |
| * Encrypt/Decrypt. This bit selects encryption or decryption. |
| * |
| * Values: |
| * - 0b0 - Decrypt. |
| * - 0b1 - Encrypt. |
| */ |
| /*@{*/ |
| #define LTC_MD_ENC_DECRYPT (0U) /*!< Bit field value for LTC_MD_ENC: Decrypt. */ |
| #define LTC_MD_ENC_ENCRYPT (0x1U) /*!< Bit field value for LTC_MD_ENC: Encrypt. */ |
| /*! @brief Read current value of the LTC_MD_ENC field. */ |
| #define LTC_RD_MD_ENC(base) ((LTC_MD_REG(base) & LTC_MD_ENC_MASK) >> LTC_MD_ENC_SHIFT) |
| #define LTC_BRD_MD_ENC(base) (BME_UBFX32(<C_MD_REG(base), LTC_MD_ENC_SHIFT, LTC_MD_ENC_WIDTH)) |
| |
| /*! @brief Set the ENC field to a new value. */ |
| #define LTC_WR_MD_ENC(base, value) (LTC_RMW_MD(base, LTC_MD_ENC_MASK, LTC_MD_ENC(value))) |
| #define LTC_BWR_MD_ENC(base, value) (BME_BFI32(<C_MD_REG(base), ((uint32_t)(value) << LTC_MD_ENC_SHIFT), LTC_MD_ENC_SHIFT, LTC_MD_ENC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_MD, field ICV_TEST[1] (RW) |
| * |
| * ICV Checking / Test AES fault detection. For algorithms other than AES ECB |
| * mode: ICV CheckingThis bit selects whether the current algorithm should compare |
| * the known ICV versus the calculated ICV. This bit will be ignored by |
| * algorithms that do not support ICV checking.0 - Don't compare1 - CompareFor AES ECB |
| * mode: Test AES fault detectionIn AES ECB mode, this bit activates fault detection |
| * testing by injecting bit level errors into AES core logic as defined in the |
| * first 128 bits of the context.0 - Don't inject bit errors1 - Inject bit errors |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_MD_ICV_TEST field. */ |
| #define LTC_RD_MD_ICV_TEST(base) ((LTC_MD_REG(base) & LTC_MD_ICV_TEST_MASK) >> LTC_MD_ICV_TEST_SHIFT) |
| #define LTC_BRD_MD_ICV_TEST(base) (BME_UBFX32(<C_MD_REG(base), LTC_MD_ICV_TEST_SHIFT, LTC_MD_ICV_TEST_WIDTH)) |
| |
| /*! @brief Set the ICV_TEST field to a new value. */ |
| #define LTC_WR_MD_ICV_TEST(base, value) (LTC_RMW_MD(base, LTC_MD_ICV_TEST_MASK, LTC_MD_ICV_TEST(value))) |
| #define LTC_BWR_MD_ICV_TEST(base, value) (BME_BFI32(<C_MD_REG(base), ((uint32_t)(value) << LTC_MD_ICV_TEST_SHIFT), LTC_MD_ICV_TEST_SHIFT, LTC_MD_ICV_TEST_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_MD, field AS[3:2] (RW) |
| * |
| * Algorithm State. This field defines the state of the algorithm that is being |
| * executed. This may not be used by every algorithm. |
| * |
| * Values: |
| * - 0b00 - Update |
| * - 0b01 - Initialize |
| * - 0b10 - Finalize |
| * - 0b11 - Initialize/Finalize |
| */ |
| /*@{*/ |
| #define LTC_MD_AS_UPDATE (0U) /*!< Bit field value for LTC_MD_AS: Update */ |
| #define LTC_MD_AS_INITIALIZE (0x1U) /*!< Bit field value for LTC_MD_AS: Initialize */ |
| #define LTC_MD_AS_FINALIZE (0x2U) /*!< Bit field value for LTC_MD_AS: Finalize */ |
| #define LTC_MD_AS_INIT_FINAL (0x3U) /*!< Bit field value for LTC_MD_AS: Initialize/Finalize */ |
| /*! @brief Read current value of the LTC_MD_AS field. */ |
| #define LTC_RD_MD_AS(base) ((LTC_MD_REG(base) & LTC_MD_AS_MASK) >> LTC_MD_AS_SHIFT) |
| #define LTC_BRD_MD_AS(base) (BME_UBFX32(<C_MD_REG(base), LTC_MD_AS_SHIFT, LTC_MD_AS_WIDTH)) |
| |
| /*! @brief Set the AS field to a new value. */ |
| #define LTC_WR_MD_AS(base, value) (LTC_RMW_MD(base, LTC_MD_AS_MASK, LTC_MD_AS(value))) |
| #define LTC_BWR_MD_AS(base, value) (BME_BFI32(<C_MD_REG(base), ((uint32_t)(value) << LTC_MD_AS_SHIFT), LTC_MD_AS_SHIFT, LTC_MD_AS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_MD, field AAI[12:4] (RW) |
| * |
| * Additional Algorithm information. This field contains additional mode |
| * information that is associated with the algorithm that is being executed. See also |
| * the section describing the appropriate CHA. Some algorithms do not require |
| * additional algorithm information and in those cases this field should be all 0s.AAI |
| * Interpretation for AES Modes[For AES the MSB of AAI is the DK (Decrypt Key) |
| * bit.] CodeThe codes are mutually exclusive (i.e. they cannot be ORed with each |
| * other).InterpretationCodeInterpretation00h CTR (mod 2128) 80hCCM, CCM* |
| * 10hCBC90hReserved20hECBA0hCBC_XCBC_MAC30hreservedB0hCTR_XCBC_MAC40hreservedC0hReserved50hReservedD0hReserved60hCMACE0hReserved70hXCBC-MACSetting |
| * the DK bit (i.e. ORing 100h with any AES code above) causes Key Register to |
| * be loaded with the AES Dcrypt key, rather than the AES Encrypt key. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_MD_AAI field. */ |
| #define LTC_RD_MD_AAI(base) ((LTC_MD_REG(base) & LTC_MD_AAI_MASK) >> LTC_MD_AAI_SHIFT) |
| #define LTC_BRD_MD_AAI(base) (BME_UBFX32(<C_MD_REG(base), LTC_MD_AAI_SHIFT, LTC_MD_AAI_WIDTH)) |
| |
| /*! @brief Set the AAI field to a new value. */ |
| #define LTC_WR_MD_AAI(base, value) (LTC_RMW_MD(base, LTC_MD_AAI_MASK, LTC_MD_AAI(value))) |
| #define LTC_BWR_MD_AAI(base, value) (BME_BFI32(<C_MD_REG(base), ((uint32_t)(value) << LTC_MD_AAI_SHIFT), LTC_MD_AAI_SHIFT, LTC_MD_AAI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_MD, field ALG[23:16] (RW) |
| * |
| * Algorithm. This field specifies which algorithm is being selected. |
| * |
| * Values: |
| * - 0b00010000 - AES |
| */ |
| /*@{*/ |
| #define LTC_MD_ALG_AES (0x10U) /*!< Bit field value for LTC_MD_ALG: AES */ |
| /*! @brief Read current value of the LTC_MD_ALG field. */ |
| #define LTC_RD_MD_ALG(base) ((LTC_MD_REG(base) & LTC_MD_ALG_MASK) >> LTC_MD_ALG_SHIFT) |
| #define LTC_BRD_MD_ALG(base) (BME_UBFX32(<C_MD_REG(base), LTC_MD_ALG_SHIFT, LTC_MD_ALG_WIDTH)) |
| |
| /*! @brief Set the ALG field to a new value. */ |
| #define LTC_WR_MD_ALG(base, value) (LTC_RMW_MD(base, LTC_MD_ALG_MASK, LTC_MD_ALG(value))) |
| #define LTC_BWR_MD_ALG(base, value) (BME_BFI32(<C_MD_REG(base), ((uint32_t)(value) << LTC_MD_ALG_SHIFT), LTC_MD_ALG_SHIFT, LTC_MD_ALG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_KS - LTC Key Size Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_KS - LTC Key Size Register (RW) |
| * |
| * Reset value: 0x00000010U |
| * |
| * The Key Size Register is used to tell the crypto engine(AES) the size of the |
| * key that was loaded into the Key Register. The Key Size Register must be |
| * written after the key is written into the Key Register. Writing to the Key Size |
| * Register will prevent the user from modifying the Key Register. Only 16 byte keys |
| * are supported so this register will always read 16 bytes. This register is |
| * still required to be written to indicate to the AES engine that the key was |
| * loaded. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_KS register |
| */ |
| /*@{*/ |
| #define LTC_RD_KS(base) (LTC_KS_REG(base)) |
| #define LTC_WR_KS(base, value) (LTC_KS_REG(base) = (value)) |
| #define LTC_RMW_KS(base, mask, value) (LTC_WR_KS(base, (LTC_RD_KS(base) & ~(mask)) | (value))) |
| #define LTC_SET_KS(base, value) (BME_OR32(<C_KS_REG(base), (uint32_t)(value))) |
| #define LTC_CLR_KS(base, value) (BME_AND32(<C_KS_REG(base), (uint32_t)(~(value)))) |
| #define LTC_TOG_KS(base, value) (BME_XOR32(<C_KS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_DS - LTC Data Size Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_DS - LTC Data Size Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Data Size Register is used to tell the AES the amount of data that will |
| * be loaded into the Input Data FIFO. This register should only be written to |
| * once during a single operation. Note that writing to the , will cause this |
| * register to also update. When this register is then written directory to then the |
| * new value will be added to the previous value in the register. That is, if the |
| * DS field currently has the value 16, writing 2 to the least-significant half of |
| * the Data Size register (i.e. the DS field) will result in a value of 18 in |
| * the DS field. Note that AES decrements this register, so reading the register |
| * may return a value less than sum of the values that were written into it. This |
| * register is cleared whenever a key is decrypted or encrypted. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_DS register |
| */ |
| /*@{*/ |
| #define LTC_RD_DS(base) (LTC_DS_REG(base)) |
| #define LTC_WR_DS(base, value) (LTC_DS_REG(base) = (value)) |
| #define LTC_RMW_DS(base, mask, value) (LTC_WR_DS(base, (LTC_RD_DS(base) & ~(mask)) | (value))) |
| #define LTC_SET_DS(base, value) (BME_OR32(<C_DS_REG(base), (uint32_t)(value))) |
| #define LTC_CLR_DS(base, value) (BME_AND32(<C_DS_REG(base), (uint32_t)(~(value)))) |
| #define LTC_TOG_DS(base, value) (BME_XOR32(<C_DS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_DS bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_DS, field DS[11:0] (RW) |
| * |
| * Data Size. This is the number of whole bytes of data that will be consumed by |
| * the CHA. Note that writing the AAD Size Register will result in this register |
| * also being written to. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_DS_DS field. */ |
| #define LTC_RD_DS_DS(base) ((LTC_DS_REG(base) & LTC_DS_DS_MASK) >> LTC_DS_DS_SHIFT) |
| #define LTC_BRD_DS_DS(base) (BME_UBFX32(<C_DS_REG(base), LTC_DS_DS_SHIFT, LTC_DS_DS_WIDTH)) |
| |
| /*! @brief Set the DS field to a new value. */ |
| #define LTC_WR_DS_DS(base, value) (LTC_RMW_DS(base, LTC_DS_DS_MASK, LTC_DS_DS(value))) |
| #define LTC_BWR_DS_DS(base, value) (BME_BFI32(<C_DS_REG(base), ((uint32_t)(value) << LTC_DS_DS_SHIFT), LTC_DS_DS_SHIFT, LTC_DS_DS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_ICVS - LTC ICV Size Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_ICVS - LTC ICV Size Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The ICV Size Register indicates how much of the last block of ICV is valid |
| * when performing AES integrity check modes (e.g. AES-CMAC, AES-XCBC-MAC). This |
| * register must be written prior to the corresponding word of data being consumed |
| * by AES. In practical terms, this means the register must be written prior to |
| * the corresponding data being written to the Input Data FIFO. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_ICVS register |
| */ |
| /*@{*/ |
| #define LTC_RD_ICVS(base) (LTC_ICVS_REG(base)) |
| #define LTC_WR_ICVS(base, value) (LTC_ICVS_REG(base) = (value)) |
| #define LTC_RMW_ICVS(base, mask, value) (LTC_WR_ICVS(base, (LTC_RD_ICVS(base) & ~(mask)) | (value))) |
| #define LTC_SET_ICVS(base, value) (BME_OR32(<C_ICVS_REG(base), (uint32_t)(value))) |
| #define LTC_CLR_ICVS(base, value) (BME_AND32(<C_ICVS_REG(base), (uint32_t)(~(value)))) |
| #define LTC_TOG_ICVS(base, value) (BME_XOR32(<C_ICVS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_ICVS bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_ICVS, field ICVS[4:0] (RW) |
| * |
| * ICV Size, in Bytes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_ICVS_ICVS field. */ |
| #define LTC_RD_ICVS_ICVS(base) ((LTC_ICVS_REG(base) & LTC_ICVS_ICVS_MASK) >> LTC_ICVS_ICVS_SHIFT) |
| #define LTC_BRD_ICVS_ICVS(base) (BME_UBFX32(<C_ICVS_REG(base), LTC_ICVS_ICVS_SHIFT, LTC_ICVS_ICVS_WIDTH)) |
| |
| /*! @brief Set the ICVS field to a new value. */ |
| #define LTC_WR_ICVS_ICVS(base, value) (LTC_RMW_ICVS(base, LTC_ICVS_ICVS_MASK, LTC_ICVS_ICVS(value))) |
| #define LTC_BWR_ICVS_ICVS(base, value) (BME_BFI32(<C_ICVS_REG(base), ((uint32_t)(value) << LTC_ICVS_ICVS_SHIFT), LTC_ICVS_ICVS_SHIFT, LTC_ICVS_ICVS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_COM - LTC Command Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_COM - LTC Command Register (WO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The LTC Command Register is used to send control signals to the Crypto |
| * Engines. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_COM register |
| */ |
| /*@{*/ |
| #define LTC_WR_COM(base, value) (LTC_COM_REG(base) = (value)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_COM bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_COM, field ALL[0] (WO) |
| * |
| * Reset All Internal Logic. Writing to this bit will reset all accelerator |
| * engines and as well as all the internal registers. |
| * |
| * Values: |
| * - 0b0 - Do Not Reset |
| * - 0b1 - Reset all CHAs in use by this CCB. |
| */ |
| /*@{*/ |
| #define LTC_COM_ALL_NO_RESET (0U) /*!< Bit field value for LTC_COM_ALL: Do Not Reset */ |
| #define LTC_COM_ALL_RESET_ALL (0x1U) /*!< Bit field value for LTC_COM_ALL: Reset all CHAs in use by this CCB. */ |
| /*! @brief Set the ALL field to a new value. */ |
| #define LTC_WR_COM_ALL(base, value) (LTC_WR_COM(base, LTC_COM_ALL(value))) |
| #define LTC_BWR_COM_ALL(base, value) (LTC_WR_COM_ALL(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_COM, field AES[1] (WO) |
| * |
| * Reset AESA. Writing a 1 to this bit resets the AES Accelerator core engine. |
| * |
| * Values: |
| * - 0b0 - Do Not Reset |
| * - 0b1 - Reset AES Accelerator |
| */ |
| /*@{*/ |
| #define LTC_COM_AES_NO_RESET (0U) /*!< Bit field value for LTC_COM_AES: Do Not Reset */ |
| #define LTC_COM_AES_RESET_AESA (0x1U) /*!< Bit field value for LTC_COM_AES: Reset AES Accelerator */ |
| /*! @brief Set the AES field to a new value. */ |
| #define LTC_WR_COM_AES(base, value) (LTC_WR_COM(base, LTC_COM_AES(value))) |
| #define LTC_BWR_COM_AES(base, value) (LTC_WR_COM_AES(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_CTL - LTC Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_CTL - LTC Control Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register is used for some of the internal controls of the LTC block. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_CTL register |
| */ |
| /*@{*/ |
| #define LTC_RD_CTL(base) (LTC_CTL_REG(base)) |
| #define LTC_WR_CTL(base, value) (LTC_CTL_REG(base) = (value)) |
| #define LTC_RMW_CTL(base, mask, value) (LTC_WR_CTL(base, (LTC_RD_CTL(base) & ~(mask)) | (value))) |
| #define LTC_SET_CTL(base, value) (BME_OR32(<C_CTL_REG(base), (uint32_t)(value))) |
| #define LTC_CLR_CTL(base, value) (BME_AND32(<C_CTL_REG(base), (uint32_t)(~(value)))) |
| #define LTC_TOG_CTL(base, value) (BME_XOR32(<C_CTL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_CTL bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_CTL, field IM[0] (RW) |
| * |
| * Interrupt Mask. Once this bit is set, it can only be cleared by hard reset. |
| * |
| * Values: |
| * - 0b0 - Interrupt not masked. |
| * - 0b1 - Interrupt masked |
| */ |
| /*@{*/ |
| #define LTC_CTL_IM_INT_NOT_MASKED (0U) /*!< Bit field value for LTC_CTL_IM: Interrupt not masked. */ |
| #define LTC_CTL_IM_INT_MASKED (0x1U) /*!< Bit field value for LTC_CTL_IM: Interrupt masked */ |
| /*! @brief Read current value of the LTC_CTL_IM field. */ |
| #define LTC_RD_CTL_IM(base) ((LTC_CTL_REG(base) & LTC_CTL_IM_MASK) >> LTC_CTL_IM_SHIFT) |
| #define LTC_BRD_CTL_IM(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_IM_SHIFT, LTC_CTL_IM_WIDTH)) |
| |
| /*! @brief Set the IM field to a new value. */ |
| #define LTC_WR_CTL_IM(base, value) (LTC_RMW_CTL(base, LTC_CTL_IM_MASK, LTC_CTL_IM(value))) |
| #define LTC_BWR_CTL_IM(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_IM_SHIFT), LTC_CTL_IM_SHIFT, LTC_CTL_IM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field IFE[8] (RW) |
| * |
| * Input FIFO DMA Enable. |
| * |
| * Values: |
| * - 0b0 - DMA Request and Done signals disabled for the Input FIFO. |
| * - 0b1 - DMA Request and Done signals enabled for the Input FIFO. |
| */ |
| /*@{*/ |
| #define LTC_CTL_IFE_IFE_DISABLED (0U) /*!< Bit field value for LTC_CTL_IFE: DMA Request and Done signals disabled for the Input FIFO. */ |
| #define LTC_CTL_IFE_IFE_ENABLED (0x1U) /*!< Bit field value for LTC_CTL_IFE: DMA Request and Done signals enabled for the Input FIFO. */ |
| /*! @brief Read current value of the LTC_CTL_IFE field. */ |
| #define LTC_RD_CTL_IFE(base) ((LTC_CTL_REG(base) & LTC_CTL_IFE_MASK) >> LTC_CTL_IFE_SHIFT) |
| #define LTC_BRD_CTL_IFE(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_IFE_SHIFT, LTC_CTL_IFE_WIDTH)) |
| |
| /*! @brief Set the IFE field to a new value. */ |
| #define LTC_WR_CTL_IFE(base, value) (LTC_RMW_CTL(base, LTC_CTL_IFE_MASK, LTC_CTL_IFE(value))) |
| #define LTC_BWR_CTL_IFE(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_IFE_SHIFT), LTC_CTL_IFE_SHIFT, LTC_CTL_IFE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field IFR[9] (RW) |
| * |
| * Input FIFO DMA Request Size. The DMA request logic will only request data if |
| * the INPUT FIFO has enough space for the request size. |
| * |
| * Values: |
| * - 0b0 - DMA request size is 1 entry. |
| * - 0b1 - DMA request size is 4 entries. |
| */ |
| /*@{*/ |
| #define LTC_CTL_IFR_IFR_1 (0U) /*!< Bit field value for LTC_CTL_IFR: DMA request size is 1 entry. */ |
| #define LTC_CTL_IFR_IFR_4 (0x1U) /*!< Bit field value for LTC_CTL_IFR: DMA request size is 4 entries. */ |
| /*! @brief Read current value of the LTC_CTL_IFR field. */ |
| #define LTC_RD_CTL_IFR(base) ((LTC_CTL_REG(base) & LTC_CTL_IFR_MASK) >> LTC_CTL_IFR_SHIFT) |
| #define LTC_BRD_CTL_IFR(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_IFR_SHIFT, LTC_CTL_IFR_WIDTH)) |
| |
| /*! @brief Set the IFR field to a new value. */ |
| #define LTC_WR_CTL_IFR(base, value) (LTC_RMW_CTL(base, LTC_CTL_IFR_MASK, LTC_CTL_IFR(value))) |
| #define LTC_BWR_CTL_IFR(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_IFR_SHIFT), LTC_CTL_IFR_SHIFT, LTC_CTL_IFR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field OFE[12] (RW) |
| * |
| * Output FIFO DMA Enable. |
| * |
| * Values: |
| * - 0b0 - DMA Request and Done signals disabled for the Output FIFO. |
| * - 0b1 - DMA Request and Done signals enabled for the Output FIFO. |
| */ |
| /*@{*/ |
| #define LTC_CTL_OFE_OFE_DISABLED (0U) /*!< Bit field value for LTC_CTL_OFE: DMA Request and Done signals disabled for the Output FIFO. */ |
| #define LTC_CTL_OFE_OFE_ENABLED (0x1U) /*!< Bit field value for LTC_CTL_OFE: DMA Request and Done signals enabled for the Output FIFO. */ |
| /*! @brief Read current value of the LTC_CTL_OFE field. */ |
| #define LTC_RD_CTL_OFE(base) ((LTC_CTL_REG(base) & LTC_CTL_OFE_MASK) >> LTC_CTL_OFE_SHIFT) |
| #define LTC_BRD_CTL_OFE(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_OFE_SHIFT, LTC_CTL_OFE_WIDTH)) |
| |
| /*! @brief Set the OFE field to a new value. */ |
| #define LTC_WR_CTL_OFE(base, value) (LTC_RMW_CTL(base, LTC_CTL_OFE_MASK, LTC_CTL_OFE(value))) |
| #define LTC_BWR_CTL_OFE(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_OFE_SHIFT), LTC_CTL_OFE_SHIFT, LTC_CTL_OFE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field OFR[13] (RW) |
| * |
| * Output FIFO DMA Request Size. The DMA request logic will only request data if |
| * the OUTPUT FIFO has enough data to satisfy the request. |
| * |
| * Values: |
| * - 0b0 - DMA request size is 1 entry. |
| * - 0b1 - DMA request size is 4 entries. |
| */ |
| /*@{*/ |
| #define LTC_CTL_OFR_OFR_1 (0U) /*!< Bit field value for LTC_CTL_OFR: DMA request size is 1 entry. */ |
| #define LTC_CTL_OFR_OFR_4 (0x1U) /*!< Bit field value for LTC_CTL_OFR: DMA request size is 4 entries. */ |
| /*! @brief Read current value of the LTC_CTL_OFR field. */ |
| #define LTC_RD_CTL_OFR(base) ((LTC_CTL_REG(base) & LTC_CTL_OFR_MASK) >> LTC_CTL_OFR_SHIFT) |
| #define LTC_BRD_CTL_OFR(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_OFR_SHIFT, LTC_CTL_OFR_WIDTH)) |
| |
| /*! @brief Set the OFR field to a new value. */ |
| #define LTC_WR_CTL_OFR(base, value) (LTC_RMW_CTL(base, LTC_CTL_OFR_MASK, LTC_CTL_OFR(value))) |
| #define LTC_BWR_CTL_OFR(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_OFR_SHIFT), LTC_CTL_OFR_SHIFT, LTC_CTL_OFR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field IFS[16] (RW) |
| * |
| * Input FIFO Byte Swap. Byte swap all data that is written to the Input FIFO. |
| * |
| * Values: |
| * - 0b0 - Do Not Byte Swap Data. |
| * - 0b1 - Byte Swap Data. |
| */ |
| /*@{*/ |
| #define LTC_CTL_IFS_IFS_NO_SWAP (0U) /*!< Bit field value for LTC_CTL_IFS: Do Not Byte Swap Data. */ |
| #define LTC_CTL_IFS_IFS_SWAP (0x1U) /*!< Bit field value for LTC_CTL_IFS: Byte Swap Data. */ |
| /*! @brief Read current value of the LTC_CTL_IFS field. */ |
| #define LTC_RD_CTL_IFS(base) ((LTC_CTL_REG(base) & LTC_CTL_IFS_MASK) >> LTC_CTL_IFS_SHIFT) |
| #define LTC_BRD_CTL_IFS(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_IFS_SHIFT, LTC_CTL_IFS_WIDTH)) |
| |
| /*! @brief Set the IFS field to a new value. */ |
| #define LTC_WR_CTL_IFS(base, value) (LTC_RMW_CTL(base, LTC_CTL_IFS_MASK, LTC_CTL_IFS(value))) |
| #define LTC_BWR_CTL_IFS(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_IFS_SHIFT), LTC_CTL_IFS_SHIFT, LTC_CTL_IFS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field OFS[17] (RW) |
| * |
| * Output FIFO Byte Swap. Byte swap all data that is read from the Onput FIFO. |
| * |
| * Values: |
| * - 0b0 - Do Not Byte Swap Data. |
| * - 0b1 - Byte Swap Data. |
| */ |
| /*@{*/ |
| #define LTC_CTL_OFS_OFS_NO_SWAP (0U) /*!< Bit field value for LTC_CTL_OFS: Do Not Byte Swap Data. */ |
| #define LTC_CTL_OFS_OFS_SWAP (0x1U) /*!< Bit field value for LTC_CTL_OFS: Byte Swap Data. */ |
| /*! @brief Read current value of the LTC_CTL_OFS field. */ |
| #define LTC_RD_CTL_OFS(base) ((LTC_CTL_REG(base) & LTC_CTL_OFS_MASK) >> LTC_CTL_OFS_SHIFT) |
| #define LTC_BRD_CTL_OFS(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_OFS_SHIFT, LTC_CTL_OFS_WIDTH)) |
| |
| /*! @brief Set the OFS field to a new value. */ |
| #define LTC_WR_CTL_OFS(base, value) (LTC_RMW_CTL(base, LTC_CTL_OFS_MASK, LTC_CTL_OFS(value))) |
| #define LTC_BWR_CTL_OFS(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_OFS_SHIFT), LTC_CTL_OFS_SHIFT, LTC_CTL_OFS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field KIS[20] (RW) |
| * |
| * Key Register Input Byte Swap. Byte swap all data that is written to the key |
| * register. Data is byte swapped only within a single word. |
| * |
| * Values: |
| * - 0b0 - Do Not Byte Swap Data. |
| * - 0b1 - Byte Swap Data. |
| */ |
| /*@{*/ |
| #define LTC_CTL_KIS_KIS_NO_SWAP (0U) /*!< Bit field value for LTC_CTL_KIS: Do Not Byte Swap Data. */ |
| #define LTC_CTL_KIS_KIS_SWAP (0x1U) /*!< Bit field value for LTC_CTL_KIS: Byte Swap Data. */ |
| /*! @brief Read current value of the LTC_CTL_KIS field. */ |
| #define LTC_RD_CTL_KIS(base) ((LTC_CTL_REG(base) & LTC_CTL_KIS_MASK) >> LTC_CTL_KIS_SHIFT) |
| #define LTC_BRD_CTL_KIS(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_KIS_SHIFT, LTC_CTL_KIS_WIDTH)) |
| |
| /*! @brief Set the KIS field to a new value. */ |
| #define LTC_WR_CTL_KIS(base, value) (LTC_RMW_CTL(base, LTC_CTL_KIS_MASK, LTC_CTL_KIS(value))) |
| #define LTC_BWR_CTL_KIS(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_KIS_SHIFT), LTC_CTL_KIS_SHIFT, LTC_CTL_KIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field KOS[21] (RW) |
| * |
| * Key Register Output Byte Swap. Byte swap all data that is read from the key |
| * register. Data is byte swapped only within a single word. |
| * |
| * Values: |
| * - 0b0 - Do Not Byte Swap Data. |
| * - 0b1 - Byte Swap Data. |
| */ |
| /*@{*/ |
| #define LTC_CTL_KOS_KOS_NO_SWAP (0U) /*!< Bit field value for LTC_CTL_KOS: Do Not Byte Swap Data. */ |
| #define LTC_CTL_KOS_KOS_SWAP (0x1U) /*!< Bit field value for LTC_CTL_KOS: Byte Swap Data. */ |
| /*! @brief Read current value of the LTC_CTL_KOS field. */ |
| #define LTC_RD_CTL_KOS(base) ((LTC_CTL_REG(base) & LTC_CTL_KOS_MASK) >> LTC_CTL_KOS_SHIFT) |
| #define LTC_BRD_CTL_KOS(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_KOS_SHIFT, LTC_CTL_KOS_WIDTH)) |
| |
| /*! @brief Set the KOS field to a new value. */ |
| #define LTC_WR_CTL_KOS(base, value) (LTC_RMW_CTL(base, LTC_CTL_KOS_MASK, LTC_CTL_KOS(value))) |
| #define LTC_BWR_CTL_KOS(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_KOS_SHIFT), LTC_CTL_KOS_SHIFT, LTC_CTL_KOS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field CIS[22] (RW) |
| * |
| * Context Register Input Byte Swap. Byte swap all data that is written to the |
| * context register. Data is byte swapped only within a single word. |
| * |
| * Values: |
| * - 0b0 - Do Not Byte Swap Data. |
| * - 0b1 - Byte Swap Data. |
| */ |
| /*@{*/ |
| #define LTC_CTL_CIS_CIS_NO_SWAP (0U) /*!< Bit field value for LTC_CTL_CIS: Do Not Byte Swap Data. */ |
| #define LTC_CTL_CIS_CIS_SWAP (0x1U) /*!< Bit field value for LTC_CTL_CIS: Byte Swap Data. */ |
| /*! @brief Read current value of the LTC_CTL_CIS field. */ |
| #define LTC_RD_CTL_CIS(base) ((LTC_CTL_REG(base) & LTC_CTL_CIS_MASK) >> LTC_CTL_CIS_SHIFT) |
| #define LTC_BRD_CTL_CIS(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_CIS_SHIFT, LTC_CTL_CIS_WIDTH)) |
| |
| /*! @brief Set the CIS field to a new value. */ |
| #define LTC_WR_CTL_CIS(base, value) (LTC_RMW_CTL(base, LTC_CTL_CIS_MASK, LTC_CTL_CIS(value))) |
| #define LTC_BWR_CTL_CIS(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_CIS_SHIFT), LTC_CTL_CIS_SHIFT, LTC_CTL_CIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field COS[23] (RW) |
| * |
| * Context Register Output Byte Swap. Byte swap all data that is read from the |
| * context register. Data is byte swapped only within a single word. |
| * |
| * Values: |
| * - 0b0 - Do Not Byte Swap Data. |
| * - 0b1 - Byte Swap Data. |
| */ |
| /*@{*/ |
| #define LTC_CTL_COS_COS_NO_SWAP (0U) /*!< Bit field value for LTC_CTL_COS: Do Not Byte Swap Data. */ |
| #define LTC_CTL_COS_COS_SWAP (0x1U) /*!< Bit field value for LTC_CTL_COS: Byte Swap Data. */ |
| /*! @brief Read current value of the LTC_CTL_COS field. */ |
| #define LTC_RD_CTL_COS(base) ((LTC_CTL_REG(base) & LTC_CTL_COS_MASK) >> LTC_CTL_COS_SHIFT) |
| #define LTC_BRD_CTL_COS(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_COS_SHIFT, LTC_CTL_COS_WIDTH)) |
| |
| /*! @brief Set the COS field to a new value. */ |
| #define LTC_WR_CTL_COS(base, value) (LTC_RMW_CTL(base, LTC_CTL_COS_MASK, LTC_CTL_COS(value))) |
| #define LTC_BWR_CTL_COS(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_COS_SHIFT), LTC_CTL_COS_SHIFT, LTC_CTL_COS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CTL, field KAL[31] (RW) |
| * |
| * Key Register Access Lock. Read access to the key register is blocked. Any |
| * reads of the key register will only return zero. Once this bit is set, it can |
| * only be cleared by hard reset. |
| * |
| * Values: |
| * - 0b0 - Key Register is readable. |
| * - 0b1 - Key Register is not readable. |
| */ |
| /*@{*/ |
| #define LTC_CTL_KAL_KAL_READABLE (0U) /*!< Bit field value for LTC_CTL_KAL: Key Register is readable. */ |
| #define LTC_CTL_KAL_KAL_NOT_READABLE (0x1U) /*!< Bit field value for LTC_CTL_KAL: Key Register is not readable. */ |
| /*! @brief Read current value of the LTC_CTL_KAL field. */ |
| #define LTC_RD_CTL_KAL(base) ((LTC_CTL_REG(base) & LTC_CTL_KAL_MASK) >> LTC_CTL_KAL_SHIFT) |
| #define LTC_BRD_CTL_KAL(base) (BME_UBFX32(<C_CTL_REG(base), LTC_CTL_KAL_SHIFT, LTC_CTL_KAL_WIDTH)) |
| |
| /*! @brief Set the KAL field to a new value. */ |
| #define LTC_WR_CTL_KAL(base, value) (LTC_RMW_CTL(base, LTC_CTL_KAL_MASK, LTC_CTL_KAL(value))) |
| #define LTC_BWR_CTL_KAL(base, value) (BME_BFI32(<C_CTL_REG(base), ((uint32_t)(value) << LTC_CTL_KAL_SHIFT), LTC_CTL_KAL_SHIFT, LTC_CTL_KAL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_CW - LTC Clear Written Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_CW - LTC Clear Written Register (WO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Clear Written Register is used to clear many of the internal registers. |
| * All fields of this register are self-clearing. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_CW register |
| */ |
| /*@{*/ |
| #define LTC_WR_CW(base, value) (LTC_CW_REG(base) = (value)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_CW bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_CW, field CM[0] (WO) |
| * |
| * Clear the Mode Register. Writing a one to this bit causes the Mode Register |
| * to be cleared. |
| */ |
| /*@{*/ |
| /*! @brief Set the CM field to a new value. */ |
| #define LTC_WR_CW_CM(base, value) (LTC_WR_CW(base, LTC_CW_CM(value))) |
| #define LTC_BWR_CW_CM(base, value) (LTC_WR_CW_CM(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CW, field CDS[2] (WO) |
| * |
| * Clear the Data Size Register. Writing a one to this bit causes the Data Size |
| * Register to be cleared. This clears AAD Size as well. |
| */ |
| /*@{*/ |
| /*! @brief Set the CDS field to a new value. */ |
| #define LTC_WR_CW_CDS(base, value) (LTC_WR_CW(base, LTC_CW_CDS(value))) |
| #define LTC_BWR_CW_CDS(base, value) (LTC_WR_CW_CDS(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CW, field CICV[3] (WO) |
| * |
| * Clear the ICV Size Register. Writing a one to this bit causes the ICV Size |
| * Register to be cleared. |
| */ |
| /*@{*/ |
| /*! @brief Set the CICV field to a new value. */ |
| #define LTC_WR_CW_CICV(base, value) (LTC_WR_CW(base, LTC_CW_CICV(value))) |
| #define LTC_BWR_CW_CICV(base, value) (LTC_WR_CW_CICV(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CW, field CCR[5] (WO) |
| * |
| * Clear the Context Register. Writing a one to this bit causes the Context |
| * Register to be cleared. |
| */ |
| /*@{*/ |
| /*! @brief Set the CCR field to a new value. */ |
| #define LTC_WR_CW_CCR(base, value) (LTC_WR_CW(base, LTC_CW_CCR(value))) |
| #define LTC_BWR_CW_CCR(base, value) (LTC_WR_CW_CCR(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CW, field CKR[6] (WO) |
| * |
| * Clear the Key Register. Writing a one to this bit causes the Key and Key Size |
| * Registers to be cleared. |
| */ |
| /*@{*/ |
| /*! @brief Set the CKR field to a new value. */ |
| #define LTC_WR_CW_CKR(base, value) (LTC_WR_CW(base, LTC_CW_CKR(value))) |
| #define LTC_BWR_CW_CKR(base, value) (LTC_WR_CW_CKR(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CW, field COF[30] (WO) |
| * |
| * Clear Output FIFO. Writing a 1 to this bit causes the Output FIFO to be |
| * cleared. |
| */ |
| /*@{*/ |
| /*! @brief Set the COF field to a new value. */ |
| #define LTC_WR_CW_COF(base, value) (LTC_WR_CW(base, LTC_CW_COF(value))) |
| #define LTC_BWR_CW_COF(base, value) (LTC_WR_CW_COF(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CW, field CIF[31] (WO) |
| * |
| * Clear Input FIFO. Writing a 1 to this bit causes the Input Data FIFO. |
| */ |
| /*@{*/ |
| /*! @brief Set the CIF field to a new value. */ |
| #define LTC_WR_CW_CIF(base, value) (LTC_WR_CW(base, LTC_CW_CIF(value))) |
| #define LTC_BWR_CW_CIF(base, value) (LTC_WR_CW_CIF(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_STA - LTC Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_STA - LTC Status Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The LTC Status Register shows the status of the internal Crypto engine and |
| * its internal registers. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_STA register |
| */ |
| /*@{*/ |
| #define LTC_RD_STA(base) (LTC_STA_REG(base)) |
| #define LTC_WR_STA(base, value) (LTC_STA_REG(base) = (value)) |
| #define LTC_RMW_STA(base, mask, value) (LTC_WR_STA(base, (LTC_RD_STA(base) & ~(mask)) | (value))) |
| #define LTC_SET_STA(base, value) (BME_OR32(<C_STA_REG(base), (uint32_t)(value))) |
| #define LTC_CLR_STA(base, value) (BME_AND32(<C_STA_REG(base), (uint32_t)(~(value)))) |
| #define LTC_TOG_STA(base, value) (BME_XOR32(<C_STA_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_STA bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_STA, field AB[1] (RO) |
| * |
| * AESA Busy. This bit indicates that the AES Accelertor is busy. The CHA can |
| * either be busy processing data or resetting. |
| * |
| * Values: |
| * - 0b0 - AESA Idle |
| * - 0b1 - AESA Busy. |
| */ |
| /*@{*/ |
| #define LTC_STA_AB_AESA_IDLE (0U) /*!< Bit field value for LTC_STA_AB: AESA Idle */ |
| #define LTC_STA_AB_AESA_BUSY (0x1U) /*!< Bit field value for LTC_STA_AB: AESA Busy. */ |
| /*! @brief Read current value of the LTC_STA_AB field. */ |
| #define LTC_RD_STA_AB(base) ((LTC_STA_REG(base) & LTC_STA_AB_MASK) >> LTC_STA_AB_SHIFT) |
| #define LTC_BRD_STA_AB(base) (BME_UBFX32(<C_STA_REG(base), LTC_STA_AB_SHIFT, LTC_STA_AB_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_STA, field DI[16] (W1C) |
| * |
| * Done Interrupt. The Done Interrupt has been asserted. ValueReadWrite0No Done |
| * InterruptNo change1Done Interrupt assertedClear the Done Interrupt |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_STA_DI field. */ |
| #define LTC_RD_STA_DI(base) ((LTC_STA_REG(base) & LTC_STA_DI_MASK) >> LTC_STA_DI_SHIFT) |
| #define LTC_BRD_STA_DI(base) (BME_UBFX32(<C_STA_REG(base), LTC_STA_DI_SHIFT, LTC_STA_DI_WIDTH)) |
| |
| /*! @brief Set the DI field to a new value. */ |
| #define LTC_WR_STA_DI(base, value) (LTC_RMW_STA(base, LTC_STA_DI_MASK, LTC_STA_DI(value))) |
| #define LTC_BWR_STA_DI(base, value) (BME_BFI32(<C_STA_REG(base), ((uint32_t)(value) << LTC_STA_DI_SHIFT), LTC_STA_DI_SHIFT, LTC_STA_DI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_STA, field EI[20] (RO) |
| * |
| * Error Interrupt. The Error Interrupt has been asserted. This error can only |
| * be cleared by resetting LTC. |
| * |
| * Values: |
| * - 0b0 - Not Error. |
| * - 0b1 - Error Interrupt. |
| */ |
| /*@{*/ |
| #define LTC_STA_EI_NOT_ERROR_INT (0U) /*!< Bit field value for LTC_STA_EI: Not Error. */ |
| #define LTC_STA_EI_ERROR_INT (0x1U) /*!< Bit field value for LTC_STA_EI: Error Interrupt. */ |
| /*! @brief Read current value of the LTC_STA_EI field. */ |
| #define LTC_RD_STA_EI(base) ((LTC_STA_REG(base) & LTC_STA_EI_MASK) >> LTC_STA_EI_SHIFT) |
| #define LTC_BRD_STA_EI(base) (BME_UBFX32(<C_STA_REG(base), LTC_STA_EI_SHIFT, LTC_STA_EI_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_ESTA - LTC Error Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_ESTA - LTC Error Status Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The LTC Error Register shows the status of the internal Crypto Engine and its |
| * internal registers. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_ESTA register |
| */ |
| /*@{*/ |
| #define LTC_RD_ESTA(base) (LTC_ESTA_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_ESTA bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_ESTA, field ERRID1[3:0] (RO) |
| * |
| * Error ID 1. These bits indicate the type of error that was found while |
| * processing the Descriptor. The Algorithm that is associated with the error can be |
| * found in the CL1 field.Others reserved. |
| * |
| * Values: |
| * - 0b0001 - Mode Error |
| * - 0b0010 - Data Size Error |
| * - 0b0011 - Key Size Error |
| * - 0b0110 - Data Arrived out of Sequence Error |
| * - 0b1010 - ICV Check Failed |
| * - 0b1011 - Internal Hardware Failure |
| * - 0b1100 - CCM AAD Size Error (either 1. AAD flag in B0 =1 and no AAD type |
| * provided, 2. AAD flag in B0 = 0 and AAD povided, or 3. AAD flag in B0 =1 and |
| * not enough AAD provided - expecting more based on AAD size.) |
| * - 0b1111 - Invalid Crypto Engine Selected |
| */ |
| /*@{*/ |
| #define LTC_ESTA_ERRID1_MODE_ERROR (0x1U) /*!< Bit field value for LTC_ESTA_ERRID1: Mode Error */ |
| #define LTC_ESTA_ERRID1_DATA_SIZE_ERROR (0x2U) /*!< Bit field value for LTC_ESTA_ERRID1: Data Size Error */ |
| #define LTC_ESTA_ERRID1_KEY_SIZE_ERROR (0x3U) /*!< Bit field value for LTC_ESTA_ERRID1: Key Size Error */ |
| #define LTC_ESTA_ERRID1_DATA_OUT_OF_SEQ_ERROR (0x6U) /*!< Bit field value for LTC_ESTA_ERRID1: Data Arrived out of Sequence Error */ |
| #define LTC_ESTA_ERRID1_ICV_CHECK_FAIL (0xAU) /*!< Bit field value for LTC_ESTA_ERRID1: ICV Check Failed */ |
| #define LTC_ESTA_ERRID1_INTERNAL_HARD_FAIL (0xBU) /*!< Bit field value for LTC_ESTA_ERRID1: Internal Hardware Failure */ |
| #define LTC_ESTA_ERRID1_CCM_AAD_SIZE_ERROR (0xCU) /*!< Bit field value for LTC_ESTA_ERRID1: CCM AAD Size Error (either 1. AAD flag in B0 =1 and no AAD type provided, 2. AAD flag in B0 = 0 and AAD povided, or 3. AAD flag in B0 =1 and not enough AAD provided - expecting more based on AAD size.) */ |
| #define LTC_ESTA_ERRID1_INVALID_ENGINE_SEL_ERROR (0xFU) /*!< Bit field value for LTC_ESTA_ERRID1: Invalid Crypto Engine Selected */ |
| /*! @brief Read current value of the LTC_ESTA_ERRID1 field. */ |
| #define LTC_RD_ESTA_ERRID1(base) ((LTC_ESTA_REG(base) & LTC_ESTA_ERRID1_MASK) >> LTC_ESTA_ERRID1_SHIFT) |
| #define LTC_BRD_ESTA_ERRID1(base) (BME_UBFX32(<C_ESTA_REG(base), LTC_ESTA_ERRID1_SHIFT, LTC_ESTA_ERRID1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_ESTA, field CL1[11:8] (RO) |
| * |
| * algorithms. The algorithms field indicates which algorithm is asserting an |
| * error.Others reserved |
| * |
| * Values: |
| * - 0b0000 - LTC General Error |
| * - 0b0001 - AES |
| */ |
| /*@{*/ |
| #define LTC_ESTA_CL1_GEN_ERROR (0U) /*!< Bit field value for LTC_ESTA_CL1: LTC General Error */ |
| #define LTC_ESTA_CL1_AES_ERROR (0x1U) /*!< Bit field value for LTC_ESTA_CL1: AES */ |
| /*! @brief Read current value of the LTC_ESTA_CL1 field. */ |
| #define LTC_RD_ESTA_CL1(base) ((LTC_ESTA_REG(base) & LTC_ESTA_CL1_MASK) >> LTC_ESTA_CL1_SHIFT) |
| #define LTC_BRD_ESTA_CL1(base) (BME_UBFX32(<C_ESTA_REG(base), LTC_ESTA_CL1_SHIFT, LTC_ESTA_CL1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_AADSZ - LTC AAD Size Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_AADSZ - LTC AAD Size Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The AAD Size Register is used by AESA to determine how much of the last block |
| * of AAD is valid. The write to this register should be the entire size of the |
| * AAD as it is also added directly to the Data Size Register. The size added to |
| * the Data Size Register is the AAD size rounded up to the next 16 byte |
| * boundary. For instance a size of 20 bytes written to the AAD size register will cause |
| * 32 bytes to be added to the Data Size Register. The size stored in the AADSZ |
| * field represents the number of bytes valid in the final block of AAD. However |
| * the entire size of AAD should be written to the Register address location. When |
| * authentication only is being done then the AL bit needs to be written to tell |
| * the AES engine that this is the last of the data. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_AADSZ register |
| */ |
| /*@{*/ |
| #define LTC_RD_AADSZ(base) (LTC_AADSZ_REG(base)) |
| #define LTC_WR_AADSZ(base, value) (LTC_AADSZ_REG(base) = (value)) |
| #define LTC_RMW_AADSZ(base, mask, value) (LTC_WR_AADSZ(base, (LTC_RD_AADSZ(base) & ~(mask)) | (value))) |
| #define LTC_SET_AADSZ(base, value) (BME_OR32(<C_AADSZ_REG(base), (uint32_t)(value))) |
| #define LTC_CLR_AADSZ(base, value) (BME_AND32(<C_AADSZ_REG(base), (uint32_t)(~(value)))) |
| #define LTC_TOG_AADSZ(base, value) (BME_XOR32(<C_AADSZ_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_AADSZ bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_AADSZ, field AADSZ[3:0] (RW) |
| * |
| * AAD size in Bytes, mod 16. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_AADSZ_AADSZ field. */ |
| #define LTC_RD_AADSZ_AADSZ(base) ((LTC_AADSZ_REG(base) & LTC_AADSZ_AADSZ_MASK) >> LTC_AADSZ_AADSZ_SHIFT) |
| #define LTC_BRD_AADSZ_AADSZ(base) (BME_UBFX32(<C_AADSZ_REG(base), LTC_AADSZ_AADSZ_SHIFT, LTC_AADSZ_AADSZ_WIDTH)) |
| |
| /*! @brief Set the AADSZ field to a new value. */ |
| #define LTC_WR_AADSZ_AADSZ(base, value) (LTC_RMW_AADSZ(base, LTC_AADSZ_AADSZ_MASK, LTC_AADSZ_AADSZ(value))) |
| #define LTC_BWR_AADSZ_AADSZ(base, value) (BME_BFI32(<C_AADSZ_REG(base), ((uint32_t)(value) << LTC_AADSZ_AADSZ_SHIFT), LTC_AADSZ_AADSZ_SHIFT, LTC_AADSZ_AADSZ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_AADSZ, field AL[31] (RW) |
| * |
| * AAD Last. Only AAD data will be written into the Input FIFO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_AADSZ_AL field. */ |
| #define LTC_RD_AADSZ_AL(base) ((LTC_AADSZ_REG(base) & LTC_AADSZ_AL_MASK) >> LTC_AADSZ_AL_SHIFT) |
| #define LTC_BRD_AADSZ_AL(base) (BME_UBFX32(<C_AADSZ_REG(base), LTC_AADSZ_AL_SHIFT, LTC_AADSZ_AL_WIDTH)) |
| |
| /*! @brief Set the AL field to a new value. */ |
| #define LTC_WR_AADSZ_AL(base, value) (LTC_RMW_AADSZ(base, LTC_AADSZ_AL_MASK, LTC_AADSZ_AL(value))) |
| #define LTC_BWR_AADSZ_AL(base, value) (BME_BFI32(<C_AADSZ_REG(base), ((uint32_t)(value) << LTC_AADSZ_AL_SHIFT), LTC_AADSZ_AL_SHIFT, LTC_AADSZ_AL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_CTX - LTC Context Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_CTX - LTC Context Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Context Register holds the context for the internal crypto engine. This |
| * register is 512 bits in length. The IP bus write to the Context Register is |
| * accessible only as full-word reads or writes to sixteen 32-bit registers. The MSB |
| * is located at offset 0100h with respect to the register page. The bit |
| * assignments of this register are dependent on the algorithm, and in some cases the |
| * mode of that algorithm. See the appropriate section for the Context Register |
| * format used for that algorithm: AES ECB: Section AES CBC: Section AES CTR: |
| * Section AES CCM: Section |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_CTX register |
| */ |
| /*@{*/ |
| #define LTC_RD_CTX(base, index) (LTC_CTX_REG(base, index)) |
| #define LTC_WR_CTX(base, index, value) (LTC_CTX_REG(base, index) = (value)) |
| #define LTC_RMW_CTX(base, index, mask, value) (LTC_WR_CTX(base, index, (LTC_RD_CTX(base, index) & ~(mask)) | (value))) |
| #define LTC_SET_CTX(base, index, value) (BME_OR32(<C_CTX_REG(base, index), (uint32_t)(value))) |
| #define LTC_CLR_CTX(base, index, value) (BME_AND32(<C_CTX_REG(base, index), (uint32_t)(~(value)))) |
| #define LTC_TOG_CTX(base, index, value) (BME_XOR32(<C_CTX_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_KEY - LTC Key Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_KEY - LTC Key Registers (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Key Register normally holds the left-aligned key for the internal crypto |
| * engine. The MSB is in offset 200h. The Key Register is 128 bits in length. The |
| * IP bus write to the Context Register is accessible only as full-word reads or |
| * writes to four 32-bit registers. Before the value in the Key Register can be |
| * used in a cryptographic operation, the size of the key must be written into |
| * the Key Size Register. Once the Key Size Register has been written, the Key |
| * Register cannot be written again until the Key Size Register has been cleared. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_KEY register |
| */ |
| /*@{*/ |
| #define LTC_RD_KEY(base, index) (LTC_KEY_REG(base, index)) |
| #define LTC_WR_KEY(base, index, value) (LTC_KEY_REG(base, index) = (value)) |
| #define LTC_RMW_KEY(base, index, mask, value) (LTC_WR_KEY(base, index, (LTC_RD_KEY(base, index) & ~(mask)) | (value))) |
| #define LTC_SET_KEY(base, index, value) (BME_OR32(<C_KEY_REG(base, index), (uint32_t)(value))) |
| #define LTC_CLR_KEY(base, index, value) (BME_AND32(<C_KEY_REG(base, index), (uint32_t)(~(value)))) |
| #define LTC_TOG_KEY(base, index, value) (BME_XOR32(<C_KEY_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_FIFOSTA - LTC FIFO Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_FIFOSTA - LTC FIFO Status Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The LTC FIFO Status shows the current levels of the Input and Output FIFO. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_FIFOSTA register |
| */ |
| /*@{*/ |
| #define LTC_RD_FIFOSTA(base) (LTC_FIFOSTA_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_FIFOSTA bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_FIFOSTA, field IFL[6:0] (RO) |
| * |
| * Input FIFO Level. These bits indicate the current number of entries in the |
| * Input FIFO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_FIFOSTA_IFL field. */ |
| #define LTC_RD_FIFOSTA_IFL(base) ((LTC_FIFOSTA_REG(base) & LTC_FIFOSTA_IFL_MASK) >> LTC_FIFOSTA_IFL_SHIFT) |
| #define LTC_BRD_FIFOSTA_IFL(base) (BME_UBFX32(<C_FIFOSTA_REG(base), LTC_FIFOSTA_IFL_SHIFT, LTC_FIFOSTA_IFL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_FIFOSTA, field IFF[15] (RO) |
| * |
| * Input FIFO Full. The Input FIFO is full and should not be written to. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_FIFOSTA_IFF field. */ |
| #define LTC_RD_FIFOSTA_IFF(base) ((LTC_FIFOSTA_REG(base) & LTC_FIFOSTA_IFF_MASK) >> LTC_FIFOSTA_IFF_SHIFT) |
| #define LTC_BRD_FIFOSTA_IFF(base) (BME_UBFX32(<C_FIFOSTA_REG(base), LTC_FIFOSTA_IFF_SHIFT, LTC_FIFOSTA_IFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_FIFOSTA, field OFL[22:16] (RO) |
| * |
| * Output FIFO Level. These bits indicate the current number of entries in the |
| * Output FIFO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_FIFOSTA_OFL field. */ |
| #define LTC_RD_FIFOSTA_OFL(base) ((LTC_FIFOSTA_REG(base) & LTC_FIFOSTA_OFL_MASK) >> LTC_FIFOSTA_OFL_SHIFT) |
| #define LTC_BRD_FIFOSTA_OFL(base) (BME_UBFX32(<C_FIFOSTA_REG(base), LTC_FIFOSTA_OFL_SHIFT, LTC_FIFOSTA_OFL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_FIFOSTA, field OFF[31] (RO) |
| * |
| * Output FIFO Full. The Output FIFO is full and should not be written to. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_FIFOSTA_OFF field. */ |
| #define LTC_RD_FIFOSTA_OFF(base) ((LTC_FIFOSTA_REG(base) & LTC_FIFOSTA_OFF_MASK) >> LTC_FIFOSTA_OFF_SHIFT) |
| #define LTC_BRD_FIFOSTA_OFF(base) (BME_UBFX32(<C_FIFOSTA_REG(base), LTC_FIFOSTA_OFF_SHIFT, LTC_FIFOSTA_OFF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_IFIFO - LTC Input Data FIFO |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_IFIFO - LTC Input Data FIFO (WO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Data to be processed by the various crypto engines is first pushed into the |
| * Input Data FIFO. The Input Data FIFO supports byte enables, allowing one to |
| * four bytes to be written to the IFIFO from the IP bus. The IFIFO is four entries |
| * deep, and each entry is four bytes. Care must be used to not overflow the |
| * Input Data FIFO. Reads from this address will always return 0x0. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_IFIFO register |
| */ |
| /*@{*/ |
| #define LTC_WR_IFIFO(base, value) (LTC_IFIFO_REG(base) = (value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_OFIFO - LTC Output Data FIFO |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_OFIFO - LTC Output Data FIFO (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Data that is output from the AES is pushed into the Output Data FIFO. The |
| * OFIFO is four entries deep, and each entry is four bytes. During normal |
| * operation, the AES will never overflow the Output Data FIFO. Writes to this register |
| * are ignored. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_OFIFO register |
| */ |
| /*@{*/ |
| #define LTC_RD_OFIFO(base) (LTC_OFIFO_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_VID1 - LTC Version ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_VID1 - LTC Version ID Register (RO) |
| * |
| * Reset value: 0x00340100U |
| * |
| * This register contains the ID for LTC and major and minor revision numbers. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_VID1 register |
| */ |
| /*@{*/ |
| #define LTC_RD_VID1(base) (LTC_VID1_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_VID1 bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_VID1, field MIN_REV[7:0] (RO) |
| * |
| * Minor revision number(0x00). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_VID1_MIN_REV field. */ |
| #define LTC_RD_VID1_MIN_REV(base) ((LTC_VID1_REG(base) & LTC_VID1_MIN_REV_MASK) >> LTC_VID1_MIN_REV_SHIFT) |
| #define LTC_BRD_VID1_MIN_REV(base) (BME_UBFX32(<C_VID1_REG(base), LTC_VID1_MIN_REV_SHIFT, LTC_VID1_MIN_REV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_VID1, field MAJ_REV[15:8] (RO) |
| * |
| * Major revision number(0x01). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_VID1_MAJ_REV field. */ |
| #define LTC_RD_VID1_MAJ_REV(base) ((LTC_VID1_REG(base) & LTC_VID1_MAJ_REV_MASK) >> LTC_VID1_MAJ_REV_SHIFT) |
| #define LTC_BRD_VID1_MAJ_REV(base) (BME_UBFX32(<C_VID1_REG(base), LTC_VID1_MAJ_REV_SHIFT, LTC_VID1_MAJ_REV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_VID1, field IP_ID[31:16] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_VID1_IP_ID field. */ |
| #define LTC_RD_VID1_IP_ID(base) ((LTC_VID1_REG(base) & LTC_VID1_IP_ID_MASK) >> LTC_VID1_IP_ID_SHIFT) |
| #define LTC_BRD_VID1_IP_ID(base) (BME_UBFX32(<C_VID1_REG(base), LTC_VID1_IP_ID_SHIFT, LTC_VID1_IP_ID_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * LTC_CHAVID - LTC CHA Version ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief LTC_CHAVID - LTC CHA Version ID Register (RO) |
| * |
| * Reset value: 0x00000050U |
| * |
| * This register contains the Version ID and Revision Number for the CHAs |
| * contained within LTC. |
| */ |
| /*! |
| * @name Constants and macros for entire LTC_CHAVID register |
| */ |
| /*@{*/ |
| #define LTC_RD_CHAVID(base) (LTC_CHAVID_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual LTC_CHAVID bitfields |
| */ |
| |
| /*! |
| * @name Register LTC_CHAVID, field AESREV[3:0] (RO) |
| * |
| * AES Revision Number(0x0). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_CHAVID_AESREV field. */ |
| #define LTC_RD_CHAVID_AESREV(base) ((LTC_CHAVID_REG(base) & LTC_CHAVID_AESREV_MASK) >> LTC_CHAVID_AESREV_SHIFT) |
| #define LTC_BRD_CHAVID_AESREV(base) (BME_UBFX32(<C_CHAVID_REG(base), LTC_CHAVID_AESREV_SHIFT, LTC_CHAVID_AESREV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register LTC_CHAVID, field AESVID[7:4] (RO) |
| * |
| * AES Version ID(0x5). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the LTC_CHAVID_AESVID field. */ |
| #define LTC_RD_CHAVID_AESVID(base) ((LTC_CHAVID_REG(base) & LTC_CHAVID_AESVID_MASK) >> LTC_CHAVID_AESVID_SHIFT) |
| #define LTC_BRD_CHAVID_AESVID(base) (BME_UBFX32(<C_CHAVID_REG(base), LTC_CHAVID_AESVID_SHIFT, LTC_CHAVID_AESVID_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 MCG |
| * |
| * Multipurpose Clock Generator module |
| * |
| * Registers defined in this header file: |
| * - MCG_C1 - MCG Control 1 Register |
| * - MCG_C2 - MCG Control 2 Register |
| * - MCG_C3 - MCG Control 3 Register |
| * - MCG_C4 - MCG Control 4 Register |
| * - MCG_C5 - MCG Control 5 Register |
| * - MCG_C6 - MCG Control 6 Register |
| * - MCG_S - MCG Status Register |
| * - MCG_SC - MCG Status and Control Register |
| * - MCG_ATCVH - MCG Auto Trim Compare Value High Register |
| * - MCG_ATCVL - MCG Auto Trim Compare Value Low Register |
| * - MCG_C7 - MCG Control 7 Register |
| * - MCG_C8 - MCG Control 8 Register |
| */ |
| |
| #define MCG_INSTANCE_COUNT (1U) /*!< Number of instances of the MCG module. */ |
| #define MCG_IDX (0U) /*!< Instance number for MCG. */ |
| |
| /******************************************************************************* |
| * MCG_C1 - MCG Control 1 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_C1 - MCG Control 1 Register (RW) |
| * |
| * Reset value: 0x04U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_C1 register |
| */ |
| /*@{*/ |
| #define MCG_RD_C1(base) (MCG_C1_REG(base)) |
| #define MCG_WR_C1(base, value) (MCG_C1_REG(base) = (value)) |
| #define MCG_RMW_C1(base, mask, value) (MCG_WR_C1(base, (MCG_RD_C1(base) & ~(mask)) | (value))) |
| #define MCG_SET_C1(base, value) (BME_OR8(&MCG_C1_REG(base), (uint8_t)(value))) |
| #define MCG_CLR_C1(base, value) (BME_AND8(&MCG_C1_REG(base), (uint8_t)(~(value)))) |
| #define MCG_TOG_C1(base, value) (BME_XOR8(&MCG_C1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCG_C1 bitfields |
| */ |
| |
| /*! |
| * @name Register MCG_C1, field IREFSTEN[0] (RW) |
| * |
| * Controls whether or not the internal reference clock remains enabled when the |
| * MCG enters Stop mode. |
| * |
| * Values: |
| * - 0b0 - Internal reference clock is disabled in Stop mode. |
| * - 0b1 - Internal reference clock is enabled in Stop mode if IRCLKEN is set or |
| * if MCG is in FEI, FBI, or BLPI modes before entering Stop mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C1_IREFSTEN field. */ |
| #define MCG_RD_C1_IREFSTEN(base) ((MCG_C1_REG(base) & MCG_C1_IREFSTEN_MASK) >> MCG_C1_IREFSTEN_SHIFT) |
| #define MCG_BRD_C1_IREFSTEN(base) (BME_UBFX8(&MCG_C1_REG(base), MCG_C1_IREFSTEN_SHIFT, MCG_C1_IREFSTEN_WIDTH)) |
| |
| /*! @brief Set the IREFSTEN field to a new value. */ |
| #define MCG_WR_C1_IREFSTEN(base, value) (MCG_RMW_C1(base, MCG_C1_IREFSTEN_MASK, MCG_C1_IREFSTEN(value))) |
| #define MCG_BWR_C1_IREFSTEN(base, value) (BME_BFI8(&MCG_C1_REG(base), ((uint8_t)(value) << MCG_C1_IREFSTEN_SHIFT), MCG_C1_IREFSTEN_SHIFT, MCG_C1_IREFSTEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C1, field IRCLKEN[1] (RW) |
| * |
| * Enables the internal reference clock for use as MCGIRCLK. |
| * |
| * Values: |
| * - 0b0 - MCGIRCLK inactive. |
| * - 0b1 - MCGIRCLK active. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C1_IRCLKEN field. */ |
| #define MCG_RD_C1_IRCLKEN(base) ((MCG_C1_REG(base) & MCG_C1_IRCLKEN_MASK) >> MCG_C1_IRCLKEN_SHIFT) |
| #define MCG_BRD_C1_IRCLKEN(base) (BME_UBFX8(&MCG_C1_REG(base), MCG_C1_IRCLKEN_SHIFT, MCG_C1_IRCLKEN_WIDTH)) |
| |
| /*! @brief Set the IRCLKEN field to a new value. */ |
| #define MCG_WR_C1_IRCLKEN(base, value) (MCG_RMW_C1(base, MCG_C1_IRCLKEN_MASK, MCG_C1_IRCLKEN(value))) |
| #define MCG_BWR_C1_IRCLKEN(base, value) (BME_BFI8(&MCG_C1_REG(base), ((uint8_t)(value) << MCG_C1_IRCLKEN_SHIFT), MCG_C1_IRCLKEN_SHIFT, MCG_C1_IRCLKEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C1, field IREFS[2] (RW) |
| * |
| * Selects the reference clock source for the FLL. IREFS also controls the MCG |
| * clock mode configuration. See "MCG Modes of Operation" table and "MCG Mode |
| * Switching" for further details regarding MCG clock mode selection and MCG mode |
| * switching. |
| * |
| * Values: |
| * - 0b0 - External reference clock is selected. |
| * - 0b1 - The slow internal reference clock is selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C1_IREFS field. */ |
| #define MCG_RD_C1_IREFS(base) ((MCG_C1_REG(base) & MCG_C1_IREFS_MASK) >> MCG_C1_IREFS_SHIFT) |
| #define MCG_BRD_C1_IREFS(base) (BME_UBFX8(&MCG_C1_REG(base), MCG_C1_IREFS_SHIFT, MCG_C1_IREFS_WIDTH)) |
| |
| /*! @brief Set the IREFS field to a new value. */ |
| #define MCG_WR_C1_IREFS(base, value) (MCG_RMW_C1(base, MCG_C1_IREFS_MASK, MCG_C1_IREFS(value))) |
| #define MCG_BWR_C1_IREFS(base, value) (BME_BFI8(&MCG_C1_REG(base), ((uint8_t)(value) << MCG_C1_IREFS_SHIFT), MCG_C1_IREFS_SHIFT, MCG_C1_IREFS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C1, field FRDIV[5:3] (RW) |
| * |
| * Selects the amount to divide down the external reference clock for the FLL. |
| * The resulting frequency must be in the range 31.25 kHz to 39.0625 kHz (This is |
| * required when FLL/DCO is the clock source for MCGOUTCLK "mcg_out_clk". In FBE |
| * mode, it is not required to meet this range, but it is recommended in the |
| * cases when trying to enter a FLL mode from FBE). |
| * |
| * Values: |
| * - 0b000 - If RANGE = 0 or OSCSEL=1 , Divide Factor is 1; for all other RANGE |
| * values, Divide Factor is 32. |
| * - 0b001 - If RANGE = 0 or OSCSEL=1 , Divide Factor is 2; for all other RANGE |
| * values, Divide Factor is 64. |
| * - 0b010 - If RANGE = 0 or OSCSEL=1 , Divide Factor is 4; for all other RANGE |
| * values, Divide Factor is 128. |
| * - 0b011 - If RANGE = 0 or OSCSEL=1 , Divide Factor is 8; for all other RANGE |
| * values, Divide Factor is 256. |
| * - 0b100 - If RANGE = 0 or OSCSEL=1 , Divide Factor is 16; for all other RANGE |
| * values, Divide Factor is 512. |
| * - 0b101 - If RANGE = 0 or OSCSEL=1 , Divide Factor is 32; for all other RANGE |
| * values, Divide Factor is 1024. |
| * - 0b110 - If RANGE = 0 or OSCSEL=1 , Divide Factor is 64; for all other RANGE |
| * values, Divide Factor is 1280 . |
| * - 0b111 - If RANGE = 0 or OSCSEL=1 , Divide Factor is 128; for all other |
| * RANGE values, Divide Factor is 1536 . |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C1_FRDIV field. */ |
| #define MCG_RD_C1_FRDIV(base) ((MCG_C1_REG(base) & MCG_C1_FRDIV_MASK) >> MCG_C1_FRDIV_SHIFT) |
| #define MCG_BRD_C1_FRDIV(base) (BME_UBFX8(&MCG_C1_REG(base), MCG_C1_FRDIV_SHIFT, MCG_C1_FRDIV_WIDTH)) |
| |
| /*! @brief Set the FRDIV field to a new value. */ |
| #define MCG_WR_C1_FRDIV(base, value) (MCG_RMW_C1(base, MCG_C1_FRDIV_MASK, MCG_C1_FRDIV(value))) |
| #define MCG_BWR_C1_FRDIV(base, value) (BME_BFI8(&MCG_C1_REG(base), ((uint8_t)(value) << MCG_C1_FRDIV_SHIFT), MCG_C1_FRDIV_SHIFT, MCG_C1_FRDIV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C1, field CLKS[7:6] (RW) |
| * |
| * Selects the clock source for MCGOUTCLK "mcg_out_clk". For more details |
| * regarding MCG clock source selection and MCG mode switching, see "MCG Modes of |
| * Operation" table and "MCG Mode Switching" |
| * |
| * Values: |
| * - 0b00 - Encoding 0 - Output of FLL is selected. |
| * - 0b01 - Encoding 1 - Internal reference clock is selected. |
| * - 0b10 - Encoding 2 - External reference clock is selected. |
| * - 0b11 - Encoding 3 - Reserved. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C1_CLKS field. */ |
| #define MCG_RD_C1_CLKS(base) ((MCG_C1_REG(base) & MCG_C1_CLKS_MASK) >> MCG_C1_CLKS_SHIFT) |
| #define MCG_BRD_C1_CLKS(base) (BME_UBFX8(&MCG_C1_REG(base), MCG_C1_CLKS_SHIFT, MCG_C1_CLKS_WIDTH)) |
| |
| /*! @brief Set the CLKS field to a new value. */ |
| #define MCG_WR_C1_CLKS(base, value) (MCG_RMW_C1(base, MCG_C1_CLKS_MASK, MCG_C1_CLKS(value))) |
| #define MCG_BWR_C1_CLKS(base, value) (BME_BFI8(&MCG_C1_REG(base), ((uint8_t)(value) << MCG_C1_CLKS_SHIFT), MCG_C1_CLKS_SHIFT, MCG_C1_CLKS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_C2 - MCG Control 2 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_C2 - MCG Control 2 Register (RW) |
| * |
| * Reset value: 0xC0U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_C2 register |
| */ |
| /*@{*/ |
| #define MCG_RD_C2(base) (MCG_C2_REG(base)) |
| #define MCG_WR_C2(base, value) (MCG_C2_REG(base) = (value)) |
| #define MCG_RMW_C2(base, mask, value) (MCG_WR_C2(base, (MCG_RD_C2(base) & ~(mask)) | (value))) |
| #define MCG_SET_C2(base, value) (BME_OR8(&MCG_C2_REG(base), (uint8_t)(value))) |
| #define MCG_CLR_C2(base, value) (BME_AND8(&MCG_C2_REG(base), (uint8_t)(~(value)))) |
| #define MCG_TOG_C2(base, value) (BME_XOR8(&MCG_C2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCG_C2 bitfields |
| */ |
| |
| /*! |
| * @name Register MCG_C2, field IRCS[0] (RW) |
| * |
| * Selects between the fast or slow internal reference clock source. |
| * |
| * Values: |
| * - 0b0 - Slow internal reference clock selected. (32 kHz Internal Reference |
| * Clock (32 kHz IRC)). |
| * - 0b1 - Fast internal reference clock selected. (4 MHz Internal Reference |
| * Clock (4 MHz IRC)). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C2_IRCS field. */ |
| #define MCG_RD_C2_IRCS(base) ((MCG_C2_REG(base) & MCG_C2_IRCS_MASK) >> MCG_C2_IRCS_SHIFT) |
| #define MCG_BRD_C2_IRCS(base) (BME_UBFX8(&MCG_C2_REG(base), MCG_C2_IRCS_SHIFT, MCG_C2_IRCS_WIDTH)) |
| |
| /*! @brief Set the IRCS field to a new value. */ |
| #define MCG_WR_C2_IRCS(base, value) (MCG_RMW_C2(base, MCG_C2_IRCS_MASK, MCG_C2_IRCS(value))) |
| #define MCG_BWR_C2_IRCS(base, value) (BME_BFI8(&MCG_C2_REG(base), ((uint8_t)(value) << MCG_C2_IRCS_SHIFT), MCG_C2_IRCS_SHIFT, MCG_C2_IRCS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C2, field LP[1] (RW) |
| * |
| * Controls whether the FLL is disabled in BLPI and BLPE modes. In FBE mode, |
| * setting this bit to 1 will transition the MCG into BLPE mode; in FBI mode, |
| * setting this bit to 1 will transition the MCG into BLPI mode. In any other MCG mode, |
| * LP bit has no affect. |
| * |
| * Values: |
| * - 0b0 - FLL is not disabled in bypass modes. |
| * - 0b1 - FLL is disabled in bypass modes (lower power) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C2_LP field. */ |
| #define MCG_RD_C2_LP(base) ((MCG_C2_REG(base) & MCG_C2_LP_MASK) >> MCG_C2_LP_SHIFT) |
| #define MCG_BRD_C2_LP(base) (BME_UBFX8(&MCG_C2_REG(base), MCG_C2_LP_SHIFT, MCG_C2_LP_WIDTH)) |
| |
| /*! @brief Set the LP field to a new value. */ |
| #define MCG_WR_C2_LP(base, value) (MCG_RMW_C2(base, MCG_C2_LP_MASK, MCG_C2_LP(value))) |
| #define MCG_BWR_C2_LP(base, value) (BME_BFI8(&MCG_C2_REG(base), ((uint8_t)(value) << MCG_C2_LP_SHIFT), MCG_C2_LP_SHIFT, MCG_C2_LP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C2, field EREFS[2] (RW) |
| * |
| * Selects the source for the external reference clock. See the Oscillator (OSC) |
| * chapter for more details. |
| * |
| * Values: |
| * - 0b0 - External reference clock requested. |
| * - 0b1 - Oscillator requested. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C2_EREFS field. */ |
| #define MCG_RD_C2_EREFS(base) ((MCG_C2_REG(base) & MCG_C2_EREFS_MASK) >> MCG_C2_EREFS_SHIFT) |
| #define MCG_BRD_C2_EREFS(base) (BME_UBFX8(&MCG_C2_REG(base), MCG_C2_EREFS_SHIFT, MCG_C2_EREFS_WIDTH)) |
| |
| /*! @brief Set the EREFS field to a new value. */ |
| #define MCG_WR_C2_EREFS(base, value) (MCG_RMW_C2(base, MCG_C2_EREFS_MASK, MCG_C2_EREFS(value))) |
| #define MCG_BWR_C2_EREFS(base, value) (BME_BFI8(&MCG_C2_REG(base), ((uint8_t)(value) << MCG_C2_EREFS_SHIFT), MCG_C2_EREFS_SHIFT, MCG_C2_EREFS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C2, field HGO[3] (RW) |
| * |
| * Controls the crystal oscillator mode of operation. See the Oscillator (OSC) |
| * chapter for more details. |
| * |
| * Values: |
| * - 0b0 - Configure crystal oscillator for low-power operation. |
| * - 0b1 - Configure crystal oscillator for high-gain operation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C2_HGO field. */ |
| #define MCG_RD_C2_HGO(base) ((MCG_C2_REG(base) & MCG_C2_HGO_MASK) >> MCG_C2_HGO_SHIFT) |
| #define MCG_BRD_C2_HGO(base) (BME_UBFX8(&MCG_C2_REG(base), MCG_C2_HGO_SHIFT, MCG_C2_HGO_WIDTH)) |
| |
| /*! @brief Set the HGO field to a new value. */ |
| #define MCG_WR_C2_HGO(base, value) (MCG_RMW_C2(base, MCG_C2_HGO_MASK, MCG_C2_HGO(value))) |
| #define MCG_BWR_C2_HGO(base, value) (BME_BFI8(&MCG_C2_REG(base), ((uint8_t)(value) << MCG_C2_HGO_SHIFT), MCG_C2_HGO_SHIFT, MCG_C2_HGO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C2, field RANGE[5:4] (RW) |
| * |
| * Selects the frequency range for the crystal oscillator or external clock |
| * source. See the Oscillator (OSC) chapter for more details and the device data |
| * sheet for the frequency ranges used. |
| * |
| * Values: |
| * - 0b00 - Encoding 0 - Low frequency range selected for the crystal oscillator |
| * . |
| * - 0b01 - Encoding 1 - High frequency range selected for the crystal |
| * oscillator . |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C2_RANGE field. */ |
| #define MCG_RD_C2_RANGE(base) ((MCG_C2_REG(base) & MCG_C2_RANGE_MASK) >> MCG_C2_RANGE_SHIFT) |
| #define MCG_BRD_C2_RANGE(base) (BME_UBFX8(&MCG_C2_REG(base), MCG_C2_RANGE_SHIFT, MCG_C2_RANGE_WIDTH)) |
| |
| /*! @brief Set the RANGE field to a new value. */ |
| #define MCG_WR_C2_RANGE(base, value) (MCG_RMW_C2(base, MCG_C2_RANGE_MASK, MCG_C2_RANGE(value))) |
| #define MCG_BWR_C2_RANGE(base, value) (BME_BFI8(&MCG_C2_REG(base), ((uint8_t)(value) << MCG_C2_RANGE_SHIFT), MCG_C2_RANGE_SHIFT, MCG_C2_RANGE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C2, field FCFTRIM[6] (RW) |
| * |
| * FCFTRIM controls the smallest adjustment of the fast internal reference clock |
| * frequency. Setting FCFTRIM increases the period and clearing FCFTRIM |
| * decreases the period by the smallest amount possible. If an FCFTRIM value stored in |
| * nonvolatile memory is to be used, it is your responsibility to copy that value |
| * from the nonvolatile memory location to this bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C2_FCFTRIM field. */ |
| #define MCG_RD_C2_FCFTRIM(base) ((MCG_C2_REG(base) & MCG_C2_FCFTRIM_MASK) >> MCG_C2_FCFTRIM_SHIFT) |
| #define MCG_BRD_C2_FCFTRIM(base) (BME_UBFX8(&MCG_C2_REG(base), MCG_C2_FCFTRIM_SHIFT, MCG_C2_FCFTRIM_WIDTH)) |
| |
| /*! @brief Set the FCFTRIM field to a new value. */ |
| #define MCG_WR_C2_FCFTRIM(base, value) (MCG_RMW_C2(base, MCG_C2_FCFTRIM_MASK, MCG_C2_FCFTRIM(value))) |
| #define MCG_BWR_C2_FCFTRIM(base, value) (BME_BFI8(&MCG_C2_REG(base), ((uint8_t)(value) << MCG_C2_FCFTRIM_SHIFT), MCG_C2_FCFTRIM_SHIFT, MCG_C2_FCFTRIM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C2, field LOCRE0[7] (RW) |
| * |
| * Determines whether an interrupt or a reset request is made following a loss |
| * of OSC0 external reference clock. The LOCRE0 only has an affect when CME0 is |
| * set. |
| * |
| * Values: |
| * - 0b0 - Interrupt request is generated on a loss of OSC0 external reference |
| * clock. |
| * - 0b1 - Generate a reset request on a loss of OSC0 external reference clock. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C2_LOCRE0 field. */ |
| #define MCG_RD_C2_LOCRE0(base) ((MCG_C2_REG(base) & MCG_C2_LOCRE0_MASK) >> MCG_C2_LOCRE0_SHIFT) |
| #define MCG_BRD_C2_LOCRE0(base) (BME_UBFX8(&MCG_C2_REG(base), MCG_C2_LOCRE0_SHIFT, MCG_C2_LOCRE0_WIDTH)) |
| |
| /*! @brief Set the LOCRE0 field to a new value. */ |
| #define MCG_WR_C2_LOCRE0(base, value) (MCG_RMW_C2(base, MCG_C2_LOCRE0_MASK, MCG_C2_LOCRE0(value))) |
| #define MCG_BWR_C2_LOCRE0(base, value) (BME_BFI8(&MCG_C2_REG(base), ((uint8_t)(value) << MCG_C2_LOCRE0_SHIFT), MCG_C2_LOCRE0_SHIFT, MCG_C2_LOCRE0_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_C3 - MCG Control 3 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_C3 - MCG Control 3 Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_C3 register |
| */ |
| /*@{*/ |
| #define MCG_RD_C3(base) (MCG_C3_REG(base)) |
| #define MCG_WR_C3(base, value) (MCG_C3_REG(base) = (value)) |
| #define MCG_RMW_C3(base, mask, value) (MCG_WR_C3(base, (MCG_RD_C3(base) & ~(mask)) | (value))) |
| #define MCG_SET_C3(base, value) (BME_OR8(&MCG_C3_REG(base), (uint8_t)(value))) |
| #define MCG_CLR_C3(base, value) (BME_AND8(&MCG_C3_REG(base), (uint8_t)(~(value)))) |
| #define MCG_TOG_C3(base, value) (BME_XOR8(&MCG_C3_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_C4 - MCG Control 4 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_C4 - MCG Control 4 Register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * Reset values for DRST and DMX32 bits are 0. |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_C4 register |
| */ |
| /*@{*/ |
| #define MCG_RD_C4(base) (MCG_C4_REG(base)) |
| #define MCG_WR_C4(base, value) (MCG_C4_REG(base) = (value)) |
| #define MCG_RMW_C4(base, mask, value) (MCG_WR_C4(base, (MCG_RD_C4(base) & ~(mask)) | (value))) |
| #define MCG_SET_C4(base, value) (BME_OR8(&MCG_C4_REG(base), (uint8_t)(value))) |
| #define MCG_CLR_C4(base, value) (BME_AND8(&MCG_C4_REG(base), (uint8_t)(~(value)))) |
| #define MCG_TOG_C4(base, value) (BME_XOR8(&MCG_C4_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCG_C4 bitfields |
| */ |
| |
| /*! |
| * @name Register MCG_C4, field SCFTRIM[0] (RW) |
| * |
| * SCFTRIM A value for SCFTRIM is loaded during reset from a factory programmed |
| * location . Initially out of reset, SCFTRIM gets reset to 0x0, bus soon after |
| * reset, the IFR load enable gets asserted causing SCFTRIM value to get replaced |
| * with the IFR (SCFTRIM=IFR[0]) value. controls the smallest adjustment of the |
| * slow internal reference clock frequency. Setting SCFTRIM increases the period |
| * and clearing SCFTRIM decreases the period by the smallest amount possible. If |
| * an SCFTRIM value stored in nonvolatile memory is to be used, it is your |
| * responsibility to copy that value from the nonvolatile memory location to this bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C4_SCFTRIM field. */ |
| #define MCG_RD_C4_SCFTRIM(base) ((MCG_C4_REG(base) & MCG_C4_SCFTRIM_MASK) >> MCG_C4_SCFTRIM_SHIFT) |
| #define MCG_BRD_C4_SCFTRIM(base) (BME_UBFX8(&MCG_C4_REG(base), MCG_C4_SCFTRIM_SHIFT, MCG_C4_SCFTRIM_WIDTH)) |
| |
| /*! @brief Set the SCFTRIM field to a new value. */ |
| #define MCG_WR_C4_SCFTRIM(base, value) (MCG_RMW_C4(base, MCG_C4_SCFTRIM_MASK, MCG_C4_SCFTRIM(value))) |
| #define MCG_BWR_C4_SCFTRIM(base, value) (BME_BFI8(&MCG_C4_REG(base), ((uint8_t)(value) << MCG_C4_SCFTRIM_SHIFT), MCG_C4_SCFTRIM_SHIFT, MCG_C4_SCFTRIM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C4, field FCTRIM[4:1] (RW) |
| * |
| * FCTRIM A value for FCTRIM is loaded during reset from a factory programmed |
| * location. Initially out of reset, FCTRIM gets reset to 0x8, bus soon after |
| * reset, the IFR load enable gets asserted causing FCTRIM value to get replaced with |
| * the IFR (FCTRIM=IFR[12:9]) value. controls the fast internal reference clock |
| * frequency by controlling the fast internal reference clock period. The FCTRIM |
| * bits are binary weighted, that is, bit 1 adjusts twice as much as bit 0. |
| * Increasing the binary value increases the period, and decreasing the value decreases |
| * the period. If an FCTRIM[3:0] value stored in nonvolatile memory is to be |
| * used, it is your responsibility to copy that value from the nonvolatile memory |
| * location to this register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C4_FCTRIM field. */ |
| #define MCG_RD_C4_FCTRIM(base) ((MCG_C4_REG(base) & MCG_C4_FCTRIM_MASK) >> MCG_C4_FCTRIM_SHIFT) |
| #define MCG_BRD_C4_FCTRIM(base) (BME_UBFX8(&MCG_C4_REG(base), MCG_C4_FCTRIM_SHIFT, MCG_C4_FCTRIM_WIDTH)) |
| |
| /*! @brief Set the FCTRIM field to a new value. */ |
| #define MCG_WR_C4_FCTRIM(base, value) (MCG_RMW_C4(base, MCG_C4_FCTRIM_MASK, MCG_C4_FCTRIM(value))) |
| #define MCG_BWR_C4_FCTRIM(base, value) (BME_BFI8(&MCG_C4_REG(base), ((uint8_t)(value) << MCG_C4_FCTRIM_SHIFT), MCG_C4_FCTRIM_SHIFT, MCG_C4_FCTRIM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C4, field DRST_DRS[6:5] (RW) |
| * |
| * The DRS bits select the frequency range for the FLL output, DCOOUT. When the |
| * LP bit is set, writes to the DRS bits are ignored. The DRST read field |
| * indicates the current frequency range for DCOOUT. The DRST field does not update |
| * immediately after a write to the DRS field due to internal synchronization between |
| * clock domains. See the DCO Frequency Range table for more details. |
| * |
| * Values: |
| * - 0b00 - Encoding 0 - Low range (reset default). |
| * - 0b01 - Encoding 1 - Mid range. |
| * - 0b10 - Encoding 2 - Mid-high range. |
| * - 0b11 - Encoding 3 - High range. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C4_DRST_DRS field. */ |
| #define MCG_RD_C4_DRST_DRS(base) ((MCG_C4_REG(base) & MCG_C4_DRST_DRS_MASK) >> MCG_C4_DRST_DRS_SHIFT) |
| #define MCG_BRD_C4_DRST_DRS(base) (BME_UBFX8(&MCG_C4_REG(base), MCG_C4_DRST_DRS_SHIFT, MCG_C4_DRST_DRS_WIDTH)) |
| |
| /*! @brief Set the DRST_DRS field to a new value. */ |
| #define MCG_WR_C4_DRST_DRS(base, value) (MCG_RMW_C4(base, MCG_C4_DRST_DRS_MASK, MCG_C4_DRST_DRS(value))) |
| #define MCG_BWR_C4_DRST_DRS(base, value) (BME_BFI8(&MCG_C4_REG(base), ((uint8_t)(value) << MCG_C4_DRST_DRS_SHIFT), MCG_C4_DRST_DRS_SHIFT, MCG_C4_DRST_DRS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C4, field DMX32[7] (RW) |
| * |
| * The DMX32 bit controls whether the DCO frequency range is narrowed to its |
| * maximum frequency with a 32.768 kHz reference. The following table identifies |
| * settings for the DCO frequency range. The system clocks derived from this source |
| * should not exceed their specified maximums. DRST_DRS DMX32 Reference Range FLL |
| * Factor DCO Range 00 0 31.25-39.0625 kHz 640 20-25 MHz 1 32.768 kHz 732 24 MHz |
| * 01 0 31.25-39.0625 kHz 1280 40-50 MHz 1 32.768 kHz 1464 48 MHz 10 0 |
| * 31.25-39.0625 kHz 1920 60-75 MHz 1 32.768 kHz 2197 72 MHz 11 0 31.25-39.0625 kHz 2560 |
| * 80-100 MHz 1 32.768 kHz 2929 96 MHz |
| * |
| * Values: |
| * - 0b0 - DCO has a default range of 25%. |
| * - 0b1 - DCO is fine-tuned for maximum frequency with 32.768 kHz reference. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C4_DMX32 field. */ |
| #define MCG_RD_C4_DMX32(base) ((MCG_C4_REG(base) & MCG_C4_DMX32_MASK) >> MCG_C4_DMX32_SHIFT) |
| #define MCG_BRD_C4_DMX32(base) (BME_UBFX8(&MCG_C4_REG(base), MCG_C4_DMX32_SHIFT, MCG_C4_DMX32_WIDTH)) |
| |
| /*! @brief Set the DMX32 field to a new value. */ |
| #define MCG_WR_C4_DMX32(base, value) (MCG_RMW_C4(base, MCG_C4_DMX32_MASK, MCG_C4_DMX32(value))) |
| #define MCG_BWR_C4_DMX32(base, value) (BME_BFI8(&MCG_C4_REG(base), ((uint8_t)(value) << MCG_C4_DMX32_SHIFT), MCG_C4_DMX32_SHIFT, MCG_C4_DMX32_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_C5 - MCG Control 5 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_C5 - MCG Control 5 Register (ROZ) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_C5 register |
| */ |
| /*@{*/ |
| #define MCG_RD_C5(base) (MCG_C5_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_C6 - MCG Control 6 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_C6 - MCG Control 6 Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_C6 register |
| */ |
| /*@{*/ |
| #define MCG_RD_C6(base) (MCG_C6_REG(base)) |
| #define MCG_WR_C6(base, value) (MCG_C6_REG(base) = (value)) |
| #define MCG_RMW_C6(base, mask, value) (MCG_WR_C6(base, (MCG_RD_C6(base) & ~(mask)) | (value))) |
| #define MCG_SET_C6(base, value) (BME_OR8(&MCG_C6_REG(base), (uint8_t)(value))) |
| #define MCG_CLR_C6(base, value) (BME_AND8(&MCG_C6_REG(base), (uint8_t)(~(value)))) |
| #define MCG_TOG_C6(base, value) (BME_XOR8(&MCG_C6_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCG_C6 bitfields |
| */ |
| |
| /*! |
| * @name Register MCG_C6, field CME[5] (RW) |
| * |
| * Determines if a reset request is made following a loss of external clock |
| * indication. The CME bit should only be set to a logic 1 when the MCG is in an |
| * operational mode that uses the external clock (FEE, FBE, or BLPE). Whenever the |
| * CME bit is set to a logic 1, the value of the RANGE bits in the C2 register |
| * should not be changed. CME bit should be set to a logic 0 before the MCG enters |
| * any Stop mode. Otherwise, a reset request may occur when in Stop mode. CME |
| * should also be set to a logic 0 before entering VLPR or VLPW power modes if the MCG |
| * is in BLPE mode. |
| * |
| * Values: |
| * - 0b0 - External clock monitor is disabled. |
| * - 0b1 - Generate a reset request on loss of external clock. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C6_CME field. */ |
| #define MCG_RD_C6_CME(base) ((MCG_C6_REG(base) & MCG_C6_CME_MASK) >> MCG_C6_CME_SHIFT) |
| #define MCG_BRD_C6_CME(base) (BME_UBFX8(&MCG_C6_REG(base), MCG_C6_CME_SHIFT, MCG_C6_CME_WIDTH)) |
| |
| /*! @brief Set the CME field to a new value. */ |
| #define MCG_WR_C6_CME(base, value) (MCG_RMW_C6(base, MCG_C6_CME_MASK, MCG_C6_CME(value))) |
| #define MCG_BWR_C6_CME(base, value) (BME_BFI8(&MCG_C6_REG(base), ((uint8_t)(value) << MCG_C6_CME_SHIFT), MCG_C6_CME_SHIFT, MCG_C6_CME_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_S - MCG Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_S - MCG Status Register (RO) |
| * |
| * Reset value: 0x10U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_S register |
| */ |
| /*@{*/ |
| #define MCG_RD_S(base) (MCG_S_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCG_S bitfields |
| */ |
| |
| /*! |
| * @name Register MCG_S, field IRCST[0] (RO) |
| * |
| * The IRCST bit indicates the current source for the internal reference clock |
| * select clock (IRCSCLK). The IRCST bit does not update immediately after a write |
| * to the IRCS bit due to internal synchronization between clock domains. The |
| * IRCST bit will only be updated if the internal reference clock is enabled, |
| * either by the MCG being in a mode that uses the IRC or by setting the C1[IRCLKEN] |
| * bit . |
| * |
| * Values: |
| * - 0b0 - Source of internal reference clock is the slow clock (32 kHz IRC). |
| * - 0b1 - Source of internal reference clock is the fast clock (4 MHz IRC). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_S_IRCST field. */ |
| #define MCG_RD_S_IRCST(base) ((MCG_S_REG(base) & MCG_S_IRCST_MASK) >> MCG_S_IRCST_SHIFT) |
| #define MCG_BRD_S_IRCST(base) (BME_UBFX8(&MCG_S_REG(base), MCG_S_IRCST_SHIFT, MCG_S_IRCST_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_S, field OSCINIT0[1] (RO) |
| * |
| * This bit, which resets to 0, is set to 1 after the initialization cycles of |
| * the crystal oscillator clock have completed. After being set, the bit is |
| * cleared to 0 if the OSC is subsequently disabled. See the OSC module's detailed |
| * description for more information. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_S_OSCINIT0 field. */ |
| #define MCG_RD_S_OSCINIT0(base) ((MCG_S_REG(base) & MCG_S_OSCINIT0_MASK) >> MCG_S_OSCINIT0_SHIFT) |
| #define MCG_BRD_S_OSCINIT0(base) (BME_UBFX8(&MCG_S_REG(base), MCG_S_OSCINIT0_SHIFT, MCG_S_OSCINIT0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_S, field CLKST[3:2] (RO) |
| * |
| * These bits indicate the current clock mode. The CLKST bits do not update |
| * immediately after a write to the CLKS bits due to internal synchronization between |
| * clock domains. |
| * |
| * Values: |
| * - 0b00 - Encoding 0 - Output of the FLL is selected (reset default). |
| * - 0b01 - Encoding 1 - Internal reference clock is selected. |
| * - 0b10 - Encoding 2 - External reference clock is selected. |
| * - 0b11 - Reserved. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_S_CLKST field. */ |
| #define MCG_RD_S_CLKST(base) ((MCG_S_REG(base) & MCG_S_CLKST_MASK) >> MCG_S_CLKST_SHIFT) |
| #define MCG_BRD_S_CLKST(base) (BME_UBFX8(&MCG_S_REG(base), MCG_S_CLKST_SHIFT, MCG_S_CLKST_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_S, field IREFST[4] (RO) |
| * |
| * This bit indicates the current source for the FLL reference clock. The IREFST |
| * bit does not update immediately after a write to the IREFS bit due to |
| * internal synchronization between clock domains. |
| * |
| * Values: |
| * - 0b0 - Source of FLL reference clock is the external reference clock. |
| * - 0b1 - Source of FLL reference clock is the internal reference clock. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_S_IREFST field. */ |
| #define MCG_RD_S_IREFST(base) ((MCG_S_REG(base) & MCG_S_IREFST_MASK) >> MCG_S_IREFST_SHIFT) |
| #define MCG_BRD_S_IREFST(base) (BME_UBFX8(&MCG_S_REG(base), MCG_S_IREFST_SHIFT, MCG_S_IREFST_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_SC - MCG Status and Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_SC - MCG Status and Control Register (RW) |
| * |
| * Reset value: 0x02U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_SC register |
| */ |
| /*@{*/ |
| #define MCG_RD_SC(base) (MCG_SC_REG(base)) |
| #define MCG_WR_SC(base, value) (MCG_SC_REG(base) = (value)) |
| #define MCG_RMW_SC(base, mask, value) (MCG_WR_SC(base, (MCG_RD_SC(base) & ~(mask)) | (value))) |
| #define MCG_SET_SC(base, value) (BME_OR8(&MCG_SC_REG(base), (uint8_t)(value))) |
| #define MCG_CLR_SC(base, value) (BME_AND8(&MCG_SC_REG(base), (uint8_t)(~(value)))) |
| #define MCG_TOG_SC(base, value) (BME_XOR8(&MCG_SC_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCG_SC bitfields |
| */ |
| |
| /*! |
| * @name Register MCG_SC, field LOCS0[0] (W1C) |
| * |
| * The LOCS0 indicates when a loss of OSC0 reference clock has occurred. The |
| * LOCS0 bit only has an effect when CME0 is set. This bit is cleared by writing a |
| * logic 1 to it when set. |
| * |
| * Values: |
| * - 0b0 - Loss of OSC0 has not occurred. |
| * - 0b1 - Loss of OSC0 has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_SC_LOCS0 field. */ |
| #define MCG_RD_SC_LOCS0(base) ((MCG_SC_REG(base) & MCG_SC_LOCS0_MASK) >> MCG_SC_LOCS0_SHIFT) |
| #define MCG_BRD_SC_LOCS0(base) (BME_UBFX8(&MCG_SC_REG(base), MCG_SC_LOCS0_SHIFT, MCG_SC_LOCS0_WIDTH)) |
| |
| /*! @brief Set the LOCS0 field to a new value. */ |
| #define MCG_WR_SC_LOCS0(base, value) (MCG_RMW_SC(base, (MCG_SC_LOCS0_MASK | MCG_SC_ATMF_MASK), MCG_SC_LOCS0(value))) |
| #define MCG_BWR_SC_LOCS0(base, value) (BME_BFI8(&MCG_SC_REG(base), ((uint8_t)(value) << MCG_SC_LOCS0_SHIFT), MCG_SC_LOCS0_SHIFT, MCG_SC_LOCS0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_SC, field FCRDIV[3:1] (RW) |
| * |
| * Selects the amount to divide down the fast internal reference clock. The |
| * resulting frequency will be in the range 31.25 kHz to 4 MHz (Note: Changing the |
| * divider when the Fast IRC is enabled is not supported). |
| * |
| * Values: |
| * - 0b000 - Divide Factor is 1 |
| * - 0b001 - Divide Factor is 2. |
| * - 0b010 - Divide Factor is 4. |
| * - 0b011 - Divide Factor is 8. |
| * - 0b100 - Divide Factor is 16 |
| * - 0b101 - Divide Factor is 32 |
| * - 0b110 - Divide Factor is 64 |
| * - 0b111 - Divide Factor is 128. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_SC_FCRDIV field. */ |
| #define MCG_RD_SC_FCRDIV(base) ((MCG_SC_REG(base) & MCG_SC_FCRDIV_MASK) >> MCG_SC_FCRDIV_SHIFT) |
| #define MCG_BRD_SC_FCRDIV(base) (BME_UBFX8(&MCG_SC_REG(base), MCG_SC_FCRDIV_SHIFT, MCG_SC_FCRDIV_WIDTH)) |
| |
| /*! @brief Set the FCRDIV field to a new value. */ |
| #define MCG_WR_SC_FCRDIV(base, value) (MCG_RMW_SC(base, (MCG_SC_FCRDIV_MASK | MCG_SC_LOCS0_MASK | MCG_SC_ATMF_MASK), MCG_SC_FCRDIV(value))) |
| #define MCG_BWR_SC_FCRDIV(base, value) (BME_BFI8(&MCG_SC_REG(base), ((uint8_t)(value) << MCG_SC_FCRDIV_SHIFT), MCG_SC_FCRDIV_SHIFT, MCG_SC_FCRDIV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_SC, field FLTPRSRV[4] (RW) |
| * |
| * This bit will prevent the FLL filter values from resetting allowing the FLL |
| * output frequency to remain the same during clock mode changes where the FLL/DCO |
| * output is still valid. (Note: This requires that the FLL reference frequency |
| * to remain the same as what it was prior to the new clock mode switch. |
| * Otherwise FLL filter and frequency values will change.) |
| * |
| * Values: |
| * - 0b0 - FLL filter and FLL frequency will reset on changes to currect clock |
| * mode. |
| * - 0b1 - Fll filter and FLL frequency retain their previous values during new |
| * clock mode change. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_SC_FLTPRSRV field. */ |
| #define MCG_RD_SC_FLTPRSRV(base) ((MCG_SC_REG(base) & MCG_SC_FLTPRSRV_MASK) >> MCG_SC_FLTPRSRV_SHIFT) |
| #define MCG_BRD_SC_FLTPRSRV(base) (BME_UBFX8(&MCG_SC_REG(base), MCG_SC_FLTPRSRV_SHIFT, MCG_SC_FLTPRSRV_WIDTH)) |
| |
| /*! @brief Set the FLTPRSRV field to a new value. */ |
| #define MCG_WR_SC_FLTPRSRV(base, value) (MCG_RMW_SC(base, (MCG_SC_FLTPRSRV_MASK | MCG_SC_LOCS0_MASK | MCG_SC_ATMF_MASK), MCG_SC_FLTPRSRV(value))) |
| #define MCG_BWR_SC_FLTPRSRV(base, value) (BME_BFI8(&MCG_SC_REG(base), ((uint8_t)(value) << MCG_SC_FLTPRSRV_SHIFT), MCG_SC_FLTPRSRV_SHIFT, MCG_SC_FLTPRSRV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_SC, field ATMF[5] (W1C) |
| * |
| * Fail flag for the Automatic Trim Machine (ATM). This bit asserts when the |
| * Automatic Trim Machine is enabled, ATME=1, and a write to the C1, C3, C4, and SC |
| * registers is detected or the MCG enters into any Stop mode. A write to ATMF |
| * clears the flag. |
| * |
| * Values: |
| * - 0b0 - Automatic Trim Machine completed normally. |
| * - 0b1 - Automatic Trim Machine failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_SC_ATMF field. */ |
| #define MCG_RD_SC_ATMF(base) ((MCG_SC_REG(base) & MCG_SC_ATMF_MASK) >> MCG_SC_ATMF_SHIFT) |
| #define MCG_BRD_SC_ATMF(base) (BME_UBFX8(&MCG_SC_REG(base), MCG_SC_ATMF_SHIFT, MCG_SC_ATMF_WIDTH)) |
| |
| /*! @brief Set the ATMF field to a new value. */ |
| #define MCG_WR_SC_ATMF(base, value) (MCG_RMW_SC(base, (MCG_SC_ATMF_MASK | MCG_SC_LOCS0_MASK), MCG_SC_ATMF(value))) |
| #define MCG_BWR_SC_ATMF(base, value) (BME_BFI8(&MCG_SC_REG(base), ((uint8_t)(value) << MCG_SC_ATMF_SHIFT), MCG_SC_ATMF_SHIFT, MCG_SC_ATMF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_SC, field ATMS[6] (RW) |
| * |
| * Selects the IRCS clock for Auto Trim Test. |
| * |
| * Values: |
| * - 0b0 - 32 kHz Internal Reference Clock selected. |
| * - 0b1 - 4 MHz Internal Reference Clock selected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_SC_ATMS field. */ |
| #define MCG_RD_SC_ATMS(base) ((MCG_SC_REG(base) & MCG_SC_ATMS_MASK) >> MCG_SC_ATMS_SHIFT) |
| #define MCG_BRD_SC_ATMS(base) (BME_UBFX8(&MCG_SC_REG(base), MCG_SC_ATMS_SHIFT, MCG_SC_ATMS_WIDTH)) |
| |
| /*! @brief Set the ATMS field to a new value. */ |
| #define MCG_WR_SC_ATMS(base, value) (MCG_RMW_SC(base, (MCG_SC_ATMS_MASK | MCG_SC_LOCS0_MASK | MCG_SC_ATMF_MASK), MCG_SC_ATMS(value))) |
| #define MCG_BWR_SC_ATMS(base, value) (BME_BFI8(&MCG_SC_REG(base), ((uint8_t)(value) << MCG_SC_ATMS_SHIFT), MCG_SC_ATMS_SHIFT, MCG_SC_ATMS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_SC, field ATME[7] (RW) |
| * |
| * Enables the Auto Trim Machine to start automatically trimming the selected |
| * Internal Reference Clock. ATME deasserts after the Auto Trim Machine has |
| * completed trimming all trim bits of the IRCS clock selected by the ATMS bit. Writing |
| * to C1, C3, C4, and SC registers or entering Stop mode aborts the auto trim |
| * operation and clears this bit. |
| * |
| * Values: |
| * - 0b0 - Auto Trim Machine disabled. |
| * - 0b1 - Auto Trim Machine enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_SC_ATME field. */ |
| #define MCG_RD_SC_ATME(base) ((MCG_SC_REG(base) & MCG_SC_ATME_MASK) >> MCG_SC_ATME_SHIFT) |
| #define MCG_BRD_SC_ATME(base) (BME_UBFX8(&MCG_SC_REG(base), MCG_SC_ATME_SHIFT, MCG_SC_ATME_WIDTH)) |
| |
| /*! @brief Set the ATME field to a new value. */ |
| #define MCG_WR_SC_ATME(base, value) (MCG_RMW_SC(base, (MCG_SC_ATME_MASK | MCG_SC_LOCS0_MASK | MCG_SC_ATMF_MASK), MCG_SC_ATME(value))) |
| #define MCG_BWR_SC_ATME(base, value) (BME_BFI8(&MCG_SC_REG(base), ((uint8_t)(value) << MCG_SC_ATME_SHIFT), MCG_SC_ATME_SHIFT, MCG_SC_ATME_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_ATCVH - MCG Auto Trim Compare Value High Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_ATCVH - MCG Auto Trim Compare Value High Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_ATCVH register |
| */ |
| /*@{*/ |
| #define MCG_RD_ATCVH(base) (MCG_ATCVH_REG(base)) |
| #define MCG_WR_ATCVH(base, value) (MCG_ATCVH_REG(base) = (value)) |
| #define MCG_RMW_ATCVH(base, mask, value) (MCG_WR_ATCVH(base, (MCG_RD_ATCVH(base) & ~(mask)) | (value))) |
| #define MCG_SET_ATCVH(base, value) (BME_OR8(&MCG_ATCVH_REG(base), (uint8_t)(value))) |
| #define MCG_CLR_ATCVH(base, value) (BME_AND8(&MCG_ATCVH_REG(base), (uint8_t)(~(value)))) |
| #define MCG_TOG_ATCVH(base, value) (BME_XOR8(&MCG_ATCVH_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_ATCVL - MCG Auto Trim Compare Value Low Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_ATCVL - MCG Auto Trim Compare Value Low Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_ATCVL register |
| */ |
| /*@{*/ |
| #define MCG_RD_ATCVL(base) (MCG_ATCVL_REG(base)) |
| #define MCG_WR_ATCVL(base, value) (MCG_ATCVL_REG(base) = (value)) |
| #define MCG_RMW_ATCVL(base, mask, value) (MCG_WR_ATCVL(base, (MCG_RD_ATCVL(base) & ~(mask)) | (value))) |
| #define MCG_SET_ATCVL(base, value) (BME_OR8(&MCG_ATCVL_REG(base), (uint8_t)(value))) |
| #define MCG_CLR_ATCVL(base, value) (BME_AND8(&MCG_ATCVL_REG(base), (uint8_t)(~(value)))) |
| #define MCG_TOG_ATCVL(base, value) (BME_XOR8(&MCG_ATCVL_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_C7 - MCG Control 7 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_C7 - MCG Control 7 Register (RW) |
| * |
| * Reset value: 0x00U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_C7 register |
| */ |
| /*@{*/ |
| #define MCG_RD_C7(base) (MCG_C7_REG(base)) |
| #define MCG_WR_C7(base, value) (MCG_C7_REG(base) = (value)) |
| #define MCG_RMW_C7(base, mask, value) (MCG_WR_C7(base, (MCG_RD_C7(base) & ~(mask)) | (value))) |
| #define MCG_SET_C7(base, value) (BME_OR8(&MCG_C7_REG(base), (uint8_t)(value))) |
| #define MCG_CLR_C7(base, value) (BME_AND8(&MCG_C7_REG(base), (uint8_t)(~(value)))) |
| #define MCG_TOG_C7(base, value) (BME_XOR8(&MCG_C7_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCG_C7 bitfields |
| */ |
| |
| /*! |
| * @name Register MCG_C7, field OSCSEL[0] (RW) |
| * |
| * Selects the MCG FLL external reference clock |
| * |
| * Values: |
| * - 0b0 - Selects Oscillator (OSCCLK). |
| * - 0b1 - Selects 32 kHz RTC Oscillator. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C7_OSCSEL field. */ |
| #define MCG_RD_C7_OSCSEL(base) ((MCG_C7_REG(base) & MCG_C7_OSCSEL_MASK) >> MCG_C7_OSCSEL_SHIFT) |
| #define MCG_BRD_C7_OSCSEL(base) (BME_UBFX8(&MCG_C7_REG(base), MCG_C7_OSCSEL_SHIFT, MCG_C7_OSCSEL_WIDTH)) |
| |
| /*! @brief Set the OSCSEL field to a new value. */ |
| #define MCG_WR_C7_OSCSEL(base, value) (MCG_RMW_C7(base, MCG_C7_OSCSEL_MASK, MCG_C7_OSCSEL(value))) |
| #define MCG_BWR_C7_OSCSEL(base, value) (BME_BFI8(&MCG_C7_REG(base), ((uint8_t)(value) << MCG_C7_OSCSEL_SHIFT), MCG_C7_OSCSEL_SHIFT, MCG_C7_OSCSEL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCG_C8 - MCG Control 8 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCG_C8 - MCG Control 8 Register (RW) |
| * |
| * Reset value: 0x80U |
| */ |
| /*! |
| * @name Constants and macros for entire MCG_C8 register |
| */ |
| /*@{*/ |
| #define MCG_RD_C8(base) (MCG_C8_REG(base)) |
| #define MCG_WR_C8(base, value) (MCG_C8_REG(base) = (value)) |
| #define MCG_RMW_C8(base, mask, value) (MCG_WR_C8(base, (MCG_RD_C8(base) & ~(mask)) | (value))) |
| #define MCG_SET_C8(base, value) (BME_OR8(&MCG_C8_REG(base), (uint8_t)(value))) |
| #define MCG_CLR_C8(base, value) (BME_AND8(&MCG_C8_REG(base), (uint8_t)(~(value)))) |
| #define MCG_TOG_C8(base, value) (BME_XOR8(&MCG_C8_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCG_C8 bitfields |
| */ |
| |
| /*! |
| * @name Register MCG_C8, field LOCS1[0] (W1C) |
| * |
| * This bit indicates when a loss of clock has occurred. This bit is cleared by |
| * writing a logic 1 to it when set. |
| * |
| * Values: |
| * - 0b0 - Loss of RTC has not occur. |
| * - 0b1 - Loss of RTC has occur |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C8_LOCS1 field. */ |
| #define MCG_RD_C8_LOCS1(base) ((MCG_C8_REG(base) & MCG_C8_LOCS1_MASK) >> MCG_C8_LOCS1_SHIFT) |
| #define MCG_BRD_C8_LOCS1(base) (BME_UBFX8(&MCG_C8_REG(base), MCG_C8_LOCS1_SHIFT, MCG_C8_LOCS1_WIDTH)) |
| |
| /*! @brief Set the LOCS1 field to a new value. */ |
| #define MCG_WR_C8_LOCS1(base, value) (MCG_RMW_C8(base, MCG_C8_LOCS1_MASK, MCG_C8_LOCS1(value))) |
| #define MCG_BWR_C8_LOCS1(base, value) (BME_BFI8(&MCG_C8_REG(base), ((uint8_t)(value) << MCG_C8_LOCS1_SHIFT), MCG_C8_LOCS1_SHIFT, MCG_C8_LOCS1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C8, field CME1[5] (RW) |
| * |
| * Enables the loss of clock monitoring circuit for the output of the RTC |
| * external reference clock. The LOCRE1 bit will determine whether an interrupt or a |
| * reset request is generated following a loss of RTC clock indication. The CME1 |
| * bit should be set to a logic 1 when the MCG is in an operational mode that uses |
| * the RTC as its external reference clock or if the RTC is operational. CME1 bit |
| * must be set to a logic 0 before the MCG enters any Stop mode. Otherwise, a |
| * reset request may occur when in Stop mode. CME1 should also be set to a logic 0 |
| * before entering VLPR or VLPW power modes. |
| * |
| * Values: |
| * - 0b0 - External clock monitor is disabled for RTC clock. |
| * - 0b1 - External clock monitor is enabled for RTC clock. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C8_CME1 field. */ |
| #define MCG_RD_C8_CME1(base) ((MCG_C8_REG(base) & MCG_C8_CME1_MASK) >> MCG_C8_CME1_SHIFT) |
| #define MCG_BRD_C8_CME1(base) (BME_UBFX8(&MCG_C8_REG(base), MCG_C8_CME1_SHIFT, MCG_C8_CME1_WIDTH)) |
| |
| /*! @brief Set the CME1 field to a new value. */ |
| #define MCG_WR_C8_CME1(base, value) (MCG_RMW_C8(base, (MCG_C8_CME1_MASK | MCG_C8_LOCS1_MASK), MCG_C8_CME1(value))) |
| #define MCG_BWR_C8_CME1(base, value) (BME_BFI8(&MCG_C8_REG(base), ((uint8_t)(value) << MCG_C8_CME1_SHIFT), MCG_C8_CME1_SHIFT, MCG_C8_CME1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCG_C8, field LOCRE1[7] (RW) |
| * |
| * Determines if a interrupt or a reset request is made following a loss of RTC |
| * external reference clock. The LOCRE1 only has an affect when CME1 is set. |
| * |
| * Values: |
| * - 0b0 - Interrupt request is generated on a loss of RTC external reference |
| * clock. |
| * - 0b1 - Generate a reset request on a loss of RTC external reference clock |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCG_C8_LOCRE1 field. */ |
| #define MCG_RD_C8_LOCRE1(base) ((MCG_C8_REG(base) & MCG_C8_LOCRE1_MASK) >> MCG_C8_LOCRE1_SHIFT) |
| #define MCG_BRD_C8_LOCRE1(base) (BME_UBFX8(&MCG_C8_REG(base), MCG_C8_LOCRE1_SHIFT, MCG_C8_LOCRE1_WIDTH)) |
| |
| /*! @brief Set the LOCRE1 field to a new value. */ |
| #define MCG_WR_C8_LOCRE1(base, value) (MCG_RMW_C8(base, (MCG_C8_LOCRE1_MASK | MCG_C8_LOCS1_MASK), MCG_C8_LOCRE1(value))) |
| #define MCG_BWR_C8_LOCRE1(base, value) (BME_BFI8(&MCG_C8_REG(base), ((uint8_t)(value) << MCG_C8_LOCRE1_SHIFT), MCG_C8_LOCRE1_SHIFT, MCG_C8_LOCRE1_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 MCM |
| * |
| * Core Platform Miscellaneous Control Module |
| * |
| * Registers defined in this header file: |
| * - MCM_PLASC - Crossbar Switch (AXBS) Slave Configuration |
| * - MCM_PLAMC - Crossbar Switch (AXBS) Master Configuration |
| * - MCM_PLACR - Platform Control Register |
| * - MCM_CPO - Compute Operation Control Register |
| */ |
| |
| #define MCM_INSTANCE_COUNT (1U) /*!< Number of instances of the MCM module. */ |
| #define MCM_IDX (0U) /*!< Instance number for MCM. */ |
| |
| /******************************************************************************* |
| * MCM_PLASC - Crossbar Switch (AXBS) Slave Configuration |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCM_PLASC - Crossbar Switch (AXBS) Slave Configuration (RO) |
| * |
| * Reset value: 0x0007U |
| * |
| * PLASC is a 16-bit read-only register identifying the presence/absence of bus |
| * slave connections to the device's crossbar switch. |
| */ |
| /*! |
| * @name Constants and macros for entire MCM_PLASC register |
| */ |
| /*@{*/ |
| #define MCM_RD_PLASC(base) (MCM_PLASC_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCM_PLASC bitfields |
| */ |
| |
| /*! |
| * @name Register MCM_PLASC, field ASC[7:0] (RO) |
| * |
| * Values: |
| * - 0b00000000 - A bus slave connection to AXBS input port n is absent. |
| * - 0b00000001 - A bus slave connection to AXBS input port n is present. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_PLASC_ASC field. */ |
| #define MCM_RD_PLASC_ASC(base) ((MCM_PLASC_REG(base) & MCM_PLASC_ASC_MASK) >> MCM_PLASC_ASC_SHIFT) |
| #define MCM_BRD_PLASC_ASC(base) (MCM_RD_PLASC_ASC(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCM_PLAMC - Crossbar Switch (AXBS) Master Configuration |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCM_PLAMC - Crossbar Switch (AXBS) Master Configuration (RO) |
| * |
| * Reset value: 0x0005U |
| * |
| * PLAMC is a 16-bit read-only register identifying the presence/absence of bus |
| * master connections to the device's crossbar switch. |
| */ |
| /*! |
| * @name Constants and macros for entire MCM_PLAMC register |
| */ |
| /*@{*/ |
| #define MCM_RD_PLAMC(base) (MCM_PLAMC_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCM_PLAMC bitfields |
| */ |
| |
| /*! |
| * @name Register MCM_PLAMC, field AMC[7:0] (RO) |
| * |
| * Values: |
| * - 0b00000000 - A bus master connection to AXBS input port n is absent |
| * - 0b00000001 - A bus master connection to AXBS input port n is present |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_PLAMC_AMC field. */ |
| #define MCM_RD_PLAMC_AMC(base) ((MCM_PLAMC_REG(base) & MCM_PLAMC_AMC_MASK) >> MCM_PLAMC_AMC_SHIFT) |
| #define MCM_BRD_PLAMC_AMC(base) (MCM_RD_PLAMC_AMC(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCM_PLACR - Platform Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCM_PLACR - Platform Control Register (RW) |
| * |
| * Reset value: 0x00000050U |
| * |
| * The PLACR register selects the arbitration policy for the crossbar masters |
| * and configures the flash memory controller. The speculation buffer and cache in |
| * the flash memory controller is configurable via PLACR[15:10 ]. The speculation |
| * buffer is enabled only for instructions after reset. It is possible to have |
| * these states for the speculation buffer: DFCS EFDS Description 0 0 Speculation |
| * buffer is on for instruction and off for data. 0 1 Speculation buffer is on |
| * for instruction and on for data. 1 X Speculation buffer is off. The cache in |
| * flash controller is enabled and caching both instruction and data type fetches |
| * after reset. It is possible to have these states for the cache: DFCC DFCIC DFCDA |
| * Description 0 0 0 Cache is on for both instruction and data. 0 0 1 Cache is |
| * on for instruction and off for data. 0 1 0 Cache is off for instruction and on |
| * for data. 0 1 1 Cache is off for both instruction and data. 1 X X Cache is |
| * off. ***FOR APACHE ONLY (as far as Alan Ratliff knows on 17 June 2014) from... |
| * Document Number: APACHE PLATREQ, Rev 6.0, Oct.15, 2013*** Some of these bits may |
| * be for internal use only: [1:0] AXBS stall FSM (read-only) [2] AXBS stall |
| * request (read-only) [3] AXBS halted (read-only) [4] PFLASHC idle (read-only) [6] |
| * PBRIDGE Idle (read-only) [18] Enable inserting 1T delay on BME undecorated |
| * read data path [19] Enable inserting 1T delay on BME undecorated write data path |
| */ |
| /*! |
| * @name Constants and macros for entire MCM_PLACR register |
| */ |
| /*@{*/ |
| #define MCM_RD_PLACR(base) (MCM_PLACR_REG(base)) |
| #define MCM_WR_PLACR(base, value) (MCM_PLACR_REG(base) = (value)) |
| #define MCM_RMW_PLACR(base, mask, value) (MCM_WR_PLACR(base, (MCM_RD_PLACR(base) & ~(mask)) | (value))) |
| #define MCM_SET_PLACR(base, value) (MCM_WR_PLACR(base, MCM_RD_PLACR(base) | (value))) |
| #define MCM_CLR_PLACR(base, value) (MCM_WR_PLACR(base, MCM_RD_PLACR(base) & ~(value))) |
| #define MCM_TOG_PLACR(base, value) (MCM_WR_PLACR(base, MCM_RD_PLACR(base) ^ (value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCM_PLACR bitfields |
| */ |
| |
| /*! |
| * @name Register MCM_PLACR, field ARB[9] (RW) |
| * |
| * Values: |
| * - 0b0 - Fixed-priority arbitration for the crossbar masters |
| * - 0b1 - Round-robin arbitration for the crossbar masters |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_PLACR_ARB field. */ |
| #define MCM_RD_PLACR_ARB(base) ((MCM_PLACR_REG(base) & MCM_PLACR_ARB_MASK) >> MCM_PLACR_ARB_SHIFT) |
| #define MCM_BRD_PLACR_ARB(base) (MCM_RD_PLACR_ARB(base)) |
| |
| /*! @brief Set the ARB field to a new value. */ |
| #define MCM_WR_PLACR_ARB(base, value) (MCM_RMW_PLACR(base, MCM_PLACR_ARB_MASK, MCM_PLACR_ARB(value))) |
| #define MCM_BWR_PLACR_ARB(base, value) (MCM_WR_PLACR_ARB(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCM_PLACR, field CFCC[10] (WORZ) |
| * |
| * Writing a 1 to this field clears the cache. Writing a 0 to this field is |
| * ignored. This field always reads as 0. |
| */ |
| /*@{*/ |
| /*! @brief Set the CFCC field to a new value. */ |
| #define MCM_WR_PLACR_CFCC(base, value) (MCM_RMW_PLACR(base, MCM_PLACR_CFCC_MASK, MCM_PLACR_CFCC(value))) |
| #define MCM_BWR_PLACR_CFCC(base, value) (MCM_WR_PLACR_CFCC(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCM_PLACR, field DFCDA[11] (RW) |
| * |
| * Disables flash controller data caching. |
| * |
| * Values: |
| * - 0b0 - Enable flash controller data caching |
| * - 0b1 - Disable flash controller data caching. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_PLACR_DFCDA field. */ |
| #define MCM_RD_PLACR_DFCDA(base) ((MCM_PLACR_REG(base) & MCM_PLACR_DFCDA_MASK) >> MCM_PLACR_DFCDA_SHIFT) |
| #define MCM_BRD_PLACR_DFCDA(base) (MCM_RD_PLACR_DFCDA(base)) |
| |
| /*! @brief Set the DFCDA field to a new value. */ |
| #define MCM_WR_PLACR_DFCDA(base, value) (MCM_RMW_PLACR(base, MCM_PLACR_DFCDA_MASK, MCM_PLACR_DFCDA(value))) |
| #define MCM_BWR_PLACR_DFCDA(base, value) (MCM_WR_PLACR_DFCDA(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCM_PLACR, field DFCIC[12] (RW) |
| * |
| * Disables flash controller instruction caching. |
| * |
| * Values: |
| * - 0b0 - Enable flash controller instruction caching. |
| * - 0b1 - Disable flash controller instruction caching. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_PLACR_DFCIC field. */ |
| #define MCM_RD_PLACR_DFCIC(base) ((MCM_PLACR_REG(base) & MCM_PLACR_DFCIC_MASK) >> MCM_PLACR_DFCIC_SHIFT) |
| #define MCM_BRD_PLACR_DFCIC(base) (MCM_RD_PLACR_DFCIC(base)) |
| |
| /*! @brief Set the DFCIC field to a new value. */ |
| #define MCM_WR_PLACR_DFCIC(base, value) (MCM_RMW_PLACR(base, MCM_PLACR_DFCIC_MASK, MCM_PLACR_DFCIC(value))) |
| #define MCM_BWR_PLACR_DFCIC(base, value) (MCM_WR_PLACR_DFCIC(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCM_PLACR, field DFCC[13] (RW) |
| * |
| * Disables flash controller cache. |
| * |
| * Values: |
| * - 0b0 - Enable flash controller cache. |
| * - 0b1 - Disable flash controller cache. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_PLACR_DFCC field. */ |
| #define MCM_RD_PLACR_DFCC(base) ((MCM_PLACR_REG(base) & MCM_PLACR_DFCC_MASK) >> MCM_PLACR_DFCC_SHIFT) |
| #define MCM_BRD_PLACR_DFCC(base) (MCM_RD_PLACR_DFCC(base)) |
| |
| /*! @brief Set the DFCC field to a new value. */ |
| #define MCM_WR_PLACR_DFCC(base, value) (MCM_RMW_PLACR(base, MCM_PLACR_DFCC_MASK, MCM_PLACR_DFCC(value))) |
| #define MCM_BWR_PLACR_DFCC(base, value) (MCM_WR_PLACR_DFCC(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCM_PLACR, field EFDS[14] (RW) |
| * |
| * Enables flash data speculation. |
| * |
| * Values: |
| * - 0b0 - Disable flash data speculation. |
| * - 0b1 - Enable flash data speculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_PLACR_EFDS field. */ |
| #define MCM_RD_PLACR_EFDS(base) ((MCM_PLACR_REG(base) & MCM_PLACR_EFDS_MASK) >> MCM_PLACR_EFDS_SHIFT) |
| #define MCM_BRD_PLACR_EFDS(base) (MCM_RD_PLACR_EFDS(base)) |
| |
| /*! @brief Set the EFDS field to a new value. */ |
| #define MCM_WR_PLACR_EFDS(base, value) (MCM_RMW_PLACR(base, MCM_PLACR_EFDS_MASK, MCM_PLACR_EFDS(value))) |
| #define MCM_BWR_PLACR_EFDS(base, value) (MCM_WR_PLACR_EFDS(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCM_PLACR, field DFCS[15] (RW) |
| * |
| * Disables flash controller speculation. |
| * |
| * Values: |
| * - 0b0 - Enable flash controller speculation. |
| * - 0b1 - Disable flash controller speculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_PLACR_DFCS field. */ |
| #define MCM_RD_PLACR_DFCS(base) ((MCM_PLACR_REG(base) & MCM_PLACR_DFCS_MASK) >> MCM_PLACR_DFCS_SHIFT) |
| #define MCM_BRD_PLACR_DFCS(base) (MCM_RD_PLACR_DFCS(base)) |
| |
| /*! @brief Set the DFCS field to a new value. */ |
| #define MCM_WR_PLACR_DFCS(base, value) (MCM_RMW_PLACR(base, MCM_PLACR_DFCS_MASK, MCM_PLACR_DFCS(value))) |
| #define MCM_BWR_PLACR_DFCS(base, value) (MCM_WR_PLACR_DFCS(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCM_PLACR, field ESFC[16] (RW) |
| * |
| * Enables stalling flash controller when flash is busy. When software needs to |
| * access the flash memory while a flash memory resource is being manipulated by |
| * a flash command, software can enable a stall mechanism to avoid a read |
| * collision. The stall mechanism allows software to execute code from the same block on |
| * which flash operations are being performed. However, software must ensure the |
| * sector the flash operations are being performed on is not the same sector |
| * from which the code is executing. ESFC enables the stall mechanism. This bit must |
| * be set only just before the flash operation is executed and must be cleared |
| * when the operation completes. |
| * |
| * Values: |
| * - 0b0 - Disable stalling flash controller when flash is busy. |
| * - 0b1 - Enable stalling flash controller when flash is busy. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_PLACR_ESFC field. */ |
| #define MCM_RD_PLACR_ESFC(base) ((MCM_PLACR_REG(base) & MCM_PLACR_ESFC_MASK) >> MCM_PLACR_ESFC_SHIFT) |
| #define MCM_BRD_PLACR_ESFC(base) (MCM_RD_PLACR_ESFC(base)) |
| |
| /*! @brief Set the ESFC field to a new value. */ |
| #define MCM_WR_PLACR_ESFC(base, value) (MCM_RMW_PLACR(base, MCM_PLACR_ESFC_MASK, MCM_PLACR_ESFC(value))) |
| #define MCM_BWR_PLACR_ESFC(base, value) (MCM_WR_PLACR_ESFC(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MCM_CPO - Compute Operation Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MCM_CPO - Compute Operation Control Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register controls the Compute Operation. |
| */ |
| /*! |
| * @name Constants and macros for entire MCM_CPO register |
| */ |
| /*@{*/ |
| #define MCM_RD_CPO(base) (MCM_CPO_REG(base)) |
| #define MCM_WR_CPO(base, value) (MCM_CPO_REG(base) = (value)) |
| #define MCM_RMW_CPO(base, mask, value) (MCM_WR_CPO(base, (MCM_RD_CPO(base) & ~(mask)) | (value))) |
| #define MCM_SET_CPO(base, value) (MCM_WR_CPO(base, MCM_RD_CPO(base) | (value))) |
| #define MCM_CLR_CPO(base, value) (MCM_WR_CPO(base, MCM_RD_CPO(base) & ~(value))) |
| #define MCM_TOG_CPO(base, value) (MCM_WR_CPO(base, MCM_RD_CPO(base) ^ (value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MCM_CPO bitfields |
| */ |
| |
| /*! |
| * @name Register MCM_CPO, field CPOREQ[0] (RW) |
| * |
| * This bit is auto-cleared by vector fetching if CPOWOI = 1. |
| * |
| * Values: |
| * - 0b0 - Request is cleared. |
| * - 0b1 - Request Compute Operation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_CPO_CPOREQ field. */ |
| #define MCM_RD_CPO_CPOREQ(base) ((MCM_CPO_REG(base) & MCM_CPO_CPOREQ_MASK) >> MCM_CPO_CPOREQ_SHIFT) |
| #define MCM_BRD_CPO_CPOREQ(base) (MCM_RD_CPO_CPOREQ(base)) |
| |
| /*! @brief Set the CPOREQ field to a new value. */ |
| #define MCM_WR_CPO_CPOREQ(base, value) (MCM_RMW_CPO(base, MCM_CPO_CPOREQ_MASK, MCM_CPO_CPOREQ(value))) |
| #define MCM_BWR_CPO_CPOREQ(base, value) (MCM_WR_CPO_CPOREQ(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCM_CPO, field CPOACK[1] (RO) |
| * |
| * Values: |
| * - 0b0 - Compute operation entry has not completed or compute operation exit |
| * has completed. |
| * - 0b1 - Compute operation entry has completed or compute operation exit has |
| * not completed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_CPO_CPOACK field. */ |
| #define MCM_RD_CPO_CPOACK(base) ((MCM_CPO_REG(base) & MCM_CPO_CPOACK_MASK) >> MCM_CPO_CPOACK_SHIFT) |
| #define MCM_BRD_CPO_CPOACK(base) (MCM_RD_CPO_CPOACK(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MCM_CPO, field CPOWOI[2] (RW) |
| * |
| * Values: |
| * - 0b0 - No effect. |
| * - 0b1 - When set, the CPOREQ is cleared on any interrupt or exception vector |
| * fetch. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MCM_CPO_CPOWOI field. */ |
| #define MCM_RD_CPO_CPOWOI(base) ((MCM_CPO_REG(base) & MCM_CPO_CPOWOI_MASK) >> MCM_CPO_CPOWOI_SHIFT) |
| #define MCM_BRD_CPO_CPOWOI(base) (MCM_RD_CPO_CPOWOI(base)) |
| |
| /*! @brief Set the CPOWOI field to a new value. */ |
| #define MCM_WR_CPO_CPOWOI(base, value) (MCM_RMW_CPO(base, MCM_CPO_CPOWOI_MASK, MCM_CPO_CPOWOI(value))) |
| #define MCM_BWR_CPO_CPOWOI(base, value) (MCM_WR_CPO_CPOWOI(base, value)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 MTB |
| * |
| * Micro Trace Buffer |
| * |
| * Registers defined in this header file: |
| * - MTB_POSITION - MTB Position Register |
| * - MTB_MASTER - MTB Master Register |
| * - MTB_FLOW - MTB Flow Register |
| * - MTB_BASE - MTB Base Register |
| * - MTB_MODECTRL - Integration Mode Control Register |
| * - MTB_TAGSET - Claim TAG Set Register |
| * - MTB_TAGCLEAR - Claim TAG Clear Register |
| * - MTB_LOCKACCESS - Lock Access Register |
| * - MTB_LOCKSTAT - Lock Status Register |
| * - MTB_AUTHSTAT - Authentication Status Register |
| * - MTB_DEVICEARCH - Device Architecture Register |
| * - MTB_DEVICECFG - Device Configuration Register |
| * - MTB_DEVICETYPID - Device Type Identifier Register |
| * - MTB_PERIPHID - Peripheral ID Register |
| * - MTB_COMPID - Component ID Register |
| */ |
| |
| #define MTB_INSTANCE_COUNT (1U) /*!< Number of instances of the MTB module. */ |
| #define MTB_IDX (0U) /*!< Instance number for MTB. */ |
| |
| /******************************************************************************* |
| * MTB_POSITION - MTB Position Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_POSITION - MTB Position Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The MTB_POSITION register contains the Trace Write Address Pointer and Wrap |
| * fields. This register can be modified by the explicit programming model writes. |
| * It is also automatically updated by the MTB hardware when trace packets are |
| * being recorded. The base address of the system RAM in the memory map dictates |
| * special consideration for the placement of the MTB. Consider the following |
| * guidelines: For the standard configuration where the size of the MTB is <= 25% of |
| * the total RAM capacity, it is recommended the MTB be based at the address |
| * defined by the MTB_BASE register. The read-only MTB_BASE register is defined by |
| * the expression (0x2000_0000 - (RAM_Size/4)). For this configuration, the |
| * MTB_POSITION register is initialized to MTB_BASE & 0x0000_7FF8. If the size of the |
| * MTB is more than 25% but less than or equal to 50% of the total RAM capacity, it |
| * is recommended the MTB be based at address 0x2000_0000. In this |
| * configuration, the MTB_POSITION register is initialized to (0x2000_0000 & 0x0000_7FF8) = |
| * 0x0000_00000. Following these two suggested placements provides a full-featured |
| * circular memory buffer containing program trace packets. In the unlikely event |
| * an even larger trace buffer is required, a write-once capacity of 75% of the |
| * total RAM capacity can be based at address 0x2000_0000. The MTB_POSITION |
| * register is initialized to (0x2000_0000 & 0x0000_7FF8) = 0x0000_0000. However, this |
| * configuration cannot support operation as a circular queue and instead |
| * requires the use of the MTB_FLOW[WATERMARK] capability to automatically disable |
| * tracing or halting the processor as the number of packet writes approach the |
| * buffer capacity. See the MTB_FLOW register description for more details. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_POSITION register |
| */ |
| /*@{*/ |
| #define MTB_RD_POSITION(base) (MTB_POSITION_REG(base)) |
| #define MTB_WR_POSITION(base, value) (MTB_POSITION_REG(base) = (value)) |
| #define MTB_RMW_POSITION(base, mask, value) (MTB_WR_POSITION(base, (MTB_RD_POSITION(base) & ~(mask)) | (value))) |
| #define MTB_SET_POSITION(base, value) (MTB_WR_POSITION(base, MTB_RD_POSITION(base) | (value))) |
| #define MTB_CLR_POSITION(base, value) (MTB_WR_POSITION(base, MTB_RD_POSITION(base) & ~(value))) |
| #define MTB_TOG_POSITION(base, value) (MTB_WR_POSITION(base, MTB_RD_POSITION(base) ^ (value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MTB_POSITION bitfields |
| */ |
| |
| /*! |
| * @name Register MTB_POSITION, field WRAP[2] (RW) |
| * |
| * This field is set to 1 automatically when the POINTER value wraps as |
| * determined by the MTB_MASTER[MASK] field in the MASTER Trace Control Register. A debug |
| * agent might use the WRAP field to determine whether the trace information |
| * above and below the pointer address is valid. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_POSITION_WRAP field. */ |
| #define MTB_RD_POSITION_WRAP(base) ((MTB_POSITION_REG(base) & MTB_POSITION_WRAP_MASK) >> MTB_POSITION_WRAP_SHIFT) |
| #define MTB_BRD_POSITION_WRAP(base) (MTB_RD_POSITION_WRAP(base)) |
| |
| /*! @brief Set the WRAP field to a new value. */ |
| #define MTB_WR_POSITION_WRAP(base, value) (MTB_RMW_POSITION(base, MTB_POSITION_WRAP_MASK, MTB_POSITION_WRAP(value))) |
| #define MTB_BWR_POSITION_WRAP(base, value) (MTB_WR_POSITION_WRAP(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_POSITION, field POINTER[31:3] (RW) |
| * |
| * Because a packet consists of two words, the POINTER field is the address of |
| * the first word of a packet. This field contains bits[31:3] of the RAM address |
| * where the next trace packet is written. Therefore, it points to an unused |
| * location and is automatically incremented. A debug agent can calculate the system |
| * memory map address for the current location in the MTB using the following |
| * "generic" equation: Given mtb_size = 1 << (MTB_MASTER[MASK] + 4), systemAddress = |
| * MTB_BASE + (((MTB_POSITION & 0xFFFF_FFF8) + (mtb_size - (MTB_BASE & |
| * (mtb_size-1)))) & 0x0000_7FF8); For this device, a simpler expression also applies. See |
| * the following pseudo-code: if ((MTB_POSITION >> 13) == 0x3) systemAddress = |
| * (0x1FFF << 16) + (0x1 << 15) + (MTB_POSITION & 0x7FF8); else systemAddress = |
| * (0x2000 << 16) + (0x0 << 15) + (MTB_POSITION & 0x7FF8); The size of the RAM is |
| * parameterized and the most significant bits of the POINTER field are RAZ/WI. For |
| * these devices, POSITION[31:15] == POSITION[POINTER[28:12]] are RAZ/WI. |
| * Therefore, the active bits in this field are POSITION[14:3] == |
| * POSITION[POINTER[11:0]]. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_POSITION_POINTER field. */ |
| #define MTB_RD_POSITION_POINTER(base) ((MTB_POSITION_REG(base) & MTB_POSITION_POINTER_MASK) >> MTB_POSITION_POINTER_SHIFT) |
| #define MTB_BRD_POSITION_POINTER(base) (MTB_RD_POSITION_POINTER(base)) |
| |
| /*! @brief Set the POINTER field to a new value. */ |
| #define MTB_WR_POSITION_POINTER(base, value) (MTB_RMW_POSITION(base, MTB_POSITION_POINTER_MASK, MTB_POSITION_POINTER(value))) |
| #define MTB_BWR_POSITION_POINTER(base, value) (MTB_WR_POSITION_POINTER(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_MASTER - MTB Master Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_MASTER - MTB Master Register (RW) |
| * |
| * Reset value: 0x00000080U |
| * |
| * The MTB_MASTER register contains the main program trace enable plus other |
| * trace controls. This register can be modified by the explicit programming model |
| * writes. MTB_MASTER[EN] and MTB_MASTER[HALTREQ] fields are also automatically |
| * updated by the MTB hardware. Before MTB_MASTER[EN] or MTB_MASTER[TSTARTEN] are |
| * set to 1, the software must initialize the MTB_POSITION and MTB_FLOW registers. |
| * If MTB_FLOW[WATERMARK] is used to stop tracing or to halt the processor, |
| * MTB_MASTER[MASK] must still be set to a value that prevents MTB_POSITION[POINTER] |
| * from wrapping before it reaches the MTB_FLOW[WATERMARK] value. The format of |
| * this mask field is different than MTBDWT_MASKn[MASK]. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_MASTER register |
| */ |
| /*@{*/ |
| #define MTB_RD_MASTER(base) (MTB_MASTER_REG(base)) |
| #define MTB_WR_MASTER(base, value) (MTB_MASTER_REG(base) = (value)) |
| #define MTB_RMW_MASTER(base, mask, value) (MTB_WR_MASTER(base, (MTB_RD_MASTER(base) & ~(mask)) | (value))) |
| #define MTB_SET_MASTER(base, value) (MTB_WR_MASTER(base, MTB_RD_MASTER(base) | (value))) |
| #define MTB_CLR_MASTER(base, value) (MTB_WR_MASTER(base, MTB_RD_MASTER(base) & ~(value))) |
| #define MTB_TOG_MASTER(base, value) (MTB_WR_MASTER(base, MTB_RD_MASTER(base) ^ (value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MTB_MASTER bitfields |
| */ |
| |
| /*! |
| * @name Register MTB_MASTER, field MASK[4:0] (RW) |
| * |
| * This value determines the maximum size of the trace buffer in RAM. It |
| * specifies the most-significant bit of the MTB_POSITION[POINTER] field that can be |
| * updated by automatic increment. If the trace tries to advance past this power of |
| * 2, the MTB_POSITION[WRAP] bit is set to 1, the MTB_POSITION[MASK+3:3] == |
| * MTB_POSITION[POINTER[MASK:0]] bits are set to 0, and the MTB_POSITION[14:MASK+3] == |
| * MTB_POSITION[POINTER[11:MASK+1]] bits remain unchanged. This field causes the |
| * trace packet information to be stored in a circular buffer of size 2^[MASK+4] |
| * bytes, that can be positioned in memory at multiples of this size. As |
| * detailed in the MTB_POSITION description, typical "upper limits" for the MTB size are |
| * RAM_Size/4 or RAM_Size/2. Values greater than the maximum have the same |
| * effect as the maximum. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_MASTER_MASK field. */ |
| #define MTB_RD_MASTER_MASK(base) ((MTB_MASTER_REG(base) & MTB_MASTER_MASK_MASK) >> MTB_MASTER_MASK_SHIFT) |
| #define MTB_BRD_MASTER_MASK(base) (MTB_RD_MASTER_MASK(base)) |
| |
| /*! @brief Set the MASK field to a new value. */ |
| #define MTB_WR_MASTER_MASK(base, value) (MTB_RMW_MASTER(base, MTB_MASTER_MASK_MASK, MTB_MASTER_MASK(value))) |
| #define MTB_BWR_MASTER_MASK(base, value) (MTB_WR_MASTER_MASK(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_MASTER, field TSTARTEN[5] (RW) |
| * |
| * If this field is 1 and the TSTART signal is HIGH, then EN is set to 1. |
| * Tracing continues until a stop condition occurs. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_MASTER_TSTARTEN field. */ |
| #define MTB_RD_MASTER_TSTARTEN(base) ((MTB_MASTER_REG(base) & MTB_MASTER_TSTARTEN_MASK) >> MTB_MASTER_TSTARTEN_SHIFT) |
| #define MTB_BRD_MASTER_TSTARTEN(base) (MTB_RD_MASTER_TSTARTEN(base)) |
| |
| /*! @brief Set the TSTARTEN field to a new value. */ |
| #define MTB_WR_MASTER_TSTARTEN(base, value) (MTB_RMW_MASTER(base, MTB_MASTER_TSTARTEN_MASK, MTB_MASTER_TSTARTEN(value))) |
| #define MTB_BWR_MASTER_TSTARTEN(base, value) (MTB_WR_MASTER_TSTARTEN(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_MASTER, field TSTOPEN[6] (RW) |
| * |
| * If this field is 1 and the TSTOP signal is HIGH, then EN is set to 0. If a |
| * trace packet is being written to memory, the write is completed before tracing |
| * is stopped. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_MASTER_TSTOPEN field. */ |
| #define MTB_RD_MASTER_TSTOPEN(base) ((MTB_MASTER_REG(base) & MTB_MASTER_TSTOPEN_MASK) >> MTB_MASTER_TSTOPEN_SHIFT) |
| #define MTB_BRD_MASTER_TSTOPEN(base) (MTB_RD_MASTER_TSTOPEN(base)) |
| |
| /*! @brief Set the TSTOPEN field to a new value. */ |
| #define MTB_WR_MASTER_TSTOPEN(base, value) (MTB_RMW_MASTER(base, MTB_MASTER_TSTOPEN_MASK, MTB_MASTER_TSTOPEN(value))) |
| #define MTB_BWR_MASTER_TSTOPEN(base, value) (MTB_WR_MASTER_TSTOPEN(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_MASTER, field SFRWPRIV[7] (RW) |
| * |
| * If this field is 0, then user or privileged AHB read and write accesses to |
| * the MTB_RAM Special Function Registers (programming model) are permitted. If |
| * this field is 1, then only privileged write accesses are permitted; user write |
| * accesses are ignored. The HPROT[1] signal determines if an access is user or |
| * privileged. Note MTB_RAM SFR read access are not controlled by this bit and are |
| * always permitted. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_MASTER_SFRWPRIV field. */ |
| #define MTB_RD_MASTER_SFRWPRIV(base) ((MTB_MASTER_REG(base) & MTB_MASTER_SFRWPRIV_MASK) >> MTB_MASTER_SFRWPRIV_SHIFT) |
| #define MTB_BRD_MASTER_SFRWPRIV(base) (MTB_RD_MASTER_SFRWPRIV(base)) |
| |
| /*! @brief Set the SFRWPRIV field to a new value. */ |
| #define MTB_WR_MASTER_SFRWPRIV(base, value) (MTB_RMW_MASTER(base, MTB_MASTER_SFRWPRIV_MASK, MTB_MASTER_SFRWPRIV(value))) |
| #define MTB_BWR_MASTER_SFRWPRIV(base, value) (MTB_WR_MASTER_SFRWPRIV(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_MASTER, field RAMPRIV[8] (RW) |
| * |
| * If this field is 0, then user or privileged AHB read and write accesses to |
| * the RAM are permitted. If this field is 1, then only privileged AHB read and |
| * write accesses to the RAM are permitted and user accesses are RAZ/WI. The |
| * HPROT[1] signal determines if an access is a user or privileged mode reference. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_MASTER_RAMPRIV field. */ |
| #define MTB_RD_MASTER_RAMPRIV(base) ((MTB_MASTER_REG(base) & MTB_MASTER_RAMPRIV_MASK) >> MTB_MASTER_RAMPRIV_SHIFT) |
| #define MTB_BRD_MASTER_RAMPRIV(base) (MTB_RD_MASTER_RAMPRIV(base)) |
| |
| /*! @brief Set the RAMPRIV field to a new value. */ |
| #define MTB_WR_MASTER_RAMPRIV(base, value) (MTB_RMW_MASTER(base, MTB_MASTER_RAMPRIV_MASK, MTB_MASTER_RAMPRIV(value))) |
| #define MTB_BWR_MASTER_RAMPRIV(base, value) (MTB_WR_MASTER_RAMPRIV(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_MASTER, field HALTREQ[9] (RW) |
| * |
| * This field is connected to the halt request signal of the trace logic, |
| * EDBGRQ. When HALTREQ is set to 1, the EDBFGRQ is asserted if DBGEN (invasive debug |
| * enable, one of the debug authentication interface signals) is also HIGH. |
| * HALTREQ can be automatically set to 1 using MTB_FLOW[WATERMARK]. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_MASTER_HALTREQ field. */ |
| #define MTB_RD_MASTER_HALTREQ(base) ((MTB_MASTER_REG(base) & MTB_MASTER_HALTREQ_MASK) >> MTB_MASTER_HALTREQ_SHIFT) |
| #define MTB_BRD_MASTER_HALTREQ(base) (MTB_RD_MASTER_HALTREQ(base)) |
| |
| /*! @brief Set the HALTREQ field to a new value. */ |
| #define MTB_WR_MASTER_HALTREQ(base, value) (MTB_RMW_MASTER(base, MTB_MASTER_HALTREQ_MASK, MTB_MASTER_HALTREQ(value))) |
| #define MTB_BWR_MASTER_HALTREQ(base, value) (MTB_WR_MASTER_HALTREQ(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_MASTER, field EN[31] (RW) |
| * |
| * When this field is 1, trace data is written into the RAM memory location |
| * addressed by MTB_POSITION[POINTER]. The MTB_POSITION[POINTER] value auto |
| * increments after the trace data packet is written. EN can be automatically set to 0 |
| * using the MTB_FLOW[WATERMARK] field and the MTB_FLOW[AUTOSTOP] bit. EN is |
| * automatically set to 1 if TSTARTEN is 1 and the TSTART signal is HIGH. EN is |
| * automatically set to 0 if TSTOPEN is 1 and the TSTOP signal is HIGH. If EN is set to 0 |
| * because MTB_FLOW[WATERMARK] is set, then it is not automatically set to 1 if |
| * TSTARTEN is 1 and the TSTART input is HIGH. In this case, tracing can only be |
| * restarted if MTB_FLOW[WATERMARK] or MTB_POSITION[POINTER] value is changed by |
| * software. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_MASTER_EN field. */ |
| #define MTB_RD_MASTER_EN(base) ((MTB_MASTER_REG(base) & MTB_MASTER_EN_MASK) >> MTB_MASTER_EN_SHIFT) |
| #define MTB_BRD_MASTER_EN(base) (MTB_RD_MASTER_EN(base)) |
| |
| /*! @brief Set the EN field to a new value. */ |
| #define MTB_WR_MASTER_EN(base, value) (MTB_RMW_MASTER(base, MTB_MASTER_EN_MASK, MTB_MASTER_EN(value))) |
| #define MTB_BWR_MASTER_EN(base, value) (MTB_WR_MASTER_EN(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_FLOW - MTB Flow Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_FLOW - MTB Flow Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The MTB_FLOW register contains the watermark address and the |
| * autostop/autohalt control bits. If tracing is stopped using the watermark autostop feature, it |
| * cannot be restarted until software clears the watermark autostop. This can be |
| * achieved in one of the following ways: Changing the MTB_POSITION[POINTER] |
| * field value to point to the beginning of the trace buffer, or Setting |
| * MTB_FLOW[AUTOSTOP] = 0. A debug agent can use MTB_FLOW[AUTOSTOP] to fill the trace buffer |
| * once only without halting the processor. A debug agent can use |
| * MTB_FLOW[AUTOHALT] to fill the trace buffer once before causing the Cortex-M0+ processor to |
| * enter the Debug state. To enter Debug state, the Cortex-M0+ processor might |
| * have to perform additional branch type operations. Therefore, the |
| * MTB_FLOW[WATERMARK] field must be set below the final entry in the trace buffer region. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_FLOW register |
| */ |
| /*@{*/ |
| #define MTB_RD_FLOW(base) (MTB_FLOW_REG(base)) |
| #define MTB_WR_FLOW(base, value) (MTB_FLOW_REG(base) = (value)) |
| #define MTB_RMW_FLOW(base, mask, value) (MTB_WR_FLOW(base, (MTB_RD_FLOW(base) & ~(mask)) | (value))) |
| #define MTB_SET_FLOW(base, value) (MTB_WR_FLOW(base, MTB_RD_FLOW(base) | (value))) |
| #define MTB_CLR_FLOW(base, value) (MTB_WR_FLOW(base, MTB_RD_FLOW(base) & ~(value))) |
| #define MTB_TOG_FLOW(base, value) (MTB_WR_FLOW(base, MTB_RD_FLOW(base) ^ (value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MTB_FLOW bitfields |
| */ |
| |
| /*! |
| * @name Register MTB_FLOW, field AUTOSTOP[0] (RW) |
| * |
| * If this field is 1 and WATERMARK is equal to MTB_POSITION[POINTER], then |
| * MTB_MASTER[EN] is automatically set to 0. This stops tracing. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_FLOW_AUTOSTOP field. */ |
| #define MTB_RD_FLOW_AUTOSTOP(base) ((MTB_FLOW_REG(base) & MTB_FLOW_AUTOSTOP_MASK) >> MTB_FLOW_AUTOSTOP_SHIFT) |
| #define MTB_BRD_FLOW_AUTOSTOP(base) (MTB_RD_FLOW_AUTOSTOP(base)) |
| |
| /*! @brief Set the AUTOSTOP field to a new value. */ |
| #define MTB_WR_FLOW_AUTOSTOP(base, value) (MTB_RMW_FLOW(base, MTB_FLOW_AUTOSTOP_MASK, MTB_FLOW_AUTOSTOP(value))) |
| #define MTB_BWR_FLOW_AUTOSTOP(base, value) (MTB_WR_FLOW_AUTOSTOP(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_FLOW, field AUTOHALT[1] (RW) |
| * |
| * If this field is 1 and WATERMARK is equal to MTB_POSITION[POINTER], then |
| * MTB_MASTER[HALTREQ] is automatically set to 1. If the DBGEN signal is HIGH, the |
| * MTB asserts this halt request to the Cortex-M0+ processor by asserting the |
| * EDBGRQ signal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_FLOW_AUTOHALT field. */ |
| #define MTB_RD_FLOW_AUTOHALT(base) ((MTB_FLOW_REG(base) & MTB_FLOW_AUTOHALT_MASK) >> MTB_FLOW_AUTOHALT_SHIFT) |
| #define MTB_BRD_FLOW_AUTOHALT(base) (MTB_RD_FLOW_AUTOHALT(base)) |
| |
| /*! @brief Set the AUTOHALT field to a new value. */ |
| #define MTB_WR_FLOW_AUTOHALT(base, value) (MTB_RMW_FLOW(base, MTB_FLOW_AUTOHALT_MASK, MTB_FLOW_AUTOHALT(value))) |
| #define MTB_BWR_FLOW_AUTOHALT(base, value) (MTB_WR_FLOW_AUTOHALT(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_FLOW, field WATERMARK[31:3] (RW) |
| * |
| * This field contains an address in the same format as the |
| * MTB_POSITION[POINTER] field. When MTB_POSITION[POINTER] matches the WATERMARK field value, actions |
| * defined by the AUTOHALT and AUTOSTOP bits are performed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_FLOW_WATERMARK field. */ |
| #define MTB_RD_FLOW_WATERMARK(base) ((MTB_FLOW_REG(base) & MTB_FLOW_WATERMARK_MASK) >> MTB_FLOW_WATERMARK_SHIFT) |
| #define MTB_BRD_FLOW_WATERMARK(base) (MTB_RD_FLOW_WATERMARK(base)) |
| |
| /*! @brief Set the WATERMARK field to a new value. */ |
| #define MTB_WR_FLOW_WATERMARK(base, value) (MTB_RMW_FLOW(base, MTB_FLOW_WATERMARK_MASK, MTB_FLOW_WATERMARK(value))) |
| #define MTB_BWR_FLOW_WATERMARK(base, value) (MTB_WR_FLOW_WATERMARK(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_BASE - MTB Base Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_BASE - MTB Base Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The read-only MTB_BASE Register indicates where the RAM is located in the |
| * system memory map. This register is provided to enable auto discovery of the MTB |
| * RAM location, by a debug agent and is defined by a hardware design parameter. |
| * For this device, the base address is defined by the expression: |
| * MTB_BASE[BASEADDR] = 0x2000_0000 - (RAM_Size/4) |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_BASE register |
| */ |
| /*@{*/ |
| #define MTB_RD_BASE(base) (MTB_BASE_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_MODECTRL - Integration Mode Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_MODECTRL - Integration Mode Control Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register enables the device to switch from a functional mode, or default |
| * behavior, into integration mode. It is hardwired to specific values used |
| * during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_MODECTRL register |
| */ |
| /*@{*/ |
| #define MTB_RD_MODECTRL(base) (MTB_MODECTRL_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_TAGSET - Claim TAG Set Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_TAGSET - Claim TAG Set Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Claim Tag Set Register returns the number of bits that can be set on a |
| * read, and enables individual bits to be set on a write. It is hardwired to |
| * specific values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_TAGSET register |
| */ |
| /*@{*/ |
| #define MTB_RD_TAGSET(base) (MTB_TAGSET_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_TAGCLEAR - Claim TAG Clear Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_TAGCLEAR - Claim TAG Clear Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The read/write Claim Tag Clear Register is used to read the claim status on |
| * debug resources. A read indicates the claim tag status. Writing 1 to a specific |
| * bit clears the corresponding claim tag to 0. It is hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_TAGCLEAR register |
| */ |
| /*@{*/ |
| #define MTB_RD_TAGCLEAR(base) (MTB_TAGCLEAR_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_LOCKACCESS - Lock Access Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_LOCKACCESS - Lock Access Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Lock Access Register enables a write access to component registers. It is |
| * hardwired to specific values used during the auto-discovery process by an |
| * external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_LOCKACCESS register |
| */ |
| /*@{*/ |
| #define MTB_RD_LOCKACCESS(base) (MTB_LOCKACCESS_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_LOCKSTAT - Lock Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_LOCKSTAT - Lock Status Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Lock Status Register indicates the status of the lock control mechanism. |
| * This register is used in conjunction with the Lock Access Register. It is |
| * hardwired to specific values used during the auto-discovery process by an external |
| * debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_LOCKSTAT register |
| */ |
| /*@{*/ |
| #define MTB_RD_LOCKSTAT(base) (MTB_LOCKSTAT_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_AUTHSTAT - Authentication Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_AUTHSTAT - Authentication Status Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Authentication Status Register reports the required security level and |
| * current status of the security enable bit pairs. Where functionality changes on |
| * a given security level, this change must be reported in this register. It is |
| * connected to specific signals used during the auto-discovery process by an |
| * external debug agent. MTB_AUTHSTAT[3:2] indicates if nonsecure, noninvasive debug |
| * is enabled or disabled, while MTB_AUTHSTAT[1:0] indicates the enabled/disabled |
| * state of nonsecure, invasive debug. For both 2-bit fields, 0b10 indicates the |
| * functionality is disabled and 0b11 indicates it is enabled. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_AUTHSTAT register |
| */ |
| /*@{*/ |
| #define MTB_RD_AUTHSTAT(base) (MTB_AUTHSTAT_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MTB_AUTHSTAT bitfields |
| */ |
| |
| /*! |
| * @name Register MTB_AUTHSTAT, field BIT0[0] (RO) |
| * |
| * Connected to DBGEN. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_AUTHSTAT_BIT0 field. */ |
| #define MTB_RD_AUTHSTAT_BIT0(base) ((MTB_AUTHSTAT_REG(base) & MTB_AUTHSTAT_BIT0_MASK) >> MTB_AUTHSTAT_BIT0_SHIFT) |
| #define MTB_BRD_AUTHSTAT_BIT0(base) (MTB_RD_AUTHSTAT_BIT0(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_AUTHSTAT, field BIT1[1] (ROO) |
| * |
| * Hardwired to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_AUTHSTAT_BIT1 field. */ |
| #define MTB_RD_AUTHSTAT_BIT1(base) ((MTB_AUTHSTAT_REG(base) & MTB_AUTHSTAT_BIT1_MASK) >> MTB_AUTHSTAT_BIT1_SHIFT) |
| #define MTB_BRD_AUTHSTAT_BIT1(base) (MTB_RD_AUTHSTAT_BIT1(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_AUTHSTAT, field BIT2[2] (RO) |
| * |
| * Connected to NIDEN or DBGEN signal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_AUTHSTAT_BIT2 field. */ |
| #define MTB_RD_AUTHSTAT_BIT2(base) ((MTB_AUTHSTAT_REG(base) & MTB_AUTHSTAT_BIT2_MASK) >> MTB_AUTHSTAT_BIT2_SHIFT) |
| #define MTB_BRD_AUTHSTAT_BIT2(base) (MTB_RD_AUTHSTAT_BIT2(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTB_AUTHSTAT, field BIT3[3] (ROO) |
| * |
| * Hardwired to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTB_AUTHSTAT_BIT3 field. */ |
| #define MTB_RD_AUTHSTAT_BIT3(base) ((MTB_AUTHSTAT_REG(base) & MTB_AUTHSTAT_BIT3_MASK) >> MTB_AUTHSTAT_BIT3_SHIFT) |
| #define MTB_BRD_AUTHSTAT_BIT3(base) (MTB_RD_AUTHSTAT_BIT3(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_DEVICEARCH - Device Architecture Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_DEVICEARCH - Device Architecture Register (RO) |
| * |
| * Reset value: 0x47700A31U |
| * |
| * This register indicates the device architecture. It is hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_DEVICEARCH register |
| */ |
| /*@{*/ |
| #define MTB_RD_DEVICEARCH(base) (MTB_DEVICEARCH_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_DEVICECFG - Device Configuration Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_DEVICECFG - Device Configuration Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register indicates the device configuration. It is hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_DEVICECFG register |
| */ |
| /*@{*/ |
| #define MTB_RD_DEVICECFG(base) (MTB_DEVICECFG_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_DEVICETYPID - Device Type Identifier Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_DEVICETYPID - Device Type Identifier Register (RO) |
| * |
| * Reset value: 0x00000031U |
| * |
| * This register indicates the device type ID. It is hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_DEVICETYPID register |
| */ |
| /*@{*/ |
| #define MTB_RD_DEVICETYPID(base) (MTB_DEVICETYPID_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_PERIPHID - Peripheral ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_PERIPHID - Peripheral ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the peripheral IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_PERIPHID register |
| */ |
| /*@{*/ |
| #define MTB_RD_PERIPHID(base, index) (MTB_PERIPHID_REG(base, index)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTB_COMPID - Component ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTB_COMPID - Component ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the component IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTB_COMPID register |
| */ |
| /*@{*/ |
| #define MTB_RD_COMPID(base, index) (MTB_COMPID_REG(base, index)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 MTBDWT |
| * |
| * MTB data watchpoint and trace |
| * |
| * Registers defined in this header file: |
| * - MTBDWT_CTRL - MTB DWT Control Register |
| * - MTBDWT_COMP - MTB_DWT Comparator Register |
| * - MTBDWT_MASK - MTB_DWT Comparator Mask Register |
| * - MTBDWT_FCT - MTB_DWT Comparator Function Register 0 |
| * - MTBDWT_TBCTRL - MTB_DWT Trace Buffer Control Register |
| * - MTBDWT_DEVICECFG - Device Configuration Register |
| * - MTBDWT_DEVICETYPID - Device Type Identifier Register |
| * - MTBDWT_PERIPHID - Peripheral ID Register |
| * - MTBDWT_COMPID - Component ID Register |
| */ |
| |
| #define MTBDWT_INSTANCE_COUNT (1U) /*!< Number of instances of the MTBDWT module. */ |
| #define MTBDWT_IDX (0U) /*!< Instance number for MTBDWT. */ |
| |
| /******************************************************************************* |
| * MTBDWT_CTRL - MTB DWT Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTBDWT_CTRL - MTB DWT Control Register (RO) |
| * |
| * Reset value: 0x2F000000U |
| * |
| * The MTBDWT_CTRL register provides read-only information on the watchpoint |
| * configuration for the MTB_DWT. |
| */ |
| /*! |
| * @name Constants and macros for entire MTBDWT_CTRL register |
| */ |
| /*@{*/ |
| #define MTBDWT_RD_CTRL(base) (MTBDWT_CTRL_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MTBDWT_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register MTBDWT_CTRL, field DWTCFGCTRL[27:0] (RO) |
| * |
| * This field is hardwired to 0xF00_0000, disabling all the remaining DWT |
| * functionality. The specific fields and their state are: MTBDWT_CTRL[27] = NOTRCPKT = |
| * 1, trace sample and exception trace is not supported MTBDWT_CTRL[26] = |
| * NOEXTTRIG = 1, external match signals are not supported MTBDWT_CTRL[25] = NOCYCCNT = |
| * 1, cycle counter is not supported MTBDWT_CTRL[24] = NOPRFCNT = 1, profiling |
| * counters are not supported MTBDWT_CTRL[22] = CYCEBTENA = 0, no POSTCNT |
| * underflow packets generated MTBDWT_CTRL[21] = FOLDEVTENA = 0, no folded instruction |
| * counter overflow events MTBDWT_CTRL[20] = LSUEVTENA = 0, no LSU counter overflow |
| * events MTBDWT_CTRL[19] = SLEEPEVTENA = 0, no sleep counter overflow events |
| * MTBDWT_CTRL[18] = EXCEVTENA = 0, no exception overhead counter events |
| * MTBDWT_CTRL[17] = CPIEVTENA = 0, no CPI counter overflow events MTBDWT_CTRL[16] = |
| * EXCTRCENA = 0, generation of exception trace disabled MTBDWT_CTRL[12] = PCSAMPLENA = |
| * 0, no periodic PC sample packets generated MTBDWT_CTRL[11:10] = SYNCTAP = 0, |
| * no synchronization packets MTBDWT_CTRL[9] = CYCTAP = 0, cycle counter is not |
| * supported MTBDWT_CTRL[8:5] = POSTINIT = 0, cycle counter is not supported |
| * MTBDWT_CTRL[4:1] = POSTPRESET = 0, cycle counter is not supported MTBDWT_CTRL[0] = |
| * CYCCNTENA = 0, cycle counter is not supported |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_CTRL_DWTCFGCTRL field. */ |
| #define MTBDWT_RD_CTRL_DWTCFGCTRL(base) ((MTBDWT_CTRL_REG(base) & MTBDWT_CTRL_DWTCFGCTRL_MASK) >> MTBDWT_CTRL_DWTCFGCTRL_SHIFT) |
| #define MTBDWT_BRD_CTRL_DWTCFGCTRL(base) (MTBDWT_RD_CTRL_DWTCFGCTRL(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTBDWT_CTRL, field NUMCMP[31:28] (RO) |
| * |
| * The MTB_DWT implements two comparators. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_CTRL_NUMCMP field. */ |
| #define MTBDWT_RD_CTRL_NUMCMP(base) ((MTBDWT_CTRL_REG(base) & MTBDWT_CTRL_NUMCMP_MASK) >> MTBDWT_CTRL_NUMCMP_SHIFT) |
| #define MTBDWT_BRD_CTRL_NUMCMP(base) (MTBDWT_RD_CTRL_NUMCMP(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTBDWT_COMP - MTB_DWT Comparator Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTBDWT_COMP - MTB_DWT Comparator Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The MTBDWT_COMPn registers provide the reference value for comparator n. |
| */ |
| /*! |
| * @name Constants and macros for entire MTBDWT_COMP register |
| */ |
| /*@{*/ |
| #define MTBDWT_RD_COMP(base, index) (MTBDWT_COMP_REG(base, index)) |
| #define MTBDWT_WR_COMP(base, index, value) (MTBDWT_COMP_REG(base, index) = (value)) |
| #define MTBDWT_RMW_COMP(base, index, mask, value) (MTBDWT_WR_COMP(base, index, (MTBDWT_RD_COMP(base, index) & ~(mask)) | (value))) |
| #define MTBDWT_SET_COMP(base, index, value) (MTBDWT_WR_COMP(base, index, MTBDWT_RD_COMP(base, index) | (value))) |
| #define MTBDWT_CLR_COMP(base, index, value) (MTBDWT_WR_COMP(base, index, MTBDWT_RD_COMP(base, index) & ~(value))) |
| #define MTBDWT_TOG_COMP(base, index, value) (MTBDWT_WR_COMP(base, index, MTBDWT_RD_COMP(base, index) ^ (value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTBDWT_MASK - MTB_DWT Comparator Mask Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTBDWT_MASK - MTB_DWT Comparator Mask Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The MTBDWT_MASKn registers define the size of the ignore mask applied to the |
| * reference address for address range matching by comparator n. Note the format |
| * of this mask field is different than the MTB_MASTER[MASK]. |
| */ |
| /*! |
| * @name Constants and macros for entire MTBDWT_MASK register |
| */ |
| /*@{*/ |
| #define MTBDWT_RD_MASK(base, index) (MTBDWT_MASK_REG(base, index)) |
| #define MTBDWT_WR_MASK(base, index, value) (MTBDWT_MASK_REG(base, index) = (value)) |
| #define MTBDWT_RMW_MASK(base, index, mask, value) (MTBDWT_WR_MASK(base, index, (MTBDWT_RD_MASK(base, index) & ~(mask)) | (value))) |
| #define MTBDWT_SET_MASK(base, index, value) (MTBDWT_WR_MASK(base, index, MTBDWT_RD_MASK(base, index) | (value))) |
| #define MTBDWT_CLR_MASK(base, index, value) (MTBDWT_WR_MASK(base, index, MTBDWT_RD_MASK(base, index) & ~(value))) |
| #define MTBDWT_TOG_MASK(base, index, value) (MTBDWT_WR_MASK(base, index, MTBDWT_RD_MASK(base, index) ^ (value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MTBDWT_MASK bitfields |
| */ |
| |
| /*! |
| * @name Register MTBDWT_MASK, field MASK[4:0] (RW) |
| * |
| * The value of the ignore mask, 0-31 bits, is applied to address range |
| * matching. MASK = 0 is used to include all bits of the address in the comparison, |
| * except if MASK = 0 and the comparator is configured to watch instruction fetch |
| * addresses, address bit [0] is ignored by the hardware since all fetches must be at |
| * least halfword aligned. For MASK != 0 and regardless of watch type, address |
| * bits [x-1:0] are ignored in the address comparison. Using a mask means the |
| * comparator matches on a range of addresses, defined by the unmasked most |
| * significant bits of the address, bits [31:x]. The maximum MASK value is 24, producing a |
| * 16 Mbyte mask. An attempted write of a MASK value > 24 is limited by the |
| * MTBDWT hardware to 24. If MTBDWT_COMP0 is used as a data value comparator, then |
| * MTBDWT_MASK0 should be programmed to zero. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_MASK_MASK field. */ |
| #define MTBDWT_RD_MASK_MASK(base, index) ((MTBDWT_MASK_REG(base, index) & MTBDWT_MASK_MASK_MASK) >> MTBDWT_MASK_MASK_SHIFT) |
| #define MTBDWT_BRD_MASK_MASK(base, index) (MTBDWT_RD_MASK_MASK(base, index)) |
| |
| /*! @brief Set the MASK field to a new value. */ |
| #define MTBDWT_WR_MASK_MASK(base, index, value) (MTBDWT_RMW_MASK(base, index, MTBDWT_MASK_MASK_MASK, MTBDWT_MASK_MASK(value))) |
| #define MTBDWT_BWR_MASK_MASK(base, index, value) (MTBDWT_WR_MASK_MASK(base, index, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTBDWT_FCT - MTB_DWT Comparator Function Register 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTBDWT_FCT - MTB_DWT Comparator Function Register 0 (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The MTBDWT_FCTn registers control the operation of comparator n. |
| */ |
| /*! |
| * @name Constants and macros for entire MTBDWT_FCT register |
| */ |
| /*@{*/ |
| #define MTBDWT_RD_FCT(base, index) (MTBDWT_FCT_REG(base, index)) |
| #define MTBDWT_WR_FCT(base, index, value) (MTBDWT_FCT_REG(base, index) = (value)) |
| #define MTBDWT_RMW_FCT(base, index, mask, value) (MTBDWT_WR_FCT(base, index, (MTBDWT_RD_FCT(base, index) & ~(mask)) | (value))) |
| #define MTBDWT_SET_FCT(base, index, value) (MTBDWT_WR_FCT(base, index, MTBDWT_RD_FCT(base, index) | (value))) |
| #define MTBDWT_CLR_FCT(base, index, value) (MTBDWT_WR_FCT(base, index, MTBDWT_RD_FCT(base, index) & ~(value))) |
| #define MTBDWT_TOG_FCT(base, index, value) (MTBDWT_WR_FCT(base, index, MTBDWT_RD_FCT(base, index) ^ (value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MTBDWT_FCT bitfields |
| */ |
| |
| /*! |
| * @name Register MTBDWT_FCT, field FUNCTION[3:0] (RW) |
| * |
| * Selects the action taken on a comparator match. If MTBDWT_COMP0 is used for a |
| * data value and MTBDWT_COMP1 for an address value, then MTBDWT_FCT1[FUNCTION] |
| * must be set to zero. For this configuration, MTBDWT_MASK1 can be set to a |
| * non-zero value, so the combined comparators match on a range of addresses. |
| * |
| * Values: |
| * - 0b0000 - Disabled. |
| * - 0b0100 - Instruction fetch. |
| * - 0b0101 - Data operand read. |
| * - 0b0110 - Data operand write. |
| * - 0b0111 - Data operand (read + write). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_FCT_FUNCTION field. */ |
| #define MTBDWT_RD_FCT_FUNCTION(base, index) ((MTBDWT_FCT_REG(base, index) & MTBDWT_FCT_FUNCTION_MASK) >> MTBDWT_FCT_FUNCTION_SHIFT) |
| #define MTBDWT_BRD_FCT_FUNCTION(base, index) (MTBDWT_RD_FCT_FUNCTION(base, index)) |
| |
| /*! @brief Set the FUNCTION field to a new value. */ |
| #define MTBDWT_WR_FCT_FUNCTION(base, index, value) (MTBDWT_RMW_FCT(base, index, MTBDWT_FCT_FUNCTION_MASK, MTBDWT_FCT_FUNCTION(value))) |
| #define MTBDWT_BWR_FCT_FUNCTION(base, index, value) (MTBDWT_WR_FCT_FUNCTION(base, index, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTBDWT_FCT, field DATAVMATCH[8] (RW) |
| * |
| * When this field is 1, it enables data value comparison. For this |
| * implementation, MTBDWT_COMP0 supports address or data value comparisons; MTBDWT_COMP1 only |
| * supports address comparisons. |
| * |
| * Values: |
| * - 0b0 - Perform address comparison. |
| * - 0b1 - Perform data value comparison. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_FCT_DATAVMATCH field. */ |
| #define MTBDWT_RD_FCT_DATAVMATCH(base, index) ((MTBDWT_FCT_REG(base, index) & MTBDWT_FCT_DATAVMATCH_MASK) >> MTBDWT_FCT_DATAVMATCH_SHIFT) |
| #define MTBDWT_BRD_FCT_DATAVMATCH(base, index) (MTBDWT_RD_FCT_DATAVMATCH(base, index)) |
| |
| /*! @brief Set the DATAVMATCH field to a new value. */ |
| #define MTBDWT_WR_FCT_DATAVMATCH(base, index, value) (MTBDWT_RMW_FCT(base, index, MTBDWT_FCT_DATAVMATCH_MASK, MTBDWT_FCT_DATAVMATCH(value))) |
| #define MTBDWT_BWR_FCT_DATAVMATCH(base, index, value) (MTBDWT_WR_FCT_DATAVMATCH(base, index, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTBDWT_FCT, field DATAVSIZE[11:10] (RW) |
| * |
| * For data value matching, this field defines the size of the required data |
| * comparison. |
| * |
| * Values: |
| * - 0b00 - Byte. |
| * - 0b01 - Halfword. |
| * - 0b10 - Word. |
| * - 0b11 - Reserved. Any attempts to use this value results in UNPREDICTABLE |
| * behavior. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_FCT_DATAVSIZE field. */ |
| #define MTBDWT_RD_FCT_DATAVSIZE(base, index) ((MTBDWT_FCT_REG(base, index) & MTBDWT_FCT_DATAVSIZE_MASK) >> MTBDWT_FCT_DATAVSIZE_SHIFT) |
| #define MTBDWT_BRD_FCT_DATAVSIZE(base, index) (MTBDWT_RD_FCT_DATAVSIZE(base, index)) |
| |
| /*! @brief Set the DATAVSIZE field to a new value. */ |
| #define MTBDWT_WR_FCT_DATAVSIZE(base, index, value) (MTBDWT_RMW_FCT(base, index, MTBDWT_FCT_DATAVSIZE_MASK, MTBDWT_FCT_DATAVSIZE(value))) |
| #define MTBDWT_BWR_FCT_DATAVSIZE(base, index, value) (MTBDWT_WR_FCT_DATAVSIZE(base, index, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTBDWT_FCT, field DATAVADDR0[15:12] (RW) |
| * |
| * Since the MTB_DWT implements two comparators, the DATAVADDR0 field is |
| * restricted to values {0,1}. When the DATAVMATCH bit is asserted, this field defines |
| * the comparator number to use for linked address comparison. If MTBDWT_COMP0 is |
| * used as a data watchpoint and MTBDWT_COMP1 as an address watchpoint, |
| * DATAVADDR0 must be set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_FCT_DATAVADDR0 field. */ |
| #define MTBDWT_RD_FCT_DATAVADDR0(base, index) ((MTBDWT_FCT_REG(base, index) & MTBDWT_FCT_DATAVADDR0_MASK) >> MTBDWT_FCT_DATAVADDR0_SHIFT) |
| #define MTBDWT_BRD_FCT_DATAVADDR0(base, index) (MTBDWT_RD_FCT_DATAVADDR0(base, index)) |
| |
| /*! @brief Set the DATAVADDR0 field to a new value. */ |
| #define MTBDWT_WR_FCT_DATAVADDR0(base, index, value) (MTBDWT_RMW_FCT(base, index, MTBDWT_FCT_DATAVADDR0_MASK, MTBDWT_FCT_DATAVADDR0(value))) |
| #define MTBDWT_BWR_FCT_DATAVADDR0(base, index, value) (MTBDWT_WR_FCT_DATAVADDR0(base, index, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTBDWT_FCT, field MATCHED[24] (RO) |
| * |
| * If this read-only flag is asserted, it indicates the operation defined by the |
| * FUNCTION field occurred since the last read of the register. Reading the |
| * register clears this bit. |
| * |
| * Values: |
| * - 0b0 - No match. |
| * - 0b1 - Match occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_FCT_MATCHED field. */ |
| #define MTBDWT_RD_FCT_MATCHED(base, index) ((MTBDWT_FCT_REG(base, index) & MTBDWT_FCT_MATCHED_MASK) >> MTBDWT_FCT_MATCHED_SHIFT) |
| #define MTBDWT_BRD_FCT_MATCHED(base, index) (MTBDWT_RD_FCT_MATCHED(base, index)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTBDWT_TBCTRL - MTB_DWT Trace Buffer Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTBDWT_TBCTRL - MTB_DWT Trace Buffer Control Register (RW) |
| * |
| * Reset value: 0x20000000U |
| * |
| * The MTBDWT_TBCTRL register defines how the watchpoint comparisons control the |
| * actual trace buffer operation. Recall the MTB supports starting and stopping |
| * the program trace based on the watchpoint comparisons signaled via TSTART and |
| * TSTOP. The watchpoint comparison signals are enabled in the MTB's control |
| * logic by setting the appropriate enable bits, MTB_MASTER[TSTARTEN, TSTOPEN]. In |
| * the event of simultaneous assertion of both TSTART and TSTOP, TSTART takes |
| * priority. |
| */ |
| /*! |
| * @name Constants and macros for entire MTBDWT_TBCTRL register |
| */ |
| /*@{*/ |
| #define MTBDWT_RD_TBCTRL(base) (MTBDWT_TBCTRL_REG(base)) |
| #define MTBDWT_WR_TBCTRL(base, value) (MTBDWT_TBCTRL_REG(base) = (value)) |
| #define MTBDWT_RMW_TBCTRL(base, mask, value) (MTBDWT_WR_TBCTRL(base, (MTBDWT_RD_TBCTRL(base) & ~(mask)) | (value))) |
| #define MTBDWT_SET_TBCTRL(base, value) (MTBDWT_WR_TBCTRL(base, MTBDWT_RD_TBCTRL(base) | (value))) |
| #define MTBDWT_CLR_TBCTRL(base, value) (MTBDWT_WR_TBCTRL(base, MTBDWT_RD_TBCTRL(base) & ~(value))) |
| #define MTBDWT_TOG_TBCTRL(base, value) (MTBDWT_WR_TBCTRL(base, MTBDWT_RD_TBCTRL(base) ^ (value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual MTBDWT_TBCTRL bitfields |
| */ |
| |
| /*! |
| * @name Register MTBDWT_TBCTRL, field ACOMP0[0] (RW) |
| * |
| * When the MTBDWT_FCT0[MATCHED] is set, it indicates MTBDWT_COMP0 address |
| * compare has triggered and the trace buffer's recording state is changed. The |
| * assertion of MTBDWT_FCT0[MATCHED] is caused by the following conditions: Address |
| * match in MTBDWT_COMP0 when MTBDWT_FCT0[DATAVMATCH] = 0 Data match in MTBDWT_COMP0 |
| * when MTBDWT_FCT0[DATAVMATCH, DATAVADDR0] = {1,0} Data match in MTBDWT_COMP0 |
| * and address match in MTBDWT_COMP1 when MTBDWT_FCT0[DATAVMATCH, DATAVADDR0] = |
| * {1,1} |
| * |
| * Values: |
| * - 0b0 - Trigger TSTOP based on the assertion of MTBDWT_FCT0[MATCHED]. |
| * - 0b1 - Trigger TSTART based on the assertion of MTBDWT_FCT0[MATCHED]. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_TBCTRL_ACOMP0 field. */ |
| #define MTBDWT_RD_TBCTRL_ACOMP0(base) ((MTBDWT_TBCTRL_REG(base) & MTBDWT_TBCTRL_ACOMP0_MASK) >> MTBDWT_TBCTRL_ACOMP0_SHIFT) |
| #define MTBDWT_BRD_TBCTRL_ACOMP0(base) (MTBDWT_RD_TBCTRL_ACOMP0(base)) |
| |
| /*! @brief Set the ACOMP0 field to a new value. */ |
| #define MTBDWT_WR_TBCTRL_ACOMP0(base, value) (MTBDWT_RMW_TBCTRL(base, MTBDWT_TBCTRL_ACOMP0_MASK, MTBDWT_TBCTRL_ACOMP0(value))) |
| #define MTBDWT_BWR_TBCTRL_ACOMP0(base, value) (MTBDWT_WR_TBCTRL_ACOMP0(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTBDWT_TBCTRL, field ACOMP1[1] (RW) |
| * |
| * When the MTBDWT_FCT1[MATCHED] is set, it indicates MTBDWT_COMP1 address |
| * compare has triggered and the trace buffer's recording state is changed. |
| * |
| * Values: |
| * - 0b0 - Trigger TSTOP based on the assertion of MTBDWT_FCT1[MATCHED]. |
| * - 0b1 - Trigger TSTART based on the assertion of MTBDWT_FCT1[MATCHED]. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_TBCTRL_ACOMP1 field. */ |
| #define MTBDWT_RD_TBCTRL_ACOMP1(base) ((MTBDWT_TBCTRL_REG(base) & MTBDWT_TBCTRL_ACOMP1_MASK) >> MTBDWT_TBCTRL_ACOMP1_SHIFT) |
| #define MTBDWT_BRD_TBCTRL_ACOMP1(base) (MTBDWT_RD_TBCTRL_ACOMP1(base)) |
| |
| /*! @brief Set the ACOMP1 field to a new value. */ |
| #define MTBDWT_WR_TBCTRL_ACOMP1(base, value) (MTBDWT_RMW_TBCTRL(base, MTBDWT_TBCTRL_ACOMP1_MASK, MTBDWT_TBCTRL_ACOMP1(value))) |
| #define MTBDWT_BWR_TBCTRL_ACOMP1(base, value) (MTBDWT_WR_TBCTRL_ACOMP1(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register MTBDWT_TBCTRL, field NUMCOMP[31:28] (RO) |
| * |
| * This read-only field specifies the number of comparators in the MTB_DWT. This |
| * implementation includes two registers. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the MTBDWT_TBCTRL_NUMCOMP field. */ |
| #define MTBDWT_RD_TBCTRL_NUMCOMP(base) ((MTBDWT_TBCTRL_REG(base) & MTBDWT_TBCTRL_NUMCOMP_MASK) >> MTBDWT_TBCTRL_NUMCOMP_SHIFT) |
| #define MTBDWT_BRD_TBCTRL_NUMCOMP(base) (MTBDWT_RD_TBCTRL_NUMCOMP(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTBDWT_DEVICECFG - Device Configuration Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTBDWT_DEVICECFG - Device Configuration Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register indicates the device configuration. It is hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTBDWT_DEVICECFG register |
| */ |
| /*@{*/ |
| #define MTBDWT_RD_DEVICECFG(base) (MTBDWT_DEVICECFG_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTBDWT_DEVICETYPID - Device Type Identifier Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTBDWT_DEVICETYPID - Device Type Identifier Register (RO) |
| * |
| * Reset value: 0x00000004U |
| * |
| * This register indicates the device type ID. It is hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTBDWT_DEVICETYPID register |
| */ |
| /*@{*/ |
| #define MTBDWT_RD_DEVICETYPID(base) (MTBDWT_DEVICETYPID_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTBDWT_PERIPHID - Peripheral ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTBDWT_PERIPHID - Peripheral ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the peripheral IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTBDWT_PERIPHID register |
| */ |
| /*@{*/ |
| #define MTBDWT_RD_PERIPHID(base, index) (MTBDWT_PERIPHID_REG(base, index)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * MTBDWT_COMPID - Component ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief MTBDWT_COMPID - Component ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the component IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire MTBDWT_COMPID register |
| */ |
| /*@{*/ |
| #define MTBDWT_RD_COMPID(base, index) (MTBDWT_COMPID_REG(base, index)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 NV |
| * |
| * Flash configuration field |
| * |
| * Registers defined in this header file: |
| * - NV_BACKKEY3 - Backdoor Comparison Key 3. |
| * - NV_BACKKEY2 - Backdoor Comparison Key 2. |
| * - NV_BACKKEY1 - Backdoor Comparison Key 1. |
| * - NV_BACKKEY0 - Backdoor Comparison Key 0. |
| * - NV_BACKKEY7 - Backdoor Comparison Key 7. |
| * - NV_BACKKEY6 - Backdoor Comparison Key 6. |
| * - NV_BACKKEY5 - Backdoor Comparison Key 5. |
| * - NV_BACKKEY4 - Backdoor Comparison Key 4. |
| * - NV_FPROT3 - Non-volatile P-Flash Protection 1 - Low Register |
| * - NV_FPROT2 - Non-volatile P-Flash Protection 1 - High Register |
| * - NV_FPROT1 - Non-volatile P-Flash Protection 0 - Low Register |
| * - NV_FPROT0 - Non-volatile P-Flash Protection 0 - High Register |
| * - NV_FSEC - Non-volatile Flash Security Register |
| * - NV_FOPT - Non-volatile Flash Option Register |
| */ |
| |
| #define NV_INSTANCE_COUNT (1U) /*!< Number of instances of the NV module. */ |
| #define FTFA_FlashConfig_IDX (0U) /*!< Instance number for FTFA_FlashConfig. */ |
| |
| /******************************************************************************* |
| * NV_BACKKEY3 - Backdoor Comparison Key 3. |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_BACKKEY3 - Backdoor Comparison Key 3. (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_BACKKEY3 register |
| */ |
| /*@{*/ |
| #define NV_RD_BACKKEY3(base) (NV_BACKKEY3_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_BACKKEY2 - Backdoor Comparison Key 2. |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_BACKKEY2 - Backdoor Comparison Key 2. (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_BACKKEY2 register |
| */ |
| /*@{*/ |
| #define NV_RD_BACKKEY2(base) (NV_BACKKEY2_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_BACKKEY1 - Backdoor Comparison Key 1. |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_BACKKEY1 - Backdoor Comparison Key 1. (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_BACKKEY1 register |
| */ |
| /*@{*/ |
| #define NV_RD_BACKKEY1(base) (NV_BACKKEY1_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_BACKKEY0 - Backdoor Comparison Key 0. |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_BACKKEY0 - Backdoor Comparison Key 0. (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_BACKKEY0 register |
| */ |
| /*@{*/ |
| #define NV_RD_BACKKEY0(base) (NV_BACKKEY0_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_BACKKEY7 - Backdoor Comparison Key 7. |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_BACKKEY7 - Backdoor Comparison Key 7. (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_BACKKEY7 register |
| */ |
| /*@{*/ |
| #define NV_RD_BACKKEY7(base) (NV_BACKKEY7_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_BACKKEY6 - Backdoor Comparison Key 6. |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_BACKKEY6 - Backdoor Comparison Key 6. (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_BACKKEY6 register |
| */ |
| /*@{*/ |
| #define NV_RD_BACKKEY6(base) (NV_BACKKEY6_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_BACKKEY5 - Backdoor Comparison Key 5. |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_BACKKEY5 - Backdoor Comparison Key 5. (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_BACKKEY5 register |
| */ |
| /*@{*/ |
| #define NV_RD_BACKKEY5(base) (NV_BACKKEY5_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_BACKKEY4 - Backdoor Comparison Key 4. |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_BACKKEY4 - Backdoor Comparison Key 4. (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_BACKKEY4 register |
| */ |
| /*@{*/ |
| #define NV_RD_BACKKEY4(base) (NV_BACKKEY4_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_FPROT3 - Non-volatile P-Flash Protection 1 - Low Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_FPROT3 - Non-volatile P-Flash Protection 1 - Low Register (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_FPROT3 register |
| */ |
| /*@{*/ |
| #define NV_RD_FPROT3(base) (NV_FPROT3_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_FPROT2 - Non-volatile P-Flash Protection 1 - High Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_FPROT2 - Non-volatile P-Flash Protection 1 - High Register (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_FPROT2 register |
| */ |
| /*@{*/ |
| #define NV_RD_FPROT2(base) (NV_FPROT2_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_FPROT1 - Non-volatile P-Flash Protection 0 - Low Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_FPROT1 - Non-volatile P-Flash Protection 0 - Low Register (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_FPROT1 register |
| */ |
| /*@{*/ |
| #define NV_RD_FPROT1(base) (NV_FPROT1_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_FPROT0 - Non-volatile P-Flash Protection 0 - High Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_FPROT0 - Non-volatile P-Flash Protection 0 - High Register (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_FPROT0 register |
| */ |
| /*@{*/ |
| #define NV_RD_FPROT0(base) (NV_FPROT0_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_FSEC - Non-volatile Flash Security Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_FSEC - Non-volatile Flash Security Register (RO) |
| * |
| * Reset value: 0xFFU |
| * |
| * Allows the user to customize the operation of the MCU at boot time |
| */ |
| /*! |
| * @name Constants and macros for entire NV_FSEC register |
| */ |
| /*@{*/ |
| #define NV_RD_FSEC(base) (NV_FSEC_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual NV_FSEC bitfields |
| */ |
| |
| /*! |
| * @name Register NV_FSEC, field SEC[1:0] (RO) |
| * |
| * Values: |
| * - 0b10 - MCU security status is unsecure |
| * - 0b11 - MCU security status is secure |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the NV_FSEC_SEC field. */ |
| #define NV_RD_FSEC_SEC(base) ((NV_FSEC_REG(base) & NV_FSEC_SEC_MASK) >> NV_FSEC_SEC_SHIFT) |
| #define NV_BRD_FSEC_SEC(base) (NV_RD_FSEC_SEC(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register NV_FSEC, field FSLACC[3:2] (RO) |
| * |
| * Values: |
| * - 0b10 - Freescale factory access denied |
| * - 0b11 - Freescale factory access granted |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the NV_FSEC_FSLACC field. */ |
| #define NV_RD_FSEC_FSLACC(base) ((NV_FSEC_REG(base) & NV_FSEC_FSLACC_MASK) >> NV_FSEC_FSLACC_SHIFT) |
| #define NV_BRD_FSEC_FSLACC(base) (NV_RD_FSEC_FSLACC(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register NV_FSEC, field MEEN[5:4] (RO) |
| * |
| * Values: |
| * - 0b10 - Mass erase is disabled |
| * - 0b11 - Mass erase is enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the NV_FSEC_MEEN field. */ |
| #define NV_RD_FSEC_MEEN(base) ((NV_FSEC_REG(base) & NV_FSEC_MEEN_MASK) >> NV_FSEC_MEEN_SHIFT) |
| #define NV_BRD_FSEC_MEEN(base) (NV_RD_FSEC_MEEN(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register NV_FSEC, field KEYEN[7:6] (RO) |
| * |
| * Values: |
| * - 0b10 - Backdoor key access enabled |
| * - 0b11 - Backdoor key access disabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the NV_FSEC_KEYEN field. */ |
| #define NV_RD_FSEC_KEYEN(base) ((NV_FSEC_REG(base) & NV_FSEC_KEYEN_MASK) >> NV_FSEC_KEYEN_SHIFT) |
| #define NV_BRD_FSEC_KEYEN(base) (NV_RD_FSEC_KEYEN(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * NV_FOPT - Non-volatile Flash Option Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief NV_FOPT - Non-volatile Flash Option Register (RO) |
| * |
| * Reset value: 0xFFU |
| */ |
| /*! |
| * @name Constants and macros for entire NV_FOPT register |
| */ |
| /*@{*/ |
| #define NV_RD_FOPT(base) (NV_FOPT_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual NV_FOPT bitfields |
| */ |
| |
| /*! |
| * @name Register NV_FOPT, field LPBOOT0[0] (RO) |
| * |
| * Values: |
| * - 0b0 - Core and system clock divider (OUTDIV1) is 0x7 (divide by 8) when |
| * LPBOOT1=0 or 0x1 (divide by 2) when LPBOOT1=1. |
| * - 0b1 - Core and system clock divider (OUTDIV1) is 0x3 (divide by 4) when |
| * LPBOOT1=0 or 0x0 (divide by 1) when LPBOOT1=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the NV_FOPT_LPBOOT0 field. */ |
| #define NV_RD_FOPT_LPBOOT0(base) ((NV_FOPT_REG(base) & NV_FOPT_LPBOOT0_MASK) >> NV_FOPT_LPBOOT0_SHIFT) |
| #define NV_BRD_FOPT_LPBOOT0(base) (NV_RD_FOPT_LPBOOT0(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register NV_FOPT, field NMI_DIS[2] (RO) |
| * |
| * Values: |
| * - 0b0 - NMI interrupts are always blocked |
| * - 0b1 - NMI_b pin/interrupts reset default to enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the NV_FOPT_NMI_DIS field. */ |
| #define NV_RD_FOPT_NMI_DIS(base) ((NV_FOPT_REG(base) & NV_FOPT_NMI_DIS_MASK) >> NV_FOPT_NMI_DIS_SHIFT) |
| #define NV_BRD_FOPT_NMI_DIS(base) (NV_RD_FOPT_NMI_DIS(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register NV_FOPT, field RESET_PIN_CFG[3] (RO) |
| * |
| * Values: |
| * - 0b0 - RESET pin is disabled following a POR and cannot be enabled as reset |
| * function |
| * - 0b1 - RESET_b pin is dedicated |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the NV_FOPT_RESET_PIN_CFG field. */ |
| #define NV_RD_FOPT_RESET_PIN_CFG(base) ((NV_FOPT_REG(base) & NV_FOPT_RESET_PIN_CFG_MASK) >> NV_FOPT_RESET_PIN_CFG_SHIFT) |
| #define NV_BRD_FOPT_RESET_PIN_CFG(base) (NV_RD_FOPT_RESET_PIN_CFG(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register NV_FOPT, field LPBOOT1[4] (RO) |
| * |
| * Values: |
| * - 0b0 - Core and system clock divider (OUTDIV1) is 0x7 (divide by 8) when |
| * LPBOOT0=0 or 0x3 (divide by 4) when LPBOOT0=1. |
| * - 0b1 - Core and system clock divider (OUTDIV1) is 0x1 (divide by 2) when |
| * LPBOOT0=0 or 0x0 (divide by 1) when LPBOOT0=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the NV_FOPT_LPBOOT1 field. */ |
| #define NV_RD_FOPT_LPBOOT1(base) ((NV_FOPT_REG(base) & NV_FOPT_LPBOOT1_MASK) >> NV_FOPT_LPBOOT1_SHIFT) |
| #define NV_BRD_FOPT_LPBOOT1(base) (NV_RD_FOPT_LPBOOT1(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register NV_FOPT, field FAST_INIT[5] (RO) |
| * |
| * Values: |
| * - 0b0 - Slower initialization |
| * - 0b1 - Fast Initialization |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the NV_FOPT_FAST_INIT field. */ |
| #define NV_RD_FOPT_FAST_INIT(base) ((NV_FOPT_REG(base) & NV_FOPT_FAST_INIT_MASK) >> NV_FOPT_FAST_INIT_SHIFT) |
| #define NV_BRD_FOPT_FAST_INIT(base) (NV_RD_FOPT_FAST_INIT(base)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 PIT |
| * |
| * Periodic Interrupt Timer |
| * |
| * Registers defined in this header file: |
| * - PIT_MCR - PIT Module Control Register |
| * - PIT_LTMR64H - PIT Upper Lifetime Timer Register |
| * - PIT_LTMR64L - PIT Lower Lifetime Timer Register |
| * - PIT_LDVAL - Timer Load Value Register |
| * - PIT_CVAL - Current Timer Value Register |
| * - PIT_TCTRL - Timer Control Register |
| * - PIT_TFLG - Timer Flag Register |
| */ |
| |
| #define PIT_INSTANCE_COUNT (1U) /*!< Number of instances of the PIT module. */ |
| #define PIT_IDX (0U) /*!< Instance number for PIT. */ |
| |
| /******************************************************************************* |
| * PIT_MCR - PIT Module Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PIT_MCR - PIT Module Control Register (RW) |
| * |
| * Reset value: 0x00000006U |
| * |
| * This register enables or disables the PIT timer clocks and controls the |
| * timers when the PIT enters the Debug mode. The clock gating function of the MDIS |
| * bit is described in more detail in the integraton guide. Access: User read/write |
| */ |
| /*! |
| * @name Constants and macros for entire PIT_MCR register |
| */ |
| /*@{*/ |
| #define PIT_RD_MCR(base) (PIT_MCR_REG(base)) |
| #define PIT_WR_MCR(base, value) (PIT_MCR_REG(base) = (value)) |
| #define PIT_RMW_MCR(base, mask, value) (PIT_WR_MCR(base, (PIT_RD_MCR(base) & ~(mask)) | (value))) |
| #define PIT_SET_MCR(base, value) (BME_OR32(&PIT_MCR_REG(base), (uint32_t)(value))) |
| #define PIT_CLR_MCR(base, value) (BME_AND32(&PIT_MCR_REG(base), (uint32_t)(~(value)))) |
| #define PIT_TOG_MCR(base, value) (BME_XOR32(&PIT_MCR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual PIT_MCR bitfields |
| */ |
| |
| /*! |
| * @name Register PIT_MCR, field FRZ[0] (RW) |
| * |
| * Allows the timers to be stopped when the device enters the Debug mode. |
| * |
| * Values: |
| * - 0b0 - Timers continue to run in Debug mode. |
| * - 0b1 - Timers are stopped in Debug mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PIT_MCR_FRZ field. */ |
| #define PIT_RD_MCR_FRZ(base) ((PIT_MCR_REG(base) & PIT_MCR_FRZ_MASK) >> PIT_MCR_FRZ_SHIFT) |
| #define PIT_BRD_MCR_FRZ(base) (BME_UBFX32(&PIT_MCR_REG(base), PIT_MCR_FRZ_SHIFT, PIT_MCR_FRZ_WIDTH)) |
| |
| /*! @brief Set the FRZ field to a new value. */ |
| #define PIT_WR_MCR_FRZ(base, value) (PIT_RMW_MCR(base, PIT_MCR_FRZ_MASK, PIT_MCR_FRZ(value))) |
| #define PIT_BWR_MCR_FRZ(base, value) (BME_BFI32(&PIT_MCR_REG(base), ((uint32_t)(value) << PIT_MCR_FRZ_SHIFT), PIT_MCR_FRZ_SHIFT, PIT_MCR_FRZ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PIT_MCR, field MDIS[1] (RW) |
| * |
| * Disables the standard timers. This field must be enabled before any other |
| * setup is done. |
| * |
| * Values: |
| * - 0b0 - Clock for standard PIT timers is enabled. |
| * - 0b1 - Clock for standard PIT timers is disabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PIT_MCR_MDIS field. */ |
| #define PIT_RD_MCR_MDIS(base) ((PIT_MCR_REG(base) & PIT_MCR_MDIS_MASK) >> PIT_MCR_MDIS_SHIFT) |
| #define PIT_BRD_MCR_MDIS(base) (BME_UBFX32(&PIT_MCR_REG(base), PIT_MCR_MDIS_SHIFT, PIT_MCR_MDIS_WIDTH)) |
| |
| /*! @brief Set the MDIS field to a new value. */ |
| #define PIT_WR_MCR_MDIS(base, value) (PIT_RMW_MCR(base, PIT_MCR_MDIS_MASK, PIT_MCR_MDIS(value))) |
| #define PIT_BWR_MCR_MDIS(base, value) (BME_BFI32(&PIT_MCR_REG(base), ((uint32_t)(value) << PIT_MCR_MDIS_SHIFT), PIT_MCR_MDIS_SHIFT, PIT_MCR_MDIS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PIT_LTMR64H - PIT Upper Lifetime Timer Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PIT_LTMR64H - PIT Upper Lifetime Timer Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register is intended for applications that chain timer 0 and timer 1 to |
| * build a 64-bit lifetimer. Access: User read only |
| */ |
| /*! |
| * @name Constants and macros for entire PIT_LTMR64H register |
| */ |
| /*@{*/ |
| #define PIT_RD_LTMR64H(base) (PIT_LTMR64H_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PIT_LTMR64L - PIT Lower Lifetime Timer Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PIT_LTMR64L - PIT Lower Lifetime Timer Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register is intended for applications that chain timer 0 and timer 1 to |
| * build a 64-bit lifetimer. To use LTMR64H and LTMR64L, timer 0 and timer 1 need |
| * to be chained. To obtain the correct value, first read LTMR64H and then |
| * LTMR64L. LTMR64H will have the value of CVAL1 at the time of the first access, |
| * LTMR64L will have the value of CVAL0 at the time of the first access, therefore |
| * the application does not need to worry about carry-over effects of the running |
| * counter. Access: User read only |
| */ |
| /*! |
| * @name Constants and macros for entire PIT_LTMR64L register |
| */ |
| /*@{*/ |
| #define PIT_RD_LTMR64L(base) (PIT_LTMR64L_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PIT_LDVAL - Timer Load Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PIT_LDVAL - Timer Load Value Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers select the timeout period for the timer interrupts. Access: |
| * User read/write |
| */ |
| /*! |
| * @name Constants and macros for entire PIT_LDVAL register |
| */ |
| /*@{*/ |
| #define PIT_RD_LDVAL(base, index) (PIT_LDVAL_REG(base, index)) |
| #define PIT_WR_LDVAL(base, index, value) (PIT_LDVAL_REG(base, index) = (value)) |
| #define PIT_RMW_LDVAL(base, index, mask, value) (PIT_WR_LDVAL(base, index, (PIT_RD_LDVAL(base, index) & ~(mask)) | (value))) |
| #define PIT_SET_LDVAL(base, index, value) (BME_OR32(&PIT_LDVAL_REG(base, index), (uint32_t)(value))) |
| #define PIT_CLR_LDVAL(base, index, value) (BME_AND32(&PIT_LDVAL_REG(base, index), (uint32_t)(~(value)))) |
| #define PIT_TOG_LDVAL(base, index, value) (BME_XOR32(&PIT_LDVAL_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PIT_CVAL - Current Timer Value Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PIT_CVAL - Current Timer Value Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the current timer position. Access: User read only |
| */ |
| /*! |
| * @name Constants and macros for entire PIT_CVAL register |
| */ |
| /*@{*/ |
| #define PIT_RD_CVAL(base, index) (PIT_CVAL_REG(base, index)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PIT_TCTRL - Timer Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PIT_TCTRL - Timer Control Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers contain the control bits for each timer. Access: User |
| * read/write |
| */ |
| /*! |
| * @name Constants and macros for entire PIT_TCTRL register |
| */ |
| /*@{*/ |
| #define PIT_RD_TCTRL(base, index) (PIT_TCTRL_REG(base, index)) |
| #define PIT_WR_TCTRL(base, index, value) (PIT_TCTRL_REG(base, index) = (value)) |
| #define PIT_RMW_TCTRL(base, index, mask, value) (PIT_WR_TCTRL(base, index, (PIT_RD_TCTRL(base, index) & ~(mask)) | (value))) |
| #define PIT_SET_TCTRL(base, index, value) (BME_OR32(&PIT_TCTRL_REG(base, index), (uint32_t)(value))) |
| #define PIT_CLR_TCTRL(base, index, value) (BME_AND32(&PIT_TCTRL_REG(base, index), (uint32_t)(~(value)))) |
| #define PIT_TOG_TCTRL(base, index, value) (BME_XOR32(&PIT_TCTRL_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual PIT_TCTRL bitfields |
| */ |
| |
| /*! |
| * @name Register PIT_TCTRL, field TEN[0] (RW) |
| * |
| * Enables or disables the timer. |
| * |
| * Values: |
| * - 0b0 - Timer n is disabled. |
| * - 0b1 - Timer n is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PIT_TCTRL_TEN field. */ |
| #define PIT_RD_TCTRL_TEN(base, index) ((PIT_TCTRL_REG(base, index) & PIT_TCTRL_TEN_MASK) >> PIT_TCTRL_TEN_SHIFT) |
| #define PIT_BRD_TCTRL_TEN(base, index) (BME_UBFX32(&PIT_TCTRL_REG(base, index), PIT_TCTRL_TEN_SHIFT, PIT_TCTRL_TEN_WIDTH)) |
| |
| /*! @brief Set the TEN field to a new value. */ |
| #define PIT_WR_TCTRL_TEN(base, index, value) (PIT_RMW_TCTRL(base, index, PIT_TCTRL_TEN_MASK, PIT_TCTRL_TEN(value))) |
| #define PIT_BWR_TCTRL_TEN(base, index, value) (BME_BFI32(&PIT_TCTRL_REG(base, index), ((uint32_t)(value) << PIT_TCTRL_TEN_SHIFT), PIT_TCTRL_TEN_SHIFT, PIT_TCTRL_TEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PIT_TCTRL, field TIE[1] (RW) |
| * |
| * When an interrupt is pending, or, TFLGn[TIF] is set, enabling the interrupt |
| * will immediately cause an interrupt event. To avoid this, the associated |
| * TFLGn[TIF] must be cleared first. |
| * |
| * Values: |
| * - 0b0 - Interrupt requests from Timer n are disabled. |
| * - 0b1 - Interrupt will be requested whenever TIF is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PIT_TCTRL_TIE field. */ |
| #define PIT_RD_TCTRL_TIE(base, index) ((PIT_TCTRL_REG(base, index) & PIT_TCTRL_TIE_MASK) >> PIT_TCTRL_TIE_SHIFT) |
| #define PIT_BRD_TCTRL_TIE(base, index) (BME_UBFX32(&PIT_TCTRL_REG(base, index), PIT_TCTRL_TIE_SHIFT, PIT_TCTRL_TIE_WIDTH)) |
| |
| /*! @brief Set the TIE field to a new value. */ |
| #define PIT_WR_TCTRL_TIE(base, index, value) (PIT_RMW_TCTRL(base, index, PIT_TCTRL_TIE_MASK, PIT_TCTRL_TIE(value))) |
| #define PIT_BWR_TCTRL_TIE(base, index, value) (BME_BFI32(&PIT_TCTRL_REG(base, index), ((uint32_t)(value) << PIT_TCTRL_TIE_SHIFT), PIT_TCTRL_TIE_SHIFT, PIT_TCTRL_TIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PIT_TCTRL, field CHN[2] (RW) |
| * |
| * When activated, Timer n-1 needs to expire before timer n can decrement by 1. |
| * Timer 0 cannot be chained. |
| * |
| * Values: |
| * - 0b0 - Timer is not chained. |
| * - 0b1 - Timer is chained to previous timer. For example, for Channel 2, if |
| * this field is set, Timer 2 is chained to Timer 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PIT_TCTRL_CHN field. */ |
| #define PIT_RD_TCTRL_CHN(base, index) ((PIT_TCTRL_REG(base, index) & PIT_TCTRL_CHN_MASK) >> PIT_TCTRL_CHN_SHIFT) |
| #define PIT_BRD_TCTRL_CHN(base, index) (BME_UBFX32(&PIT_TCTRL_REG(base, index), PIT_TCTRL_CHN_SHIFT, PIT_TCTRL_CHN_WIDTH)) |
| |
| /*! @brief Set the CHN field to a new value. */ |
| #define PIT_WR_TCTRL_CHN(base, index, value) (PIT_RMW_TCTRL(base, index, PIT_TCTRL_CHN_MASK, PIT_TCTRL_CHN(value))) |
| #define PIT_BWR_TCTRL_CHN(base, index, value) (BME_BFI32(&PIT_TCTRL_REG(base, index), ((uint32_t)(value) << PIT_TCTRL_CHN_SHIFT), PIT_TCTRL_CHN_SHIFT, PIT_TCTRL_CHN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PIT_TFLG - Timer Flag Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PIT_TFLG - Timer Flag Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers hold the PIT interrupt flags. Access: User read/write |
| */ |
| /*! |
| * @name Constants and macros for entire PIT_TFLG register |
| */ |
| /*@{*/ |
| #define PIT_RD_TFLG(base, index) (PIT_TFLG_REG(base, index)) |
| #define PIT_WR_TFLG(base, index, value) (PIT_TFLG_REG(base, index) = (value)) |
| #define PIT_RMW_TFLG(base, index, mask, value) (PIT_WR_TFLG(base, index, (PIT_RD_TFLG(base, index) & ~(mask)) | (value))) |
| #define PIT_SET_TFLG(base, index, value) (BME_OR32(&PIT_TFLG_REG(base, index), (uint32_t)(value))) |
| #define PIT_CLR_TFLG(base, index, value) (BME_AND32(&PIT_TFLG_REG(base, index), (uint32_t)(~(value)))) |
| #define PIT_TOG_TFLG(base, index, value) (BME_XOR32(&PIT_TFLG_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual PIT_TFLG bitfields |
| */ |
| |
| /*! |
| * @name Register PIT_TFLG, field TIF[0] (W1C) |
| * |
| * Sets to 1 at the end of the timer period. Writing 1 to this flag clears it. |
| * Writing 0 has no effect. If enabled, or, when TCTRLn[TIE] = 1, TIF causes an |
| * interrupt request. |
| * |
| * Values: |
| * - 0b0 - Timeout has not yet occurred. |
| * - 0b1 - Timeout has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PIT_TFLG_TIF field. */ |
| #define PIT_RD_TFLG_TIF(base, index) ((PIT_TFLG_REG(base, index) & PIT_TFLG_TIF_MASK) >> PIT_TFLG_TIF_SHIFT) |
| #define PIT_BRD_TFLG_TIF(base, index) (BME_UBFX32(&PIT_TFLG_REG(base, index), PIT_TFLG_TIF_SHIFT, PIT_TFLG_TIF_WIDTH)) |
| |
| /*! @brief Set the TIF field to a new value. */ |
| #define PIT_WR_TFLG_TIF(base, index, value) (PIT_RMW_TFLG(base, index, PIT_TFLG_TIF_MASK, PIT_TFLG_TIF(value))) |
| #define PIT_BWR_TFLG_TIF(base, index, value) (BME_BFI32(&PIT_TFLG_REG(base, index), ((uint32_t)(value) << PIT_TFLG_TIF_SHIFT), PIT_TFLG_TIF_SHIFT, PIT_TFLG_TIF_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 PMC |
| * |
| * Power Management Controller |
| * |
| * Registers defined in this header file: |
| * - PMC_LVDSC1 - Low Voltage Detect Status And Control 1 register |
| * - PMC_LVDSC2 - Low Voltage Detect Status And Control 2 register |
| * - PMC_REGSC - Regulator Status And Control register |
| */ |
| |
| #define PMC_INSTANCE_COUNT (1U) /*!< Number of instances of the PMC module. */ |
| #define PMC_IDX (0U) /*!< Instance number for PMC. */ |
| |
| /******************************************************************************* |
| * PMC_LVDSC1 - Low Voltage Detect Status And Control 1 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PMC_LVDSC1 - Low Voltage Detect Status And Control 1 register (RW) |
| * |
| * Reset value: 0x10U |
| * |
| * This register contains status and control bits to support the low voltage |
| * detect function. This register should be written during the reset initialization |
| * program to set the desired controls even if the desired settings are the same |
| * as the reset settings. While the device is in the very low power or low |
| * leakage modes, the LVD system is disabled regardless of LVDSC1 settings. To protect |
| * systems that must have LVD always on, configure the Power Mode Protection |
| * (PMPROT) register of the SMC module (SMC_PMPROT) to disallow any very low power or |
| * low leakage modes from being enabled. See the device's data sheet for the |
| * exact LVD trip voltages. The LVDV bits are reset solely on a POR Only event. The |
| * register's other bits are reset on Chip Reset Not VLLS. For more information |
| * about these reset types, refer to the Reset section details. |
| */ |
| /*! |
| * @name Constants and macros for entire PMC_LVDSC1 register |
| */ |
| /*@{*/ |
| #define PMC_RD_LVDSC1(base) (PMC_LVDSC1_REG(base)) |
| #define PMC_WR_LVDSC1(base, value) (PMC_LVDSC1_REG(base) = (value)) |
| #define PMC_RMW_LVDSC1(base, mask, value) (PMC_WR_LVDSC1(base, (PMC_RD_LVDSC1(base) & ~(mask)) | (value))) |
| #define PMC_SET_LVDSC1(base, value) (BME_OR8(&PMC_LVDSC1_REG(base), (uint8_t)(value))) |
| #define PMC_CLR_LVDSC1(base, value) (BME_AND8(&PMC_LVDSC1_REG(base), (uint8_t)(~(value)))) |
| #define PMC_TOG_LVDSC1(base, value) (BME_XOR8(&PMC_LVDSC1_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual PMC_LVDSC1 bitfields |
| */ |
| |
| /*! |
| * @name Register PMC_LVDSC1, field LVDV[1:0] (RW) |
| * |
| * Selects the LVD trip point voltage (V LVD ). |
| * |
| * Values: |
| * - 0b00 - Low trip point selected (V LVD = V LVDL ) |
| * - 0b01 - High trip point selected (V LVD = V LVDH ) |
| * - 0b10 - Reserved |
| * - 0b11 - NON-CUSTOMER INFO: High trip point selected (VLVD = VLVDH). Change |
| * 11 from reserved on 5V devices to high trip point. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_LVDSC1_LVDV field. */ |
| #define PMC_RD_LVDSC1_LVDV(base) ((PMC_LVDSC1_REG(base) & PMC_LVDSC1_LVDV_MASK) >> PMC_LVDSC1_LVDV_SHIFT) |
| #define PMC_BRD_LVDSC1_LVDV(base) (BME_UBFX8(&PMC_LVDSC1_REG(base), PMC_LVDSC1_LVDV_SHIFT, PMC_LVDSC1_LVDV_WIDTH)) |
| |
| /*! @brief Set the LVDV field to a new value. */ |
| #define PMC_WR_LVDSC1_LVDV(base, value) (PMC_RMW_LVDSC1(base, PMC_LVDSC1_LVDV_MASK, PMC_LVDSC1_LVDV(value))) |
| #define PMC_BWR_LVDSC1_LVDV(base, value) (BME_BFI8(&PMC_LVDSC1_REG(base), ((uint8_t)(value) << PMC_LVDSC1_LVDV_SHIFT), PMC_LVDSC1_LVDV_SHIFT, PMC_LVDSC1_LVDV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PMC_LVDSC1, field LVDRE[4] (RW) |
| * |
| * This write-once bit enables LVDF events to generate a hardware reset. |
| * Additional writes are ignored. |
| * |
| * Values: |
| * - 0b0 - LVDF does not generate hardware resets |
| * - 0b1 - Force an MCU reset when LVDF = 1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_LVDSC1_LVDRE field. */ |
| #define PMC_RD_LVDSC1_LVDRE(base) ((PMC_LVDSC1_REG(base) & PMC_LVDSC1_LVDRE_MASK) >> PMC_LVDSC1_LVDRE_SHIFT) |
| #define PMC_BRD_LVDSC1_LVDRE(base) (BME_UBFX8(&PMC_LVDSC1_REG(base), PMC_LVDSC1_LVDRE_SHIFT, PMC_LVDSC1_LVDRE_WIDTH)) |
| |
| /*! @brief Set the LVDRE field to a new value. */ |
| #define PMC_WR_LVDSC1_LVDRE(base, value) (PMC_RMW_LVDSC1(base, PMC_LVDSC1_LVDRE_MASK, PMC_LVDSC1_LVDRE(value))) |
| #define PMC_BWR_LVDSC1_LVDRE(base, value) (BME_BFI8(&PMC_LVDSC1_REG(base), ((uint8_t)(value) << PMC_LVDSC1_LVDRE_SHIFT), PMC_LVDSC1_LVDRE_SHIFT, PMC_LVDSC1_LVDRE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PMC_LVDSC1, field LVDIE[5] (RW) |
| * |
| * Enables hardware interrupt requests for LVDF. |
| * |
| * Values: |
| * - 0b0 - Hardware interrupt disabled (use polling) |
| * - 0b1 - Request a hardware interrupt when LVDF = 1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_LVDSC1_LVDIE field. */ |
| #define PMC_RD_LVDSC1_LVDIE(base) ((PMC_LVDSC1_REG(base) & PMC_LVDSC1_LVDIE_MASK) >> PMC_LVDSC1_LVDIE_SHIFT) |
| #define PMC_BRD_LVDSC1_LVDIE(base) (BME_UBFX8(&PMC_LVDSC1_REG(base), PMC_LVDSC1_LVDIE_SHIFT, PMC_LVDSC1_LVDIE_WIDTH)) |
| |
| /*! @brief Set the LVDIE field to a new value. */ |
| #define PMC_WR_LVDSC1_LVDIE(base, value) (PMC_RMW_LVDSC1(base, PMC_LVDSC1_LVDIE_MASK, PMC_LVDSC1_LVDIE(value))) |
| #define PMC_BWR_LVDSC1_LVDIE(base, value) (BME_BFI8(&PMC_LVDSC1_REG(base), ((uint8_t)(value) << PMC_LVDSC1_LVDIE_SHIFT), PMC_LVDSC1_LVDIE_SHIFT, PMC_LVDSC1_LVDIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PMC_LVDSC1, field LVDACK[6] (WORZ) |
| * |
| * This write-only field is used to acknowledge low voltage detection errors. |
| * Write 1 to clear LVDF. Reads always return 0. |
| */ |
| /*@{*/ |
| /*! @brief Set the LVDACK field to a new value. */ |
| #define PMC_WR_LVDSC1_LVDACK(base, value) (PMC_RMW_LVDSC1(base, PMC_LVDSC1_LVDACK_MASK, PMC_LVDSC1_LVDACK(value))) |
| #define PMC_BWR_LVDSC1_LVDACK(base, value) (BME_BFI8(&PMC_LVDSC1_REG(base), ((uint8_t)(value) << PMC_LVDSC1_LVDACK_SHIFT), PMC_LVDSC1_LVDACK_SHIFT, PMC_LVDSC1_LVDACK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PMC_LVDSC1, field LVDF[7] (RO) |
| * |
| * This read-only status field indicates a low-voltage detect event. |
| * |
| * Values: |
| * - 0b0 - Low-voltage event not detected |
| * - 0b1 - Low-voltage event detected |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_LVDSC1_LVDF field. */ |
| #define PMC_RD_LVDSC1_LVDF(base) ((PMC_LVDSC1_REG(base) & PMC_LVDSC1_LVDF_MASK) >> PMC_LVDSC1_LVDF_SHIFT) |
| #define PMC_BRD_LVDSC1_LVDF(base) (BME_UBFX8(&PMC_LVDSC1_REG(base), PMC_LVDSC1_LVDF_SHIFT, PMC_LVDSC1_LVDF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PMC_LVDSC2 - Low Voltage Detect Status And Control 2 register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PMC_LVDSC2 - Low Voltage Detect Status And Control 2 register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This register contains status and control bits to support the low voltage |
| * warning function. While the device is in the very low power or low leakage modes, |
| * the LVD system is disabled regardless of LVDSC2 settings. See the device's |
| * data sheet for the exact LVD trip voltages. The LVW trip voltages depend on LVWV |
| * and LVDV. LVWV is reset solely on a POR Only event. The other fields of the |
| * register are reset on Chip Reset Not VLLS. For more information about these |
| * reset types, refer to the Reset section details. |
| */ |
| /*! |
| * @name Constants and macros for entire PMC_LVDSC2 register |
| */ |
| /*@{*/ |
| #define PMC_RD_LVDSC2(base) (PMC_LVDSC2_REG(base)) |
| #define PMC_WR_LVDSC2(base, value) (PMC_LVDSC2_REG(base) = (value)) |
| #define PMC_RMW_LVDSC2(base, mask, value) (PMC_WR_LVDSC2(base, (PMC_RD_LVDSC2(base) & ~(mask)) | (value))) |
| #define PMC_SET_LVDSC2(base, value) (BME_OR8(&PMC_LVDSC2_REG(base), (uint8_t)(value))) |
| #define PMC_CLR_LVDSC2(base, value) (BME_AND8(&PMC_LVDSC2_REG(base), (uint8_t)(~(value)))) |
| #define PMC_TOG_LVDSC2(base, value) (BME_XOR8(&PMC_LVDSC2_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual PMC_LVDSC2 bitfields |
| */ |
| |
| /*! |
| * @name Register PMC_LVDSC2, field LVWV[1:0] (RW) |
| * |
| * Selects the LVW trip point voltage (VLVW). The actual voltage for the warning |
| * depends on LVDSC1[LVDV]. |
| * |
| * Values: |
| * - 0b00 - Low trip point selected (VLVW = VLVW1) |
| * - 0b01 - Mid 1 trip point selected (VLVW = VLVW2) |
| * - 0b10 - Mid 2 trip point selected (VLVW = VLVW3) |
| * - 0b11 - High trip point selected (VLVW = VLVW4) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_LVDSC2_LVWV field. */ |
| #define PMC_RD_LVDSC2_LVWV(base) ((PMC_LVDSC2_REG(base) & PMC_LVDSC2_LVWV_MASK) >> PMC_LVDSC2_LVWV_SHIFT) |
| #define PMC_BRD_LVDSC2_LVWV(base) (BME_UBFX8(&PMC_LVDSC2_REG(base), PMC_LVDSC2_LVWV_SHIFT, PMC_LVDSC2_LVWV_WIDTH)) |
| |
| /*! @brief Set the LVWV field to a new value. */ |
| #define PMC_WR_LVDSC2_LVWV(base, value) (PMC_RMW_LVDSC2(base, PMC_LVDSC2_LVWV_MASK, PMC_LVDSC2_LVWV(value))) |
| #define PMC_BWR_LVDSC2_LVWV(base, value) (BME_BFI8(&PMC_LVDSC2_REG(base), ((uint8_t)(value) << PMC_LVDSC2_LVWV_SHIFT), PMC_LVDSC2_LVWV_SHIFT, PMC_LVDSC2_LVWV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PMC_LVDSC2, field LVWIE[5] (RW) |
| * |
| * Enables hardware interrupt requests for LVWF. |
| * |
| * Values: |
| * - 0b0 - Hardware interrupt disabled (use polling) |
| * - 0b1 - Request a hardware interrupt when LVWF = 1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_LVDSC2_LVWIE field. */ |
| #define PMC_RD_LVDSC2_LVWIE(base) ((PMC_LVDSC2_REG(base) & PMC_LVDSC2_LVWIE_MASK) >> PMC_LVDSC2_LVWIE_SHIFT) |
| #define PMC_BRD_LVDSC2_LVWIE(base) (BME_UBFX8(&PMC_LVDSC2_REG(base), PMC_LVDSC2_LVWIE_SHIFT, PMC_LVDSC2_LVWIE_WIDTH)) |
| |
| /*! @brief Set the LVWIE field to a new value. */ |
| #define PMC_WR_LVDSC2_LVWIE(base, value) (PMC_RMW_LVDSC2(base, PMC_LVDSC2_LVWIE_MASK, PMC_LVDSC2_LVWIE(value))) |
| #define PMC_BWR_LVDSC2_LVWIE(base, value) (BME_BFI8(&PMC_LVDSC2_REG(base), ((uint8_t)(value) << PMC_LVDSC2_LVWIE_SHIFT), PMC_LVDSC2_LVWIE_SHIFT, PMC_LVDSC2_LVWIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PMC_LVDSC2, field LVWACK[6] (WORZ) |
| * |
| * This write-only field is used to acknowledge low voltage warning errors. |
| * Write 1 to clear LVWF. Reads always return 0. |
| */ |
| /*@{*/ |
| /*! @brief Set the LVWACK field to a new value. */ |
| #define PMC_WR_LVDSC2_LVWACK(base, value) (PMC_RMW_LVDSC2(base, PMC_LVDSC2_LVWACK_MASK, PMC_LVDSC2_LVWACK(value))) |
| #define PMC_BWR_LVDSC2_LVWACK(base, value) (BME_BFI8(&PMC_LVDSC2_REG(base), ((uint8_t)(value) << PMC_LVDSC2_LVWACK_SHIFT), PMC_LVDSC2_LVWACK_SHIFT, PMC_LVDSC2_LVWACK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PMC_LVDSC2, field LVWF[7] (RO) |
| * |
| * This read-only status field indicates a low-voltage warning event. LVWF is |
| * set when VSupply transitions below the trip point, or after reset and VSupply is |
| * already below VLVW. LVWF may be 1 after power-on reset, therefore, to use LVW |
| * interrupt function, before enabling LVWIE, LVWF must be cleared by writing |
| * LVWACK first. |
| * |
| * Values: |
| * - 0b0 - Low-voltage warning event not detected |
| * - 0b1 - Low-voltage warning event detected |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_LVDSC2_LVWF field. */ |
| #define PMC_RD_LVDSC2_LVWF(base) ((PMC_LVDSC2_REG(base) & PMC_LVDSC2_LVWF_MASK) >> PMC_LVDSC2_LVWF_SHIFT) |
| #define PMC_BRD_LVDSC2_LVWF(base) (BME_UBFX8(&PMC_LVDSC2_REG(base), PMC_LVDSC2_LVWF_SHIFT, PMC_LVDSC2_LVWF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PMC_REGSC - Regulator Status And Control register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PMC_REGSC - Regulator Status And Control register (RW) |
| * |
| * Reset value: 0x04U |
| * |
| * The PMC contains an internal voltage regulator. The voltage regulator design |
| * uses a bandgap reference that is also available through a buffer as input to |
| * certain internal peripherals, such as the CMP and ADC. The internal regulator |
| * provides a status bit (REGONS) indicating the regulator is in run regulation. |
| * This register is reset on Chip Reset Not VLLS and by reset types that trigger |
| * Chip Reset not VLLS. See the Reset section details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire PMC_REGSC register |
| */ |
| /*@{*/ |
| #define PMC_RD_REGSC(base) (PMC_REGSC_REG(base)) |
| #define PMC_WR_REGSC(base, value) (PMC_REGSC_REG(base) = (value)) |
| #define PMC_RMW_REGSC(base, mask, value) (PMC_WR_REGSC(base, (PMC_RD_REGSC(base) & ~(mask)) | (value))) |
| #define PMC_SET_REGSC(base, value) (BME_OR8(&PMC_REGSC_REG(base), (uint8_t)(value))) |
| #define PMC_CLR_REGSC(base, value) (BME_AND8(&PMC_REGSC_REG(base), (uint8_t)(~(value)))) |
| #define PMC_TOG_REGSC(base, value) (BME_XOR8(&PMC_REGSC_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual PMC_REGSC bitfields |
| */ |
| |
| /*! |
| * @name Register PMC_REGSC, field BGBE[0] (RW) |
| * |
| * Enables the bandgap buffer. |
| * |
| * Values: |
| * - 0b0 - Bandgap buffer not enabled |
| * - 0b1 - Bandgap buffer enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_REGSC_BGBE field. */ |
| #define PMC_RD_REGSC_BGBE(base) ((PMC_REGSC_REG(base) & PMC_REGSC_BGBE_MASK) >> PMC_REGSC_BGBE_SHIFT) |
| #define PMC_BRD_REGSC_BGBE(base) (BME_UBFX8(&PMC_REGSC_REG(base), PMC_REGSC_BGBE_SHIFT, PMC_REGSC_BGBE_WIDTH)) |
| |
| /*! @brief Set the BGBE field to a new value. */ |
| #define PMC_WR_REGSC_BGBE(base, value) (PMC_RMW_REGSC(base, (PMC_REGSC_BGBE_MASK | PMC_REGSC_ACKISO_MASK), PMC_REGSC_BGBE(value))) |
| #define PMC_BWR_REGSC_BGBE(base, value) (BME_BFI8(&PMC_REGSC_REG(base), ((uint8_t)(value) << PMC_REGSC_BGBE_SHIFT), PMC_REGSC_BGBE_SHIFT, PMC_REGSC_BGBE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PMC_REGSC, field REGONS[2] (RO) |
| * |
| * This read-only field provides the current status of the internal voltage |
| * regulator. |
| * |
| * Values: |
| * - 0b0 - Regulator is in stop regulation or in transition to/from it |
| * - 0b1 - Regulator is in run regulation |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_REGSC_REGONS field. */ |
| #define PMC_RD_REGSC_REGONS(base) ((PMC_REGSC_REG(base) & PMC_REGSC_REGONS_MASK) >> PMC_REGSC_REGONS_SHIFT) |
| #define PMC_BRD_REGSC_REGONS(base) (BME_UBFX8(&PMC_REGSC_REG(base), PMC_REGSC_REGONS_SHIFT, PMC_REGSC_REGONS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PMC_REGSC, field ACKISO[3] (W1C) |
| * |
| * Reading this field indicates whether certain peripherals and the I/O pads are |
| * in a latched state as a result of having been in a VLLS mode. Writing 1 to |
| * this field when it is set releases the I/O pads and certain peripherals to their |
| * normal run mode state. After recovering from a VLLS mode, user should restore |
| * chip configuration before clearing ACKISO. In particular, pin configuration |
| * for enabled LLWU wakeup pins should be restored to avoid any LLWU flag from |
| * being falsely set when ACKISO is cleared. |
| * |
| * Values: |
| * - 0b0 - Peripherals and I/O pads are in normal run state. |
| * - 0b1 - Certain peripherals and I/O pads are in an isolated and latched state. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_REGSC_ACKISO field. */ |
| #define PMC_RD_REGSC_ACKISO(base) ((PMC_REGSC_REG(base) & PMC_REGSC_ACKISO_MASK) >> PMC_REGSC_ACKISO_SHIFT) |
| #define PMC_BRD_REGSC_ACKISO(base) (BME_UBFX8(&PMC_REGSC_REG(base), PMC_REGSC_ACKISO_SHIFT, PMC_REGSC_ACKISO_WIDTH)) |
| |
| /*! @brief Set the ACKISO field to a new value. */ |
| #define PMC_WR_REGSC_ACKISO(base, value) (PMC_RMW_REGSC(base, PMC_REGSC_ACKISO_MASK, PMC_REGSC_ACKISO(value))) |
| #define PMC_BWR_REGSC_ACKISO(base, value) (BME_BFI8(&PMC_REGSC_REG(base), ((uint8_t)(value) << PMC_REGSC_ACKISO_SHIFT), PMC_REGSC_ACKISO_SHIFT, PMC_REGSC_ACKISO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PMC_REGSC, field VLPO[6] (RW) |
| * |
| * When used in conjunction with BGEN, this bit allows additional clock sources |
| * and higher frequency operation (at the cost of higher power) to be selected |
| * during VLPx modes. |
| * |
| * Values: |
| * - 0b0 - Operating frequencies and MCG clocking modes are restricted during |
| * VLPx modes as listed in the Power Management chapter. |
| * - 0b1 - If BGEN is also set, operating frequencies and MCG clocking modes are |
| * unrestricted during VLPx modes. Note that flash access frequency is still |
| * restricted however. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PMC_REGSC_VLPO field. */ |
| #define PMC_RD_REGSC_VLPO(base) ((PMC_REGSC_REG(base) & PMC_REGSC_VLPO_MASK) >> PMC_REGSC_VLPO_SHIFT) |
| #define PMC_BRD_REGSC_VLPO(base) (BME_UBFX8(&PMC_REGSC_REG(base), PMC_REGSC_VLPO_SHIFT, PMC_REGSC_VLPO_WIDTH)) |
| |
| /*! @brief Set the VLPO field to a new value. */ |
| #define PMC_WR_REGSC_VLPO(base, value) (PMC_RMW_REGSC(base, (PMC_REGSC_VLPO_MASK | PMC_REGSC_ACKISO_MASK), PMC_REGSC_VLPO(value))) |
| #define PMC_BWR_REGSC_VLPO(base, value) (BME_BFI8(&PMC_REGSC_REG(base), ((uint8_t)(value) << PMC_REGSC_VLPO_SHIFT), PMC_REGSC_VLPO_SHIFT, PMC_REGSC_VLPO_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 PORT |
| * |
| * Pin Control and Interrupts |
| * |
| * Registers defined in this header file: |
| * - PORT_PCR - Pin Control Register n |
| * - PORT_GPCLR - Global Pin Control Low Register |
| * - PORT_GPCHR - Global Pin Control High Register |
| * - PORT_ISFR - Interrupt Status Flag Register |
| */ |
| |
| #define PORT_INSTANCE_COUNT (3U) /*!< Number of instances of the PORT module. */ |
| #define PORTA_IDX (0U) /*!< Instance number for PORTA. */ |
| #define PORTB_IDX (1U) /*!< Instance number for PORTB. */ |
| #define PORTC_IDX (2U) /*!< Instance number for PORTC. */ |
| |
| /******************************************************************************* |
| * PORT_PCR - Pin Control Register n |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PORT_PCR - Pin Control Register n (RW) |
| * |
| * Reset value: 0x00000706U |
| * |
| * See the Signal Multiplexing and Pin Assignment chapter for the reset value of |
| * this device. See the GPIO Configuration section for details on the available |
| * functions for each pin. Do not modify pin configuration registers associated |
| * with pins not available in your selected package. All unbonded pins not |
| * available in your package will default to DISABLE state for lowest power consumption. |
| */ |
| /*! |
| * @name Constants and macros for entire PORT_PCR register |
| */ |
| /*@{*/ |
| #define PORT_RD_PCR(base, index) (PORT_PCR_REG(base, index)) |
| #define PORT_WR_PCR(base, index, value) (PORT_PCR_REG(base, index) = (value)) |
| #define PORT_RMW_PCR(base, index, mask, value) (PORT_WR_PCR(base, index, (PORT_RD_PCR(base, index) & ~(mask)) | (value))) |
| #define PORT_SET_PCR(base, index, value) (BME_OR32(&PORT_PCR_REG(base, index), (uint32_t)(value))) |
| #define PORT_CLR_PCR(base, index, value) (BME_AND32(&PORT_PCR_REG(base, index), (uint32_t)(~(value)))) |
| #define PORT_TOG_PCR(base, index, value) (BME_XOR32(&PORT_PCR_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual PORT_PCR bitfields |
| */ |
| |
| /*! |
| * @name Register PORT_PCR, field PS[0] (RW) |
| * |
| * This bit is read only for pins that do not support a configurable pull |
| * resistor direction. Pull configuration is valid in all digital pin muxing modes. |
| * |
| * Values: |
| * - 0b0 - Internal pulldown resistor is enabled on the corresponding pin, if |
| * the corresponding PE field is set. |
| * - 0b1 - Internal pullup resistor is enabled on the corresponding pin, if the |
| * corresponding PE field is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PORT_PCR_PS field. */ |
| #define PORT_RD_PCR_PS(base, index) ((PORT_PCR_REG(base, index) & PORT_PCR_PS_MASK) >> PORT_PCR_PS_SHIFT) |
| #define PORT_BRD_PCR_PS(base, index) (BME_UBFX32(&PORT_PCR_REG(base, index), PORT_PCR_PS_SHIFT, PORT_PCR_PS_WIDTH)) |
| |
| /*! @brief Set the PS field to a new value. */ |
| #define PORT_WR_PCR_PS(base, index, value) (PORT_RMW_PCR(base, index, (PORT_PCR_PS_MASK | PORT_PCR_ISF_MASK), PORT_PCR_PS(value))) |
| #define PORT_BWR_PCR_PS(base, index, value) (BME_BFI32(&PORT_PCR_REG(base, index), ((uint32_t)(value) << PORT_PCR_PS_SHIFT), PORT_PCR_PS_SHIFT, PORT_PCR_PS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PORT_PCR, field PE[1] (RW) |
| * |
| * This field is read-only for pins that do not support a configurable pull |
| * resistor. Refer to the Chapter of Signal Multiplexing and Signal Descriptions for |
| * the pins that support a configurable pull resistor. Pull configuration is |
| * valid in all digital pin muxing modes. |
| * |
| * Values: |
| * - 0b0 - Internal pullup or pulldown resistor is not enabled on the |
| * corresponding pin. |
| * - 0b1 - Internal pullup or pulldown resistor is enabled on the corresponding |
| * pin, if the pin is configured as a digital input. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PORT_PCR_PE field. */ |
| #define PORT_RD_PCR_PE(base, index) ((PORT_PCR_REG(base, index) & PORT_PCR_PE_MASK) >> PORT_PCR_PE_SHIFT) |
| #define PORT_BRD_PCR_PE(base, index) (BME_UBFX32(&PORT_PCR_REG(base, index), PORT_PCR_PE_SHIFT, PORT_PCR_PE_WIDTH)) |
| |
| /*! @brief Set the PE field to a new value. */ |
| #define PORT_WR_PCR_PE(base, index, value) (PORT_RMW_PCR(base, index, (PORT_PCR_PE_MASK | PORT_PCR_ISF_MASK), PORT_PCR_PE(value))) |
| #define PORT_BWR_PCR_PE(base, index, value) (BME_BFI32(&PORT_PCR_REG(base, index), ((uint32_t)(value) << PORT_PCR_PE_SHIFT), PORT_PCR_PE_SHIFT, PORT_PCR_PE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PORT_PCR, field SRE[2] (RW) |
| * |
| * This field is read-only for pins that do not support a configurable slew |
| * rate. Slew rate configuration is valid in all digital pin muxing modes. |
| * |
| * Values: |
| * - 0b0 - Fast slew rate is configured on the corresponding pin, if the pin is |
| * configured as a digital output. |
| * - 0b1 - Slow slew rate is configured on the corresponding pin, if the pin is |
| * configured as a digital output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PORT_PCR_SRE field. */ |
| #define PORT_RD_PCR_SRE(base, index) ((PORT_PCR_REG(base, index) & PORT_PCR_SRE_MASK) >> PORT_PCR_SRE_SHIFT) |
| #define PORT_BRD_PCR_SRE(base, index) (BME_UBFX32(&PORT_PCR_REG(base, index), PORT_PCR_SRE_SHIFT, PORT_PCR_SRE_WIDTH)) |
| |
| /*! @brief Set the SRE field to a new value. */ |
| #define PORT_WR_PCR_SRE(base, index, value) (PORT_RMW_PCR(base, index, (PORT_PCR_SRE_MASK | PORT_PCR_ISF_MASK), PORT_PCR_SRE(value))) |
| #define PORT_BWR_PCR_SRE(base, index, value) (BME_BFI32(&PORT_PCR_REG(base, index), ((uint32_t)(value) << PORT_PCR_SRE_SHIFT), PORT_PCR_SRE_SHIFT, PORT_PCR_SRE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PORT_PCR, field PFE[4] (RW) |
| * |
| * This field is read-only for pins that do not support a configurable passive |
| * input filter. Passive filter configuration is valid in all digital pin muxing |
| * modes. |
| * |
| * Values: |
| * - 0b0 - Passive input filter is disabled on the corresponding pin. |
| * - 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. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PORT_PCR_PFE field. */ |
| #define PORT_RD_PCR_PFE(base, index) ((PORT_PCR_REG(base, index) & PORT_PCR_PFE_MASK) >> PORT_PCR_PFE_SHIFT) |
| #define PORT_BRD_PCR_PFE(base, index) (BME_UBFX32(&PORT_PCR_REG(base, index), PORT_PCR_PFE_SHIFT, PORT_PCR_PFE_WIDTH)) |
| |
| /*! @brief Set the PFE field to a new value. */ |
| #define PORT_WR_PCR_PFE(base, index, value) (PORT_RMW_PCR(base, index, (PORT_PCR_PFE_MASK | PORT_PCR_ISF_MASK), PORT_PCR_PFE(value))) |
| #define PORT_BWR_PCR_PFE(base, index, value) (BME_BFI32(&PORT_PCR_REG(base, index), ((uint32_t)(value) << PORT_PCR_PFE_SHIFT), PORT_PCR_PFE_SHIFT, PORT_PCR_PFE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PORT_PCR, field DSE[6] (RW) |
| * |
| * This field is read-only for pins that do not support a configurable drive |
| * strength. Drive strength configuration is valid in all digital pin muxing modes. |
| * |
| * Values: |
| * - 0b0 - Low drive strength is configured on the corresponding pin, if pin is |
| * configured as a digital output. |
| * - 0b1 - High drive strength is configured on the corresponding pin, if pin is |
| * configured as a digital output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PORT_PCR_DSE field. */ |
| #define PORT_RD_PCR_DSE(base, index) ((PORT_PCR_REG(base, index) & PORT_PCR_DSE_MASK) >> PORT_PCR_DSE_SHIFT) |
| #define PORT_BRD_PCR_DSE(base, index) (BME_UBFX32(&PORT_PCR_REG(base, index), PORT_PCR_DSE_SHIFT, PORT_PCR_DSE_WIDTH)) |
| |
| /*! @brief Set the DSE field to a new value. */ |
| #define PORT_WR_PCR_DSE(base, index, value) (PORT_RMW_PCR(base, index, (PORT_PCR_DSE_MASK | PORT_PCR_ISF_MASK), PORT_PCR_DSE(value))) |
| #define PORT_BWR_PCR_DSE(base, index, value) (BME_BFI32(&PORT_PCR_REG(base, index), ((uint32_t)(value) << PORT_PCR_DSE_SHIFT), PORT_PCR_DSE_SHIFT, PORT_PCR_DSE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PORT_PCR, field MUX[10:8] (RW) |
| * |
| * Not all pins support all pin muxing slots. Unimplemented pin muxing slots are |
| * reserved and may result in configuring the pin for a different pin muxing |
| * slot. The corresponding pin is configured in the following pin muxing slot as |
| * follows: |
| * |
| * Values: |
| * - 0b000 - Pin disabled (analog). |
| * - 0b001 - Alternative 1 (GPIO). |
| * - 0b010 - Alternative 2 (chip-specific). |
| * - 0b011 - Alternative 3 (chip-specific). |
| * - 0b100 - Alternative 4 (chip-specific). |
| * - 0b101 - Alternative 5 (chip-specific). |
| * - 0b110 - Alternative 6 (chip-specific). |
| * - 0b111 - Alternative 7 (chip-specific). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PORT_PCR_MUX field. */ |
| #define PORT_RD_PCR_MUX(base, index) ((PORT_PCR_REG(base, index) & PORT_PCR_MUX_MASK) >> PORT_PCR_MUX_SHIFT) |
| #define PORT_BRD_PCR_MUX(base, index) (BME_UBFX32(&PORT_PCR_REG(base, index), PORT_PCR_MUX_SHIFT, PORT_PCR_MUX_WIDTH)) |
| |
| /*! @brief Set the MUX field to a new value. */ |
| #define PORT_WR_PCR_MUX(base, index, value) (PORT_RMW_PCR(base, index, (PORT_PCR_MUX_MASK | PORT_PCR_ISF_MASK), PORT_PCR_MUX(value))) |
| #define PORT_BWR_PCR_MUX(base, index, value) (BME_BFI32(&PORT_PCR_REG(base, index), ((uint32_t)(value) << PORT_PCR_MUX_SHIFT), PORT_PCR_MUX_SHIFT, PORT_PCR_MUX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PORT_PCR, field IRQC[19:16] (RW) |
| * |
| * This field is read-only for pins that do not support interrupt generation. |
| * The pin interrupt configuration is valid in all digital pin muxing modes. The |
| * corresponding pin is configured to generate interrupt/DMA request as follows: |
| * |
| * Values: |
| * - 0b0000 - Interrupt Status Flag (ISF) is disabled. |
| * - 0b0001 - ISF flag and DMA request on rising edge. |
| * - 0b0010 - ISF flag and DMA request on falling edge. |
| * - 0b0011 - ISF flag and DMA request on either edge. |
| * - 0b0100 - Reserved. |
| * - 0b0101 - Reserved. |
| * - 0b0110 - Reserved. |
| * - 0b0111 - Reserved. |
| * - 0b1000 - ISF flag and Interrupt when logic 0. |
| * - 0b1001 - ISF flag and Interrupt on rising-edge. |
| * - 0b1010 - ISF flag and Interrupt on falling-edge. |
| * - 0b1011 - ISF flag and Interrupt on either edge. |
| * - 0b1100 - ISF flag and Interrupt when logic 1. |
| * - 0b1101 - Reserved. |
| * - 0b1110 - Reserved. |
| * - 0b1111 - Reserved. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PORT_PCR_IRQC field. */ |
| #define PORT_RD_PCR_IRQC(base, index) ((PORT_PCR_REG(base, index) & PORT_PCR_IRQC_MASK) >> PORT_PCR_IRQC_SHIFT) |
| #define PORT_BRD_PCR_IRQC(base, index) (BME_UBFX32(&PORT_PCR_REG(base, index), PORT_PCR_IRQC_SHIFT, PORT_PCR_IRQC_WIDTH)) |
| |
| /*! @brief Set the IRQC field to a new value. */ |
| #define PORT_WR_PCR_IRQC(base, index, value) (PORT_RMW_PCR(base, index, (PORT_PCR_IRQC_MASK | PORT_PCR_ISF_MASK), PORT_PCR_IRQC(value))) |
| #define PORT_BWR_PCR_IRQC(base, index, value) (BME_BFI32(&PORT_PCR_REG(base, index), ((uint32_t)(value) << PORT_PCR_IRQC_SHIFT), PORT_PCR_IRQC_SHIFT, PORT_PCR_IRQC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PORT_PCR, field ISF[24] (W1C) |
| * |
| * This field is read-only for pins that do not support interrupt generation. |
| * The pin interrupt configuration is valid in all digital pin muxing modes. |
| * |
| * Values: |
| * - 0b0 - Configured interrupt is not detected. |
| * - 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. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the PORT_PCR_ISF field. */ |
| #define PORT_RD_PCR_ISF(base, index) ((PORT_PCR_REG(base, index) & PORT_PCR_ISF_MASK) >> PORT_PCR_ISF_SHIFT) |
| #define PORT_BRD_PCR_ISF(base, index) (BME_UBFX32(&PORT_PCR_REG(base, index), PORT_PCR_ISF_SHIFT, PORT_PCR_ISF_WIDTH)) |
| |
| /*! @brief Set the ISF field to a new value. */ |
| #define PORT_WR_PCR_ISF(base, index, value) (PORT_RMW_PCR(base, index, PORT_PCR_ISF_MASK, PORT_PCR_ISF(value))) |
| #define PORT_BWR_PCR_ISF(base, index, value) (BME_BFI32(&PORT_PCR_REG(base, index), ((uint32_t)(value) << PORT_PCR_ISF_SHIFT), PORT_PCR_ISF_SHIFT, PORT_PCR_ISF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PORT_GPCLR - Global Pin Control Low Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PORT_GPCLR - Global Pin Control Low Register (WORZ) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Only 32-bit writes are supported to this register. |
| */ |
| /*! |
| * @name Constants and macros for entire PORT_GPCLR register |
| */ |
| /*@{*/ |
| #define PORT_RD_GPCLR(base) (PORT_GPCLR_REG(base)) |
| #define PORT_WR_GPCLR(base, value) (PORT_GPCLR_REG(base) = (value)) |
| #define PORT_RMW_GPCLR(base, mask, value) (PORT_WR_GPCLR(base, (PORT_RD_GPCLR(base) & ~(mask)) | (value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual PORT_GPCLR bitfields |
| */ |
| |
| /*! |
| * @name Register PORT_GPCLR, field GPWD[15:0] (WORZ) |
| * |
| * Write value that is written to all Pin Control Registers bits [15:0] that are |
| * selected by GPWE. |
| */ |
| /*@{*/ |
| /*! @brief Set the GPWD field to a new value. */ |
| #define PORT_WR_GPCLR_GPWD(base, value) (PORT_RMW_GPCLR(base, PORT_GPCLR_GPWD_MASK, PORT_GPCLR_GPWD(value))) |
| #define PORT_BWR_GPCLR_GPWD(base, value) (BME_BFI32(&PORT_GPCLR_REG(base), ((uint32_t)(value) << PORT_GPCLR_GPWD_SHIFT), PORT_GPCLR_GPWD_SHIFT, PORT_GPCLR_GPWD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PORT_GPCLR, field GPWE[31:16] (WORZ) |
| * |
| * Selects which Pin Control Registers (15 through 0) bits [15:0] update with |
| * the value in GPWD. |
| * |
| * Values: |
| * - 0b0000000000000000 - Corresponding Pin Control Register is not updated with |
| * the value in GPWD. |
| * - 0b0000000000000001 - Corresponding Pin Control Register is updated with the |
| * value in GPWD. |
| */ |
| /*@{*/ |
| /*! @brief Set the GPWE field to a new value. */ |
| #define PORT_WR_GPCLR_GPWE(base, value) (PORT_RMW_GPCLR(base, PORT_GPCLR_GPWE_MASK, PORT_GPCLR_GPWE(value))) |
| #define PORT_BWR_GPCLR_GPWE(base, value) (BME_BFI32(&PORT_GPCLR_REG(base), ((uint32_t)(value) << PORT_GPCLR_GPWE_SHIFT), PORT_GPCLR_GPWE_SHIFT, PORT_GPCLR_GPWE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PORT_GPCHR - Global Pin Control High Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PORT_GPCHR - Global Pin Control High Register (WORZ) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Only 32-bit writes are supported to this register. |
| */ |
| /*! |
| * @name Constants and macros for entire PORT_GPCHR register |
| */ |
| /*@{*/ |
| #define PORT_RD_GPCHR(base) (PORT_GPCHR_REG(base)) |
| #define PORT_WR_GPCHR(base, value) (PORT_GPCHR_REG(base) = (value)) |
| #define PORT_RMW_GPCHR(base, mask, value) (PORT_WR_GPCHR(base, (PORT_RD_GPCHR(base) & ~(mask)) | (value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual PORT_GPCHR bitfields |
| */ |
| |
| /*! |
| * @name Register PORT_GPCHR, field GPWD[15:0] (WORZ) |
| * |
| * Write value that is written to all Pin Control Registers bits [15:0] that are |
| * selected by GPWE. |
| */ |
| /*@{*/ |
| /*! @brief Set the GPWD field to a new value. */ |
| #define PORT_WR_GPCHR_GPWD(base, value) (PORT_RMW_GPCHR(base, PORT_GPCHR_GPWD_MASK, PORT_GPCHR_GPWD(value))) |
| #define PORT_BWR_GPCHR_GPWD(base, value) (BME_BFI32(&PORT_GPCHR_REG(base), ((uint32_t)(value) << PORT_GPCHR_GPWD_SHIFT), PORT_GPCHR_GPWD_SHIFT, PORT_GPCHR_GPWD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register PORT_GPCHR, field GPWE[31:16] (WORZ) |
| * |
| * Selects which Pin Control Registers (31 through 16) bits [15:0] update with |
| * the value in GPWD. |
| * |
| * Values: |
| * - 0b0000000000000000 - Corresponding Pin Control Register is not updated with |
| * the value in GPWD. |
| * - 0b0000000000000001 - Corresponding Pin Control Register is updated with the |
| * value in GPWD. |
| */ |
| /*@{*/ |
| /*! @brief Set the GPWE field to a new value. */ |
| #define PORT_WR_GPCHR_GPWE(base, value) (PORT_RMW_GPCHR(base, PORT_GPCHR_GPWE_MASK, PORT_GPCHR_GPWE(value))) |
| #define PORT_BWR_GPCHR_GPWE(base, value) (BME_BFI32(&PORT_GPCHR_REG(base), ((uint32_t)(value) << PORT_GPCHR_GPWE_SHIFT), PORT_GPCHR_GPWE_SHIFT, PORT_GPCHR_GPWE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * PORT_ISFR - Interrupt Status Flag Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief PORT_ISFR - Interrupt Status Flag Register (W1C) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The corresponding bit is read only for pins that do not support interrupt |
| * generation. The pin interrupt configuration is valid in all digital pin muxing |
| * modes. The Interrupt Status Flag for each pin is also visible in the |
| * corresponding Pin Control Register, and each flag can be cleared in either location. |
| */ |
| /*! |
| * @name Constants and macros for entire PORT_ISFR register |
| */ |
| /*@{*/ |
| #define PORT_RD_ISFR(base) (PORT_ISFR_REG(base)) |
| #define PORT_WR_ISFR(base, value) (PORT_ISFR_REG(base) = (value)) |
| #define PORT_RMW_ISFR(base, mask, value) (PORT_WR_ISFR(base, (PORT_RD_ISFR(base) & ~(mask)) | (value))) |
| #define PORT_SET_ISFR(base, value) (BME_OR32(&PORT_ISFR_REG(base), (uint32_t)(value))) |
| #define PORT_CLR_ISFR(base, value) (BME_AND32(&PORT_ISFR_REG(base), (uint32_t)(~(value)))) |
| #define PORT_TOG_ISFR(base, value) (BME_XOR32(&PORT_ISFR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 RCM |
| * |
| * Reset Control Module |
| * |
| * Registers defined in this header file: |
| * - RCM_SRS0 - System Reset Status Register 0 |
| * - RCM_SRS1 - System Reset Status Register 1 |
| * - RCM_RPFC - Reset Pin Filter Control register |
| * - RCM_RPFW - Reset Pin Filter Width register |
| */ |
| |
| #define RCM_INSTANCE_COUNT (1U) /*!< Number of instances of the RCM module. */ |
| #define RCM_IDX (0U) /*!< Instance number for RCM. */ |
| |
| /******************************************************************************* |
| * RCM_SRS0 - System Reset Status Register 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RCM_SRS0 - System Reset Status Register 0 (RO) |
| * |
| * Reset value: 0x82U |
| * |
| * This register includes read-only status flags to indicate the source of the |
| * most recent reset. The reset state of these bits depends on what caused the MCU |
| * to reset. The reset value of this register depends on the reset source: POR |
| * (including LVD) - 0x82 LVD (without POR) - 0x02 VLLS mode wakeup due to RESET |
| * pin assertion - 0x41 VLLS mode wakeup due to other wakeup sources - 0x01 Other |
| * reset - a bit is set if its corresponding reset source caused the reset |
| */ |
| /*! |
| * @name Constants and macros for entire RCM_SRS0 register |
| */ |
| /*@{*/ |
| #define RCM_RD_SRS0(base) (RCM_SRS0_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RCM_SRS0 bitfields |
| */ |
| |
| /*! |
| * @name Register RCM_SRS0, field WAKEUP[0] (RO) |
| * |
| * Indicates a reset has been caused by an enabled LLWU module wakeup source |
| * while the chip was in a low leakage mode. In LLS mode, the RESET pin is the only |
| * wakeup source that can cause this reset. Any enabled wakeup source in a VLLSx |
| * mode causes a reset. This bit is cleared by any reset except WAKEUP. |
| * |
| * Values: |
| * - 0b0 - Reset not caused by LLWU module wakeup source |
| * - 0b1 - Reset caused by LLWU module wakeup source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_SRS0_WAKEUP field. */ |
| #define RCM_RD_SRS0_WAKEUP(base) ((RCM_SRS0_REG(base) & RCM_SRS0_WAKEUP_MASK) >> RCM_SRS0_WAKEUP_SHIFT) |
| #define RCM_BRD_SRS0_WAKEUP(base) (BME_UBFX8(&RCM_SRS0_REG(base), RCM_SRS0_WAKEUP_SHIFT, RCM_SRS0_WAKEUP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RCM_SRS0, field LVD[1] (RO) |
| * |
| * If PMC_LVDSC1[LVDRE] is set and the supply drops below the LVD trip voltage, |
| * an LVD reset occurs. This field is also set by POR. |
| * |
| * Values: |
| * - 0b0 - Reset not caused by LVD trip or POR |
| * - 0b1 - Reset caused by LVD trip or POR |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_SRS0_LVD field. */ |
| #define RCM_RD_SRS0_LVD(base) ((RCM_SRS0_REG(base) & RCM_SRS0_LVD_MASK) >> RCM_SRS0_LVD_SHIFT) |
| #define RCM_BRD_SRS0_LVD(base) (BME_UBFX8(&RCM_SRS0_REG(base), RCM_SRS0_LVD_SHIFT, RCM_SRS0_LVD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RCM_SRS0, field LOC[2] (RO) |
| * |
| * Indicates a reset has been caused by a loss of external clock. The MCG clock |
| * monitor must be enabled for a loss of clock to be detected. Refer to the |
| * detailed MCG description for information on enabling the clock monitor. |
| * |
| * Values: |
| * - 0b0 - Reset not caused by a loss of external clock. |
| * - 0b1 - Reset caused by a loss of external clock. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_SRS0_LOC field. */ |
| #define RCM_RD_SRS0_LOC(base) ((RCM_SRS0_REG(base) & RCM_SRS0_LOC_MASK) >> RCM_SRS0_LOC_SHIFT) |
| #define RCM_BRD_SRS0_LOC(base) (BME_UBFX8(&RCM_SRS0_REG(base), RCM_SRS0_LOC_SHIFT, RCM_SRS0_LOC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RCM_SRS0, field WDOG[5] (RO) |
| * |
| * Indicates a reset has been caused by the watchdog timer timing out. This |
| * reset source can be blocked by disabling the watchdog. |
| * |
| * Values: |
| * - 0b0 - Reset not caused by watchdog timeout |
| * - 0b1 - Reset caused by watchdog timeout |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_SRS0_WDOG field. */ |
| #define RCM_RD_SRS0_WDOG(base) ((RCM_SRS0_REG(base) & RCM_SRS0_WDOG_MASK) >> RCM_SRS0_WDOG_SHIFT) |
| #define RCM_BRD_SRS0_WDOG(base) (BME_UBFX8(&RCM_SRS0_REG(base), RCM_SRS0_WDOG_SHIFT, RCM_SRS0_WDOG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RCM_SRS0, field PIN[6] (RO) |
| * |
| * Indicates a reset has been caused by an active-low level on the external |
| * RESET pin. |
| * |
| * Values: |
| * - 0b0 - Reset not caused by external reset pin |
| * - 0b1 - Reset caused by external reset pin |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_SRS0_PIN field. */ |
| #define RCM_RD_SRS0_PIN(base) ((RCM_SRS0_REG(base) & RCM_SRS0_PIN_MASK) >> RCM_SRS0_PIN_SHIFT) |
| #define RCM_BRD_SRS0_PIN(base) (BME_UBFX8(&RCM_SRS0_REG(base), RCM_SRS0_PIN_SHIFT, RCM_SRS0_PIN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RCM_SRS0, field POR[7] (RO) |
| * |
| * Indicates a reset has been caused by the power-on detection logic. Because |
| * the internal supply voltage was ramping up at the time, the low-voltage reset |
| * (LVD) status bit is also set to indicate that the reset occurred while the |
| * internal supply was below the LVD threshold. |
| * |
| * Values: |
| * - 0b0 - Reset not caused by POR |
| * - 0b1 - Reset caused by POR |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_SRS0_POR field. */ |
| #define RCM_RD_SRS0_POR(base) ((RCM_SRS0_REG(base) & RCM_SRS0_POR_MASK) >> RCM_SRS0_POR_SHIFT) |
| #define RCM_BRD_SRS0_POR(base) (BME_UBFX8(&RCM_SRS0_REG(base), RCM_SRS0_POR_SHIFT, RCM_SRS0_POR_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RCM_SRS1 - System Reset Status Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RCM_SRS1 - System Reset Status Register 1 (RO) |
| * |
| * Reset value: 0x00U |
| * |
| * This register includes read-only status flags to indicate the source of the |
| * most recent reset. The reset state of these bits depends on what caused the MCU |
| * to reset. The reset value of this register depends on the reset source: POR |
| * (including LVD) - 0x00 LVD (without POR) - 0x00 VLLS mode wakeup - 0x00 Other |
| * reset - a bit is set if its corresponding reset source caused the reset |
| */ |
| /*! |
| * @name Constants and macros for entire RCM_SRS1 register |
| */ |
| /*@{*/ |
| #define RCM_RD_SRS1(base) (RCM_SRS1_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RCM_SRS1 bitfields |
| */ |
| |
| /*! |
| * @name Register RCM_SRS1, field LOCKUP[1] (RO) |
| * |
| * Indicates a reset has been caused by the ARM core indication of a LOCKUP |
| * event. |
| * |
| * Values: |
| * - 0b0 - Reset not caused by core LOCKUP event |
| * - 0b1 - Reset caused by core LOCKUP event |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_SRS1_LOCKUP field. */ |
| #define RCM_RD_SRS1_LOCKUP(base) ((RCM_SRS1_REG(base) & RCM_SRS1_LOCKUP_MASK) >> RCM_SRS1_LOCKUP_SHIFT) |
| #define RCM_BRD_SRS1_LOCKUP(base) (BME_UBFX8(&RCM_SRS1_REG(base), RCM_SRS1_LOCKUP_SHIFT, RCM_SRS1_LOCKUP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RCM_SRS1, field SW[2] (RO) |
| * |
| * Indicates a reset has been caused by software setting of SYSRESETREQ bit in |
| * Application Interrupt and Reset Control Register in the ARM core. |
| * |
| * Values: |
| * - 0b0 - Reset not caused by software setting of SYSRESETREQ bit |
| * - 0b1 - Reset caused by software setting of SYSRESETREQ bit |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_SRS1_SW field. */ |
| #define RCM_RD_SRS1_SW(base) ((RCM_SRS1_REG(base) & RCM_SRS1_SW_MASK) >> RCM_SRS1_SW_SHIFT) |
| #define RCM_BRD_SRS1_SW(base) (BME_UBFX8(&RCM_SRS1_REG(base), RCM_SRS1_SW_SHIFT, RCM_SRS1_SW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RCM_SRS1, field MDM_AP[3] (RO) |
| * |
| * Indicates a reset has been caused by the host debugger system setting of the |
| * System Reset Request bit in the MDM-AP Control Register. |
| * |
| * Values: |
| * - 0b0 - Reset not caused by host debugger system setting of the System Reset |
| * Request bit |
| * - 0b1 - Reset caused by host debugger system setting of the System Reset |
| * Request bit |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_SRS1_MDM_AP field. */ |
| #define RCM_RD_SRS1_MDM_AP(base) ((RCM_SRS1_REG(base) & RCM_SRS1_MDM_AP_MASK) >> RCM_SRS1_MDM_AP_SHIFT) |
| #define RCM_BRD_SRS1_MDM_AP(base) (BME_UBFX8(&RCM_SRS1_REG(base), RCM_SRS1_MDM_AP_SHIFT, RCM_SRS1_MDM_AP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RCM_SRS1, field SACKERR[5] (RO) |
| * |
| * Indicates that after an attempt to enter Stop mode, a reset has been caused |
| * by a failure of one or more peripherals to acknowledge within approximately one |
| * second to enter stop mode. |
| * |
| * Values: |
| * - 0b0 - Reset not caused by peripheral failure to acknowledge attempt to |
| * enter stop mode |
| * - 0b1 - Reset caused by peripheral failure to acknowledge attempt to enter |
| * stop mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_SRS1_SACKERR field. */ |
| #define RCM_RD_SRS1_SACKERR(base) ((RCM_SRS1_REG(base) & RCM_SRS1_SACKERR_MASK) >> RCM_SRS1_SACKERR_SHIFT) |
| #define RCM_BRD_SRS1_SACKERR(base) (BME_UBFX8(&RCM_SRS1_REG(base), RCM_SRS1_SACKERR_SHIFT, RCM_SRS1_SACKERR_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RCM_RPFC - Reset Pin Filter Control register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RCM_RPFC - Reset Pin Filter Control register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The reset values of bits 2-0 are for Chip POR only. They are unaffected by |
| * other reset types. The bus clock filter is reset when disabled or when entering |
| * stop mode. The LPO filter is reset when disabled . |
| */ |
| /*! |
| * @name Constants and macros for entire RCM_RPFC register |
| */ |
| /*@{*/ |
| #define RCM_RD_RPFC(base) (RCM_RPFC_REG(base)) |
| #define RCM_WR_RPFC(base, value) (RCM_RPFC_REG(base) = (value)) |
| #define RCM_RMW_RPFC(base, mask, value) (RCM_WR_RPFC(base, (RCM_RD_RPFC(base) & ~(mask)) | (value))) |
| #define RCM_SET_RPFC(base, value) (BME_OR8(&RCM_RPFC_REG(base), (uint8_t)(value))) |
| #define RCM_CLR_RPFC(base, value) (BME_AND8(&RCM_RPFC_REG(base), (uint8_t)(~(value)))) |
| #define RCM_TOG_RPFC(base, value) (BME_XOR8(&RCM_RPFC_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RCM_RPFC bitfields |
| */ |
| |
| /*! |
| * @name Register RCM_RPFC, field RSTFLTSRW[1:0] (RW) |
| * |
| * Selects how the reset pin filter is enabled in run and wait modes. |
| * |
| * Values: |
| * - 0b00 - All filtering disabled |
| * - 0b01 - Bus clock filter enabled for normal operation |
| * - 0b10 - LPO clock filter enabled for normal operation |
| * - 0b11 - Reserved (all filtering disabled) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_RPFC_RSTFLTSRW field. */ |
| #define RCM_RD_RPFC_RSTFLTSRW(base) ((RCM_RPFC_REG(base) & RCM_RPFC_RSTFLTSRW_MASK) >> RCM_RPFC_RSTFLTSRW_SHIFT) |
| #define RCM_BRD_RPFC_RSTFLTSRW(base) (BME_UBFX8(&RCM_RPFC_REG(base), RCM_RPFC_RSTFLTSRW_SHIFT, RCM_RPFC_RSTFLTSRW_WIDTH)) |
| |
| /*! @brief Set the RSTFLTSRW field to a new value. */ |
| #define RCM_WR_RPFC_RSTFLTSRW(base, value) (RCM_RMW_RPFC(base, RCM_RPFC_RSTFLTSRW_MASK, RCM_RPFC_RSTFLTSRW(value))) |
| #define RCM_BWR_RPFC_RSTFLTSRW(base, value) (BME_BFI8(&RCM_RPFC_REG(base), ((uint8_t)(value) << RCM_RPFC_RSTFLTSRW_SHIFT), RCM_RPFC_RSTFLTSRW_SHIFT, RCM_RPFC_RSTFLTSRW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RCM_RPFC, field RSTFLTSS[2] (RW) |
| * |
| * Selects how the reset pin filter is enabled in Stop and VLPS modes , and also |
| * during LLS and VLLS modes. On exit from VLLS mode, this bit should be |
| * reconfigured before clearing PMC_REGSC[ACKISO]. |
| * |
| * Values: |
| * - 0b0 - All filtering disabled |
| * - 0b1 - LPO clock filter enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_RPFC_RSTFLTSS field. */ |
| #define RCM_RD_RPFC_RSTFLTSS(base) ((RCM_RPFC_REG(base) & RCM_RPFC_RSTFLTSS_MASK) >> RCM_RPFC_RSTFLTSS_SHIFT) |
| #define RCM_BRD_RPFC_RSTFLTSS(base) (BME_UBFX8(&RCM_RPFC_REG(base), RCM_RPFC_RSTFLTSS_SHIFT, RCM_RPFC_RSTFLTSS_WIDTH)) |
| |
| /*! @brief Set the RSTFLTSS field to a new value. */ |
| #define RCM_WR_RPFC_RSTFLTSS(base, value) (RCM_RMW_RPFC(base, RCM_RPFC_RSTFLTSS_MASK, RCM_RPFC_RSTFLTSS(value))) |
| #define RCM_BWR_RPFC_RSTFLTSS(base, value) (BME_BFI8(&RCM_RPFC_REG(base), ((uint8_t)(value) << RCM_RPFC_RSTFLTSS_SHIFT), RCM_RPFC_RSTFLTSS_SHIFT, RCM_RPFC_RSTFLTSS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RCM_RPFW - Reset Pin Filter Width register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RCM_RPFW - Reset Pin Filter Width register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The reset values of the bits in the RSTFLTSEL field are for Chip POR only. |
| * They are unaffected by other reset types. |
| */ |
| /*! |
| * @name Constants and macros for entire RCM_RPFW register |
| */ |
| /*@{*/ |
| #define RCM_RD_RPFW(base) (RCM_RPFW_REG(base)) |
| #define RCM_WR_RPFW(base, value) (RCM_RPFW_REG(base) = (value)) |
| #define RCM_RMW_RPFW(base, mask, value) (RCM_WR_RPFW(base, (RCM_RD_RPFW(base) & ~(mask)) | (value))) |
| #define RCM_SET_RPFW(base, value) (BME_OR8(&RCM_RPFW_REG(base), (uint8_t)(value))) |
| #define RCM_CLR_RPFW(base, value) (BME_AND8(&RCM_RPFW_REG(base), (uint8_t)(~(value)))) |
| #define RCM_TOG_RPFW(base, value) (BME_XOR8(&RCM_RPFW_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RCM_RPFW bitfields |
| */ |
| |
| /*! |
| * @name Register RCM_RPFW, field RSTFLTSEL[4:0] (RW) |
| * |
| * Selects the reset pin bus clock filter width. |
| * |
| * Values: |
| * - 0b00000 - Bus clock filter count is 1 |
| * - 0b00001 - Bus clock filter count is 2 |
| * - 0b00010 - Bus clock filter count is 3 |
| * - 0b00011 - Bus clock filter count is 4 |
| * - 0b00100 - Bus clock filter count is 5 |
| * - 0b00101 - Bus clock filter count is 6 |
| * - 0b00110 - Bus clock filter count is 7 |
| * - 0b00111 - Bus clock filter count is 8 |
| * - 0b01000 - Bus clock filter count is 9 |
| * - 0b01001 - Bus clock filter count is 10 |
| * - 0b01010 - Bus clock filter count is 11 |
| * - 0b01011 - Bus clock filter count is 12 |
| * - 0b01100 - Bus clock filter count is 13 |
| * - 0b01101 - Bus clock filter count is 14 |
| * - 0b01110 - Bus clock filter count is 15 |
| * - 0b01111 - Bus clock filter count is 16 |
| * - 0b10000 - Bus clock filter count is 17 |
| * - 0b10001 - Bus clock filter count is 18 |
| * - 0b10010 - Bus clock filter count is 19 |
| * - 0b10011 - Bus clock filter count is 20 |
| * - 0b10100 - Bus clock filter count is 21 |
| * - 0b10101 - Bus clock filter count is 22 |
| * - 0b10110 - Bus clock filter count is 23 |
| * - 0b10111 - Bus clock filter count is 24 |
| * - 0b11000 - Bus clock filter count is 25 |
| * - 0b11001 - Bus clock filter count is 26 |
| * - 0b11010 - Bus clock filter count is 27 |
| * - 0b11011 - Bus clock filter count is 28 |
| * - 0b11100 - Bus clock filter count is 29 |
| * - 0b11101 - Bus clock filter count is 30 |
| * - 0b11110 - Bus clock filter count is 31 |
| * - 0b11111 - Bus clock filter count is 32 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RCM_RPFW_RSTFLTSEL field. */ |
| #define RCM_RD_RPFW_RSTFLTSEL(base) ((RCM_RPFW_REG(base) & RCM_RPFW_RSTFLTSEL_MASK) >> RCM_RPFW_RSTFLTSEL_SHIFT) |
| #define RCM_BRD_RPFW_RSTFLTSEL(base) (BME_UBFX8(&RCM_RPFW_REG(base), RCM_RPFW_RSTFLTSEL_SHIFT, RCM_RPFW_RSTFLTSEL_WIDTH)) |
| |
| /*! @brief Set the RSTFLTSEL field to a new value. */ |
| #define RCM_WR_RPFW_RSTFLTSEL(base, value) (RCM_RMW_RPFW(base, RCM_RPFW_RSTFLTSEL_MASK, RCM_RPFW_RSTFLTSEL(value))) |
| #define RCM_BWR_RPFW_RSTFLTSEL(base, value) (BME_BFI8(&RCM_RPFW_REG(base), ((uint8_t)(value) << RCM_RPFW_RSTFLTSEL_SHIFT), RCM_RPFW_RSTFLTSEL_SHIFT, RCM_RPFW_RSTFLTSEL_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 ROM |
| * |
| * System ROM |
| * |
| * Registers defined in this header file: |
| * - ROM_ENTRY - Entry |
| * - ROM_TABLEMARK - End of Table Marker Register |
| * - ROM_SYSACCESS - System Access Register |
| * - ROM_PERIPHID4 - Peripheral ID Register |
| * - ROM_PERIPHID5 - Peripheral ID Register |
| * - ROM_PERIPHID6 - Peripheral ID Register |
| * - ROM_PERIPHID7 - Peripheral ID Register |
| * - ROM_PERIPHID0 - Peripheral ID Register |
| * - ROM_PERIPHID1 - Peripheral ID Register |
| * - ROM_PERIPHID2 - Peripheral ID Register |
| * - ROM_PERIPHID3 - Peripheral ID Register |
| * - ROM_COMPID - Component ID Register |
| */ |
| |
| #define ROM_INSTANCE_COUNT (1U) /*!< Number of instances of the ROM module. */ |
| #define ROM_IDX (0U) /*!< Instance number for ROM. */ |
| |
| /******************************************************************************* |
| * ROM_ENTRY - Entry |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_ENTRY - Entry (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The System ROM Table begins with "n" relative 32-bit addresses, one for each |
| * debug component present in the device and terminating with an all-zero value |
| * signaling the end of the table at the "n+1"-th value. It is hardwired to |
| * specific values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_ENTRY register |
| */ |
| /*@{*/ |
| #define ROM_RD_ENTRY(base, index) (ROM_ENTRY_REG(base, index)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_TABLEMARK - End of Table Marker Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_TABLEMARK - End of Table Marker Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register indicates end of table marker. It is hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_TABLEMARK register |
| */ |
| /*@{*/ |
| #define ROM_RD_TABLEMARK(base) (ROM_TABLEMARK_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_SYSACCESS - System Access Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_SYSACCESS - System Access Register (RO) |
| * |
| * Reset value: 0x00000001U |
| * |
| * This register indicates system access. It is hardwired to specific values |
| * used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_SYSACCESS register |
| */ |
| /*@{*/ |
| #define ROM_RD_SYSACCESS(base) (ROM_SYSACCESS_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_PERIPHID4 - Peripheral ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_PERIPHID4 - Peripheral ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the peripheral IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_PERIPHID4 register |
| */ |
| /*@{*/ |
| #define ROM_RD_PERIPHID4(base) (ROM_PERIPHID4_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_PERIPHID5 - Peripheral ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_PERIPHID5 - Peripheral ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the peripheral IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_PERIPHID5 register |
| */ |
| /*@{*/ |
| #define ROM_RD_PERIPHID5(base) (ROM_PERIPHID5_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_PERIPHID6 - Peripheral ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_PERIPHID6 - Peripheral ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the peripheral IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_PERIPHID6 register |
| */ |
| /*@{*/ |
| #define ROM_RD_PERIPHID6(base) (ROM_PERIPHID6_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_PERIPHID7 - Peripheral ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_PERIPHID7 - Peripheral ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the peripheral IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_PERIPHID7 register |
| */ |
| /*@{*/ |
| #define ROM_RD_PERIPHID7(base) (ROM_PERIPHID7_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_PERIPHID0 - Peripheral ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_PERIPHID0 - Peripheral ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the peripheral IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_PERIPHID0 register |
| */ |
| /*@{*/ |
| #define ROM_RD_PERIPHID0(base) (ROM_PERIPHID0_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_PERIPHID1 - Peripheral ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_PERIPHID1 - Peripheral ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the peripheral IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_PERIPHID1 register |
| */ |
| /*@{*/ |
| #define ROM_RD_PERIPHID1(base) (ROM_PERIPHID1_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_PERIPHID2 - Peripheral ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_PERIPHID2 - Peripheral ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the peripheral IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_PERIPHID2 register |
| */ |
| /*@{*/ |
| #define ROM_RD_PERIPHID2(base) (ROM_PERIPHID2_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_PERIPHID3 - Peripheral ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_PERIPHID3 - Peripheral ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the peripheral IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_PERIPHID3 register |
| */ |
| /*@{*/ |
| #define ROM_RD_PERIPHID3(base) (ROM_PERIPHID3_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ROM_COMPID - Component ID Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ROM_COMPID - Component ID Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers indicate the component IDs. They are hardwired to specific |
| * values used during the auto-discovery process by an external debug agent. |
| */ |
| /*! |
| * @name Constants and macros for entire ROM_COMPID register |
| */ |
| /*@{*/ |
| #define ROM_RD_COMPID(base, index) (ROM_COMPID_REG(base, index)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 RSIM |
| * |
| * Radio System Integration Module |
| * |
| * Registers defined in this header file: |
| * - RSIM_CONTROL - RSIM Control |
| * - RSIM_ACTIVE_DELAY - RSIM BLE Active Delay |
| * - RSIM_MAC_MSB - RSIM MAC MSB |
| * - RSIM_MAC_LSB - RSIM MAC LSB |
| * - RSIM_ANA_TEST - RSIM Analog Test |
| */ |
| |
| #define RSIM_INSTANCE_COUNT (1U) /*!< Number of instances of the RSIM module. */ |
| #define RSIM_IDX (0U) /*!< Instance number for RSIM. */ |
| |
| /******************************************************************************* |
| * RSIM_CONTROL - RSIM Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RSIM_CONTROL - RSIM Control (RW) |
| * |
| * Reset value: 0x00C00000U |
| * |
| * The RSIM Control register provides various control bits for the Radio System |
| * and for its interaction with the SoC Systems. |
| */ |
| /*! |
| * @name Constants and macros for entire RSIM_CONTROL register |
| */ |
| /*@{*/ |
| #define RSIM_RD_CONTROL(base) (RSIM_CONTROL_REG(base)) |
| #define RSIM_WR_CONTROL(base, value) (RSIM_CONTROL_REG(base) = (value)) |
| #define RSIM_RMW_CONTROL(base, mask, value) (RSIM_WR_CONTROL(base, (RSIM_RD_CONTROL(base) & ~(mask)) | (value))) |
| #define RSIM_SET_CONTROL(base, value) (BME_OR32(&RSIM_CONTROL_REG(base), (uint32_t)(value))) |
| #define RSIM_CLR_CONTROL(base, value) (BME_AND32(&RSIM_CONTROL_REG(base), (uint32_t)(~(value)))) |
| #define RSIM_TOG_CONTROL(base, value) (BME_XOR32(&RSIM_CONTROL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RSIM_CONTROL bitfields |
| */ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field BLE_RF_OSC_REQ_EN[0] (RW) |
| * |
| * This bit resets on POR only. If this bit is cleared (the default state), then |
| * all BLE link layer requests to turn on the RF Ref Oscillator (Sysclk Req) |
| * will be blocked and ignored. In BLE protocols the BLE link layer will always |
| * restart when exiting reset by first Requesting the RF Ref Osc (Sysclk Req), this |
| * bit blocks that behavior until software configures the Radio and enables the |
| * requests. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_BLE_RF_OSC_REQ_EN field. */ |
| #define RSIM_RD_CONTROL_BLE_RF_OSC_REQ_EN(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_BLE_RF_OSC_REQ_EN_MASK) >> RSIM_CONTROL_BLE_RF_OSC_REQ_EN_SHIFT) |
| #define RSIM_BRD_CONTROL_BLE_RF_OSC_REQ_EN(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_BLE_RF_OSC_REQ_EN_SHIFT, RSIM_CONTROL_BLE_RF_OSC_REQ_EN_WIDTH)) |
| |
| /*! @brief Set the BLE_RF_OSC_REQ_EN field to a new value. */ |
| #define RSIM_WR_CONTROL_BLE_RF_OSC_REQ_EN(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_BLE_RF_OSC_REQ_EN_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_BLE_RF_OSC_REQ_EN(value))) |
| #define RSIM_BWR_CONTROL_BLE_RF_OSC_REQ_EN(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_BLE_RF_OSC_REQ_EN_SHIFT), RSIM_CONTROL_BLE_RF_OSC_REQ_EN_SHIFT, RSIM_CONTROL_BLE_RF_OSC_REQ_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field BLE_RF_OSC_REQ_STAT[1] (RO) |
| * |
| * This bit indicates the current status of the BLE link layer request to turn |
| * on the RF Ref Oscillator (Sysclk Req). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_BLE_RF_OSC_REQ_STAT field. */ |
| #define RSIM_RD_CONTROL_BLE_RF_OSC_REQ_STAT(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_BLE_RF_OSC_REQ_STAT_MASK) >> RSIM_CONTROL_BLE_RF_OSC_REQ_STAT_SHIFT) |
| #define RSIM_BRD_CONTROL_BLE_RF_OSC_REQ_STAT(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_BLE_RF_OSC_REQ_STAT_SHIFT, RSIM_CONTROL_BLE_RF_OSC_REQ_STAT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field BLE_RF_OSC_REQ_INT_EN[4] (RW) |
| * |
| * This bit enables an interrupt request when the enabled version of the BLE Ref |
| * Osc (Sysclk) Request is asserted high. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_BLE_RF_OSC_REQ_INT_EN field. */ |
| #define RSIM_RD_CONTROL_BLE_RF_OSC_REQ_INT_EN(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_BLE_RF_OSC_REQ_INT_EN_MASK) >> RSIM_CONTROL_BLE_RF_OSC_REQ_INT_EN_SHIFT) |
| #define RSIM_BRD_CONTROL_BLE_RF_OSC_REQ_INT_EN(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_BLE_RF_OSC_REQ_INT_EN_SHIFT, RSIM_CONTROL_BLE_RF_OSC_REQ_INT_EN_WIDTH)) |
| |
| /*! @brief Set the BLE_RF_OSC_REQ_INT_EN field to a new value. */ |
| #define RSIM_WR_CONTROL_BLE_RF_OSC_REQ_INT_EN(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_BLE_RF_OSC_REQ_INT_EN_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_BLE_RF_OSC_REQ_INT_EN(value))) |
| #define RSIM_BWR_CONTROL_BLE_RF_OSC_REQ_INT_EN(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_BLE_RF_OSC_REQ_INT_EN_SHIFT), RSIM_CONTROL_BLE_RF_OSC_REQ_INT_EN_SHIFT, RSIM_CONTROL_BLE_RF_OSC_REQ_INT_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field BLE_RF_OSC_REQ_INT[5] (W1C) |
| * |
| * This bit is an interrupt flag that is set when the enabled version of the BLE |
| * Ref Osc (Sysclk) Request is asserted high. This interrupt flag is cleared by |
| * writing a 1 to it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_BLE_RF_OSC_REQ_INT field. */ |
| #define RSIM_RD_CONTROL_BLE_RF_OSC_REQ_INT(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK) >> RSIM_CONTROL_BLE_RF_OSC_REQ_INT_SHIFT) |
| #define RSIM_BRD_CONTROL_BLE_RF_OSC_REQ_INT(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_BLE_RF_OSC_REQ_INT_SHIFT, RSIM_CONTROL_BLE_RF_OSC_REQ_INT_WIDTH)) |
| |
| /*! @brief Set the BLE_RF_OSC_REQ_INT field to a new value. */ |
| #define RSIM_WR_CONTROL_BLE_RF_OSC_REQ_INT(base, value) (RSIM_RMW_CONTROL(base, RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK, RSIM_CONTROL_BLE_RF_OSC_REQ_INT(value))) |
| #define RSIM_BWR_CONTROL_BLE_RF_OSC_REQ_INT(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_BLE_RF_OSC_REQ_INT_SHIFT), RSIM_CONTROL_BLE_RF_OSC_REQ_INT_SHIFT, RSIM_CONTROL_BLE_RF_OSC_REQ_INT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field RF_OSC_EN[11:8] (RW) |
| * |
| * The RF Reference Oscillator can be enabled by the BLE link layer, by an SoC |
| * MCG mode, or by these bits. If these bits are all cleared, 0000, then the RF |
| * Ref Osc will be controlled by the SoC or the BLE link layer. If any of these |
| * bits are set then the RF Ref Osc will be on in the SoC power modes as shown |
| * below. Note that the enables are additive; each bit adds another low power mode. |
| * |
| * Values: |
| * - 0b0000 - RF Ref Osc will be controlled by the SoC or the BLE link layer |
| * - 0b0001 - RF Ref Osc on in Run/Wait |
| * - 0b0011 - RF Ref Osc on in Stop |
| * - 0b0111 - RF Ref Osc on in VLPR/VLPW |
| * - 0b1111 - RF Ref Osc on in VLPS |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_RF_OSC_EN field. */ |
| #define RSIM_RD_CONTROL_RF_OSC_EN(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_RF_OSC_EN_MASK) >> RSIM_CONTROL_RF_OSC_EN_SHIFT) |
| #define RSIM_BRD_CONTROL_RF_OSC_EN(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_RF_OSC_EN_SHIFT, RSIM_CONTROL_RF_OSC_EN_WIDTH)) |
| |
| /*! @brief Set the RF_OSC_EN field to a new value. */ |
| #define RSIM_WR_CONTROL_RF_OSC_EN(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_RF_OSC_EN_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_RF_OSC_EN(value))) |
| #define RSIM_BWR_CONTROL_RF_OSC_EN(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_RF_OSC_EN_SHIFT), RSIM_CONTROL_RF_OSC_EN_SHIFT, RSIM_CONTROL_RF_OSC_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field GASKET_BYPASS_OVRD_EN[12] (RW) |
| * |
| * The SoC platform has an asynchronous gasket that allows register access for |
| * the Radio registers in all SoC clocking modes. This bit allows software to |
| * directly control the SoC platform asynchronous gasket bypass signal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_GASKET_BYPASS_OVRD_EN field. */ |
| #define RSIM_RD_CONTROL_GASKET_BYPASS_OVRD_EN(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_GASKET_BYPASS_OVRD_EN_MASK) >> RSIM_CONTROL_GASKET_BYPASS_OVRD_EN_SHIFT) |
| #define RSIM_BRD_CONTROL_GASKET_BYPASS_OVRD_EN(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_GASKET_BYPASS_OVRD_EN_SHIFT, RSIM_CONTROL_GASKET_BYPASS_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the GASKET_BYPASS_OVRD_EN field to a new value. */ |
| #define RSIM_WR_CONTROL_GASKET_BYPASS_OVRD_EN(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_GASKET_BYPASS_OVRD_EN_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_GASKET_BYPASS_OVRD_EN(value))) |
| #define RSIM_BWR_CONTROL_GASKET_BYPASS_OVRD_EN(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_GASKET_BYPASS_OVRD_EN_SHIFT), RSIM_CONTROL_GASKET_BYPASS_OVRD_EN_SHIFT, RSIM_CONTROL_GASKET_BYPASS_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field GASKET_BYPASS_OVRD[13] (RW) |
| * |
| * This bit directly controls the SoC platform asynchronous gasket bypass signal |
| * when the Gasket Bypass Override is enabled. The default behavior of the SoC |
| * Asynchronous Gasket is Not Bypassed, which means the Radio registers are |
| * accessed using the RF Ref Osc clock. The Radio sends the RF Ref Osc to the |
| * asynchronous gasket which then uses that clock for SoC register accesses of the Radio |
| * registers. This requires the RF Ref Osc to be Enabled and Ready. If the RF Ref |
| * Osc is not Enabled and Ready, then the IPS Gasket can be overridden to be in |
| * Bypass Mode, which forces the use of the SoC IPG clock as the register access |
| * clock. If the RF Ref Osc IS Enabled and Ready, then the IPS Gasket can be |
| * overridden to be in Bypass Mode, but this is an ILLEGALL ACCESS if the Radio is |
| * operational, DO NOT write Radio registers with the Asynchronous Gasket Bypassed |
| * when the Radio is Operating. Test mode access is allowed but glitches may |
| * occur. The intent of Bypass Mode is to allow software to configure the Radio before |
| * the RF Ref Osc is Enabled and Ready. Note that the BLE Link Layer registers |
| * can only be accessed when the RF Ref Osc is Enabled and Ready. The following |
| * table shows which clock is being used to access the Radio XCVR and Zigbee |
| * registers. Gasket Bypass Override Enable Gasket Bypass Override XCVR and Zigbee |
| * Register Clock 1 0 RF Ref Osc Clock 1 1 SoC IPG Clock 0 x RF Ref Osc Clock |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_GASKET_BYPASS_OVRD field. */ |
| #define RSIM_RD_CONTROL_GASKET_BYPASS_OVRD(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_GASKET_BYPASS_OVRD_MASK) >> RSIM_CONTROL_GASKET_BYPASS_OVRD_SHIFT) |
| #define RSIM_BRD_CONTROL_GASKET_BYPASS_OVRD(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_GASKET_BYPASS_OVRD_SHIFT, RSIM_CONTROL_GASKET_BYPASS_OVRD_WIDTH)) |
| |
| /*! @brief Set the GASKET_BYPASS_OVRD field to a new value. */ |
| #define RSIM_WR_CONTROL_GASKET_BYPASS_OVRD(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_GASKET_BYPASS_OVRD_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_GASKET_BYPASS_OVRD(value))) |
| #define RSIM_BWR_CONTROL_GASKET_BYPASS_OVRD(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_GASKET_BYPASS_OVRD_SHIFT), RSIM_CONTROL_GASKET_BYPASS_OVRD_SHIFT, RSIM_CONTROL_GASKET_BYPASS_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field RF_OSC_BYPASS_EN[14] (RW) |
| * |
| * This bit engages the RF Ref Osc analog bypass circuit if the RF Ref Osc is |
| * enabled. When the RF Ref Osc is in bypass mode it passes the EXTAL clock as the |
| * RF Ref Osc clock. Note that the RF Ref Osc Ready signal is always asserted in |
| * RF Ref Osc Bypass mode, unless overridden with the RF_OSC_READY_OVRD_EN bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_RF_OSC_BYPASS_EN field. */ |
| #define RSIM_RD_CONTROL_RF_OSC_BYPASS_EN(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_RF_OSC_BYPASS_EN_MASK) >> RSIM_CONTROL_RF_OSC_BYPASS_EN_SHIFT) |
| #define RSIM_BRD_CONTROL_RF_OSC_BYPASS_EN(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_RF_OSC_BYPASS_EN_SHIFT, RSIM_CONTROL_RF_OSC_BYPASS_EN_WIDTH)) |
| |
| /*! @brief Set the RF_OSC_BYPASS_EN field to a new value. */ |
| #define RSIM_WR_CONTROL_RF_OSC_BYPASS_EN(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_RF_OSC_BYPASS_EN_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_RF_OSC_BYPASS_EN(value))) |
| #define RSIM_BWR_CONTROL_RF_OSC_BYPASS_EN(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_RF_OSC_BYPASS_EN_SHIFT), RSIM_CONTROL_RF_OSC_BYPASS_EN_SHIFT, RSIM_CONTROL_RF_OSC_BYPASS_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field BLE_ACTIVE_PORT_1_SEL[16] (RW) |
| * |
| * This bit enables the Output Driver (OBE) on the SoC port 1 that provides the |
| * BLE Active signal as a pad interface option. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_BLE_ACTIVE_PORT_1_SEL field. */ |
| #define RSIM_RD_CONTROL_BLE_ACTIVE_PORT_1_SEL(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_BLE_ACTIVE_PORT_1_SEL_MASK) >> RSIM_CONTROL_BLE_ACTIVE_PORT_1_SEL_SHIFT) |
| #define RSIM_BRD_CONTROL_BLE_ACTIVE_PORT_1_SEL(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_BLE_ACTIVE_PORT_1_SEL_SHIFT, RSIM_CONTROL_BLE_ACTIVE_PORT_1_SEL_WIDTH)) |
| |
| /*! @brief Set the BLE_ACTIVE_PORT_1_SEL field to a new value. */ |
| #define RSIM_WR_CONTROL_BLE_ACTIVE_PORT_1_SEL(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_BLE_ACTIVE_PORT_1_SEL_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_BLE_ACTIVE_PORT_1_SEL(value))) |
| #define RSIM_BWR_CONTROL_BLE_ACTIVE_PORT_1_SEL(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_BLE_ACTIVE_PORT_1_SEL_SHIFT), RSIM_CONTROL_BLE_ACTIVE_PORT_1_SEL_SHIFT, RSIM_CONTROL_BLE_ACTIVE_PORT_1_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field BLE_ACTIVE_PORT_2_SEL[17] (RW) |
| * |
| * This bit enables the Output Driver (OBE) on the SoC port 2 that provides the |
| * BLE Active signal as a pad interface option. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_BLE_ACTIVE_PORT_2_SEL field. */ |
| #define RSIM_RD_CONTROL_BLE_ACTIVE_PORT_2_SEL(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_BLE_ACTIVE_PORT_2_SEL_MASK) >> RSIM_CONTROL_BLE_ACTIVE_PORT_2_SEL_SHIFT) |
| #define RSIM_BRD_CONTROL_BLE_ACTIVE_PORT_2_SEL(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_BLE_ACTIVE_PORT_2_SEL_SHIFT, RSIM_CONTROL_BLE_ACTIVE_PORT_2_SEL_WIDTH)) |
| |
| /*! @brief Set the BLE_ACTIVE_PORT_2_SEL field to a new value. */ |
| #define RSIM_WR_CONTROL_BLE_ACTIVE_PORT_2_SEL(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_BLE_ACTIVE_PORT_2_SEL_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_BLE_ACTIVE_PORT_2_SEL(value))) |
| #define RSIM_BWR_CONTROL_BLE_ACTIVE_PORT_2_SEL(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_BLE_ACTIVE_PORT_2_SEL_SHIFT), RSIM_CONTROL_BLE_ACTIVE_PORT_2_SEL_SHIFT, RSIM_CONTROL_BLE_ACTIVE_PORT_2_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field BLE_DEEP_SLEEP_EXIT[20] (RW) |
| * |
| * This bit forces the BLE link layer to wakeup from Deep Sleep Mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_BLE_DEEP_SLEEP_EXIT field. */ |
| #define RSIM_RD_CONTROL_BLE_DEEP_SLEEP_EXIT(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_BLE_DEEP_SLEEP_EXIT_MASK) >> RSIM_CONTROL_BLE_DEEP_SLEEP_EXIT_SHIFT) |
| #define RSIM_BRD_CONTROL_BLE_DEEP_SLEEP_EXIT(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_BLE_DEEP_SLEEP_EXIT_SHIFT, RSIM_CONTROL_BLE_DEEP_SLEEP_EXIT_WIDTH)) |
| |
| /*! @brief Set the BLE_DEEP_SLEEP_EXIT field to a new value. */ |
| #define RSIM_WR_CONTROL_BLE_DEEP_SLEEP_EXIT(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_BLE_DEEP_SLEEP_EXIT_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_BLE_DEEP_SLEEP_EXIT(value))) |
| #define RSIM_BWR_CONTROL_BLE_DEEP_SLEEP_EXIT(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_BLE_DEEP_SLEEP_EXIT_SHIFT), RSIM_CONTROL_BLE_DEEP_SLEEP_EXIT_SHIFT, RSIM_CONTROL_BLE_DEEP_SLEEP_EXIT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field STOP_ACK_OVRD_EN[22] (RW) |
| * |
| * This bit enables an override of the Stop Acknowledge signal. If not |
| * overwritten, Radio Stop Acknowledge is nominally based on the enabled version of the |
| * BLE Ref Osc (Sysclk) Request. The following table shows the state of the nominal |
| * Radio Stop Acknowledge signal as presented to the SoC Core Platform BLE Ref |
| * Osc (Sysclk) Request Enable BLE Ref Osc (Sysclk) Request Radio Stop Acknowledge |
| * to SoC 1 0 1 1 1 0 0 x 1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_STOP_ACK_OVRD_EN field. */ |
| #define RSIM_RD_CONTROL_STOP_ACK_OVRD_EN(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_STOP_ACK_OVRD_EN_MASK) >> RSIM_CONTROL_STOP_ACK_OVRD_EN_SHIFT) |
| #define RSIM_BRD_CONTROL_STOP_ACK_OVRD_EN(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_STOP_ACK_OVRD_EN_SHIFT, RSIM_CONTROL_STOP_ACK_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the STOP_ACK_OVRD_EN field to a new value. */ |
| #define RSIM_WR_CONTROL_STOP_ACK_OVRD_EN(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_STOP_ACK_OVRD_EN_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_STOP_ACK_OVRD_EN(value))) |
| #define RSIM_BWR_CONTROL_STOP_ACK_OVRD_EN(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_STOP_ACK_OVRD_EN_SHIFT), RSIM_CONTROL_STOP_ACK_OVRD_EN_SHIFT, RSIM_CONTROL_STOP_ACK_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field STOP_ACK_OVRD[23] (RW) |
| * |
| * This bit controls the Stop Acknowledge signal to the SoC Core Platform in |
| * Override mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_STOP_ACK_OVRD field. */ |
| #define RSIM_RD_CONTROL_STOP_ACK_OVRD(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_STOP_ACK_OVRD_MASK) >> RSIM_CONTROL_STOP_ACK_OVRD_SHIFT) |
| #define RSIM_BRD_CONTROL_STOP_ACK_OVRD(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_STOP_ACK_OVRD_SHIFT, RSIM_CONTROL_STOP_ACK_OVRD_WIDTH)) |
| |
| /*! @brief Set the STOP_ACK_OVRD field to a new value. */ |
| #define RSIM_WR_CONTROL_STOP_ACK_OVRD(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_STOP_ACK_OVRD_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_STOP_ACK_OVRD(value))) |
| #define RSIM_BWR_CONTROL_STOP_ACK_OVRD(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_STOP_ACK_OVRD_SHIFT), RSIM_CONTROL_STOP_ACK_OVRD_SHIFT, RSIM_CONTROL_STOP_ACK_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field RF_OSC_READY[24] (RO) |
| * |
| * The RF Reference Oscillator has an internal counter that gates off the RF Ref |
| * Osc clock until the selected count is reached. This bit shows the status of |
| * the RF Ref Osc ready signal that comes from that counter, except in RF Ref Osc |
| * Bypass Mode. In RF Ref Osc Bypass Mode this bit will always be asserted, but |
| * the signals that are derived from the RF Ref Osc Ready signal can be overridden |
| * using the RF_OSC_READY_OVRD bit |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_RF_OSC_READY field. */ |
| #define RSIM_RD_CONTROL_RF_OSC_READY(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_RF_OSC_READY_MASK) >> RSIM_CONTROL_RF_OSC_READY_SHIFT) |
| #define RSIM_BRD_CONTROL_RF_OSC_READY(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_RF_OSC_READY_SHIFT, RSIM_CONTROL_RF_OSC_READY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field RF_OSC_READY_OVRD_EN[25] (RW) |
| * |
| * This bit enables the RF Ref Osc Ready Override bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_RF_OSC_READY_OVRD_EN field. */ |
| #define RSIM_RD_CONTROL_RF_OSC_READY_OVRD_EN(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_RF_OSC_READY_OVRD_EN_MASK) >> RSIM_CONTROL_RF_OSC_READY_OVRD_EN_SHIFT) |
| #define RSIM_BRD_CONTROL_RF_OSC_READY_OVRD_EN(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_RF_OSC_READY_OVRD_EN_SHIFT, RSIM_CONTROL_RF_OSC_READY_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the RF_OSC_READY_OVRD_EN field to a new value. */ |
| #define RSIM_WR_CONTROL_RF_OSC_READY_OVRD_EN(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_RF_OSC_READY_OVRD_EN_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_RF_OSC_READY_OVRD_EN(value))) |
| #define RSIM_BWR_CONTROL_RF_OSC_READY_OVRD_EN(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_RF_OSC_READY_OVRD_EN_SHIFT), RSIM_CONTROL_RF_OSC_READY_OVRD_EN_SHIFT, RSIM_CONTROL_RF_OSC_READY_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field RF_OSC_READY_OVRD[26] (RW) |
| * |
| * This bit directly controls the Radio RF Ref Osc Ready signal when the RF Ref |
| * Osc Ready Override is enabled. All Radio and SoC signals that are derived from |
| * the RF Ref Osc Ready signal can be overridden using this bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_RF_OSC_READY_OVRD field. */ |
| #define RSIM_RD_CONTROL_RF_OSC_READY_OVRD(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_RF_OSC_READY_OVRD_MASK) >> RSIM_CONTROL_RF_OSC_READY_OVRD_SHIFT) |
| #define RSIM_BRD_CONTROL_RF_OSC_READY_OVRD(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_RF_OSC_READY_OVRD_SHIFT, RSIM_CONTROL_RF_OSC_READY_OVRD_WIDTH)) |
| |
| /*! @brief Set the RF_OSC_READY_OVRD field to a new value. */ |
| #define RSIM_WR_CONTROL_RF_OSC_READY_OVRD(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_RF_OSC_READY_OVRD_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_RF_OSC_READY_OVRD(value))) |
| #define RSIM_BWR_CONTROL_RF_OSC_READY_OVRD(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_RF_OSC_READY_OVRD_SHIFT), RSIM_CONTROL_RF_OSC_READY_OVRD_SHIFT, RSIM_CONTROL_RF_OSC_READY_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field BLOCK_RADIO_RESETS[28] (RW) |
| * |
| * This bit resets on POR only. This bit is intended to allow the SoC to perform |
| * concurrent testing of various SoC logic while the Radio is operating |
| * independently. Any SoC resets will be blocked and the Radio will not be affected by |
| * them when this bit is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_BLOCK_RADIO_RESETS field. */ |
| #define RSIM_RD_CONTROL_BLOCK_RADIO_RESETS(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_BLOCK_RADIO_RESETS_MASK) >> RSIM_CONTROL_BLOCK_RADIO_RESETS_SHIFT) |
| #define RSIM_BRD_CONTROL_BLOCK_RADIO_RESETS(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_BLOCK_RADIO_RESETS_SHIFT, RSIM_CONTROL_BLOCK_RADIO_RESETS_WIDTH)) |
| |
| /*! @brief Set the BLOCK_RADIO_RESETS field to a new value. */ |
| #define RSIM_WR_CONTROL_BLOCK_RADIO_RESETS(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_BLOCK_RADIO_RESETS_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_BLOCK_RADIO_RESETS(value))) |
| #define RSIM_BWR_CONTROL_BLOCK_RADIO_RESETS(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_BLOCK_RADIO_RESETS_SHIFT), RSIM_CONTROL_BLOCK_RADIO_RESETS_SHIFT, RSIM_CONTROL_BLOCK_RADIO_RESETS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field BLOCK_RADIO_OUTPUTS[29] (RW) |
| * |
| * This bit resets on POR only. This bit is intended to allow the SoC to perform |
| * concurrent testing of various SoC logic while the Radio is operating |
| * independently. Any Radio output signals that go to the SoC will be blocked so as to |
| * not affect the SoC testing when this bit is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_BLOCK_RADIO_OUTPUTS field. */ |
| #define RSIM_RD_CONTROL_BLOCK_RADIO_OUTPUTS(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_BLOCK_RADIO_OUTPUTS_MASK) >> RSIM_CONTROL_BLOCK_RADIO_OUTPUTS_SHIFT) |
| #define RSIM_BRD_CONTROL_BLOCK_RADIO_OUTPUTS(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_BLOCK_RADIO_OUTPUTS_SHIFT, RSIM_CONTROL_BLOCK_RADIO_OUTPUTS_WIDTH)) |
| |
| /*! @brief Set the BLOCK_RADIO_OUTPUTS field to a new value. */ |
| #define RSIM_WR_CONTROL_BLOCK_RADIO_OUTPUTS(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_BLOCK_RADIO_OUTPUTS_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_BLOCK_RADIO_OUTPUTS(value))) |
| #define RSIM_BWR_CONTROL_BLOCK_RADIO_OUTPUTS(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_BLOCK_RADIO_OUTPUTS_SHIFT), RSIM_CONTROL_BLOCK_RADIO_OUTPUTS_SHIFT, RSIM_CONTROL_BLOCK_RADIO_OUTPUTS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_CONTROL, field RADIO_RESET[31] (RW) |
| * |
| * This bit resets on POR only. When the Radio Resets are Blocked, setting this |
| * bit will reset all the radio logic until this bit is cleared. Note that due to |
| * internal Radio Reset Exit synchronizing logic there must be a second access |
| * to an RSIM register to clear this software reset, so please write this bit to 0 |
| * twice when clearing it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_CONTROL_RADIO_RESET field. */ |
| #define RSIM_RD_CONTROL_RADIO_RESET(base) ((RSIM_CONTROL_REG(base) & RSIM_CONTROL_RADIO_RESET_MASK) >> RSIM_CONTROL_RADIO_RESET_SHIFT) |
| #define RSIM_BRD_CONTROL_RADIO_RESET(base) (BME_UBFX32(&RSIM_CONTROL_REG(base), RSIM_CONTROL_RADIO_RESET_SHIFT, RSIM_CONTROL_RADIO_RESET_WIDTH)) |
| |
| /*! @brief Set the RADIO_RESET field to a new value. */ |
| #define RSIM_WR_CONTROL_RADIO_RESET(base, value) (RSIM_RMW_CONTROL(base, (RSIM_CONTROL_RADIO_RESET_MASK | RSIM_CONTROL_BLE_RF_OSC_REQ_INT_MASK), RSIM_CONTROL_RADIO_RESET(value))) |
| #define RSIM_BWR_CONTROL_RADIO_RESET(base, value) (BME_BFI32(&RSIM_CONTROL_REG(base), ((uint32_t)(value) << RSIM_CONTROL_RADIO_RESET_SHIFT), RSIM_CONTROL_RADIO_RESET_SHIFT, RSIM_CONTROL_RADIO_RESET_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RSIM_ACTIVE_DELAY - RSIM BLE Active Delay |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RSIM_ACTIVE_DELAY - RSIM BLE Active Delay (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RSIM BLE Active Delay register provides control bits to adjust the delay |
| * of the BLE Active signal that is presented to the SoC Flash System. |
| */ |
| /*! |
| * @name Constants and macros for entire RSIM_ACTIVE_DELAY register |
| */ |
| /*@{*/ |
| #define RSIM_RD_ACTIVE_DELAY(base) (RSIM_ACTIVE_DELAY_REG(base)) |
| #define RSIM_WR_ACTIVE_DELAY(base, value) (RSIM_ACTIVE_DELAY_REG(base) = (value)) |
| #define RSIM_RMW_ACTIVE_DELAY(base, mask, value) (RSIM_WR_ACTIVE_DELAY(base, (RSIM_RD_ACTIVE_DELAY(base) & ~(mask)) | (value))) |
| #define RSIM_SET_ACTIVE_DELAY(base, value) (BME_OR32(&RSIM_ACTIVE_DELAY_REG(base), (uint32_t)(value))) |
| #define RSIM_CLR_ACTIVE_DELAY(base, value) (BME_AND32(&RSIM_ACTIVE_DELAY_REG(base), (uint32_t)(~(value)))) |
| #define RSIM_TOG_ACTIVE_DELAY(base, value) (BME_XOR32(&RSIM_ACTIVE_DELAY_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RSIM_ACTIVE_DELAY bitfields |
| */ |
| |
| /*! |
| * @name Register RSIM_ACTIVE_DELAY, field BLE_ACTIVE_FINE_DELAY[5:0] (RW) |
| * |
| * The SoC Flash is presented with a BLE Active early warning signal to allow |
| * the Flash to complete any program or erase activities prior to a Radio |
| * communication event. This warning signal is delayed from the BLE Active signal provided |
| * by the BLE link layer. The amount of the delay from the BLE link layer is |
| * calculated as follows: BLE Active link layer delay - ( BLE Active Flash Fine |
| * Delay x 32 kHz clock period x 4 ) - ( BLE Active Flash Coarse Delay x 32 kHz clock |
| * period x 64 ) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY field. */ |
| #define RSIM_RD_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY(base) ((RSIM_ACTIVE_DELAY_REG(base) & RSIM_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY_MASK) >> RSIM_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY_SHIFT) |
| #define RSIM_BRD_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY(base) (BME_UBFX32(&RSIM_ACTIVE_DELAY_REG(base), RSIM_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY_SHIFT, RSIM_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY_WIDTH)) |
| |
| /*! @brief Set the BLE_ACTIVE_FINE_DELAY field to a new value. */ |
| #define RSIM_WR_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY(base, value) (RSIM_RMW_ACTIVE_DELAY(base, RSIM_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY_MASK, RSIM_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY(value))) |
| #define RSIM_BWR_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY(base, value) (BME_BFI32(&RSIM_ACTIVE_DELAY_REG(base), ((uint32_t)(value) << RSIM_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY_SHIFT), RSIM_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY_SHIFT, RSIM_ACTIVE_DELAY_BLE_ACTIVE_FINE_DELAY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_ACTIVE_DELAY, field BLE_ACTIVE_COARSE_DELAY[19:16] (RW) |
| * |
| * The SoC Flash is presented with a BLE Active early warning signal to allow |
| * the Flash to complete any program or erase activities prior to a Radio |
| * communication event. This warning signal is delayed from the BLE Active signal provided |
| * by the BLE link layer. The timing of the Flash delay is calculated as |
| * follows: BLE Active link layer delay - ( BLE Active Flash Fine Delay x 32 kHz clock |
| * period x 4 ) - ( BLE Active Flash Coarse Delay x 32 kHz clock period x 64 ) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY field. */ |
| #define RSIM_RD_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY(base) ((RSIM_ACTIVE_DELAY_REG(base) & RSIM_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY_MASK) >> RSIM_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY_SHIFT) |
| #define RSIM_BRD_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY(base) (BME_UBFX32(&RSIM_ACTIVE_DELAY_REG(base), RSIM_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY_SHIFT, RSIM_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY_WIDTH)) |
| |
| /*! @brief Set the BLE_ACTIVE_COARSE_DELAY field to a new value. */ |
| #define RSIM_WR_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY(base, value) (RSIM_RMW_ACTIVE_DELAY(base, RSIM_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY_MASK, RSIM_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY(value))) |
| #define RSIM_BWR_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY(base, value) (BME_BFI32(&RSIM_ACTIVE_DELAY_REG(base), ((uint32_t)(value) << RSIM_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY_SHIFT), RSIM_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY_SHIFT, RSIM_ACTIVE_DELAY_BLE_ACTIVE_COARSE_DELAY_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RSIM_MAC_MSB - RSIM MAC MSB |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RSIM_MAC_MSB - RSIM MAC MSB (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RSIM MAC Address registers provide a unique ID that is stored in the |
| * Flash during factory test |
| */ |
| /*! |
| * @name Constants and macros for entire RSIM_MAC_MSB register |
| */ |
| /*@{*/ |
| #define RSIM_RD_MAC_MSB(base) (RSIM_MAC_MSB_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RSIM_MAC_MSB bitfields |
| */ |
| |
| /*! |
| * @name Register RSIM_MAC_MSB, field MAC_ADDR_MSB[7:0] (RO) |
| * |
| * The RSIM MAC Address is loaded from the Flash IFR during the SoC Power on |
| * Reset sequence. The MAC Address is a unique ID that is stored in the Flash during |
| * factory test. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_MAC_MSB_MAC_ADDR_MSB field. */ |
| #define RSIM_RD_MAC_MSB_MAC_ADDR_MSB(base) ((RSIM_MAC_MSB_REG(base) & RSIM_MAC_MSB_MAC_ADDR_MSB_MASK) >> RSIM_MAC_MSB_MAC_ADDR_MSB_SHIFT) |
| #define RSIM_BRD_MAC_MSB_MAC_ADDR_MSB(base) (BME_UBFX32(&RSIM_MAC_MSB_REG(base), RSIM_MAC_MSB_MAC_ADDR_MSB_SHIFT, RSIM_MAC_MSB_MAC_ADDR_MSB_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RSIM_MAC_LSB - RSIM MAC LSB |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RSIM_MAC_LSB - RSIM MAC LSB (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RSIM MAC Address registers provide a unique ID that is stored in the |
| * Flash during factory test |
| */ |
| /*! |
| * @name Constants and macros for entire RSIM_MAC_LSB register |
| */ |
| /*@{*/ |
| #define RSIM_RD_MAC_LSB(base) (RSIM_MAC_LSB_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RSIM_ANA_TEST - RSIM Analog Test |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RSIM_ANA_TEST - RSIM Analog Test (RW) |
| * |
| * Reset value: 0x01000000U |
| * |
| * The RSIM Analog Test register provides controls for validation and factory |
| * test of the RF Analog Circuits. |
| */ |
| /*! |
| * @name Constants and macros for entire RSIM_ANA_TEST register |
| */ |
| /*@{*/ |
| #define RSIM_RD_ANA_TEST(base) (RSIM_ANA_TEST_REG(base)) |
| #define RSIM_WR_ANA_TEST(base, value) (RSIM_ANA_TEST_REG(base) = (value)) |
| #define RSIM_RMW_ANA_TEST(base, mask, value) (RSIM_WR_ANA_TEST(base, (RSIM_RD_ANA_TEST(base) & ~(mask)) | (value))) |
| #define RSIM_SET_ANA_TEST(base, value) (BME_OR32(&RSIM_ANA_TEST_REG(base), (uint32_t)(value))) |
| #define RSIM_CLR_ANA_TEST(base, value) (BME_AND32(&RSIM_ANA_TEST_REG(base), (uint32_t)(~(value)))) |
| #define RSIM_TOG_ANA_TEST(base, value) (BME_XOR32(&RSIM_ANA_TEST_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RSIM_ANA_TEST bitfields |
| */ |
| |
| /*! |
| * @name Register RSIM_ANA_TEST, field ATST_GATE_EN[4:0] (RW) |
| * |
| * The RSIM Analog Transmission Gate Enables open up the transmissions gates in |
| * the pads to allow testing of the Radio analog signals. Each bit opens up one |
| * Analog Transmission gate in the padring. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_ANA_TEST_ATST_GATE_EN field. */ |
| #define RSIM_RD_ANA_TEST_ATST_GATE_EN(base) ((RSIM_ANA_TEST_REG(base) & RSIM_ANA_TEST_ATST_GATE_EN_MASK) >> RSIM_ANA_TEST_ATST_GATE_EN_SHIFT) |
| #define RSIM_BRD_ANA_TEST_ATST_GATE_EN(base) (BME_UBFX32(&RSIM_ANA_TEST_REG(base), RSIM_ANA_TEST_ATST_GATE_EN_SHIFT, RSIM_ANA_TEST_ATST_GATE_EN_WIDTH)) |
| |
| /*! @brief Set the ATST_GATE_EN field to a new value. */ |
| #define RSIM_WR_ANA_TEST_ATST_GATE_EN(base, value) (RSIM_RMW_ANA_TEST(base, RSIM_ANA_TEST_ATST_GATE_EN_MASK, RSIM_ANA_TEST_ATST_GATE_EN(value))) |
| #define RSIM_BWR_ANA_TEST_ATST_GATE_EN(base, value) (BME_BFI32(&RSIM_ANA_TEST_REG(base), ((uint32_t)(value) << RSIM_ANA_TEST_ATST_GATE_EN_SHIFT), RSIM_ANA_TEST_ATST_GATE_EN_SHIFT, RSIM_ANA_TEST_ATST_GATE_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RSIM_ANA_TEST, field RADIO_ID[27:24] (RO) |
| * |
| * This register value can be read to identify the Version of the Radio. |
| * |
| * Values: |
| * - 0b0001 - Apache 1.0 |
| * - 0b0010 - Apache 2.0 |
| * - 0b0011 - 2.4 GHz Radio 2.0, Used by various SoC implementations |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RSIM_ANA_TEST_RADIO_ID field. */ |
| #define RSIM_RD_ANA_TEST_RADIO_ID(base) ((RSIM_ANA_TEST_REG(base) & RSIM_ANA_TEST_RADIO_ID_MASK) >> RSIM_ANA_TEST_RADIO_ID_SHIFT) |
| #define RSIM_BRD_ANA_TEST_RADIO_ID(base) (BME_UBFX32(&RSIM_ANA_TEST_REG(base), RSIM_ANA_TEST_RADIO_ID_SHIFT, RSIM_ANA_TEST_RADIO_ID_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 RTC |
| * |
| * Secure Real Time Clock |
| * |
| * Registers defined in this header file: |
| * - RTC_TSR - RTC Time Seconds Register |
| * - RTC_TPR - RTC Time Prescaler Register |
| * - RTC_TAR - RTC Time Alarm Register |
| * - RTC_TCR - RTC Time Compensation Register |
| * - RTC_CR - RTC Control Register |
| * - RTC_SR - RTC Status Register |
| * - RTC_LR - RTC Lock Register |
| * - RTC_IER - RTC Interrupt Enable Register |
| */ |
| |
| #define RTC_INSTANCE_COUNT (1U) /*!< Number of instances of the RTC module. */ |
| #define RTC_IDX (0U) /*!< Instance number for RTC. */ |
| |
| /******************************************************************************* |
| * RTC_TSR - RTC Time Seconds Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RTC_TSR - RTC Time Seconds Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire RTC_TSR register |
| */ |
| /*@{*/ |
| #define RTC_RD_TSR(base) (RTC_TSR_REG(base)) |
| #define RTC_WR_TSR(base, value) (RTC_TSR_REG(base) = (value)) |
| #define RTC_RMW_TSR(base, mask, value) (RTC_WR_TSR(base, (RTC_RD_TSR(base) & ~(mask)) | (value))) |
| #define RTC_SET_TSR(base, value) (BME_OR32(&RTC_TSR_REG(base), (uint32_t)(value))) |
| #define RTC_CLR_TSR(base, value) (BME_AND32(&RTC_TSR_REG(base), (uint32_t)(~(value)))) |
| #define RTC_TOG_TSR(base, value) (BME_XOR32(&RTC_TSR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RTC_TPR - RTC Time Prescaler Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RTC_TPR - RTC Time Prescaler Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire RTC_TPR register |
| */ |
| /*@{*/ |
| #define RTC_RD_TPR(base) (RTC_TPR_REG(base)) |
| #define RTC_WR_TPR(base, value) (RTC_TPR_REG(base) = (value)) |
| #define RTC_RMW_TPR(base, mask, value) (RTC_WR_TPR(base, (RTC_RD_TPR(base) & ~(mask)) | (value))) |
| #define RTC_SET_TPR(base, value) (BME_OR32(&RTC_TPR_REG(base), (uint32_t)(value))) |
| #define RTC_CLR_TPR(base, value) (BME_AND32(&RTC_TPR_REG(base), (uint32_t)(~(value)))) |
| #define RTC_TOG_TPR(base, value) (BME_XOR32(&RTC_TPR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RTC_TPR bitfields |
| */ |
| |
| /*! |
| * @name Register RTC_TPR, field TPR[15:0] (RW) |
| * |
| * When the time counter is enabled, the TPR is read only and increments every |
| * 32.768 kHz clock cycle. The time counter will read as zero when SR[TOF] or |
| * SR[TIF] are set. When the time counter is disabled, the TPR can be read or |
| * written. The TSR[TSR] increments when bit 14 of the TPR transitions from a logic one |
| * to a logic zero. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_TPR_TPR field. */ |
| #define RTC_RD_TPR_TPR(base) ((RTC_TPR_REG(base) & RTC_TPR_TPR_MASK) >> RTC_TPR_TPR_SHIFT) |
| #define RTC_BRD_TPR_TPR(base) (BME_UBFX32(&RTC_TPR_REG(base), RTC_TPR_TPR_SHIFT, RTC_TPR_TPR_WIDTH)) |
| |
| /*! @brief Set the TPR field to a new value. */ |
| #define RTC_WR_TPR_TPR(base, value) (RTC_RMW_TPR(base, RTC_TPR_TPR_MASK, RTC_TPR_TPR(value))) |
| #define RTC_BWR_TPR_TPR(base, value) (BME_BFI32(&RTC_TPR_REG(base), ((uint32_t)(value) << RTC_TPR_TPR_SHIFT), RTC_TPR_TPR_SHIFT, RTC_TPR_TPR_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RTC_TAR - RTC Time Alarm Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RTC_TAR - RTC Time Alarm Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire RTC_TAR register |
| */ |
| /*@{*/ |
| #define RTC_RD_TAR(base) (RTC_TAR_REG(base)) |
| #define RTC_WR_TAR(base, value) (RTC_TAR_REG(base) = (value)) |
| #define RTC_RMW_TAR(base, mask, value) (RTC_WR_TAR(base, (RTC_RD_TAR(base) & ~(mask)) | (value))) |
| #define RTC_SET_TAR(base, value) (BME_OR32(&RTC_TAR_REG(base), (uint32_t)(value))) |
| #define RTC_CLR_TAR(base, value) (BME_AND32(&RTC_TAR_REG(base), (uint32_t)(~(value)))) |
| #define RTC_TOG_TAR(base, value) (BME_XOR32(&RTC_TAR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RTC_TCR - RTC Time Compensation Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RTC_TCR - RTC Time Compensation Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire RTC_TCR register |
| */ |
| /*@{*/ |
| #define RTC_RD_TCR(base) (RTC_TCR_REG(base)) |
| #define RTC_WR_TCR(base, value) (RTC_TCR_REG(base) = (value)) |
| #define RTC_RMW_TCR(base, mask, value) (RTC_WR_TCR(base, (RTC_RD_TCR(base) & ~(mask)) | (value))) |
| #define RTC_SET_TCR(base, value) (BME_OR32(&RTC_TCR_REG(base), (uint32_t)(value))) |
| #define RTC_CLR_TCR(base, value) (BME_AND32(&RTC_TCR_REG(base), (uint32_t)(~(value)))) |
| #define RTC_TOG_TCR(base, value) (BME_XOR32(&RTC_TCR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RTC_TCR bitfields |
| */ |
| |
| /*! |
| * @name Register RTC_TCR, field TCR[7:0] (RW) |
| * |
| * Configures the number of 32.768 kHz clock cycles in each second. This |
| * register is double buffered and writes do not take affect until the end of the |
| * current compensation interval. |
| * |
| * Values: |
| * - 0b10000000 - Time Prescaler Register overflows every 32896 clock cycles. |
| * - 0b11111111 - Time Prescaler Register overflows every 32769 clock cycles. |
| * - 0b00000000 - Time Prescaler Register overflows every 32768 clock cycles. |
| * - 0b00000001 - Time Prescaler Register overflows every 32767 clock cycles. |
| * - 0b01111111 - Time Prescaler Register overflows every 32641 clock cycles. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_TCR_TCR field. */ |
| #define RTC_RD_TCR_TCR(base) ((RTC_TCR_REG(base) & RTC_TCR_TCR_MASK) >> RTC_TCR_TCR_SHIFT) |
| #define RTC_BRD_TCR_TCR(base) (BME_UBFX32(&RTC_TCR_REG(base), RTC_TCR_TCR_SHIFT, RTC_TCR_TCR_WIDTH)) |
| |
| /*! @brief Set the TCR field to a new value. */ |
| #define RTC_WR_TCR_TCR(base, value) (RTC_RMW_TCR(base, RTC_TCR_TCR_MASK, RTC_TCR_TCR(value))) |
| #define RTC_BWR_TCR_TCR(base, value) (BME_BFI32(&RTC_TCR_REG(base), ((uint32_t)(value) << RTC_TCR_TCR_SHIFT), RTC_TCR_TCR_SHIFT, RTC_TCR_TCR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_TCR, field CIR[15:8] (RW) |
| * |
| * Configures the compensation interval in seconds from 1 to 256 to control how |
| * frequently the TCR should adjust the number of 32.768 kHz cycles in each |
| * second. The value written should be one less than the number of seconds. For |
| * example, write zero to configure for a compensation interval of one second. This |
| * register is double buffered and writes do not take affect until the end of the |
| * current compensation interval. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_TCR_CIR field. */ |
| #define RTC_RD_TCR_CIR(base) ((RTC_TCR_REG(base) & RTC_TCR_CIR_MASK) >> RTC_TCR_CIR_SHIFT) |
| #define RTC_BRD_TCR_CIR(base) (BME_UBFX32(&RTC_TCR_REG(base), RTC_TCR_CIR_SHIFT, RTC_TCR_CIR_WIDTH)) |
| |
| /*! @brief Set the CIR field to a new value. */ |
| #define RTC_WR_TCR_CIR(base, value) (RTC_RMW_TCR(base, RTC_TCR_CIR_MASK, RTC_TCR_CIR(value))) |
| #define RTC_BWR_TCR_CIR(base, value) (BME_BFI32(&RTC_TCR_REG(base), ((uint32_t)(value) << RTC_TCR_CIR_SHIFT), RTC_TCR_CIR_SHIFT, RTC_TCR_CIR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_TCR, field TCV[23:16] (RO) |
| * |
| * Current value used by the compensation logic for the present second interval. |
| * Updated once a second if the CIC equals 0 with the contents of the TCR field. |
| * If the CIC does not equal zero then it is loaded with zero (compensation is |
| * not enabled for that second increment). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_TCR_TCV field. */ |
| #define RTC_RD_TCR_TCV(base) ((RTC_TCR_REG(base) & RTC_TCR_TCV_MASK) >> RTC_TCR_TCV_SHIFT) |
| #define RTC_BRD_TCR_TCV(base) (BME_UBFX32(&RTC_TCR_REG(base), RTC_TCR_TCV_SHIFT, RTC_TCR_TCV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_TCR, field CIC[31:24] (RO) |
| * |
| * Current value of the compensation interval counter. If the compensation |
| * interval counter equals zero then it is loaded with the contents of the CIR. If the |
| * CIC does not equal zero then it is decremented once a second. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_TCR_CIC field. */ |
| #define RTC_RD_TCR_CIC(base) ((RTC_TCR_REG(base) & RTC_TCR_CIC_MASK) >> RTC_TCR_CIC_SHIFT) |
| #define RTC_BRD_TCR_CIC(base) (BME_UBFX32(&RTC_TCR_REG(base), RTC_TCR_CIC_SHIFT, RTC_TCR_CIC_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RTC_CR - RTC Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RTC_CR - RTC Control Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire RTC_CR register |
| */ |
| /*@{*/ |
| #define RTC_RD_CR(base) (RTC_CR_REG(base)) |
| #define RTC_WR_CR(base, value) (RTC_CR_REG(base) = (value)) |
| #define RTC_RMW_CR(base, mask, value) (RTC_WR_CR(base, (RTC_RD_CR(base) & ~(mask)) | (value))) |
| #define RTC_SET_CR(base, value) (BME_OR32(&RTC_CR_REG(base), (uint32_t)(value))) |
| #define RTC_CLR_CR(base, value) (BME_AND32(&RTC_CR_REG(base), (uint32_t)(~(value)))) |
| #define RTC_TOG_CR(base, value) (BME_XOR32(&RTC_CR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RTC_CR bitfields |
| */ |
| |
| /*! |
| * @name Register RTC_CR, field SWR[0] (RW) |
| * |
| * Values: |
| * - 0b0 - No effect. |
| * - 0b1 - Resets all RTC registers except for the SWR bit . The SWR bit is |
| * cleared by POR and by software explicitly clearing it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_SWR field. */ |
| #define RTC_RD_CR_SWR(base) ((RTC_CR_REG(base) & RTC_CR_SWR_MASK) >> RTC_CR_SWR_SHIFT) |
| #define RTC_BRD_CR_SWR(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_SWR_SHIFT, RTC_CR_SWR_WIDTH)) |
| |
| /*! @brief Set the SWR field to a new value. */ |
| #define RTC_WR_CR_SWR(base, value) (RTC_RMW_CR(base, RTC_CR_SWR_MASK, RTC_CR_SWR(value))) |
| #define RTC_BWR_CR_SWR(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_SWR_SHIFT), RTC_CR_SWR_SHIFT, RTC_CR_SWR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_CR, field WPE[1] (RW) |
| * |
| * The wakeup pin is optional and not available on all devices. |
| * |
| * Values: |
| * - 0b0 - Wakeup pin is disabled. |
| * - 0b1 - Wakeup pin is enabled and wakeup pin asserts if the RTC interrupt |
| * asserts or the wakeup pin is turned on. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_WPE field. */ |
| #define RTC_RD_CR_WPE(base) ((RTC_CR_REG(base) & RTC_CR_WPE_MASK) >> RTC_CR_WPE_SHIFT) |
| #define RTC_BRD_CR_WPE(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_WPE_SHIFT, RTC_CR_WPE_WIDTH)) |
| |
| /*! @brief Set the WPE field to a new value. */ |
| #define RTC_WR_CR_WPE(base, value) (RTC_RMW_CR(base, RTC_CR_WPE_MASK, RTC_CR_WPE(value))) |
| #define RTC_BWR_CR_WPE(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_WPE_SHIFT), RTC_CR_WPE_SHIFT, RTC_CR_WPE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_CR, field SUP[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Non-supervisor mode write accesses are not supported and generate a |
| * bus error. |
| * - 0b1 - Non-supervisor mode write accesses are supported. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_SUP field. */ |
| #define RTC_RD_CR_SUP(base) ((RTC_CR_REG(base) & RTC_CR_SUP_MASK) >> RTC_CR_SUP_SHIFT) |
| #define RTC_BRD_CR_SUP(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_SUP_SHIFT, RTC_CR_SUP_WIDTH)) |
| |
| /*! @brief Set the SUP field to a new value. */ |
| #define RTC_WR_CR_SUP(base, value) (RTC_RMW_CR(base, RTC_CR_SUP_MASK, RTC_CR_SUP(value))) |
| #define RTC_BWR_CR_SUP(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_SUP_SHIFT), RTC_CR_SUP_SHIFT, RTC_CR_SUP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_CR, field UM[3] (RW) |
| * |
| * Allows SR[TCE] to be written even when the Status Register is locked. When |
| * set, the SR[TCE] can always be written if the SR[TIF] or SR[TOF] are set or if |
| * the SR[TCE] is clear. |
| * |
| * Values: |
| * - 0b0 - Registers cannot be written when locked. |
| * - 0b1 - Registers can be written when locked under limited conditions. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_UM field. */ |
| #define RTC_RD_CR_UM(base) ((RTC_CR_REG(base) & RTC_CR_UM_MASK) >> RTC_CR_UM_SHIFT) |
| #define RTC_BRD_CR_UM(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_UM_SHIFT, RTC_CR_UM_WIDTH)) |
| |
| /*! @brief Set the UM field to a new value. */ |
| #define RTC_WR_CR_UM(base, value) (RTC_RMW_CR(base, RTC_CR_UM_MASK, RTC_CR_UM(value))) |
| #define RTC_BWR_CR_UM(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_UM_SHIFT), RTC_CR_UM_SHIFT, RTC_CR_UM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_CR, field WPS[4] (RW) |
| * |
| * The wakeup pin is optional and not available on all devices. |
| * |
| * Values: |
| * - 0b0 - Wakeup pin asserts (active low, open drain) if the RTC interrupt |
| * asserts or the wakeup pin is turned on. |
| * - 0b1 - Wakeup pin instead outputs the RTC 32kHz clock, provided the wakeup |
| * pin is turned on and the 32kHz clock is output to other peripherals. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_WPS field. */ |
| #define RTC_RD_CR_WPS(base) ((RTC_CR_REG(base) & RTC_CR_WPS_MASK) >> RTC_CR_WPS_SHIFT) |
| #define RTC_BRD_CR_WPS(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_WPS_SHIFT, RTC_CR_WPS_WIDTH)) |
| |
| /*! @brief Set the WPS field to a new value. */ |
| #define RTC_WR_CR_WPS(base, value) (RTC_RMW_CR(base, RTC_CR_WPS_MASK, RTC_CR_WPS(value))) |
| #define RTC_BWR_CR_WPS(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_WPS_SHIFT), RTC_CR_WPS_SHIFT, RTC_CR_WPS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_CR, field OSCE[8] (RW) |
| * |
| * Values: |
| * - 0b0 - 32.768 kHz oscillator is disabled. |
| * - 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. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_OSCE field. */ |
| #define RTC_RD_CR_OSCE(base) ((RTC_CR_REG(base) & RTC_CR_OSCE_MASK) >> RTC_CR_OSCE_SHIFT) |
| #define RTC_BRD_CR_OSCE(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_OSCE_SHIFT, RTC_CR_OSCE_WIDTH)) |
| |
| /*! @brief Set the OSCE field to a new value. */ |
| #define RTC_WR_CR_OSCE(base, value) (RTC_RMW_CR(base, RTC_CR_OSCE_MASK, RTC_CR_OSCE(value))) |
| #define RTC_BWR_CR_OSCE(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_OSCE_SHIFT), RTC_CR_OSCE_SHIFT, RTC_CR_OSCE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_CR, field CLKO[9] (RW) |
| * |
| * Values: |
| * - 0b0 - The 32 kHz clock is output to other peripherals. |
| * - 0b1 - The 32 kHz clock is not output to other peripherals. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_CLKO field. */ |
| #define RTC_RD_CR_CLKO(base) ((RTC_CR_REG(base) & RTC_CR_CLKO_MASK) >> RTC_CR_CLKO_SHIFT) |
| #define RTC_BRD_CR_CLKO(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_CLKO_SHIFT, RTC_CR_CLKO_WIDTH)) |
| |
| /*! @brief Set the CLKO field to a new value. */ |
| #define RTC_WR_CR_CLKO(base, value) (RTC_RMW_CR(base, RTC_CR_CLKO_MASK, RTC_CR_CLKO(value))) |
| #define RTC_BWR_CR_CLKO(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_CLKO_SHIFT), RTC_CR_CLKO_SHIFT, RTC_CR_CLKO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_CR, field SC16P[10] (RW) |
| * |
| * Values: |
| * - 0b0 - Disable the load. |
| * - 0b1 - Enable the additional load. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_SC16P field. */ |
| #define RTC_RD_CR_SC16P(base) ((RTC_CR_REG(base) & RTC_CR_SC16P_MASK) >> RTC_CR_SC16P_SHIFT) |
| #define RTC_BRD_CR_SC16P(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_SC16P_SHIFT, RTC_CR_SC16P_WIDTH)) |
| |
| /*! @brief Set the SC16P field to a new value. */ |
| #define RTC_WR_CR_SC16P(base, value) (RTC_RMW_CR(base, RTC_CR_SC16P_MASK, RTC_CR_SC16P(value))) |
| #define RTC_BWR_CR_SC16P(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_SC16P_SHIFT), RTC_CR_SC16P_SHIFT, RTC_CR_SC16P_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_CR, field SC8P[11] (RW) |
| * |
| * Values: |
| * - 0b0 - Disable the load. |
| * - 0b1 - Enable the additional load. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_SC8P field. */ |
| #define RTC_RD_CR_SC8P(base) ((RTC_CR_REG(base) & RTC_CR_SC8P_MASK) >> RTC_CR_SC8P_SHIFT) |
| #define RTC_BRD_CR_SC8P(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_SC8P_SHIFT, RTC_CR_SC8P_WIDTH)) |
| |
| /*! @brief Set the SC8P field to a new value. */ |
| #define RTC_WR_CR_SC8P(base, value) (RTC_RMW_CR(base, RTC_CR_SC8P_MASK, RTC_CR_SC8P(value))) |
| #define RTC_BWR_CR_SC8P(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_SC8P_SHIFT), RTC_CR_SC8P_SHIFT, RTC_CR_SC8P_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_CR, field SC4P[12] (RW) |
| * |
| * Values: |
| * - 0b0 - Disable the load. |
| * - 0b1 - Enable the additional load. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_SC4P field. */ |
| #define RTC_RD_CR_SC4P(base) ((RTC_CR_REG(base) & RTC_CR_SC4P_MASK) >> RTC_CR_SC4P_SHIFT) |
| #define RTC_BRD_CR_SC4P(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_SC4P_SHIFT, RTC_CR_SC4P_WIDTH)) |
| |
| /*! @brief Set the SC4P field to a new value. */ |
| #define RTC_WR_CR_SC4P(base, value) (RTC_RMW_CR(base, RTC_CR_SC4P_MASK, RTC_CR_SC4P(value))) |
| #define RTC_BWR_CR_SC4P(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_SC4P_SHIFT), RTC_CR_SC4P_SHIFT, RTC_CR_SC4P_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_CR, field SC2P[13] (RW) |
| * |
| * Values: |
| * - 0b0 - Disable the load. |
| * - 0b1 - Enable the additional load. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_CR_SC2P field. */ |
| #define RTC_RD_CR_SC2P(base) ((RTC_CR_REG(base) & RTC_CR_SC2P_MASK) >> RTC_CR_SC2P_SHIFT) |
| #define RTC_BRD_CR_SC2P(base) (BME_UBFX32(&RTC_CR_REG(base), RTC_CR_SC2P_SHIFT, RTC_CR_SC2P_WIDTH)) |
| |
| /*! @brief Set the SC2P field to a new value. */ |
| #define RTC_WR_CR_SC2P(base, value) (RTC_RMW_CR(base, RTC_CR_SC2P_MASK, RTC_CR_SC2P(value))) |
| #define RTC_BWR_CR_SC2P(base, value) (BME_BFI32(&RTC_CR_REG(base), ((uint32_t)(value) << RTC_CR_SC2P_SHIFT), RTC_CR_SC2P_SHIFT, RTC_CR_SC2P_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RTC_SR - RTC Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RTC_SR - RTC Status Register (RW) |
| * |
| * Reset value: 0x00000001U |
| */ |
| /*! |
| * @name Constants and macros for entire RTC_SR register |
| */ |
| /*@{*/ |
| #define RTC_RD_SR(base) (RTC_SR_REG(base)) |
| #define RTC_WR_SR(base, value) (RTC_SR_REG(base) = (value)) |
| #define RTC_RMW_SR(base, mask, value) (RTC_WR_SR(base, (RTC_RD_SR(base) & ~(mask)) | (value))) |
| #define RTC_SET_SR(base, value) (BME_OR32(&RTC_SR_REG(base), (uint32_t)(value))) |
| #define RTC_CLR_SR(base, value) (BME_AND32(&RTC_SR_REG(base), (uint32_t)(~(value)))) |
| #define RTC_TOG_SR(base, value) (BME_XOR32(&RTC_SR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RTC_SR bitfields |
| */ |
| |
| /*! |
| * @name Register RTC_SR, field TIF[0] (RO) |
| * |
| * The time invalid flag is set on POR or software reset. The TSR and TPR do not |
| * increment and read as zero when this bit is set. This bit is cleared by |
| * writing the TSR register when the time counter is disabled. |
| * |
| * Values: |
| * - 0b0 - Time is valid. |
| * - 0b1 - Time is invalid and time counter is read as zero. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_SR_TIF field. */ |
| #define RTC_RD_SR_TIF(base) ((RTC_SR_REG(base) & RTC_SR_TIF_MASK) >> RTC_SR_TIF_SHIFT) |
| #define RTC_BRD_SR_TIF(base) (BME_UBFX32(&RTC_SR_REG(base), RTC_SR_TIF_SHIFT, RTC_SR_TIF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_SR, field TOF[1] (RO) |
| * |
| * Time overflow flag is set when the time counter is enabled and overflows. The |
| * TSR and TPR do not increment and read as zero when this bit is set. This bit |
| * is cleared by writing the TSR register when the time counter is disabled. |
| * |
| * Values: |
| * - 0b0 - Time overflow has not occurred. |
| * - 0b1 - Time overflow has occurred and time counter is read as zero. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_SR_TOF field. */ |
| #define RTC_RD_SR_TOF(base) ((RTC_SR_REG(base) & RTC_SR_TOF_MASK) >> RTC_SR_TOF_SHIFT) |
| #define RTC_BRD_SR_TOF(base) (BME_UBFX32(&RTC_SR_REG(base), RTC_SR_TOF_SHIFT, RTC_SR_TOF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_SR, field TAF[2] (RO) |
| * |
| * Time alarm flag is set when the TAR[TAR] equals the TSR[TSR] and the TSR[TSR] |
| * increments. This bit is cleared by writing the TAR register. |
| * |
| * Values: |
| * - 0b0 - Time alarm has not occurred. |
| * - 0b1 - Time alarm has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_SR_TAF field. */ |
| #define RTC_RD_SR_TAF(base) ((RTC_SR_REG(base) & RTC_SR_TAF_MASK) >> RTC_SR_TAF_SHIFT) |
| #define RTC_BRD_SR_TAF(base) (BME_UBFX32(&RTC_SR_REG(base), RTC_SR_TAF_SHIFT, RTC_SR_TAF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_SR, field TCE[4] (RW) |
| * |
| * When time counter is disabled the TSR register and TPR register are |
| * writeable, but do not increment. When time counter is enabled the TSR register and TPR |
| * register are not writeable, but increment. |
| * |
| * Values: |
| * - 0b0 - Time counter is disabled. |
| * - 0b1 - Time counter is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_SR_TCE field. */ |
| #define RTC_RD_SR_TCE(base) ((RTC_SR_REG(base) & RTC_SR_TCE_MASK) >> RTC_SR_TCE_SHIFT) |
| #define RTC_BRD_SR_TCE(base) (BME_UBFX32(&RTC_SR_REG(base), RTC_SR_TCE_SHIFT, RTC_SR_TCE_WIDTH)) |
| |
| /*! @brief Set the TCE field to a new value. */ |
| #define RTC_WR_SR_TCE(base, value) (RTC_RMW_SR(base, RTC_SR_TCE_MASK, RTC_SR_TCE(value))) |
| #define RTC_BWR_SR_TCE(base, value) (BME_BFI32(&RTC_SR_REG(base), ((uint32_t)(value) << RTC_SR_TCE_SHIFT), RTC_SR_TCE_SHIFT, RTC_SR_TCE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RTC_LR - RTC Lock Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RTC_LR - RTC Lock Register (RW) |
| * |
| * Reset value: 0x000000FFU |
| */ |
| /*! |
| * @name Constants and macros for entire RTC_LR register |
| */ |
| /*@{*/ |
| #define RTC_RD_LR(base) (RTC_LR_REG(base)) |
| #define RTC_WR_LR(base, value) (RTC_LR_REG(base) = (value)) |
| #define RTC_RMW_LR(base, mask, value) (RTC_WR_LR(base, (RTC_RD_LR(base) & ~(mask)) | (value))) |
| #define RTC_SET_LR(base, value) (BME_OR32(&RTC_LR_REG(base), (uint32_t)(value))) |
| #define RTC_CLR_LR(base, value) (BME_AND32(&RTC_LR_REG(base), (uint32_t)(~(value)))) |
| #define RTC_TOG_LR(base, value) (BME_XOR32(&RTC_LR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RTC_LR bitfields |
| */ |
| |
| /*! |
| * @name Register RTC_LR, field TCL[3] (RW) |
| * |
| * After being cleared, this bit can be set only by POR or software reset. |
| * |
| * Values: |
| * - 0b0 - Time Compensation Register is locked and writes are ignored. |
| * - 0b1 - Time Compensation Register is not locked and writes complete as |
| * normal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_LR_TCL field. */ |
| #define RTC_RD_LR_TCL(base) ((RTC_LR_REG(base) & RTC_LR_TCL_MASK) >> RTC_LR_TCL_SHIFT) |
| #define RTC_BRD_LR_TCL(base) (BME_UBFX32(&RTC_LR_REG(base), RTC_LR_TCL_SHIFT, RTC_LR_TCL_WIDTH)) |
| |
| /*! @brief Set the TCL field to a new value. */ |
| #define RTC_WR_LR_TCL(base, value) (RTC_RMW_LR(base, RTC_LR_TCL_MASK, RTC_LR_TCL(value))) |
| #define RTC_BWR_LR_TCL(base, value) (BME_BFI32(&RTC_LR_REG(base), ((uint32_t)(value) << RTC_LR_TCL_SHIFT), RTC_LR_TCL_SHIFT, RTC_LR_TCL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_LR, field CRL[4] (RW) |
| * |
| * After being cleared, this bit can only be set by POR. |
| * |
| * Values: |
| * - 0b0 - Control Register is locked and writes are ignored. |
| * - 0b1 - Control Register is not locked and writes complete as normal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_LR_CRL field. */ |
| #define RTC_RD_LR_CRL(base) ((RTC_LR_REG(base) & RTC_LR_CRL_MASK) >> RTC_LR_CRL_SHIFT) |
| #define RTC_BRD_LR_CRL(base) (BME_UBFX32(&RTC_LR_REG(base), RTC_LR_CRL_SHIFT, RTC_LR_CRL_WIDTH)) |
| |
| /*! @brief Set the CRL field to a new value. */ |
| #define RTC_WR_LR_CRL(base, value) (RTC_RMW_LR(base, RTC_LR_CRL_MASK, RTC_LR_CRL(value))) |
| #define RTC_BWR_LR_CRL(base, value) (BME_BFI32(&RTC_LR_REG(base), ((uint32_t)(value) << RTC_LR_CRL_SHIFT), RTC_LR_CRL_SHIFT, RTC_LR_CRL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_LR, field SRL[5] (RW) |
| * |
| * After being cleared, this bit can be set only by POR or software reset. |
| * |
| * Values: |
| * - 0b0 - Status Register is locked and writes are ignored. |
| * - 0b1 - Status Register is not locked and writes complete as normal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_LR_SRL field. */ |
| #define RTC_RD_LR_SRL(base) ((RTC_LR_REG(base) & RTC_LR_SRL_MASK) >> RTC_LR_SRL_SHIFT) |
| #define RTC_BRD_LR_SRL(base) (BME_UBFX32(&RTC_LR_REG(base), RTC_LR_SRL_SHIFT, RTC_LR_SRL_WIDTH)) |
| |
| /*! @brief Set the SRL field to a new value. */ |
| #define RTC_WR_LR_SRL(base, value) (RTC_RMW_LR(base, RTC_LR_SRL_MASK, RTC_LR_SRL(value))) |
| #define RTC_BWR_LR_SRL(base, value) (BME_BFI32(&RTC_LR_REG(base), ((uint32_t)(value) << RTC_LR_SRL_SHIFT), RTC_LR_SRL_SHIFT, RTC_LR_SRL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_LR, field LRL[6] (RW) |
| * |
| * After being cleared, this bit can be set only by POR or software reset. |
| * |
| * Values: |
| * - 0b0 - Lock Register is locked and writes are ignored. |
| * - 0b1 - Lock Register is not locked and writes complete as normal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_LR_LRL field. */ |
| #define RTC_RD_LR_LRL(base) ((RTC_LR_REG(base) & RTC_LR_LRL_MASK) >> RTC_LR_LRL_SHIFT) |
| #define RTC_BRD_LR_LRL(base) (BME_UBFX32(&RTC_LR_REG(base), RTC_LR_LRL_SHIFT, RTC_LR_LRL_WIDTH)) |
| |
| /*! @brief Set the LRL field to a new value. */ |
| #define RTC_WR_LR_LRL(base, value) (RTC_RMW_LR(base, RTC_LR_LRL_MASK, RTC_LR_LRL(value))) |
| #define RTC_BWR_LR_LRL(base, value) (BME_BFI32(&RTC_LR_REG(base), ((uint32_t)(value) << RTC_LR_LRL_SHIFT), RTC_LR_LRL_SHIFT, RTC_LR_LRL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * RTC_IER - RTC Interrupt Enable Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief RTC_IER - RTC Interrupt Enable Register (RW) |
| * |
| * Reset value: 0x00000007U |
| */ |
| /*! |
| * @name Constants and macros for entire RTC_IER register |
| */ |
| /*@{*/ |
| #define RTC_RD_IER(base) (RTC_IER_REG(base)) |
| #define RTC_WR_IER(base, value) (RTC_IER_REG(base) = (value)) |
| #define RTC_RMW_IER(base, mask, value) (RTC_WR_IER(base, (RTC_RD_IER(base) & ~(mask)) | (value))) |
| #define RTC_SET_IER(base, value) (BME_OR32(&RTC_IER_REG(base), (uint32_t)(value))) |
| #define RTC_CLR_IER(base, value) (BME_AND32(&RTC_IER_REG(base), (uint32_t)(~(value)))) |
| #define RTC_TOG_IER(base, value) (BME_XOR32(&RTC_IER_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual RTC_IER bitfields |
| */ |
| |
| /*! |
| * @name Register RTC_IER, field TIIE[0] (RW) |
| * |
| * Values: |
| * - 0b0 - Time invalid flag does not generate an interrupt. |
| * - 0b1 - Time invalid flag does generate an interrupt. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_IER_TIIE field. */ |
| #define RTC_RD_IER_TIIE(base) ((RTC_IER_REG(base) & RTC_IER_TIIE_MASK) >> RTC_IER_TIIE_SHIFT) |
| #define RTC_BRD_IER_TIIE(base) (BME_UBFX32(&RTC_IER_REG(base), RTC_IER_TIIE_SHIFT, RTC_IER_TIIE_WIDTH)) |
| |
| /*! @brief Set the TIIE field to a new value. */ |
| #define RTC_WR_IER_TIIE(base, value) (RTC_RMW_IER(base, RTC_IER_TIIE_MASK, RTC_IER_TIIE(value))) |
| #define RTC_BWR_IER_TIIE(base, value) (BME_BFI32(&RTC_IER_REG(base), ((uint32_t)(value) << RTC_IER_TIIE_SHIFT), RTC_IER_TIIE_SHIFT, RTC_IER_TIIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_IER, field TOIE[1] (RW) |
| * |
| * Values: |
| * - 0b0 - Time overflow flag does not generate an interrupt. |
| * - 0b1 - Time overflow flag does generate an interrupt. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_IER_TOIE field. */ |
| #define RTC_RD_IER_TOIE(base) ((RTC_IER_REG(base) & RTC_IER_TOIE_MASK) >> RTC_IER_TOIE_SHIFT) |
| #define RTC_BRD_IER_TOIE(base) (BME_UBFX32(&RTC_IER_REG(base), RTC_IER_TOIE_SHIFT, RTC_IER_TOIE_WIDTH)) |
| |
| /*! @brief Set the TOIE field to a new value. */ |
| #define RTC_WR_IER_TOIE(base, value) (RTC_RMW_IER(base, RTC_IER_TOIE_MASK, RTC_IER_TOIE(value))) |
| #define RTC_BWR_IER_TOIE(base, value) (BME_BFI32(&RTC_IER_REG(base), ((uint32_t)(value) << RTC_IER_TOIE_SHIFT), RTC_IER_TOIE_SHIFT, RTC_IER_TOIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_IER, field TAIE[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Time alarm flag does not generate an interrupt. |
| * - 0b1 - Time alarm flag does generate an interrupt. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_IER_TAIE field. */ |
| #define RTC_RD_IER_TAIE(base) ((RTC_IER_REG(base) & RTC_IER_TAIE_MASK) >> RTC_IER_TAIE_SHIFT) |
| #define RTC_BRD_IER_TAIE(base) (BME_UBFX32(&RTC_IER_REG(base), RTC_IER_TAIE_SHIFT, RTC_IER_TAIE_WIDTH)) |
| |
| /*! @brief Set the TAIE field to a new value. */ |
| #define RTC_WR_IER_TAIE(base, value) (RTC_RMW_IER(base, RTC_IER_TAIE_MASK, RTC_IER_TAIE(value))) |
| #define RTC_BWR_IER_TAIE(base, value) (BME_BFI32(&RTC_IER_REG(base), ((uint32_t)(value) << RTC_IER_TAIE_SHIFT), RTC_IER_TAIE_SHIFT, RTC_IER_TAIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_IER, field TSIE[4] (RW) |
| * |
| * The seconds interrupt is an edge-sensitive interrupt with a dedicated |
| * interrupt vector. It is generated once a second and requires no software overhead |
| * (there is no corresponding status flag to clear). |
| * |
| * Values: |
| * - 0b0 - Seconds interrupt is disabled. |
| * - 0b1 - Seconds interrupt is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_IER_TSIE field. */ |
| #define RTC_RD_IER_TSIE(base) ((RTC_IER_REG(base) & RTC_IER_TSIE_MASK) >> RTC_IER_TSIE_SHIFT) |
| #define RTC_BRD_IER_TSIE(base) (BME_UBFX32(&RTC_IER_REG(base), RTC_IER_TSIE_SHIFT, RTC_IER_TSIE_WIDTH)) |
| |
| /*! @brief Set the TSIE field to a new value. */ |
| #define RTC_WR_IER_TSIE(base, value) (RTC_RMW_IER(base, RTC_IER_TSIE_MASK, RTC_IER_TSIE(value))) |
| #define RTC_BWR_IER_TSIE(base, value) (BME_BFI32(&RTC_IER_REG(base), ((uint32_t)(value) << RTC_IER_TSIE_SHIFT), RTC_IER_TSIE_SHIFT, RTC_IER_TSIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register RTC_IER, field WPON[7] (RW) |
| * |
| * The wakeup pin is optional and not available on all devices. Whenever the |
| * wakeup pin is enabled and this bit is set, the wakeup pin will assert. |
| * |
| * Values: |
| * - 0b0 - No effect. |
| * - 0b1 - If the wakeup pin is enabled, then the wakeup pin will assert. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the RTC_IER_WPON field. */ |
| #define RTC_RD_IER_WPON(base) ((RTC_IER_REG(base) & RTC_IER_WPON_MASK) >> RTC_IER_WPON_SHIFT) |
| #define RTC_BRD_IER_WPON(base) (BME_UBFX32(&RTC_IER_REG(base), RTC_IER_WPON_SHIFT, RTC_IER_WPON_WIDTH)) |
| |
| /*! @brief Set the WPON field to a new value. */ |
| #define RTC_WR_IER_WPON(base, value) (RTC_RMW_IER(base, RTC_IER_WPON_MASK, RTC_IER_WPON(value))) |
| #define RTC_BWR_IER_WPON(base, value) (BME_BFI32(&RTC_IER_REG(base), ((uint32_t)(value) << RTC_IER_WPON_SHIFT), RTC_IER_WPON_SHIFT, RTC_IER_WPON_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 SIM |
| * |
| * System Integration Module |
| * |
| * Registers defined in this header file: |
| * - SIM_SOPT1 - System Options Register 1 |
| * - SIM_SOPT2 - System Options Register 2 |
| * - SIM_SOPT4 - System Options Register 4 |
| * - SIM_SOPT5 - System Options Register 5 |
| * - SIM_SOPT7 - System Options Register 7 |
| * - SIM_SDID - System Device Identification Register |
| * - SIM_SCGC4 - System Clock Gating Control Register 4 |
| * - SIM_SCGC5 - System Clock Gating Control Register 5 |
| * - SIM_SCGC6 - System Clock Gating Control Register 6 |
| * - SIM_SCGC7 - System Clock Gating Control Register 7 |
| * - SIM_CLKDIV1 - System Clock Divider Register 1 |
| * - SIM_FCFG1 - Flash Configuration Register 1 |
| * - SIM_FCFG2 - Flash Configuration Register 2 |
| * - SIM_UIDMH - Unique Identification Register Mid-High |
| * - SIM_UIDML - Unique Identification Register Mid Low |
| * - SIM_UIDL - Unique Identification Register Low |
| * - SIM_COPC - COP Control Register |
| * - SIM_SRVCOP - Service COP |
| */ |
| |
| #define SIM_INSTANCE_COUNT (1U) /*!< Number of instances of the SIM module. */ |
| #define SIM_IDX (0U) /*!< Instance number for SIM. */ |
| |
| /******************************************************************************* |
| * SIM_SOPT1 - System Options Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SOPT1 - System Options Register 1 (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The SOPT1 register is only reset on POR or LVD. Reset value loaded during |
| * System Reset from Flash IFR. |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SOPT1 register |
| */ |
| /*@{*/ |
| #define SIM_RD_SOPT1(base) (SIM_SOPT1_REG(base)) |
| #define SIM_WR_SOPT1(base, value) (SIM_SOPT1_REG(base) = (value)) |
| #define SIM_RMW_SOPT1(base, mask, value) (SIM_WR_SOPT1(base, (SIM_RD_SOPT1(base) & ~(mask)) | (value))) |
| #define SIM_SET_SOPT1(base, value) (BME_OR32(&SIM_SOPT1_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_SOPT1(base, value) (BME_AND32(&SIM_SOPT1_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_SOPT1(base, value) (BME_XOR32(&SIM_SOPT1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_SOPT1 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SOPT1, field OSC32KOUT[17:16] (RW) |
| * |
| * Outputs the ERCLK32K on the selected pin in all modes of operation (including |
| * LLS/VLLS and System Reset), overriding the existing pin mux configuration for |
| * that pin. This field is reset only on POR/LVD. |
| * |
| * Values: |
| * - 0b00 - ERCLK32K is not output. |
| * - 0b01 - ERCLK32K is output on PTB3. |
| * - 0b10 - Reserved. |
| * - 0b11 - Reserved. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT1_OSC32KOUT field. */ |
| #define SIM_RD_SOPT1_OSC32KOUT(base) ((SIM_SOPT1_REG(base) & SIM_SOPT1_OSC32KOUT_MASK) >> SIM_SOPT1_OSC32KOUT_SHIFT) |
| #define SIM_BRD_SOPT1_OSC32KOUT(base) (BME_UBFX32(&SIM_SOPT1_REG(base), SIM_SOPT1_OSC32KOUT_SHIFT, SIM_SOPT1_OSC32KOUT_WIDTH)) |
| |
| /*! @brief Set the OSC32KOUT field to a new value. */ |
| #define SIM_WR_SOPT1_OSC32KOUT(base, value) (SIM_RMW_SOPT1(base, SIM_SOPT1_OSC32KOUT_MASK, SIM_SOPT1_OSC32KOUT(value))) |
| #define SIM_BWR_SOPT1_OSC32KOUT(base, value) (BME_BFI32(&SIM_SOPT1_REG(base), ((uint32_t)(value) << SIM_SOPT1_OSC32KOUT_SHIFT), SIM_SOPT1_OSC32KOUT_SHIFT, SIM_SOPT1_OSC32KOUT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT1, field OSC32KSEL[19:18] (RW) |
| * |
| * Selects the 32 kHz clock source (ERCLK32K) for RTC and LPTMR. This field is |
| * reset only on POR/LVD. |
| * |
| * Values: |
| * - 0b00 - 32kHz oscillator (OSC32KCLK) |
| * - 0b01 - Reserved |
| * - 0b10 - RTC_CLKIN |
| * - 0b11 - LPO 1kHz |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT1_OSC32KSEL field. */ |
| #define SIM_RD_SOPT1_OSC32KSEL(base) ((SIM_SOPT1_REG(base) & SIM_SOPT1_OSC32KSEL_MASK) >> SIM_SOPT1_OSC32KSEL_SHIFT) |
| #define SIM_BRD_SOPT1_OSC32KSEL(base) (BME_UBFX32(&SIM_SOPT1_REG(base), SIM_SOPT1_OSC32KSEL_SHIFT, SIM_SOPT1_OSC32KSEL_WIDTH)) |
| |
| /*! @brief Set the OSC32KSEL field to a new value. */ |
| #define SIM_WR_SOPT1_OSC32KSEL(base, value) (SIM_RMW_SOPT1(base, SIM_SOPT1_OSC32KSEL_MASK, SIM_SOPT1_OSC32KSEL(value))) |
| #define SIM_BWR_SOPT1_OSC32KSEL(base, value) (BME_BFI32(&SIM_SOPT1_REG(base), ((uint32_t)(value) << SIM_SOPT1_OSC32KSEL_SHIFT), SIM_SOPT1_OSC32KSEL_SHIFT, SIM_SOPT1_OSC32KSEL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_SOPT2 - System Options Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SOPT2 - System Options Register 2 (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * SOPT2 contains the controls for selecting many of the module clock source |
| * options on this device. See the Clock Distribution chapter for more information |
| * including clocking diagrams and definitions of device clocks. |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SOPT2 register |
| */ |
| /*@{*/ |
| #define SIM_RD_SOPT2(base) (SIM_SOPT2_REG(base)) |
| #define SIM_WR_SOPT2(base, value) (SIM_SOPT2_REG(base) = (value)) |
| #define SIM_RMW_SOPT2(base, mask, value) (SIM_WR_SOPT2(base, (SIM_RD_SOPT2(base) & ~(mask)) | (value))) |
| #define SIM_SET_SOPT2(base, value) (BME_OR32(&SIM_SOPT2_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_SOPT2(base, value) (BME_AND32(&SIM_SOPT2_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_SOPT2(base, value) (BME_XOR32(&SIM_SOPT2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_SOPT2 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SOPT2, field CLKOUTSEL[7:5] (RW) |
| * |
| * Selects the clock to output on the CLKOUT pin. |
| * |
| * Values: |
| * - 0b000 - OSCERCLK DIV2 |
| * - 0b001 - OSCERCLK DIV4 |
| * - 0b010 - Bus clock |
| * - 0b011 - LPO clock 1 kHz |
| * - 0b100 - MCGIRCLK |
| * - 0b101 - OSCERCLK DIV8 |
| * - 0b110 - OSCERCLK |
| * - 0b111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT2_CLKOUTSEL field. */ |
| #define SIM_RD_SOPT2_CLKOUTSEL(base) ((SIM_SOPT2_REG(base) & SIM_SOPT2_CLKOUTSEL_MASK) >> SIM_SOPT2_CLKOUTSEL_SHIFT) |
| #define SIM_BRD_SOPT2_CLKOUTSEL(base) (BME_UBFX32(&SIM_SOPT2_REG(base), SIM_SOPT2_CLKOUTSEL_SHIFT, SIM_SOPT2_CLKOUTSEL_WIDTH)) |
| |
| /*! @brief Set the CLKOUTSEL field to a new value. */ |
| #define SIM_WR_SOPT2_CLKOUTSEL(base, value) (SIM_RMW_SOPT2(base, SIM_SOPT2_CLKOUTSEL_MASK, SIM_SOPT2_CLKOUTSEL(value))) |
| #define SIM_BWR_SOPT2_CLKOUTSEL(base, value) (BME_BFI32(&SIM_SOPT2_REG(base), ((uint32_t)(value) << SIM_SOPT2_CLKOUTSEL_SHIFT), SIM_SOPT2_CLKOUTSEL_SHIFT, SIM_SOPT2_CLKOUTSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT2, field TPMSRC[25:24] (RW) |
| * |
| * Selects the clock source for the TPM counter clock |
| * |
| * Values: |
| * - 0b00 - Clock disabled |
| * - 0b01 - MCGFLLCLK clock |
| * - 0b10 - OSCERCLK clock |
| * - 0b11 - MCGIRCLK clock |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT2_TPMSRC field. */ |
| #define SIM_RD_SOPT2_TPMSRC(base) ((SIM_SOPT2_REG(base) & SIM_SOPT2_TPMSRC_MASK) >> SIM_SOPT2_TPMSRC_SHIFT) |
| #define SIM_BRD_SOPT2_TPMSRC(base) (BME_UBFX32(&SIM_SOPT2_REG(base), SIM_SOPT2_TPMSRC_SHIFT, SIM_SOPT2_TPMSRC_WIDTH)) |
| |
| /*! @brief Set the TPMSRC field to a new value. */ |
| #define SIM_WR_SOPT2_TPMSRC(base, value) (SIM_RMW_SOPT2(base, SIM_SOPT2_TPMSRC_MASK, SIM_SOPT2_TPMSRC(value))) |
| #define SIM_BWR_SOPT2_TPMSRC(base, value) (BME_BFI32(&SIM_SOPT2_REG(base), ((uint32_t)(value) << SIM_SOPT2_TPMSRC_SHIFT), SIM_SOPT2_TPMSRC_SHIFT, SIM_SOPT2_TPMSRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT2, field LPUART0SRC[27:26] (RW) |
| * |
| * Selects the clock source for the LPUART0 transmit and receive clock. |
| * |
| * Values: |
| * - 0b00 - Clock disabled |
| * - 0b01 - MCGFLLCLK clock |
| * - 0b10 - OSCERCLK clock |
| * - 0b11 - MCGIRCLK clock |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT2_LPUART0SRC field. */ |
| #define SIM_RD_SOPT2_LPUART0SRC(base) ((SIM_SOPT2_REG(base) & SIM_SOPT2_LPUART0SRC_MASK) >> SIM_SOPT2_LPUART0SRC_SHIFT) |
| #define SIM_BRD_SOPT2_LPUART0SRC(base) (BME_UBFX32(&SIM_SOPT2_REG(base), SIM_SOPT2_LPUART0SRC_SHIFT, SIM_SOPT2_LPUART0SRC_WIDTH)) |
| |
| /*! @brief Set the LPUART0SRC field to a new value. */ |
| #define SIM_WR_SOPT2_LPUART0SRC(base, value) (SIM_RMW_SOPT2(base, SIM_SOPT2_LPUART0SRC_MASK, SIM_SOPT2_LPUART0SRC(value))) |
| #define SIM_BWR_SOPT2_LPUART0SRC(base, value) (BME_BFI32(&SIM_SOPT2_REG(base), ((uint32_t)(value) << SIM_SOPT2_LPUART0SRC_SHIFT), SIM_SOPT2_LPUART0SRC_SHIFT, SIM_SOPT2_LPUART0SRC_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_SOPT4 - System Options Register 4 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SOPT4 - System Options Register 4 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SOPT4 register |
| */ |
| /*@{*/ |
| #define SIM_RD_SOPT4(base) (SIM_SOPT4_REG(base)) |
| #define SIM_WR_SOPT4(base, value) (SIM_SOPT4_REG(base) = (value)) |
| #define SIM_RMW_SOPT4(base, mask, value) (SIM_WR_SOPT4(base, (SIM_RD_SOPT4(base) & ~(mask)) | (value))) |
| #define SIM_SET_SOPT4(base, value) (BME_OR32(&SIM_SOPT4_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_SOPT4(base, value) (BME_AND32(&SIM_SOPT4_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_SOPT4(base, value) (BME_XOR32(&SIM_SOPT4_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_SOPT4 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SOPT4, field TPM1CH0SRC[18] (RW) |
| * |
| * Selects the source for TPM1 channel 0 input capture. When TPM1 is not in |
| * input capture mode, clear this field. |
| * |
| * Values: |
| * - 0b0 - TPM1_CH0 signal |
| * - 0b1 - CMP0 output |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT4_TPM1CH0SRC field. */ |
| #define SIM_RD_SOPT4_TPM1CH0SRC(base) ((SIM_SOPT4_REG(base) & SIM_SOPT4_TPM1CH0SRC_MASK) >> SIM_SOPT4_TPM1CH0SRC_SHIFT) |
| #define SIM_BRD_SOPT4_TPM1CH0SRC(base) (BME_UBFX32(&SIM_SOPT4_REG(base), SIM_SOPT4_TPM1CH0SRC_SHIFT, SIM_SOPT4_TPM1CH0SRC_WIDTH)) |
| |
| /*! @brief Set the TPM1CH0SRC field to a new value. */ |
| #define SIM_WR_SOPT4_TPM1CH0SRC(base, value) (SIM_RMW_SOPT4(base, SIM_SOPT4_TPM1CH0SRC_MASK, SIM_SOPT4_TPM1CH0SRC(value))) |
| #define SIM_BWR_SOPT4_TPM1CH0SRC(base, value) (BME_BFI32(&SIM_SOPT4_REG(base), ((uint32_t)(value) << SIM_SOPT4_TPM1CH0SRC_SHIFT), SIM_SOPT4_TPM1CH0SRC_SHIFT, SIM_SOPT4_TPM1CH0SRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT4, field TPM2CH0SRC[20] (RW) |
| * |
| * Selects the source for TPM2 channel 0 input capture. When TPM2 is not in |
| * input capture mode, clear this field. |
| * |
| * Values: |
| * - 0b0 - TPM2_CH0 signal |
| * - 0b1 - CMP0 output |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT4_TPM2CH0SRC field. */ |
| #define SIM_RD_SOPT4_TPM2CH0SRC(base) ((SIM_SOPT4_REG(base) & SIM_SOPT4_TPM2CH0SRC_MASK) >> SIM_SOPT4_TPM2CH0SRC_SHIFT) |
| #define SIM_BRD_SOPT4_TPM2CH0SRC(base) (BME_UBFX32(&SIM_SOPT4_REG(base), SIM_SOPT4_TPM2CH0SRC_SHIFT, SIM_SOPT4_TPM2CH0SRC_WIDTH)) |
| |
| /*! @brief Set the TPM2CH0SRC field to a new value. */ |
| #define SIM_WR_SOPT4_TPM2CH0SRC(base, value) (SIM_RMW_SOPT4(base, SIM_SOPT4_TPM2CH0SRC_MASK, SIM_SOPT4_TPM2CH0SRC(value))) |
| #define SIM_BWR_SOPT4_TPM2CH0SRC(base, value) (BME_BFI32(&SIM_SOPT4_REG(base), ((uint32_t)(value) << SIM_SOPT4_TPM2CH0SRC_SHIFT), SIM_SOPT4_TPM2CH0SRC_SHIFT, SIM_SOPT4_TPM2CH0SRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT4, field TPM0CLKSEL[24] (RW) |
| * |
| * Selects the external pin used to drive the clock to the TPM0 module. The |
| * selected pin must also be configured for the TPM external clock function through |
| * the appropriate pin control register in the port control module. |
| * |
| * Values: |
| * - 0b0 - TPM0 external clock driven by TPM_CLKIN0 pin. |
| * - 0b1 - TPM0 external clock driven by TPM_CLKIN1 pin. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT4_TPM0CLKSEL field. */ |
| #define SIM_RD_SOPT4_TPM0CLKSEL(base) ((SIM_SOPT4_REG(base) & SIM_SOPT4_TPM0CLKSEL_MASK) >> SIM_SOPT4_TPM0CLKSEL_SHIFT) |
| #define SIM_BRD_SOPT4_TPM0CLKSEL(base) (BME_UBFX32(&SIM_SOPT4_REG(base), SIM_SOPT4_TPM0CLKSEL_SHIFT, SIM_SOPT4_TPM0CLKSEL_WIDTH)) |
| |
| /*! @brief Set the TPM0CLKSEL field to a new value. */ |
| #define SIM_WR_SOPT4_TPM0CLKSEL(base, value) (SIM_RMW_SOPT4(base, SIM_SOPT4_TPM0CLKSEL_MASK, SIM_SOPT4_TPM0CLKSEL(value))) |
| #define SIM_BWR_SOPT4_TPM0CLKSEL(base, value) (BME_BFI32(&SIM_SOPT4_REG(base), ((uint32_t)(value) << SIM_SOPT4_TPM0CLKSEL_SHIFT), SIM_SOPT4_TPM0CLKSEL_SHIFT, SIM_SOPT4_TPM0CLKSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT4, field TPM1CLKSEL[25] (RW) |
| * |
| * Selects the external pin used to drive the clock to the TPM1 module. The |
| * selected pin must also be configured for the TPM external clock function through |
| * the appropriate pin control register in the port control module. |
| * |
| * Values: |
| * - 0b0 - TPM1 external clock driven by TPM_CLKIN0 pin. |
| * - 0b1 - TPM1 external clock driven by TPM_CLKIN1 pin. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT4_TPM1CLKSEL field. */ |
| #define SIM_RD_SOPT4_TPM1CLKSEL(base) ((SIM_SOPT4_REG(base) & SIM_SOPT4_TPM1CLKSEL_MASK) >> SIM_SOPT4_TPM1CLKSEL_SHIFT) |
| #define SIM_BRD_SOPT4_TPM1CLKSEL(base) (BME_UBFX32(&SIM_SOPT4_REG(base), SIM_SOPT4_TPM1CLKSEL_SHIFT, SIM_SOPT4_TPM1CLKSEL_WIDTH)) |
| |
| /*! @brief Set the TPM1CLKSEL field to a new value. */ |
| #define SIM_WR_SOPT4_TPM1CLKSEL(base, value) (SIM_RMW_SOPT4(base, SIM_SOPT4_TPM1CLKSEL_MASK, SIM_SOPT4_TPM1CLKSEL(value))) |
| #define SIM_BWR_SOPT4_TPM1CLKSEL(base, value) (BME_BFI32(&SIM_SOPT4_REG(base), ((uint32_t)(value) << SIM_SOPT4_TPM1CLKSEL_SHIFT), SIM_SOPT4_TPM1CLKSEL_SHIFT, SIM_SOPT4_TPM1CLKSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT4, field TPM2CLKSEL[26] (RW) |
| * |
| * Selects the external pin used to drive the clock to the TPM2 module. The |
| * selected pin must also be configured for the TPM external clock function through |
| * the appropriate Pin Control Register in the Port Control module. |
| * |
| * Values: |
| * - 0b0 - TPM2 external clock driven by TPM_CLKIN0 pin. |
| * - 0b1 - TPM2 external clock driven by TPM_CLKIN1 pin. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT4_TPM2CLKSEL field. */ |
| #define SIM_RD_SOPT4_TPM2CLKSEL(base) ((SIM_SOPT4_REG(base) & SIM_SOPT4_TPM2CLKSEL_MASK) >> SIM_SOPT4_TPM2CLKSEL_SHIFT) |
| #define SIM_BRD_SOPT4_TPM2CLKSEL(base) (BME_UBFX32(&SIM_SOPT4_REG(base), SIM_SOPT4_TPM2CLKSEL_SHIFT, SIM_SOPT4_TPM2CLKSEL_WIDTH)) |
| |
| /*! @brief Set the TPM2CLKSEL field to a new value. */ |
| #define SIM_WR_SOPT4_TPM2CLKSEL(base, value) (SIM_RMW_SOPT4(base, SIM_SOPT4_TPM2CLKSEL_MASK, SIM_SOPT4_TPM2CLKSEL(value))) |
| #define SIM_BWR_SOPT4_TPM2CLKSEL(base, value) (BME_BFI32(&SIM_SOPT4_REG(base), ((uint32_t)(value) << SIM_SOPT4_TPM2CLKSEL_SHIFT), SIM_SOPT4_TPM2CLKSEL_SHIFT, SIM_SOPT4_TPM2CLKSEL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_SOPT5 - System Options Register 5 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SOPT5 - System Options Register 5 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SOPT5 register |
| */ |
| /*@{*/ |
| #define SIM_RD_SOPT5(base) (SIM_SOPT5_REG(base)) |
| #define SIM_WR_SOPT5(base, value) (SIM_SOPT5_REG(base) = (value)) |
| #define SIM_RMW_SOPT5(base, mask, value) (SIM_WR_SOPT5(base, (SIM_RD_SOPT5(base) & ~(mask)) | (value))) |
| #define SIM_SET_SOPT5(base, value) (BME_OR32(&SIM_SOPT5_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_SOPT5(base, value) (BME_AND32(&SIM_SOPT5_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_SOPT5(base, value) (BME_XOR32(&SIM_SOPT5_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_SOPT5 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SOPT5, field LPUART0TXSRC[1:0] (RW) |
| * |
| * Selects the source for the LPUART0 transmit data. |
| * |
| * Values: |
| * - 0b00 - LPUART0_TX pin |
| * - 0b01 - LPUART0_TX pin modulated with TPM1 channel 0 output |
| * - 0b10 - LPUART0_TX pin modulated with TPM2 channel 0 output |
| * - 0b11 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT5_LPUART0TXSRC field. */ |
| #define SIM_RD_SOPT5_LPUART0TXSRC(base) ((SIM_SOPT5_REG(base) & SIM_SOPT5_LPUART0TXSRC_MASK) >> SIM_SOPT5_LPUART0TXSRC_SHIFT) |
| #define SIM_BRD_SOPT5_LPUART0TXSRC(base) (BME_UBFX32(&SIM_SOPT5_REG(base), SIM_SOPT5_LPUART0TXSRC_SHIFT, SIM_SOPT5_LPUART0TXSRC_WIDTH)) |
| |
| /*! @brief Set the LPUART0TXSRC field to a new value. */ |
| #define SIM_WR_SOPT5_LPUART0TXSRC(base, value) (SIM_RMW_SOPT5(base, SIM_SOPT5_LPUART0TXSRC_MASK, SIM_SOPT5_LPUART0TXSRC(value))) |
| #define SIM_BWR_SOPT5_LPUART0TXSRC(base, value) (BME_BFI32(&SIM_SOPT5_REG(base), ((uint32_t)(value) << SIM_SOPT5_LPUART0TXSRC_SHIFT), SIM_SOPT5_LPUART0TXSRC_SHIFT, SIM_SOPT5_LPUART0TXSRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT5, field LPUART0RXSRC[2] (RW) |
| * |
| * Selects the source for the LPUART0 receive data. |
| * |
| * Values: |
| * - 0b0 - LPUART_RX pin |
| * - 0b1 - CMP0 output |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT5_LPUART0RXSRC field. */ |
| #define SIM_RD_SOPT5_LPUART0RXSRC(base) ((SIM_SOPT5_REG(base) & SIM_SOPT5_LPUART0RXSRC_MASK) >> SIM_SOPT5_LPUART0RXSRC_SHIFT) |
| #define SIM_BRD_SOPT5_LPUART0RXSRC(base) (BME_UBFX32(&SIM_SOPT5_REG(base), SIM_SOPT5_LPUART0RXSRC_SHIFT, SIM_SOPT5_LPUART0RXSRC_WIDTH)) |
| |
| /*! @brief Set the LPUART0RXSRC field to a new value. */ |
| #define SIM_WR_SOPT5_LPUART0RXSRC(base, value) (SIM_RMW_SOPT5(base, SIM_SOPT5_LPUART0RXSRC_MASK, SIM_SOPT5_LPUART0RXSRC(value))) |
| #define SIM_BWR_SOPT5_LPUART0RXSRC(base, value) (BME_BFI32(&SIM_SOPT5_REG(base), ((uint32_t)(value) << SIM_SOPT5_LPUART0RXSRC_SHIFT), SIM_SOPT5_LPUART0RXSRC_SHIFT, SIM_SOPT5_LPUART0RXSRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT5, field LPUART0ODE[16] (RW) |
| * |
| * Values: |
| * - 0b0 - Open drain is disabled on LPUART0. |
| * - 0b1 - Open drain is enabled on LPUART0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT5_LPUART0ODE field. */ |
| #define SIM_RD_SOPT5_LPUART0ODE(base) ((SIM_SOPT5_REG(base) & SIM_SOPT5_LPUART0ODE_MASK) >> SIM_SOPT5_LPUART0ODE_SHIFT) |
| #define SIM_BRD_SOPT5_LPUART0ODE(base) (BME_UBFX32(&SIM_SOPT5_REG(base), SIM_SOPT5_LPUART0ODE_SHIFT, SIM_SOPT5_LPUART0ODE_WIDTH)) |
| |
| /*! @brief Set the LPUART0ODE field to a new value. */ |
| #define SIM_WR_SOPT5_LPUART0ODE(base, value) (SIM_RMW_SOPT5(base, SIM_SOPT5_LPUART0ODE_MASK, SIM_SOPT5_LPUART0ODE(value))) |
| #define SIM_BWR_SOPT5_LPUART0ODE(base, value) (BME_BFI32(&SIM_SOPT5_REG(base), ((uint32_t)(value) << SIM_SOPT5_LPUART0ODE_SHIFT), SIM_SOPT5_LPUART0ODE_SHIFT, SIM_SOPT5_LPUART0ODE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_SOPT7 - System Options Register 7 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SOPT7 - System Options Register 7 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SOPT7 register |
| */ |
| /*@{*/ |
| #define SIM_RD_SOPT7(base) (SIM_SOPT7_REG(base)) |
| #define SIM_WR_SOPT7(base, value) (SIM_SOPT7_REG(base) = (value)) |
| #define SIM_RMW_SOPT7(base, mask, value) (SIM_WR_SOPT7(base, (SIM_RD_SOPT7(base) & ~(mask)) | (value))) |
| #define SIM_SET_SOPT7(base, value) (BME_OR32(&SIM_SOPT7_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_SOPT7(base, value) (BME_AND32(&SIM_SOPT7_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_SOPT7(base, value) (BME_XOR32(&SIM_SOPT7_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_SOPT7 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SOPT7, field ADC0TRGSEL[3:0] (RW) |
| * |
| * Selects 1 of 16 peripherals to initiate an ADC conversion via the ADHWDT |
| * input, when ADC0ALTTRGEN =1, else is ignored by ADC0. |
| * |
| * Values: |
| * - 0b0000 - External trigger pin input (EXTRG_IN) |
| * - 0b0001 - CMP0 output |
| * - 0b0010 - Reserved |
| * - 0b0011 - Reserved |
| * - 0b0100 - PIT trigger 0 |
| * - 0b0101 - PIT trigger 1 |
| * - 0b0110 - Reserved |
| * - 0b0111 - Reserved |
| * - 0b1000 - TPM0 overflow |
| * - 0b1001 - TPM1 overflow |
| * - 0b1010 - TPM2 overflow |
| * - 0b1011 - Reserved |
| * - 0b1100 - RTC alarm |
| * - 0b1101 - RTC seconds |
| * - 0b1110 - LPTMR0 trigger |
| * - 0b1111 - Radio TSM |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT7_ADC0TRGSEL field. */ |
| #define SIM_RD_SOPT7_ADC0TRGSEL(base) ((SIM_SOPT7_REG(base) & SIM_SOPT7_ADC0TRGSEL_MASK) >> SIM_SOPT7_ADC0TRGSEL_SHIFT) |
| #define SIM_BRD_SOPT7_ADC0TRGSEL(base) (BME_UBFX32(&SIM_SOPT7_REG(base), SIM_SOPT7_ADC0TRGSEL_SHIFT, SIM_SOPT7_ADC0TRGSEL_WIDTH)) |
| |
| /*! @brief Set the ADC0TRGSEL field to a new value. */ |
| #define SIM_WR_SOPT7_ADC0TRGSEL(base, value) (SIM_RMW_SOPT7(base, SIM_SOPT7_ADC0TRGSEL_MASK, SIM_SOPT7_ADC0TRGSEL(value))) |
| #define SIM_BWR_SOPT7_ADC0TRGSEL(base, value) (BME_BFI32(&SIM_SOPT7_REG(base), ((uint32_t)(value) << SIM_SOPT7_ADC0TRGSEL_SHIFT), SIM_SOPT7_ADC0TRGSEL_SHIFT, SIM_SOPT7_ADC0TRGSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT7, field ADC0PRETRGSEL[4] (RW) |
| * |
| * Selects the ADC0 pre-trigger source when alternative triggers are enabled |
| * through ADC0ALTTRGEN.The ADC0PRETRGSEL function is ignored if ADC0ALTTRGEN = 0. |
| * |
| * Values: |
| * - 0b0 - Pre-trigger ADHDWTSA is selected, thus ADC0 will use ADC0_SC1A |
| * configuration for the next ADC conversion and store the result in ADC0_RA |
| * register. |
| * - 0b1 - Pre-trigger ADHDWTSB is selected, thus ADC0 will use ADC0_SC1B |
| * configuration for the next ADC conversion and store the result in ADC0_RB |
| * register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT7_ADC0PRETRGSEL field. */ |
| #define SIM_RD_SOPT7_ADC0PRETRGSEL(base) ((SIM_SOPT7_REG(base) & SIM_SOPT7_ADC0PRETRGSEL_MASK) >> SIM_SOPT7_ADC0PRETRGSEL_SHIFT) |
| #define SIM_BRD_SOPT7_ADC0PRETRGSEL(base) (BME_UBFX32(&SIM_SOPT7_REG(base), SIM_SOPT7_ADC0PRETRGSEL_SHIFT, SIM_SOPT7_ADC0PRETRGSEL_WIDTH)) |
| |
| /*! @brief Set the ADC0PRETRGSEL field to a new value. */ |
| #define SIM_WR_SOPT7_ADC0PRETRGSEL(base, value) (SIM_RMW_SOPT7(base, SIM_SOPT7_ADC0PRETRGSEL_MASK, SIM_SOPT7_ADC0PRETRGSEL(value))) |
| #define SIM_BWR_SOPT7_ADC0PRETRGSEL(base, value) (BME_BFI32(&SIM_SOPT7_REG(base), ((uint32_t)(value) << SIM_SOPT7_ADC0PRETRGSEL_SHIFT), SIM_SOPT7_ADC0PRETRGSEL_SHIFT, SIM_SOPT7_ADC0PRETRGSEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SOPT7, field ADC0ALTTRGEN[7] (RW) |
| * |
| * Enables alternative conversion triggers for ADC0. |
| * |
| * Values: |
| * - 0b0 - ADC ADHWT trigger comes from TPM1 channel 0 and channel1. Prior to |
| * the assertion of TPM1 channel 0, a pre-trigger pulse will be sent to ADHWTSA |
| * to initiate an ADC acquisition using ADCx_SC1A configuration and store |
| * ADC conversion in ADCx_RA Register. Prior to the assertion of TPM1 channel 1 |
| * a pre-trigger pulse will be sent to ADHWTSB to initiate an ADC |
| * acquisition using ADCx_SC1Bconfiguration and store ADC conversion in ADCx_RB |
| * Register. |
| * - 0b1 - ADC ADHWT trigger comes from a peripheral event selected by |
| * ADC0TRGSEL bits.ADC0PRETRGSEL bit will select the optional ADHWTSA or ADHWTSB |
| * select lines for choosing the ADCx_SC1x config and ADCx_Rx result regsiter to |
| * store the ADC conversion. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SOPT7_ADC0ALTTRGEN field. */ |
| #define SIM_RD_SOPT7_ADC0ALTTRGEN(base) ((SIM_SOPT7_REG(base) & SIM_SOPT7_ADC0ALTTRGEN_MASK) >> SIM_SOPT7_ADC0ALTTRGEN_SHIFT) |
| #define SIM_BRD_SOPT7_ADC0ALTTRGEN(base) (BME_UBFX32(&SIM_SOPT7_REG(base), SIM_SOPT7_ADC0ALTTRGEN_SHIFT, SIM_SOPT7_ADC0ALTTRGEN_WIDTH)) |
| |
| /*! @brief Set the ADC0ALTTRGEN field to a new value. */ |
| #define SIM_WR_SOPT7_ADC0ALTTRGEN(base, value) (SIM_RMW_SOPT7(base, SIM_SOPT7_ADC0ALTTRGEN_MASK, SIM_SOPT7_ADC0ALTTRGEN(value))) |
| #define SIM_BWR_SOPT7_ADC0ALTTRGEN(base, value) (BME_BFI32(&SIM_SOPT7_REG(base), ((uint32_t)(value) << SIM_SOPT7_ADC0ALTTRGEN_SHIFT), SIM_SOPT7_ADC0ALTTRGEN_SHIFT, SIM_SOPT7_ADC0ALTTRGEN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_SDID - System Device Identification Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SDID - System Device Identification Register (RO) |
| * |
| * Reset value: 0x00500000U |
| * |
| * Reset value loaded during System Reset from Flash IFR. |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SDID register |
| */ |
| /*@{*/ |
| #define SIM_RD_SDID(base) (SIM_SDID_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_SDID bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SDID, field PINID[3:0] (RO) |
| * |
| * Specifies the pin count of the device. |
| * |
| * Values: |
| * - 0b0000 - Reserved |
| * - 0b0001 - Reserved |
| * - 0b0010 - 32-pin |
| * - 0b0011 - Reserved |
| * - 0b0100 - 48-pin |
| * - 0b0101 - Reserved |
| * - 0b0110 - Reserved |
| * - 0b0111 - Reserved |
| * - 0b1000 - Reserved |
| * - 0b1001 - Reserved |
| * - 0b1010 - Reserved |
| * - 0b1011 - CSP |
| * - 0b1100 - Reserved |
| * - 0b1101 - Reserved |
| * - 0b1110 - Reserved |
| * - 0b1111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SDID_PINID field. */ |
| #define SIM_RD_SDID_PINID(base) ((SIM_SDID_REG(base) & SIM_SDID_PINID_MASK) >> SIM_SDID_PINID_SHIFT) |
| #define SIM_BRD_SDID_PINID(base) (BME_UBFX32(&SIM_SDID_REG(base), SIM_SDID_PINID_SHIFT, SIM_SDID_PINID_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SDID, field DIEID[11:7] (RO) |
| * |
| * Specifies the silicon implementation number for the device. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SDID_DIEID field. */ |
| #define SIM_RD_SDID_DIEID(base) ((SIM_SDID_REG(base) & SIM_SDID_DIEID_MASK) >> SIM_SDID_DIEID_SHIFT) |
| #define SIM_BRD_SDID_DIEID(base) (BME_UBFX32(&SIM_SDID_REG(base), SIM_SDID_DIEID_SHIFT, SIM_SDID_DIEID_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SDID, field REVID[15:12] (RO) |
| * |
| * Specifies the silicon implementation number for the device. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SDID_REVID field. */ |
| #define SIM_RD_SDID_REVID(base) ((SIM_SDID_REG(base) & SIM_SDID_REVID_MASK) >> SIM_SDID_REVID_SHIFT) |
| #define SIM_BRD_SDID_REVID(base) (BME_UBFX32(&SIM_SDID_REG(base), SIM_SDID_REVID_SHIFT, SIM_SDID_REVID_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SDID, field SRAMSIZE[19:16] (RO) |
| * |
| * Specifies the size of the System SRAM |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SDID_SRAMSIZE field. */ |
| #define SIM_RD_SDID_SRAMSIZE(base) ((SIM_SDID_REG(base) & SIM_SDID_SRAMSIZE_MASK) >> SIM_SDID_SRAMSIZE_SHIFT) |
| #define SIM_BRD_SDID_SRAMSIZE(base) (BME_UBFX32(&SIM_SDID_REG(base), SIM_SDID_SRAMSIZE_SHIFT, SIM_SDID_SRAMSIZE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SDID, field SERIESID[23:20] (RO) |
| * |
| * Specifies the Kinetis family of the device. |
| * |
| * Values: |
| * - 0b0101 - KW family |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SDID_SERIESID field. */ |
| #define SIM_RD_SDID_SERIESID(base) ((SIM_SDID_REG(base) & SIM_SDID_SERIESID_MASK) >> SIM_SDID_SERIESID_SHIFT) |
| #define SIM_BRD_SDID_SERIESID(base) (BME_UBFX32(&SIM_SDID_REG(base), SIM_SDID_SERIESID_SHIFT, SIM_SDID_SERIESID_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SDID, field SUBFAMID[25:24] (RO) |
| * |
| * Specifies the Kinetis sub-family of the device. |
| * |
| * Values: |
| * - 0b00 - KWx0 Subfamily |
| * - 0b01 - KWx1 Subfamily |
| * - 0b10 - KWx2 Subfamily |
| * - 0b11 - KWx3 Subfamily |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SDID_SUBFAMID field. */ |
| #define SIM_RD_SDID_SUBFAMID(base) ((SIM_SDID_REG(base) & SIM_SDID_SUBFAMID_MASK) >> SIM_SDID_SUBFAMID_SHIFT) |
| #define SIM_BRD_SDID_SUBFAMID(base) (BME_UBFX32(&SIM_SDID_REG(base), SIM_SDID_SUBFAMID_SHIFT, SIM_SDID_SUBFAMID_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SDID, field FAMID[31:28] (RO) |
| * |
| * Specifies the Kinetis family of the device. The FAMID will be loaded from the |
| * BLE_EN and ZIGBEE_EN IFR bits. |
| * |
| * Values: |
| * - 0b0010 - KW20 Family (802.15.4/ZigBee) |
| * - 0b0011 - KW30 Family (BTLE) |
| * - 0b0100 - KW40 Family (802.15.4/ZigBee or BTLE) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SDID_FAMID field. */ |
| #define SIM_RD_SDID_FAMID(base) ((SIM_SDID_REG(base) & SIM_SDID_FAMID_MASK) >> SIM_SDID_FAMID_SHIFT) |
| #define SIM_BRD_SDID_FAMID(base) (BME_UBFX32(&SIM_SDID_REG(base), SIM_SDID_FAMID_SHIFT, SIM_SDID_FAMID_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_SCGC4 - System Clock Gating Control Register 4 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SCGC4 - System Clock Gating Control Register 4 (RW) |
| * |
| * Reset value: 0xF0000030U |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SCGC4 register |
| */ |
| /*@{*/ |
| #define SIM_RD_SCGC4(base) (SIM_SCGC4_REG(base)) |
| #define SIM_WR_SCGC4(base, value) (SIM_SCGC4_REG(base) = (value)) |
| #define SIM_RMW_SCGC4(base, mask, value) (SIM_WR_SCGC4(base, (SIM_RD_SCGC4(base) & ~(mask)) | (value))) |
| #define SIM_SET_SCGC4(base, value) (BME_OR32(&SIM_SCGC4_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_SCGC4(base, value) (BME_AND32(&SIM_SCGC4_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_SCGC4(base, value) (BME_XOR32(&SIM_SCGC4_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* Unified clock gate bit access macros */ |
| #define SIM_SCGC_BIT_REG(base, index) (*((volatile uint32_t *)&SIM_SCGC4_REG(base) + (((uint32_t)(index) >> 5) - 3U))) |
| #define SIM_SCGC_BIT_SHIFT(index) ((uint32_t)(index) & ((1U << 5) - 1U)) |
| #define SIM_RD_SCGC_BIT(base, index) (SIM_SCGC_BIT_REG((base), (index)) & (1U << SIM_SCGC_BIT_SHIFT(index))) |
| #define SIM_BRD_SCGC_BIT(base, index) (BME_UBFX32(&SIM_SCGC_BIT_REG((base), (index)), SIM_SCGC_BIT_SHIFT(index), 1)) |
| #define SIM_WR_SCGC_BIT(base, index, value) (SIM_SCGC_BIT_REG((base), (index)) = (SIM_SCGC_BIT_REG((base), (index)) & ~(1U << SIM_SCGC_BIT_SHIFT(index))) | ((uint32_t)(value) << SIM_SCGC_BIT_SHIFT(index))) |
| #define SIM_BWR_SCGC_BIT(base, index, value) (BME_BFI32(&SIM_SCGC_BIT_REG((base), (index)), ((uint32_t)(value) << SIM_SCGC_BIT_SHIFT(index)), SIM_SCGC_BIT_SHIFT(index), 1)) |
| |
| /* |
| * Constants & macros for individual SIM_SCGC4 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SCGC4, field CMT[2] (RW) |
| * |
| * Controls the clock gate to the CMT module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC4_CMT field. */ |
| #define SIM_RD_SCGC4_CMT(base) ((SIM_SCGC4_REG(base) & SIM_SCGC4_CMT_MASK) >> SIM_SCGC4_CMT_SHIFT) |
| #define SIM_BRD_SCGC4_CMT(base) (BME_UBFX32(&SIM_SCGC4_REG(base), SIM_SCGC4_CMT_SHIFT, SIM_SCGC4_CMT_WIDTH)) |
| |
| /*! @brief Set the CMT field to a new value. */ |
| #define SIM_WR_SCGC4_CMT(base, value) (SIM_RMW_SCGC4(base, SIM_SCGC4_CMT_MASK, SIM_SCGC4_CMT(value))) |
| #define SIM_BWR_SCGC4_CMT(base, value) (BME_BFI32(&SIM_SCGC4_REG(base), ((uint32_t)(value) << SIM_SCGC4_CMT_SHIFT), SIM_SCGC4_CMT_SHIFT, SIM_SCGC4_CMT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC4, field I2C0[6] (RW) |
| * |
| * Controls the clock gate to the I2C0 module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC4_I2C0 field. */ |
| #define SIM_RD_SCGC4_I2C0(base) ((SIM_SCGC4_REG(base) & SIM_SCGC4_I2C0_MASK) >> SIM_SCGC4_I2C0_SHIFT) |
| #define SIM_BRD_SCGC4_I2C0(base) (BME_UBFX32(&SIM_SCGC4_REG(base), SIM_SCGC4_I2C0_SHIFT, SIM_SCGC4_I2C0_WIDTH)) |
| |
| /*! @brief Set the I2C0 field to a new value. */ |
| #define SIM_WR_SCGC4_I2C0(base, value) (SIM_RMW_SCGC4(base, SIM_SCGC4_I2C0_MASK, SIM_SCGC4_I2C0(value))) |
| #define SIM_BWR_SCGC4_I2C0(base, value) (BME_BFI32(&SIM_SCGC4_REG(base), ((uint32_t)(value) << SIM_SCGC4_I2C0_SHIFT), SIM_SCGC4_I2C0_SHIFT, SIM_SCGC4_I2C0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC4, field I2C1[7] (RW) |
| * |
| * Controls the clock gate to the I2C1 module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC4_I2C1 field. */ |
| #define SIM_RD_SCGC4_I2C1(base) ((SIM_SCGC4_REG(base) & SIM_SCGC4_I2C1_MASK) >> SIM_SCGC4_I2C1_SHIFT) |
| #define SIM_BRD_SCGC4_I2C1(base) (BME_UBFX32(&SIM_SCGC4_REG(base), SIM_SCGC4_I2C1_SHIFT, SIM_SCGC4_I2C1_WIDTH)) |
| |
| /*! @brief Set the I2C1 field to a new value. */ |
| #define SIM_WR_SCGC4_I2C1(base, value) (SIM_RMW_SCGC4(base, SIM_SCGC4_I2C1_MASK, SIM_SCGC4_I2C1(value))) |
| #define SIM_BWR_SCGC4_I2C1(base, value) (BME_BFI32(&SIM_SCGC4_REG(base), ((uint32_t)(value) << SIM_SCGC4_I2C1_SHIFT), SIM_SCGC4_I2C1_SHIFT, SIM_SCGC4_I2C1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC4, field CMP[19] (RW) |
| * |
| * Controls the clock gate to the comparator module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC4_CMP field. */ |
| #define SIM_RD_SCGC4_CMP(base) ((SIM_SCGC4_REG(base) & SIM_SCGC4_CMP_MASK) >> SIM_SCGC4_CMP_SHIFT) |
| #define SIM_BRD_SCGC4_CMP(base) (BME_UBFX32(&SIM_SCGC4_REG(base), SIM_SCGC4_CMP_SHIFT, SIM_SCGC4_CMP_WIDTH)) |
| |
| /*! @brief Set the CMP field to a new value. */ |
| #define SIM_WR_SCGC4_CMP(base, value) (SIM_RMW_SCGC4(base, SIM_SCGC4_CMP_MASK, SIM_SCGC4_CMP(value))) |
| #define SIM_BWR_SCGC4_CMP(base, value) (BME_BFI32(&SIM_SCGC4_REG(base), ((uint32_t)(value) << SIM_SCGC4_CMP_SHIFT), SIM_SCGC4_CMP_SHIFT, SIM_SCGC4_CMP_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_SCGC5 - System Clock Gating Control Register 5 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SCGC5 - System Clock Gating Control Register 5 (RW) |
| * |
| * Reset value: 0x02000182U |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SCGC5 register |
| */ |
| /*@{*/ |
| #define SIM_RD_SCGC5(base) (SIM_SCGC5_REG(base)) |
| #define SIM_WR_SCGC5(base, value) (SIM_SCGC5_REG(base) = (value)) |
| #define SIM_RMW_SCGC5(base, mask, value) (SIM_WR_SCGC5(base, (SIM_RD_SCGC5(base) & ~(mask)) | (value))) |
| #define SIM_SET_SCGC5(base, value) (BME_OR32(&SIM_SCGC5_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_SCGC5(base, value) (BME_AND32(&SIM_SCGC5_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_SCGC5(base, value) (BME_XOR32(&SIM_SCGC5_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_SCGC5 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SCGC5, field LPTMR[0] (RW) |
| * |
| * Controls software access to the Low Power Timer module. |
| * |
| * Values: |
| * - 0b0 - Access disabled |
| * - 0b1 - Access enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_LPTMR field. */ |
| #define SIM_RD_SCGC5_LPTMR(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_LPTMR_MASK) >> SIM_SCGC5_LPTMR_SHIFT) |
| #define SIM_BRD_SCGC5_LPTMR(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_LPTMR_SHIFT, SIM_SCGC5_LPTMR_WIDTH)) |
| |
| /*! @brief Set the LPTMR field to a new value. */ |
| #define SIM_WR_SCGC5_LPTMR(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_LPTMR_MASK, SIM_SCGC5_LPTMR(value))) |
| #define SIM_BWR_SCGC5_LPTMR(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_LPTMR_SHIFT), SIM_SCGC5_LPTMR_SHIFT, SIM_SCGC5_LPTMR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field TSI[5] (RW) |
| * |
| * Controls software access to the TSI module. |
| * |
| * Values: |
| * - 0b0 - Access disabled |
| * - 0b1 - Access enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_TSI field. */ |
| #define SIM_RD_SCGC5_TSI(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_TSI_MASK) >> SIM_SCGC5_TSI_SHIFT) |
| #define SIM_BRD_SCGC5_TSI(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_TSI_SHIFT, SIM_SCGC5_TSI_WIDTH)) |
| |
| /*! @brief Set the TSI field to a new value. */ |
| #define SIM_WR_SCGC5_TSI(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_TSI_MASK, SIM_SCGC5_TSI(value))) |
| #define SIM_BWR_SCGC5_TSI(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_TSI_SHIFT), SIM_SCGC5_TSI_SHIFT, SIM_SCGC5_TSI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field PORTA[9] (RW) |
| * |
| * Controls the clock gate to the Port A module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_PORTA field. */ |
| #define SIM_RD_SCGC5_PORTA(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_PORTA_MASK) >> SIM_SCGC5_PORTA_SHIFT) |
| #define SIM_BRD_SCGC5_PORTA(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_PORTA_SHIFT, SIM_SCGC5_PORTA_WIDTH)) |
| |
| /*! @brief Set the PORTA field to a new value. */ |
| #define SIM_WR_SCGC5_PORTA(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_PORTA_MASK, SIM_SCGC5_PORTA(value))) |
| #define SIM_BWR_SCGC5_PORTA(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_PORTA_SHIFT), SIM_SCGC5_PORTA_SHIFT, SIM_SCGC5_PORTA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field PORTB[10] (RW) |
| * |
| * Controls the clock gate to the Port B module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_PORTB field. */ |
| #define SIM_RD_SCGC5_PORTB(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_PORTB_MASK) >> SIM_SCGC5_PORTB_SHIFT) |
| #define SIM_BRD_SCGC5_PORTB(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_PORTB_SHIFT, SIM_SCGC5_PORTB_WIDTH)) |
| |
| /*! @brief Set the PORTB field to a new value. */ |
| #define SIM_WR_SCGC5_PORTB(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_PORTB_MASK, SIM_SCGC5_PORTB(value))) |
| #define SIM_BWR_SCGC5_PORTB(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_PORTB_SHIFT), SIM_SCGC5_PORTB_SHIFT, SIM_SCGC5_PORTB_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field PORTC[11] (RW) |
| * |
| * Controls the clock gate to the Port C module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_PORTC field. */ |
| #define SIM_RD_SCGC5_PORTC(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_PORTC_MASK) >> SIM_SCGC5_PORTC_SHIFT) |
| #define SIM_BRD_SCGC5_PORTC(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_PORTC_SHIFT, SIM_SCGC5_PORTC_WIDTH)) |
| |
| /*! @brief Set the PORTC field to a new value. */ |
| #define SIM_WR_SCGC5_PORTC(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_PORTC_MASK, SIM_SCGC5_PORTC(value))) |
| #define SIM_BWR_SCGC5_PORTC(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_PORTC_SHIFT), SIM_SCGC5_PORTC_SHIFT, SIM_SCGC5_PORTC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field LPUART0[20] (RW) |
| * |
| * This bit controls the clock gate to the LPUART0 module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_LPUART0 field. */ |
| #define SIM_RD_SCGC5_LPUART0(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_LPUART0_MASK) >> SIM_SCGC5_LPUART0_SHIFT) |
| #define SIM_BRD_SCGC5_LPUART0(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_LPUART0_SHIFT, SIM_SCGC5_LPUART0_WIDTH)) |
| |
| /*! @brief Set the LPUART0 field to a new value. */ |
| #define SIM_WR_SCGC5_LPUART0(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_LPUART0_MASK, SIM_SCGC5_LPUART0(value))) |
| #define SIM_BWR_SCGC5_LPUART0(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_LPUART0_SHIFT), SIM_SCGC5_LPUART0_SHIFT, SIM_SCGC5_LPUART0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field LTC[24] (RW) |
| * |
| * This bit controls the clock gate to the LTC Security module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_LTC field. */ |
| #define SIM_RD_SCGC5_LTC(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_LTC_MASK) >> SIM_SCGC5_LTC_SHIFT) |
| #define SIM_BRD_SCGC5_LTC(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_LTC_SHIFT, SIM_SCGC5_LTC_WIDTH)) |
| |
| /*! @brief Set the LTC field to a new value. */ |
| #define SIM_WR_SCGC5_LTC(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_LTC_MASK, SIM_SCGC5_LTC(value))) |
| #define SIM_BWR_SCGC5_LTC(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_LTC_SHIFT), SIM_SCGC5_LTC_SHIFT, SIM_SCGC5_LTC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field RSIM[25] (RO) |
| * |
| * This bit controls the clock gate to the Radio SIM (RSIM) module. Always |
| * enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_RSIM field. */ |
| #define SIM_RD_SCGC5_RSIM(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_RSIM_MASK) >> SIM_SCGC5_RSIM_SHIFT) |
| #define SIM_BRD_SCGC5_RSIM(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_RSIM_SHIFT, SIM_SCGC5_RSIM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field DCDC[26] (RW) |
| * |
| * This bit controls the clock gate to the DCDC module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_DCDC field. */ |
| #define SIM_RD_SCGC5_DCDC(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_DCDC_MASK) >> SIM_SCGC5_DCDC_SHIFT) |
| #define SIM_BRD_SCGC5_DCDC(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_DCDC_SHIFT, SIM_SCGC5_DCDC_WIDTH)) |
| |
| /*! @brief Set the DCDC field to a new value. */ |
| #define SIM_WR_SCGC5_DCDC(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_DCDC_MASK, SIM_SCGC5_DCDC(value))) |
| #define SIM_BWR_SCGC5_DCDC(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_DCDC_SHIFT), SIM_SCGC5_DCDC_SHIFT, SIM_SCGC5_DCDC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field BTLL[27] (RW) |
| * |
| * This bit controls the clock gate to the BlueTooth Link Layer (BTLL) module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_BTLL field. */ |
| #define SIM_RD_SCGC5_BTLL(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_BTLL_MASK) >> SIM_SCGC5_BTLL_SHIFT) |
| #define SIM_BRD_SCGC5_BTLL(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_BTLL_SHIFT, SIM_SCGC5_BTLL_WIDTH)) |
| |
| /*! @brief Set the BTLL field to a new value. */ |
| #define SIM_WR_SCGC5_BTLL(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_BTLL_MASK, SIM_SCGC5_BTLL(value))) |
| #define SIM_BWR_SCGC5_BTLL(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_BTLL_SHIFT), SIM_SCGC5_BTLL_SHIFT, SIM_SCGC5_BTLL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field PHYDIG[28] (RW) |
| * |
| * This bit controls the clock gate to the Physical Layer (PHY) Digital module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_PHYDIG field. */ |
| #define SIM_RD_SCGC5_PHYDIG(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_PHYDIG_MASK) >> SIM_SCGC5_PHYDIG_SHIFT) |
| #define SIM_BRD_SCGC5_PHYDIG(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_PHYDIG_SHIFT, SIM_SCGC5_PHYDIG_WIDTH)) |
| |
| /*! @brief Set the PHYDIG field to a new value. */ |
| #define SIM_WR_SCGC5_PHYDIG(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_PHYDIG_MASK, SIM_SCGC5_PHYDIG(value))) |
| #define SIM_BWR_SCGC5_PHYDIG(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_PHYDIG_SHIFT), SIM_SCGC5_PHYDIG_SHIFT, SIM_SCGC5_PHYDIG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC5, field ZigBee[29] (RW) |
| * |
| * This bit controls the clock gate to the ZigBee module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC5_ZigBee field. */ |
| #define SIM_RD_SCGC5_ZigBee(base) ((SIM_SCGC5_REG(base) & SIM_SCGC5_ZigBee_MASK) >> SIM_SCGC5_ZigBee_SHIFT) |
| #define SIM_BRD_SCGC5_ZigBee(base) (BME_UBFX32(&SIM_SCGC5_REG(base), SIM_SCGC5_ZigBee_SHIFT, SIM_SCGC5_ZigBee_WIDTH)) |
| |
| /*! @brief Set the ZigBee field to a new value. */ |
| #define SIM_WR_SCGC5_ZigBee(base, value) (SIM_RMW_SCGC5(base, SIM_SCGC5_ZigBee_MASK, SIM_SCGC5_ZigBee(value))) |
| #define SIM_BWR_SCGC5_ZigBee(base, value) (BME_BFI32(&SIM_SCGC5_REG(base), ((uint32_t)(value) << SIM_SCGC5_ZigBee_SHIFT), SIM_SCGC5_ZigBee_SHIFT, SIM_SCGC5_ZigBee_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_SCGC6 - System Clock Gating Control Register 6 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SCGC6 - System Clock Gating Control Register 6 (RW) |
| * |
| * Reset value: 0x00000001U |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SCGC6 register |
| */ |
| /*@{*/ |
| #define SIM_RD_SCGC6(base) (SIM_SCGC6_REG(base)) |
| #define SIM_WR_SCGC6(base, value) (SIM_SCGC6_REG(base) = (value)) |
| #define SIM_RMW_SCGC6(base, mask, value) (SIM_WR_SCGC6(base, (SIM_RD_SCGC6(base) & ~(mask)) | (value))) |
| #define SIM_SET_SCGC6(base, value) (BME_OR32(&SIM_SCGC6_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_SCGC6(base, value) (BME_AND32(&SIM_SCGC6_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_SCGC6(base, value) (BME_XOR32(&SIM_SCGC6_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_SCGC6 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SCGC6, field FTF[0] (RW) |
| * |
| * Controls the clock gate to the flash memory. Flash reads are still supported |
| * while the flash memory is clock gated, but entry into low power modes is |
| * blocked. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_FTF field. */ |
| #define SIM_RD_SCGC6_FTF(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_FTF_MASK) >> SIM_SCGC6_FTF_SHIFT) |
| #define SIM_BRD_SCGC6_FTF(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_FTF_SHIFT, SIM_SCGC6_FTF_WIDTH)) |
| |
| /*! @brief Set the FTF field to a new value. */ |
| #define SIM_WR_SCGC6_FTF(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_FTF_MASK, SIM_SCGC6_FTF(value))) |
| #define SIM_BWR_SCGC6_FTF(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_FTF_SHIFT), SIM_SCGC6_FTF_SHIFT, SIM_SCGC6_FTF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field DMAMUX[1] (RW) |
| * |
| * Controls the clock gate to the DMA Mux module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_DMAMUX field. */ |
| #define SIM_RD_SCGC6_DMAMUX(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_DMAMUX_MASK) >> SIM_SCGC6_DMAMUX_SHIFT) |
| #define SIM_BRD_SCGC6_DMAMUX(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_DMAMUX_SHIFT, SIM_SCGC6_DMAMUX_WIDTH)) |
| |
| /*! @brief Set the DMAMUX field to a new value. */ |
| #define SIM_WR_SCGC6_DMAMUX(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_DMAMUX_MASK, SIM_SCGC6_DMAMUX(value))) |
| #define SIM_BWR_SCGC6_DMAMUX(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_DMAMUX_SHIFT), SIM_SCGC6_DMAMUX_SHIFT, SIM_SCGC6_DMAMUX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field TRNG[9] (RW) |
| * |
| * Controls the clock gate to the Random Number Generator (TRNG) module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_TRNG field. */ |
| #define SIM_RD_SCGC6_TRNG(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_TRNG_MASK) >> SIM_SCGC6_TRNG_SHIFT) |
| #define SIM_BRD_SCGC6_TRNG(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_TRNG_SHIFT, SIM_SCGC6_TRNG_WIDTH)) |
| |
| /*! @brief Set the TRNG field to a new value. */ |
| #define SIM_WR_SCGC6_TRNG(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_TRNG_MASK, SIM_SCGC6_TRNG(value))) |
| #define SIM_BWR_SCGC6_TRNG(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_TRNG_SHIFT), SIM_SCGC6_TRNG_SHIFT, SIM_SCGC6_TRNG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field SPI0[12] (RW) |
| * |
| * Controls the clock gate to the Serial Peripheral Interface (SPI0) module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_SPI0 field. */ |
| #define SIM_RD_SCGC6_SPI0(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_SPI0_MASK) >> SIM_SCGC6_SPI0_SHIFT) |
| #define SIM_BRD_SCGC6_SPI0(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_SPI0_SHIFT, SIM_SCGC6_SPI0_WIDTH)) |
| |
| /*! @brief Set the SPI0 field to a new value. */ |
| #define SIM_WR_SCGC6_SPI0(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_SPI0_MASK, SIM_SCGC6_SPI0(value))) |
| #define SIM_BWR_SCGC6_SPI0(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_SPI0_SHIFT), SIM_SCGC6_SPI0_SHIFT, SIM_SCGC6_SPI0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field SPI1[13] (RW) |
| * |
| * Controls the clock gate to the Serial Peripheral Interface (SPI1) module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_SPI1 field. */ |
| #define SIM_RD_SCGC6_SPI1(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_SPI1_MASK) >> SIM_SCGC6_SPI1_SHIFT) |
| #define SIM_BRD_SCGC6_SPI1(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_SPI1_SHIFT, SIM_SCGC6_SPI1_WIDTH)) |
| |
| /*! @brief Set the SPI1 field to a new value. */ |
| #define SIM_WR_SCGC6_SPI1(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_SPI1_MASK, SIM_SCGC6_SPI1(value))) |
| #define SIM_BWR_SCGC6_SPI1(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_SPI1_SHIFT), SIM_SCGC6_SPI1_SHIFT, SIM_SCGC6_SPI1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field PIT[23] (RW) |
| * |
| * This bit controls the clock gate to the PIT module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_PIT field. */ |
| #define SIM_RD_SCGC6_PIT(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_PIT_MASK) >> SIM_SCGC6_PIT_SHIFT) |
| #define SIM_BRD_SCGC6_PIT(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_PIT_SHIFT, SIM_SCGC6_PIT_WIDTH)) |
| |
| /*! @brief Set the PIT field to a new value. */ |
| #define SIM_WR_SCGC6_PIT(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_PIT_MASK, SIM_SCGC6_PIT(value))) |
| #define SIM_BWR_SCGC6_PIT(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_PIT_SHIFT), SIM_SCGC6_PIT_SHIFT, SIM_SCGC6_PIT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field TPM0[24] (RW) |
| * |
| * Controls the clock gate to the TPM0 module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_TPM0 field. */ |
| #define SIM_RD_SCGC6_TPM0(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_TPM0_MASK) >> SIM_SCGC6_TPM0_SHIFT) |
| #define SIM_BRD_SCGC6_TPM0(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_TPM0_SHIFT, SIM_SCGC6_TPM0_WIDTH)) |
| |
| /*! @brief Set the TPM0 field to a new value. */ |
| #define SIM_WR_SCGC6_TPM0(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_TPM0_MASK, SIM_SCGC6_TPM0(value))) |
| #define SIM_BWR_SCGC6_TPM0(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_TPM0_SHIFT), SIM_SCGC6_TPM0_SHIFT, SIM_SCGC6_TPM0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field TPM1[25] (RW) |
| * |
| * Controls the clock gate to the TPM1 module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_TPM1 field. */ |
| #define SIM_RD_SCGC6_TPM1(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_TPM1_MASK) >> SIM_SCGC6_TPM1_SHIFT) |
| #define SIM_BRD_SCGC6_TPM1(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_TPM1_SHIFT, SIM_SCGC6_TPM1_WIDTH)) |
| |
| /*! @brief Set the TPM1 field to a new value. */ |
| #define SIM_WR_SCGC6_TPM1(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_TPM1_MASK, SIM_SCGC6_TPM1(value))) |
| #define SIM_BWR_SCGC6_TPM1(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_TPM1_SHIFT), SIM_SCGC6_TPM1_SHIFT, SIM_SCGC6_TPM1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field TPM2[26] (RW) |
| * |
| * Controls the clock gate to the TPM2 module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_TPM2 field. */ |
| #define SIM_RD_SCGC6_TPM2(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_TPM2_MASK) >> SIM_SCGC6_TPM2_SHIFT) |
| #define SIM_BRD_SCGC6_TPM2(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_TPM2_SHIFT, SIM_SCGC6_TPM2_WIDTH)) |
| |
| /*! @brief Set the TPM2 field to a new value. */ |
| #define SIM_WR_SCGC6_TPM2(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_TPM2_MASK, SIM_SCGC6_TPM2(value))) |
| #define SIM_BWR_SCGC6_TPM2(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_TPM2_SHIFT), SIM_SCGC6_TPM2_SHIFT, SIM_SCGC6_TPM2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field ADC0[27] (RW) |
| * |
| * Controls the clock gate to the ADC0 module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_ADC0 field. */ |
| #define SIM_RD_SCGC6_ADC0(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_ADC0_MASK) >> SIM_SCGC6_ADC0_SHIFT) |
| #define SIM_BRD_SCGC6_ADC0(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_ADC0_SHIFT, SIM_SCGC6_ADC0_WIDTH)) |
| |
| /*! @brief Set the ADC0 field to a new value. */ |
| #define SIM_WR_SCGC6_ADC0(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_ADC0_MASK, SIM_SCGC6_ADC0(value))) |
| #define SIM_BWR_SCGC6_ADC0(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_ADC0_SHIFT), SIM_SCGC6_ADC0_SHIFT, SIM_SCGC6_ADC0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field RTC[29] (RW) |
| * |
| * Controls software access and interrupts to the RTC module. |
| * |
| * Values: |
| * - 0b0 - Access and interrupts disabled |
| * - 0b1 - Access and interrupts enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_RTC field. */ |
| #define SIM_RD_SCGC6_RTC(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_RTC_MASK) >> SIM_SCGC6_RTC_SHIFT) |
| #define SIM_BRD_SCGC6_RTC(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_RTC_SHIFT, SIM_SCGC6_RTC_WIDTH)) |
| |
| /*! @brief Set the RTC field to a new value. */ |
| #define SIM_WR_SCGC6_RTC(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_RTC_MASK, SIM_SCGC6_RTC(value))) |
| #define SIM_BWR_SCGC6_RTC(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_RTC_SHIFT), SIM_SCGC6_RTC_SHIFT, SIM_SCGC6_RTC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_SCGC6, field DAC0[31] (RW) |
| * |
| * This bit controls the clock gate to the DAC0 module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC6_DAC0 field. */ |
| #define SIM_RD_SCGC6_DAC0(base) ((SIM_SCGC6_REG(base) & SIM_SCGC6_DAC0_MASK) >> SIM_SCGC6_DAC0_SHIFT) |
| #define SIM_BRD_SCGC6_DAC0(base) (BME_UBFX32(&SIM_SCGC6_REG(base), SIM_SCGC6_DAC0_SHIFT, SIM_SCGC6_DAC0_WIDTH)) |
| |
| /*! @brief Set the DAC0 field to a new value. */ |
| #define SIM_WR_SCGC6_DAC0(base, value) (SIM_RMW_SCGC6(base, SIM_SCGC6_DAC0_MASK, SIM_SCGC6_DAC0(value))) |
| #define SIM_BWR_SCGC6_DAC0(base, value) (BME_BFI32(&SIM_SCGC6_REG(base), ((uint32_t)(value) << SIM_SCGC6_DAC0_SHIFT), SIM_SCGC6_DAC0_SHIFT, SIM_SCGC6_DAC0_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_SCGC7 - System Clock Gating Control Register 7 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SCGC7 - System Clock Gating Control Register 7 (RW) |
| * |
| * Reset value: 0x00000100U |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SCGC7 register |
| */ |
| /*@{*/ |
| #define SIM_RD_SCGC7(base) (SIM_SCGC7_REG(base)) |
| #define SIM_WR_SCGC7(base, value) (SIM_SCGC7_REG(base) = (value)) |
| #define SIM_RMW_SCGC7(base, mask, value) (SIM_WR_SCGC7(base, (SIM_RD_SCGC7(base) & ~(mask)) | (value))) |
| #define SIM_SET_SCGC7(base, value) (BME_OR32(&SIM_SCGC7_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_SCGC7(base, value) (BME_AND32(&SIM_SCGC7_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_SCGC7(base, value) (BME_XOR32(&SIM_SCGC7_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_SCGC7 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SCGC7, field DMA[8] (RW) |
| * |
| * Controls the clock gate to the DMA module. |
| * |
| * Values: |
| * - 0b0 - Clock disabled |
| * - 0b1 - Clock enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_SCGC7_DMA field. */ |
| #define SIM_RD_SCGC7_DMA(base) ((SIM_SCGC7_REG(base) & SIM_SCGC7_DMA_MASK) >> SIM_SCGC7_DMA_SHIFT) |
| #define SIM_BRD_SCGC7_DMA(base) (BME_UBFX32(&SIM_SCGC7_REG(base), SIM_SCGC7_DMA_SHIFT, SIM_SCGC7_DMA_WIDTH)) |
| |
| /*! @brief Set the DMA field to a new value. */ |
| #define SIM_WR_SCGC7_DMA(base, value) (SIM_RMW_SCGC7(base, SIM_SCGC7_DMA_MASK, SIM_SCGC7_DMA(value))) |
| #define SIM_BWR_SCGC7_DMA(base, value) (BME_BFI32(&SIM_SCGC7_REG(base), ((uint32_t)(value) << SIM_SCGC7_DMA_SHIFT), SIM_SCGC7_DMA_SHIFT, SIM_SCGC7_DMA_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_CLKDIV1 - System Clock Divider Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_CLKDIV1 - System Clock Divider Register 1 (RW) |
| * |
| * Reset value: 0x00010000U |
| * |
| * The CLKDIV1 register cannot be written to when the device is in VLPR mode. |
| * Reset value loaded during System Reset from FTFA_FOPT[LPBOOT]"/>). |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_CLKDIV1 register |
| */ |
| /*@{*/ |
| #define SIM_RD_CLKDIV1(base) (SIM_CLKDIV1_REG(base)) |
| #define SIM_WR_CLKDIV1(base, value) (SIM_CLKDIV1_REG(base) = (value)) |
| #define SIM_RMW_CLKDIV1(base, mask, value) (SIM_WR_CLKDIV1(base, (SIM_RD_CLKDIV1(base) & ~(mask)) | (value))) |
| #define SIM_SET_CLKDIV1(base, value) (BME_OR32(&SIM_CLKDIV1_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_CLKDIV1(base, value) (BME_AND32(&SIM_CLKDIV1_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_CLKDIV1(base, value) (BME_XOR32(&SIM_CLKDIV1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_CLKDIV1 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_CLKDIV1, field OUTDIV4[18:16] (RW) |
| * |
| * Sets the divide value for the bus and flash clock and is in addition to the |
| * System clock divide ratio. At the end of reset, it is loaded with 0001 (divide |
| * by 2). |
| * |
| * Values: |
| * - 0b000 - Divide-by-1. |
| * - 0b001 - Divide-by-2. |
| * - 0b010 - Divide-by-3. |
| * - 0b011 - Divide-by-4. |
| * - 0b100 - Divide-by-5. |
| * - 0b101 - Divide-by-6. |
| * - 0b110 - Divide-by-7. |
| * - 0b111 - Divide-by-8. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_CLKDIV1_OUTDIV4 field. */ |
| #define SIM_RD_CLKDIV1_OUTDIV4(base) ((SIM_CLKDIV1_REG(base) & SIM_CLKDIV1_OUTDIV4_MASK) >> SIM_CLKDIV1_OUTDIV4_SHIFT) |
| #define SIM_BRD_CLKDIV1_OUTDIV4(base) (BME_UBFX32(&SIM_CLKDIV1_REG(base), SIM_CLKDIV1_OUTDIV4_SHIFT, SIM_CLKDIV1_OUTDIV4_WIDTH)) |
| |
| /*! @brief Set the OUTDIV4 field to a new value. */ |
| #define SIM_WR_CLKDIV1_OUTDIV4(base, value) (SIM_RMW_CLKDIV1(base, SIM_CLKDIV1_OUTDIV4_MASK, SIM_CLKDIV1_OUTDIV4(value))) |
| #define SIM_BWR_CLKDIV1_OUTDIV4(base, value) (BME_BFI32(&SIM_CLKDIV1_REG(base), ((uint32_t)(value) << SIM_CLKDIV1_OUTDIV4_SHIFT), SIM_CLKDIV1_OUTDIV4_SHIFT, SIM_CLKDIV1_OUTDIV4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_CLKDIV1, field OUTDIV1[31:28] (RW) |
| * |
| * Sets the divide value for the core/system clock, as well as the bus/flash |
| * clocks. At the end of reset, it is loaded with 0000 (divide by one), 0001 (divide |
| * by two), 0011 (divide by four), or 0111 (divide by eight) depending on the |
| * setting of the FTFA_FOPT[LPBOOT]". |
| * |
| * Values: |
| * - 0b0000 - Divide-by-1. |
| * - 0b0001 - Divide-by-2. |
| * - 0b0010 - Divide-by-3. |
| * - 0b0011 - Divide-by-4. |
| * - 0b0100 - Divide-by-5. |
| * - 0b0101 - Divide-by-6. |
| * - 0b0110 - Divide-by-7. |
| * - 0b0111 - Divide-by-8. |
| * - 0b1000 - Divide-by-9. |
| * - 0b1001 - Divide-by-10. |
| * - 0b1010 - Divide-by-11. |
| * - 0b1011 - Divide-by-12. |
| * - 0b1100 - Divide-by-13. |
| * - 0b1101 - Divide-by-14. |
| * - 0b1110 - Divide-by-15. |
| * - 0b1111 - Divide-by-16. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_CLKDIV1_OUTDIV1 field. */ |
| #define SIM_RD_CLKDIV1_OUTDIV1(base) ((SIM_CLKDIV1_REG(base) & SIM_CLKDIV1_OUTDIV1_MASK) >> SIM_CLKDIV1_OUTDIV1_SHIFT) |
| #define SIM_BRD_CLKDIV1_OUTDIV1(base) (BME_UBFX32(&SIM_CLKDIV1_REG(base), SIM_CLKDIV1_OUTDIV1_SHIFT, SIM_CLKDIV1_OUTDIV1_WIDTH)) |
| |
| /*! @brief Set the OUTDIV1 field to a new value. */ |
| #define SIM_WR_CLKDIV1_OUTDIV1(base, value) (SIM_RMW_CLKDIV1(base, SIM_CLKDIV1_OUTDIV1_MASK, SIM_CLKDIV1_OUTDIV1(value))) |
| #define SIM_BWR_CLKDIV1_OUTDIV1(base, value) (BME_BFI32(&SIM_CLKDIV1_REG(base), ((uint32_t)(value) << SIM_CLKDIV1_OUTDIV1_SHIFT), SIM_CLKDIV1_OUTDIV1_SHIFT, SIM_CLKDIV1_OUTDIV1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_FCFG1 - Flash Configuration Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_FCFG1 - Flash Configuration Register 1 (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Reset value of PFSIZE loaded during System Reset from Flash IFR. |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_FCFG1 register |
| */ |
| /*@{*/ |
| #define SIM_RD_FCFG1(base) (SIM_FCFG1_REG(base)) |
| #define SIM_WR_FCFG1(base, value) (SIM_FCFG1_REG(base) = (value)) |
| #define SIM_RMW_FCFG1(base, mask, value) (SIM_WR_FCFG1(base, (SIM_RD_FCFG1(base) & ~(mask)) | (value))) |
| #define SIM_SET_FCFG1(base, value) (BME_OR32(&SIM_FCFG1_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_FCFG1(base, value) (BME_AND32(&SIM_FCFG1_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_FCFG1(base, value) (BME_XOR32(&SIM_FCFG1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_FCFG1 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_FCFG1, field FLASHDIS[0] (RW) |
| * |
| * Flash accesses are disabled (and generate a bus error) and the flash memory |
| * is placed in a low-power state. This field should not be changed during VLP |
| * modes. Relocate the interrupt vectors out of Flash memory before disabling the |
| * Flash. |
| * |
| * Values: |
| * - 0b0 - Flash is enabled. |
| * - 0b1 - Flash is disabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_FCFG1_FLASHDIS field. */ |
| #define SIM_RD_FCFG1_FLASHDIS(base) ((SIM_FCFG1_REG(base) & SIM_FCFG1_FLASHDIS_MASK) >> SIM_FCFG1_FLASHDIS_SHIFT) |
| #define SIM_BRD_FCFG1_FLASHDIS(base) (BME_UBFX32(&SIM_FCFG1_REG(base), SIM_FCFG1_FLASHDIS_SHIFT, SIM_FCFG1_FLASHDIS_WIDTH)) |
| |
| /*! @brief Set the FLASHDIS field to a new value. */ |
| #define SIM_WR_FCFG1_FLASHDIS(base, value) (SIM_RMW_FCFG1(base, SIM_FCFG1_FLASHDIS_MASK, SIM_FCFG1_FLASHDIS(value))) |
| #define SIM_BWR_FCFG1_FLASHDIS(base, value) (BME_BFI32(&SIM_FCFG1_REG(base), ((uint32_t)(value) << SIM_FCFG1_FLASHDIS_SHIFT), SIM_FCFG1_FLASHDIS_SHIFT, SIM_FCFG1_FLASHDIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_FCFG1, field FLASHDOZE[1] (RW) |
| * |
| * When set, flash memory is disabled for the duration of Doze mode. This field |
| * must be clear during VLP modes. The flash will be automatically enabled again |
| * at the end of Doze mode so interrupt vectors do not need to be relocated out |
| * of flash memory. The wake-up time from Doze mode is extended when this field is |
| * set. An attempt by the DMA or other bus master to access the flash memory |
| * when the flash is disabled will result in a bus error. |
| * |
| * Values: |
| * - 0b0 - Flash remains enabled during Doze mode. |
| * - 0b1 - Flash is disabled for the duration of Doze mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_FCFG1_FLASHDOZE field. */ |
| #define SIM_RD_FCFG1_FLASHDOZE(base) ((SIM_FCFG1_REG(base) & SIM_FCFG1_FLASHDOZE_MASK) >> SIM_FCFG1_FLASHDOZE_SHIFT) |
| #define SIM_BRD_FCFG1_FLASHDOZE(base) (BME_UBFX32(&SIM_FCFG1_REG(base), SIM_FCFG1_FLASHDOZE_SHIFT, SIM_FCFG1_FLASHDOZE_WIDTH)) |
| |
| /*! @brief Set the FLASHDOZE field to a new value. */ |
| #define SIM_WR_FCFG1_FLASHDOZE(base, value) (SIM_RMW_FCFG1(base, SIM_FCFG1_FLASHDOZE_MASK, SIM_FCFG1_FLASHDOZE(value))) |
| #define SIM_BWR_FCFG1_FLASHDOZE(base, value) (BME_BFI32(&SIM_FCFG1_REG(base), ((uint32_t)(value) << SIM_FCFG1_FLASHDOZE_SHIFT), SIM_FCFG1_FLASHDOZE_SHIFT, SIM_FCFG1_FLASHDOZE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_FCFG1, field PFSIZE[27:24] (RO) |
| * |
| * Specifies the amount of program flash memory available on the device, as set |
| * by IFR bits. These bits are used for device testing only and are read-only . |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_FCFG1_PFSIZE field. */ |
| #define SIM_RD_FCFG1_PFSIZE(base) ((SIM_FCFG1_REG(base) & SIM_FCFG1_PFSIZE_MASK) >> SIM_FCFG1_PFSIZE_SHIFT) |
| #define SIM_BRD_FCFG1_PFSIZE(base) (BME_UBFX32(&SIM_FCFG1_REG(base), SIM_FCFG1_PFSIZE_SHIFT, SIM_FCFG1_PFSIZE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_FCFG2 - Flash Configuration Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_FCFG2 - Flash Configuration Register 2 (RO) |
| * |
| * Reset value: 0x7FFF0000U |
| * |
| * This is read only register, any write to this register will cause transfer |
| * error. Reset value of MAXADDR loaded during System Reset from Flash IFR. |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_FCFG2 register |
| */ |
| /*@{*/ |
| #define SIM_RD_FCFG2(base) (SIM_FCFG2_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_FCFG2 bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_FCFG2, field MAXADDR1[22:16] (RO) |
| * |
| * This field concatenated with leading zeros plus the value of the MAXADDR1 |
| * field indicates the first invalid address of the second program flash block |
| * (flash block 1). For example, if MAXADDR0 = MAXADDR1 = 0x10 the first invalid |
| * address of flash block 1 is 0x2_0000 + 0x2_0000. This would be the MAXADDR1 value |
| * for a device with 256 KB program flash memory across two flash blocks. Set by |
| * IFR option. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_FCFG2_MAXADDR1 field. */ |
| #define SIM_RD_FCFG2_MAXADDR1(base) ((SIM_FCFG2_REG(base) & SIM_FCFG2_MAXADDR1_MASK) >> SIM_FCFG2_MAXADDR1_SHIFT) |
| #define SIM_BRD_FCFG2_MAXADDR1(base) (BME_UBFX32(&SIM_FCFG2_REG(base), SIM_FCFG2_MAXADDR1_SHIFT, SIM_FCFG2_MAXADDR1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_FCFG2, field MAXADDR0[30:24] (RO) |
| * |
| * This field concatenated with 13 trailing zeros indicates the first invalid |
| * address of program flash (block 0). Set by IFR option. For example, if MAXADDR0 |
| * = 0x10, the first invalid address of program flash (block 0) is 0x0002_0000. |
| * This would be the MAXADDR0 value for a device with 128 KB program flash in |
| * flash block 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_FCFG2_MAXADDR0 field. */ |
| #define SIM_RD_FCFG2_MAXADDR0(base) ((SIM_FCFG2_REG(base) & SIM_FCFG2_MAXADDR0_MASK) >> SIM_FCFG2_MAXADDR0_SHIFT) |
| #define SIM_BRD_FCFG2_MAXADDR0(base) (BME_UBFX32(&SIM_FCFG2_REG(base), SIM_FCFG2_MAXADDR0_SHIFT, SIM_FCFG2_MAXADDR0_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_UIDMH - Unique Identification Register Mid-High |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_UIDMH - Unique Identification Register Mid-High (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Reset value loaded during System Reset from Flash IFR. |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_UIDMH register |
| */ |
| /*@{*/ |
| #define SIM_RD_UIDMH(base) (SIM_UIDMH_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_UIDMH bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_UIDMH, field UID[15:0] (RO) |
| * |
| * Unique identification for the device. It is set by IFR bits. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_UIDMH_UID field. */ |
| #define SIM_RD_UIDMH_UID(base) ((SIM_UIDMH_REG(base) & SIM_UIDMH_UID_MASK) >> SIM_UIDMH_UID_SHIFT) |
| #define SIM_BRD_UIDMH_UID(base) (BME_UBFX32(&SIM_UIDMH_REG(base), SIM_UIDMH_UID_SHIFT, SIM_UIDMH_UID_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_UIDML - Unique Identification Register Mid Low |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_UIDML - Unique Identification Register Mid Low (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Reset value loaded during System Reset from Flash IFR. |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_UIDML register |
| */ |
| /*@{*/ |
| #define SIM_RD_UIDML(base) (SIM_UIDML_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_UIDL - Unique Identification Register Low |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_UIDL - Unique Identification Register Low (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Reset value loaded during System Reset from Flash IFR. |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_UIDL register |
| */ |
| /*@{*/ |
| #define SIM_RD_UIDL(base) (SIM_UIDL_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_COPC - COP Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_COPC - COP Control Register (RW) |
| * |
| * Reset value: 0x0000000CU |
| * |
| * All of the bits in this register can be written only once after a reset, |
| * writing this register will also reset the COP counter. |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_COPC register |
| */ |
| /*@{*/ |
| #define SIM_RD_COPC(base) (SIM_COPC_REG(base)) |
| #define SIM_WR_COPC(base, value) (SIM_COPC_REG(base) = (value)) |
| #define SIM_RMW_COPC(base, mask, value) (SIM_WR_COPC(base, (SIM_RD_COPC(base) & ~(mask)) | (value))) |
| #define SIM_SET_COPC(base, value) (BME_OR32(&SIM_COPC_REG(base), (uint32_t)(value))) |
| #define SIM_CLR_COPC(base, value) (BME_AND32(&SIM_COPC_REG(base), (uint32_t)(~(value)))) |
| #define SIM_TOG_COPC(base, value) (BME_XOR32(&SIM_COPC_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_COPC bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_COPC, field COPW[0] (RW) |
| * |
| * Windowed mode is supported for all COP clock sources, but only when the COP |
| * is configured for a long timeout. The COP window is opened three quarters |
| * through the timeout period and will generate a system reset if the COP is serviced |
| * outside of that time. |
| * |
| * Values: |
| * - 0b0 - Normal mode |
| * - 0b1 - Windowed mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_COPC_COPW field. */ |
| #define SIM_RD_COPC_COPW(base) ((SIM_COPC_REG(base) & SIM_COPC_COPW_MASK) >> SIM_COPC_COPW_SHIFT) |
| #define SIM_BRD_COPC_COPW(base) (BME_UBFX32(&SIM_COPC_REG(base), SIM_COPC_COPW_SHIFT, SIM_COPC_COPW_WIDTH)) |
| |
| /*! @brief Set the COPW field to a new value. */ |
| #define SIM_WR_COPC_COPW(base, value) (SIM_RMW_COPC(base, SIM_COPC_COPW_MASK, SIM_COPC_COPW(value))) |
| #define SIM_BWR_COPC_COPW(base, value) (BME_BFI32(&SIM_COPC_REG(base), ((uint32_t)(value) << SIM_COPC_COPW_SHIFT), SIM_COPC_COPW_SHIFT, SIM_COPC_COPW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_COPC, field COPCLKS[1] (RW) |
| * |
| * This write-once field selects between a short timeout or a long timeout, the |
| * COP clock source is configured by COPCLKSEL. |
| * |
| * Values: |
| * - 0b0 - COP configured for short timeout |
| * - 0b1 - COP configured for long timeout |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_COPC_COPCLKS field. */ |
| #define SIM_RD_COPC_COPCLKS(base) ((SIM_COPC_REG(base) & SIM_COPC_COPCLKS_MASK) >> SIM_COPC_COPCLKS_SHIFT) |
| #define SIM_BRD_COPC_COPCLKS(base) (BME_UBFX32(&SIM_COPC_REG(base), SIM_COPC_COPCLKS_SHIFT, SIM_COPC_COPCLKS_WIDTH)) |
| |
| /*! @brief Set the COPCLKS field to a new value. */ |
| #define SIM_WR_COPC_COPCLKS(base, value) (SIM_RMW_COPC(base, SIM_COPC_COPCLKS_MASK, SIM_COPC_COPCLKS(value))) |
| #define SIM_BWR_COPC_COPCLKS(base, value) (BME_BFI32(&SIM_COPC_REG(base), ((uint32_t)(value) << SIM_COPC_COPCLKS_SHIFT), SIM_COPC_COPCLKS_SHIFT, SIM_COPC_COPCLKS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_COPC, field COPT[3:2] (RW) |
| * |
| * This write-once field selects the timeout period of the COP. COPT along with |
| * the COPCLKS field define the COP timeout period. |
| * |
| * Values: |
| * - 0b00 - COP disabled |
| * - 0b01 - COP timeout after 25 cycles for short timeout or 213 cycles for long |
| * timeout |
| * - 0b10 - COP timeout after 28 cycles for short timeout or 216 cycles for long |
| * timeout |
| * - 0b11 - COP timeout after 210 cycles for short timeout or 218 cycles for |
| * long timeout |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_COPC_COPT field. */ |
| #define SIM_RD_COPC_COPT(base) ((SIM_COPC_REG(base) & SIM_COPC_COPT_MASK) >> SIM_COPC_COPT_SHIFT) |
| #define SIM_BRD_COPC_COPT(base) (BME_UBFX32(&SIM_COPC_REG(base), SIM_COPC_COPT_SHIFT, SIM_COPC_COPT_WIDTH)) |
| |
| /*! @brief Set the COPT field to a new value. */ |
| #define SIM_WR_COPC_COPT(base, value) (SIM_RMW_COPC(base, SIM_COPC_COPT_MASK, SIM_COPC_COPT(value))) |
| #define SIM_BWR_COPC_COPT(base, value) (BME_BFI32(&SIM_COPC_REG(base), ((uint32_t)(value) << SIM_COPC_COPT_SHIFT), SIM_COPC_COPT_SHIFT, SIM_COPC_COPT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_COPC, field COPSTPEN[4] (RW) |
| * |
| * Values: |
| * - 0b0 - COP is disabled and the counter is reset in Stop modes |
| * - 0b1 - COP is enabled in Stop modes |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_COPC_COPSTPEN field. */ |
| #define SIM_RD_COPC_COPSTPEN(base) ((SIM_COPC_REG(base) & SIM_COPC_COPSTPEN_MASK) >> SIM_COPC_COPSTPEN_SHIFT) |
| #define SIM_BRD_COPC_COPSTPEN(base) (BME_UBFX32(&SIM_COPC_REG(base), SIM_COPC_COPSTPEN_SHIFT, SIM_COPC_COPSTPEN_WIDTH)) |
| |
| /*! @brief Set the COPSTPEN field to a new value. */ |
| #define SIM_WR_COPC_COPSTPEN(base, value) (SIM_RMW_COPC(base, SIM_COPC_COPSTPEN_MASK, SIM_COPC_COPSTPEN(value))) |
| #define SIM_BWR_COPC_COPSTPEN(base, value) (BME_BFI32(&SIM_COPC_REG(base), ((uint32_t)(value) << SIM_COPC_COPSTPEN_SHIFT), SIM_COPC_COPSTPEN_SHIFT, SIM_COPC_COPSTPEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_COPC, field COPDBGEN[5] (RW) |
| * |
| * Values: |
| * - 0b0 - COP is disabled and the counter is reset in Debug mode |
| * - 0b1 - COP is enabled in Debug mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_COPC_COPDBGEN field. */ |
| #define SIM_RD_COPC_COPDBGEN(base) ((SIM_COPC_REG(base) & SIM_COPC_COPDBGEN_MASK) >> SIM_COPC_COPDBGEN_SHIFT) |
| #define SIM_BRD_COPC_COPDBGEN(base) (BME_UBFX32(&SIM_COPC_REG(base), SIM_COPC_COPDBGEN_SHIFT, SIM_COPC_COPDBGEN_WIDTH)) |
| |
| /*! @brief Set the COPDBGEN field to a new value. */ |
| #define SIM_WR_COPC_COPDBGEN(base, value) (SIM_RMW_COPC(base, SIM_COPC_COPDBGEN_MASK, SIM_COPC_COPDBGEN(value))) |
| #define SIM_BWR_COPC_COPDBGEN(base, value) (BME_BFI32(&SIM_COPC_REG(base), ((uint32_t)(value) << SIM_COPC_COPDBGEN_SHIFT), SIM_COPC_COPDBGEN_SHIFT, SIM_COPC_COPDBGEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SIM_COPC, field COPCLKSEL[7:6] (RW) |
| * |
| * This write-once field selects the clock source of the COP watchdog. |
| * |
| * Values: |
| * - 0b00 - LPO clock (1 kHz) |
| * - 0b01 - MCGIRCLK |
| * - 0b10 - OSCERCLK |
| * - 0b11 - Bus clock |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SIM_COPC_COPCLKSEL field. */ |
| #define SIM_RD_COPC_COPCLKSEL(base) ((SIM_COPC_REG(base) & SIM_COPC_COPCLKSEL_MASK) >> SIM_COPC_COPCLKSEL_SHIFT) |
| #define SIM_BRD_COPC_COPCLKSEL(base) (BME_UBFX32(&SIM_COPC_REG(base), SIM_COPC_COPCLKSEL_SHIFT, SIM_COPC_COPCLKSEL_WIDTH)) |
| |
| /*! @brief Set the COPCLKSEL field to a new value. */ |
| #define SIM_WR_COPC_COPCLKSEL(base, value) (SIM_RMW_COPC(base, SIM_COPC_COPCLKSEL_MASK, SIM_COPC_COPCLKSEL(value))) |
| #define SIM_BWR_COPC_COPCLKSEL(base, value) (BME_BFI32(&SIM_COPC_REG(base), ((uint32_t)(value) << SIM_COPC_COPCLKSEL_SHIFT), SIM_COPC_COPCLKSEL_SHIFT, SIM_COPC_COPCLKSEL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SIM_SRVCOP - Service COP |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SIM_SRVCOP - Service COP (WO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This is write only register, any read to this register will cause transfer |
| * error. |
| */ |
| /*! |
| * @name Constants and macros for entire SIM_SRVCOP register |
| */ |
| /*@{*/ |
| #define SIM_WR_SRVCOP(base, value) (SIM_SRVCOP_REG(base) = (value)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SIM_SRVCOP bitfields |
| */ |
| |
| /*! |
| * @name Register SIM_SRVCOP, field SRVCOP[7:0] (WO) |
| * |
| * Write 0x55 and then 0xAA (in that order) to reset the COP timeout counter, |
| * writing any other value will generate a system reset. |
| */ |
| /*@{*/ |
| /*! @brief Set the SRVCOP field to a new value. */ |
| #define SIM_WR_SRVCOP_SRVCOP(base, value) (SIM_WR_SRVCOP(base, SIM_SRVCOP_SRVCOP(value))) |
| #define SIM_BWR_SRVCOP_SRVCOP(base, value) (SIM_WR_SRVCOP_SRVCOP(base, value)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 SMC |
| * |
| * System Mode Controller |
| * |
| * Registers defined in this header file: |
| * - SMC_PMPROT - Power Mode Protection register |
| * - SMC_PMCTRL - Power Mode Control register |
| * - SMC_STOPCTRL - Stop Control Register |
| * - SMC_PMSTAT - Power Mode Status register |
| */ |
| |
| #define SMC_INSTANCE_COUNT (1U) /*!< Number of instances of the SMC module. */ |
| #define SMC_IDX (0U) /*!< Instance number for SMC. */ |
| |
| /******************************************************************************* |
| * SMC_PMPROT - Power Mode Protection register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SMC_PMPROT - Power Mode Protection register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * This register provides protection for entry into any low-power run or stop |
| * mode. The enabling of the low-power run or stop mode occurs by configuring the |
| * Power Mode Control register (PMCTRL). The PMPROT register can be written only |
| * once after any system reset. If the MCU is configured for a disallowed or |
| * reserved power mode, the MCU remains in its current power mode. For example, if the |
| * MCU is in normal RUN mode and AVLP is 0, an attempt to enter VLPR mode using |
| * PMCTRL[RUNM] is blocked and PMCTRL[RUNM] remains 00b, indicating the MCU is |
| * still in Normal Run mode. This register is reset on Chip Reset not VLLS and by |
| * reset types that trigger Chip Reset not VLLS. It is unaffected by reset types |
| * that do not trigger Chip Reset not VLLS. See the Reset section details for more |
| * information. |
| */ |
| /*! |
| * @name Constants and macros for entire SMC_PMPROT register |
| */ |
| /*@{*/ |
| #define SMC_RD_PMPROT(base) (SMC_PMPROT_REG(base)) |
| #define SMC_WR_PMPROT(base, value) (SMC_PMPROT_REG(base) = (value)) |
| #define SMC_RMW_PMPROT(base, mask, value) (SMC_WR_PMPROT(base, (SMC_RD_PMPROT(base) & ~(mask)) | (value))) |
| #define SMC_SET_PMPROT(base, value) (BME_OR8(&SMC_PMPROT_REG(base), (uint8_t)(value))) |
| #define SMC_CLR_PMPROT(base, value) (BME_AND8(&SMC_PMPROT_REG(base), (uint8_t)(~(value)))) |
| #define SMC_TOG_PMPROT(base, value) (BME_XOR8(&SMC_PMPROT_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SMC_PMPROT bitfields |
| */ |
| |
| /*! |
| * @name Register SMC_PMPROT, field AVLLS[1] (RW) |
| * |
| * Provided the appropriate control bits are set up in PMCTRL, this write once |
| * bit allows the MCU to enter any very-low-leakage stop mode (VLLSx). |
| * |
| * Values: |
| * - 0b0 - Any VLLSx mode is not allowed |
| * - 0b1 - Any VLLSx mode is allowed |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SMC_PMPROT_AVLLS field. */ |
| #define SMC_RD_PMPROT_AVLLS(base) ((SMC_PMPROT_REG(base) & SMC_PMPROT_AVLLS_MASK) >> SMC_PMPROT_AVLLS_SHIFT) |
| #define SMC_BRD_PMPROT_AVLLS(base) (BME_UBFX8(&SMC_PMPROT_REG(base), SMC_PMPROT_AVLLS_SHIFT, SMC_PMPROT_AVLLS_WIDTH)) |
| |
| /*! @brief Set the AVLLS field to a new value. */ |
| #define SMC_WR_PMPROT_AVLLS(base, value) (SMC_RMW_PMPROT(base, SMC_PMPROT_AVLLS_MASK, SMC_PMPROT_AVLLS(value))) |
| #define SMC_BWR_PMPROT_AVLLS(base, value) (BME_BFI8(&SMC_PMPROT_REG(base), ((uint8_t)(value) << SMC_PMPROT_AVLLS_SHIFT), SMC_PMPROT_AVLLS_SHIFT, SMC_PMPROT_AVLLS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SMC_PMPROT, field ALLS[3] (RW) |
| * |
| * Provided the appropriate control bits are set up in PMCTRL, this write-once |
| * field allows the MCU to enter any low-leakage stop mode (LLS). |
| * |
| * Values: |
| * - 0b0 - Any LLSx mode is not allowed |
| * - 0b1 - Any LLSx mode is allowed |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SMC_PMPROT_ALLS field. */ |
| #define SMC_RD_PMPROT_ALLS(base) ((SMC_PMPROT_REG(base) & SMC_PMPROT_ALLS_MASK) >> SMC_PMPROT_ALLS_SHIFT) |
| #define SMC_BRD_PMPROT_ALLS(base) (BME_UBFX8(&SMC_PMPROT_REG(base), SMC_PMPROT_ALLS_SHIFT, SMC_PMPROT_ALLS_WIDTH)) |
| |
| /*! @brief Set the ALLS field to a new value. */ |
| #define SMC_WR_PMPROT_ALLS(base, value) (SMC_RMW_PMPROT(base, SMC_PMPROT_ALLS_MASK, SMC_PMPROT_ALLS(value))) |
| #define SMC_BWR_PMPROT_ALLS(base, value) (BME_BFI8(&SMC_PMPROT_REG(base), ((uint8_t)(value) << SMC_PMPROT_ALLS_SHIFT), SMC_PMPROT_ALLS_SHIFT, SMC_PMPROT_ALLS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SMC_PMPROT, field AVLP[5] (RW) |
| * |
| * Provided the appropriate control bits are set up in PMCTRL, this write-once |
| * field allows the MCU to enter any very-low-power mode (VLPR, VLPW, and VLPS). |
| * |
| * Values: |
| * - 0b0 - VLPR, VLPW, and VLPS are not allowed. |
| * - 0b1 - VLPR, VLPW, and VLPS are allowed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SMC_PMPROT_AVLP field. */ |
| #define SMC_RD_PMPROT_AVLP(base) ((SMC_PMPROT_REG(base) & SMC_PMPROT_AVLP_MASK) >> SMC_PMPROT_AVLP_SHIFT) |
| #define SMC_BRD_PMPROT_AVLP(base) (BME_UBFX8(&SMC_PMPROT_REG(base), SMC_PMPROT_AVLP_SHIFT, SMC_PMPROT_AVLP_WIDTH)) |
| |
| /*! @brief Set the AVLP field to a new value. */ |
| #define SMC_WR_PMPROT_AVLP(base, value) (SMC_RMW_PMPROT(base, SMC_PMPROT_AVLP_MASK, SMC_PMPROT_AVLP(value))) |
| #define SMC_BWR_PMPROT_AVLP(base, value) (BME_BFI8(&SMC_PMPROT_REG(base), ((uint8_t)(value) << SMC_PMPROT_AVLP_SHIFT), SMC_PMPROT_AVLP_SHIFT, SMC_PMPROT_AVLP_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SMC_PMCTRL - Power Mode Control register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SMC_PMCTRL - Power Mode Control register (RW) |
| * |
| * Reset value: 0x00U |
| * |
| * The PMCTRL register controls entry into low-power Run and Stop modes, |
| * provided that the selected power mode is allowed via an appropriate setting of the |
| * protection (PMPROT) register. This register is reset on Chip POR not VLLS and by |
| * reset types that trigger Chip POR not VLLS. It is unaffected by reset types |
| * that do not trigger Chip POR not VLLS. See the Reset section details for more |
| * information. |
| */ |
| /*! |
| * @name Constants and macros for entire SMC_PMCTRL register |
| */ |
| /*@{*/ |
| #define SMC_RD_PMCTRL(base) (SMC_PMCTRL_REG(base)) |
| #define SMC_WR_PMCTRL(base, value) (SMC_PMCTRL_REG(base) = (value)) |
| #define SMC_RMW_PMCTRL(base, mask, value) (SMC_WR_PMCTRL(base, (SMC_RD_PMCTRL(base) & ~(mask)) | (value))) |
| #define SMC_SET_PMCTRL(base, value) (BME_OR8(&SMC_PMCTRL_REG(base), (uint8_t)(value))) |
| #define SMC_CLR_PMCTRL(base, value) (BME_AND8(&SMC_PMCTRL_REG(base), (uint8_t)(~(value)))) |
| #define SMC_TOG_PMCTRL(base, value) (BME_XOR8(&SMC_PMCTRL_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SMC_PMCTRL bitfields |
| */ |
| |
| /*! |
| * @name Register SMC_PMCTRL, field STOPM[2:0] (RW) |
| * |
| * When written, controls entry into the selected stop mode when Sleep-Now or |
| * Sleep-On-Exit mode is entered with SLEEPDEEP=1 . Writes to this field are |
| * blocked if the protection level has not been enabled using the PMPROT register. |
| * After any system reset, this field is cleared by hardware on any successful write |
| * to the PMPROT register. When set to VLLSxor LLSx, the LLSM in the STOPCTRL |
| * register is used to further select the particular VLLSor LLS submode which will |
| * be entered. When set to STOP, the PSTOPO bits in the STOPCTRL register can be |
| * used to select a Partial Stop mode if desired. |
| * |
| * Values: |
| * - 0b000 - Normal Stop (STOP) |
| * - 0b001 - Reserved |
| * - 0b010 - Very-Low-Power Stop (VLPS) |
| * - 0b011 - Low-Leakage Stop (LLSx) |
| * - 0b100 - Very-Low-Leakage Stop (VLLSx) |
| * - 0b101 - Reserved |
| * - 0b110 - Reseved |
| * - 0b111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SMC_PMCTRL_STOPM field. */ |
| #define SMC_RD_PMCTRL_STOPM(base) ((SMC_PMCTRL_REG(base) & SMC_PMCTRL_STOPM_MASK) >> SMC_PMCTRL_STOPM_SHIFT) |
| #define SMC_BRD_PMCTRL_STOPM(base) (BME_UBFX8(&SMC_PMCTRL_REG(base), SMC_PMCTRL_STOPM_SHIFT, SMC_PMCTRL_STOPM_WIDTH)) |
| |
| /*! @brief Set the STOPM field to a new value. */ |
| #define SMC_WR_PMCTRL_STOPM(base, value) (SMC_RMW_PMCTRL(base, SMC_PMCTRL_STOPM_MASK, SMC_PMCTRL_STOPM(value))) |
| #define SMC_BWR_PMCTRL_STOPM(base, value) (BME_BFI8(&SMC_PMCTRL_REG(base), ((uint8_t)(value) << SMC_PMCTRL_STOPM_SHIFT), SMC_PMCTRL_STOPM_SHIFT, SMC_PMCTRL_STOPM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SMC_PMCTRL, field STOPA[3] (RO) |
| * |
| * When set, this read-only status bit indicates an interrupt or reset occured |
| * during the previous stop mode entry sequence, preventing the system from |
| * entering that mode. This field is cleared by hardware at the beginning of any stop |
| * mode entry sequence and is set if the sequence was aborted. |
| * |
| * Values: |
| * - 0b0 - The previous stop mode entry was successsful. |
| * - 0b1 - The previous stop mode entry was aborted. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SMC_PMCTRL_STOPA field. */ |
| #define SMC_RD_PMCTRL_STOPA(base) ((SMC_PMCTRL_REG(base) & SMC_PMCTRL_STOPA_MASK) >> SMC_PMCTRL_STOPA_SHIFT) |
| #define SMC_BRD_PMCTRL_STOPA(base) (BME_UBFX8(&SMC_PMCTRL_REG(base), SMC_PMCTRL_STOPA_SHIFT, SMC_PMCTRL_STOPA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SMC_PMCTRL, field RUNM[6:5] (RW) |
| * |
| * When written, causes entry into the selected run mode. Writes to this field |
| * are blocked if the protection level has not been enabled using the PMPROT |
| * register. RUNM may be set to VLPR only when PMSTAT=RUN. After being written to |
| * VLPR, RUNM should not be written back to RUN until PMSTAT=VLPR. |
| * |
| * Values: |
| * - 0b00 - Normal Run mode (RUN) |
| * - 0b01 - Reserved |
| * - 0b10 - Very-Low-Power Run mode (VLPR) |
| * - 0b11 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SMC_PMCTRL_RUNM field. */ |
| #define SMC_RD_PMCTRL_RUNM(base) ((SMC_PMCTRL_REG(base) & SMC_PMCTRL_RUNM_MASK) >> SMC_PMCTRL_RUNM_SHIFT) |
| #define SMC_BRD_PMCTRL_RUNM(base) (BME_UBFX8(&SMC_PMCTRL_REG(base), SMC_PMCTRL_RUNM_SHIFT, SMC_PMCTRL_RUNM_WIDTH)) |
| |
| /*! @brief Set the RUNM field to a new value. */ |
| #define SMC_WR_PMCTRL_RUNM(base, value) (SMC_RMW_PMCTRL(base, SMC_PMCTRL_RUNM_MASK, SMC_PMCTRL_RUNM(value))) |
| #define SMC_BWR_PMCTRL_RUNM(base, value) (BME_BFI8(&SMC_PMCTRL_REG(base), ((uint8_t)(value) << SMC_PMCTRL_RUNM_SHIFT), SMC_PMCTRL_RUNM_SHIFT, SMC_PMCTRL_RUNM_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SMC_STOPCTRL - Stop Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SMC_STOPCTRL - Stop Control Register (RW) |
| * |
| * Reset value: 0x03U |
| * |
| * The STOPCTRL register provides various control bits allowing the user to fine |
| * tune power consumption during the stop mode selected by the STOPM field. This |
| * register is reset on Chip POR not VLLS and by reset types that trigger Chip |
| * POR not VLLS. It is unaffected by reset types that do not trigger Chip POR not |
| * VLLS. See the Reset section details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire SMC_STOPCTRL register |
| */ |
| /*@{*/ |
| #define SMC_RD_STOPCTRL(base) (SMC_STOPCTRL_REG(base)) |
| #define SMC_WR_STOPCTRL(base, value) (SMC_STOPCTRL_REG(base) = (value)) |
| #define SMC_RMW_STOPCTRL(base, mask, value) (SMC_WR_STOPCTRL(base, (SMC_RD_STOPCTRL(base) & ~(mask)) | (value))) |
| #define SMC_SET_STOPCTRL(base, value) (BME_OR8(&SMC_STOPCTRL_REG(base), (uint8_t)(value))) |
| #define SMC_CLR_STOPCTRL(base, value) (BME_AND8(&SMC_STOPCTRL_REG(base), (uint8_t)(~(value)))) |
| #define SMC_TOG_STOPCTRL(base, value) (BME_XOR8(&SMC_STOPCTRL_REG(base), (uint8_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SMC_STOPCTRL bitfields |
| */ |
| |
| /*! |
| * @name Register SMC_STOPCTRL, field LLSM[2:0] (RW) |
| * |
| * This field controls which LLS orVLLS sub-mode to enter if STOPM = LLSx |
| * orVLLSx. |
| * |
| * Values: |
| * - 0b000 - VLLS0 if PMCTRL[STOPM]=VLLSx, reserved if PMCTRL[STOPM]=LLSx |
| * - 0b001 - VLLS1 if PMCTRL[STOPM]=VLLSx, reserved if PMCTRL[STOPM]=LLSx |
| * - 0b010 - VLLS2 if PMCTRL[STOPM]=VLLSx, LLS2 if PMCTRL[STOPM]=LLSx |
| * - 0b011 - VLLS3 if PMCTRL[STOPM]=VLLSx, LLS3 if PMCTRL[STOPM]=LLSx |
| * - 0b100 - Reserved |
| * - 0b101 - Reserved |
| * - 0b110 - Reserved |
| * - 0b111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SMC_STOPCTRL_LLSM field. */ |
| #define SMC_RD_STOPCTRL_LLSM(base) ((SMC_STOPCTRL_REG(base) & SMC_STOPCTRL_LLSM_MASK) >> SMC_STOPCTRL_LLSM_SHIFT) |
| #define SMC_BRD_STOPCTRL_LLSM(base) (BME_UBFX8(&SMC_STOPCTRL_REG(base), SMC_STOPCTRL_LLSM_SHIFT, SMC_STOPCTRL_LLSM_WIDTH)) |
| |
| /*! @brief Set the LLSM field to a new value. */ |
| #define SMC_WR_STOPCTRL_LLSM(base, value) (SMC_RMW_STOPCTRL(base, SMC_STOPCTRL_LLSM_MASK, SMC_STOPCTRL_LLSM(value))) |
| #define SMC_BWR_STOPCTRL_LLSM(base, value) (BME_BFI8(&SMC_STOPCTRL_REG(base), ((uint8_t)(value) << SMC_STOPCTRL_LLSM_SHIFT), SMC_STOPCTRL_LLSM_SHIFT, SMC_STOPCTRL_LLSM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SMC_STOPCTRL, field PORPO[5] (RW) |
| * |
| * This bit controls whether the POR detect circuit is enabled in VLLS0 mode. |
| * |
| * Values: |
| * - 0b0 - POR detect circuit is enabled in VLLS0 |
| * - 0b1 - POR detect circuit is disabled in VLLS0 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SMC_STOPCTRL_PORPO field. */ |
| #define SMC_RD_STOPCTRL_PORPO(base) ((SMC_STOPCTRL_REG(base) & SMC_STOPCTRL_PORPO_MASK) >> SMC_STOPCTRL_PORPO_SHIFT) |
| #define SMC_BRD_STOPCTRL_PORPO(base) (BME_UBFX8(&SMC_STOPCTRL_REG(base), SMC_STOPCTRL_PORPO_SHIFT, SMC_STOPCTRL_PORPO_WIDTH)) |
| |
| /*! @brief Set the PORPO field to a new value. */ |
| #define SMC_WR_STOPCTRL_PORPO(base, value) (SMC_RMW_STOPCTRL(base, SMC_STOPCTRL_PORPO_MASK, SMC_STOPCTRL_PORPO(value))) |
| #define SMC_BWR_STOPCTRL_PORPO(base, value) (BME_BFI8(&SMC_STOPCTRL_REG(base), ((uint8_t)(value) << SMC_STOPCTRL_PORPO_SHIFT), SMC_STOPCTRL_PORPO_SHIFT, SMC_STOPCTRL_PORPO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SMC_STOPCTRL, field PSTOPO[7:6] (RW) |
| * |
| * These bits control whether a Partial Stop mode is entered when STOPM=STOP. |
| * When entering a Partial Stop mode from RUN (or VLPR) mode, the PMC, MCG and |
| * flash remain fully powered, allowing the device to wakeup almost instantaneously |
| * at the expense of higher power consumption. In PSTOP2, only system clocks are |
| * gated allowing peripherals running on bus clock to remain fully functional. In |
| * PSTOP1, both system and bus clocks are gated. |
| * |
| * Values: |
| * - 0b00 - STOP - Normal Stop mode |
| * - 0b01 - PSTOP1 - Partial Stop with both system and bus clocks disabled |
| * - 0b10 - PSTOP2 - Partial Stop with system clock disabled and bus clock |
| * enabled |
| * - 0b11 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SMC_STOPCTRL_PSTOPO field. */ |
| #define SMC_RD_STOPCTRL_PSTOPO(base) ((SMC_STOPCTRL_REG(base) & SMC_STOPCTRL_PSTOPO_MASK) >> SMC_STOPCTRL_PSTOPO_SHIFT) |
| #define SMC_BRD_STOPCTRL_PSTOPO(base) (BME_UBFX8(&SMC_STOPCTRL_REG(base), SMC_STOPCTRL_PSTOPO_SHIFT, SMC_STOPCTRL_PSTOPO_WIDTH)) |
| |
| /*! @brief Set the PSTOPO field to a new value. */ |
| #define SMC_WR_STOPCTRL_PSTOPO(base, value) (SMC_RMW_STOPCTRL(base, SMC_STOPCTRL_PSTOPO_MASK, SMC_STOPCTRL_PSTOPO(value))) |
| #define SMC_BWR_STOPCTRL_PSTOPO(base, value) (BME_BFI8(&SMC_STOPCTRL_REG(base), ((uint8_t)(value) << SMC_STOPCTRL_PSTOPO_SHIFT), SMC_STOPCTRL_PSTOPO_SHIFT, SMC_STOPCTRL_PSTOPO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SMC_PMSTAT - Power Mode Status register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SMC_PMSTAT - Power Mode Status register (RO) |
| * |
| * Reset value: 0x01U |
| * |
| * PMSTAT is a read-only, one-hot register which indicates the current power |
| * mode of the system. This register is reset on Chip POR not VLLS and by reset |
| * types that trigger Chip POR not VLLS. It is unaffected by reset types that do not |
| * trigger Chip POR not VLLS. See the Reset section details for more information. |
| */ |
| /*! |
| * @name Constants and macros for entire SMC_PMSTAT register |
| */ |
| /*@{*/ |
| #define SMC_RD_PMSTAT(base) (SMC_PMSTAT_REG(base)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 SPI |
| * |
| * Serial Peripheral Interface |
| * |
| * Registers defined in this header file: |
| * - SPI_MCR - Module Configuration Register |
| * - SPI_TCR - Transfer Count Register |
| * - SPI_CTAR - Clock and Transfer Attributes Register (In Master Mode) |
| * - SPI_CTAR_SLAVE - Clock and Transfer Attributes Register (In Slave Mode) |
| * - SPI_SR - Status Register |
| * - SPI_RSER - DMA/Interrupt Request Select and Enable Register |
| * - SPI_PUSHR - PUSH TX FIFO Register In Master Mode |
| * - SPI_PUSHR_SLAVE - PUSH TX FIFO Register In Slave Mode |
| * - SPI_POPR - POP RX FIFO Register |
| * - SPI_TXFR0 - Transmit FIFO Registers |
| * - SPI_TXFR1 - Transmit FIFO Registers |
| * - SPI_TXFR2 - Transmit FIFO Registers |
| * - SPI_TXFR3 - Transmit FIFO Registers |
| * - SPI_RXFR0 - Receive FIFO Registers |
| * - SPI_RXFR1 - Receive FIFO Registers |
| * - SPI_RXFR2 - Receive FIFO Registers |
| * - SPI_RXFR3 - Receive FIFO Registers |
| */ |
| |
| #define SPI_INSTANCE_COUNT (2U) /*!< Number of instances of the SPI module. */ |
| #define SPI0_IDX (0U) /*!< Instance number for SPI0. */ |
| #define SPI1_IDX (1U) /*!< Instance number for SPI1. */ |
| |
| /******************************************************************************* |
| * SPI_MCR - Module Configuration Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_MCR - Module Configuration Register (RW) |
| * |
| * Reset value: 0x00004001U |
| * |
| * Contains bits to configure various attributes associated with the module |
| * operations. The HALT and MDIS bits can be changed at any time, but the effect |
| * takes place only on the next frame boundary. Only the HALT and MDIS bits in the |
| * MCR can be changed, while the module is in the Running state. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_MCR register |
| */ |
| /*@{*/ |
| #define SPI_RD_MCR(base) (SPI_MCR_REG(base)) |
| #define SPI_WR_MCR(base, value) (SPI_MCR_REG(base) = (value)) |
| #define SPI_RMW_MCR(base, mask, value) (SPI_WR_MCR(base, (SPI_RD_MCR(base) & ~(mask)) | (value))) |
| #define SPI_SET_MCR(base, value) (BME_OR32(&SPI_MCR_REG(base), (uint32_t)(value))) |
| #define SPI_CLR_MCR(base, value) (BME_AND32(&SPI_MCR_REG(base), (uint32_t)(~(value)))) |
| #define SPI_TOG_MCR(base, value) (BME_XOR32(&SPI_MCR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_MCR bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_MCR, field HALT[0] (RW) |
| * |
| * The HALT bit starts and stops frame transfers. See Start and Stop of Module |
| * transfers |
| * |
| * Values: |
| * - 0b0 - Start transfers. |
| * - 0b1 - Stop transfers. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_HALT field. */ |
| #define SPI_RD_MCR_HALT(base) ((SPI_MCR_REG(base) & SPI_MCR_HALT_MASK) >> SPI_MCR_HALT_SHIFT) |
| #define SPI_BRD_MCR_HALT(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_HALT_SHIFT, SPI_MCR_HALT_WIDTH)) |
| |
| /*! @brief Set the HALT field to a new value. */ |
| #define SPI_WR_MCR_HALT(base, value) (SPI_RMW_MCR(base, SPI_MCR_HALT_MASK, SPI_MCR_HALT(value))) |
| #define SPI_BWR_MCR_HALT(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_HALT_SHIFT), SPI_MCR_HALT_SHIFT, SPI_MCR_HALT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field SMPL_PT[9:8] (RW) |
| * |
| * Controls when the module master samples SIN in Modified Transfer Format. This |
| * field is valid only when CPHA bit in CTARn[CPHA] is 0. |
| * |
| * Values: |
| * - 0b00 - 0 protocol clock cycles between SCK edge and SIN sample |
| * - 0b01 - 1 protocol clock cycle between SCK edge and SIN sample |
| * - 0b10 - 2 protocol clock cycles between SCK edge and SIN sample |
| * - 0b11 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_SMPL_PT field. */ |
| #define SPI_RD_MCR_SMPL_PT(base) ((SPI_MCR_REG(base) & SPI_MCR_SMPL_PT_MASK) >> SPI_MCR_SMPL_PT_SHIFT) |
| #define SPI_BRD_MCR_SMPL_PT(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_SMPL_PT_SHIFT, SPI_MCR_SMPL_PT_WIDTH)) |
| |
| /*! @brief Set the SMPL_PT field to a new value. */ |
| #define SPI_WR_MCR_SMPL_PT(base, value) (SPI_RMW_MCR(base, SPI_MCR_SMPL_PT_MASK, SPI_MCR_SMPL_PT(value))) |
| #define SPI_BWR_MCR_SMPL_PT(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_SMPL_PT_SHIFT), SPI_MCR_SMPL_PT_SHIFT, SPI_MCR_SMPL_PT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field CLR_RXF[10] (WORZ) |
| * |
| * Flushes the RX FIFO. Writing a 1 to CLR_RXF clears the RX Counter. The |
| * CLR_RXF bit is always read as zero. |
| * |
| * Values: |
| * - 0b0 - Do not clear the RX FIFO counter. |
| * - 0b1 - Clear the RX FIFO counter. |
| */ |
| /*@{*/ |
| /*! @brief Set the CLR_RXF field to a new value. */ |
| #define SPI_WR_MCR_CLR_RXF(base, value) (SPI_RMW_MCR(base, SPI_MCR_CLR_RXF_MASK, SPI_MCR_CLR_RXF(value))) |
| #define SPI_BWR_MCR_CLR_RXF(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_CLR_RXF_SHIFT), SPI_MCR_CLR_RXF_SHIFT, SPI_MCR_CLR_RXF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field CLR_TXF[11] (WORZ) |
| * |
| * Flushes the TX FIFO. Writing a 1 to CLR_TXF clears the TX FIFO Counter. The |
| * CLR_TXF bit is always read as zero. |
| * |
| * Values: |
| * - 0b0 - Do not clear the TX FIFO counter. |
| * - 0b1 - Clear the TX FIFO counter. |
| */ |
| /*@{*/ |
| /*! @brief Set the CLR_TXF field to a new value. */ |
| #define SPI_WR_MCR_CLR_TXF(base, value) (SPI_RMW_MCR(base, SPI_MCR_CLR_TXF_MASK, SPI_MCR_CLR_TXF(value))) |
| #define SPI_BWR_MCR_CLR_TXF(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_CLR_TXF_SHIFT), SPI_MCR_CLR_TXF_SHIFT, SPI_MCR_CLR_TXF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field DIS_RXF[12] (RW) |
| * |
| * When the RX FIFO is disabled, the receive part of the module operates as a |
| * simplified double-buffered SPI. This bit can only be written when the MDIS bit |
| * is cleared. |
| * |
| * Values: |
| * - 0b0 - RX FIFO is enabled. |
| * - 0b1 - RX FIFO is disabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_DIS_RXF field. */ |
| #define SPI_RD_MCR_DIS_RXF(base) ((SPI_MCR_REG(base) & SPI_MCR_DIS_RXF_MASK) >> SPI_MCR_DIS_RXF_SHIFT) |
| #define SPI_BRD_MCR_DIS_RXF(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_DIS_RXF_SHIFT, SPI_MCR_DIS_RXF_WIDTH)) |
| |
| /*! @brief Set the DIS_RXF field to a new value. */ |
| #define SPI_WR_MCR_DIS_RXF(base, value) (SPI_RMW_MCR(base, SPI_MCR_DIS_RXF_MASK, SPI_MCR_DIS_RXF(value))) |
| #define SPI_BWR_MCR_DIS_RXF(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_DIS_RXF_SHIFT), SPI_MCR_DIS_RXF_SHIFT, SPI_MCR_DIS_RXF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field DIS_TXF[13] (RW) |
| * |
| * When the TX FIFO is disabled, the transmit part of the module operates as a |
| * simplified double-buffered SPI. This bit can be written only when the MDIS bit |
| * is cleared. |
| * |
| * Values: |
| * - 0b0 - TX FIFO is enabled. |
| * - 0b1 - TX FIFO is disabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_DIS_TXF field. */ |
| #define SPI_RD_MCR_DIS_TXF(base) ((SPI_MCR_REG(base) & SPI_MCR_DIS_TXF_MASK) >> SPI_MCR_DIS_TXF_SHIFT) |
| #define SPI_BRD_MCR_DIS_TXF(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_DIS_TXF_SHIFT, SPI_MCR_DIS_TXF_WIDTH)) |
| |
| /*! @brief Set the DIS_TXF field to a new value. */ |
| #define SPI_WR_MCR_DIS_TXF(base, value) (SPI_RMW_MCR(base, SPI_MCR_DIS_TXF_MASK, SPI_MCR_DIS_TXF(value))) |
| #define SPI_BWR_MCR_DIS_TXF(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_DIS_TXF_SHIFT), SPI_MCR_DIS_TXF_SHIFT, SPI_MCR_DIS_TXF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field MDIS[14] (RW) |
| * |
| * Allows the clock to be stopped to the non-memory mapped logic in the module |
| * effectively putting it in a software-controlled power-saving state. The reset |
| * value of the MDIS bit is parameterized, with a default reset value of 0. When |
| * the module is used in Slave Mode, it is recommended to leave this bit 0, |
| * because a slave doesn't have control over master transactions. |
| * |
| * Values: |
| * - 0b0 - Enables the module clocks. |
| * - 0b1 - Allows external logic to disable the module clocks. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_MDIS field. */ |
| #define SPI_RD_MCR_MDIS(base) ((SPI_MCR_REG(base) & SPI_MCR_MDIS_MASK) >> SPI_MCR_MDIS_SHIFT) |
| #define SPI_BRD_MCR_MDIS(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_MDIS_SHIFT, SPI_MCR_MDIS_WIDTH)) |
| |
| /*! @brief Set the MDIS field to a new value. */ |
| #define SPI_WR_MCR_MDIS(base, value) (SPI_RMW_MCR(base, SPI_MCR_MDIS_MASK, SPI_MCR_MDIS(value))) |
| #define SPI_BWR_MCR_MDIS(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_MDIS_SHIFT), SPI_MCR_MDIS_SHIFT, SPI_MCR_MDIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field DOZE[15] (RW) |
| * |
| * Provides support for an externally controlled Doze mode power-saving |
| * mechanism. |
| * |
| * Values: |
| * - 0b0 - Doze mode has no effect on the module. |
| * - 0b1 - Doze mode disables the module. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_DOZE field. */ |
| #define SPI_RD_MCR_DOZE(base) ((SPI_MCR_REG(base) & SPI_MCR_DOZE_MASK) >> SPI_MCR_DOZE_SHIFT) |
| #define SPI_BRD_MCR_DOZE(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_DOZE_SHIFT, SPI_MCR_DOZE_WIDTH)) |
| |
| /*! @brief Set the DOZE field to a new value. */ |
| #define SPI_WR_MCR_DOZE(base, value) (SPI_RMW_MCR(base, SPI_MCR_DOZE_MASK, SPI_MCR_DOZE(value))) |
| #define SPI_BWR_MCR_DOZE(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_DOZE_SHIFT), SPI_MCR_DOZE_SHIFT, SPI_MCR_DOZE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field PCSIS[19:16] (RW) |
| * |
| * Determines the inactive state of PCSx. Refer to the chip-specific SPI |
| * information for the number of PCS signals used in this MCU. |
| * |
| * Values: |
| * - 0b0000 - The inactive state of PCSx is low. |
| * - 0b0001 - The inactive state of PCSx is high. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_PCSIS field. */ |
| #define SPI_RD_MCR_PCSIS(base) ((SPI_MCR_REG(base) & SPI_MCR_PCSIS_MASK) >> SPI_MCR_PCSIS_SHIFT) |
| #define SPI_BRD_MCR_PCSIS(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_PCSIS_SHIFT, SPI_MCR_PCSIS_WIDTH)) |
| |
| /*! @brief Set the PCSIS field to a new value. */ |
| #define SPI_WR_MCR_PCSIS(base, value) (SPI_RMW_MCR(base, SPI_MCR_PCSIS_MASK, SPI_MCR_PCSIS(value))) |
| #define SPI_BWR_MCR_PCSIS(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_PCSIS_SHIFT), SPI_MCR_PCSIS_SHIFT, SPI_MCR_PCSIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field ROOE[24] (RW) |
| * |
| * In the RX FIFO overflow condition, configures the module to ignore the |
| * incoming serial data or overwrite existing data. If the RX FIFO is full and new data |
| * is received, the data from the transfer, generating the overflow, is ignored |
| * or shifted into the shift register. |
| * |
| * Values: |
| * - 0b0 - Incoming data is ignored. |
| * - 0b1 - Incoming data is shifted into the shift register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_ROOE field. */ |
| #define SPI_RD_MCR_ROOE(base) ((SPI_MCR_REG(base) & SPI_MCR_ROOE_MASK) >> SPI_MCR_ROOE_SHIFT) |
| #define SPI_BRD_MCR_ROOE(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_ROOE_SHIFT, SPI_MCR_ROOE_WIDTH)) |
| |
| /*! @brief Set the ROOE field to a new value. */ |
| #define SPI_WR_MCR_ROOE(base, value) (SPI_RMW_MCR(base, SPI_MCR_ROOE_MASK, SPI_MCR_ROOE(value))) |
| #define SPI_BWR_MCR_ROOE(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_ROOE_SHIFT), SPI_MCR_ROOE_SHIFT, SPI_MCR_ROOE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field MTFE[26] (RW) |
| * |
| * Enables a modified transfer format to be used. |
| * |
| * Values: |
| * - 0b0 - Modified SPI transfer format disabled. |
| * - 0b1 - Modified SPI transfer format enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_MTFE field. */ |
| #define SPI_RD_MCR_MTFE(base) ((SPI_MCR_REG(base) & SPI_MCR_MTFE_MASK) >> SPI_MCR_MTFE_SHIFT) |
| #define SPI_BRD_MCR_MTFE(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_MTFE_SHIFT, SPI_MCR_MTFE_WIDTH)) |
| |
| /*! @brief Set the MTFE field to a new value. */ |
| #define SPI_WR_MCR_MTFE(base, value) (SPI_RMW_MCR(base, SPI_MCR_MTFE_MASK, SPI_MCR_MTFE(value))) |
| #define SPI_BWR_MCR_MTFE(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_MTFE_SHIFT), SPI_MCR_MTFE_SHIFT, SPI_MCR_MTFE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field FRZ[27] (RW) |
| * |
| * Enables transfers to be stopped on the next frame boundary when the device |
| * enters Debug mode. |
| * |
| * Values: |
| * - 0b0 - Do not halt serial transfers in Debug mode. |
| * - 0b1 - Halt serial transfers in Debug mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_FRZ field. */ |
| #define SPI_RD_MCR_FRZ(base) ((SPI_MCR_REG(base) & SPI_MCR_FRZ_MASK) >> SPI_MCR_FRZ_SHIFT) |
| #define SPI_BRD_MCR_FRZ(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_FRZ_SHIFT, SPI_MCR_FRZ_WIDTH)) |
| |
| /*! @brief Set the FRZ field to a new value. */ |
| #define SPI_WR_MCR_FRZ(base, value) (SPI_RMW_MCR(base, SPI_MCR_FRZ_MASK, SPI_MCR_FRZ(value))) |
| #define SPI_BWR_MCR_FRZ(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_FRZ_SHIFT), SPI_MCR_FRZ_SHIFT, SPI_MCR_FRZ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field DCONF[29:28] (RO) |
| * |
| * Selects among the different configurations of the module. |
| * |
| * Values: |
| * - 0b00 - SPI |
| * - 0b01 - Reserved |
| * - 0b10 - Reserved |
| * - 0b11 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_DCONF field. */ |
| #define SPI_RD_MCR_DCONF(base) ((SPI_MCR_REG(base) & SPI_MCR_DCONF_MASK) >> SPI_MCR_DCONF_SHIFT) |
| #define SPI_BRD_MCR_DCONF(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_DCONF_SHIFT, SPI_MCR_DCONF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field CONT_SCKE[30] (RW) |
| * |
| * Enables the Serial Communication Clock (SCK) to run continuously. |
| * |
| * Values: |
| * - 0b0 - Continuous SCK disabled. |
| * - 0b1 - Continuous SCK enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_CONT_SCKE field. */ |
| #define SPI_RD_MCR_CONT_SCKE(base) ((SPI_MCR_REG(base) & SPI_MCR_CONT_SCKE_MASK) >> SPI_MCR_CONT_SCKE_SHIFT) |
| #define SPI_BRD_MCR_CONT_SCKE(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_CONT_SCKE_SHIFT, SPI_MCR_CONT_SCKE_WIDTH)) |
| |
| /*! @brief Set the CONT_SCKE field to a new value. */ |
| #define SPI_WR_MCR_CONT_SCKE(base, value) (SPI_RMW_MCR(base, SPI_MCR_CONT_SCKE_MASK, SPI_MCR_CONT_SCKE(value))) |
| #define SPI_BWR_MCR_CONT_SCKE(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_CONT_SCKE_SHIFT), SPI_MCR_CONT_SCKE_SHIFT, SPI_MCR_CONT_SCKE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_MCR, field MSTR[31] (RW) |
| * |
| * Enables either Master mode (if supported) or Slave mode (if supported) |
| * operation. |
| * |
| * Values: |
| * - 0b0 - Enables Slave mode |
| * - 0b1 - Enables Master mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_MCR_MSTR field. */ |
| #define SPI_RD_MCR_MSTR(base) ((SPI_MCR_REG(base) & SPI_MCR_MSTR_MASK) >> SPI_MCR_MSTR_SHIFT) |
| #define SPI_BRD_MCR_MSTR(base) (BME_UBFX32(&SPI_MCR_REG(base), SPI_MCR_MSTR_SHIFT, SPI_MCR_MSTR_WIDTH)) |
| |
| /*! @brief Set the MSTR field to a new value. */ |
| #define SPI_WR_MCR_MSTR(base, value) (SPI_RMW_MCR(base, SPI_MCR_MSTR_MASK, SPI_MCR_MSTR(value))) |
| #define SPI_BWR_MCR_MSTR(base, value) (BME_BFI32(&SPI_MCR_REG(base), ((uint32_t)(value) << SPI_MCR_MSTR_SHIFT), SPI_MCR_MSTR_SHIFT, SPI_MCR_MSTR_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_TCR - Transfer Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_TCR - Transfer Count Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * TCR contains a counter that indicates the number of SPI transfers made. The |
| * transfer counter is intended to assist in queue management. Do not write the |
| * TCR when the module is in the Running state. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_TCR register |
| */ |
| /*@{*/ |
| #define SPI_RD_TCR(base) (SPI_TCR_REG(base)) |
| #define SPI_WR_TCR(base, value) (SPI_TCR_REG(base) = (value)) |
| #define SPI_RMW_TCR(base, mask, value) (SPI_WR_TCR(base, (SPI_RD_TCR(base) & ~(mask)) | (value))) |
| #define SPI_SET_TCR(base, value) (BME_OR32(&SPI_TCR_REG(base), (uint32_t)(value))) |
| #define SPI_CLR_TCR(base, value) (BME_AND32(&SPI_TCR_REG(base), (uint32_t)(~(value)))) |
| #define SPI_TOG_TCR(base, value) (BME_XOR32(&SPI_TCR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_TCR bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_TCR, field SPI_TCNT[31:16] (RW) |
| * |
| * Counts the number of SPI transfers the module makes. The SPI_TCNT field |
| * increments every time the last bit of an SPI frame is transmitted. A value written |
| * to SPI_TCNT presets the counter to that value. SPI_TCNT is reset to zero at |
| * the beginning of the frame when the CTCNT field is set in the executing SPI |
| * command. The Transfer Counter wraps around; incrementing the counter past 65535 |
| * resets the counter to zero. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_TCR_SPI_TCNT field. */ |
| #define SPI_RD_TCR_SPI_TCNT(base) ((SPI_TCR_REG(base) & SPI_TCR_SPI_TCNT_MASK) >> SPI_TCR_SPI_TCNT_SHIFT) |
| #define SPI_BRD_TCR_SPI_TCNT(base) (BME_UBFX32(&SPI_TCR_REG(base), SPI_TCR_SPI_TCNT_SHIFT, SPI_TCR_SPI_TCNT_WIDTH)) |
| |
| /*! @brief Set the SPI_TCNT field to a new value. */ |
| #define SPI_WR_TCR_SPI_TCNT(base, value) (SPI_RMW_TCR(base, SPI_TCR_SPI_TCNT_MASK, SPI_TCR_SPI_TCNT(value))) |
| #define SPI_BWR_TCR_SPI_TCNT(base, value) (BME_BFI32(&SPI_TCR_REG(base), ((uint32_t)(value) << SPI_TCR_SPI_TCNT_SHIFT), SPI_TCR_SPI_TCNT_SHIFT, SPI_TCR_SPI_TCNT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_CTAR_SLAVE - Clock and Transfer Attributes Register (In Slave Mode) |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_CTAR_SLAVE - Clock and Transfer Attributes Register (In Slave Mode) (RW) |
| * |
| * Reset value: 0x78000000U |
| * |
| * When the module is configured as an SPI bus slave, the CTAR0 register is used. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_CTAR_SLAVE register |
| */ |
| /*@{*/ |
| #define SPI_RD_CTAR_SLAVE(base, index) (SPI_CTAR_SLAVE_REG(base, index)) |
| #define SPI_WR_CTAR_SLAVE(base, index, value) (SPI_CTAR_SLAVE_REG(base, index) = (value)) |
| #define SPI_RMW_CTAR_SLAVE(base, index, mask, value) (SPI_WR_CTAR_SLAVE(base, index, (SPI_RD_CTAR_SLAVE(base, index) & ~(mask)) | (value))) |
| #define SPI_SET_CTAR_SLAVE(base, index, value) (BME_OR32(&SPI_CTAR_SLAVE_REG(base, index), (uint32_t)(value))) |
| #define SPI_CLR_CTAR_SLAVE(base, index, value) (BME_AND32(&SPI_CTAR_SLAVE_REG(base, index), (uint32_t)(~(value)))) |
| #define SPI_TOG_CTAR_SLAVE(base, index, value) (BME_XOR32(&SPI_CTAR_SLAVE_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_CTAR_SLAVE bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_CTAR_SLAVE, field CPHA[25] (RW) |
| * |
| * Selects which edge of SCK causes data to change and which edge causes data to |
| * be captured. This bit is used in both master and slave mode. For successful |
| * communication between serial devices, the devices must have identical clock |
| * phase settings. In Continuous SCK mode, the bit value is ignored and the |
| * transfers are done as if the CPHA bit is set to 1. |
| * |
| * Values: |
| * - 0b0 - Data is captured on the leading edge of SCK and changed on the |
| * following edge. |
| * - 0b1 - Data is changed on the leading edge of SCK and captured on the |
| * following edge. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_SLAVE_CPHA field. */ |
| #define SPI_RD_CTAR_SLAVE_CPHA(base, index) ((SPI_CTAR_SLAVE_REG(base, index) & SPI_CTAR_SLAVE_CPHA_MASK) >> SPI_CTAR_SLAVE_CPHA_SHIFT) |
| #define SPI_BRD_CTAR_SLAVE_CPHA(base, index) (BME_UBFX32(&SPI_CTAR_SLAVE_REG(base, index), SPI_CTAR_SLAVE_CPHA_SHIFT, SPI_CTAR_SLAVE_CPHA_WIDTH)) |
| |
| /*! @brief Set the CPHA field to a new value. */ |
| #define SPI_WR_CTAR_SLAVE_CPHA(base, index, value) (SPI_RMW_CTAR_SLAVE(base, index, SPI_CTAR_SLAVE_CPHA_MASK, SPI_CTAR_SLAVE_CPHA(value))) |
| #define SPI_BWR_CTAR_SLAVE_CPHA(base, index, value) (BME_BFI32(&SPI_CTAR_SLAVE_REG(base, index), ((uint32_t)(value) << SPI_CTAR_SLAVE_CPHA_SHIFT), SPI_CTAR_SLAVE_CPHA_SHIFT, SPI_CTAR_SLAVE_CPHA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR_SLAVE, field CPOL[26] (RW) |
| * |
| * Selects the inactive state of the Serial Communications Clock (SCK). In case |
| * of Continuous SCK mode, when the module goes in low power mode(disabled), |
| * inactive state of SCK is not guaranted. |
| * |
| * Values: |
| * - 0b0 - The inactive state value of SCK is low. |
| * - 0b1 - The inactive state value of SCK is high. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_SLAVE_CPOL field. */ |
| #define SPI_RD_CTAR_SLAVE_CPOL(base, index) ((SPI_CTAR_SLAVE_REG(base, index) & SPI_CTAR_SLAVE_CPOL_MASK) >> SPI_CTAR_SLAVE_CPOL_SHIFT) |
| #define SPI_BRD_CTAR_SLAVE_CPOL(base, index) (BME_UBFX32(&SPI_CTAR_SLAVE_REG(base, index), SPI_CTAR_SLAVE_CPOL_SHIFT, SPI_CTAR_SLAVE_CPOL_WIDTH)) |
| |
| /*! @brief Set the CPOL field to a new value. */ |
| #define SPI_WR_CTAR_SLAVE_CPOL(base, index, value) (SPI_RMW_CTAR_SLAVE(base, index, SPI_CTAR_SLAVE_CPOL_MASK, SPI_CTAR_SLAVE_CPOL(value))) |
| #define SPI_BWR_CTAR_SLAVE_CPOL(base, index, value) (BME_BFI32(&SPI_CTAR_SLAVE_REG(base, index), ((uint32_t)(value) << SPI_CTAR_SLAVE_CPOL_SHIFT), SPI_CTAR_SLAVE_CPOL_SHIFT, SPI_CTAR_SLAVE_CPOL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR_SLAVE, field FMSZ[30:27] (RW) |
| * |
| * The number of bits transfered per frame is equal to the FMSZ field value plus |
| * 1. Note that the minimum valid value of frame size is 4. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_SLAVE_FMSZ field. */ |
| #define SPI_RD_CTAR_SLAVE_FMSZ(base, index) ((SPI_CTAR_SLAVE_REG(base, index) & SPI_CTAR_SLAVE_FMSZ_MASK) >> SPI_CTAR_SLAVE_FMSZ_SHIFT) |
| #define SPI_BRD_CTAR_SLAVE_FMSZ(base, index) (BME_UBFX32(&SPI_CTAR_SLAVE_REG(base, index), SPI_CTAR_SLAVE_FMSZ_SHIFT, SPI_CTAR_SLAVE_FMSZ_WIDTH)) |
| |
| /*! @brief Set the FMSZ field to a new value. */ |
| #define SPI_WR_CTAR_SLAVE_FMSZ(base, index, value) (SPI_RMW_CTAR_SLAVE(base, index, SPI_CTAR_SLAVE_FMSZ_MASK, SPI_CTAR_SLAVE_FMSZ(value))) |
| #define SPI_BWR_CTAR_SLAVE_FMSZ(base, index, value) (BME_BFI32(&SPI_CTAR_SLAVE_REG(base, index), ((uint32_t)(value) << SPI_CTAR_SLAVE_FMSZ_SHIFT), SPI_CTAR_SLAVE_FMSZ_SHIFT, SPI_CTAR_SLAVE_FMSZ_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_CTAR - Clock and Transfer Attributes Register (In Master Mode) |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_CTAR - Clock and Transfer Attributes Register (In Master Mode) (RW) |
| * |
| * Reset value: 0x78000000U |
| * |
| * CTAR registers are used to define different transfer attributes. The number |
| * of CTAR registers is parameterized in the RTL and can be from two to eight |
| * registers. Do not write to the CTAR registers while the module is in the Running |
| * state. In Master mode, the CTAR registers define combinations of transfer |
| * attributes such as frame size, clock phase and polarity, data bit ordering, baud |
| * rate, and various delays. In slave mode, a subset of the bitfields in CTAR0 are |
| * used to set the slave transfer attributes. When the module is configured as an |
| * SPI master, the CTAS field in the command portion of the TX FIFO entry |
| * selects which of the CTAR registers is used. When the module is configured as an SPI |
| * bus slave, it uses the CTAR0 register. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_CTAR register |
| */ |
| /*@{*/ |
| #define SPI_RD_CTAR(base, index) (SPI_CTAR_REG(base, index)) |
| #define SPI_WR_CTAR(base, index, value) (SPI_CTAR_REG(base, index) = (value)) |
| #define SPI_RMW_CTAR(base, index, mask, value) (SPI_WR_CTAR(base, index, (SPI_RD_CTAR(base, index) & ~(mask)) | (value))) |
| #define SPI_SET_CTAR(base, index, value) (BME_OR32(&SPI_CTAR_REG(base, index), (uint32_t)(value))) |
| #define SPI_CLR_CTAR(base, index, value) (BME_AND32(&SPI_CTAR_REG(base, index), (uint32_t)(~(value)))) |
| #define SPI_TOG_CTAR(base, index, value) (BME_XOR32(&SPI_CTAR_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_CTAR bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_CTAR, field BR[3:0] (RW) |
| * |
| * Selects the scaler value for the baud rate. This field is used only in master |
| * mode. The prescaled protocol clock is divided by the Baud Rate Scaler to |
| * generate the frequency of the SCK. The baud rate is computed according to the |
| * following equation: SCK baud rate = (fP /PBR) x [(1+DBR)/BR] The following table |
| * lists the baud rate scaler values. Baud Rate Scaler CTARn[BR] Baud Rate Scaler |
| * Value 0000 2 0001 4 0010 6 0011 8 0100 16 0101 32 0110 64 0111 128 1000 256 |
| * 1001 512 1010 1024 1011 2048 1100 4096 1101 8192 1110 16384 1111 32768 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_BR field. */ |
| #define SPI_RD_CTAR_BR(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_BR_MASK) >> SPI_CTAR_BR_SHIFT) |
| #define SPI_BRD_CTAR_BR(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_BR_SHIFT, SPI_CTAR_BR_WIDTH)) |
| |
| /*! @brief Set the BR field to a new value. */ |
| #define SPI_WR_CTAR_BR(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_BR_MASK, SPI_CTAR_BR(value))) |
| #define SPI_BWR_CTAR_BR(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_BR_SHIFT), SPI_CTAR_BR_SHIFT, SPI_CTAR_BR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field DT[7:4] (RW) |
| * |
| * Selects the Delay after Transfer Scaler. This field is used only in master |
| * mode. The Delay after Transfer is the time between the negation of the PCS |
| * signal at the end of a frame and the assertion of PCS at the beginning of the next |
| * frame. In the Continuous Serial Communications Clock operation, the DT value |
| * is fixed to one SCK clock period, The Delay after Transfer is a multiple of the |
| * protocol clock period, and it is computed according to the following |
| * equation: tDT = (1/fP ) x PDT x DT See Delay Scaler Encoding table in CTARn[CSSCK] bit |
| * field description for scaler values. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_DT field. */ |
| #define SPI_RD_CTAR_DT(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_DT_MASK) >> SPI_CTAR_DT_SHIFT) |
| #define SPI_BRD_CTAR_DT(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_DT_SHIFT, SPI_CTAR_DT_WIDTH)) |
| |
| /*! @brief Set the DT field to a new value. */ |
| #define SPI_WR_CTAR_DT(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_DT_MASK, SPI_CTAR_DT(value))) |
| #define SPI_BWR_CTAR_DT(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_DT_SHIFT), SPI_CTAR_DT_SHIFT, SPI_CTAR_DT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field ASC[11:8] (RW) |
| * |
| * Selects the scaler value for the After SCK Delay. This field is used only in |
| * master mode. The After SCK Delay is the delay between the last edge of SCK and |
| * the negation of PCS. The delay is a multiple of the protocol clock period, |
| * and it is computed according to the following equation: t ASC = (1/fP) x PASC x |
| * ASC See Delay Scaler Encoding table in CTARn[CSSCK] bit field description for |
| * scaler values. Refer After SCK Delay (tASC ) for more details. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_ASC field. */ |
| #define SPI_RD_CTAR_ASC(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_ASC_MASK) >> SPI_CTAR_ASC_SHIFT) |
| #define SPI_BRD_CTAR_ASC(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_ASC_SHIFT, SPI_CTAR_ASC_WIDTH)) |
| |
| /*! @brief Set the ASC field to a new value. */ |
| #define SPI_WR_CTAR_ASC(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_ASC_MASK, SPI_CTAR_ASC(value))) |
| #define SPI_BWR_CTAR_ASC(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_ASC_SHIFT), SPI_CTAR_ASC_SHIFT, SPI_CTAR_ASC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field CSSCK[15:12] (RW) |
| * |
| * Selects the scaler value for the PCS to SCK delay. This field is used only in |
| * master mode. The PCS to SCK Delay is the delay between the assertion of PCS |
| * and the first edge of the SCK. The delay is a multiple of the protocol clock |
| * period, and it is computed according to the following equation: t CSC = (1/fP ) |
| * x PCSSCK x CSSCK. The following table lists the delay scaler values. Delay |
| * Scaler Encoding Field Value Delay Scaler Value 0000 2 0001 4 0010 8 0011 16 0100 |
| * 32 0101 64 0110 128 0111 256 1000 512 1001 1024 1010 2048 1011 4096 1100 8192 |
| * 1101 16384 1110 32768 1111 65536 Refer PCS to SCK Delay (tCSC ) for more |
| * details. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_CSSCK field. */ |
| #define SPI_RD_CTAR_CSSCK(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_CSSCK_MASK) >> SPI_CTAR_CSSCK_SHIFT) |
| #define SPI_BRD_CTAR_CSSCK(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_CSSCK_SHIFT, SPI_CTAR_CSSCK_WIDTH)) |
| |
| /*! @brief Set the CSSCK field to a new value. */ |
| #define SPI_WR_CTAR_CSSCK(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_CSSCK_MASK, SPI_CTAR_CSSCK(value))) |
| #define SPI_BWR_CTAR_CSSCK(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_CSSCK_SHIFT), SPI_CTAR_CSSCK_SHIFT, SPI_CTAR_CSSCK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field PBR[17:16] (RW) |
| * |
| * Selects the prescaler value for the baud rate. This field is used only in |
| * master mode. The baud rate is the frequency of the SCK. The protocol clock is |
| * divided by the prescaler value before the baud rate selection takes place. See |
| * the BR field description for details on how to compute the baud rate. |
| * |
| * Values: |
| * - 0b00 - Baud Rate Prescaler value is 2. |
| * - 0b01 - Baud Rate Prescaler value is 3. |
| * - 0b10 - Baud Rate Prescaler value is 5. |
| * - 0b11 - Baud Rate Prescaler value is 7. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_PBR field. */ |
| #define SPI_RD_CTAR_PBR(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_PBR_MASK) >> SPI_CTAR_PBR_SHIFT) |
| #define SPI_BRD_CTAR_PBR(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_PBR_SHIFT, SPI_CTAR_PBR_WIDTH)) |
| |
| /*! @brief Set the PBR field to a new value. */ |
| #define SPI_WR_CTAR_PBR(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_PBR_MASK, SPI_CTAR_PBR(value))) |
| #define SPI_BWR_CTAR_PBR(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_PBR_SHIFT), SPI_CTAR_PBR_SHIFT, SPI_CTAR_PBR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field PDT[19:18] (RW) |
| * |
| * Selects the prescaler value for the delay between the negation of the PCS |
| * signal at the end of a frame and the assertion of PCS at the beginning of the |
| * next frame. The PDT field is only used in master mode. See the DT field |
| * description for details on how to compute the Delay after Transfer. Refer Delay after |
| * Transfer (tDT ) for more details. |
| * |
| * Values: |
| * - 0b00 - Delay after Transfer Prescaler value is 1. |
| * - 0b01 - Delay after Transfer Prescaler value is 3. |
| * - 0b10 - Delay after Transfer Prescaler value is 5. |
| * - 0b11 - Delay after Transfer Prescaler value is 7. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_PDT field. */ |
| #define SPI_RD_CTAR_PDT(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_PDT_MASK) >> SPI_CTAR_PDT_SHIFT) |
| #define SPI_BRD_CTAR_PDT(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_PDT_SHIFT, SPI_CTAR_PDT_WIDTH)) |
| |
| /*! @brief Set the PDT field to a new value. */ |
| #define SPI_WR_CTAR_PDT(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_PDT_MASK, SPI_CTAR_PDT(value))) |
| #define SPI_BWR_CTAR_PDT(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_PDT_SHIFT), SPI_CTAR_PDT_SHIFT, SPI_CTAR_PDT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field PASC[21:20] (RW) |
| * |
| * Selects the prescaler value for the delay between the last edge of SCK and |
| * the negation of PCS. See the ASC field description for information on how to |
| * compute the After SCK Delay. Refer After SCK Delay (tASC ) for more details. |
| * |
| * Values: |
| * - 0b00 - Delay after Transfer Prescaler value is 1. |
| * - 0b01 - Delay after Transfer Prescaler value is 3. |
| * - 0b10 - Delay after Transfer Prescaler value is 5. |
| * - 0b11 - Delay after Transfer Prescaler value is 7. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_PASC field. */ |
| #define SPI_RD_CTAR_PASC(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_PASC_MASK) >> SPI_CTAR_PASC_SHIFT) |
| #define SPI_BRD_CTAR_PASC(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_PASC_SHIFT, SPI_CTAR_PASC_WIDTH)) |
| |
| /*! @brief Set the PASC field to a new value. */ |
| #define SPI_WR_CTAR_PASC(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_PASC_MASK, SPI_CTAR_PASC(value))) |
| #define SPI_BWR_CTAR_PASC(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_PASC_SHIFT), SPI_CTAR_PASC_SHIFT, SPI_CTAR_PASC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field PCSSCK[23:22] (RW) |
| * |
| * Selects the prescaler value for the delay between assertion of PCS and the |
| * first edge of the SCK. See the CSSCK field description for information on how to |
| * compute the PCS to SCK Delay. Refer PCS to SCK Delay (tCSC ) for more details. |
| * |
| * Values: |
| * - 0b00 - PCS to SCK Prescaler value is 1. |
| * - 0b01 - PCS to SCK Prescaler value is 3. |
| * - 0b10 - PCS to SCK Prescaler value is 5. |
| * - 0b11 - PCS to SCK Prescaler value is 7. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_PCSSCK field. */ |
| #define SPI_RD_CTAR_PCSSCK(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_PCSSCK_MASK) >> SPI_CTAR_PCSSCK_SHIFT) |
| #define SPI_BRD_CTAR_PCSSCK(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_PCSSCK_SHIFT, SPI_CTAR_PCSSCK_WIDTH)) |
| |
| /*! @brief Set the PCSSCK field to a new value. */ |
| #define SPI_WR_CTAR_PCSSCK(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_PCSSCK_MASK, SPI_CTAR_PCSSCK(value))) |
| #define SPI_BWR_CTAR_PCSSCK(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_PCSSCK_SHIFT), SPI_CTAR_PCSSCK_SHIFT, SPI_CTAR_PCSSCK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field LSBFE[24] (RW) |
| * |
| * Specifies whether the LSB or MSB of the frame is transferred first. |
| * |
| * Values: |
| * - 0b0 - Data is transferred MSB first. |
| * - 0b1 - Data is transferred LSB first. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_LSBFE field. */ |
| #define SPI_RD_CTAR_LSBFE(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_LSBFE_MASK) >> SPI_CTAR_LSBFE_SHIFT) |
| #define SPI_BRD_CTAR_LSBFE(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_LSBFE_SHIFT, SPI_CTAR_LSBFE_WIDTH)) |
| |
| /*! @brief Set the LSBFE field to a new value. */ |
| #define SPI_WR_CTAR_LSBFE(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_LSBFE_MASK, SPI_CTAR_LSBFE(value))) |
| #define SPI_BWR_CTAR_LSBFE(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_LSBFE_SHIFT), SPI_CTAR_LSBFE_SHIFT, SPI_CTAR_LSBFE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field CPHA[25] (RW) |
| * |
| * Selects which edge of SCK causes data to change and which edge causes data to |
| * be captured. This bit is used in both master and slave mode. For successful |
| * communication between serial devices, the devices must have identical clock |
| * phase settings. In Continuous SCK mode, the bit value is ignored and the |
| * transfers are done as if the CPHA bit is set to 1. |
| * |
| * Values: |
| * - 0b0 - Data is captured on the leading edge of SCK and changed on the |
| * following edge. |
| * - 0b1 - Data is changed on the leading edge of SCK and captured on the |
| * following edge. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_CPHA field. */ |
| #define SPI_RD_CTAR_CPHA(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_CPHA_MASK) >> SPI_CTAR_CPHA_SHIFT) |
| #define SPI_BRD_CTAR_CPHA(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_CPHA_SHIFT, SPI_CTAR_CPHA_WIDTH)) |
| |
| /*! @brief Set the CPHA field to a new value. */ |
| #define SPI_WR_CTAR_CPHA(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_CPHA_MASK, SPI_CTAR_CPHA(value))) |
| #define SPI_BWR_CTAR_CPHA(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_CPHA_SHIFT), SPI_CTAR_CPHA_SHIFT, SPI_CTAR_CPHA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field CPOL[26] (RW) |
| * |
| * Selects the inactive state of the Serial Communications Clock (SCK). This bit |
| * is used in both master and slave mode. For successful communication between |
| * serial devices, the devices must have identical clock polarities. When the |
| * Continuous Selection Format is selected, switching between clock polarities |
| * without stopping the module can cause errors in the transfer due to the peripheral |
| * device interpreting the switch of clock polarity as a valid clock edge. In case |
| * of Continuous SCK mode, when the module goes in low power mode(disabled), |
| * inactive state of SCK is not guaranted. |
| * |
| * Values: |
| * - 0b0 - The inactive state value of SCK is low. |
| * - 0b1 - The inactive state value of SCK is high. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_CPOL field. */ |
| #define SPI_RD_CTAR_CPOL(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_CPOL_MASK) >> SPI_CTAR_CPOL_SHIFT) |
| #define SPI_BRD_CTAR_CPOL(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_CPOL_SHIFT, SPI_CTAR_CPOL_WIDTH)) |
| |
| /*! @brief Set the CPOL field to a new value. */ |
| #define SPI_WR_CTAR_CPOL(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_CPOL_MASK, SPI_CTAR_CPOL(value))) |
| #define SPI_BWR_CTAR_CPOL(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_CPOL_SHIFT), SPI_CTAR_CPOL_SHIFT, SPI_CTAR_CPOL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field FMSZ[30:27] (RW) |
| * |
| * The number of bits transferred per frame is equal to the FMSZ value plus 1. |
| * Regardless of the transmission mode, the minimum valid frame size value is 4. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_FMSZ field. */ |
| #define SPI_RD_CTAR_FMSZ(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_FMSZ_MASK) >> SPI_CTAR_FMSZ_SHIFT) |
| #define SPI_BRD_CTAR_FMSZ(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_FMSZ_SHIFT, SPI_CTAR_FMSZ_WIDTH)) |
| |
| /*! @brief Set the FMSZ field to a new value. */ |
| #define SPI_WR_CTAR_FMSZ(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_FMSZ_MASK, SPI_CTAR_FMSZ(value))) |
| #define SPI_BWR_CTAR_FMSZ(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_FMSZ_SHIFT), SPI_CTAR_FMSZ_SHIFT, SPI_CTAR_FMSZ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_CTAR, field DBR[31] (RW) |
| * |
| * Doubles the effective baud rate of the Serial Communications Clock (SCK). |
| * This field is used only in master mode. It effectively halves the Baud Rate |
| * division ratio, supporting faster frequencies, and odd division ratios for the |
| * Serial Communications Clock (SCK). When the DBR bit is set, the duty cycle of the |
| * Serial Communications Clock (SCK) depends on the value in the Baud Rate |
| * Prescaler and the Clock Phase bit as listed in the following table. See the BR field |
| * description for details on how to compute the baud rate. SPI SCK Duty Cycle |
| * DBR CPHA PBR SCK Duty Cycle 0 any any 50/50 1 0 00 50/50 1 0 01 33/66 1 0 10 |
| * 40/60 1 0 11 43/57 1 1 00 50/50 1 1 01 66/33 1 1 10 60/40 1 1 11 57/43 |
| * |
| * Values: |
| * - 0b0 - The baud rate is computed normally with a 50/50 duty cycle. |
| * - 0b1 - The baud rate is doubled with the duty cycle depending on the Baud |
| * Rate Prescaler. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_CTAR_DBR field. */ |
| #define SPI_RD_CTAR_DBR(base, index) ((SPI_CTAR_REG(base, index) & SPI_CTAR_DBR_MASK) >> SPI_CTAR_DBR_SHIFT) |
| #define SPI_BRD_CTAR_DBR(base, index) (BME_UBFX32(&SPI_CTAR_REG(base, index), SPI_CTAR_DBR_SHIFT, SPI_CTAR_DBR_WIDTH)) |
| |
| /*! @brief Set the DBR field to a new value. */ |
| #define SPI_WR_CTAR_DBR(base, index, value) (SPI_RMW_CTAR(base, index, SPI_CTAR_DBR_MASK, SPI_CTAR_DBR(value))) |
| #define SPI_BWR_CTAR_DBR(base, index, value) (BME_BFI32(&SPI_CTAR_REG(base, index), ((uint32_t)(value) << SPI_CTAR_DBR_SHIFT), SPI_CTAR_DBR_SHIFT, SPI_CTAR_DBR_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_SR - Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_SR - Status Register (RW) |
| * |
| * Reset value: 0x02000000U |
| * |
| * SR contains status and flag bits. The bits reflect the status of the module |
| * and indicate the occurrence of events that can generate interrupt or DMA |
| * requests. Software can clear flag bits in the SR by writing a 1 to them. Writing a 0 |
| * to a flag bit has no effect. This register may not be writable in Module |
| * Disable mode due to the use of power saving mechanisms. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_SR register |
| */ |
| /*@{*/ |
| #define SPI_RD_SR(base) (SPI_SR_REG(base)) |
| #define SPI_WR_SR(base, value) (SPI_SR_REG(base) = (value)) |
| #define SPI_RMW_SR(base, mask, value) (SPI_WR_SR(base, (SPI_RD_SR(base) & ~(mask)) | (value))) |
| #define SPI_SET_SR(base, value) (BME_OR32(&SPI_SR_REG(base), (uint32_t)(value))) |
| #define SPI_CLR_SR(base, value) (BME_AND32(&SPI_SR_REG(base), (uint32_t)(~(value)))) |
| #define SPI_TOG_SR(base, value) (BME_XOR32(&SPI_SR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_SR bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_SR, field POPNXTPTR[3:0] (RO) |
| * |
| * Contains a pointer to the RX FIFO entry to be returned when the POPR is read. |
| * The POPNXTPTR is updated when the POPR is read. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_POPNXTPTR field. */ |
| #define SPI_RD_SR_POPNXTPTR(base) ((SPI_SR_REG(base) & SPI_SR_POPNXTPTR_MASK) >> SPI_SR_POPNXTPTR_SHIFT) |
| #define SPI_BRD_SR_POPNXTPTR(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_POPNXTPTR_SHIFT, SPI_SR_POPNXTPTR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_SR, field RXCTR[7:4] (RO) |
| * |
| * Indicates the number of entries in the RX FIFO. The RXCTR is decremented |
| * every time the POPR is read. The RXCTR is incremented every time data is |
| * transferred from the shift register to the RX FIFO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_RXCTR field. */ |
| #define SPI_RD_SR_RXCTR(base) ((SPI_SR_REG(base) & SPI_SR_RXCTR_MASK) >> SPI_SR_RXCTR_SHIFT) |
| #define SPI_BRD_SR_RXCTR(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_RXCTR_SHIFT, SPI_SR_RXCTR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_SR, field TXNXTPTR[11:8] (RO) |
| * |
| * Indicates which TX FIFO entry is transmitted during the next transfer. The |
| * TXNXTPTR field is updated every time SPI data is transferred from the TX FIFO to |
| * the shift register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_TXNXTPTR field. */ |
| #define SPI_RD_SR_TXNXTPTR(base) ((SPI_SR_REG(base) & SPI_SR_TXNXTPTR_MASK) >> SPI_SR_TXNXTPTR_SHIFT) |
| #define SPI_BRD_SR_TXNXTPTR(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_TXNXTPTR_SHIFT, SPI_SR_TXNXTPTR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_SR, field TXCTR[15:12] (RO) |
| * |
| * Indicates the number of valid entries in the TX FIFO. The TXCTR is |
| * incremented every time the PUSHR is written. The TXCTR is decremented every time an SPI |
| * command is executed and the SPI data is transferred to the shift register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_TXCTR field. */ |
| #define SPI_RD_SR_TXCTR(base) ((SPI_SR_REG(base) & SPI_SR_TXCTR_MASK) >> SPI_SR_TXCTR_SHIFT) |
| #define SPI_BRD_SR_TXCTR(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_TXCTR_SHIFT, SPI_SR_TXCTR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_SR, field RFDF[17] (W1C) |
| * |
| * Provides a method for the module to request that entries be removed from the |
| * RX FIFO. The bit is set while the RX FIFO is not empty. The RFDF bit can be |
| * cleared by writing 1 to it or by acknowledgement from the DMA controller when |
| * the RX FIFO is empty. |
| * |
| * Values: |
| * - 0b0 - RX FIFO is empty. |
| * - 0b1 - RX FIFO is not empty. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_RFDF field. */ |
| #define SPI_RD_SR_RFDF(base) ((SPI_SR_REG(base) & SPI_SR_RFDF_MASK) >> SPI_SR_RFDF_SHIFT) |
| #define SPI_BRD_SR_RFDF(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_RFDF_SHIFT, SPI_SR_RFDF_WIDTH)) |
| |
| /*! @brief Set the RFDF field to a new value. */ |
| #define SPI_WR_SR_RFDF(base, value) (SPI_RMW_SR(base, (SPI_SR_RFDF_MASK | SPI_SR_RFOF_MASK | SPI_SR_TFFF_MASK | SPI_SR_TFUF_MASK | SPI_SR_EOQF_MASK | SPI_SR_TXRXS_MASK | SPI_SR_TCF_MASK), SPI_SR_RFDF(value))) |
| #define SPI_BWR_SR_RFDF(base, value) (BME_BFI32(&SPI_SR_REG(base), ((uint32_t)(value) << SPI_SR_RFDF_SHIFT), SPI_SR_RFDF_SHIFT, SPI_SR_RFDF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_SR, field RFOF[19] (W1C) |
| * |
| * Indicates an overflow condition in the RX FIFO. The field is set when the RX |
| * FIFO and shift register are full and a transfer is initiated. The bit remains |
| * set until it is cleared by writing a 1 to it. |
| * |
| * Values: |
| * - 0b0 - No Rx FIFO overflow. |
| * - 0b1 - Rx FIFO overflow has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_RFOF field. */ |
| #define SPI_RD_SR_RFOF(base) ((SPI_SR_REG(base) & SPI_SR_RFOF_MASK) >> SPI_SR_RFOF_SHIFT) |
| #define SPI_BRD_SR_RFOF(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_RFOF_SHIFT, SPI_SR_RFOF_WIDTH)) |
| |
| /*! @brief Set the RFOF field to a new value. */ |
| #define SPI_WR_SR_RFOF(base, value) (SPI_RMW_SR(base, (SPI_SR_RFOF_MASK | SPI_SR_RFDF_MASK | SPI_SR_TFFF_MASK | SPI_SR_TFUF_MASK | SPI_SR_EOQF_MASK | SPI_SR_TXRXS_MASK | SPI_SR_TCF_MASK), SPI_SR_RFOF(value))) |
| #define SPI_BWR_SR_RFOF(base, value) (BME_BFI32(&SPI_SR_REG(base), ((uint32_t)(value) << SPI_SR_RFOF_SHIFT), SPI_SR_RFOF_SHIFT, SPI_SR_RFOF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_SR, field TFFF[25] (W1C) |
| * |
| * Provides a method for the module to request more entries to be added to the |
| * TX FIFO. The TFFF bit is set while the TX FIFO is not full. The TFFF bit can be |
| * cleared by writing 1 to it or by acknowledgement from the DMA controller to |
| * the TX FIFO full request. |
| * |
| * Values: |
| * - 0b0 - TX FIFO is full. |
| * - 0b1 - TX FIFO is not full. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_TFFF field. */ |
| #define SPI_RD_SR_TFFF(base) ((SPI_SR_REG(base) & SPI_SR_TFFF_MASK) >> SPI_SR_TFFF_SHIFT) |
| #define SPI_BRD_SR_TFFF(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_TFFF_SHIFT, SPI_SR_TFFF_WIDTH)) |
| |
| /*! @brief Set the TFFF field to a new value. */ |
| #define SPI_WR_SR_TFFF(base, value) (SPI_RMW_SR(base, (SPI_SR_TFFF_MASK | SPI_SR_RFDF_MASK | SPI_SR_RFOF_MASK | SPI_SR_TFUF_MASK | SPI_SR_EOQF_MASK | SPI_SR_TXRXS_MASK | SPI_SR_TCF_MASK), SPI_SR_TFFF(value))) |
| #define SPI_BWR_SR_TFFF(base, value) (BME_BFI32(&SPI_SR_REG(base), ((uint32_t)(value) << SPI_SR_TFFF_SHIFT), SPI_SR_TFFF_SHIFT, SPI_SR_TFFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_SR, field TFUF[27] (W1C) |
| * |
| * Indicates an underflow condition in the TX FIFO. The transmit underflow |
| * condition is detected only for SPI blocks operating in Slave mode and SPI |
| * configuration. TFUF is set when the TX FIFO of the module operating in SPI Slave mode |
| * is empty and an external SPI master initiates a transfer. The TFUF bit remains |
| * set until cleared by writing 1 to it. |
| * |
| * Values: |
| * - 0b0 - No TX FIFO underflow. |
| * - 0b1 - TX FIFO underflow has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_TFUF field. */ |
| #define SPI_RD_SR_TFUF(base) ((SPI_SR_REG(base) & SPI_SR_TFUF_MASK) >> SPI_SR_TFUF_SHIFT) |
| #define SPI_BRD_SR_TFUF(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_TFUF_SHIFT, SPI_SR_TFUF_WIDTH)) |
| |
| /*! @brief Set the TFUF field to a new value. */ |
| #define SPI_WR_SR_TFUF(base, value) (SPI_RMW_SR(base, (SPI_SR_TFUF_MASK | SPI_SR_RFDF_MASK | SPI_SR_RFOF_MASK | SPI_SR_TFFF_MASK | SPI_SR_EOQF_MASK | SPI_SR_TXRXS_MASK | SPI_SR_TCF_MASK), SPI_SR_TFUF(value))) |
| #define SPI_BWR_SR_TFUF(base, value) (BME_BFI32(&SPI_SR_REG(base), ((uint32_t)(value) << SPI_SR_TFUF_SHIFT), SPI_SR_TFUF_SHIFT, SPI_SR_TFUF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_SR, field EOQF[28] (W1C) |
| * |
| * Indicates that the last entry in a queue has been transmitted when the module |
| * is in Master mode. The EOQF bit is set when the TX FIFO entry has the EOQ bit |
| * set in the command halfword and the end of the transfer is reached. The EOQF |
| * bit remains set until cleared by writing a 1 to it. When the EOQF bit is set, |
| * the TXRXS bit is automatically cleared. |
| * |
| * Values: |
| * - 0b0 - EOQ is not set in the executing command. |
| * - 0b1 - EOQ is set in the executing SPI command. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_EOQF field. */ |
| #define SPI_RD_SR_EOQF(base) ((SPI_SR_REG(base) & SPI_SR_EOQF_MASK) >> SPI_SR_EOQF_SHIFT) |
| #define SPI_BRD_SR_EOQF(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_EOQF_SHIFT, SPI_SR_EOQF_WIDTH)) |
| |
| /*! @brief Set the EOQF field to a new value. */ |
| #define SPI_WR_SR_EOQF(base, value) (SPI_RMW_SR(base, (SPI_SR_EOQF_MASK | SPI_SR_RFDF_MASK | SPI_SR_RFOF_MASK | SPI_SR_TFFF_MASK | SPI_SR_TFUF_MASK | SPI_SR_TXRXS_MASK | SPI_SR_TCF_MASK), SPI_SR_EOQF(value))) |
| #define SPI_BWR_SR_EOQF(base, value) (BME_BFI32(&SPI_SR_REG(base), ((uint32_t)(value) << SPI_SR_EOQF_SHIFT), SPI_SR_EOQF_SHIFT, SPI_SR_EOQF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_SR, field TXRXS[30] (W1C) |
| * |
| * Reflects the run status of the module. |
| * |
| * Values: |
| * - 0b0 - Transmit and receive operations are disabled (The module is in |
| * Stopped state). |
| * - 0b1 - Transmit and receive operations are enabled (The module is in Running |
| * state). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_TXRXS field. */ |
| #define SPI_RD_SR_TXRXS(base) ((SPI_SR_REG(base) & SPI_SR_TXRXS_MASK) >> SPI_SR_TXRXS_SHIFT) |
| #define SPI_BRD_SR_TXRXS(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_TXRXS_SHIFT, SPI_SR_TXRXS_WIDTH)) |
| |
| /*! @brief Set the TXRXS field to a new value. */ |
| #define SPI_WR_SR_TXRXS(base, value) (SPI_RMW_SR(base, (SPI_SR_TXRXS_MASK | SPI_SR_RFDF_MASK | SPI_SR_RFOF_MASK | SPI_SR_TFFF_MASK | SPI_SR_TFUF_MASK | SPI_SR_EOQF_MASK | SPI_SR_TCF_MASK), SPI_SR_TXRXS(value))) |
| #define SPI_BWR_SR_TXRXS(base, value) (BME_BFI32(&SPI_SR_REG(base), ((uint32_t)(value) << SPI_SR_TXRXS_SHIFT), SPI_SR_TXRXS_SHIFT, SPI_SR_TXRXS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_SR, field TCF[31] (W1C) |
| * |
| * Indicates that all bits in a frame have been shifted out. TCF remains set |
| * until it is cleared by writing a 1 to it. |
| * |
| * Values: |
| * - 0b0 - Transfer not complete. |
| * - 0b1 - Transfer complete. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_SR_TCF field. */ |
| #define SPI_RD_SR_TCF(base) ((SPI_SR_REG(base) & SPI_SR_TCF_MASK) >> SPI_SR_TCF_SHIFT) |
| #define SPI_BRD_SR_TCF(base) (BME_UBFX32(&SPI_SR_REG(base), SPI_SR_TCF_SHIFT, SPI_SR_TCF_WIDTH)) |
| |
| /*! @brief Set the TCF field to a new value. */ |
| #define SPI_WR_SR_TCF(base, value) (SPI_RMW_SR(base, (SPI_SR_TCF_MASK | SPI_SR_RFDF_MASK | SPI_SR_RFOF_MASK | SPI_SR_TFFF_MASK | SPI_SR_TFUF_MASK | SPI_SR_EOQF_MASK | SPI_SR_TXRXS_MASK), SPI_SR_TCF(value))) |
| #define SPI_BWR_SR_TCF(base, value) (BME_BFI32(&SPI_SR_REG(base), ((uint32_t)(value) << SPI_SR_TCF_SHIFT), SPI_SR_TCF_SHIFT, SPI_SR_TCF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_RSER - DMA/Interrupt Request Select and Enable Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_RSER - DMA/Interrupt Request Select and Enable Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * RSER controls DMA and interrupt requests. Do not write to the RSER while the |
| * module is in the Running state. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_RSER register |
| */ |
| /*@{*/ |
| #define SPI_RD_RSER(base) (SPI_RSER_REG(base)) |
| #define SPI_WR_RSER(base, value) (SPI_RSER_REG(base) = (value)) |
| #define SPI_RMW_RSER(base, mask, value) (SPI_WR_RSER(base, (SPI_RD_RSER(base) & ~(mask)) | (value))) |
| #define SPI_SET_RSER(base, value) (BME_OR32(&SPI_RSER_REG(base), (uint32_t)(value))) |
| #define SPI_CLR_RSER(base, value) (BME_AND32(&SPI_RSER_REG(base), (uint32_t)(~(value)))) |
| #define SPI_TOG_RSER(base, value) (BME_XOR32(&SPI_RSER_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_RSER bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_RSER, field RFDF_DIRS[16] (RW) |
| * |
| * Selects between generating a DMA request or an interrupt request. When the |
| * RFDF flag bit in the SR is set, and the RFDF_RE bit in the RSER is set, the |
| * RFDF_DIRS bit selects between generating an interrupt request or a DMA request. |
| * |
| * Values: |
| * - 0b0 - Interrupt request. |
| * - 0b1 - DMA request. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_RSER_RFDF_DIRS field. */ |
| #define SPI_RD_RSER_RFDF_DIRS(base) ((SPI_RSER_REG(base) & SPI_RSER_RFDF_DIRS_MASK) >> SPI_RSER_RFDF_DIRS_SHIFT) |
| #define SPI_BRD_RSER_RFDF_DIRS(base) (BME_UBFX32(&SPI_RSER_REG(base), SPI_RSER_RFDF_DIRS_SHIFT, SPI_RSER_RFDF_DIRS_WIDTH)) |
| |
| /*! @brief Set the RFDF_DIRS field to a new value. */ |
| #define SPI_WR_RSER_RFDF_DIRS(base, value) (SPI_RMW_RSER(base, SPI_RSER_RFDF_DIRS_MASK, SPI_RSER_RFDF_DIRS(value))) |
| #define SPI_BWR_RSER_RFDF_DIRS(base, value) (BME_BFI32(&SPI_RSER_REG(base), ((uint32_t)(value) << SPI_RSER_RFDF_DIRS_SHIFT), SPI_RSER_RFDF_DIRS_SHIFT, SPI_RSER_RFDF_DIRS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_RSER, field RFDF_RE[17] (RW) |
| * |
| * Enables the RFDF flag in the SR to generate a request. The RFDF_DIRS bit |
| * selects between generating an interrupt request or a DMA request. |
| * |
| * Values: |
| * - 0b0 - RFDF interrupt or DMA requests are disabled. |
| * - 0b1 - RFDF interrupt or DMA requests are enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_RSER_RFDF_RE field. */ |
| #define SPI_RD_RSER_RFDF_RE(base) ((SPI_RSER_REG(base) & SPI_RSER_RFDF_RE_MASK) >> SPI_RSER_RFDF_RE_SHIFT) |
| #define SPI_BRD_RSER_RFDF_RE(base) (BME_UBFX32(&SPI_RSER_REG(base), SPI_RSER_RFDF_RE_SHIFT, SPI_RSER_RFDF_RE_WIDTH)) |
| |
| /*! @brief Set the RFDF_RE field to a new value. */ |
| #define SPI_WR_RSER_RFDF_RE(base, value) (SPI_RMW_RSER(base, SPI_RSER_RFDF_RE_MASK, SPI_RSER_RFDF_RE(value))) |
| #define SPI_BWR_RSER_RFDF_RE(base, value) (BME_BFI32(&SPI_RSER_REG(base), ((uint32_t)(value) << SPI_RSER_RFDF_RE_SHIFT), SPI_RSER_RFDF_RE_SHIFT, SPI_RSER_RFDF_RE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_RSER, field RFOF_RE[19] (RW) |
| * |
| * Enables the RFOF flag in the SR to generate an interrupt request. |
| * |
| * Values: |
| * - 0b0 - RFOF interrupt requests are disabled. |
| * - 0b1 - RFOF interrupt requests are enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_RSER_RFOF_RE field. */ |
| #define SPI_RD_RSER_RFOF_RE(base) ((SPI_RSER_REG(base) & SPI_RSER_RFOF_RE_MASK) >> SPI_RSER_RFOF_RE_SHIFT) |
| #define SPI_BRD_RSER_RFOF_RE(base) (BME_UBFX32(&SPI_RSER_REG(base), SPI_RSER_RFOF_RE_SHIFT, SPI_RSER_RFOF_RE_WIDTH)) |
| |
| /*! @brief Set the RFOF_RE field to a new value. */ |
| #define SPI_WR_RSER_RFOF_RE(base, value) (SPI_RMW_RSER(base, SPI_RSER_RFOF_RE_MASK, SPI_RSER_RFOF_RE(value))) |
| #define SPI_BWR_RSER_RFOF_RE(base, value) (BME_BFI32(&SPI_RSER_REG(base), ((uint32_t)(value) << SPI_RSER_RFOF_RE_SHIFT), SPI_RSER_RFOF_RE_SHIFT, SPI_RSER_RFOF_RE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_RSER, field TFFF_DIRS[24] (RW) |
| * |
| * Selects between generating a DMA request or an interrupt request. When |
| * SR[TFFF] and RSER[TFFF_RE] are set, this field selects between generating an |
| * interrupt request or a DMA request. |
| * |
| * Values: |
| * - 0b0 - TFFF flag generates interrupt requests. |
| * - 0b1 - TFFF flag generates DMA requests. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_RSER_TFFF_DIRS field. */ |
| #define SPI_RD_RSER_TFFF_DIRS(base) ((SPI_RSER_REG(base) & SPI_RSER_TFFF_DIRS_MASK) >> SPI_RSER_TFFF_DIRS_SHIFT) |
| #define SPI_BRD_RSER_TFFF_DIRS(base) (BME_UBFX32(&SPI_RSER_REG(base), SPI_RSER_TFFF_DIRS_SHIFT, SPI_RSER_TFFF_DIRS_WIDTH)) |
| |
| /*! @brief Set the TFFF_DIRS field to a new value. */ |
| #define SPI_WR_RSER_TFFF_DIRS(base, value) (SPI_RMW_RSER(base, SPI_RSER_TFFF_DIRS_MASK, SPI_RSER_TFFF_DIRS(value))) |
| #define SPI_BWR_RSER_TFFF_DIRS(base, value) (BME_BFI32(&SPI_RSER_REG(base), ((uint32_t)(value) << SPI_RSER_TFFF_DIRS_SHIFT), SPI_RSER_TFFF_DIRS_SHIFT, SPI_RSER_TFFF_DIRS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_RSER, field TFFF_RE[25] (RW) |
| * |
| * Enables the TFFF flag in the SR to generate a request. The TFFF_DIRS bit |
| * selects between generating an interrupt request or a DMA request. |
| * |
| * Values: |
| * - 0b0 - TFFF interrupts or DMA requests are disabled. |
| * - 0b1 - TFFF interrupts or DMA requests are enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_RSER_TFFF_RE field. */ |
| #define SPI_RD_RSER_TFFF_RE(base) ((SPI_RSER_REG(base) & SPI_RSER_TFFF_RE_MASK) >> SPI_RSER_TFFF_RE_SHIFT) |
| #define SPI_BRD_RSER_TFFF_RE(base) (BME_UBFX32(&SPI_RSER_REG(base), SPI_RSER_TFFF_RE_SHIFT, SPI_RSER_TFFF_RE_WIDTH)) |
| |
| /*! @brief Set the TFFF_RE field to a new value. */ |
| #define SPI_WR_RSER_TFFF_RE(base, value) (SPI_RMW_RSER(base, SPI_RSER_TFFF_RE_MASK, SPI_RSER_TFFF_RE(value))) |
| #define SPI_BWR_RSER_TFFF_RE(base, value) (BME_BFI32(&SPI_RSER_REG(base), ((uint32_t)(value) << SPI_RSER_TFFF_RE_SHIFT), SPI_RSER_TFFF_RE_SHIFT, SPI_RSER_TFFF_RE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_RSER, field TFUF_RE[27] (RW) |
| * |
| * Enables the TFUF flag in the SR to generate an interrupt request. |
| * |
| * Values: |
| * - 0b0 - TFUF interrupt requests are disabled. |
| * - 0b1 - TFUF interrupt requests are enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_RSER_TFUF_RE field. */ |
| #define SPI_RD_RSER_TFUF_RE(base) ((SPI_RSER_REG(base) & SPI_RSER_TFUF_RE_MASK) >> SPI_RSER_TFUF_RE_SHIFT) |
| #define SPI_BRD_RSER_TFUF_RE(base) (BME_UBFX32(&SPI_RSER_REG(base), SPI_RSER_TFUF_RE_SHIFT, SPI_RSER_TFUF_RE_WIDTH)) |
| |
| /*! @brief Set the TFUF_RE field to a new value. */ |
| #define SPI_WR_RSER_TFUF_RE(base, value) (SPI_RMW_RSER(base, SPI_RSER_TFUF_RE_MASK, SPI_RSER_TFUF_RE(value))) |
| #define SPI_BWR_RSER_TFUF_RE(base, value) (BME_BFI32(&SPI_RSER_REG(base), ((uint32_t)(value) << SPI_RSER_TFUF_RE_SHIFT), SPI_RSER_TFUF_RE_SHIFT, SPI_RSER_TFUF_RE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_RSER, field EOQF_RE[28] (RW) |
| * |
| * Enables the EOQF flag in the SR to generate an interrupt request. |
| * |
| * Values: |
| * - 0b0 - EOQF interrupt requests are disabled. |
| * - 0b1 - EOQF interrupt requests are enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_RSER_EOQF_RE field. */ |
| #define SPI_RD_RSER_EOQF_RE(base) ((SPI_RSER_REG(base) & SPI_RSER_EOQF_RE_MASK) >> SPI_RSER_EOQF_RE_SHIFT) |
| #define SPI_BRD_RSER_EOQF_RE(base) (BME_UBFX32(&SPI_RSER_REG(base), SPI_RSER_EOQF_RE_SHIFT, SPI_RSER_EOQF_RE_WIDTH)) |
| |
| /*! @brief Set the EOQF_RE field to a new value. */ |
| #define SPI_WR_RSER_EOQF_RE(base, value) (SPI_RMW_RSER(base, SPI_RSER_EOQF_RE_MASK, SPI_RSER_EOQF_RE(value))) |
| #define SPI_BWR_RSER_EOQF_RE(base, value) (BME_BFI32(&SPI_RSER_REG(base), ((uint32_t)(value) << SPI_RSER_EOQF_RE_SHIFT), SPI_RSER_EOQF_RE_SHIFT, SPI_RSER_EOQF_RE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_RSER, field TCF_RE[31] (RW) |
| * |
| * Enables TCF flag in the SR to generate an interrupt request. |
| * |
| * Values: |
| * - 0b0 - TCF interrupt requests are disabled. |
| * - 0b1 - TCF interrupt requests are enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_RSER_TCF_RE field. */ |
| #define SPI_RD_RSER_TCF_RE(base) ((SPI_RSER_REG(base) & SPI_RSER_TCF_RE_MASK) >> SPI_RSER_TCF_RE_SHIFT) |
| #define SPI_BRD_RSER_TCF_RE(base) (BME_UBFX32(&SPI_RSER_REG(base), SPI_RSER_TCF_RE_SHIFT, SPI_RSER_TCF_RE_WIDTH)) |
| |
| /*! @brief Set the TCF_RE field to a new value. */ |
| #define SPI_WR_RSER_TCF_RE(base, value) (SPI_RMW_RSER(base, SPI_RSER_TCF_RE_MASK, SPI_RSER_TCF_RE(value))) |
| #define SPI_BWR_RSER_TCF_RE(base, value) (BME_BFI32(&SPI_RSER_REG(base), ((uint32_t)(value) << SPI_RSER_TCF_RE_SHIFT), SPI_RSER_TCF_RE_SHIFT, SPI_RSER_TCF_RE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_PUSHR - PUSH TX FIFO Register In Master Mode |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_PUSHR - PUSH TX FIFO Register In Master Mode (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Specifies data to be transferred to the TX FIFO. An 8- or 16-bit write access |
| * transfers all 32 bits to the TX FIFO. In Master mode, the register transfers |
| * 16 bits of data and 16 bits of command information. In Slave mode, all 32 bits |
| * can be used as data, supporting up to 32-bit frame operation. A read access |
| * of PUSHR returns the topmost TX FIFO entry. When the module is disabled, |
| * writing to this register does not update the FIFO. Therefore, any reads performed |
| * while the module is disabled return the last PUSHR write performed while the |
| * module was still enabled. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_PUSHR register |
| */ |
| /*@{*/ |
| #define SPI_RD_PUSHR(base) (SPI_PUSHR_REG(base)) |
| #define SPI_WR_PUSHR(base, value) (SPI_PUSHR_REG(base) = (value)) |
| #define SPI_RMW_PUSHR(base, mask, value) (SPI_WR_PUSHR(base, (SPI_RD_PUSHR(base) & ~(mask)) | (value))) |
| #define SPI_SET_PUSHR(base, value) (BME_OR32(&SPI_PUSHR_REG(base), (uint32_t)(value))) |
| #define SPI_CLR_PUSHR(base, value) (BME_AND32(&SPI_PUSHR_REG(base), (uint32_t)(~(value)))) |
| #define SPI_TOG_PUSHR(base, value) (BME_XOR32(&SPI_PUSHR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_PUSHR bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_PUSHR, field TXDATA[15:0] (RW) |
| * |
| * Holds SPI data to be transferred according to the associated SPI command. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_PUSHR_TXDATA field. */ |
| #define SPI_RD_PUSHR_TXDATA(base) ((SPI_PUSHR_REG(base) & SPI_PUSHR_TXDATA_MASK) >> SPI_PUSHR_TXDATA_SHIFT) |
| #define SPI_BRD_PUSHR_TXDATA(base) (BME_UBFX32(&SPI_PUSHR_REG(base), SPI_PUSHR_TXDATA_SHIFT, SPI_PUSHR_TXDATA_WIDTH)) |
| |
| /*! @brief Set the TXDATA field to a new value. */ |
| #define SPI_WR_PUSHR_TXDATA(base, value) (SPI_RMW_PUSHR(base, SPI_PUSHR_TXDATA_MASK, SPI_PUSHR_TXDATA(value))) |
| #define SPI_BWR_PUSHR_TXDATA(base, value) (BME_BFI32(&SPI_PUSHR_REG(base), ((uint32_t)(value) << SPI_PUSHR_TXDATA_SHIFT), SPI_PUSHR_TXDATA_SHIFT, SPI_PUSHR_TXDATA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_PUSHR, field PCS[19:16] (RW) |
| * |
| * Select which PCS signals are to be asserted for the transfer. Refer to the |
| * chip-specific SPI information for the number of PCS signals used in this MCU. |
| * |
| * Values: |
| * - 0b0000 - Negate the PCS[x] signal |
| * - 0b0001 - Assert the PCS[x] signal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_PUSHR_PCS field. */ |
| #define SPI_RD_PUSHR_PCS(base) ((SPI_PUSHR_REG(base) & SPI_PUSHR_PCS_MASK) >> SPI_PUSHR_PCS_SHIFT) |
| #define SPI_BRD_PUSHR_PCS(base) (BME_UBFX32(&SPI_PUSHR_REG(base), SPI_PUSHR_PCS_SHIFT, SPI_PUSHR_PCS_WIDTH)) |
| |
| /*! @brief Set the PCS field to a new value. */ |
| #define SPI_WR_PUSHR_PCS(base, value) (SPI_RMW_PUSHR(base, SPI_PUSHR_PCS_MASK, SPI_PUSHR_PCS(value))) |
| #define SPI_BWR_PUSHR_PCS(base, value) (BME_BFI32(&SPI_PUSHR_REG(base), ((uint32_t)(value) << SPI_PUSHR_PCS_SHIFT), SPI_PUSHR_PCS_SHIFT, SPI_PUSHR_PCS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_PUSHR, field CTCNT[26] (RW) |
| * |
| * Clears the TCNT field in the TCR register. The TCNT field is cleared before |
| * the module starts transmitting the current SPI frame. |
| * |
| * Values: |
| * - 0b0 - Do not clear the TCR[TCNT] field. |
| * - 0b1 - Clear the TCR[TCNT] field. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_PUSHR_CTCNT field. */ |
| #define SPI_RD_PUSHR_CTCNT(base) ((SPI_PUSHR_REG(base) & SPI_PUSHR_CTCNT_MASK) >> SPI_PUSHR_CTCNT_SHIFT) |
| #define SPI_BRD_PUSHR_CTCNT(base) (BME_UBFX32(&SPI_PUSHR_REG(base), SPI_PUSHR_CTCNT_SHIFT, SPI_PUSHR_CTCNT_WIDTH)) |
| |
| /*! @brief Set the CTCNT field to a new value. */ |
| #define SPI_WR_PUSHR_CTCNT(base, value) (SPI_RMW_PUSHR(base, SPI_PUSHR_CTCNT_MASK, SPI_PUSHR_CTCNT(value))) |
| #define SPI_BWR_PUSHR_CTCNT(base, value) (BME_BFI32(&SPI_PUSHR_REG(base), ((uint32_t)(value) << SPI_PUSHR_CTCNT_SHIFT), SPI_PUSHR_CTCNT_SHIFT, SPI_PUSHR_CTCNT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_PUSHR, field EOQ[27] (RW) |
| * |
| * Host software uses this bit to signal to the module that the current SPI |
| * transfer is the last in a queue. At the end of the transfer, the EOQF bit in the |
| * SR is set. |
| * |
| * Values: |
| * - 0b0 - The SPI data is not the last data to transfer. |
| * - 0b1 - The SPI data is the last data to transfer. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_PUSHR_EOQ field. */ |
| #define SPI_RD_PUSHR_EOQ(base) ((SPI_PUSHR_REG(base) & SPI_PUSHR_EOQ_MASK) >> SPI_PUSHR_EOQ_SHIFT) |
| #define SPI_BRD_PUSHR_EOQ(base) (BME_UBFX32(&SPI_PUSHR_REG(base), SPI_PUSHR_EOQ_SHIFT, SPI_PUSHR_EOQ_WIDTH)) |
| |
| /*! @brief Set the EOQ field to a new value. */ |
| #define SPI_WR_PUSHR_EOQ(base, value) (SPI_RMW_PUSHR(base, SPI_PUSHR_EOQ_MASK, SPI_PUSHR_EOQ(value))) |
| #define SPI_BWR_PUSHR_EOQ(base, value) (BME_BFI32(&SPI_PUSHR_REG(base), ((uint32_t)(value) << SPI_PUSHR_EOQ_SHIFT), SPI_PUSHR_EOQ_SHIFT, SPI_PUSHR_EOQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_PUSHR, field CTAS[30:28] (RW) |
| * |
| * Selects which CTAR to use in master mode to specify the transfer attributes |
| * for the associated SPI frame. In SPI Slave mode, CTAR0 is used. See the chip |
| * configuration details to determine how many CTARs this device has. You should |
| * not program a value in this field for a register that is not present. |
| * |
| * Values: |
| * - 0b000 - CTAR0 |
| * - 0b001 - CTAR1 |
| * - 0b010 - Reserved |
| * - 0b011 - Reserved |
| * - 0b100 - Reserved |
| * - 0b101 - Reserved |
| * - 0b110 - Reserved |
| * - 0b111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_PUSHR_CTAS field. */ |
| #define SPI_RD_PUSHR_CTAS(base) ((SPI_PUSHR_REG(base) & SPI_PUSHR_CTAS_MASK) >> SPI_PUSHR_CTAS_SHIFT) |
| #define SPI_BRD_PUSHR_CTAS(base) (BME_UBFX32(&SPI_PUSHR_REG(base), SPI_PUSHR_CTAS_SHIFT, SPI_PUSHR_CTAS_WIDTH)) |
| |
| /*! @brief Set the CTAS field to a new value. */ |
| #define SPI_WR_PUSHR_CTAS(base, value) (SPI_RMW_PUSHR(base, SPI_PUSHR_CTAS_MASK, SPI_PUSHR_CTAS(value))) |
| #define SPI_BWR_PUSHR_CTAS(base, value) (BME_BFI32(&SPI_PUSHR_REG(base), ((uint32_t)(value) << SPI_PUSHR_CTAS_SHIFT), SPI_PUSHR_CTAS_SHIFT, SPI_PUSHR_CTAS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_PUSHR, field CONT[31] (RW) |
| * |
| * Selects a continuous selection format. The bit is used in SPI Master mode. |
| * The bit enables the selected PCS signals to remain asserted between transfers. |
| * |
| * Values: |
| * - 0b0 - Return PCSn signals to their inactive state between transfers. |
| * - 0b1 - Keep PCSn signals asserted between transfers. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_PUSHR_CONT field. */ |
| #define SPI_RD_PUSHR_CONT(base) ((SPI_PUSHR_REG(base) & SPI_PUSHR_CONT_MASK) >> SPI_PUSHR_CONT_SHIFT) |
| #define SPI_BRD_PUSHR_CONT(base) (BME_UBFX32(&SPI_PUSHR_REG(base), SPI_PUSHR_CONT_SHIFT, SPI_PUSHR_CONT_WIDTH)) |
| |
| /*! @brief Set the CONT field to a new value. */ |
| #define SPI_WR_PUSHR_CONT(base, value) (SPI_RMW_PUSHR(base, SPI_PUSHR_CONT_MASK, SPI_PUSHR_CONT(value))) |
| #define SPI_BWR_PUSHR_CONT(base, value) (BME_BFI32(&SPI_PUSHR_REG(base), ((uint32_t)(value) << SPI_PUSHR_CONT_SHIFT), SPI_PUSHR_CONT_SHIFT, SPI_PUSHR_CONT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_PUSHR_SLAVE - PUSH TX FIFO Register In Slave Mode |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_PUSHR_SLAVE - PUSH TX FIFO Register In Slave Mode (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Specifies data to be transferred to the TX FIFO. An 8- or 16-bit write access |
| * to PUSHR transfers all 32 bits to the TX FIFO. In master mode, the register |
| * transfers 16 bits of data and 16 bits of command information to the TX FIFO. In |
| * slave mode, all 32 register bits can be used as data, supporting up to 32-bit |
| * SPI Frame operation. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_PUSHR_SLAVE register |
| */ |
| /*@{*/ |
| #define SPI_RD_PUSHR_SLAVE(base) (SPI_PUSHR_SLAVE_REG(base)) |
| #define SPI_WR_PUSHR_SLAVE(base, value) (SPI_PUSHR_SLAVE_REG(base) = (value)) |
| #define SPI_RMW_PUSHR_SLAVE(base, mask, value) (SPI_WR_PUSHR_SLAVE(base, (SPI_RD_PUSHR_SLAVE(base) & ~(mask)) | (value))) |
| #define SPI_SET_PUSHR_SLAVE(base, value) (BME_OR32(&SPI_PUSHR_SLAVE_REG(base), (uint32_t)(value))) |
| #define SPI_CLR_PUSHR_SLAVE(base, value) (BME_AND32(&SPI_PUSHR_SLAVE_REG(base), (uint32_t)(~(value)))) |
| #define SPI_TOG_PUSHR_SLAVE(base, value) (BME_XOR32(&SPI_PUSHR_SLAVE_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_POPR - POP RX FIFO Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_POPR - POP RX FIFO Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * POPR is used to read the RX FIFO. Eight- or sixteen-bit read accesses to the |
| * POPR have the same effect on the RX FIFO as 32-bit read accesses. A write to |
| * this register will generate a Transfer Error. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_POPR register |
| */ |
| /*@{*/ |
| #define SPI_RD_POPR(base) (SPI_POPR_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_TXFR0 - Transmit FIFO Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_TXFR0 - Transmit FIFO Registers (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * TXFRn registers provide visibility into the TX FIFO for debugging purposes. |
| * Each register is an entry in the TX FIFO. The registers are read-only and |
| * cannot be modified. Reading the TXFRx registers does not alter the state of the TX |
| * FIFO. The number of registers used to implement the TX FIFO is |
| * device-specific. If a four-entry TX FIFO is implemented, TXFR0-TXFR3 are accessible. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_TXFR0 register |
| */ |
| /*@{*/ |
| #define SPI_RD_TXFR0(base) (SPI_TXFR0_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_TXFR0 bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_TXFR0, field TXDATA[15:0] (RO) |
| * |
| * Contains the SPI data to be shifted out. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_TXFR0_TXDATA field. */ |
| #define SPI_RD_TXFR0_TXDATA(base) ((SPI_TXFR0_REG(base) & SPI_TXFR0_TXDATA_MASK) >> SPI_TXFR0_TXDATA_SHIFT) |
| #define SPI_BRD_TXFR0_TXDATA(base) (BME_UBFX32(&SPI_TXFR0_REG(base), SPI_TXFR0_TXDATA_SHIFT, SPI_TXFR0_TXDATA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_TXFR0, field TXCMD_TXDATA[31:16] (RO) |
| * |
| * In Master mode the TXCMD field contains the command that sets the transfer |
| * attributes for the SPI data. In Slave mode, the TXDATA contains 16 MSB bits of |
| * the SPI data to be shifted out. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_TXFR0_TXCMD_TXDATA field. */ |
| #define SPI_RD_TXFR0_TXCMD_TXDATA(base) ((SPI_TXFR0_REG(base) & SPI_TXFR0_TXCMD_TXDATA_MASK) >> SPI_TXFR0_TXCMD_TXDATA_SHIFT) |
| #define SPI_BRD_TXFR0_TXCMD_TXDATA(base) (BME_UBFX32(&SPI_TXFR0_REG(base), SPI_TXFR0_TXCMD_TXDATA_SHIFT, SPI_TXFR0_TXCMD_TXDATA_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_TXFR1 - Transmit FIFO Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_TXFR1 - Transmit FIFO Registers (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * TXFRn registers provide visibility into the TX FIFO for debugging purposes. |
| * Each register is an entry in the TX FIFO. The registers are read-only and |
| * cannot be modified. Reading the TXFRx registers does not alter the state of the TX |
| * FIFO. The number of registers used to implement the TX FIFO is |
| * device-specific. If a four-entry TX FIFO is implemented, TXFR0-TXFR3 are accessible. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_TXFR1 register |
| */ |
| /*@{*/ |
| #define SPI_RD_TXFR1(base) (SPI_TXFR1_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_TXFR1 bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_TXFR1, field TXDATA[15:0] (RO) |
| * |
| * Contains the SPI data to be shifted out. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_TXFR1_TXDATA field. */ |
| #define SPI_RD_TXFR1_TXDATA(base) ((SPI_TXFR1_REG(base) & SPI_TXFR1_TXDATA_MASK) >> SPI_TXFR1_TXDATA_SHIFT) |
| #define SPI_BRD_TXFR1_TXDATA(base) (BME_UBFX32(&SPI_TXFR1_REG(base), SPI_TXFR1_TXDATA_SHIFT, SPI_TXFR1_TXDATA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_TXFR1, field TXCMD_TXDATA[31:16] (RO) |
| * |
| * In Master mode the TXCMD field contains the command that sets the transfer |
| * attributes for the SPI data. In Slave mode, the TXDATA contains 16 MSB bits of |
| * the SPI data to be shifted out. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_TXFR1_TXCMD_TXDATA field. */ |
| #define SPI_RD_TXFR1_TXCMD_TXDATA(base) ((SPI_TXFR1_REG(base) & SPI_TXFR1_TXCMD_TXDATA_MASK) >> SPI_TXFR1_TXCMD_TXDATA_SHIFT) |
| #define SPI_BRD_TXFR1_TXCMD_TXDATA(base) (BME_UBFX32(&SPI_TXFR1_REG(base), SPI_TXFR1_TXCMD_TXDATA_SHIFT, SPI_TXFR1_TXCMD_TXDATA_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_TXFR2 - Transmit FIFO Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_TXFR2 - Transmit FIFO Registers (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * TXFRn registers provide visibility into the TX FIFO for debugging purposes. |
| * Each register is an entry in the TX FIFO. The registers are read-only and |
| * cannot be modified. Reading the TXFRx registers does not alter the state of the TX |
| * FIFO. The number of registers used to implement the TX FIFO is |
| * device-specific. If a four-entry TX FIFO is implemented, TXFR0-TXFR3 are accessible. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_TXFR2 register |
| */ |
| /*@{*/ |
| #define SPI_RD_TXFR2(base) (SPI_TXFR2_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_TXFR2 bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_TXFR2, field TXDATA[15:0] (RO) |
| * |
| * Contains the SPI data to be shifted out. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_TXFR2_TXDATA field. */ |
| #define SPI_RD_TXFR2_TXDATA(base) ((SPI_TXFR2_REG(base) & SPI_TXFR2_TXDATA_MASK) >> SPI_TXFR2_TXDATA_SHIFT) |
| #define SPI_BRD_TXFR2_TXDATA(base) (BME_UBFX32(&SPI_TXFR2_REG(base), SPI_TXFR2_TXDATA_SHIFT, SPI_TXFR2_TXDATA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_TXFR2, field TXCMD_TXDATA[31:16] (RO) |
| * |
| * In Master mode the TXCMD field contains the command that sets the transfer |
| * attributes for the SPI data. In Slave mode, the TXDATA contains 16 MSB bits of |
| * the SPI data to be shifted out. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_TXFR2_TXCMD_TXDATA field. */ |
| #define SPI_RD_TXFR2_TXCMD_TXDATA(base) ((SPI_TXFR2_REG(base) & SPI_TXFR2_TXCMD_TXDATA_MASK) >> SPI_TXFR2_TXCMD_TXDATA_SHIFT) |
| #define SPI_BRD_TXFR2_TXCMD_TXDATA(base) (BME_UBFX32(&SPI_TXFR2_REG(base), SPI_TXFR2_TXCMD_TXDATA_SHIFT, SPI_TXFR2_TXCMD_TXDATA_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_TXFR3 - Transmit FIFO Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_TXFR3 - Transmit FIFO Registers (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * TXFRn registers provide visibility into the TX FIFO for debugging purposes. |
| * Each register is an entry in the TX FIFO. The registers are read-only and |
| * cannot be modified. Reading the TXFRx registers does not alter the state of the TX |
| * FIFO. The number of registers used to implement the TX FIFO is |
| * device-specific. If a four-entry TX FIFO is implemented, TXFR0-TXFR3 are accessible. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_TXFR3 register |
| */ |
| /*@{*/ |
| #define SPI_RD_TXFR3(base) (SPI_TXFR3_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual SPI_TXFR3 bitfields |
| */ |
| |
| /*! |
| * @name Register SPI_TXFR3, field TXDATA[15:0] (RO) |
| * |
| * Contains the SPI data to be shifted out. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_TXFR3_TXDATA field. */ |
| #define SPI_RD_TXFR3_TXDATA(base) ((SPI_TXFR3_REG(base) & SPI_TXFR3_TXDATA_MASK) >> SPI_TXFR3_TXDATA_SHIFT) |
| #define SPI_BRD_TXFR3_TXDATA(base) (BME_UBFX32(&SPI_TXFR3_REG(base), SPI_TXFR3_TXDATA_SHIFT, SPI_TXFR3_TXDATA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register SPI_TXFR3, field TXCMD_TXDATA[31:16] (RO) |
| * |
| * In Master mode the TXCMD field contains the command that sets the transfer |
| * attributes for the SPI data. In Slave mode, the TXDATA contains 16 MSB bits of |
| * the SPI data to be shifted out. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the SPI_TXFR3_TXCMD_TXDATA field. */ |
| #define SPI_RD_TXFR3_TXCMD_TXDATA(base) ((SPI_TXFR3_REG(base) & SPI_TXFR3_TXCMD_TXDATA_MASK) >> SPI_TXFR3_TXCMD_TXDATA_SHIFT) |
| #define SPI_BRD_TXFR3_TXCMD_TXDATA(base) (BME_UBFX32(&SPI_TXFR3_REG(base), SPI_TXFR3_TXCMD_TXDATA_SHIFT, SPI_TXFR3_TXCMD_TXDATA_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_RXFR0 - Receive FIFO Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_RXFR0 - Receive FIFO Registers (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * RXFRn provide visibility into the RX FIFO for debugging purposes. Each |
| * register is an entry in the RX FIFO. The RXFR registers are read-only. Reading the |
| * RXFRx registers does not alter the state of the RX FIFO. The number of |
| * registers used to implement the RX FIFO is device-specific. For example, if a |
| * four-entry RX FIFO is implemented, RXFR0-RXFR3 are used. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_RXFR0 register |
| */ |
| /*@{*/ |
| #define SPI_RD_RXFR0(base) (SPI_RXFR0_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_RXFR1 - Receive FIFO Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_RXFR1 - Receive FIFO Registers (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * RXFRn provide visibility into the RX FIFO for debugging purposes. Each |
| * register is an entry in the RX FIFO. The RXFR registers are read-only. Reading the |
| * RXFRx registers does not alter the state of the RX FIFO. The number of |
| * registers used to implement the RX FIFO is device-specific. For example, if a |
| * four-entry RX FIFO is implemented, RXFR0-RXFR3 are used. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_RXFR1 register |
| */ |
| /*@{*/ |
| #define SPI_RD_RXFR1(base) (SPI_RXFR1_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_RXFR2 - Receive FIFO Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_RXFR2 - Receive FIFO Registers (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * RXFRn provide visibility into the RX FIFO for debugging purposes. Each |
| * register is an entry in the RX FIFO. The RXFR registers are read-only. Reading the |
| * RXFRx registers does not alter the state of the RX FIFO. The number of |
| * registers used to implement the RX FIFO is device-specific. For example, if a |
| * four-entry RX FIFO is implemented, RXFR0-RXFR3 are used. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_RXFR2 register |
| */ |
| /*@{*/ |
| #define SPI_RD_RXFR2(base) (SPI_RXFR2_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * SPI_RXFR3 - Receive FIFO Registers |
| ******************************************************************************/ |
| |
| /*! |
| * @brief SPI_RXFR3 - Receive FIFO Registers (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * RXFRn provide visibility into the RX FIFO for debugging purposes. Each |
| * register is an entry in the RX FIFO. The RXFR registers are read-only. Reading the |
| * RXFRx registers does not alter the state of the RX FIFO. The number of |
| * registers used to implement the RX FIFO is device-specific. For example, if a |
| * four-entry RX FIFO is implemented, RXFR0-RXFR3 are used. |
| */ |
| /*! |
| * @name Constants and macros for entire SPI_RXFR3 register |
| */ |
| /*@{*/ |
| #define SPI_RD_RXFR3(base) (SPI_RXFR3_REG(base)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 TPM |
| * |
| * Timer/PWM Module |
| * |
| * Registers defined in this header file: |
| * - TPM_SC - Status and Control |
| * - TPM_CNT - Counter |
| * - TPM_MOD - Modulo |
| * - TPM_CnSC - Channel (n) Status and Control |
| * - TPM_CnV - Channel (n) Value |
| * - TPM_STATUS - Capture and Compare Status |
| * - TPM_COMBINE - Combine Channel Register |
| * - TPM_FILTER - Filter Control |
| * - TPM_QDCTRL - Quadrature Decoder Control and Status |
| * - TPM_CONF - Configuration |
| */ |
| |
| #define TPM_INSTANCE_COUNT (3U) /*!< Number of instances of the TPM module. */ |
| #define TPM0_IDX (0U) /*!< Instance number for TPM0. */ |
| #define TPM1_IDX (1U) /*!< Instance number for TPM1. */ |
| #define TPM2_IDX (2U) /*!< Instance number for TPM2. */ |
| |
| /******************************************************************************* |
| * TPM_SC - Status and Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TPM_SC - Status and Control (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * SC contains the overflow status flag and control bits used to configure the |
| * interrupt enable, module configuration and prescaler factor. These controls |
| * relate to all channels within this module. |
| */ |
| /*! |
| * @name Constants and macros for entire TPM_SC register |
| */ |
| /*@{*/ |
| #define TPM_RD_SC(base) (TPM_SC_REG(base)) |
| #define TPM_WR_SC(base, value) (TPM_SC_REG(base) = (value)) |
| #define TPM_RMW_SC(base, mask, value) (TPM_WR_SC(base, (TPM_RD_SC(base) & ~(mask)) | (value))) |
| #define TPM_SET_SC(base, value) (BME_OR32(&TPM_SC_REG(base), (uint32_t)(value))) |
| #define TPM_CLR_SC(base, value) (BME_AND32(&TPM_SC_REG(base), (uint32_t)(~(value)))) |
| #define TPM_TOG_SC(base, value) (BME_XOR32(&TPM_SC_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TPM_SC bitfields |
| */ |
| |
| /*! |
| * @name Register TPM_SC, field PS[2:0] (RW) |
| * |
| * Selects one of 8 division factors for the clock mode selected by CMOD. This |
| * field is write protected. It can be written only when the counter is disabled. |
| * |
| * Values: |
| * - 0b000 - Divide by 1 |
| * - 0b001 - Divide by 2 |
| * - 0b010 - Divide by 4 |
| * - 0b011 - Divide by 8 |
| * - 0b100 - Divide by 16 |
| * - 0b101 - Divide by 32 |
| * - 0b110 - Divide by 64 |
| * - 0b111 - Divide by 128 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_SC_PS field. */ |
| #define TPM_RD_SC_PS(base) ((TPM_SC_REG(base) & TPM_SC_PS_MASK) >> TPM_SC_PS_SHIFT) |
| #define TPM_BRD_SC_PS(base) (BME_UBFX32(&TPM_SC_REG(base), TPM_SC_PS_SHIFT, TPM_SC_PS_WIDTH)) |
| |
| /*! @brief Set the PS field to a new value. */ |
| #define TPM_WR_SC_PS(base, value) (TPM_RMW_SC(base, (TPM_SC_PS_MASK | TPM_SC_TOF_MASK), TPM_SC_PS(value))) |
| #define TPM_BWR_SC_PS(base, value) (BME_BFI32(&TPM_SC_REG(base), ((uint32_t)(value) << TPM_SC_PS_SHIFT), TPM_SC_PS_SHIFT, TPM_SC_PS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_SC, field CMOD[4:3] (RW) |
| * |
| * Selects the TPM counter clock modes. When disabling the counter, this field |
| * remain set until acknolwedged in the TPM clock domain. |
| * |
| * Values: |
| * - 0b00 - TPM counter is disabled |
| * - 0b01 - TPM counter increments on every TPM counter clock |
| * - 0b10 - TPM counter increments on rising edge of TPM_EXTCLK synchronized to |
| * the TPM counter clock |
| * - 0b11 - Reserved. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_SC_CMOD field. */ |
| #define TPM_RD_SC_CMOD(base) ((TPM_SC_REG(base) & TPM_SC_CMOD_MASK) >> TPM_SC_CMOD_SHIFT) |
| #define TPM_BRD_SC_CMOD(base) (BME_UBFX32(&TPM_SC_REG(base), TPM_SC_CMOD_SHIFT, TPM_SC_CMOD_WIDTH)) |
| |
| /*! @brief Set the CMOD field to a new value. */ |
| #define TPM_WR_SC_CMOD(base, value) (TPM_RMW_SC(base, (TPM_SC_CMOD_MASK | TPM_SC_TOF_MASK), TPM_SC_CMOD(value))) |
| #define TPM_BWR_SC_CMOD(base, value) (BME_BFI32(&TPM_SC_REG(base), ((uint32_t)(value) << TPM_SC_CMOD_SHIFT), TPM_SC_CMOD_SHIFT, TPM_SC_CMOD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_SC, field CPWMS[5] (RW) |
| * |
| * Selects CPWM mode. This mode configures the TPM to operate in up-down |
| * counting mode. This field is write protected. It can be written only when the counter |
| * is disabled. |
| * |
| * Values: |
| * - 0b0 - TPM counter operates in up counting mode. |
| * - 0b1 - TPM counter operates in up-down counting mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_SC_CPWMS field. */ |
| #define TPM_RD_SC_CPWMS(base) ((TPM_SC_REG(base) & TPM_SC_CPWMS_MASK) >> TPM_SC_CPWMS_SHIFT) |
| #define TPM_BRD_SC_CPWMS(base) (BME_UBFX32(&TPM_SC_REG(base), TPM_SC_CPWMS_SHIFT, TPM_SC_CPWMS_WIDTH)) |
| |
| /*! @brief Set the CPWMS field to a new value. */ |
| #define TPM_WR_SC_CPWMS(base, value) (TPM_RMW_SC(base, (TPM_SC_CPWMS_MASK | TPM_SC_TOF_MASK), TPM_SC_CPWMS(value))) |
| #define TPM_BWR_SC_CPWMS(base, value) (BME_BFI32(&TPM_SC_REG(base), ((uint32_t)(value) << TPM_SC_CPWMS_SHIFT), TPM_SC_CPWMS_SHIFT, TPM_SC_CPWMS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_SC, field TOIE[6] (RW) |
| * |
| * Enables TPM overflow interrupts. |
| * |
| * Values: |
| * - 0b0 - Disable TOF interrupts. Use software polling or DMA request. |
| * - 0b1 - Enable TOF interrupts. An interrupt is generated when TOF equals one. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_SC_TOIE field. */ |
| #define TPM_RD_SC_TOIE(base) ((TPM_SC_REG(base) & TPM_SC_TOIE_MASK) >> TPM_SC_TOIE_SHIFT) |
| #define TPM_BRD_SC_TOIE(base) (BME_UBFX32(&TPM_SC_REG(base), TPM_SC_TOIE_SHIFT, TPM_SC_TOIE_WIDTH)) |
| |
| /*! @brief Set the TOIE field to a new value. */ |
| #define TPM_WR_SC_TOIE(base, value) (TPM_RMW_SC(base, (TPM_SC_TOIE_MASK | TPM_SC_TOF_MASK), TPM_SC_TOIE(value))) |
| #define TPM_BWR_SC_TOIE(base, value) (BME_BFI32(&TPM_SC_REG(base), ((uint32_t)(value) << TPM_SC_TOIE_SHIFT), TPM_SC_TOIE_SHIFT, TPM_SC_TOIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_SC, field TOF[7] (W1C) |
| * |
| * Set by hardware when the TPM counter equals the value in the MOD register and |
| * increments. Writing a 1 to TOF clears it. Writing a 0 to TOF has no effect. |
| * If another TPM overflow occurs between the flag setting and the flag clearing, |
| * the write operation has no effect; therefore, TOF remains set indicating |
| * another overflow has occurred. In this case a TOF interrupt request is not lost due |
| * to a delay in clearing the previous TOF. |
| * |
| * Values: |
| * - 0b0 - TPM counter has not overflowed. |
| * - 0b1 - TPM counter has overflowed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_SC_TOF field. */ |
| #define TPM_RD_SC_TOF(base) ((TPM_SC_REG(base) & TPM_SC_TOF_MASK) >> TPM_SC_TOF_SHIFT) |
| #define TPM_BRD_SC_TOF(base) (BME_UBFX32(&TPM_SC_REG(base), TPM_SC_TOF_SHIFT, TPM_SC_TOF_WIDTH)) |
| |
| /*! @brief Set the TOF field to a new value. */ |
| #define TPM_WR_SC_TOF(base, value) (TPM_RMW_SC(base, TPM_SC_TOF_MASK, TPM_SC_TOF(value))) |
| #define TPM_BWR_SC_TOF(base, value) (BME_BFI32(&TPM_SC_REG(base), ((uint32_t)(value) << TPM_SC_TOF_SHIFT), TPM_SC_TOF_SHIFT, TPM_SC_TOF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_SC, field DMA[8] (RW) |
| * |
| * Enables DMA transfers for the overflow flag. |
| * |
| * Values: |
| * - 0b0 - Disables DMA transfers. |
| * - 0b1 - Enables DMA transfers. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_SC_DMA field. */ |
| #define TPM_RD_SC_DMA(base) ((TPM_SC_REG(base) & TPM_SC_DMA_MASK) >> TPM_SC_DMA_SHIFT) |
| #define TPM_BRD_SC_DMA(base) (BME_UBFX32(&TPM_SC_REG(base), TPM_SC_DMA_SHIFT, TPM_SC_DMA_WIDTH)) |
| |
| /*! @brief Set the DMA field to a new value. */ |
| #define TPM_WR_SC_DMA(base, value) (TPM_RMW_SC(base, (TPM_SC_DMA_MASK | TPM_SC_TOF_MASK), TPM_SC_DMA(value))) |
| #define TPM_BWR_SC_DMA(base, value) (BME_BFI32(&TPM_SC_REG(base), ((uint32_t)(value) << TPM_SC_DMA_SHIFT), TPM_SC_DMA_SHIFT, TPM_SC_DMA_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TPM_CNT - Counter |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TPM_CNT - Counter (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The CNT register contains the TPM counter value. Reset clears the CNT |
| * register. Writing any value to COUNT also clears the counter. When debug is active, |
| * the TPM counter does not increment unless configured otherwise. Reading the CNT |
| * register adds two wait states to the register access due to synchronization |
| * delays. |
| */ |
| /*! |
| * @name Constants and macros for entire TPM_CNT register |
| */ |
| /*@{*/ |
| #define TPM_RD_CNT(base) (TPM_CNT_REG(base)) |
| #define TPM_WR_CNT(base, value) (TPM_CNT_REG(base) = (value)) |
| #define TPM_RMW_CNT(base, mask, value) (TPM_WR_CNT(base, (TPM_RD_CNT(base) & ~(mask)) | (value))) |
| #define TPM_SET_CNT(base, value) (BME_OR32(&TPM_CNT_REG(base), (uint32_t)(value))) |
| #define TPM_CLR_CNT(base, value) (BME_AND32(&TPM_CNT_REG(base), (uint32_t)(~(value)))) |
| #define TPM_TOG_CNT(base, value) (BME_XOR32(&TPM_CNT_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TPM_CNT bitfields |
| */ |
| |
| /*! |
| * @name Register TPM_CNT, field COUNT[15:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CNT_COUNT field. */ |
| #define TPM_RD_CNT_COUNT(base) ((TPM_CNT_REG(base) & TPM_CNT_COUNT_MASK) >> TPM_CNT_COUNT_SHIFT) |
| #define TPM_BRD_CNT_COUNT(base) (BME_UBFX32(&TPM_CNT_REG(base), TPM_CNT_COUNT_SHIFT, TPM_CNT_COUNT_WIDTH)) |
| |
| /*! @brief Set the COUNT field to a new value. */ |
| #define TPM_WR_CNT_COUNT(base, value) (TPM_RMW_CNT(base, TPM_CNT_COUNT_MASK, TPM_CNT_COUNT(value))) |
| #define TPM_BWR_CNT_COUNT(base, value) (BME_BFI32(&TPM_CNT_REG(base), ((uint32_t)(value) << TPM_CNT_COUNT_SHIFT), TPM_CNT_COUNT_SHIFT, TPM_CNT_COUNT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TPM_MOD - Modulo |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TPM_MOD - Modulo (RW) |
| * |
| * Reset value: 0x0000FFFFU |
| * |
| * The Modulo register contains the modulo value for the TPM counter. When the |
| * TPM counter reaches the modulo value and increments, the overflow flag (TOF) is |
| * set and the next value of TPM counter depends on the selected counting method |
| * (see CounterThe TPM has a 16-bit counter that is used by the channels either |
| * for input or output modes. ). Writing to the MOD register latches the value |
| * into a buffer. The MOD register is updated with the value of its write buffer |
| * according to MOD Register Update . Additional writes to the MOD write buffer are |
| * ignored until the register has been updated. It is recommended to initialize |
| * the TPM counter (write to CNT) before writing to the MOD register to avoid |
| * confusion about when the first counter overflow will occur. |
| */ |
| /*! |
| * @name Constants and macros for entire TPM_MOD register |
| */ |
| /*@{*/ |
| #define TPM_RD_MOD(base) (TPM_MOD_REG(base)) |
| #define TPM_WR_MOD(base, value) (TPM_MOD_REG(base) = (value)) |
| #define TPM_RMW_MOD(base, mask, value) (TPM_WR_MOD(base, (TPM_RD_MOD(base) & ~(mask)) | (value))) |
| #define TPM_SET_MOD(base, value) (BME_OR32(&TPM_MOD_REG(base), (uint32_t)(value))) |
| #define TPM_CLR_MOD(base, value) (BME_AND32(&TPM_MOD_REG(base), (uint32_t)(~(value)))) |
| #define TPM_TOG_MOD(base, value) (BME_XOR32(&TPM_MOD_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TPM_MOD bitfields |
| */ |
| |
| /*! |
| * @name Register TPM_MOD, field MOD[15:0] (RW) |
| * |
| * This field must be written with single 16-bit or 32-bit access. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_MOD_MOD field. */ |
| #define TPM_RD_MOD_MOD(base) ((TPM_MOD_REG(base) & TPM_MOD_MOD_MASK) >> TPM_MOD_MOD_SHIFT) |
| #define TPM_BRD_MOD_MOD(base) (BME_UBFX32(&TPM_MOD_REG(base), TPM_MOD_MOD_SHIFT, TPM_MOD_MOD_WIDTH)) |
| |
| /*! @brief Set the MOD field to a new value. */ |
| #define TPM_WR_MOD_MOD(base, value) (TPM_RMW_MOD(base, TPM_MOD_MOD_MASK, TPM_MOD_MOD(value))) |
| #define TPM_BWR_MOD_MOD(base, value) (BME_BFI32(&TPM_MOD_REG(base), ((uint32_t)(value) << TPM_MOD_MOD_SHIFT), TPM_MOD_MOD_SHIFT, TPM_MOD_MOD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TPM_CnSC - Channel (n) Status and Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TPM_CnSC - Channel (n) Status and Control (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * CnSC contains the channel-interrupt-status flag and control bits used to |
| * configure the interrupt enable, channel configuration, and pin function. When |
| * switching from one channel mode to a different channel mode, the channel must |
| * first be disabled and this must be acknowledged in the TPM counter clock domain. |
| * Mode, Edge, and Level Selection CPWMS MSnB:MSnA ELSnB:ELSnA Mode Configuration |
| * X 00 00 None Channel disabled X 01 00 Software compare Pin not used for TPM 0 |
| * 00 01 Input capture Capture on Rising Edge Only 10 Capture on Falling Edge |
| * Only 11 Capture on Rising or Falling Edge 01 01 Output compare Toggle Output on |
| * match 10 Clear Output on match 11 Set Output on match 10 10 Edge-aligned PWM |
| * High-true pulses (clear Output on match, set Output on reload) X1 Low-true |
| * pulses (set Output on match, clear Output on reload) 11 10 Output compare Pulse |
| * Output low on match 01 Pulse Output high on match 1 10 10 Center-aligned PWM |
| * High-true pulses (clear Output on match-up, set Output on match-down) 01 Low-true |
| * pulses (set Output on match-up, clear Output on match-down) |
| */ |
| /*! |
| * @name Constants and macros for entire TPM_CnSC register |
| */ |
| /*@{*/ |
| #define TPM_RD_CnSC(base, index) (TPM_CnSC_REG(base, index)) |
| #define TPM_WR_CnSC(base, index, value) (TPM_CnSC_REG(base, index) = (value)) |
| #define TPM_RMW_CnSC(base, index, mask, value) (TPM_WR_CnSC(base, index, (TPM_RD_CnSC(base, index) & ~(mask)) | (value))) |
| #define TPM_SET_CnSC(base, index, value) (BME_OR32(&TPM_CnSC_REG(base, index), (uint32_t)(value))) |
| #define TPM_CLR_CnSC(base, index, value) (BME_AND32(&TPM_CnSC_REG(base, index), (uint32_t)(~(value)))) |
| #define TPM_TOG_CnSC(base, index, value) (BME_XOR32(&TPM_CnSC_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TPM_CnSC bitfields |
| */ |
| |
| /*! |
| * @name Register TPM_CnSC, field DMA[0] (RW) |
| * |
| * Enables DMA transfers for the channel. |
| * |
| * Values: |
| * - 0b0 - Disable DMA transfers. |
| * - 0b1 - Enable DMA transfers. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CnSC_DMA field. */ |
| #define TPM_RD_CnSC_DMA(base, index) ((TPM_CnSC_REG(base, index) & TPM_CnSC_DMA_MASK) >> TPM_CnSC_DMA_SHIFT) |
| #define TPM_BRD_CnSC_DMA(base, index) (BME_UBFX32(&TPM_CnSC_REG(base, index), TPM_CnSC_DMA_SHIFT, TPM_CnSC_DMA_WIDTH)) |
| |
| /*! @brief Set the DMA field to a new value. */ |
| #define TPM_WR_CnSC_DMA(base, index, value) (TPM_RMW_CnSC(base, index, (TPM_CnSC_DMA_MASK | TPM_CnSC_CHF_MASK), TPM_CnSC_DMA(value))) |
| #define TPM_BWR_CnSC_DMA(base, index, value) (BME_BFI32(&TPM_CnSC_REG(base, index), ((uint32_t)(value) << TPM_CnSC_DMA_SHIFT), TPM_CnSC_DMA_SHIFT, TPM_CnSC_DMA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CnSC, field ELSA[2] (RW) |
| * |
| * The functionality of ELSB and ELSA depends on the channel mode. When a |
| * channel is disabled, this field will not change state until acknowledged in the TPM |
| * counter clock domain. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CnSC_ELSA field. */ |
| #define TPM_RD_CnSC_ELSA(base, index) ((TPM_CnSC_REG(base, index) & TPM_CnSC_ELSA_MASK) >> TPM_CnSC_ELSA_SHIFT) |
| #define TPM_BRD_CnSC_ELSA(base, index) (BME_UBFX32(&TPM_CnSC_REG(base, index), TPM_CnSC_ELSA_SHIFT, TPM_CnSC_ELSA_WIDTH)) |
| |
| /*! @brief Set the ELSA field to a new value. */ |
| #define TPM_WR_CnSC_ELSA(base, index, value) (TPM_RMW_CnSC(base, index, (TPM_CnSC_ELSA_MASK | TPM_CnSC_CHF_MASK), TPM_CnSC_ELSA(value))) |
| #define TPM_BWR_CnSC_ELSA(base, index, value) (BME_BFI32(&TPM_CnSC_REG(base, index), ((uint32_t)(value) << TPM_CnSC_ELSA_SHIFT), TPM_CnSC_ELSA_SHIFT, TPM_CnSC_ELSA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CnSC, field ELSB[3] (RW) |
| * |
| * The functionality of ELSB and ELSA depends on the channel mode. When a |
| * channel is disabled, this field will not change state until acknowledged in the TPM |
| * counter clock domain. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CnSC_ELSB field. */ |
| #define TPM_RD_CnSC_ELSB(base, index) ((TPM_CnSC_REG(base, index) & TPM_CnSC_ELSB_MASK) >> TPM_CnSC_ELSB_SHIFT) |
| #define TPM_BRD_CnSC_ELSB(base, index) (BME_UBFX32(&TPM_CnSC_REG(base, index), TPM_CnSC_ELSB_SHIFT, TPM_CnSC_ELSB_WIDTH)) |
| |
| /*! @brief Set the ELSB field to a new value. */ |
| #define TPM_WR_CnSC_ELSB(base, index, value) (TPM_RMW_CnSC(base, index, (TPM_CnSC_ELSB_MASK | TPM_CnSC_CHF_MASK), TPM_CnSC_ELSB(value))) |
| #define TPM_BWR_CnSC_ELSB(base, index, value) (BME_BFI32(&TPM_CnSC_REG(base, index), ((uint32_t)(value) << TPM_CnSC_ELSB_SHIFT), TPM_CnSC_ELSB_SHIFT, TPM_CnSC_ELSB_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CnSC, field MSA[4] (RW) |
| * |
| * Used for further selections in the channel logic. Its functionality is |
| * dependent on the channel mode. When a channel is disabled, this field will not |
| * change state until acknowledged in the TPM counter clock domain. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CnSC_MSA field. */ |
| #define TPM_RD_CnSC_MSA(base, index) ((TPM_CnSC_REG(base, index) & TPM_CnSC_MSA_MASK) >> TPM_CnSC_MSA_SHIFT) |
| #define TPM_BRD_CnSC_MSA(base, index) (BME_UBFX32(&TPM_CnSC_REG(base, index), TPM_CnSC_MSA_SHIFT, TPM_CnSC_MSA_WIDTH)) |
| |
| /*! @brief Set the MSA field to a new value. */ |
| #define TPM_WR_CnSC_MSA(base, index, value) (TPM_RMW_CnSC(base, index, (TPM_CnSC_MSA_MASK | TPM_CnSC_CHF_MASK), TPM_CnSC_MSA(value))) |
| #define TPM_BWR_CnSC_MSA(base, index, value) (BME_BFI32(&TPM_CnSC_REG(base, index), ((uint32_t)(value) << TPM_CnSC_MSA_SHIFT), TPM_CnSC_MSA_SHIFT, TPM_CnSC_MSA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CnSC, field MSB[5] (RW) |
| * |
| * Used for further selections in the channel logic. Its functionality is |
| * dependent on the channel mode. When a channel is disabled, this field will not |
| * change state until acknowledged in the TPM counter clock domain. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CnSC_MSB field. */ |
| #define TPM_RD_CnSC_MSB(base, index) ((TPM_CnSC_REG(base, index) & TPM_CnSC_MSB_MASK) >> TPM_CnSC_MSB_SHIFT) |
| #define TPM_BRD_CnSC_MSB(base, index) (BME_UBFX32(&TPM_CnSC_REG(base, index), TPM_CnSC_MSB_SHIFT, TPM_CnSC_MSB_WIDTH)) |
| |
| /*! @brief Set the MSB field to a new value. */ |
| #define TPM_WR_CnSC_MSB(base, index, value) (TPM_RMW_CnSC(base, index, (TPM_CnSC_MSB_MASK | TPM_CnSC_CHF_MASK), TPM_CnSC_MSB(value))) |
| #define TPM_BWR_CnSC_MSB(base, index, value) (BME_BFI32(&TPM_CnSC_REG(base, index), ((uint32_t)(value) << TPM_CnSC_MSB_SHIFT), TPM_CnSC_MSB_SHIFT, TPM_CnSC_MSB_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CnSC, field CHIE[6] (RW) |
| * |
| * Enables channel interrupts. |
| * |
| * Values: |
| * - 0b0 - Disable channel interrupts. |
| * - 0b1 - Enable channel interrupts. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CnSC_CHIE field. */ |
| #define TPM_RD_CnSC_CHIE(base, index) ((TPM_CnSC_REG(base, index) & TPM_CnSC_CHIE_MASK) >> TPM_CnSC_CHIE_SHIFT) |
| #define TPM_BRD_CnSC_CHIE(base, index) (BME_UBFX32(&TPM_CnSC_REG(base, index), TPM_CnSC_CHIE_SHIFT, TPM_CnSC_CHIE_WIDTH)) |
| |
| /*! @brief Set the CHIE field to a new value. */ |
| #define TPM_WR_CnSC_CHIE(base, index, value) (TPM_RMW_CnSC(base, index, (TPM_CnSC_CHIE_MASK | TPM_CnSC_CHF_MASK), TPM_CnSC_CHIE(value))) |
| #define TPM_BWR_CnSC_CHIE(base, index, value) (BME_BFI32(&TPM_CnSC_REG(base, index), ((uint32_t)(value) << TPM_CnSC_CHIE_SHIFT), TPM_CnSC_CHIE_SHIFT, TPM_CnSC_CHIE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CnSC, field CHF[7] (W1C) |
| * |
| * Set by hardware when an event occurs on the channel. CHF is cleared by |
| * writing a 1 to the CHF bit. Writing a 0 to CHF has no effect. If another event |
| * occurs between the CHF sets and the write operation, the write operation has no |
| * effect; therefore, CHF remains set indicating another event has occurred. In this |
| * case a CHF interrupt request is not lost due to the delay in clearing the |
| * previous CHF. |
| * |
| * Values: |
| * - 0b0 - No channel event has occurred. |
| * - 0b1 - A channel event has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CnSC_CHF field. */ |
| #define TPM_RD_CnSC_CHF(base, index) ((TPM_CnSC_REG(base, index) & TPM_CnSC_CHF_MASK) >> TPM_CnSC_CHF_SHIFT) |
| #define TPM_BRD_CnSC_CHF(base, index) (BME_UBFX32(&TPM_CnSC_REG(base, index), TPM_CnSC_CHF_SHIFT, TPM_CnSC_CHF_WIDTH)) |
| |
| /*! @brief Set the CHF field to a new value. */ |
| #define TPM_WR_CnSC_CHF(base, index, value) (TPM_RMW_CnSC(base, index, TPM_CnSC_CHF_MASK, TPM_CnSC_CHF(value))) |
| #define TPM_BWR_CnSC_CHF(base, index, value) (BME_BFI32(&TPM_CnSC_REG(base, index), ((uint32_t)(value) << TPM_CnSC_CHF_SHIFT), TPM_CnSC_CHF_SHIFT, TPM_CnSC_CHF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TPM_CnV - Channel (n) Value |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TPM_CnV - Channel (n) Value (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * These registers contain the captured TPM counter value for the input modes or |
| * the match value for the output modes. In input capture mode, any write to a |
| * CnV register is ignored. In compare modes, writing to a CnV register latches |
| * the value into a buffer. A CnV register is updated with the value of its write |
| * buffer according to CnV Register Update . Additional writes to the CnV write |
| * buffer are ignored until the register has been updated. |
| */ |
| /*! |
| * @name Constants and macros for entire TPM_CnV register |
| */ |
| /*@{*/ |
| #define TPM_RD_CnV(base, index) (TPM_CnV_REG(base, index)) |
| #define TPM_WR_CnV(base, index, value) (TPM_CnV_REG(base, index) = (value)) |
| #define TPM_RMW_CnV(base, index, mask, value) (TPM_WR_CnV(base, index, (TPM_RD_CnV(base, index) & ~(mask)) | (value))) |
| #define TPM_SET_CnV(base, index, value) (BME_OR32(&TPM_CnV_REG(base, index), (uint32_t)(value))) |
| #define TPM_CLR_CnV(base, index, value) (BME_AND32(&TPM_CnV_REG(base, index), (uint32_t)(~(value)))) |
| #define TPM_TOG_CnV(base, index, value) (BME_XOR32(&TPM_CnV_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TPM_CnV bitfields |
| */ |
| |
| /*! |
| * @name Register TPM_CnV, field VAL[15:0] (RW) |
| * |
| * Captured TPM counter value of the input modes or the match value for the |
| * output modes. This field must be written with single 16-bit or 32-bit access. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CnV_VAL field. */ |
| #define TPM_RD_CnV_VAL(base, index) ((TPM_CnV_REG(base, index) & TPM_CnV_VAL_MASK) >> TPM_CnV_VAL_SHIFT) |
| #define TPM_BRD_CnV_VAL(base, index) (BME_UBFX32(&TPM_CnV_REG(base, index), TPM_CnV_VAL_SHIFT, TPM_CnV_VAL_WIDTH)) |
| |
| /*! @brief Set the VAL field to a new value. */ |
| #define TPM_WR_CnV_VAL(base, index, value) (TPM_RMW_CnV(base, index, TPM_CnV_VAL_MASK, TPM_CnV_VAL(value))) |
| #define TPM_BWR_CnV_VAL(base, index, value) (BME_BFI32(&TPM_CnV_REG(base, index), ((uint32_t)(value) << TPM_CnV_VAL_SHIFT), TPM_CnV_VAL_SHIFT, TPM_CnV_VAL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TPM_STATUS - Capture and Compare Status |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TPM_STATUS - Capture and Compare Status (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The STATUS register contains a copy of the status flag, CnSC[CHnF] for each |
| * TPM channel, as well as SC[TOF], for software convenience. Each CHnF bit in |
| * STATUS is a mirror of CHnF bit in CnSC. All CHnF bits can be checked using only |
| * one read of STATUS. All CHnF bits can be cleared by writing all ones to STATUS. |
| * Hardware sets the individual channel flags when an event occurs on the |
| * channel. Writing a 1 to CHF clears it. Writing a 0 to CHF has no effect. If another |
| * event occurs between the flag setting and the write operation, the write |
| * operation has no effect; therefore, CHF remains set indicating another event has |
| * occurred. In this case a CHF interrupt request is not lost due to the clearing |
| * sequence for a previous CHF. |
| */ |
| /*! |
| * @name Constants and macros for entire TPM_STATUS register |
| */ |
| /*@{*/ |
| #define TPM_RD_STATUS(base) (TPM_STATUS_REG(base)) |
| #define TPM_WR_STATUS(base, value) (TPM_STATUS_REG(base) = (value)) |
| #define TPM_RMW_STATUS(base, mask, value) (TPM_WR_STATUS(base, (TPM_RD_STATUS(base) & ~(mask)) | (value))) |
| #define TPM_SET_STATUS(base, value) (BME_OR32(&TPM_STATUS_REG(base), (uint32_t)(value))) |
| #define TPM_CLR_STATUS(base, value) (BME_AND32(&TPM_STATUS_REG(base), (uint32_t)(~(value)))) |
| #define TPM_TOG_STATUS(base, value) (BME_XOR32(&TPM_STATUS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TPM_STATUS bitfields |
| */ |
| |
| /*! |
| * @name Register TPM_STATUS, field CH0F[0] (W1C) |
| * |
| * See the register description. |
| * |
| * Values: |
| * - 0b0 - No channel event has occurred. |
| * - 0b1 - A channel event has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_STATUS_CH0F field. */ |
| #define TPM_RD_STATUS_CH0F(base) ((TPM_STATUS_REG(base) & TPM_STATUS_CH0F_MASK) >> TPM_STATUS_CH0F_SHIFT) |
| #define TPM_BRD_STATUS_CH0F(base) (BME_UBFX32(&TPM_STATUS_REG(base), TPM_STATUS_CH0F_SHIFT, TPM_STATUS_CH0F_WIDTH)) |
| |
| /*! @brief Set the CH0F field to a new value. */ |
| #define TPM_WR_STATUS_CH0F(base, value) (TPM_RMW_STATUS(base, (TPM_STATUS_CH0F_MASK | TPM_STATUS_CH1F_MASK | TPM_STATUS_CH2F_MASK | TPM_STATUS_CH3F_MASK | TPM_STATUS_TOF_MASK), TPM_STATUS_CH0F(value))) |
| #define TPM_BWR_STATUS_CH0F(base, value) (BME_BFI32(&TPM_STATUS_REG(base), ((uint32_t)(value) << TPM_STATUS_CH0F_SHIFT), TPM_STATUS_CH0F_SHIFT, TPM_STATUS_CH0F_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_STATUS, field CH1F[1] (W1C) |
| * |
| * See the register description. |
| * |
| * Values: |
| * - 0b0 - No channel event has occurred. |
| * - 0b1 - A channel event has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_STATUS_CH1F field. */ |
| #define TPM_RD_STATUS_CH1F(base) ((TPM_STATUS_REG(base) & TPM_STATUS_CH1F_MASK) >> TPM_STATUS_CH1F_SHIFT) |
| #define TPM_BRD_STATUS_CH1F(base) (BME_UBFX32(&TPM_STATUS_REG(base), TPM_STATUS_CH1F_SHIFT, TPM_STATUS_CH1F_WIDTH)) |
| |
| /*! @brief Set the CH1F field to a new value. */ |
| #define TPM_WR_STATUS_CH1F(base, value) (TPM_RMW_STATUS(base, (TPM_STATUS_CH1F_MASK | TPM_STATUS_CH0F_MASK | TPM_STATUS_CH2F_MASK | TPM_STATUS_CH3F_MASK | TPM_STATUS_TOF_MASK), TPM_STATUS_CH1F(value))) |
| #define TPM_BWR_STATUS_CH1F(base, value) (BME_BFI32(&TPM_STATUS_REG(base), ((uint32_t)(value) << TPM_STATUS_CH1F_SHIFT), TPM_STATUS_CH1F_SHIFT, TPM_STATUS_CH1F_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_STATUS, field CH2F[2] (W1C) |
| * |
| * See the register description. |
| * |
| * Values: |
| * - 0b0 - No channel event has occurred. |
| * - 0b1 - A channel event has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_STATUS_CH2F field. */ |
| #define TPM_RD_STATUS_CH2F(base) ((TPM_STATUS_REG(base) & TPM_STATUS_CH2F_MASK) >> TPM_STATUS_CH2F_SHIFT) |
| #define TPM_BRD_STATUS_CH2F(base) (BME_UBFX32(&TPM_STATUS_REG(base), TPM_STATUS_CH2F_SHIFT, TPM_STATUS_CH2F_WIDTH)) |
| |
| /*! @brief Set the CH2F field to a new value. */ |
| #define TPM_WR_STATUS_CH2F(base, value) (TPM_RMW_STATUS(base, (TPM_STATUS_CH2F_MASK | TPM_STATUS_CH0F_MASK | TPM_STATUS_CH1F_MASK | TPM_STATUS_CH3F_MASK | TPM_STATUS_TOF_MASK), TPM_STATUS_CH2F(value))) |
| #define TPM_BWR_STATUS_CH2F(base, value) (BME_BFI32(&TPM_STATUS_REG(base), ((uint32_t)(value) << TPM_STATUS_CH2F_SHIFT), TPM_STATUS_CH2F_SHIFT, TPM_STATUS_CH2F_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_STATUS, field CH3F[3] (W1C) |
| * |
| * See the register description. |
| * |
| * Values: |
| * - 0b0 - No channel event has occurred. |
| * - 0b1 - A channel event has occurred. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_STATUS_CH3F field. */ |
| #define TPM_RD_STATUS_CH3F(base) ((TPM_STATUS_REG(base) & TPM_STATUS_CH3F_MASK) >> TPM_STATUS_CH3F_SHIFT) |
| #define TPM_BRD_STATUS_CH3F(base) (BME_UBFX32(&TPM_STATUS_REG(base), TPM_STATUS_CH3F_SHIFT, TPM_STATUS_CH3F_WIDTH)) |
| |
| /*! @brief Set the CH3F field to a new value. */ |
| #define TPM_WR_STATUS_CH3F(base, value) (TPM_RMW_STATUS(base, (TPM_STATUS_CH3F_MASK | TPM_STATUS_CH0F_MASK | TPM_STATUS_CH1F_MASK | TPM_STATUS_CH2F_MASK | TPM_STATUS_TOF_MASK), TPM_STATUS_CH3F(value))) |
| #define TPM_BWR_STATUS_CH3F(base, value) (BME_BFI32(&TPM_STATUS_REG(base), ((uint32_t)(value) << TPM_STATUS_CH3F_SHIFT), TPM_STATUS_CH3F_SHIFT, TPM_STATUS_CH3F_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_STATUS, field TOF[8] (W1C) |
| * |
| * See register description |
| * |
| * Values: |
| * - 0b0 - TPM counter has not overflowed. |
| * - 0b1 - TPM counter has overflowed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_STATUS_TOF field. */ |
| #define TPM_RD_STATUS_TOF(base) ((TPM_STATUS_REG(base) & TPM_STATUS_TOF_MASK) >> TPM_STATUS_TOF_SHIFT) |
| #define TPM_BRD_STATUS_TOF(base) (BME_UBFX32(&TPM_STATUS_REG(base), TPM_STATUS_TOF_SHIFT, TPM_STATUS_TOF_WIDTH)) |
| |
| /*! @brief Set the TOF field to a new value. */ |
| #define TPM_WR_STATUS_TOF(base, value) (TPM_RMW_STATUS(base, (TPM_STATUS_TOF_MASK | TPM_STATUS_CH0F_MASK | TPM_STATUS_CH1F_MASK | TPM_STATUS_CH2F_MASK | TPM_STATUS_CH3F_MASK), TPM_STATUS_TOF(value))) |
| #define TPM_BWR_STATUS_TOF(base, value) (BME_BFI32(&TPM_STATUS_REG(base), ((uint32_t)(value) << TPM_STATUS_TOF_SHIFT), TPM_STATUS_TOF_SHIFT, TPM_STATUS_TOF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TPM_COMBINE - Combine Channel Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TPM_COMBINE - Combine Channel Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register contains the control bits used to configure the combine channel |
| * modes for each pair of channels (n) and (n+1), where n is all the even |
| * numbered channels. |
| */ |
| /*! |
| * @name Constants and macros for entire TPM_COMBINE register |
| */ |
| /*@{*/ |
| #define TPM_RD_COMBINE(base) (TPM_COMBINE_REG(base)) |
| #define TPM_WR_COMBINE(base, value) (TPM_COMBINE_REG(base) = (value)) |
| #define TPM_RMW_COMBINE(base, mask, value) (TPM_WR_COMBINE(base, (TPM_RD_COMBINE(base) & ~(mask)) | (value))) |
| #define TPM_SET_COMBINE(base, value) (BME_OR32(&TPM_COMBINE_REG(base), (uint32_t)(value))) |
| #define TPM_CLR_COMBINE(base, value) (BME_AND32(&TPM_COMBINE_REG(base), (uint32_t)(~(value)))) |
| #define TPM_TOG_COMBINE(base, value) (BME_XOR32(&TPM_COMBINE_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TPM_COMBINE bitfields |
| */ |
| |
| /*! |
| * @name Register TPM_COMBINE, field COMBINE0[0] (RW) |
| * |
| * Enables the combine feature for channels 0 and 1. In input capture mode, the |
| * combined channels use the even channel input. In software compare modes, the |
| * even channel match asserts the output trigger and the odd channel match negates |
| * the output trigger. In PWM modes, the even channel match is used for the 1st |
| * compare and odd channel match for the 2nd compare. |
| * |
| * Values: |
| * - 0b0 - Channels 0 and 1 are independent. |
| * - 0b1 - Channels 0 and 1 are combined. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_COMBINE_COMBINE0 field. */ |
| #define TPM_RD_COMBINE_COMBINE0(base) ((TPM_COMBINE_REG(base) & TPM_COMBINE_COMBINE0_MASK) >> TPM_COMBINE_COMBINE0_SHIFT) |
| #define TPM_BRD_COMBINE_COMBINE0(base) (BME_UBFX32(&TPM_COMBINE_REG(base), TPM_COMBINE_COMBINE0_SHIFT, TPM_COMBINE_COMBINE0_WIDTH)) |
| |
| /*! @brief Set the COMBINE0 field to a new value. */ |
| #define TPM_WR_COMBINE_COMBINE0(base, value) (TPM_RMW_COMBINE(base, TPM_COMBINE_COMBINE0_MASK, TPM_COMBINE_COMBINE0(value))) |
| #define TPM_BWR_COMBINE_COMBINE0(base, value) (BME_BFI32(&TPM_COMBINE_REG(base), ((uint32_t)(value) << TPM_COMBINE_COMBINE0_SHIFT), TPM_COMBINE_COMBINE0_SHIFT, TPM_COMBINE_COMBINE0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_COMBINE, field COMSWAP0[1] (RW) |
| * |
| * When set in combine mode, the even channel is used for the input capture and |
| * 1st compare, the odd channel is used for the 2nd compare. |
| * |
| * Values: |
| * - 0b0 - Even channel is used for input capture and 1st compare. |
| * - 0b1 - Odd channel is used for input capture and 1st compare. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_COMBINE_COMSWAP0 field. */ |
| #define TPM_RD_COMBINE_COMSWAP0(base) ((TPM_COMBINE_REG(base) & TPM_COMBINE_COMSWAP0_MASK) >> TPM_COMBINE_COMSWAP0_SHIFT) |
| #define TPM_BRD_COMBINE_COMSWAP0(base) (BME_UBFX32(&TPM_COMBINE_REG(base), TPM_COMBINE_COMSWAP0_SHIFT, TPM_COMBINE_COMSWAP0_WIDTH)) |
| |
| /*! @brief Set the COMSWAP0 field to a new value. */ |
| #define TPM_WR_COMBINE_COMSWAP0(base, value) (TPM_RMW_COMBINE(base, TPM_COMBINE_COMSWAP0_MASK, TPM_COMBINE_COMSWAP0(value))) |
| #define TPM_BWR_COMBINE_COMSWAP0(base, value) (BME_BFI32(&TPM_COMBINE_REG(base), ((uint32_t)(value) << TPM_COMBINE_COMSWAP0_SHIFT), TPM_COMBINE_COMSWAP0_SHIFT, TPM_COMBINE_COMSWAP0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_COMBINE, field COMBINE1[8] (RW) |
| * |
| * Enables the combine feature for channels 2 and 3. In input capture mode, the |
| * combined channels use the even channel input. In software compare modes, the |
| * even channel match asserts the output trigger and the odd channel match negates |
| * the output trigger. In PWM modes, the even channel match is used for the 1st |
| * compare and odd channel match for the 2nd compare. |
| * |
| * Values: |
| * - 0b0 - Channels 2 and 3 are independent. |
| * - 0b1 - Channels 2 and 3 are combined. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_COMBINE_COMBINE1 field. */ |
| #define TPM_RD_COMBINE_COMBINE1(base) ((TPM_COMBINE_REG(base) & TPM_COMBINE_COMBINE1_MASK) >> TPM_COMBINE_COMBINE1_SHIFT) |
| #define TPM_BRD_COMBINE_COMBINE1(base) (BME_UBFX32(&TPM_COMBINE_REG(base), TPM_COMBINE_COMBINE1_SHIFT, TPM_COMBINE_COMBINE1_WIDTH)) |
| |
| /*! @brief Set the COMBINE1 field to a new value. */ |
| #define TPM_WR_COMBINE_COMBINE1(base, value) (TPM_RMW_COMBINE(base, TPM_COMBINE_COMBINE1_MASK, TPM_COMBINE_COMBINE1(value))) |
| #define TPM_BWR_COMBINE_COMBINE1(base, value) (BME_BFI32(&TPM_COMBINE_REG(base), ((uint32_t)(value) << TPM_COMBINE_COMBINE1_SHIFT), TPM_COMBINE_COMBINE1_SHIFT, TPM_COMBINE_COMBINE1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_COMBINE, field COMSWAP1[9] (RW) |
| * |
| * When set in combine mode, the odd channel is used for the input capture and |
| * 1st compare, the even channel is used for the 2nd compare. |
| * |
| * Values: |
| * - 0b0 - Even channel is used for input capture and 1st compare. |
| * - 0b1 - Odd channel is used for input capture and 1st compare. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_COMBINE_COMSWAP1 field. */ |
| #define TPM_RD_COMBINE_COMSWAP1(base) ((TPM_COMBINE_REG(base) & TPM_COMBINE_COMSWAP1_MASK) >> TPM_COMBINE_COMSWAP1_SHIFT) |
| #define TPM_BRD_COMBINE_COMSWAP1(base) (BME_UBFX32(&TPM_COMBINE_REG(base), TPM_COMBINE_COMSWAP1_SHIFT, TPM_COMBINE_COMSWAP1_WIDTH)) |
| |
| /*! @brief Set the COMSWAP1 field to a new value. */ |
| #define TPM_WR_COMBINE_COMSWAP1(base, value) (TPM_RMW_COMBINE(base, TPM_COMBINE_COMSWAP1_MASK, TPM_COMBINE_COMSWAP1(value))) |
| #define TPM_BWR_COMBINE_COMSWAP1(base, value) (BME_BFI32(&TPM_COMBINE_REG(base), ((uint32_t)(value) << TPM_COMBINE_COMSWAP1_SHIFT), TPM_COMBINE_COMSWAP1_SHIFT, TPM_COMBINE_COMSWAP1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TPM_FILTER - Filter Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TPM_FILTER - Filter Control (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register selects the filter value of the channel inputs, and an |
| * additional output delay value for the channel outputs. In PWM combine modes, the |
| * filter can effectively implements deadtime insertion. |
| */ |
| /*! |
| * @name Constants and macros for entire TPM_FILTER register |
| */ |
| /*@{*/ |
| #define TPM_RD_FILTER(base) (TPM_FILTER_REG(base)) |
| #define TPM_WR_FILTER(base, value) (TPM_FILTER_REG(base) = (value)) |
| #define TPM_RMW_FILTER(base, mask, value) (TPM_WR_FILTER(base, (TPM_RD_FILTER(base) & ~(mask)) | (value))) |
| #define TPM_SET_FILTER(base, value) (BME_OR32(&TPM_FILTER_REG(base), (uint32_t)(value))) |
| #define TPM_CLR_FILTER(base, value) (BME_AND32(&TPM_FILTER_REG(base), (uint32_t)(~(value)))) |
| #define TPM_TOG_FILTER(base, value) (BME_XOR32(&TPM_FILTER_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TPM_FILTER bitfields |
| */ |
| |
| /*! |
| * @name Register TPM_FILTER, field CH0FVAL[3:0] (RW) |
| * |
| * Selects the filter value for the channel input and the delay value for the |
| * channel output. The filter/delay is disabled when the value is zero, otherwise |
| * the filter/delay is configured as (CH0FVAL * 4) clock cycles. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_FILTER_CH0FVAL field. */ |
| #define TPM_RD_FILTER_CH0FVAL(base) ((TPM_FILTER_REG(base) & TPM_FILTER_CH0FVAL_MASK) >> TPM_FILTER_CH0FVAL_SHIFT) |
| #define TPM_BRD_FILTER_CH0FVAL(base) (BME_UBFX32(&TPM_FILTER_REG(base), TPM_FILTER_CH0FVAL_SHIFT, TPM_FILTER_CH0FVAL_WIDTH)) |
| |
| /*! @brief Set the CH0FVAL field to a new value. */ |
| #define TPM_WR_FILTER_CH0FVAL(base, value) (TPM_RMW_FILTER(base, TPM_FILTER_CH0FVAL_MASK, TPM_FILTER_CH0FVAL(value))) |
| #define TPM_BWR_FILTER_CH0FVAL(base, value) (BME_BFI32(&TPM_FILTER_REG(base), ((uint32_t)(value) << TPM_FILTER_CH0FVAL_SHIFT), TPM_FILTER_CH0FVAL_SHIFT, TPM_FILTER_CH0FVAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_FILTER, field CH1FVAL[7:4] (RW) |
| * |
| * Selects the filter value for the channel input and the delay value for the |
| * channel output. The filter/delay is disabled when the value is zero, otherwise |
| * the filter/delay is configured as (CH1FVAL * 4) clock cycles. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_FILTER_CH1FVAL field. */ |
| #define TPM_RD_FILTER_CH1FVAL(base) ((TPM_FILTER_REG(base) & TPM_FILTER_CH1FVAL_MASK) >> TPM_FILTER_CH1FVAL_SHIFT) |
| #define TPM_BRD_FILTER_CH1FVAL(base) (BME_UBFX32(&TPM_FILTER_REG(base), TPM_FILTER_CH1FVAL_SHIFT, TPM_FILTER_CH1FVAL_WIDTH)) |
| |
| /*! @brief Set the CH1FVAL field to a new value. */ |
| #define TPM_WR_FILTER_CH1FVAL(base, value) (TPM_RMW_FILTER(base, TPM_FILTER_CH1FVAL_MASK, TPM_FILTER_CH1FVAL(value))) |
| #define TPM_BWR_FILTER_CH1FVAL(base, value) (BME_BFI32(&TPM_FILTER_REG(base), ((uint32_t)(value) << TPM_FILTER_CH1FVAL_SHIFT), TPM_FILTER_CH1FVAL_SHIFT, TPM_FILTER_CH1FVAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_FILTER, field CH2FVAL[11:8] (RW) |
| * |
| * Selects the filter value for the channel input and the delay value for the |
| * channel output. The filter/delay is disabled when the value is zero, otherwise |
| * the filter/delay is configured as (CH2FVAL * 4) clock cycles. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_FILTER_CH2FVAL field. */ |
| #define TPM_RD_FILTER_CH2FVAL(base) ((TPM_FILTER_REG(base) & TPM_FILTER_CH2FVAL_MASK) >> TPM_FILTER_CH2FVAL_SHIFT) |
| #define TPM_BRD_FILTER_CH2FVAL(base) (BME_UBFX32(&TPM_FILTER_REG(base), TPM_FILTER_CH2FVAL_SHIFT, TPM_FILTER_CH2FVAL_WIDTH)) |
| |
| /*! @brief Set the CH2FVAL field to a new value. */ |
| #define TPM_WR_FILTER_CH2FVAL(base, value) (TPM_RMW_FILTER(base, TPM_FILTER_CH2FVAL_MASK, TPM_FILTER_CH2FVAL(value))) |
| #define TPM_BWR_FILTER_CH2FVAL(base, value) (BME_BFI32(&TPM_FILTER_REG(base), ((uint32_t)(value) << TPM_FILTER_CH2FVAL_SHIFT), TPM_FILTER_CH2FVAL_SHIFT, TPM_FILTER_CH2FVAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_FILTER, field CH3FVAL[15:12] (RW) |
| * |
| * Selects the filter value for the channel input and the delay value for the |
| * channel output. The filter/delay is disabled when the value is zero, otherwise |
| * the filter/delay is configured as (CH3FVAL * 4) clock cycles. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_FILTER_CH3FVAL field. */ |
| #define TPM_RD_FILTER_CH3FVAL(base) ((TPM_FILTER_REG(base) & TPM_FILTER_CH3FVAL_MASK) >> TPM_FILTER_CH3FVAL_SHIFT) |
| #define TPM_BRD_FILTER_CH3FVAL(base) (BME_UBFX32(&TPM_FILTER_REG(base), TPM_FILTER_CH3FVAL_SHIFT, TPM_FILTER_CH3FVAL_WIDTH)) |
| |
| /*! @brief Set the CH3FVAL field to a new value. */ |
| #define TPM_WR_FILTER_CH3FVAL(base, value) (TPM_RMW_FILTER(base, TPM_FILTER_CH3FVAL_MASK, TPM_FILTER_CH3FVAL(value))) |
| #define TPM_BWR_FILTER_CH3FVAL(base, value) (BME_BFI32(&TPM_FILTER_REG(base), ((uint32_t)(value) << TPM_FILTER_CH3FVAL_SHIFT), TPM_FILTER_CH3FVAL_SHIFT, TPM_FILTER_CH3FVAL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TPM_QDCTRL - Quadrature Decoder Control and Status |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TPM_QDCTRL - Quadrature Decoder Control and Status (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register has the control and status bits for the quadrature decoder mode. |
| */ |
| /*! |
| * @name Constants and macros for entire TPM_QDCTRL register |
| */ |
| /*@{*/ |
| #define TPM_RD_QDCTRL(base) (TPM_QDCTRL_REG(base)) |
| #define TPM_WR_QDCTRL(base, value) (TPM_QDCTRL_REG(base) = (value)) |
| #define TPM_RMW_QDCTRL(base, mask, value) (TPM_WR_QDCTRL(base, (TPM_RD_QDCTRL(base) & ~(mask)) | (value))) |
| #define TPM_SET_QDCTRL(base, value) (BME_OR32(&TPM_QDCTRL_REG(base), (uint32_t)(value))) |
| #define TPM_CLR_QDCTRL(base, value) (BME_AND32(&TPM_QDCTRL_REG(base), (uint32_t)(~(value)))) |
| #define TPM_TOG_QDCTRL(base, value) (BME_XOR32(&TPM_QDCTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TPM_QDCTRL bitfields |
| */ |
| |
| /*! |
| * @name Register TPM_QDCTRL, field QUADEN[0] (RW) |
| * |
| * Enables the quadrature decoder mode. In this mode, the channel 0 and channel |
| * 1 inputs control the TPM counter direction and can only be used for software |
| * compare. The quadrature decoder mode has precedence over the other modes. |
| * |
| * Values: |
| * - 0b0 - Quadrature decoder mode is disabled. |
| * - 0b1 - Quadrature decoder mode is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_QDCTRL_QUADEN field. */ |
| #define TPM_RD_QDCTRL_QUADEN(base) ((TPM_QDCTRL_REG(base) & TPM_QDCTRL_QUADEN_MASK) >> TPM_QDCTRL_QUADEN_SHIFT) |
| #define TPM_BRD_QDCTRL_QUADEN(base) (BME_UBFX32(&TPM_QDCTRL_REG(base), TPM_QDCTRL_QUADEN_SHIFT, TPM_QDCTRL_QUADEN_WIDTH)) |
| |
| /*! @brief Set the QUADEN field to a new value. */ |
| #define TPM_WR_QDCTRL_QUADEN(base, value) (TPM_RMW_QDCTRL(base, TPM_QDCTRL_QUADEN_MASK, TPM_QDCTRL_QUADEN(value))) |
| #define TPM_BWR_QDCTRL_QUADEN(base, value) (BME_BFI32(&TPM_QDCTRL_REG(base), ((uint32_t)(value) << TPM_QDCTRL_QUADEN_SHIFT), TPM_QDCTRL_QUADEN_SHIFT, TPM_QDCTRL_QUADEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_QDCTRL, field TOFDIR[1] (RO) |
| * |
| * Indicates if the TOF bit was set on the top or the bottom of counting. |
| * |
| * Values: |
| * - 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). |
| * - 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). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_QDCTRL_TOFDIR field. */ |
| #define TPM_RD_QDCTRL_TOFDIR(base) ((TPM_QDCTRL_REG(base) & TPM_QDCTRL_TOFDIR_MASK) >> TPM_QDCTRL_TOFDIR_SHIFT) |
| #define TPM_BRD_QDCTRL_TOFDIR(base) (BME_UBFX32(&TPM_QDCTRL_REG(base), TPM_QDCTRL_TOFDIR_SHIFT, TPM_QDCTRL_TOFDIR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_QDCTRL, field QUADIR[2] (RO) |
| * |
| * Indicates the counting direction. |
| * |
| * Values: |
| * - 0b0 - Counter direction is decreasing (counter decrement). |
| * - 0b1 - Counter direction is increasing (counter increment). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_QDCTRL_QUADIR field. */ |
| #define TPM_RD_QDCTRL_QUADIR(base) ((TPM_QDCTRL_REG(base) & TPM_QDCTRL_QUADIR_MASK) >> TPM_QDCTRL_QUADIR_SHIFT) |
| #define TPM_BRD_QDCTRL_QUADIR(base) (BME_UBFX32(&TPM_QDCTRL_REG(base), TPM_QDCTRL_QUADIR_SHIFT, TPM_QDCTRL_QUADIR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_QDCTRL, field QUADMODE[3] (RW) |
| * |
| * Selects the encoding mode used in the quadrature decoder mode. |
| * |
| * Values: |
| * - 0b0 - Phase encoding mode. |
| * - 0b1 - Count and direction encoding mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_QDCTRL_QUADMODE field. */ |
| #define TPM_RD_QDCTRL_QUADMODE(base) ((TPM_QDCTRL_REG(base) & TPM_QDCTRL_QUADMODE_MASK) >> TPM_QDCTRL_QUADMODE_SHIFT) |
| #define TPM_BRD_QDCTRL_QUADMODE(base) (BME_UBFX32(&TPM_QDCTRL_REG(base), TPM_QDCTRL_QUADMODE_SHIFT, TPM_QDCTRL_QUADMODE_WIDTH)) |
| |
| /*! @brief Set the QUADMODE field to a new value. */ |
| #define TPM_WR_QDCTRL_QUADMODE(base, value) (TPM_RMW_QDCTRL(base, TPM_QDCTRL_QUADMODE_MASK, TPM_QDCTRL_QUADMODE(value))) |
| #define TPM_BWR_QDCTRL_QUADMODE(base, value) (BME_BFI32(&TPM_QDCTRL_REG(base), ((uint32_t)(value) << TPM_QDCTRL_QUADMODE_SHIFT), TPM_QDCTRL_QUADMODE_SHIFT, TPM_QDCTRL_QUADMODE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TPM_CONF - Configuration |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TPM_CONF - Configuration (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This register selects the behavior in debug and wait modes and the use of an |
| * external global time base. |
| */ |
| /*! |
| * @name Constants and macros for entire TPM_CONF register |
| */ |
| /*@{*/ |
| #define TPM_RD_CONF(base) (TPM_CONF_REG(base)) |
| #define TPM_WR_CONF(base, value) (TPM_CONF_REG(base) = (value)) |
| #define TPM_RMW_CONF(base, mask, value) (TPM_WR_CONF(base, (TPM_RD_CONF(base) & ~(mask)) | (value))) |
| #define TPM_SET_CONF(base, value) (BME_OR32(&TPM_CONF_REG(base), (uint32_t)(value))) |
| #define TPM_CLR_CONF(base, value) (BME_AND32(&TPM_CONF_REG(base), (uint32_t)(~(value)))) |
| #define TPM_TOG_CONF(base, value) (BME_XOR32(&TPM_CONF_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TPM_CONF bitfields |
| */ |
| |
| /*! |
| * @name Register TPM_CONF, field DOZEEN[5] (RW) |
| * |
| * Configures the TPM behavior in wait mode. |
| * |
| * Values: |
| * - 0b0 - Internal TPM counter continues in Doze mode. |
| * - 0b1 - Internal TPM counter is paused and does not increment during Doze |
| * mode. Trigger inputs and input capture events are also ignored. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CONF_DOZEEN field. */ |
| #define TPM_RD_CONF_DOZEEN(base) ((TPM_CONF_REG(base) & TPM_CONF_DOZEEN_MASK) >> TPM_CONF_DOZEEN_SHIFT) |
| #define TPM_BRD_CONF_DOZEEN(base) (BME_UBFX32(&TPM_CONF_REG(base), TPM_CONF_DOZEEN_SHIFT, TPM_CONF_DOZEEN_WIDTH)) |
| |
| /*! @brief Set the DOZEEN field to a new value. */ |
| #define TPM_WR_CONF_DOZEEN(base, value) (TPM_RMW_CONF(base, TPM_CONF_DOZEEN_MASK, TPM_CONF_DOZEEN(value))) |
| #define TPM_BWR_CONF_DOZEEN(base, value) (BME_BFI32(&TPM_CONF_REG(base), ((uint32_t)(value) << TPM_CONF_DOZEEN_SHIFT), TPM_CONF_DOZEEN_SHIFT, TPM_CONF_DOZEEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CONF, field DBGMODE[7:6] (RW) |
| * |
| * Configures the TPM behavior in debug mode. All other configurations are |
| * reserved. |
| * |
| * Values: |
| * - 0b00 - TPM counter is paused and does not increment during debug mode. |
| * Trigger inputs and input capture events are also ignored. |
| * - 0b11 - TPM counter continues in debug mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CONF_DBGMODE field. */ |
| #define TPM_RD_CONF_DBGMODE(base) ((TPM_CONF_REG(base) & TPM_CONF_DBGMODE_MASK) >> TPM_CONF_DBGMODE_SHIFT) |
| #define TPM_BRD_CONF_DBGMODE(base) (BME_UBFX32(&TPM_CONF_REG(base), TPM_CONF_DBGMODE_SHIFT, TPM_CONF_DBGMODE_WIDTH)) |
| |
| /*! @brief Set the DBGMODE field to a new value. */ |
| #define TPM_WR_CONF_DBGMODE(base, value) (TPM_RMW_CONF(base, TPM_CONF_DBGMODE_MASK, TPM_CONF_DBGMODE(value))) |
| #define TPM_BWR_CONF_DBGMODE(base, value) (BME_BFI32(&TPM_CONF_REG(base), ((uint32_t)(value) << TPM_CONF_DBGMODE_SHIFT), TPM_CONF_DBGMODE_SHIFT, TPM_CONF_DBGMODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CONF, field GTBEEN[9] (RW) |
| * |
| * Configures the TPM to use an externally generated global time base counter. |
| * When an externally generated timebase is used, the internal TPM counter is not |
| * used by the channels but can be used to generate a periodic interruptor DMA |
| * request using the Modulo register and timer overflow flag. |
| * |
| * Values: |
| * - 0b0 - All channels use the internally generated TPM counter as their |
| * timebase |
| * - 0b1 - All channels use an externally generated global timebase as their |
| * timebase |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CONF_GTBEEN field. */ |
| #define TPM_RD_CONF_GTBEEN(base) ((TPM_CONF_REG(base) & TPM_CONF_GTBEEN_MASK) >> TPM_CONF_GTBEEN_SHIFT) |
| #define TPM_BRD_CONF_GTBEEN(base) (BME_UBFX32(&TPM_CONF_REG(base), TPM_CONF_GTBEEN_SHIFT, TPM_CONF_GTBEEN_WIDTH)) |
| |
| /*! @brief Set the GTBEEN field to a new value. */ |
| #define TPM_WR_CONF_GTBEEN(base, value) (TPM_RMW_CONF(base, TPM_CONF_GTBEEN_MASK, TPM_CONF_GTBEEN(value))) |
| #define TPM_BWR_CONF_GTBEEN(base, value) (BME_BFI32(&TPM_CONF_REG(base), ((uint32_t)(value) << TPM_CONF_GTBEEN_SHIFT), TPM_CONF_GTBEEN_SHIFT, TPM_CONF_GTBEEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CONF, field CSOT[16] (RW) |
| * |
| * When set, the TPM counter will not start incrementing after it is enabled |
| * until a rising edge on the selected trigger input is detected. If the TPM counter |
| * is stopped due to an overflow, a rising edge on the selected trigger input |
| * will also cause the TPM counter to start incrementing again. The trigger input |
| * is ignored if the TPM counter is paused during debug mode or doze mode. This |
| * field should only be changed when the TPM counter is disabled. |
| * |
| * Values: |
| * - 0b0 - TPM counter starts to increment immediately, once it is enabled. |
| * - 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. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CONF_CSOT field. */ |
| #define TPM_RD_CONF_CSOT(base) ((TPM_CONF_REG(base) & TPM_CONF_CSOT_MASK) >> TPM_CONF_CSOT_SHIFT) |
| #define TPM_BRD_CONF_CSOT(base) (BME_UBFX32(&TPM_CONF_REG(base), TPM_CONF_CSOT_SHIFT, TPM_CONF_CSOT_WIDTH)) |
| |
| /*! @brief Set the CSOT field to a new value. */ |
| #define TPM_WR_CONF_CSOT(base, value) (TPM_RMW_CONF(base, TPM_CONF_CSOT_MASK, TPM_CONF_CSOT(value))) |
| #define TPM_BWR_CONF_CSOT(base, value) (BME_BFI32(&TPM_CONF_REG(base), ((uint32_t)(value) << TPM_CONF_CSOT_SHIFT), TPM_CONF_CSOT_SHIFT, TPM_CONF_CSOT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CONF, field CSOO[17] (RW) |
| * |
| * When set, the TPM counter will stop incrementing once the counter equals the |
| * MOD value and incremented (this also sets the TOF). Reloading the counter with |
| * 0 due to writing to the counter register or due to a trigger input does not |
| * cause the counter to stop incrementing. Once the counter has stopped |
| * incrementing, the counter will not start incrementing unless it is disabled and then |
| * enabled again, or a rising edge on the selected trigger input is detected when |
| * CSOT set. This field should only be changed when the TPM counter is disabled. |
| * |
| * Values: |
| * - 0b0 - TPM counter continues incrementing or decrementing after overflow |
| * - 0b1 - TPM counter stops incrementing or decrementing after overflow. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CONF_CSOO field. */ |
| #define TPM_RD_CONF_CSOO(base) ((TPM_CONF_REG(base) & TPM_CONF_CSOO_MASK) >> TPM_CONF_CSOO_SHIFT) |
| #define TPM_BRD_CONF_CSOO(base) (BME_UBFX32(&TPM_CONF_REG(base), TPM_CONF_CSOO_SHIFT, TPM_CONF_CSOO_WIDTH)) |
| |
| /*! @brief Set the CSOO field to a new value. */ |
| #define TPM_WR_CONF_CSOO(base, value) (TPM_RMW_CONF(base, TPM_CONF_CSOO_MASK, TPM_CONF_CSOO(value))) |
| #define TPM_BWR_CONF_CSOO(base, value) (BME_BFI32(&TPM_CONF_REG(base), ((uint32_t)(value) << TPM_CONF_CSOO_SHIFT), TPM_CONF_CSOO_SHIFT, TPM_CONF_CSOO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CONF, field CROT[18] (RW) |
| * |
| * When set, the TPM counter will reload with 0 (and initialize PWM outputs to |
| * their default value) when a rising edge is detected on the selected trigger |
| * input. The trigger input is ignored if the TPM counter is paused during debug |
| * mode or doze mode. This field should only be changed when the TPM counter is |
| * disabled. |
| * |
| * Values: |
| * - 0b0 - Counter is not reloaded due to a rising edge on the selected input |
| * trigger |
| * - 0b1 - Counter is reloaded when a rising edge is detected on the selected |
| * input trigger |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CONF_CROT field. */ |
| #define TPM_RD_CONF_CROT(base) ((TPM_CONF_REG(base) & TPM_CONF_CROT_MASK) >> TPM_CONF_CROT_SHIFT) |
| #define TPM_BRD_CONF_CROT(base) (BME_UBFX32(&TPM_CONF_REG(base), TPM_CONF_CROT_SHIFT, TPM_CONF_CROT_WIDTH)) |
| |
| /*! @brief Set the CROT field to a new value. */ |
| #define TPM_WR_CONF_CROT(base, value) (TPM_RMW_CONF(base, TPM_CONF_CROT_MASK, TPM_CONF_CROT(value))) |
| #define TPM_BWR_CONF_CROT(base, value) (BME_BFI32(&TPM_CONF_REG(base), ((uint32_t)(value) << TPM_CONF_CROT_SHIFT), TPM_CONF_CROT_SHIFT, TPM_CONF_CROT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TPM_CONF, field TRGSEL[27:24] (RW) |
| * |
| * Selects the input trigger to use for starting the counter and/or reloading |
| * the counter. This field should only be changed when the TPM counter is disabled. |
| * See Chip configuration section for available options. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TPM_CONF_TRGSEL field. */ |
| #define TPM_RD_CONF_TRGSEL(base) ((TPM_CONF_REG(base) & TPM_CONF_TRGSEL_MASK) >> TPM_CONF_TRGSEL_SHIFT) |
| #define TPM_BRD_CONF_TRGSEL(base) (BME_UBFX32(&TPM_CONF_REG(base), TPM_CONF_TRGSEL_SHIFT, TPM_CONF_TRGSEL_WIDTH)) |
| |
| /*! @brief Set the TRGSEL field to a new value. */ |
| #define TPM_WR_CONF_TRGSEL(base, value) (TPM_RMW_CONF(base, TPM_CONF_TRGSEL_MASK, TPM_CONF_TRGSEL(value))) |
| #define TPM_BWR_CONF_TRGSEL(base, value) (BME_BFI32(&TPM_CONF_REG(base), ((uint32_t)(value) << TPM_CONF_TRGSEL_SHIFT), TPM_CONF_TRGSEL_SHIFT, TPM_CONF_TRGSEL_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 TRNG |
| * |
| * RNG |
| * |
| * Registers defined in this header file: |
| * - TRNG_MCTL - RNG Miscellaneous Control Register |
| * - TRNG_SCMISC - RNG Statistical Check Miscellaneous Register |
| * - TRNG_PKRRNG - RNG Poker Range Register |
| * - TRNG_PKRMAX - RNG Poker Maximum Limit Register |
| * - TRNG_PKRSQ - RNG Poker Square Calculation Result Register |
| * - TRNG_SDCTL - RNG Seed Control Register |
| * - TRNG_SBLIM - RNG Sparse Bit Limit Register |
| * - TRNG_TOTSAM - RNG Total Samples Register |
| * - TRNG_FRQMIN - RNG Frequency Count Minimum Limit Register |
| * - TRNG_FRQCNT - RNG Frequency Count Register |
| * - TRNG_FRQMAX - RNG Frequency Count Maximum Limit Register |
| * - TRNG_SCMC - RNG Statistical Check Monobit Count Register |
| * - TRNG_SCML - RNG Statistical Check Monobit Limit Register |
| * - TRNG_SCR1C - RNG Statistical Check Run Length 1 Count Register |
| * - TRNG_SCR1L - RNG Statistical Check Run Length 1 Limit Register |
| * - TRNG_SCR2C - RNG Statistical Check Run Length 2 Count Register |
| * - TRNG_SCR2L - RNG Statistical Check Run Length 2 Limit Register |
| * - TRNG_SCR3C - RNG Statistical Check Run Length 3 Count Register |
| * - TRNG_SCR3L - RNG Statistical Check Run Length 3 Limit Register |
| * - TRNG_SCR4C - RNG Statistical Check Run Length 4 Count Register |
| * - TRNG_SCR4L - RNG Statistical Check Run Length 4 Limit Register |
| * - TRNG_SCR5C - RNG Statistical Check Run Length 5 Count Register |
| * - TRNG_SCR5L - RNG Statistical Check Run Length 5 Limit Register |
| * - TRNG_SCR6PC - RNG Statistical Check Run Length 6+ Count Register |
| * - TRNG_SCR6PL - RNG Statistical Check Run Length 6+ Limit Register |
| * - TRNG_STATUS - RNG Status Register |
| * - TRNG_ENT - RNG TRNG Entropy Read Register |
| * - TRNG_PKRCNT10 - RNG Statistical Check Poker Count 1 and 0 Register |
| * - TRNG_PKRCNT32 - RNG Statistical Check Poker Count 3 and 2 Register |
| * - TRNG_PKRCNT54 - RNG Statistical Check Poker Count 5 and 4 Register |
| * - TRNG_PKRCNT76 - RNG Statistical Check Poker Count 7 and 6 Register |
| * - TRNG_PKRCNT98 - RNG Statistical Check Poker Count 9 and 8 Register |
| * - TRNG_PKRCNTBA - RNG Statistical Check Poker Count B and A Register |
| * - TRNG_PKRCNTDC - RNG Statistical Check Poker Count D and C Register |
| * - TRNG_PKRCNTFE - RNG Statistical Check Poker Count F and E Register |
| * - TRNG_SEC_CFG - RNG Security Configuration Register |
| * - TRNG_INT_CTRL - RNG Interrupt Control Register |
| * - TRNG_INT_MASK - RNG Mask Register |
| * - TRNG_INT_STATUS - RNG Interrupt Status Register |
| * - TRNG_VID1 - RNG Version ID Register (MS) |
| * - TRNG_VID2 - RNG Version ID Register (LS) |
| */ |
| |
| #define TRNG_INSTANCE_COUNT (1U) /*!< Number of instances of the TRNG module. */ |
| #define TRNG0_IDX (0U) /*!< Instance number for TRNG0. */ |
| |
| /******************************************************************************* |
| * TRNG_MCTL - RNG Miscellaneous Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_MCTL - RNG Miscellaneous Control Register (RW) |
| * |
| * Reset value: 0x00012001U |
| * |
| * This register is intended to be used for programming, configuring and testing |
| * the RNG. It is the main register to read/write, in order to enable Entropy |
| * generation, to stop entropy generation and to block access to entropy registers. |
| * This is done via the special TRNG_ACC and PRGM bits below. The RNG |
| * Miscellaneous Control Register is a read/write register used to control the RNG's True |
| * Random Number Generator (TRNG) access, operation and test. Note that in many |
| * cases two RNG registers share the same address, and a particular register at the |
| * shared address is selected based upon the value in the PRGM field of the MCTL |
| * register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_MCTL register |
| */ |
| /*@{*/ |
| #define TRNG_RD_MCTL(base) (TRNG_MCTL_REG(base)) |
| #define TRNG_WR_MCTL(base, value) (TRNG_MCTL_REG(base) = (value)) |
| #define TRNG_RMW_MCTL(base, mask, value) (TRNG_WR_MCTL(base, (TRNG_RD_MCTL(base) & ~(mask)) | (value))) |
| #define TRNG_SET_MCTL(base, value) (BME_OR32(&TRNG_MCTL_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_MCTL(base, value) (BME_AND32(&TRNG_MCTL_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_MCTL(base, value) (BME_XOR32(&TRNG_MCTL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_MCTL bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_MCTL, field SAMP_MODE[1:0] (RW) |
| * |
| * Sample Mode. Determines the method of sampling the ring oscillator while |
| * generating the Entropy value:This field is writable only if PRGM bit is 1, or PRGM |
| * bit is being written to 1 simultaneously with writing this field. This field |
| * is cleared to 01 by writing the RST_DEF bit to 1. |
| * |
| * Values: |
| * - 0b00 - use Von Neumann data into both Entropy shifter and Statistical |
| * Checker |
| * - 0b01 - use raw data into both Entropy shifter and Statistical Checker |
| * - 0b10 - use Von Neumann data into Entropy shifter. Use raw data into |
| * Statistical Checker |
| * - 0b11 - reserved. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_SAMP_MODE field. */ |
| #define TRNG_RD_MCTL_SAMP_MODE(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_SAMP_MODE_MASK) >> TRNG_MCTL_SAMP_MODE_SHIFT) |
| #define TRNG_BRD_MCTL_SAMP_MODE(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_SAMP_MODE_SHIFT, TRNG_MCTL_SAMP_MODE_WIDTH)) |
| |
| /*! @brief Set the SAMP_MODE field to a new value. */ |
| #define TRNG_WR_MCTL_SAMP_MODE(base, value) (TRNG_RMW_MCTL(base, (TRNG_MCTL_SAMP_MODE_MASK | TRNG_MCTL_ERR_MASK), TRNG_MCTL_SAMP_MODE(value))) |
| #define TRNG_BWR_MCTL_SAMP_MODE(base, value) (BME_BFI32(&TRNG_MCTL_REG(base), ((uint32_t)(value) << TRNG_MCTL_SAMP_MODE_SHIFT), TRNG_MCTL_SAMP_MODE_SHIFT, TRNG_MCTL_SAMP_MODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field OSC_DIV[3:2] (RW) |
| * |
| * Oscillator Divide. Determines the amount of dividing done to the ring |
| * oscillator before it is used by the TRNG.This field is writable only if PRGM bit is |
| * 1, or PRGM bit is being written to 1 simultaneously to writing this field. This |
| * field is cleared to 00 by writing the RST_DEF bit to 1. |
| * |
| * Values: |
| * - 0b00 - use ring oscillator with no divide |
| * - 0b01 - use ring oscillator divided-by-2 |
| * - 0b10 - use ring oscillator divided-by-4 |
| * - 0b11 - use ring oscillator divided-by-8 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_OSC_DIV field. */ |
| #define TRNG_RD_MCTL_OSC_DIV(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_OSC_DIV_MASK) >> TRNG_MCTL_OSC_DIV_SHIFT) |
| #define TRNG_BRD_MCTL_OSC_DIV(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_OSC_DIV_SHIFT, TRNG_MCTL_OSC_DIV_WIDTH)) |
| |
| /*! @brief Set the OSC_DIV field to a new value. */ |
| #define TRNG_WR_MCTL_OSC_DIV(base, value) (TRNG_RMW_MCTL(base, (TRNG_MCTL_OSC_DIV_MASK | TRNG_MCTL_ERR_MASK), TRNG_MCTL_OSC_DIV(value))) |
| #define TRNG_BWR_MCTL_OSC_DIV(base, value) (BME_BFI32(&TRNG_MCTL_REG(base), ((uint32_t)(value) << TRNG_MCTL_OSC_DIV_SHIFT), TRNG_MCTL_OSC_DIV_SHIFT, TRNG_MCTL_OSC_DIV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field UNUSED[4] (RW) |
| * |
| * This bit is unused but write-able. Must be left as zero. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_UNUSED field. */ |
| #define TRNG_RD_MCTL_UNUSED(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_UNUSED_MASK) >> TRNG_MCTL_UNUSED_SHIFT) |
| #define TRNG_BRD_MCTL_UNUSED(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_UNUSED_SHIFT, TRNG_MCTL_UNUSED_WIDTH)) |
| |
| /*! @brief Set the UNUSED field to a new value. */ |
| #define TRNG_WR_MCTL_UNUSED(base, value) (TRNG_RMW_MCTL(base, (TRNG_MCTL_UNUSED_MASK | TRNG_MCTL_ERR_MASK), TRNG_MCTL_UNUSED(value))) |
| #define TRNG_BWR_MCTL_UNUSED(base, value) (BME_BFI32(&TRNG_MCTL_REG(base), ((uint32_t)(value) << TRNG_MCTL_UNUSED_SHIFT), TRNG_MCTL_UNUSED_SHIFT, TRNG_MCTL_UNUSED_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field TRNG_ACC[5] (RW) |
| * |
| * TRNG Access Mode. If this bit is set to 1, the TRNG will generate an Entropy |
| * value that can be read via the ENT0-ENT15 registers. The Entropy value may be |
| * read once the ENT VAL bit is asserted. Also see ENTa register descriptions |
| * (For a = 0 to 15). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_TRNG_ACC field. */ |
| #define TRNG_RD_MCTL_TRNG_ACC(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_TRNG_ACC_MASK) >> TRNG_MCTL_TRNG_ACC_SHIFT) |
| #define TRNG_BRD_MCTL_TRNG_ACC(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_TRNG_ACC_SHIFT, TRNG_MCTL_TRNG_ACC_WIDTH)) |
| |
| /*! @brief Set the TRNG_ACC field to a new value. */ |
| #define TRNG_WR_MCTL_TRNG_ACC(base, value) (TRNG_RMW_MCTL(base, (TRNG_MCTL_TRNG_ACC_MASK | TRNG_MCTL_ERR_MASK), TRNG_MCTL_TRNG_ACC(value))) |
| #define TRNG_BWR_MCTL_TRNG_ACC(base, value) (BME_BFI32(&TRNG_MCTL_REG(base), ((uint32_t)(value) << TRNG_MCTL_TRNG_ACC_SHIFT), TRNG_MCTL_TRNG_ACC_SHIFT, TRNG_MCTL_TRNG_ACC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field RST_DEF[6] (WO) |
| * |
| * Reset Defaults. Writing a 1 to this bit clears various TRNG registers, and |
| * bits within registers, to their default state. This bit is writable only if PRGM |
| * bit is 1, or PRGM bit is being written to 1 simultaneously to writing this |
| * bit. Reading this bit always produces a 0. |
| */ |
| /*@{*/ |
| /*! @brief Set the RST_DEF field to a new value. */ |
| #define TRNG_WR_MCTL_RST_DEF(base, value) (TRNG_RMW_MCTL(base, (TRNG_MCTL_RST_DEF_MASK | TRNG_MCTL_ERR_MASK), TRNG_MCTL_RST_DEF(value))) |
| #define TRNG_BWR_MCTL_RST_DEF(base, value) (TRNG_WR_MCTL_RST_DEF(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field FOR_SCLK[7] (RW) |
| * |
| * Force System Clock. If set, the system clock is used to operate the TRNG, |
| * instead of the ring oscillator. This is for test use only, and indeterminate |
| * results may occur. This bit is writable only if PRGM bit is 1, or PRGM bit is |
| * being written to 1 simultaneously to writing this bit. This bit is cleared by |
| * writing the RST_DEF bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_FOR_SCLK field. */ |
| #define TRNG_RD_MCTL_FOR_SCLK(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_FOR_SCLK_MASK) >> TRNG_MCTL_FOR_SCLK_SHIFT) |
| #define TRNG_BRD_MCTL_FOR_SCLK(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_FOR_SCLK_SHIFT, TRNG_MCTL_FOR_SCLK_WIDTH)) |
| |
| /*! @brief Set the FOR_SCLK field to a new value. */ |
| #define TRNG_WR_MCTL_FOR_SCLK(base, value) (TRNG_RMW_MCTL(base, (TRNG_MCTL_FOR_SCLK_MASK | TRNG_MCTL_ERR_MASK), TRNG_MCTL_FOR_SCLK(value))) |
| #define TRNG_BWR_MCTL_FOR_SCLK(base, value) (BME_BFI32(&TRNG_MCTL_REG(base), ((uint32_t)(value) << TRNG_MCTL_FOR_SCLK_SHIFT), TRNG_MCTL_FOR_SCLK_SHIFT, TRNG_MCTL_FOR_SCLK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field FCT_FAIL[8] (RO) |
| * |
| * Read only: Frequency Count Fail. The frequency counter has detected a |
| * failure. This may be due to improper programming of the FRQMAX and/or FRQMIN |
| * registers, or a hardware failure in the ring oscillator. This error may be cleared by |
| * writing a 1 to the ERR bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_FCT_FAIL field. */ |
| #define TRNG_RD_MCTL_FCT_FAIL(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_FCT_FAIL_MASK) >> TRNG_MCTL_FCT_FAIL_SHIFT) |
| #define TRNG_BRD_MCTL_FCT_FAIL(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_FCT_FAIL_SHIFT, TRNG_MCTL_FCT_FAIL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field FCT_VAL[9] (RO) |
| * |
| * Read only: Frequency Count Valid. Indicates that a valid frequency count may |
| * be read from FRQCNT. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_FCT_VAL field. */ |
| #define TRNG_RD_MCTL_FCT_VAL(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_FCT_VAL_MASK) >> TRNG_MCTL_FCT_VAL_SHIFT) |
| #define TRNG_BRD_MCTL_FCT_VAL(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_FCT_VAL_SHIFT, TRNG_MCTL_FCT_VAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field ENT_VAL[10] (RO) |
| * |
| * Read only: Entropy Valid. Will assert only if TRNG ACC bit is set, and then |
| * after an entropy value is generated. Will be cleared when ENT15 is read. (ENT0 |
| * through ENT14 should be read before reading ENT15). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_ENT_VAL field. */ |
| #define TRNG_RD_MCTL_ENT_VAL(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_ENT_VAL_MASK) >> TRNG_MCTL_ENT_VAL_SHIFT) |
| #define TRNG_BRD_MCTL_ENT_VAL(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_ENT_VAL_SHIFT, TRNG_MCTL_ENT_VAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field TST_OUT[11] (RO) |
| * |
| * Read only: Test point inside ring oscillator. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_TST_OUT field. */ |
| #define TRNG_RD_MCTL_TST_OUT(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_TST_OUT_MASK) >> TRNG_MCTL_TST_OUT_SHIFT) |
| #define TRNG_BRD_MCTL_TST_OUT(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_TST_OUT_SHIFT, TRNG_MCTL_TST_OUT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field ERR[12] (W1C) |
| * |
| * Read: Error status. 1 = error detected. 0 = no error.Write: Write 1 to clear |
| * errors. Writing 0 has no effect. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_ERR field. */ |
| #define TRNG_RD_MCTL_ERR(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_ERR_MASK) >> TRNG_MCTL_ERR_SHIFT) |
| #define TRNG_BRD_MCTL_ERR(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_ERR_SHIFT, TRNG_MCTL_ERR_WIDTH)) |
| |
| /*! @brief Set the ERR field to a new value. */ |
| #define TRNG_WR_MCTL_ERR(base, value) (TRNG_RMW_MCTL(base, TRNG_MCTL_ERR_MASK, TRNG_MCTL_ERR(value))) |
| #define TRNG_BWR_MCTL_ERR(base, value) (BME_BFI32(&TRNG_MCTL_REG(base), ((uint32_t)(value) << TRNG_MCTL_ERR_SHIFT), TRNG_MCTL_ERR_SHIFT, TRNG_MCTL_ERR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field TSTOP_OK[13] (RO) |
| * |
| * TRNG_OK_TO_STOP. Software should check that this bit is a 1 before |
| * transitioning RNG to low power mode (RNG clock stopped). RNG turns on the TRNG |
| * free-running ring oscillator whenever new entropy is being generated and turns off the |
| * ring oscillator when entropy generation is complete. If the RNG clock is |
| * stopped while the TRNG ring oscillator is running, the oscillator will continue |
| * running even though the RNG clock is stopped. TSTOP_OK is asserted when the TRNG |
| * ring oscillator is not running. and therefore it is ok to stop the RNG clock. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_TSTOP_OK field. */ |
| #define TRNG_RD_MCTL_TSTOP_OK(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_TSTOP_OK_MASK) >> TRNG_MCTL_TSTOP_OK_SHIFT) |
| #define TRNG_BRD_MCTL_TSTOP_OK(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_TSTOP_OK_SHIFT, TRNG_MCTL_TSTOP_OK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_MCTL, field PRGM[16] (RW) |
| * |
| * Programming Mode Select. When this bit is 1, the TRNG is in Program Mode, |
| * otherwise it is in Run Mode. No Entropy value will be generated while the TRNG is |
| * in Program Mode. Note that different RNG registers are accessible at the same |
| * address depending on whether PRGM is set to 1 or 0. This is noted in the RNG |
| * register descriptions. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_MCTL_PRGM field. */ |
| #define TRNG_RD_MCTL_PRGM(base) ((TRNG_MCTL_REG(base) & TRNG_MCTL_PRGM_MASK) >> TRNG_MCTL_PRGM_SHIFT) |
| #define TRNG_BRD_MCTL_PRGM(base) (BME_UBFX32(&TRNG_MCTL_REG(base), TRNG_MCTL_PRGM_SHIFT, TRNG_MCTL_PRGM_WIDTH)) |
| |
| /*! @brief Set the PRGM field to a new value. */ |
| #define TRNG_WR_MCTL_PRGM(base, value) (TRNG_RMW_MCTL(base, (TRNG_MCTL_PRGM_MASK | TRNG_MCTL_ERR_MASK), TRNG_MCTL_PRGM(value))) |
| #define TRNG_BWR_MCTL_PRGM(base, value) (BME_BFI32(&TRNG_MCTL_REG(base), ((uint32_t)(value) << TRNG_MCTL_PRGM_SHIFT), TRNG_MCTL_PRGM_SHIFT, TRNG_MCTL_PRGM_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCMISC - RNG Statistical Check Miscellaneous Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCMISC - RNG Statistical Check Miscellaneous Register (RW) |
| * |
| * Reset value: 0x0001001FU |
| * |
| * The RNG Statistical Check Miscellaneous Register contains the Long Run |
| * Maximum Limit value and the Retry Count value. This register is accessible only when |
| * the MCTL[PRGM] bit is 1, otherwise this register will read zeroes, and cannot |
| * be written. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCMISC register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCMISC(base) (TRNG_SCMISC_REG(base)) |
| #define TRNG_WR_SCMISC(base, value) (TRNG_SCMISC_REG(base) = (value)) |
| #define TRNG_RMW_SCMISC(base, mask, value) (TRNG_WR_SCMISC(base, (TRNG_RD_SCMISC(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SCMISC(base, value) (BME_OR32(&TRNG_SCMISC_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SCMISC(base, value) (BME_AND32(&TRNG_SCMISC_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SCMISC(base, value) (BME_XOR32(&TRNG_SCMISC_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCMISC bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCMISC, field LRUN_MAX[7:0] (RW) |
| * |
| * LONG RUN MAX LIMIT. This value is the largest allowable number of consecutive |
| * samples of all 1, or all 0, that is allowed during the Entropy generation. |
| * This field is writable only if MCTL[PRGM] bit is 1. This field will read zeroes |
| * if MCTL[PRGM] = 0. This field is cleared to 22h by writing the MCTL[RST_DEF] |
| * bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCMISC_LRUN_MAX field. */ |
| #define TRNG_RD_SCMISC_LRUN_MAX(base) ((TRNG_SCMISC_REG(base) & TRNG_SCMISC_LRUN_MAX_MASK) >> TRNG_SCMISC_LRUN_MAX_SHIFT) |
| #define TRNG_BRD_SCMISC_LRUN_MAX(base) (BME_UBFX32(&TRNG_SCMISC_REG(base), TRNG_SCMISC_LRUN_MAX_SHIFT, TRNG_SCMISC_LRUN_MAX_WIDTH)) |
| |
| /*! @brief Set the LRUN_MAX field to a new value. */ |
| #define TRNG_WR_SCMISC_LRUN_MAX(base, value) (TRNG_RMW_SCMISC(base, TRNG_SCMISC_LRUN_MAX_MASK, TRNG_SCMISC_LRUN_MAX(value))) |
| #define TRNG_BWR_SCMISC_LRUN_MAX(base, value) (BME_BFI32(&TRNG_SCMISC_REG(base), ((uint32_t)(value) << TRNG_SCMISC_LRUN_MAX_SHIFT), TRNG_SCMISC_LRUN_MAX_SHIFT, TRNG_SCMISC_LRUN_MAX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCMISC, field RTY_CT[19:16] (RW) |
| * |
| * RETRY COUNT. If a statistical check fails during the TRNG Entropy Generation, |
| * the RTY_CT value indicates the number of times a retry should occur before |
| * generating an error. This field is writable only if MCTL[PRGM] bit is 1. This |
| * field will read zeroes if MCTL[PRGM] = 0. This field is cleared to 1h by writing |
| * the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCMISC_RTY_CT field. */ |
| #define TRNG_RD_SCMISC_RTY_CT(base) ((TRNG_SCMISC_REG(base) & TRNG_SCMISC_RTY_CT_MASK) >> TRNG_SCMISC_RTY_CT_SHIFT) |
| #define TRNG_BRD_SCMISC_RTY_CT(base) (BME_UBFX32(&TRNG_SCMISC_REG(base), TRNG_SCMISC_RTY_CT_SHIFT, TRNG_SCMISC_RTY_CT_WIDTH)) |
| |
| /*! @brief Set the RTY_CT field to a new value. */ |
| #define TRNG_WR_SCMISC_RTY_CT(base, value) (TRNG_RMW_SCMISC(base, TRNG_SCMISC_RTY_CT_MASK, TRNG_SCMISC_RTY_CT(value))) |
| #define TRNG_BWR_SCMISC_RTY_CT(base, value) (BME_BFI32(&TRNG_SCMISC_REG(base), ((uint32_t)(value) << TRNG_SCMISC_RTY_CT_SHIFT), TRNG_SCMISC_RTY_CT_SHIFT, TRNG_SCMISC_RTY_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRRNG - RNG Poker Range Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRRNG - RNG Poker Range Register (RW) |
| * |
| * Reset value: 0x000009A3U |
| * |
| * The RNG Poker Range Register defines the difference between the TRNG Poker |
| * Maximum Limit and the minimum limit. These limits are used during the TRNG |
| * Statistical Check Poker Test. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRRNG register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRRNG(base) (TRNG_PKRRNG_REG(base)) |
| #define TRNG_WR_PKRRNG(base, value) (TRNG_PKRRNG_REG(base) = (value)) |
| #define TRNG_RMW_PKRRNG(base, mask, value) (TRNG_WR_PKRRNG(base, (TRNG_RD_PKRRNG(base) & ~(mask)) | (value))) |
| #define TRNG_SET_PKRRNG(base, value) (BME_OR32(&TRNG_PKRRNG_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_PKRRNG(base, value) (BME_AND32(&TRNG_PKRRNG_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_PKRRNG(base, value) (BME_XOR32(&TRNG_PKRRNG_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRRNG bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRRNG, field PKR_RNG[15:0] (RW) |
| * |
| * Poker Range. During the TRNG Statistical Checks, a "Poker Test" is run which |
| * requires a maximum and minimum limit. The maximum is programmed in the |
| * RTPKRMAX[PKR_MAX] register, and the minimum is derived by subtracting the PKR_RNG |
| * value from the programmed maximum value. This field is writable only if |
| * MCTL[PRGM] bit is 1. This field will read zeroes if MCTL[PRGM] = 0. This field is |
| * cleared to 09A3h (decimal 2467) by writing the MCTL[RST_DEF] bit to 1. Note that |
| * the minimum allowable Poker result is PKR_MAX - PKR_RNG + 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRRNG_PKR_RNG field. */ |
| #define TRNG_RD_PKRRNG_PKR_RNG(base) ((TRNG_PKRRNG_REG(base) & TRNG_PKRRNG_PKR_RNG_MASK) >> TRNG_PKRRNG_PKR_RNG_SHIFT) |
| #define TRNG_BRD_PKRRNG_PKR_RNG(base) (BME_UBFX32(&TRNG_PKRRNG_REG(base), TRNG_PKRRNG_PKR_RNG_SHIFT, TRNG_PKRRNG_PKR_RNG_WIDTH)) |
| |
| /*! @brief Set the PKR_RNG field to a new value. */ |
| #define TRNG_WR_PKRRNG_PKR_RNG(base, value) (TRNG_RMW_PKRRNG(base, TRNG_PKRRNG_PKR_RNG_MASK, TRNG_PKRRNG_PKR_RNG(value))) |
| #define TRNG_BWR_PKRRNG_PKR_RNG(base, value) (BME_BFI32(&TRNG_PKRRNG_REG(base), ((uint32_t)(value) << TRNG_PKRRNG_PKR_RNG_SHIFT), TRNG_PKRRNG_PKR_RNG_SHIFT, TRNG_PKRRNG_PKR_RNG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRMAX - RNG Poker Maximum Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRMAX - RNG Poker Maximum Limit Register (RW) |
| * |
| * Reset value: 0x00006920U |
| * |
| * The RNG Poker Maximum Limit Register defines Maximum Limit allowable during |
| * the TRNG Statistical Check Poker Test. Note that this offset (0xBASE_060C) is |
| * used as PKRMAX only if MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this offset is used |
| * as the PKRSQ readback register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRMAX register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRMAX(base) (TRNG_PKRMAX_REG(base)) |
| #define TRNG_WR_PKRMAX(base, value) (TRNG_PKRMAX_REG(base) = (value)) |
| #define TRNG_RMW_PKRMAX(base, mask, value) (TRNG_WR_PKRMAX(base, (TRNG_RD_PKRMAX(base) & ~(mask)) | (value))) |
| #define TRNG_SET_PKRMAX(base, value) (BME_OR32(&TRNG_PKRMAX_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_PKRMAX(base, value) (BME_AND32(&TRNG_PKRMAX_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_PKRMAX(base, value) (BME_XOR32(&TRNG_PKRMAX_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRMAX bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRMAX, field PKR_MAX[23:0] (RW) |
| * |
| * Poker Maximum Limit. During the TRNG Statistical Checks, a "Poker Test" is |
| * run which requires a maximum and minimum limit. The maximum allowable result is |
| * programmed in the PKRMAX[PKR_MAX] register. This field is writable only if |
| * MCTL[PRGM] bit is 1. This register is cleared to 006920h (decimal 26912) by |
| * writing the MCTL[RST_DEF] bit to 1. Note that the PKRMAX and PKRRNG registers |
| * combined are used to define the minimum allowable Poker result, which is PKR_MAX - |
| * PKR_RNG + 1. Note that if MCTL[PRGM] bit is 0, this register address is used |
| * to read the Poker Test Square Calculation result in register PKRSQ, as defined |
| * in the following section. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRMAX_PKR_MAX field. */ |
| #define TRNG_RD_PKRMAX_PKR_MAX(base) ((TRNG_PKRMAX_REG(base) & TRNG_PKRMAX_PKR_MAX_MASK) >> TRNG_PKRMAX_PKR_MAX_SHIFT) |
| #define TRNG_BRD_PKRMAX_PKR_MAX(base) (TRNG_RD_PKRMAX_PKR_MAX(base)) |
| |
| /*! @brief Set the PKR_MAX field to a new value. */ |
| #define TRNG_WR_PKRMAX_PKR_MAX(base, value) (TRNG_RMW_PKRMAX(base, TRNG_PKRMAX_PKR_MAX_MASK, TRNG_PKRMAX_PKR_MAX(value))) |
| #define TRNG_BWR_PKRMAX_PKR_MAX(base, value) (TRNG_WR_PKRMAX_PKR_MAX(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRSQ - RNG Poker Square Calculation Result Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRSQ - RNG Poker Square Calculation Result Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Poker Square Calculation Result Register is a read-only register used |
| * to read the result of the TRNG Statistical Check Poker Test's Square |
| * Calculation. This test starts with the PKRMAX value and decreases towards a final |
| * result, which is read here. For the Poker Test to pass, this final result must be |
| * less than the programmed PKRRNG value. Note that this offset (0xBASE_060C) is |
| * used as PKRMAX if MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this offset is used as |
| * PKRSQ readback register, as described here. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRSQ register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRSQ(base) (TRNG_PKRSQ_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRSQ bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRSQ, field PKR_SQ[23:0] (RO) |
| * |
| * Poker Square Calculation Result. During the TRNG Statistical Checks, a "Poker |
| * Test" is run which starts with the value PKRMAX[PKR_MAX]. This value |
| * decreases according to a "sum of squares" algorithm, and must remain greater than |
| * zero, but less than the PKRRNG[PKR_RNG] limit. The resulting value may be read |
| * through this register, if MCTL[PRGM] bit is 0. Note that if MCTL[PRGM] bit is 1, |
| * this register address is used to access the Poker Test Maximum Limit in |
| * register PKRMAX, as defined in the previous section. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRSQ_PKR_SQ field. */ |
| #define TRNG_RD_PKRSQ_PKR_SQ(base) ((TRNG_PKRSQ_REG(base) & TRNG_PKRSQ_PKR_SQ_MASK) >> TRNG_PKRSQ_PKR_SQ_SHIFT) |
| #define TRNG_BRD_PKRSQ_PKR_SQ(base) (TRNG_RD_PKRSQ_PKR_SQ(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SDCTL - RNG Seed Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SDCTL - RNG Seed Control Register (RW) |
| * |
| * Reset value: 0x0C8009C4U |
| * |
| * The RNG Seed Control Register contains two fields. One field defines the |
| * length (in system clocks) of each Entropy sample (ENT_DLY), and the other field |
| * indicates the number of samples that will taken during each TRNG Entropy |
| * generation (SAMP_SIZE). |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SDCTL register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SDCTL(base) (TRNG_SDCTL_REG(base)) |
| #define TRNG_WR_SDCTL(base, value) (TRNG_SDCTL_REG(base) = (value)) |
| #define TRNG_RMW_SDCTL(base, mask, value) (TRNG_WR_SDCTL(base, (TRNG_RD_SDCTL(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SDCTL(base, value) (BME_OR32(&TRNG_SDCTL_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SDCTL(base, value) (BME_AND32(&TRNG_SDCTL_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SDCTL(base, value) (BME_XOR32(&TRNG_SDCTL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SDCTL bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SDCTL, field SAMP_SIZE[15:0] (RW) |
| * |
| * Sample Size. Defines the total number of Entropy samples that will be taken |
| * during Entropy generation. This field is writable only if MCTL[PRGM] bit is 1. |
| * This field will read zeroes if MCTL[PRGM] = 0. This field is cleared to 09C4h |
| * (decimal 2500) by writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SDCTL_SAMP_SIZE field. */ |
| #define TRNG_RD_SDCTL_SAMP_SIZE(base) ((TRNG_SDCTL_REG(base) & TRNG_SDCTL_SAMP_SIZE_MASK) >> TRNG_SDCTL_SAMP_SIZE_SHIFT) |
| #define TRNG_BRD_SDCTL_SAMP_SIZE(base) (BME_UBFX32(&TRNG_SDCTL_REG(base), TRNG_SDCTL_SAMP_SIZE_SHIFT, TRNG_SDCTL_SAMP_SIZE_WIDTH)) |
| |
| /*! @brief Set the SAMP_SIZE field to a new value. */ |
| #define TRNG_WR_SDCTL_SAMP_SIZE(base, value) (TRNG_RMW_SDCTL(base, TRNG_SDCTL_SAMP_SIZE_MASK, TRNG_SDCTL_SAMP_SIZE(value))) |
| #define TRNG_BWR_SDCTL_SAMP_SIZE(base, value) (BME_BFI32(&TRNG_SDCTL_REG(base), ((uint32_t)(value) << TRNG_SDCTL_SAMP_SIZE_SHIFT), TRNG_SDCTL_SAMP_SIZE_SHIFT, TRNG_SDCTL_SAMP_SIZE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SDCTL, field ENT_DLY[31:16] (RW) |
| * |
| * Entropy Delay. Defines the length (in system clocks) of each Entropy sample |
| * taken. This field is writable only if MCTL[PRGM] bit is 1. This field will read |
| * zeroes if MCTL[PRGM] = 0. This field is cleared to 0C80h (decimal 3200) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SDCTL_ENT_DLY field. */ |
| #define TRNG_RD_SDCTL_ENT_DLY(base) ((TRNG_SDCTL_REG(base) & TRNG_SDCTL_ENT_DLY_MASK) >> TRNG_SDCTL_ENT_DLY_SHIFT) |
| #define TRNG_BRD_SDCTL_ENT_DLY(base) (BME_UBFX32(&TRNG_SDCTL_REG(base), TRNG_SDCTL_ENT_DLY_SHIFT, TRNG_SDCTL_ENT_DLY_WIDTH)) |
| |
| /*! @brief Set the ENT_DLY field to a new value. */ |
| #define TRNG_WR_SDCTL_ENT_DLY(base, value) (TRNG_RMW_SDCTL(base, TRNG_SDCTL_ENT_DLY_MASK, TRNG_SDCTL_ENT_DLY(value))) |
| #define TRNG_BWR_SDCTL_ENT_DLY(base, value) (BME_BFI32(&TRNG_SDCTL_REG(base), ((uint32_t)(value) << TRNG_SDCTL_ENT_DLY_SHIFT), TRNG_SDCTL_ENT_DLY_SHIFT, TRNG_SDCTL_ENT_DLY_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SBLIM - RNG Sparse Bit Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SBLIM - RNG Sparse Bit Limit Register (RW) |
| * |
| * Reset value: 0x0000003FU |
| * |
| * The RNG Sparse Bit Limit Register is used when Von Neumann sampling is |
| * selected during Entropy Generation. It defines the maximum number of consecutive Von |
| * Neumann samples which may be discarded before an error is generated. Note |
| * that this address (0xBASE_0614) is used as SBLIM only if MCTL[PRGM] is 1. If |
| * MCTL[PRGM] is 0, this address is used as TOTSAM readback register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SBLIM register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SBLIM(base) (TRNG_SBLIM_REG(base)) |
| #define TRNG_WR_SBLIM(base, value) (TRNG_SBLIM_REG(base) = (value)) |
| #define TRNG_RMW_SBLIM(base, mask, value) (TRNG_WR_SBLIM(base, (TRNG_RD_SBLIM(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SBLIM(base, value) (BME_OR32(&TRNG_SBLIM_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SBLIM(base, value) (BME_AND32(&TRNG_SBLIM_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SBLIM(base, value) (BME_XOR32(&TRNG_SBLIM_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SBLIM bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SBLIM, field SB_LIM[9:0] (RW) |
| * |
| * Sparse Bit Limit. During Von Neumann sampling (if enabled by MCTL[SAMP_MODE], |
| * samples are discarded if two consecutive raw samples are both 0 or both 1. If |
| * this discarding occurs for a long period of time, it indicates that there is |
| * insufficient Entropy. The Sparse Bit Limit defines the maximum number of |
| * consecutive samples that may be discarded before an error is generated. This field |
| * is writable only if MCTL[PRGM] bit is 1. This register is cleared to 03hF by |
| * writing the MCTL[RST_DEF] bit to 1. Note that if MCTL[PRGM] bit is 0, this |
| * register address is used to read the Total Samples count in register TOTSAM, as |
| * defined in the following section. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SBLIM_SB_LIM field. */ |
| #define TRNG_RD_SBLIM_SB_LIM(base) ((TRNG_SBLIM_REG(base) & TRNG_SBLIM_SB_LIM_MASK) >> TRNG_SBLIM_SB_LIM_SHIFT) |
| #define TRNG_BRD_SBLIM_SB_LIM(base) (BME_UBFX32(&TRNG_SBLIM_REG(base), TRNG_SBLIM_SB_LIM_SHIFT, TRNG_SBLIM_SB_LIM_WIDTH)) |
| |
| /*! @brief Set the SB_LIM field to a new value. */ |
| #define TRNG_WR_SBLIM_SB_LIM(base, value) (TRNG_RMW_SBLIM(base, TRNG_SBLIM_SB_LIM_MASK, TRNG_SBLIM_SB_LIM(value))) |
| #define TRNG_BWR_SBLIM_SB_LIM(base, value) (BME_BFI32(&TRNG_SBLIM_REG(base), ((uint32_t)(value) << TRNG_SBLIM_SB_LIM_SHIFT), TRNG_SBLIM_SB_LIM_SHIFT, TRNG_SBLIM_SB_LIM_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_TOTSAM - RNG Total Samples Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_TOTSAM - RNG Total Samples Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Total Samples Register is a read-only register used to read the total |
| * number of samples taken during Entropy generation. It is used to give an |
| * indication of how often a sample is actually used during Von Neumann sampling. |
| * Note that this offset (0xBASE_0614) is used as SBLIM if MCTL[PRGM] is 1. If |
| * MCTL[PRGM] is 0, this offset is used as TOTSAM readback register, as described here. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_TOTSAM register |
| */ |
| /*@{*/ |
| #define TRNG_RD_TOTSAM(base) (TRNG_TOTSAM_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_TOTSAM bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_TOTSAM, field TOT_SAM[19:0] (RO) |
| * |
| * Total Samples. During Entropy generation, the total number of raw samples is |
| * counted. This count is useful in determining how often a sample is used during |
| * Von Neumann sampling. The count may be read through this register, if |
| * MCTL[PRGM] bit is 0. Note that if MCTL[PRGM] bit is 1, this register address is used |
| * to access the Sparse Bit Limit in register SBLIM, as defined in the previous |
| * section. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_TOTSAM_TOT_SAM field. */ |
| #define TRNG_RD_TOTSAM_TOT_SAM(base) ((TRNG_TOTSAM_REG(base) & TRNG_TOTSAM_TOT_SAM_MASK) >> TRNG_TOTSAM_TOT_SAM_SHIFT) |
| #define TRNG_BRD_TOTSAM_TOT_SAM(base) (TRNG_RD_TOTSAM_TOT_SAM(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_FRQMIN - RNG Frequency Count Minimum Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_FRQMIN - RNG Frequency Count Minimum Limit Register (RW) |
| * |
| * Reset value: 0x00000640U |
| * |
| * The RNG Frequency Count Minimum Limit Register defines the minimum allowable |
| * count taken by the Entropy sample counter during each Entropy sample. During |
| * any sample period, if the count is less than this programmed minimum, a |
| * Frequency Count Fail is flagged in MCTL[FCT_FAIL] and an error is generated. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_FRQMIN register |
| */ |
| /*@{*/ |
| #define TRNG_RD_FRQMIN(base) (TRNG_FRQMIN_REG(base)) |
| #define TRNG_WR_FRQMIN(base, value) (TRNG_FRQMIN_REG(base) = (value)) |
| #define TRNG_RMW_FRQMIN(base, mask, value) (TRNG_WR_FRQMIN(base, (TRNG_RD_FRQMIN(base) & ~(mask)) | (value))) |
| #define TRNG_SET_FRQMIN(base, value) (BME_OR32(&TRNG_FRQMIN_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_FRQMIN(base, value) (BME_AND32(&TRNG_FRQMIN_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_FRQMIN(base, value) (BME_XOR32(&TRNG_FRQMIN_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_FRQMIN bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_FRQMIN, field FRQ_MIN[21:0] (RW) |
| * |
| * Frequency Count Minimum Limit. Defines the minimum allowable count taken |
| * during each entropy sample. This field is writable only if MCTL[PRGM] bit is 1. |
| * This field will read zeroes if MCTL[PRGM] = 0. This field is cleared to 0000h64 |
| * by writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_FRQMIN_FRQ_MIN field. */ |
| #define TRNG_RD_FRQMIN_FRQ_MIN(base) ((TRNG_FRQMIN_REG(base) & TRNG_FRQMIN_FRQ_MIN_MASK) >> TRNG_FRQMIN_FRQ_MIN_SHIFT) |
| #define TRNG_BRD_FRQMIN_FRQ_MIN(base) (TRNG_RD_FRQMIN_FRQ_MIN(base)) |
| |
| /*! @brief Set the FRQ_MIN field to a new value. */ |
| #define TRNG_WR_FRQMIN_FRQ_MIN(base, value) (TRNG_RMW_FRQMIN(base, TRNG_FRQMIN_FRQ_MIN_MASK, TRNG_FRQMIN_FRQ_MIN(value))) |
| #define TRNG_BWR_FRQMIN_FRQ_MIN(base, value) (TRNG_WR_FRQMIN_FRQ_MIN(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_FRQMAX - RNG Frequency Count Maximum Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_FRQMAX - RNG Frequency Count Maximum Limit Register (RW) |
| * |
| * Reset value: 0x00006400U |
| * |
| * The RNG Frequency Count Maximum Limit Register defines the maximum allowable |
| * count taken by the Entropy sample counter during each Entropy sample. During |
| * any sample period, if the count is greater than this programmed maximum, a |
| * Frequency Count Fail is flagged in MCTL[FCT_FAIL] and an error is generated. Note |
| * that this address (061C) is used as FRQMAX only if MCTL[PRGM] is 1. If |
| * MCTL[PRGM] is 0, this address is used as FRQCNT readback register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_FRQMAX register |
| */ |
| /*@{*/ |
| #define TRNG_RD_FRQMAX(base) (TRNG_FRQMAX_REG(base)) |
| #define TRNG_WR_FRQMAX(base, value) (TRNG_FRQMAX_REG(base) = (value)) |
| #define TRNG_RMW_FRQMAX(base, mask, value) (TRNG_WR_FRQMAX(base, (TRNG_RD_FRQMAX(base) & ~(mask)) | (value))) |
| #define TRNG_SET_FRQMAX(base, value) (BME_OR32(&TRNG_FRQMAX_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_FRQMAX(base, value) (BME_AND32(&TRNG_FRQMAX_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_FRQMAX(base, value) (BME_XOR32(&TRNG_FRQMAX_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_FRQMAX bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_FRQMAX, field FRQ_MAX[21:0] (RW) |
| * |
| * Frequency Counter Maximum Limit. Defines the maximum allowable count taken |
| * during each entropy sample. This field is writable only if MCTL[PRGM] bit is 1. |
| * This register is cleared to 000640h by writing the MCTL[RST_DEF] bit to 1. |
| * Note that if MCTL[PRGM] bit is 0, this register address is used to read the |
| * Frequency Count result in register FRQCNT, as defined in the following section. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_FRQMAX_FRQ_MAX field. */ |
| #define TRNG_RD_FRQMAX_FRQ_MAX(base) ((TRNG_FRQMAX_REG(base) & TRNG_FRQMAX_FRQ_MAX_MASK) >> TRNG_FRQMAX_FRQ_MAX_SHIFT) |
| #define TRNG_BRD_FRQMAX_FRQ_MAX(base) (TRNG_RD_FRQMAX_FRQ_MAX(base)) |
| |
| /*! @brief Set the FRQ_MAX field to a new value. */ |
| #define TRNG_WR_FRQMAX_FRQ_MAX(base, value) (TRNG_RMW_FRQMAX(base, TRNG_FRQMAX_FRQ_MAX_MASK, TRNG_FRQMAX_FRQ_MAX(value))) |
| #define TRNG_BWR_FRQMAX_FRQ_MAX(base, value) (TRNG_WR_FRQMAX_FRQ_MAX(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_FRQCNT - RNG Frequency Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_FRQCNT - RNG Frequency Count Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Frequency Count Register is a read-only register used to read the |
| * frequency counter within the TRNG entropy generator. It will read all zeroes |
| * unless MCTL[TRNG_ACC] = 1. Note that this offset (0xBASE_061C) is used as FRQMAX |
| * if MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this offset is used as FRQCNT readback |
| * register, as described here. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_FRQCNT register |
| */ |
| /*@{*/ |
| #define TRNG_RD_FRQCNT(base) (TRNG_FRQCNT_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_FRQCNT bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_FRQCNT, field FRQ_CT[21:0] (RO) |
| * |
| * Frequency Count. If MCTL[TRNG_ACC] = 1, reads a sample frequency count taken |
| * during entropy generation. Requires MCTL[PRGM] = 0. Note that if MCTL[PRGM] |
| * bit is 1, this register address is used to access the Poker Test Maximum Limit |
| * in register PKRMAX, as defined in the previous section. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_FRQCNT_FRQ_CT field. */ |
| #define TRNG_RD_FRQCNT_FRQ_CT(base) ((TRNG_FRQCNT_REG(base) & TRNG_FRQCNT_FRQ_CT_MASK) >> TRNG_FRQCNT_FRQ_CT_SHIFT) |
| #define TRNG_BRD_FRQCNT_FRQ_CT(base) (TRNG_RD_FRQCNT_FRQ_CT(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCMC - RNG Statistical Check Monobit Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCMC - RNG Statistical Check Monobit Count Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Monobit Count Register is a read-only register used |
| * to read the final monobit count after entropy generation. This counter starts |
| * with the value in SCML[MONO_MAX], and is decremented each time a one is |
| * sampled. Note that this offset (0xBASE_0620) is used as SCML if MCTL[PRGM] is 1. If |
| * MCTL[PRGM] is 0, this offset is used as SCMC readback register, as described |
| * here. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCMC register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCMC(base) (TRNG_SCMC_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCMC bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCMC, field MONO_CT[15:0] (RO) |
| * |
| * Monobit Count. Reads the final Monobit count after entropy generation. |
| * Requires MCTL[PRGM] = 0. Note that if MCTL[PRGM] bit is 1, this register address is |
| * used to access the Statistical Check Monobit Limit in register SCML, as |
| * defined in the previous section. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCMC_MONO_CT field. */ |
| #define TRNG_RD_SCMC_MONO_CT(base) ((TRNG_SCMC_REG(base) & TRNG_SCMC_MONO_CT_MASK) >> TRNG_SCMC_MONO_CT_SHIFT) |
| #define TRNG_BRD_SCMC_MONO_CT(base) (BME_UBFX32(&TRNG_SCMC_REG(base), TRNG_SCMC_MONO_CT_SHIFT, TRNG_SCMC_MONO_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCML - RNG Statistical Check Monobit Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCML - RNG Statistical Check Monobit Limit Register (RW) |
| * |
| * Reset value: 0x010C0568U |
| * |
| * The RNG Statistical Check Monobit Limit Register defines the allowable |
| * maximum and minimum number of ones/zero detected during entropy generation. To pass |
| * the test, the number of ones/zeroes generated must be less than the programmed |
| * maximum value, and the number of ones/zeroes generated must be greater than |
| * (maximum - range). If this test fails, the Retry Counter in SCMISC will be |
| * decremented, and a retry will occur if the Retry Count has not reached zero. If |
| * the Retry Count has reached zero, an error will be generated. Note that this |
| * offset (0xBASE_0620) is used as SCML only if MCTL[PRGM] is 1. If MCTL[PRGM] is 0, |
| * this offset is used as SCMC readback register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCML register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCML(base) (TRNG_SCML_REG(base)) |
| #define TRNG_WR_SCML(base, value) (TRNG_SCML_REG(base) = (value)) |
| #define TRNG_RMW_SCML(base, mask, value) (TRNG_WR_SCML(base, (TRNG_RD_SCML(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SCML(base, value) (BME_OR32(&TRNG_SCML_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SCML(base, value) (BME_AND32(&TRNG_SCML_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SCML(base, value) (BME_XOR32(&TRNG_SCML_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCML bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCML, field MONO_MAX[15:0] (RW) |
| * |
| * Monobit Maximum Limit. Defines the maximum allowable count taken during |
| * entropy generation. The number of ones/zeroes detected during entropy generation |
| * must be less than MONO_MAX, else a retry or error will occur. This register is |
| * cleared to 00056Bh (decimal 1387) by writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCML_MONO_MAX field. */ |
| #define TRNG_RD_SCML_MONO_MAX(base) ((TRNG_SCML_REG(base) & TRNG_SCML_MONO_MAX_MASK) >> TRNG_SCML_MONO_MAX_SHIFT) |
| #define TRNG_BRD_SCML_MONO_MAX(base) (BME_UBFX32(&TRNG_SCML_REG(base), TRNG_SCML_MONO_MAX_SHIFT, TRNG_SCML_MONO_MAX_WIDTH)) |
| |
| /*! @brief Set the MONO_MAX field to a new value. */ |
| #define TRNG_WR_SCML_MONO_MAX(base, value) (TRNG_RMW_SCML(base, TRNG_SCML_MONO_MAX_MASK, TRNG_SCML_MONO_MAX(value))) |
| #define TRNG_BWR_SCML_MONO_MAX(base, value) (BME_BFI32(&TRNG_SCML_REG(base), ((uint32_t)(value) << TRNG_SCML_MONO_MAX_SHIFT), TRNG_SCML_MONO_MAX_SHIFT, TRNG_SCML_MONO_MAX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCML, field MONO_RNG[31:16] (RW) |
| * |
| * Monobit Range. The number of ones/zeroes detected during entropy generation |
| * must be greater than MONO_MAX - MONO_RNG, else a retry or error will occur. |
| * This register is cleared to 000112h (decimal 274) by writing the MCTL[RST_DEF] |
| * bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCML_MONO_RNG field. */ |
| #define TRNG_RD_SCML_MONO_RNG(base) ((TRNG_SCML_REG(base) & TRNG_SCML_MONO_RNG_MASK) >> TRNG_SCML_MONO_RNG_SHIFT) |
| #define TRNG_BRD_SCML_MONO_RNG(base) (BME_UBFX32(&TRNG_SCML_REG(base), TRNG_SCML_MONO_RNG_SHIFT, TRNG_SCML_MONO_RNG_WIDTH)) |
| |
| /*! @brief Set the MONO_RNG field to a new value. */ |
| #define TRNG_WR_SCML_MONO_RNG(base, value) (TRNG_RMW_SCML(base, TRNG_SCML_MONO_RNG_MASK, TRNG_SCML_MONO_RNG(value))) |
| #define TRNG_BWR_SCML_MONO_RNG(base, value) (BME_BFI32(&TRNG_SCML_REG(base), ((uint32_t)(value) << TRNG_SCML_MONO_RNG_SHIFT), TRNG_SCML_MONO_RNG_SHIFT, TRNG_SCML_MONO_RNG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR1L - RNG Statistical Check Run Length 1 Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR1L - RNG Statistical Check Run Length 1 Limit Register (RW) |
| * |
| * Reset value: 0x00B20195U |
| * |
| * The RNG Statistical Check Run Length 1 Limit Register defines the allowable |
| * maximum and minimum number of runs of length 1 detected during entropy |
| * generation. To pass the test, the number of runs of length 1 (for samples of both 0 |
| * and 1) must be less than the programmed maximum value, and the number of runs of |
| * length 1 must be greater than (maximum - range). If this test fails, the |
| * Retry Counter in SCMISC will be decremented, and a retry will occur if the Retry |
| * Count has not reached zero. If the Retry Count has reached zero, an error will |
| * be generated. Note that this address (0xBASE_0624) is used as SCR1L only if |
| * MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this address is used as SCR1C readback |
| * register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR1L register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR1L(base) (TRNG_SCR1L_REG(base)) |
| #define TRNG_WR_SCR1L(base, value) (TRNG_SCR1L_REG(base) = (value)) |
| #define TRNG_RMW_SCR1L(base, mask, value) (TRNG_WR_SCR1L(base, (TRNG_RD_SCR1L(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SCR1L(base, value) (BME_OR32(&TRNG_SCR1L_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SCR1L(base, value) (BME_AND32(&TRNG_SCR1L_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SCR1L(base, value) (BME_XOR32(&TRNG_SCR1L_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR1L bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR1L, field RUN1_MAX[14:0] (RW) |
| * |
| * Run Length 1 Maximum Limit. Defines the maximum allowable runs of length 1 |
| * (for both 0 and 1) detected during entropy generation. The number of runs of |
| * length 1 detected during entropy generation must be less than RUN1_MAX, else a |
| * retry or error will occur. This register is cleared to 01E5h (decimal 485) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR1L_RUN1_MAX field. */ |
| #define TRNG_RD_SCR1L_RUN1_MAX(base) ((TRNG_SCR1L_REG(base) & TRNG_SCR1L_RUN1_MAX_MASK) >> TRNG_SCR1L_RUN1_MAX_SHIFT) |
| #define TRNG_BRD_SCR1L_RUN1_MAX(base) (BME_UBFX32(&TRNG_SCR1L_REG(base), TRNG_SCR1L_RUN1_MAX_SHIFT, TRNG_SCR1L_RUN1_MAX_WIDTH)) |
| |
| /*! @brief Set the RUN1_MAX field to a new value. */ |
| #define TRNG_WR_SCR1L_RUN1_MAX(base, value) (TRNG_RMW_SCR1L(base, TRNG_SCR1L_RUN1_MAX_MASK, TRNG_SCR1L_RUN1_MAX(value))) |
| #define TRNG_BWR_SCR1L_RUN1_MAX(base, value) (BME_BFI32(&TRNG_SCR1L_REG(base), ((uint32_t)(value) << TRNG_SCR1L_RUN1_MAX_SHIFT), TRNG_SCR1L_RUN1_MAX_SHIFT, TRNG_SCR1L_RUN1_MAX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR1L, field RUN1_RNG[30:16] (RW) |
| * |
| * Run Length 1 Range. The number of runs of length 1 (for both 0 and 1) |
| * detected during entropy generation must be greater than RUN1_MAX - RUN1_RNG, else a |
| * retry or error will occur. This register is cleared to 0102h (decimal 258) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR1L_RUN1_RNG field. */ |
| #define TRNG_RD_SCR1L_RUN1_RNG(base) ((TRNG_SCR1L_REG(base) & TRNG_SCR1L_RUN1_RNG_MASK) >> TRNG_SCR1L_RUN1_RNG_SHIFT) |
| #define TRNG_BRD_SCR1L_RUN1_RNG(base) (BME_UBFX32(&TRNG_SCR1L_REG(base), TRNG_SCR1L_RUN1_RNG_SHIFT, TRNG_SCR1L_RUN1_RNG_WIDTH)) |
| |
| /*! @brief Set the RUN1_RNG field to a new value. */ |
| #define TRNG_WR_SCR1L_RUN1_RNG(base, value) (TRNG_RMW_SCR1L(base, TRNG_SCR1L_RUN1_RNG_MASK, TRNG_SCR1L_RUN1_RNG(value))) |
| #define TRNG_BWR_SCR1L_RUN1_RNG(base, value) (BME_BFI32(&TRNG_SCR1L_REG(base), ((uint32_t)(value) << TRNG_SCR1L_RUN1_RNG_SHIFT), TRNG_SCR1L_RUN1_RNG_SHIFT, TRNG_SCR1L_RUN1_RNG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR1C - RNG Statistical Check Run Length 1 Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR1C - RNG Statistical Check Run Length 1 Count Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Run Length 1 Counters Register is a read-only |
| * register used to read the final Run Length 1 counts after entropy generation. These |
| * counters start with the value in SCR1L[RUN1_MAX]. The R1_1_CT decrements each |
| * time a single one is sampled (preceded by a zero and followed by a zero). The |
| * R1_0_CT decrements each time a single zero is sampled (preceded by a one and |
| * followed by a one). Note that this offset (0xBASE_0624) is used as SCR1L if |
| * MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this offset is used as SCR1C readback |
| * register, as described here. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR1C register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR1C(base) (TRNG_SCR1C_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR1C bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR1C, field R1_0_CT[14:0] (RO) |
| * |
| * Runs of Zero, Length 1 Count. Reads the final Runs of Zeroes, length 1 count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR1C_R1_0_CT field. */ |
| #define TRNG_RD_SCR1C_R1_0_CT(base) ((TRNG_SCR1C_REG(base) & TRNG_SCR1C_R1_0_CT_MASK) >> TRNG_SCR1C_R1_0_CT_SHIFT) |
| #define TRNG_BRD_SCR1C_R1_0_CT(base) (BME_UBFX32(&TRNG_SCR1C_REG(base), TRNG_SCR1C_R1_0_CT_SHIFT, TRNG_SCR1C_R1_0_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR1C, field R1_1_CT[30:16] (RO) |
| * |
| * Runs of One, Length 1 Count. Reads the final Runs of Ones, length 1 count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR1C_R1_1_CT field. */ |
| #define TRNG_RD_SCR1C_R1_1_CT(base) ((TRNG_SCR1C_REG(base) & TRNG_SCR1C_R1_1_CT_MASK) >> TRNG_SCR1C_R1_1_CT_SHIFT) |
| #define TRNG_BRD_SCR1C_R1_1_CT(base) (BME_UBFX32(&TRNG_SCR1C_REG(base), TRNG_SCR1C_R1_1_CT_SHIFT, TRNG_SCR1C_R1_1_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR2L - RNG Statistical Check Run Length 2 Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR2L - RNG Statistical Check Run Length 2 Limit Register (RW) |
| * |
| * Reset value: 0x007A00DCU |
| * |
| * The RNG Statistical Check Run Length 2 Limit Register defines the allowable |
| * maximum and minimum number of runs of length 2 detected during entropy |
| * generation. To pass the test, the number of runs of length 2 (for samples of both 0 |
| * and 1) must be less than the programmed maximum value, and the number of runs of |
| * length 2 must be greater than (maximum - range). If this test fails, the |
| * Retry Counter in SCMISC will be decremented, and a retry will occur if the Retry |
| * Count has not reached zero. If the Retry Count has reached zero, an error will |
| * be generated. Note that this address (0xBASE_0628) is used as SCR2L only if |
| * MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this address is used as SCR2C readback |
| * register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR2L register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR2L(base) (TRNG_SCR2L_REG(base)) |
| #define TRNG_WR_SCR2L(base, value) (TRNG_SCR2L_REG(base) = (value)) |
| #define TRNG_RMW_SCR2L(base, mask, value) (TRNG_WR_SCR2L(base, (TRNG_RD_SCR2L(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SCR2L(base, value) (BME_OR32(&TRNG_SCR2L_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SCR2L(base, value) (BME_AND32(&TRNG_SCR2L_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SCR2L(base, value) (BME_XOR32(&TRNG_SCR2L_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR2L bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR2L, field RUN2_MAX[13:0] (RW) |
| * |
| * Run Length 2 Maximum Limit. Defines the maximum allowable runs of length 2 |
| * (for both 0 and 1) detected during entropy generation. The number of runs of |
| * length 2 detected during entropy generation must be less than RUN2_MAX, else a |
| * retry or error will occur. This register is cleared to 00DCh (decimal 220) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR2L_RUN2_MAX field. */ |
| #define TRNG_RD_SCR2L_RUN2_MAX(base) ((TRNG_SCR2L_REG(base) & TRNG_SCR2L_RUN2_MAX_MASK) >> TRNG_SCR2L_RUN2_MAX_SHIFT) |
| #define TRNG_BRD_SCR2L_RUN2_MAX(base) (BME_UBFX32(&TRNG_SCR2L_REG(base), TRNG_SCR2L_RUN2_MAX_SHIFT, TRNG_SCR2L_RUN2_MAX_WIDTH)) |
| |
| /*! @brief Set the RUN2_MAX field to a new value. */ |
| #define TRNG_WR_SCR2L_RUN2_MAX(base, value) (TRNG_RMW_SCR2L(base, TRNG_SCR2L_RUN2_MAX_MASK, TRNG_SCR2L_RUN2_MAX(value))) |
| #define TRNG_BWR_SCR2L_RUN2_MAX(base, value) (BME_BFI32(&TRNG_SCR2L_REG(base), ((uint32_t)(value) << TRNG_SCR2L_RUN2_MAX_SHIFT), TRNG_SCR2L_RUN2_MAX_SHIFT, TRNG_SCR2L_RUN2_MAX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR2L, field RUN2_RNG[29:16] (RW) |
| * |
| * Run Length 2 Range. The number of runs of length 2 (for both 0 and 1) |
| * detected during entropy generation must be greater than RUN2_MAX - RUN2_RNG, else a |
| * retry or error will occur. This register is cleared to 007Ah (decimal 122) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR2L_RUN2_RNG field. */ |
| #define TRNG_RD_SCR2L_RUN2_RNG(base) ((TRNG_SCR2L_REG(base) & TRNG_SCR2L_RUN2_RNG_MASK) >> TRNG_SCR2L_RUN2_RNG_SHIFT) |
| #define TRNG_BRD_SCR2L_RUN2_RNG(base) (BME_UBFX32(&TRNG_SCR2L_REG(base), TRNG_SCR2L_RUN2_RNG_SHIFT, TRNG_SCR2L_RUN2_RNG_WIDTH)) |
| |
| /*! @brief Set the RUN2_RNG field to a new value. */ |
| #define TRNG_WR_SCR2L_RUN2_RNG(base, value) (TRNG_RMW_SCR2L(base, TRNG_SCR2L_RUN2_RNG_MASK, TRNG_SCR2L_RUN2_RNG(value))) |
| #define TRNG_BWR_SCR2L_RUN2_RNG(base, value) (BME_BFI32(&TRNG_SCR2L_REG(base), ((uint32_t)(value) << TRNG_SCR2L_RUN2_RNG_SHIFT), TRNG_SCR2L_RUN2_RNG_SHIFT, TRNG_SCR2L_RUN2_RNG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR2C - RNG Statistical Check Run Length 2 Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR2C - RNG Statistical Check Run Length 2 Count Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Run Length 2 Counters Register is a read-only |
| * register used to read the final Run Length 2 counts after entropy generation. These |
| * counters start with the value in SCR2L[RUN2_MAX]. The R2_1_CT decrements each |
| * time two consecutive ones are sampled (preceded by a zero and followed by a |
| * zero). The R2_0_CT decrements each time two consecutive zeroes are sampled |
| * (preceded by a one and followed by a one). Note that this offset (0xBASE_0628) is |
| * used as SCR2L if MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this offset is used as |
| * SCR2C readback register, as described here. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR2C register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR2C(base) (TRNG_SCR2C_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR2C bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR2C, field R2_0_CT[13:0] (RO) |
| * |
| * Runs of Zero, Length 2 Count. Reads the final Runs of Zeroes, length 2 count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR2C_R2_0_CT field. */ |
| #define TRNG_RD_SCR2C_R2_0_CT(base) ((TRNG_SCR2C_REG(base) & TRNG_SCR2C_R2_0_CT_MASK) >> TRNG_SCR2C_R2_0_CT_SHIFT) |
| #define TRNG_BRD_SCR2C_R2_0_CT(base) (BME_UBFX32(&TRNG_SCR2C_REG(base), TRNG_SCR2C_R2_0_CT_SHIFT, TRNG_SCR2C_R2_0_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR2C, field R2_1_CT[29:16] (RO) |
| * |
| * Runs of One, Length 2 Count. Reads the final Runs of Ones, length 2 count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR2C_R2_1_CT field. */ |
| #define TRNG_RD_SCR2C_R2_1_CT(base) ((TRNG_SCR2C_REG(base) & TRNG_SCR2C_R2_1_CT_MASK) >> TRNG_SCR2C_R2_1_CT_SHIFT) |
| #define TRNG_BRD_SCR2C_R2_1_CT(base) (BME_UBFX32(&TRNG_SCR2C_REG(base), TRNG_SCR2C_R2_1_CT_SHIFT, TRNG_SCR2C_R2_1_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR3C - RNG Statistical Check Run Length 3 Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR3C - RNG Statistical Check Run Length 3 Count Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Run Length 3 Counters Register is a read-only |
| * register used to read the final Run Length 3 counts after entropy generation. These |
| * counters start with the value in SCR3L[RUN3_MAX]. The R3_1_CT decrements each |
| * time three consecutive ones are sampled (preceded by a zero and followed by a |
| * zero). The R3_0_CT decrements each time three consecutive zeroes are sampled |
| * (preceded by a one and followed by a one). Note that this offset (0xBASE_062C) |
| * is used as SCR3L if MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this offset is used |
| * as SCR3C readback register, as described here. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR3C register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR3C(base) (TRNG_SCR3C_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR3C bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR3C, field R3_0_CT[12:0] (RO) |
| * |
| * Runs of Zeroes, Length 3 Count. Reads the final Runs of Zeroes, length 3 |
| * count after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR3C_R3_0_CT field. */ |
| #define TRNG_RD_SCR3C_R3_0_CT(base) ((TRNG_SCR3C_REG(base) & TRNG_SCR3C_R3_0_CT_MASK) >> TRNG_SCR3C_R3_0_CT_SHIFT) |
| #define TRNG_BRD_SCR3C_R3_0_CT(base) (BME_UBFX32(&TRNG_SCR3C_REG(base), TRNG_SCR3C_R3_0_CT_SHIFT, TRNG_SCR3C_R3_0_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR3C, field R3_1_CT[28:16] (RO) |
| * |
| * Runs of Ones, Length 3 Count. Reads the final Runs of Ones, length 3 count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR3C_R3_1_CT field. */ |
| #define TRNG_RD_SCR3C_R3_1_CT(base) ((TRNG_SCR3C_REG(base) & TRNG_SCR3C_R3_1_CT_MASK) >> TRNG_SCR3C_R3_1_CT_SHIFT) |
| #define TRNG_BRD_SCR3C_R3_1_CT(base) (BME_UBFX32(&TRNG_SCR3C_REG(base), TRNG_SCR3C_R3_1_CT_SHIFT, TRNG_SCR3C_R3_1_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR3L - RNG Statistical Check Run Length 3 Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR3L - RNG Statistical Check Run Length 3 Limit Register (RW) |
| * |
| * Reset value: 0x0058007DU |
| * |
| * The RNG Statistical Check Run Length 3 Limit Register defines the allowable |
| * maximum and minimum number of runs of length 3 detected during entropy |
| * generation. To pass the test, the number of runs of length 3 (for samples of both 0 |
| * and 1) must be less than the programmed maximum value, and the number of runs of |
| * length 3 must be greater than (maximum - range). If this test fails, the |
| * Retry Counter in SCMISC will be decremented, and a retry will occur if the Retry |
| * Count has not reached zero. If the Retry Count has reached zero, an error will |
| * be generated. Note that this address (0xBASE_062C) is used as SCR3L only if |
| * MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this address is used as SCR3C readback |
| * register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR3L register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR3L(base) (TRNG_SCR3L_REG(base)) |
| #define TRNG_WR_SCR3L(base, value) (TRNG_SCR3L_REG(base) = (value)) |
| #define TRNG_RMW_SCR3L(base, mask, value) (TRNG_WR_SCR3L(base, (TRNG_RD_SCR3L(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SCR3L(base, value) (BME_OR32(&TRNG_SCR3L_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SCR3L(base, value) (BME_AND32(&TRNG_SCR3L_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SCR3L(base, value) (BME_XOR32(&TRNG_SCR3L_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR3L bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR3L, field RUN3_MAX[12:0] (RW) |
| * |
| * Run Length 3 Maximum Limit. Defines the maximum allowable runs of length 3 |
| * (for both 0 and 1) detected during entropy generation. The number of runs of |
| * length 3 detected during entropy generation must be less than RUN3_MAX, else a |
| * retry or error will occur. This register is cleared to 007Dh (decimal 125) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR3L_RUN3_MAX field. */ |
| #define TRNG_RD_SCR3L_RUN3_MAX(base) ((TRNG_SCR3L_REG(base) & TRNG_SCR3L_RUN3_MAX_MASK) >> TRNG_SCR3L_RUN3_MAX_SHIFT) |
| #define TRNG_BRD_SCR3L_RUN3_MAX(base) (BME_UBFX32(&TRNG_SCR3L_REG(base), TRNG_SCR3L_RUN3_MAX_SHIFT, TRNG_SCR3L_RUN3_MAX_WIDTH)) |
| |
| /*! @brief Set the RUN3_MAX field to a new value. */ |
| #define TRNG_WR_SCR3L_RUN3_MAX(base, value) (TRNG_RMW_SCR3L(base, TRNG_SCR3L_RUN3_MAX_MASK, TRNG_SCR3L_RUN3_MAX(value))) |
| #define TRNG_BWR_SCR3L_RUN3_MAX(base, value) (BME_BFI32(&TRNG_SCR3L_REG(base), ((uint32_t)(value) << TRNG_SCR3L_RUN3_MAX_SHIFT), TRNG_SCR3L_RUN3_MAX_SHIFT, TRNG_SCR3L_RUN3_MAX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR3L, field RUN3_RNG[28:16] (RW) |
| * |
| * Run Length 3 Range. The number of runs of length 3 (for both 0 and 1) |
| * detected during entropy generation must be greater than RUN3_MAX - RUN3_RNG, else a |
| * retry or error will occur. This register is cleared to 0058h (decimal 88) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR3L_RUN3_RNG field. */ |
| #define TRNG_RD_SCR3L_RUN3_RNG(base) ((TRNG_SCR3L_REG(base) & TRNG_SCR3L_RUN3_RNG_MASK) >> TRNG_SCR3L_RUN3_RNG_SHIFT) |
| #define TRNG_BRD_SCR3L_RUN3_RNG(base) (BME_UBFX32(&TRNG_SCR3L_REG(base), TRNG_SCR3L_RUN3_RNG_SHIFT, TRNG_SCR3L_RUN3_RNG_WIDTH)) |
| |
| /*! @brief Set the RUN3_RNG field to a new value. */ |
| #define TRNG_WR_SCR3L_RUN3_RNG(base, value) (TRNG_RMW_SCR3L(base, TRNG_SCR3L_RUN3_RNG_MASK, TRNG_SCR3L_RUN3_RNG(value))) |
| #define TRNG_BWR_SCR3L_RUN3_RNG(base, value) (BME_BFI32(&TRNG_SCR3L_REG(base), ((uint32_t)(value) << TRNG_SCR3L_RUN3_RNG_SHIFT), TRNG_SCR3L_RUN3_RNG_SHIFT, TRNG_SCR3L_RUN3_RNG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR4C - RNG Statistical Check Run Length 4 Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR4C - RNG Statistical Check Run Length 4 Count Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Run Length 4 Counters Register is a read-only |
| * register used to read the final Run Length 4 counts after entropy generation. These |
| * counters start with the value in SCR4L[RUN4_MAX]. The R4_1_CT decrements each |
| * time four consecutive ones are sampled (preceded by a zero and followed by a |
| * zero). The R4_0_CT decrements each time four consecutive zeroes are sampled |
| * (preceded by a one and followed by a one). Note that this offset (0xBASE_0630) |
| * is used as SCR4L if MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this offset is used as |
| * SCR4C readback register, as described here. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR4C register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR4C(base) (TRNG_SCR4C_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR4C bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR4C, field R4_0_CT[11:0] (RO) |
| * |
| * Runs of Zero, Length 4 Count. Reads the final Runs of Ones, length 4 count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR4C_R4_0_CT field. */ |
| #define TRNG_RD_SCR4C_R4_0_CT(base) ((TRNG_SCR4C_REG(base) & TRNG_SCR4C_R4_0_CT_MASK) >> TRNG_SCR4C_R4_0_CT_SHIFT) |
| #define TRNG_BRD_SCR4C_R4_0_CT(base) (BME_UBFX32(&TRNG_SCR4C_REG(base), TRNG_SCR4C_R4_0_CT_SHIFT, TRNG_SCR4C_R4_0_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR4C, field R4_1_CT[27:16] (RO) |
| * |
| * Runs of One, Length 4 Count. Reads the final Runs of Ones, length 4 count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR4C_R4_1_CT field. */ |
| #define TRNG_RD_SCR4C_R4_1_CT(base) ((TRNG_SCR4C_REG(base) & TRNG_SCR4C_R4_1_CT_MASK) >> TRNG_SCR4C_R4_1_CT_SHIFT) |
| #define TRNG_BRD_SCR4C_R4_1_CT(base) (BME_UBFX32(&TRNG_SCR4C_REG(base), TRNG_SCR4C_R4_1_CT_SHIFT, TRNG_SCR4C_R4_1_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR4L - RNG Statistical Check Run Length 4 Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR4L - RNG Statistical Check Run Length 4 Limit Register (RW) |
| * |
| * Reset value: 0x0040004BU |
| * |
| * The RNG Statistical Check Run Length 4 Limit Register defines the allowable |
| * maximum and minimum number of runs of length 4 detected during entropy |
| * generation. To pass the test, the number of runs of length 4 (for samples of both 0 |
| * and 1) must be less than the programmed maximum value, and the number of runs of |
| * length 4 must be greater than (maximum - range). If this test fails, the |
| * Retry Counter in SCMISC will be decremented, and a retry will occur if the Retry |
| * Count has not reached zero. If the Retry Count has reached zero, an error will |
| * be generated. Note that this address (0xBASE_0630) is used as SCR4L only if |
| * MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this address is used as SCR4C readback |
| * register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR4L register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR4L(base) (TRNG_SCR4L_REG(base)) |
| #define TRNG_WR_SCR4L(base, value) (TRNG_SCR4L_REG(base) = (value)) |
| #define TRNG_RMW_SCR4L(base, mask, value) (TRNG_WR_SCR4L(base, (TRNG_RD_SCR4L(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SCR4L(base, value) (BME_OR32(&TRNG_SCR4L_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SCR4L(base, value) (BME_AND32(&TRNG_SCR4L_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SCR4L(base, value) (BME_XOR32(&TRNG_SCR4L_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR4L bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR4L, field RUN4_MAX[11:0] (RW) |
| * |
| * Run Length 4 Maximum Limit. Defines the maximum allowable runs of length 4 |
| * (for both 0 and 1) detected during entropy generation. The number of runs of |
| * length 4 detected during entropy generation must be less than RUN4_MAX, else a |
| * retry or error will occur. This register is cleared to 004Bh (decimal 75) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR4L_RUN4_MAX field. */ |
| #define TRNG_RD_SCR4L_RUN4_MAX(base) ((TRNG_SCR4L_REG(base) & TRNG_SCR4L_RUN4_MAX_MASK) >> TRNG_SCR4L_RUN4_MAX_SHIFT) |
| #define TRNG_BRD_SCR4L_RUN4_MAX(base) (BME_UBFX32(&TRNG_SCR4L_REG(base), TRNG_SCR4L_RUN4_MAX_SHIFT, TRNG_SCR4L_RUN4_MAX_WIDTH)) |
| |
| /*! @brief Set the RUN4_MAX field to a new value. */ |
| #define TRNG_WR_SCR4L_RUN4_MAX(base, value) (TRNG_RMW_SCR4L(base, TRNG_SCR4L_RUN4_MAX_MASK, TRNG_SCR4L_RUN4_MAX(value))) |
| #define TRNG_BWR_SCR4L_RUN4_MAX(base, value) (BME_BFI32(&TRNG_SCR4L_REG(base), ((uint32_t)(value) << TRNG_SCR4L_RUN4_MAX_SHIFT), TRNG_SCR4L_RUN4_MAX_SHIFT, TRNG_SCR4L_RUN4_MAX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR4L, field RUN4_RNG[27:16] (RW) |
| * |
| * Run Length 4 Range. The number of runs of length 4 (for both 0 and 1) |
| * detected during entropy generation must be greater than RUN4_MAX - RUN4_RNG, else a |
| * retry or error will occur. This register is cleared to 0040h (decimal 64) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR4L_RUN4_RNG field. */ |
| #define TRNG_RD_SCR4L_RUN4_RNG(base) ((TRNG_SCR4L_REG(base) & TRNG_SCR4L_RUN4_RNG_MASK) >> TRNG_SCR4L_RUN4_RNG_SHIFT) |
| #define TRNG_BRD_SCR4L_RUN4_RNG(base) (BME_UBFX32(&TRNG_SCR4L_REG(base), TRNG_SCR4L_RUN4_RNG_SHIFT, TRNG_SCR4L_RUN4_RNG_WIDTH)) |
| |
| /*! @brief Set the RUN4_RNG field to a new value. */ |
| #define TRNG_WR_SCR4L_RUN4_RNG(base, value) (TRNG_RMW_SCR4L(base, TRNG_SCR4L_RUN4_RNG_MASK, TRNG_SCR4L_RUN4_RNG(value))) |
| #define TRNG_BWR_SCR4L_RUN4_RNG(base, value) (BME_BFI32(&TRNG_SCR4L_REG(base), ((uint32_t)(value) << TRNG_SCR4L_RUN4_RNG_SHIFT), TRNG_SCR4L_RUN4_RNG_SHIFT, TRNG_SCR4L_RUN4_RNG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR5L - RNG Statistical Check Run Length 5 Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR5L - RNG Statistical Check Run Length 5 Limit Register (RW) |
| * |
| * Reset value: 0x002E002FU |
| * |
| * The RNG Statistical Check Run Length 5 Limit Register defines the allowable |
| * maximum and minimum number of runs of length 5 detected during entropy |
| * generation. To pass the test, the number of runs of length 5 (for samples of both 0 |
| * and 1) must be less than the programmed maximum value, and the number of runs of |
| * length 5 must be greater than (maximum - range). If this test fails, the |
| * Retry Counter in SCMISC will be decremented, and a retry will occur if the Retry |
| * Count has not reached zero. If the Retry Count has reached zero, an error will |
| * be generated. Note that this address (0xBASE_0634) is used as SCR5L only if |
| * MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this address is used as SCR5C readback |
| * register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR5L register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR5L(base) (TRNG_SCR5L_REG(base)) |
| #define TRNG_WR_SCR5L(base, value) (TRNG_SCR5L_REG(base) = (value)) |
| #define TRNG_RMW_SCR5L(base, mask, value) (TRNG_WR_SCR5L(base, (TRNG_RD_SCR5L(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SCR5L(base, value) (BME_OR32(&TRNG_SCR5L_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SCR5L(base, value) (BME_AND32(&TRNG_SCR5L_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SCR5L(base, value) (BME_XOR32(&TRNG_SCR5L_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR5L bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR5L, field RUN5_MAX[10:0] (RW) |
| * |
| * Run Length 5 Maximum Limit. Defines the maximum allowable runs of length 5 |
| * (for both 0 and 1) detected during entropy generation. The number of runs of |
| * length 5 detected during entropy generation must be less than RUN5_MAX, else a |
| * retry or error will occur. This register is cleared to 002Fh (decimal 47) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR5L_RUN5_MAX field. */ |
| #define TRNG_RD_SCR5L_RUN5_MAX(base) ((TRNG_SCR5L_REG(base) & TRNG_SCR5L_RUN5_MAX_MASK) >> TRNG_SCR5L_RUN5_MAX_SHIFT) |
| #define TRNG_BRD_SCR5L_RUN5_MAX(base) (BME_UBFX32(&TRNG_SCR5L_REG(base), TRNG_SCR5L_RUN5_MAX_SHIFT, TRNG_SCR5L_RUN5_MAX_WIDTH)) |
| |
| /*! @brief Set the RUN5_MAX field to a new value. */ |
| #define TRNG_WR_SCR5L_RUN5_MAX(base, value) (TRNG_RMW_SCR5L(base, TRNG_SCR5L_RUN5_MAX_MASK, TRNG_SCR5L_RUN5_MAX(value))) |
| #define TRNG_BWR_SCR5L_RUN5_MAX(base, value) (BME_BFI32(&TRNG_SCR5L_REG(base), ((uint32_t)(value) << TRNG_SCR5L_RUN5_MAX_SHIFT), TRNG_SCR5L_RUN5_MAX_SHIFT, TRNG_SCR5L_RUN5_MAX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR5L, field RUN5_RNG[26:16] (RW) |
| * |
| * Run Length 5 Range. The number of runs of length 5 (for both 0 and 1) |
| * detected during entropy generation must be greater than RUN5_MAX - RUN5_RNG, else a |
| * retry or error will occur. This register is cleared to 002Eh (decimal 46) by |
| * writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR5L_RUN5_RNG field. */ |
| #define TRNG_RD_SCR5L_RUN5_RNG(base) ((TRNG_SCR5L_REG(base) & TRNG_SCR5L_RUN5_RNG_MASK) >> TRNG_SCR5L_RUN5_RNG_SHIFT) |
| #define TRNG_BRD_SCR5L_RUN5_RNG(base) (BME_UBFX32(&TRNG_SCR5L_REG(base), TRNG_SCR5L_RUN5_RNG_SHIFT, TRNG_SCR5L_RUN5_RNG_WIDTH)) |
| |
| /*! @brief Set the RUN5_RNG field to a new value. */ |
| #define TRNG_WR_SCR5L_RUN5_RNG(base, value) (TRNG_RMW_SCR5L(base, TRNG_SCR5L_RUN5_RNG_MASK, TRNG_SCR5L_RUN5_RNG(value))) |
| #define TRNG_BWR_SCR5L_RUN5_RNG(base, value) (BME_BFI32(&TRNG_SCR5L_REG(base), ((uint32_t)(value) << TRNG_SCR5L_RUN5_RNG_SHIFT), TRNG_SCR5L_RUN5_RNG_SHIFT, TRNG_SCR5L_RUN5_RNG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR5C - RNG Statistical Check Run Length 5 Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR5C - RNG Statistical Check Run Length 5 Count Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Run Length 5 Counters Register is a read-only |
| * register used to read the final Run Length 5 counts after entropy generation. These |
| * counters start with the value in SCR5L[RUN5_MAX]. The R5_1_CT decrements each |
| * time five consecutive ones are sampled (preceded by a zero and followed by a |
| * zero). The R5_0_CT decrements each time five consecutive zeroes are sampled |
| * (preceded by a one and followed by a one). Note that this offset (0xBASE_0634) |
| * is used as SCR5L if MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this offset is used as |
| * SCR5C readback register, as described here. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR5C register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR5C(base) (TRNG_SCR5C_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR5C bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR5C, field R5_0_CT[10:0] (RO) |
| * |
| * Runs of Zero, Length 5 Count. Reads the final Runs of Ones, length 5 count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR5C_R5_0_CT field. */ |
| #define TRNG_RD_SCR5C_R5_0_CT(base) ((TRNG_SCR5C_REG(base) & TRNG_SCR5C_R5_0_CT_MASK) >> TRNG_SCR5C_R5_0_CT_SHIFT) |
| #define TRNG_BRD_SCR5C_R5_0_CT(base) (BME_UBFX32(&TRNG_SCR5C_REG(base), TRNG_SCR5C_R5_0_CT_SHIFT, TRNG_SCR5C_R5_0_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR5C, field R5_1_CT[26:16] (RO) |
| * |
| * Runs of One, Length 5 Count. Reads the final Runs of Ones, length 5 count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR5C_R5_1_CT field. */ |
| #define TRNG_RD_SCR5C_R5_1_CT(base) ((TRNG_SCR5C_REG(base) & TRNG_SCR5C_R5_1_CT_MASK) >> TRNG_SCR5C_R5_1_CT_SHIFT) |
| #define TRNG_BRD_SCR5C_R5_1_CT(base) (BME_UBFX32(&TRNG_SCR5C_REG(base), TRNG_SCR5C_R5_1_CT_SHIFT, TRNG_SCR5C_R5_1_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR6PL - RNG Statistical Check Run Length 6+ Limit Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR6PL - RNG Statistical Check Run Length 6+ Limit Register (RW) |
| * |
| * Reset value: 0x002E002FU |
| * |
| * The RNG Statistical Check Run Length 6+ Limit Register defines the allowable |
| * maximum and minimum number of runs of length 6 or more detected during entropy |
| * generation. To pass the test, the number of runs of length 6 or more (for |
| * samples of both 0 and 1) must be less than the programmed maximum value, and the |
| * number of runs of length 6 or more must be greater than (maximum - range). If |
| * this test fails, the Retry Counter in SCMISC will be decremented, and a retry |
| * will occur if the Retry Count has not reached zero. If the Retry Count has |
| * reached zero, an error will be generated. Note that this offset (0xBASE_0638) is |
| * used as SCR6PL only if MCTL[PRGM] is 1. If MCTL[PRGM] is 0, this offset is |
| * used as SCR6PC readback register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR6PL register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR6PL(base) (TRNG_SCR6PL_REG(base)) |
| #define TRNG_WR_SCR6PL(base, value) (TRNG_SCR6PL_REG(base) = (value)) |
| #define TRNG_RMW_SCR6PL(base, mask, value) (TRNG_WR_SCR6PL(base, (TRNG_RD_SCR6PL(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SCR6PL(base, value) (BME_OR32(&TRNG_SCR6PL_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SCR6PL(base, value) (BME_AND32(&TRNG_SCR6PL_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SCR6PL(base, value) (BME_XOR32(&TRNG_SCR6PL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR6PL bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR6PL, field RUN6P_MAX[10:0] (RW) |
| * |
| * Run Length 6+ Maximum Limit. Defines the maximum allowable runs of length 6 |
| * or more (for both 0 and 1) detected during entropy generation. The number of |
| * runs of length 6 or more detected during entropy generation must be less than |
| * RUN6P_MAX, else a retry or error will occur. This register is cleared to 002Fh |
| * (decimal 47) by writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR6PL_RUN6P_MAX field. */ |
| #define TRNG_RD_SCR6PL_RUN6P_MAX(base) ((TRNG_SCR6PL_REG(base) & TRNG_SCR6PL_RUN6P_MAX_MASK) >> TRNG_SCR6PL_RUN6P_MAX_SHIFT) |
| #define TRNG_BRD_SCR6PL_RUN6P_MAX(base) (BME_UBFX32(&TRNG_SCR6PL_REG(base), TRNG_SCR6PL_RUN6P_MAX_SHIFT, TRNG_SCR6PL_RUN6P_MAX_WIDTH)) |
| |
| /*! @brief Set the RUN6P_MAX field to a new value. */ |
| #define TRNG_WR_SCR6PL_RUN6P_MAX(base, value) (TRNG_RMW_SCR6PL(base, TRNG_SCR6PL_RUN6P_MAX_MASK, TRNG_SCR6PL_RUN6P_MAX(value))) |
| #define TRNG_BWR_SCR6PL_RUN6P_MAX(base, value) (BME_BFI32(&TRNG_SCR6PL_REG(base), ((uint32_t)(value) << TRNG_SCR6PL_RUN6P_MAX_SHIFT), TRNG_SCR6PL_RUN6P_MAX_SHIFT, TRNG_SCR6PL_RUN6P_MAX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR6PL, field RUN6P_RNG[26:16] (RW) |
| * |
| * Run Length 6+ Range. The number of runs of length 6 or more (for both 0 and |
| * 1) detected during entropy generation must be greater than RUN6P_MAX - |
| * RUN6P_RNG, else a retry or error will occur. This register is cleared to 002Eh |
| * (decimal 46) by writing the MCTL[RST_DEF] bit to 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR6PL_RUN6P_RNG field. */ |
| #define TRNG_RD_SCR6PL_RUN6P_RNG(base) ((TRNG_SCR6PL_REG(base) & TRNG_SCR6PL_RUN6P_RNG_MASK) >> TRNG_SCR6PL_RUN6P_RNG_SHIFT) |
| #define TRNG_BRD_SCR6PL_RUN6P_RNG(base) (BME_UBFX32(&TRNG_SCR6PL_REG(base), TRNG_SCR6PL_RUN6P_RNG_SHIFT, TRNG_SCR6PL_RUN6P_RNG_WIDTH)) |
| |
| /*! @brief Set the RUN6P_RNG field to a new value. */ |
| #define TRNG_WR_SCR6PL_RUN6P_RNG(base, value) (TRNG_RMW_SCR6PL(base, TRNG_SCR6PL_RUN6P_RNG_MASK, TRNG_SCR6PL_RUN6P_RNG(value))) |
| #define TRNG_BWR_SCR6PL_RUN6P_RNG(base, value) (BME_BFI32(&TRNG_SCR6PL_REG(base), ((uint32_t)(value) << TRNG_SCR6PL_RUN6P_RNG_SHIFT), TRNG_SCR6PL_RUN6P_RNG_SHIFT, TRNG_SCR6PL_RUN6P_RNG_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SCR6PC - RNG Statistical Check Run Length 6+ Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SCR6PC - RNG Statistical Check Run Length 6+ Count Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Run Length 6+ Counters Register is a read-only |
| * register used to read the final Run Length 6+ counts after entropy generation. |
| * These counters start with the value in SCR6PL[RUN6P_MAX]. The R6P_1_CT decrements |
| * each time six or more consecutive ones are sampled (preceded by a zero and |
| * followed by a zero). The R6P_0_CT decrements each time six or more consecutive |
| * zeroes are sampled (preceded by a one and followed by a one). Note that this |
| * offset (0xBASE_0638) is used as SCR6PL if MCTL[PRGM] is 1. If MCTL[PRGM] is 0, |
| * this offset is used as SCR6PC readback register, as described here. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SCR6PC register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SCR6PC(base) (TRNG_SCR6PC_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SCR6PC bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SCR6PC, field R6P_0_CT[10:0] (RO) |
| * |
| * Runs of Zero, Length 6+ Count. Reads the final Runs of Ones, length 6+ count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR6PC_R6P_0_CT field. */ |
| #define TRNG_RD_SCR6PC_R6P_0_CT(base) ((TRNG_SCR6PC_REG(base) & TRNG_SCR6PC_R6P_0_CT_MASK) >> TRNG_SCR6PC_R6P_0_CT_SHIFT) |
| #define TRNG_BRD_SCR6PC_R6P_0_CT(base) (BME_UBFX32(&TRNG_SCR6PC_REG(base), TRNG_SCR6PC_R6P_0_CT_SHIFT, TRNG_SCR6PC_R6P_0_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SCR6PC, field R6P_1_CT[26:16] (RO) |
| * |
| * Runs of One, Length 6+ Count. Reads the final Runs of Ones, length 6+ count |
| * after entropy generation. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SCR6PC_R6P_1_CT field. */ |
| #define TRNG_RD_SCR6PC_R6P_1_CT(base) ((TRNG_SCR6PC_REG(base) & TRNG_SCR6PC_R6P_1_CT_MASK) >> TRNG_SCR6PC_R6P_1_CT_SHIFT) |
| #define TRNG_BRD_SCR6PC_R6P_1_CT(base) (BME_UBFX32(&TRNG_SCR6PC_REG(base), TRNG_SCR6PC_R6P_1_CT_SHIFT, TRNG_SCR6PC_R6P_1_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_STATUS - RNG Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_STATUS - RNG Status Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Various statistical tests are run as a normal part of the TRNG's entropy |
| * generation process. The least-significant 16 bits of the STATUS register reflect |
| * the result of each of these tests. The status of these bits will be valid when |
| * the TRNG has finished its entropy generation process. Software can determine |
| * when this occurs by polling the ENT_VAL bit in the RNG Miscellaneous Control |
| * Register. Note that there is a very small probability that a statistical test |
| * will fail even though the TRNG is operating properly. If this happens the TRNG |
| * will automatically retry the entire entropy generation process, including |
| * running all the statistical tests. The value in RETRY_CT is decremented each time |
| * an entropy generation retry occurs. If a statistical check fails when the retry |
| * count is nonzero, a retry is initiated. But if a statistical check fails when |
| * the retry count is zero, an error is generated by the RNG. By default |
| * RETRY_CT is initialized to 1, but software can increase the retry count by writing to |
| * the RTY_CT field in the SCMISC register. All 0s will be returned if this |
| * register address is read while the RNG is in Program Mode (see PRGM field in MCTL |
| * register. If this register is read while the RNG is in Run Mode the value |
| * returned will be formatted as follows. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_STATUS register |
| */ |
| /*@{*/ |
| #define TRNG_RD_STATUS(base) (TRNG_STATUS_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_STATUS bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF1BR0[0] (RO) |
| * |
| * Test Fail, 1-Bit Run, Sampling 0s. If TF1BR0=1, the 1-Bit Run, Sampling 0s |
| * Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF1BR0 field. */ |
| #define TRNG_RD_STATUS_TF1BR0(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF1BR0_MASK) >> TRNG_STATUS_TF1BR0_SHIFT) |
| #define TRNG_BRD_STATUS_TF1BR0(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF1BR0_SHIFT, TRNG_STATUS_TF1BR0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF1BR1[1] (RO) |
| * |
| * Test Fail, 1-Bit Run, Sampling 1s. If TF1BR1=1, the 1-Bit Run, Sampling 1s |
| * Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF1BR1 field. */ |
| #define TRNG_RD_STATUS_TF1BR1(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF1BR1_MASK) >> TRNG_STATUS_TF1BR1_SHIFT) |
| #define TRNG_BRD_STATUS_TF1BR1(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF1BR1_SHIFT, TRNG_STATUS_TF1BR1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF2BR0[2] (RO) |
| * |
| * Test Fail, 2-Bit Run, Sampling 0s. If TF2BR0=1, the 2-Bit Run, Sampling 0s |
| * Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF2BR0 field. */ |
| #define TRNG_RD_STATUS_TF2BR0(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF2BR0_MASK) >> TRNG_STATUS_TF2BR0_SHIFT) |
| #define TRNG_BRD_STATUS_TF2BR0(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF2BR0_SHIFT, TRNG_STATUS_TF2BR0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF2BR1[3] (RO) |
| * |
| * Test Fail, 2-Bit Run, Sampling 1s. If TF2BR1=1, the 2-Bit Run, Sampling 1s |
| * Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF2BR1 field. */ |
| #define TRNG_RD_STATUS_TF2BR1(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF2BR1_MASK) >> TRNG_STATUS_TF2BR1_SHIFT) |
| #define TRNG_BRD_STATUS_TF2BR1(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF2BR1_SHIFT, TRNG_STATUS_TF2BR1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF3BR0[4] (RO) |
| * |
| * Test Fail, 3-Bit Run, Sampling 0s. If TF3BR0=1, the 3-Bit Run, Sampling 0s |
| * Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF3BR0 field. */ |
| #define TRNG_RD_STATUS_TF3BR0(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF3BR0_MASK) >> TRNG_STATUS_TF3BR0_SHIFT) |
| #define TRNG_BRD_STATUS_TF3BR0(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF3BR0_SHIFT, TRNG_STATUS_TF3BR0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF3BR1[5] (RO) |
| * |
| * Test Fail, 3-Bit Run, Sampling 1s. If TF3BR1=1, the 3-Bit Run, Sampling 1s |
| * Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF3BR1 field. */ |
| #define TRNG_RD_STATUS_TF3BR1(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF3BR1_MASK) >> TRNG_STATUS_TF3BR1_SHIFT) |
| #define TRNG_BRD_STATUS_TF3BR1(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF3BR1_SHIFT, TRNG_STATUS_TF3BR1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF4BR0[6] (RO) |
| * |
| * Test Fail, 4-Bit Run, Sampling 0s. If TF4BR0=1, the 4-Bit Run, Sampling 0s |
| * Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF4BR0 field. */ |
| #define TRNG_RD_STATUS_TF4BR0(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF4BR0_MASK) >> TRNG_STATUS_TF4BR0_SHIFT) |
| #define TRNG_BRD_STATUS_TF4BR0(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF4BR0_SHIFT, TRNG_STATUS_TF4BR0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF4BR1[7] (RO) |
| * |
| * Test Fail, 4-Bit Run, Sampling 1s. If TF4BR1=1, the 4-Bit Run, Sampling 1s |
| * Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF4BR1 field. */ |
| #define TRNG_RD_STATUS_TF4BR1(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF4BR1_MASK) >> TRNG_STATUS_TF4BR1_SHIFT) |
| #define TRNG_BRD_STATUS_TF4BR1(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF4BR1_SHIFT, TRNG_STATUS_TF4BR1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF5BR0[8] (RO) |
| * |
| * Test Fail, 5-Bit Run, Sampling 0s. If TF5BR0=1, the 5-Bit Run, Sampling 0s |
| * Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF5BR0 field. */ |
| #define TRNG_RD_STATUS_TF5BR0(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF5BR0_MASK) >> TRNG_STATUS_TF5BR0_SHIFT) |
| #define TRNG_BRD_STATUS_TF5BR0(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF5BR0_SHIFT, TRNG_STATUS_TF5BR0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF5BR1[9] (RO) |
| * |
| * Test Fail, 5-Bit Run, Sampling 1s. If TF5BR1=1, the 5-Bit Run, Sampling 1s |
| * Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF5BR1 field. */ |
| #define TRNG_RD_STATUS_TF5BR1(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF5BR1_MASK) >> TRNG_STATUS_TF5BR1_SHIFT) |
| #define TRNG_BRD_STATUS_TF5BR1(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF5BR1_SHIFT, TRNG_STATUS_TF5BR1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF6PBR0[10] (RO) |
| * |
| * Test Fail, 6 Plus Bit Run, Sampling 0s. If TF6PBR0=1, the 6 Plus Bit Run, |
| * Sampling 0s Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF6PBR0 field. */ |
| #define TRNG_RD_STATUS_TF6PBR0(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF6PBR0_MASK) >> TRNG_STATUS_TF6PBR0_SHIFT) |
| #define TRNG_BRD_STATUS_TF6PBR0(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF6PBR0_SHIFT, TRNG_STATUS_TF6PBR0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TF6PBR1[11] (RO) |
| * |
| * Test Fail, 6 Plus Bit Run, Sampling 1s. If TF6PBR1=1, the 6 Plus Bit Run, |
| * Sampling 1s Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TF6PBR1 field. */ |
| #define TRNG_RD_STATUS_TF6PBR1(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TF6PBR1_MASK) >> TRNG_STATUS_TF6PBR1_SHIFT) |
| #define TRNG_BRD_STATUS_TF6PBR1(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TF6PBR1_SHIFT, TRNG_STATUS_TF6PBR1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TFSB[12] (RO) |
| * |
| * Test Fail, Sparse Bit. If TFSB=1, the Sparse Bit Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TFSB field. */ |
| #define TRNG_RD_STATUS_TFSB(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TFSB_MASK) >> TRNG_STATUS_TFSB_SHIFT) |
| #define TRNG_BRD_STATUS_TFSB(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TFSB_SHIFT, TRNG_STATUS_TFSB_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TFLR[13] (RO) |
| * |
| * Test Fail, Long Run. If TFLR=1, the Long Run Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TFLR field. */ |
| #define TRNG_RD_STATUS_TFLR(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TFLR_MASK) >> TRNG_STATUS_TFLR_SHIFT) |
| #define TRNG_BRD_STATUS_TFLR(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TFLR_SHIFT, TRNG_STATUS_TFLR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TFP[14] (RO) |
| * |
| * Test Fail, Poker. If TFP=1, the Poker Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TFP field. */ |
| #define TRNG_RD_STATUS_TFP(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TFP_MASK) >> TRNG_STATUS_TFP_SHIFT) |
| #define TRNG_BRD_STATUS_TFP(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TFP_SHIFT, TRNG_STATUS_TFP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field TFMB[15] (RO) |
| * |
| * Test Fail, Mono Bit. If TFMB=1, the Mono Bit Test has failed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_TFMB field. */ |
| #define TRNG_RD_STATUS_TFMB(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_TFMB_MASK) >> TRNG_STATUS_TFMB_SHIFT) |
| #define TRNG_BRD_STATUS_TFMB(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_TFMB_SHIFT, TRNG_STATUS_TFMB_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_STATUS, field RETRY_CT[19:16] (RO) |
| * |
| * RETRY COUNT. This represents the current number of entropy generation retries |
| * left before a statistical text failure will cause the RNG to generate an |
| * error condition. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_STATUS_RETRY_CT field. */ |
| #define TRNG_RD_STATUS_RETRY_CT(base) ((TRNG_STATUS_REG(base) & TRNG_STATUS_RETRY_CT_MASK) >> TRNG_STATUS_RETRY_CT_SHIFT) |
| #define TRNG_BRD_STATUS_RETRY_CT(base) (BME_UBFX32(&TRNG_STATUS_REG(base), TRNG_STATUS_RETRY_CT_SHIFT, TRNG_STATUS_RETRY_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_ENT - RNG TRNG Entropy Read Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_ENT - RNG TRNG Entropy Read Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG TRNG can be programmed to generate an entropy value that is readable |
| * via the SkyBlue bus. To do this, set the MCTL[TRNG_ACC] bit to 1. Once the |
| * entropy value has been generated, the MCTL[ENT_VAL] bit will be set to 1. At this |
| * point, ENT0 through ENT15 may be read to retrieve the 512-bit entropy value. |
| * Note that once ENT15 is read, the entropy value will be cleared and a new |
| * value will begin generation, so it is important that ENT15 be read last. These |
| * registers are readable only when MCTL[PRGM] = 0 (Run Mode), MCTL[TRNG_ACC] = 1 |
| * (TRNG access mode) and MCTL[ENT_VAL] = 1, otherwise zeroes will be read. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_ENT register |
| */ |
| /*@{*/ |
| #define TRNG_RD_ENT(base, index) (TRNG_ENT_REG(base, index)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRCNT10 - RNG Statistical Check Poker Count 1 and 0 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRCNT10 - RNG Statistical Check Poker Count 1 and 0 Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Poker Count 1 and 0 Register is a read-only |
| * register used to read the final Poker test counts of 1h and 0h patterns. The Poker 0h |
| * Count increments each time a nibble of sample data is found to be 0h. The |
| * Poker 1h Count increments each time a nibble of sample data is found to be 1h. |
| * Note that this register is readable only if MCTL[PRGM] is 0, otherwise zeroes |
| * will be read. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRCNT10 register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRCNT10(base) (TRNG_PKRCNT10_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRCNT10 bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRCNT10, field PKR_0_CT[15:0] (RO) |
| * |
| * Poker 0h Count. Total number of nibbles of sample data which were found to be |
| * 0h. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNT10_PKR_0_CT field. */ |
| #define TRNG_RD_PKRCNT10_PKR_0_CT(base) ((TRNG_PKRCNT10_REG(base) & TRNG_PKRCNT10_PKR_0_CT_MASK) >> TRNG_PKRCNT10_PKR_0_CT_SHIFT) |
| #define TRNG_BRD_PKRCNT10_PKR_0_CT(base) (BME_UBFX32(&TRNG_PKRCNT10_REG(base), TRNG_PKRCNT10_PKR_0_CT_SHIFT, TRNG_PKRCNT10_PKR_0_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_PKRCNT10, field PKR_1_CT[31:16] (RO) |
| * |
| * Poker 1h Count. Total number of nibbles of sample data which were found to be |
| * 1h. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNT10_PKR_1_CT field. */ |
| #define TRNG_RD_PKRCNT10_PKR_1_CT(base) ((TRNG_PKRCNT10_REG(base) & TRNG_PKRCNT10_PKR_1_CT_MASK) >> TRNG_PKRCNT10_PKR_1_CT_SHIFT) |
| #define TRNG_BRD_PKRCNT10_PKR_1_CT(base) (BME_UBFX32(&TRNG_PKRCNT10_REG(base), TRNG_PKRCNT10_PKR_1_CT_SHIFT, TRNG_PKRCNT10_PKR_1_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRCNT32 - RNG Statistical Check Poker Count 3 and 2 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRCNT32 - RNG Statistical Check Poker Count 3 and 2 Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Poker Count 3 and 2 Register is a read-only |
| * register used to read the final Poker test counts of 3h and 2h patterns. The Poker 2h |
| * Count increments each time a nibble of sample data is found to be 2h. The |
| * Poker 3h Count increments each time a nibble of sample data is found to be 3h. |
| * Note that this register is readable only if MCTL[PRGM] is 0, otherwise zeroes |
| * will be read. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRCNT32 register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRCNT32(base) (TRNG_PKRCNT32_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRCNT32 bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRCNT32, field PKR_2_CT[15:0] (RO) |
| * |
| * Poker 2h Count. Total number of nibbles of sample data which were found to be |
| * 2h. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNT32_PKR_2_CT field. */ |
| #define TRNG_RD_PKRCNT32_PKR_2_CT(base) ((TRNG_PKRCNT32_REG(base) & TRNG_PKRCNT32_PKR_2_CT_MASK) >> TRNG_PKRCNT32_PKR_2_CT_SHIFT) |
| #define TRNG_BRD_PKRCNT32_PKR_2_CT(base) (BME_UBFX32(&TRNG_PKRCNT32_REG(base), TRNG_PKRCNT32_PKR_2_CT_SHIFT, TRNG_PKRCNT32_PKR_2_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_PKRCNT32, field PKR_3_CT[31:16] (RO) |
| * |
| * Poker 3h Count. Total number of nibbles of sample data which were found to be |
| * 3h. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNT32_PKR_3_CT field. */ |
| #define TRNG_RD_PKRCNT32_PKR_3_CT(base) ((TRNG_PKRCNT32_REG(base) & TRNG_PKRCNT32_PKR_3_CT_MASK) >> TRNG_PKRCNT32_PKR_3_CT_SHIFT) |
| #define TRNG_BRD_PKRCNT32_PKR_3_CT(base) (BME_UBFX32(&TRNG_PKRCNT32_REG(base), TRNG_PKRCNT32_PKR_3_CT_SHIFT, TRNG_PKRCNT32_PKR_3_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRCNT54 - RNG Statistical Check Poker Count 5 and 4 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRCNT54 - RNG Statistical Check Poker Count 5 and 4 Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Poker Count 5 and 4 Register is a read-only |
| * register used to read the final Poker test counts of 5h and 4h patterns. The Poker 4h |
| * Count increments each time a nibble of sample data is found to be 4h. The |
| * Poker 5h Count increments each time a nibble of sample data is found to be 5h. |
| * Note that this register is readable only if MCTL[PRGM] is 0, otherwise zeroes |
| * will be read. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRCNT54 register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRCNT54(base) (TRNG_PKRCNT54_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRCNT54 bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRCNT54, field PKR_4_CT[15:0] (RO) |
| * |
| * Poker 4h Count. Total number of nibbles of sample data which were found to be |
| * 4h. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNT54_PKR_4_CT field. */ |
| #define TRNG_RD_PKRCNT54_PKR_4_CT(base) ((TRNG_PKRCNT54_REG(base) & TRNG_PKRCNT54_PKR_4_CT_MASK) >> TRNG_PKRCNT54_PKR_4_CT_SHIFT) |
| #define TRNG_BRD_PKRCNT54_PKR_4_CT(base) (BME_UBFX32(&TRNG_PKRCNT54_REG(base), TRNG_PKRCNT54_PKR_4_CT_SHIFT, TRNG_PKRCNT54_PKR_4_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_PKRCNT54, field PKR_5_CT[31:16] (RO) |
| * |
| * Poker 5h Count. Total number of nibbles of sample data which were found to be |
| * 5h. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNT54_PKR_5_CT field. */ |
| #define TRNG_RD_PKRCNT54_PKR_5_CT(base) ((TRNG_PKRCNT54_REG(base) & TRNG_PKRCNT54_PKR_5_CT_MASK) >> TRNG_PKRCNT54_PKR_5_CT_SHIFT) |
| #define TRNG_BRD_PKRCNT54_PKR_5_CT(base) (BME_UBFX32(&TRNG_PKRCNT54_REG(base), TRNG_PKRCNT54_PKR_5_CT_SHIFT, TRNG_PKRCNT54_PKR_5_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRCNT76 - RNG Statistical Check Poker Count 7 and 6 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRCNT76 - RNG Statistical Check Poker Count 7 and 6 Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Poker Count 7 and 6 Register is a read-only |
| * register used to read the final Poker test counts of 7h and 6h patterns. The Poker 6h |
| * Count increments each time a nibble of sample data is found to be 6h. The |
| * Poker 7h Count increments each time a nibble of sample data is found to be 7h. |
| * Note that this register is readable only if MCTL[PRGM] is 0, otherwise zeroes |
| * will be read. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRCNT76 register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRCNT76(base) (TRNG_PKRCNT76_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRCNT76 bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRCNT76, field PKR_6_CT[15:0] (RO) |
| * |
| * Poker 6h Count. Total number of nibbles of sample data which were found to be |
| * 6h. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNT76_PKR_6_CT field. */ |
| #define TRNG_RD_PKRCNT76_PKR_6_CT(base) ((TRNG_PKRCNT76_REG(base) & TRNG_PKRCNT76_PKR_6_CT_MASK) >> TRNG_PKRCNT76_PKR_6_CT_SHIFT) |
| #define TRNG_BRD_PKRCNT76_PKR_6_CT(base) (BME_UBFX32(&TRNG_PKRCNT76_REG(base), TRNG_PKRCNT76_PKR_6_CT_SHIFT, TRNG_PKRCNT76_PKR_6_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_PKRCNT76, field PKR_7_CT[31:16] (RO) |
| * |
| * Poker 7h Count. Total number of nibbles of sample data which were found to be |
| * 7h. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNT76_PKR_7_CT field. */ |
| #define TRNG_RD_PKRCNT76_PKR_7_CT(base) ((TRNG_PKRCNT76_REG(base) & TRNG_PKRCNT76_PKR_7_CT_MASK) >> TRNG_PKRCNT76_PKR_7_CT_SHIFT) |
| #define TRNG_BRD_PKRCNT76_PKR_7_CT(base) (BME_UBFX32(&TRNG_PKRCNT76_REG(base), TRNG_PKRCNT76_PKR_7_CT_SHIFT, TRNG_PKRCNT76_PKR_7_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRCNT98 - RNG Statistical Check Poker Count 9 and 8 Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRCNT98 - RNG Statistical Check Poker Count 9 and 8 Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Poker Count 9 and 8 Register is a read-only |
| * register used to read the final Poker test counts of 9h and 8h patterns. The Poker 8h |
| * Count increments each time a nibble of sample data is found to be 8h. The |
| * Poker 9h Count increments each time a nibble of sample data is found to be 9h. |
| * Note that this register is readable only if MCTL[PRGM] is 0, otherwise zeroes |
| * will be read. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRCNT98 register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRCNT98(base) (TRNG_PKRCNT98_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRCNT98 bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRCNT98, field PKR_8_CT[15:0] (RO) |
| * |
| * Poker 8h Count. Total number of nibbles of sample data which were found to be |
| * 8h. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNT98_PKR_8_CT field. */ |
| #define TRNG_RD_PKRCNT98_PKR_8_CT(base) ((TRNG_PKRCNT98_REG(base) & TRNG_PKRCNT98_PKR_8_CT_MASK) >> TRNG_PKRCNT98_PKR_8_CT_SHIFT) |
| #define TRNG_BRD_PKRCNT98_PKR_8_CT(base) (BME_UBFX32(&TRNG_PKRCNT98_REG(base), TRNG_PKRCNT98_PKR_8_CT_SHIFT, TRNG_PKRCNT98_PKR_8_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_PKRCNT98, field PKR_9_CT[31:16] (RO) |
| * |
| * Poker 9h Count. Total number of nibbles of sample data which were found to be |
| * 9h. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNT98_PKR_9_CT field. */ |
| #define TRNG_RD_PKRCNT98_PKR_9_CT(base) ((TRNG_PKRCNT98_REG(base) & TRNG_PKRCNT98_PKR_9_CT_MASK) >> TRNG_PKRCNT98_PKR_9_CT_SHIFT) |
| #define TRNG_BRD_PKRCNT98_PKR_9_CT(base) (BME_UBFX32(&TRNG_PKRCNT98_REG(base), TRNG_PKRCNT98_PKR_9_CT_SHIFT, TRNG_PKRCNT98_PKR_9_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRCNTBA - RNG Statistical Check Poker Count B and A Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRCNTBA - RNG Statistical Check Poker Count B and A Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Poker Count B and A Register is a read-only |
| * register used to read the final Poker test counts of Bh and Ah patterns. The Poker Ah |
| * Count increments each time a nibble of sample data is found to be Ah. The |
| * Poker Bh Count increments each time a nibble of sample data is found to be Bh. |
| * Note that this register is readable only if MCTL[PRGM] is 0, otherwise zeroes |
| * will be read. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRCNTBA register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRCNTBA(base) (TRNG_PKRCNTBA_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRCNTBA bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRCNTBA, field PKR_A_CT[15:0] (RO) |
| * |
| * Poker Ah Count. Total number of nibbles of sample data which were found to be |
| * Ah. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNTBA_PKR_A_CT field. */ |
| #define TRNG_RD_PKRCNTBA_PKR_A_CT(base) ((TRNG_PKRCNTBA_REG(base) & TRNG_PKRCNTBA_PKR_A_CT_MASK) >> TRNG_PKRCNTBA_PKR_A_CT_SHIFT) |
| #define TRNG_BRD_PKRCNTBA_PKR_A_CT(base) (BME_UBFX32(&TRNG_PKRCNTBA_REG(base), TRNG_PKRCNTBA_PKR_A_CT_SHIFT, TRNG_PKRCNTBA_PKR_A_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_PKRCNTBA, field PKR_B_CT[31:16] (RO) |
| * |
| * Poker Bh Count. Total number of nibbles of sample data which were found to be |
| * Bh. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNTBA_PKR_B_CT field. */ |
| #define TRNG_RD_PKRCNTBA_PKR_B_CT(base) ((TRNG_PKRCNTBA_REG(base) & TRNG_PKRCNTBA_PKR_B_CT_MASK) >> TRNG_PKRCNTBA_PKR_B_CT_SHIFT) |
| #define TRNG_BRD_PKRCNTBA_PKR_B_CT(base) (BME_UBFX32(&TRNG_PKRCNTBA_REG(base), TRNG_PKRCNTBA_PKR_B_CT_SHIFT, TRNG_PKRCNTBA_PKR_B_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRCNTDC - RNG Statistical Check Poker Count D and C Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRCNTDC - RNG Statistical Check Poker Count D and C Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Poker Count D and C Register is a read-only |
| * register used to read the final Poker test counts of Dh and Ch patterns. The Poker Ch |
| * Count increments each time a nibble of sample data is found to be Ch. The |
| * Poker Dh Count increments each time a nibble of sample data is found to be Dh. |
| * Note that this register is readable only if MCTL[PRGM] is 0, otherwise zeroes |
| * will be read. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRCNTDC register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRCNTDC(base) (TRNG_PKRCNTDC_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRCNTDC bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRCNTDC, field PKR_C_CT[15:0] (RO) |
| * |
| * Poker Ch Count. Total number of nibbles of sample data which were found to be |
| * Ch. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNTDC_PKR_C_CT field. */ |
| #define TRNG_RD_PKRCNTDC_PKR_C_CT(base) ((TRNG_PKRCNTDC_REG(base) & TRNG_PKRCNTDC_PKR_C_CT_MASK) >> TRNG_PKRCNTDC_PKR_C_CT_SHIFT) |
| #define TRNG_BRD_PKRCNTDC_PKR_C_CT(base) (BME_UBFX32(&TRNG_PKRCNTDC_REG(base), TRNG_PKRCNTDC_PKR_C_CT_SHIFT, TRNG_PKRCNTDC_PKR_C_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_PKRCNTDC, field PKR_D_CT[31:16] (RO) |
| * |
| * Poker Dh Count. Total number of nibbles of sample data which were found to be |
| * Dh. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNTDC_PKR_D_CT field. */ |
| #define TRNG_RD_PKRCNTDC_PKR_D_CT(base) ((TRNG_PKRCNTDC_REG(base) & TRNG_PKRCNTDC_PKR_D_CT_MASK) >> TRNG_PKRCNTDC_PKR_D_CT_SHIFT) |
| #define TRNG_BRD_PKRCNTDC_PKR_D_CT(base) (BME_UBFX32(&TRNG_PKRCNTDC_REG(base), TRNG_PKRCNTDC_PKR_D_CT_SHIFT, TRNG_PKRCNTDC_PKR_D_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_PKRCNTFE - RNG Statistical Check Poker Count F and E Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_PKRCNTFE - RNG Statistical Check Poker Count F and E Register (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Statistical Check Poker Count F and E Register is a read-only |
| * register used to read the final Poker test counts of Fh and Eh patterns. The Poker Eh |
| * Count increments each time a nibble of sample data is found to be Eh. The |
| * Poker Fh Count increments each time a nibble of sample data is found to be Fh. |
| * Note that this register is readable only if MCTL[PRGM] is 0, otherwise zeroes |
| * will be read. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_PKRCNTFE register |
| */ |
| /*@{*/ |
| #define TRNG_RD_PKRCNTFE(base) (TRNG_PKRCNTFE_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_PKRCNTFE bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_PKRCNTFE, field PKR_E_CT[15:0] (RO) |
| * |
| * Poker Eh Count. Total number of nibbles of sample data which were found to be |
| * Eh. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNTFE_PKR_E_CT field. */ |
| #define TRNG_RD_PKRCNTFE_PKR_E_CT(base) ((TRNG_PKRCNTFE_REG(base) & TRNG_PKRCNTFE_PKR_E_CT_MASK) >> TRNG_PKRCNTFE_PKR_E_CT_SHIFT) |
| #define TRNG_BRD_PKRCNTFE_PKR_E_CT(base) (BME_UBFX32(&TRNG_PKRCNTFE_REG(base), TRNG_PKRCNTFE_PKR_E_CT_SHIFT, TRNG_PKRCNTFE_PKR_E_CT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_PKRCNTFE, field PKR_F_CT[31:16] (RO) |
| * |
| * Poker Fh Count. Total number of nibbles of sample data which were found to be |
| * Fh. Requires MCTL[PRGM] = 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_PKRCNTFE_PKR_F_CT field. */ |
| #define TRNG_RD_PKRCNTFE_PKR_F_CT(base) ((TRNG_PKRCNTFE_REG(base) & TRNG_PKRCNTFE_PKR_F_CT_MASK) >> TRNG_PKRCNTFE_PKR_F_CT_SHIFT) |
| #define TRNG_BRD_PKRCNTFE_PKR_F_CT(base) (BME_UBFX32(&TRNG_PKRCNTFE_REG(base), TRNG_PKRCNTFE_PKR_F_CT_SHIFT, TRNG_PKRCNTFE_PKR_F_CT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_SEC_CFG - RNG Security Configuration Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_SEC_CFG - RNG Security Configuration Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Security Configuration Register is a read/write register used to |
| * control the test mode, programmability and state modes of the RNG. Many bits are |
| * place holders for this version. More configurability will be added here. Clears |
| * on asynchronous reset. For SA-TRNG releases before 2014/July/01, offsets 0xA0 |
| * to 0xAC used to be 0xB0 to 0xBC respectively. So, update newer tests that use |
| * these registers, if hard coded. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_SEC_CFG register |
| */ |
| /*@{*/ |
| #define TRNG_RD_SEC_CFG(base) (TRNG_SEC_CFG_REG(base)) |
| #define TRNG_WR_SEC_CFG(base, value) (TRNG_SEC_CFG_REG(base) = (value)) |
| #define TRNG_RMW_SEC_CFG(base, mask, value) (TRNG_WR_SEC_CFG(base, (TRNG_RD_SEC_CFG(base) & ~(mask)) | (value))) |
| #define TRNG_SET_SEC_CFG(base, value) (BME_OR32(&TRNG_SEC_CFG_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_SEC_CFG(base, value) (BME_AND32(&TRNG_SEC_CFG_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_SEC_CFG(base, value) (BME_XOR32(&TRNG_SEC_CFG_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_SEC_CFG bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_SEC_CFG, field SH0[0] (RW) |
| * |
| * Reserved. DRNG specific, not applicable to this version. |
| * |
| * Values: |
| * - 0b0 - See DRNG version. |
| * - 0b1 - See DRNG version. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SEC_CFG_SH0 field. */ |
| #define TRNG_RD_SEC_CFG_SH0(base) ((TRNG_SEC_CFG_REG(base) & TRNG_SEC_CFG_SH0_MASK) >> TRNG_SEC_CFG_SH0_SHIFT) |
| #define TRNG_BRD_SEC_CFG_SH0(base) (BME_UBFX32(&TRNG_SEC_CFG_REG(base), TRNG_SEC_CFG_SH0_SHIFT, TRNG_SEC_CFG_SH0_WIDTH)) |
| |
| /*! @brief Set the SH0 field to a new value. */ |
| #define TRNG_WR_SEC_CFG_SH0(base, value) (TRNG_RMW_SEC_CFG(base, TRNG_SEC_CFG_SH0_MASK, TRNG_SEC_CFG_SH0(value))) |
| #define TRNG_BWR_SEC_CFG_SH0(base, value) (BME_BFI32(&TRNG_SEC_CFG_REG(base), ((uint32_t)(value) << TRNG_SEC_CFG_SH0_SHIFT), TRNG_SEC_CFG_SH0_SHIFT, TRNG_SEC_CFG_SH0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SEC_CFG, field NO_PRGM[1] (RW) |
| * |
| * If set the TRNG registers cannot be programmed. That is, regardless of the |
| * TRNG access mode in the SA-TRNG Miscellaneous Control Register. |
| * |
| * Values: |
| * - 0b0 - Programability of registers controlled only by the RNG Miscellaneous |
| * Control Register's access mode bit. |
| * - 0b1 - Overides RNG Miscellaneous Control Register access mode and prevents |
| * TRNG register programming. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SEC_CFG_NO_PRGM field. */ |
| #define TRNG_RD_SEC_CFG_NO_PRGM(base) ((TRNG_SEC_CFG_REG(base) & TRNG_SEC_CFG_NO_PRGM_MASK) >> TRNG_SEC_CFG_NO_PRGM_SHIFT) |
| #define TRNG_BRD_SEC_CFG_NO_PRGM(base) (BME_UBFX32(&TRNG_SEC_CFG_REG(base), TRNG_SEC_CFG_NO_PRGM_SHIFT, TRNG_SEC_CFG_NO_PRGM_WIDTH)) |
| |
| /*! @brief Set the NO_PRGM field to a new value. */ |
| #define TRNG_WR_SEC_CFG_NO_PRGM(base, value) (TRNG_RMW_SEC_CFG(base, TRNG_SEC_CFG_NO_PRGM_MASK, TRNG_SEC_CFG_NO_PRGM(value))) |
| #define TRNG_BWR_SEC_CFG_NO_PRGM(base, value) (BME_BFI32(&TRNG_SEC_CFG_REG(base), ((uint32_t)(value) << TRNG_SEC_CFG_NO_PRGM_SHIFT), TRNG_SEC_CFG_NO_PRGM_SHIFT, TRNG_SEC_CFG_NO_PRGM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_SEC_CFG, field SK_VAL[2] (RW) |
| * |
| * Reserved. DRNG-specific, not applicable to this version. |
| * |
| * Values: |
| * - 0b0 - See DRNG version. |
| * - 0b1 - See DRNG version. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_SEC_CFG_SK_VAL field. */ |
| #define TRNG_RD_SEC_CFG_SK_VAL(base) ((TRNG_SEC_CFG_REG(base) & TRNG_SEC_CFG_SK_VAL_MASK) >> TRNG_SEC_CFG_SK_VAL_SHIFT) |
| #define TRNG_BRD_SEC_CFG_SK_VAL(base) (BME_UBFX32(&TRNG_SEC_CFG_REG(base), TRNG_SEC_CFG_SK_VAL_SHIFT, TRNG_SEC_CFG_SK_VAL_WIDTH)) |
| |
| /*! @brief Set the SK_VAL field to a new value. */ |
| #define TRNG_WR_SEC_CFG_SK_VAL(base, value) (TRNG_RMW_SEC_CFG(base, TRNG_SEC_CFG_SK_VAL_MASK, TRNG_SEC_CFG_SK_VAL(value))) |
| #define TRNG_BWR_SEC_CFG_SK_VAL(base, value) (BME_BFI32(&TRNG_SEC_CFG_REG(base), ((uint32_t)(value) << TRNG_SEC_CFG_SK_VAL_SHIFT), TRNG_SEC_CFG_SK_VAL_SHIFT, TRNG_SEC_CFG_SK_VAL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_INT_CTRL - RNG Interrupt Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_INT_CTRL - RNG Interrupt Control Register (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * The RNG Interrupt Control Register is a read/write register used to control |
| * the status for the (currently) three important interrupts that are generated by |
| * the TRNG. See INT_STATUS register description above. Each interrupt can be |
| * cleared by de-asserting the corresponding bit in the INT_CTRL register. Only a |
| * new interrupt will reassert the corresponding bit in the status register. Even |
| * if the interrupt is cleared or masked, interrupt status information can be |
| * read from the MCTL register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_INT_CTRL register |
| */ |
| /*@{*/ |
| #define TRNG_RD_INT_CTRL(base) (TRNG_INT_CTRL_REG(base)) |
| #define TRNG_WR_INT_CTRL(base, value) (TRNG_INT_CTRL_REG(base) = (value)) |
| #define TRNG_RMW_INT_CTRL(base, mask, value) (TRNG_WR_INT_CTRL(base, (TRNG_RD_INT_CTRL(base) & ~(mask)) | (value))) |
| #define TRNG_SET_INT_CTRL(base, value) (BME_OR32(&TRNG_INT_CTRL_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_INT_CTRL(base, value) (BME_AND32(&TRNG_INT_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_INT_CTRL(base, value) (BME_XOR32(&TRNG_INT_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_INT_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_INT_CTRL, field HW_ERR[0] (RW) |
| * |
| * Bit position that can be cleared if corresponding bit of INT_STATUS has been |
| * asserted. |
| * |
| * Values: |
| * - 0b0 - Corresponding bit of INT_STATUS cleared. |
| * - 0b1 - Corresponding bit of INT_STATUS active. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_INT_CTRL_HW_ERR field. */ |
| #define TRNG_RD_INT_CTRL_HW_ERR(base) ((TRNG_INT_CTRL_REG(base) & TRNG_INT_CTRL_HW_ERR_MASK) >> TRNG_INT_CTRL_HW_ERR_SHIFT) |
| #define TRNG_BRD_INT_CTRL_HW_ERR(base) (BME_UBFX32(&TRNG_INT_CTRL_REG(base), TRNG_INT_CTRL_HW_ERR_SHIFT, TRNG_INT_CTRL_HW_ERR_WIDTH)) |
| |
| /*! @brief Set the HW_ERR field to a new value. */ |
| #define TRNG_WR_INT_CTRL_HW_ERR(base, value) (TRNG_RMW_INT_CTRL(base, TRNG_INT_CTRL_HW_ERR_MASK, TRNG_INT_CTRL_HW_ERR(value))) |
| #define TRNG_BWR_INT_CTRL_HW_ERR(base, value) (BME_BFI32(&TRNG_INT_CTRL_REG(base), ((uint32_t)(value) << TRNG_INT_CTRL_HW_ERR_SHIFT), TRNG_INT_CTRL_HW_ERR_SHIFT, TRNG_INT_CTRL_HW_ERR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_INT_CTRL, field ENT_VAL[1] (RW) |
| * |
| * Same behavior as bit 0 above. |
| * |
| * Values: |
| * - 0b0 - Same behavior as bit 0 above. |
| * - 0b1 - Same behavior as bit 0 above. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_INT_CTRL_ENT_VAL field. */ |
| #define TRNG_RD_INT_CTRL_ENT_VAL(base) ((TRNG_INT_CTRL_REG(base) & TRNG_INT_CTRL_ENT_VAL_MASK) >> TRNG_INT_CTRL_ENT_VAL_SHIFT) |
| #define TRNG_BRD_INT_CTRL_ENT_VAL(base) (BME_UBFX32(&TRNG_INT_CTRL_REG(base), TRNG_INT_CTRL_ENT_VAL_SHIFT, TRNG_INT_CTRL_ENT_VAL_WIDTH)) |
| |
| /*! @brief Set the ENT_VAL field to a new value. */ |
| #define TRNG_WR_INT_CTRL_ENT_VAL(base, value) (TRNG_RMW_INT_CTRL(base, TRNG_INT_CTRL_ENT_VAL_MASK, TRNG_INT_CTRL_ENT_VAL(value))) |
| #define TRNG_BWR_INT_CTRL_ENT_VAL(base, value) (BME_BFI32(&TRNG_INT_CTRL_REG(base), ((uint32_t)(value) << TRNG_INT_CTRL_ENT_VAL_SHIFT), TRNG_INT_CTRL_ENT_VAL_SHIFT, TRNG_INT_CTRL_ENT_VAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_INT_CTRL, field FRQ_CT_FAIL[2] (RW) |
| * |
| * Same behavior as bit 0 above. |
| * |
| * Values: |
| * - 0b0 - Same behavior as bit 0 above. |
| * - 0b1 - Same behavior as bit 0 above. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_INT_CTRL_FRQ_CT_FAIL field. */ |
| #define TRNG_RD_INT_CTRL_FRQ_CT_FAIL(base) ((TRNG_INT_CTRL_REG(base) & TRNG_INT_CTRL_FRQ_CT_FAIL_MASK) >> TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT) |
| #define TRNG_BRD_INT_CTRL_FRQ_CT_FAIL(base) (BME_UBFX32(&TRNG_INT_CTRL_REG(base), TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT, TRNG_INT_CTRL_FRQ_CT_FAIL_WIDTH)) |
| |
| /*! @brief Set the FRQ_CT_FAIL field to a new value. */ |
| #define TRNG_WR_INT_CTRL_FRQ_CT_FAIL(base, value) (TRNG_RMW_INT_CTRL(base, TRNG_INT_CTRL_FRQ_CT_FAIL_MASK, TRNG_INT_CTRL_FRQ_CT_FAIL(value))) |
| #define TRNG_BWR_INT_CTRL_FRQ_CT_FAIL(base, value) (BME_BFI32(&TRNG_INT_CTRL_REG(base), ((uint32_t)(value) << TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT), TRNG_INT_CTRL_FRQ_CT_FAIL_SHIFT, TRNG_INT_CTRL_FRQ_CT_FAIL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_INT_CTRL, field UNUSED[31:3] (RW) |
| * |
| * Reserved but writeable. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_INT_CTRL_UNUSED field. */ |
| #define TRNG_RD_INT_CTRL_UNUSED(base) ((TRNG_INT_CTRL_REG(base) & TRNG_INT_CTRL_UNUSED_MASK) >> TRNG_INT_CTRL_UNUSED_SHIFT) |
| #define TRNG_BRD_INT_CTRL_UNUSED(base) (TRNG_RD_INT_CTRL_UNUSED(base)) |
| |
| /*! @brief Set the UNUSED field to a new value. */ |
| #define TRNG_WR_INT_CTRL_UNUSED(base, value) (TRNG_RMW_INT_CTRL(base, TRNG_INT_CTRL_UNUSED_MASK, TRNG_INT_CTRL_UNUSED(value))) |
| #define TRNG_BWR_INT_CTRL_UNUSED(base, value) (TRNG_WR_INT_CTRL_UNUSED(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_INT_MASK - RNG Mask Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_INT_MASK - RNG Mask Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Interrupt Mask Register is a read/write register used to disable/mask |
| * the status reporting of the (currently) three important interrupts that are |
| * generated by the TRNG. See INT_STATUS register description above. Each |
| * interrupt can be masked/disabled by de-asserting the corresponding bit in the INT_MASK |
| * register. Only setting this bit high will re-enable the interrupt in the |
| * status register. Even if the interrupt is cleared or masked, interrupt status |
| * information can be read from the MCTL register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_INT_MASK register |
| */ |
| /*@{*/ |
| #define TRNG_RD_INT_MASK(base) (TRNG_INT_MASK_REG(base)) |
| #define TRNG_WR_INT_MASK(base, value) (TRNG_INT_MASK_REG(base) = (value)) |
| #define TRNG_RMW_INT_MASK(base, mask, value) (TRNG_WR_INT_MASK(base, (TRNG_RD_INT_MASK(base) & ~(mask)) | (value))) |
| #define TRNG_SET_INT_MASK(base, value) (BME_OR32(&TRNG_INT_MASK_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_INT_MASK(base, value) (BME_AND32(&TRNG_INT_MASK_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_INT_MASK(base, value) (BME_XOR32(&TRNG_INT_MASK_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_INT_MASK bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_INT_MASK, field HW_ERR[0] (RW) |
| * |
| * Bit position that can be cleared if corresponding bit of INT_STATUS has been |
| * asserted. |
| * |
| * Values: |
| * - 0b0 - Corresponding interrupt of INT_STATUS is masked. |
| * - 0b1 - Corresponding bit of INT_STATUS is active. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_INT_MASK_HW_ERR field. */ |
| #define TRNG_RD_INT_MASK_HW_ERR(base) ((TRNG_INT_MASK_REG(base) & TRNG_INT_MASK_HW_ERR_MASK) >> TRNG_INT_MASK_HW_ERR_SHIFT) |
| #define TRNG_BRD_INT_MASK_HW_ERR(base) (BME_UBFX32(&TRNG_INT_MASK_REG(base), TRNG_INT_MASK_HW_ERR_SHIFT, TRNG_INT_MASK_HW_ERR_WIDTH)) |
| |
| /*! @brief Set the HW_ERR field to a new value. */ |
| #define TRNG_WR_INT_MASK_HW_ERR(base, value) (TRNG_RMW_INT_MASK(base, TRNG_INT_MASK_HW_ERR_MASK, TRNG_INT_MASK_HW_ERR(value))) |
| #define TRNG_BWR_INT_MASK_HW_ERR(base, value) (BME_BFI32(&TRNG_INT_MASK_REG(base), ((uint32_t)(value) << TRNG_INT_MASK_HW_ERR_SHIFT), TRNG_INT_MASK_HW_ERR_SHIFT, TRNG_INT_MASK_HW_ERR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_INT_MASK, field ENT_VAL[1] (RW) |
| * |
| * Same behavior as bit 0 above. |
| * |
| * Values: |
| * - 0b0 - Same behavior as bit 0 above. |
| * - 0b1 - Same behavior as bit 0 above. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_INT_MASK_ENT_VAL field. */ |
| #define TRNG_RD_INT_MASK_ENT_VAL(base) ((TRNG_INT_MASK_REG(base) & TRNG_INT_MASK_ENT_VAL_MASK) >> TRNG_INT_MASK_ENT_VAL_SHIFT) |
| #define TRNG_BRD_INT_MASK_ENT_VAL(base) (BME_UBFX32(&TRNG_INT_MASK_REG(base), TRNG_INT_MASK_ENT_VAL_SHIFT, TRNG_INT_MASK_ENT_VAL_WIDTH)) |
| |
| /*! @brief Set the ENT_VAL field to a new value. */ |
| #define TRNG_WR_INT_MASK_ENT_VAL(base, value) (TRNG_RMW_INT_MASK(base, TRNG_INT_MASK_ENT_VAL_MASK, TRNG_INT_MASK_ENT_VAL(value))) |
| #define TRNG_BWR_INT_MASK_ENT_VAL(base, value) (BME_BFI32(&TRNG_INT_MASK_REG(base), ((uint32_t)(value) << TRNG_INT_MASK_ENT_VAL_SHIFT), TRNG_INT_MASK_ENT_VAL_SHIFT, TRNG_INT_MASK_ENT_VAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_INT_MASK, field FRQ_CT_FAIL[2] (RW) |
| * |
| * Same behavior as bit 0 above. |
| * |
| * Values: |
| * - 0b0 - Same behavior as bit 0 above. |
| * - 0b1 - Same behavior as bit 0 above. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_INT_MASK_FRQ_CT_FAIL field. */ |
| #define TRNG_RD_INT_MASK_FRQ_CT_FAIL(base) ((TRNG_INT_MASK_REG(base) & TRNG_INT_MASK_FRQ_CT_FAIL_MASK) >> TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT) |
| #define TRNG_BRD_INT_MASK_FRQ_CT_FAIL(base) (BME_UBFX32(&TRNG_INT_MASK_REG(base), TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT, TRNG_INT_MASK_FRQ_CT_FAIL_WIDTH)) |
| |
| /*! @brief Set the FRQ_CT_FAIL field to a new value. */ |
| #define TRNG_WR_INT_MASK_FRQ_CT_FAIL(base, value) (TRNG_RMW_INT_MASK(base, TRNG_INT_MASK_FRQ_CT_FAIL_MASK, TRNG_INT_MASK_FRQ_CT_FAIL(value))) |
| #define TRNG_BWR_INT_MASK_FRQ_CT_FAIL(base, value) (BME_BFI32(&TRNG_INT_MASK_REG(base), ((uint32_t)(value) << TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT), TRNG_INT_MASK_FRQ_CT_FAIL_SHIFT, TRNG_INT_MASK_FRQ_CT_FAIL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_INT_STATUS - RNG Interrupt Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_INT_STATUS - RNG Interrupt Status Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Interrupt Status Register is a read register used to control and |
| * provide status for the (currently) three important interrupts that are generated |
| * by the TRNG. The ipi_rng_int_b interrupt signals that RNG has either generated |
| * a Frequency Count Fail, Entropy Valid or Error Interrupt. The cause of the |
| * interrupt can be decoded by checking the least significant bits of the INT_STATUS |
| * register. Each interrupt can be temporarily cleared by de-asserting the |
| * corresponding bit in the INT_CTRL register. To mask the interrupts, clear the |
| * corresponding bits in the INT_MASK register. The description of each of the 3 |
| * interrupts is defined in the Block Guide under the MCTL register description. Even |
| * if the interrupt is cleared or masked, interrupt status information can be |
| * read from the MCTL register. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_INT_STATUS register |
| */ |
| /*@{*/ |
| #define TRNG_RD_INT_STATUS(base) (TRNG_INT_STATUS_REG(base)) |
| #define TRNG_WR_INT_STATUS(base, value) (TRNG_INT_STATUS_REG(base) = (value)) |
| #define TRNG_RMW_INT_STATUS(base, mask, value) (TRNG_WR_INT_STATUS(base, (TRNG_RD_INT_STATUS(base) & ~(mask)) | (value))) |
| #define TRNG_SET_INT_STATUS(base, value) (BME_OR32(&TRNG_INT_STATUS_REG(base), (uint32_t)(value))) |
| #define TRNG_CLR_INT_STATUS(base, value) (BME_AND32(&TRNG_INT_STATUS_REG(base), (uint32_t)(~(value)))) |
| #define TRNG_TOG_INT_STATUS(base, value) (BME_XOR32(&TRNG_INT_STATUS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_INT_STATUS bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_INT_STATUS, field HW_ERR[0] (RO) |
| * |
| * Read: Error status. 1 = error detected. 0 = no error. Any HW error in the |
| * TRNG will trigger this interrupt. |
| * |
| * Values: |
| * - 0b0 - no error |
| * - 0b1 - error detected. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_INT_STATUS_HW_ERR field. */ |
| #define TRNG_RD_INT_STATUS_HW_ERR(base) ((TRNG_INT_STATUS_REG(base) & TRNG_INT_STATUS_HW_ERR_MASK) >> TRNG_INT_STATUS_HW_ERR_SHIFT) |
| #define TRNG_BRD_INT_STATUS_HW_ERR(base) (BME_UBFX32(&TRNG_INT_STATUS_REG(base), TRNG_INT_STATUS_HW_ERR_SHIFT, TRNG_INT_STATUS_HW_ERR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_INT_STATUS, field ENT_VAL[1] (RO) |
| * |
| * Read only: Entropy Valid. Will assert only if TRNG ACC bit is set, and then |
| * after an entropy value is generated. Will be cleared when ENT15 is read. (ENT0 |
| * through ENT14 should be read before reading ENT15). |
| * |
| * Values: |
| * - 0b0 - Busy generation entropy. Any value read is invalid. |
| * - 0b1 - TRNG can be stopped and entropy is valid if read. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_INT_STATUS_ENT_VAL field. */ |
| #define TRNG_RD_INT_STATUS_ENT_VAL(base) ((TRNG_INT_STATUS_REG(base) & TRNG_INT_STATUS_ENT_VAL_MASK) >> TRNG_INT_STATUS_ENT_VAL_SHIFT) |
| #define TRNG_BRD_INT_STATUS_ENT_VAL(base) (BME_UBFX32(&TRNG_INT_STATUS_REG(base), TRNG_INT_STATUS_ENT_VAL_SHIFT, TRNG_INT_STATUS_ENT_VAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_INT_STATUS, field FRQ_CT_FAIL[2] (RW) |
| * |
| * Read only: Frequency Count Fail. The frequency counter has detected a |
| * failure. This may be due to improper programming of the FRQMAX and/or FRQMIN |
| * registers, or a hardware failure in the ring oscillator. |
| * |
| * Values: |
| * - 0b0 - No hardware nor self test frequency errors. |
| * - 0b1 - The frequency counter has detected a failure. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_INT_STATUS_FRQ_CT_FAIL field. */ |
| #define TRNG_RD_INT_STATUS_FRQ_CT_FAIL(base) ((TRNG_INT_STATUS_REG(base) & TRNG_INT_STATUS_FRQ_CT_FAIL_MASK) >> TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT) |
| #define TRNG_BRD_INT_STATUS_FRQ_CT_FAIL(base) (BME_UBFX32(&TRNG_INT_STATUS_REG(base), TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT, TRNG_INT_STATUS_FRQ_CT_FAIL_WIDTH)) |
| |
| /*! @brief Set the FRQ_CT_FAIL field to a new value. */ |
| #define TRNG_WR_INT_STATUS_FRQ_CT_FAIL(base, value) (TRNG_RMW_INT_STATUS(base, TRNG_INT_STATUS_FRQ_CT_FAIL_MASK, TRNG_INT_STATUS_FRQ_CT_FAIL(value))) |
| #define TRNG_BWR_INT_STATUS_FRQ_CT_FAIL(base, value) (BME_BFI32(&TRNG_INT_STATUS_REG(base), ((uint32_t)(value) << TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT), TRNG_INT_STATUS_FRQ_CT_FAIL_SHIFT, TRNG_INT_STATUS_FRQ_CT_FAIL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_VID1 - RNG Version ID Register (MS) |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_VID1 - RNG Version ID Register (MS) (RO) |
| * |
| * Reset value: 0x00300100U |
| * |
| * The RNG Version ID Register is a read only register used to identify the |
| * version of the TRNG in use. This register as well as VID2 should both be read to |
| * verify the expected version. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_VID1 register |
| */ |
| /*@{*/ |
| #define TRNG_RD_VID1(base) (TRNG_VID1_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_VID1 bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_VID1, field RNG_MIN_REV[7:0] (RO) |
| * |
| * Shows the Freescale IP's Minor revision of the TRNG. |
| * |
| * Values: |
| * - 0b00000000 - Minor revision number for TRNG. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_VID1_RNG_MIN_REV field. */ |
| #define TRNG_RD_VID1_RNG_MIN_REV(base) ((TRNG_VID1_REG(base) & TRNG_VID1_RNG_MIN_REV_MASK) >> TRNG_VID1_RNG_MIN_REV_SHIFT) |
| #define TRNG_BRD_VID1_RNG_MIN_REV(base) (BME_UBFX32(&TRNG_VID1_REG(base), TRNG_VID1_RNG_MIN_REV_SHIFT, TRNG_VID1_RNG_MIN_REV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_VID1, field RNG_MAJ_REV[15:8] (RO) |
| * |
| * Shows the Freescale IP's Major revision of the TRNG. |
| * |
| * Values: |
| * - 0b00000001 - Major revision number for TRNG. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_VID1_RNG_MAJ_REV field. */ |
| #define TRNG_RD_VID1_RNG_MAJ_REV(base) ((TRNG_VID1_REG(base) & TRNG_VID1_RNG_MAJ_REV_MASK) >> TRNG_VID1_RNG_MAJ_REV_SHIFT) |
| #define TRNG_BRD_VID1_RNG_MAJ_REV(base) (BME_UBFX32(&TRNG_VID1_REG(base), TRNG_VID1_RNG_MAJ_REV_SHIFT, TRNG_VID1_RNG_MAJ_REV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_VID1, field RNG_IP_ID[31:16] (RO) |
| * |
| * Shows the Freescale IP ID. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_VID1_RNG_IP_ID field. */ |
| #define TRNG_RD_VID1_RNG_IP_ID(base) ((TRNG_VID1_REG(base) & TRNG_VID1_RNG_IP_ID_MASK) >> TRNG_VID1_RNG_IP_ID_SHIFT) |
| #define TRNG_BRD_VID1_RNG_IP_ID(base) (BME_UBFX32(&TRNG_VID1_REG(base), TRNG_VID1_RNG_IP_ID_SHIFT, TRNG_VID1_RNG_IP_ID_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TRNG_VID2 - RNG Version ID Register (LS) |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TRNG_VID2 - RNG Version ID Register (LS) (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The RNG Version ID Register LSB is a read only register used to identify the |
| * architecture of the TRNG in use. This register as well as VID1 should both be |
| * read to verify the expected version. |
| */ |
| /*! |
| * @name Constants and macros for entire TRNG_VID2 register |
| */ |
| /*@{*/ |
| #define TRNG_RD_VID2(base) (TRNG_VID2_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TRNG_VID2 bitfields |
| */ |
| |
| /*! |
| * @name Register TRNG_VID2, field RNG_CONFIG_OPT[7:0] (RO) |
| * |
| * Shows the Freescale IP's Configuaration options for the TRNG. |
| * |
| * Values: |
| * - 0b00000000 - TRNG_CONFIG_OPT for TRNG. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_VID2_RNG_CONFIG_OPT field. */ |
| #define TRNG_RD_VID2_RNG_CONFIG_OPT(base) ((TRNG_VID2_REG(base) & TRNG_VID2_RNG_CONFIG_OPT_MASK) >> TRNG_VID2_RNG_CONFIG_OPT_SHIFT) |
| #define TRNG_BRD_VID2_RNG_CONFIG_OPT(base) (BME_UBFX32(&TRNG_VID2_REG(base), TRNG_VID2_RNG_CONFIG_OPT_SHIFT, TRNG_VID2_RNG_CONFIG_OPT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_VID2, field RNG_ECO_REV[15:8] (RO) |
| * |
| * Shows the Freescale IP's ECO revision of the TRNG. |
| * |
| * Values: |
| * - 0b00000000 - TRNG_ECO_REV for TRNG. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_VID2_RNG_ECO_REV field. */ |
| #define TRNG_RD_VID2_RNG_ECO_REV(base) ((TRNG_VID2_REG(base) & TRNG_VID2_RNG_ECO_REV_MASK) >> TRNG_VID2_RNG_ECO_REV_SHIFT) |
| #define TRNG_BRD_VID2_RNG_ECO_REV(base) (BME_UBFX32(&TRNG_VID2_REG(base), TRNG_VID2_RNG_ECO_REV_SHIFT, TRNG_VID2_RNG_ECO_REV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_VID2, field RNG_INTG_OPT[23:16] (RO) |
| * |
| * Shows the Freescale integration options for the TRNG. |
| * |
| * Values: |
| * - 0b00000000 - INTG_OPT for TRNG. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_VID2_RNG_INTG_OPT field. */ |
| #define TRNG_RD_VID2_RNG_INTG_OPT(base) ((TRNG_VID2_REG(base) & TRNG_VID2_RNG_INTG_OPT_MASK) >> TRNG_VID2_RNG_INTG_OPT_SHIFT) |
| #define TRNG_BRD_VID2_RNG_INTG_OPT(base) (BME_UBFX32(&TRNG_VID2_REG(base), TRNG_VID2_RNG_INTG_OPT_SHIFT, TRNG_VID2_RNG_INTG_OPT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TRNG_VID2, field RNG_ERA[31:24] (RO) |
| * |
| * Shows the Freescale compile options for the TRNG. |
| * |
| * Values: |
| * - 0b00000000 - COMPILE_OPT for TRNG. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TRNG_VID2_RNG_ERA field. */ |
| #define TRNG_RD_VID2_RNG_ERA(base) ((TRNG_VID2_REG(base) & TRNG_VID2_RNG_ERA_MASK) >> TRNG_VID2_RNG_ERA_SHIFT) |
| #define TRNG_BRD_VID2_RNG_ERA(base) (BME_UBFX32(&TRNG_VID2_REG(base), TRNG_VID2_RNG_ERA_SHIFT, TRNG_VID2_RNG_ERA_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 TSI |
| * |
| * Touch sense input |
| * |
| * Registers defined in this header file: |
| * - TSI_GENCS - TSI General Control and Status Register |
| * - TSI_DATA - TSI DATA Register |
| * - TSI_TSHD - TSI Threshold Register |
| */ |
| |
| #define TSI_INSTANCE_COUNT (1U) /*!< Number of instances of the TSI module. */ |
| #define TSI0_IDX (0U) /*!< Instance number for TSI0. */ |
| |
| /******************************************************************************* |
| * TSI_GENCS - TSI General Control and Status Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TSI_GENCS - TSI General Control and Status Register (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This control register provides various control and configuration information |
| * for the TSI module. When TSI is working, the configuration bits (GENCS[TSIEN], |
| * GENCS[TSIIEN], and GENCS[STM]) must not be changed. The EOSF flag is kept |
| * until the software acknowledge it. |
| */ |
| /*! |
| * @name Constants and macros for entire TSI_GENCS register |
| */ |
| /*@{*/ |
| #define TSI_RD_GENCS(base) (TSI_GENCS_REG(base)) |
| #define TSI_WR_GENCS(base, value) (TSI_GENCS_REG(base) = (value)) |
| #define TSI_RMW_GENCS(base, mask, value) (TSI_WR_GENCS(base, (TSI_RD_GENCS(base) & ~(mask)) | (value))) |
| #define TSI_SET_GENCS(base, value) (BME_OR32(&TSI_GENCS_REG(base), (uint32_t)(value))) |
| #define TSI_CLR_GENCS(base, value) (BME_AND32(&TSI_GENCS_REG(base), (uint32_t)(~(value)))) |
| #define TSI_TOG_GENCS(base, value) (BME_XOR32(&TSI_GENCS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TSI_GENCS bitfields |
| */ |
| |
| /*! |
| * @name Register TSI_GENCS, field CURSW[1] (RW) |
| * |
| * This bit specifies if the current sources of electrode oscillator and |
| * reference oscillator are swapped. |
| * |
| * Values: |
| * - 0b0 - The current source pair are not swapped. |
| * - 0b1 - The current source pair are swapped. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_CURSW field. */ |
| #define TSI_RD_GENCS_CURSW(base) ((TSI_GENCS_REG(base) & TSI_GENCS_CURSW_MASK) >> TSI_GENCS_CURSW_SHIFT) |
| #define TSI_BRD_GENCS_CURSW(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_CURSW_SHIFT, TSI_GENCS_CURSW_WIDTH)) |
| |
| /*! @brief Set the CURSW field to a new value. */ |
| #define TSI_WR_GENCS_CURSW(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_CURSW_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_CURSW(value))) |
| #define TSI_BWR_GENCS_CURSW(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_CURSW_SHIFT), TSI_GENCS_CURSW_SHIFT, TSI_GENCS_CURSW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field EOSF[2] (W1C) |
| * |
| * This flag is set when all active electrodes are finished scanning after a |
| * scan trigger. Write "1" , when this flag is set, to clear it. |
| * |
| * Values: |
| * - 0b0 - Scan not complete. |
| * - 0b1 - Scan complete. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_EOSF field. */ |
| #define TSI_RD_GENCS_EOSF(base) ((TSI_GENCS_REG(base) & TSI_GENCS_EOSF_MASK) >> TSI_GENCS_EOSF_SHIFT) |
| #define TSI_BRD_GENCS_EOSF(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_EOSF_SHIFT, TSI_GENCS_EOSF_WIDTH)) |
| |
| /*! @brief Set the EOSF field to a new value. */ |
| #define TSI_WR_GENCS_EOSF(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_EOSF(value))) |
| #define TSI_BWR_GENCS_EOSF(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_EOSF_SHIFT), TSI_GENCS_EOSF_SHIFT, TSI_GENCS_EOSF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field SCNIP[3] (RO) |
| * |
| * This read-only bit indicates if scan is in progress. This bit will get |
| * asserted after the analog bias circuit is stable after a trigger and it changes |
| * automatically by the TSI. |
| * |
| * Values: |
| * - 0b0 - No scan in progress. |
| * - 0b1 - Scan in progress. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_SCNIP field. */ |
| #define TSI_RD_GENCS_SCNIP(base) ((TSI_GENCS_REG(base) & TSI_GENCS_SCNIP_MASK) >> TSI_GENCS_SCNIP_SHIFT) |
| #define TSI_BRD_GENCS_SCNIP(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_SCNIP_SHIFT, TSI_GENCS_SCNIP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field STM[4] (RW) |
| * |
| * This bit specifies the trigger mode. User is allowed to change this bit when |
| * TSI is not working in progress. |
| * |
| * Values: |
| * - 0b0 - Software trigger scan. |
| * - 0b1 - Hardware trigger scan. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_STM field. */ |
| #define TSI_RD_GENCS_STM(base) ((TSI_GENCS_REG(base) & TSI_GENCS_STM_MASK) >> TSI_GENCS_STM_SHIFT) |
| #define TSI_BRD_GENCS_STM(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_STM_SHIFT, TSI_GENCS_STM_WIDTH)) |
| |
| /*! @brief Set the STM field to a new value. */ |
| #define TSI_WR_GENCS_STM(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_STM_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_STM(value))) |
| #define TSI_BWR_GENCS_STM(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_STM_SHIFT), TSI_GENCS_STM_SHIFT, TSI_GENCS_STM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field STPE[5] (RW) |
| * |
| * This bit enables TSI module function in low power modes (stop, VLPS, LLS and |
| * VLLS{3,2,1}). |
| * |
| * Values: |
| * - 0b0 - TSI is disabled when MCU goes into low power mode. |
| * - 0b1 - Allows TSI to continue running in all low power modes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_STPE field. */ |
| #define TSI_RD_GENCS_STPE(base) ((TSI_GENCS_REG(base) & TSI_GENCS_STPE_MASK) >> TSI_GENCS_STPE_SHIFT) |
| #define TSI_BRD_GENCS_STPE(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_STPE_SHIFT, TSI_GENCS_STPE_WIDTH)) |
| |
| /*! @brief Set the STPE field to a new value. */ |
| #define TSI_WR_GENCS_STPE(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_STPE_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_STPE(value))) |
| #define TSI_BWR_GENCS_STPE(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_STPE_SHIFT), TSI_GENCS_STPE_SHIFT, TSI_GENCS_STPE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field TSIIEN[6] (RW) |
| * |
| * This bit enables TSI module interrupt request to CPU when the scan completes. |
| * The interrupt will wake MCU from low power mode if this interrupt is enabled. |
| * |
| * Values: |
| * - 0b0 - TSI interrupt is disabled. |
| * - 0b1 - TSI interrupt is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_TSIIEN field. */ |
| #define TSI_RD_GENCS_TSIIEN(base) ((TSI_GENCS_REG(base) & TSI_GENCS_TSIIEN_MASK) >> TSI_GENCS_TSIIEN_SHIFT) |
| #define TSI_BRD_GENCS_TSIIEN(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_TSIIEN_SHIFT, TSI_GENCS_TSIIEN_WIDTH)) |
| |
| /*! @brief Set the TSIIEN field to a new value. */ |
| #define TSI_WR_GENCS_TSIIEN(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_TSIIEN_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_TSIIEN(value))) |
| #define TSI_BWR_GENCS_TSIIEN(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_TSIIEN_SHIFT), TSI_GENCS_TSIIEN_SHIFT, TSI_GENCS_TSIIEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field TSIEN[7] (RW) |
| * |
| * This bit enables TSI module. |
| * |
| * Values: |
| * - 0b0 - TSI module disabled. |
| * - 0b1 - TSI module enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_TSIEN field. */ |
| #define TSI_RD_GENCS_TSIEN(base) ((TSI_GENCS_REG(base) & TSI_GENCS_TSIEN_MASK) >> TSI_GENCS_TSIEN_SHIFT) |
| #define TSI_BRD_GENCS_TSIEN(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_TSIEN_SHIFT, TSI_GENCS_TSIEN_WIDTH)) |
| |
| /*! @brief Set the TSIEN field to a new value. */ |
| #define TSI_WR_GENCS_TSIEN(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_TSIEN_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_TSIEN(value))) |
| #define TSI_BWR_GENCS_TSIEN(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_TSIEN_SHIFT), TSI_GENCS_TSIEN_SHIFT, TSI_GENCS_TSIEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field NSCN[12:8] (RW) |
| * |
| * These bits indicate the scan number for each electrode. The scan number is |
| * equal to NSCN + 1, which allows the scan time ranges from 1 to 32. By default, |
| * NSCN is configured as 0, which asserts the TSI scans once on the selected |
| * eletrode channel. |
| * |
| * Values: |
| * - 0b00000 - Once per electrode |
| * - 0b00001 - Twice per electrode |
| * - 0b00010 - 3 times per electrode |
| * - 0b00011 - 4 times per electrode |
| * - 0b00100 - 5 times per electrode |
| * - 0b00101 - 6 times per electrode |
| * - 0b00110 - 7 times per electrode |
| * - 0b00111 - 8 times per electrode |
| * - 0b01000 - 9 times per electrode |
| * - 0b01001 - 10 times per electrode |
| * - 0b01010 - 11 times per electrode |
| * - 0b01011 - 12 times per electrode |
| * - 0b01100 - 13 times per electrode |
| * - 0b01101 - 14 times per electrode |
| * - 0b01110 - 15 times per electrode |
| * - 0b01111 - 16 times per electrode |
| * - 0b10000 - 17 times per electrode |
| * - 0b10001 - 18 times per electrode |
| * - 0b10010 - 19 times per electrode |
| * - 0b10011 - 20 times per electrode |
| * - 0b10100 - 21 times per electrode |
| * - 0b10101 - 22 times per electrode |
| * - 0b10110 - 23 times per electrode |
| * - 0b10111 - 24 times per electrode |
| * - 0b11000 - 25 times per electrode |
| * - 0b11001 - 26 times per electrode |
| * - 0b11010 - 27 times per electrode |
| * - 0b11011 - 28 times per electrode |
| * - 0b11100 - 29 times per electrode |
| * - 0b11101 - 30 times per electrode |
| * - 0b11110 - 31 times per electrode |
| * - 0b11111 - 32 times per electrode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_NSCN field. */ |
| #define TSI_RD_GENCS_NSCN(base) ((TSI_GENCS_REG(base) & TSI_GENCS_NSCN_MASK) >> TSI_GENCS_NSCN_SHIFT) |
| #define TSI_BRD_GENCS_NSCN(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_NSCN_SHIFT, TSI_GENCS_NSCN_WIDTH)) |
| |
| /*! @brief Set the NSCN field to a new value. */ |
| #define TSI_WR_GENCS_NSCN(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_NSCN_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_NSCN(value))) |
| #define TSI_BWR_GENCS_NSCN(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_NSCN_SHIFT), TSI_GENCS_NSCN_SHIFT, TSI_GENCS_NSCN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field PS[15:13] (RW) |
| * |
| * These bits indicate the prescaler of the output of electrode oscillator. |
| * |
| * Values: |
| * - 0b000 - Electrode Oscillator Frequency divided by 1 |
| * - 0b001 - Electrode Oscillator Frequency divided by 2 |
| * - 0b010 - Electrode Oscillator Frequency divided by 4 |
| * - 0b011 - Electrode Oscillator Frequency divided by 8 |
| * - 0b100 - Electrode Oscillator Frequency divided by 16 |
| * - 0b101 - Electrode Oscillator Frequency divided by 32 |
| * - 0b110 - Electrode Oscillator Frequency divided by 64 |
| * - 0b111 - Electrode Oscillator Frequency divided by 128 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_PS field. */ |
| #define TSI_RD_GENCS_PS(base) ((TSI_GENCS_REG(base) & TSI_GENCS_PS_MASK) >> TSI_GENCS_PS_SHIFT) |
| #define TSI_BRD_GENCS_PS(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_PS_SHIFT, TSI_GENCS_PS_WIDTH)) |
| |
| /*! @brief Set the PS field to a new value. */ |
| #define TSI_WR_GENCS_PS(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_PS_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_PS(value))) |
| #define TSI_BWR_GENCS_PS(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_PS_SHIFT), TSI_GENCS_PS_SHIFT, TSI_GENCS_PS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field EXTCHRG[18:16] (RW) |
| * |
| * These bits indicate the electrode oscillator charge and discharge current |
| * value. |
| * |
| * Values: |
| * - 0b000 - 500 nA. |
| * - 0b001 - 1 uA. |
| * - 0b010 - 2 uA. |
| * - 0b011 - 4 uA. |
| * - 0b100 - 8 uA. |
| * - 0b101 - 16 uA. |
| * - 0b110 - 32 uA. |
| * - 0b111 - 64 uA. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_EXTCHRG field. */ |
| #define TSI_RD_GENCS_EXTCHRG(base) ((TSI_GENCS_REG(base) & TSI_GENCS_EXTCHRG_MASK) >> TSI_GENCS_EXTCHRG_SHIFT) |
| #define TSI_BRD_GENCS_EXTCHRG(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_EXTCHRG_SHIFT, TSI_GENCS_EXTCHRG_WIDTH)) |
| |
| /*! @brief Set the EXTCHRG field to a new value. */ |
| #define TSI_WR_GENCS_EXTCHRG(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_EXTCHRG_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_EXTCHRG(value))) |
| #define TSI_BWR_GENCS_EXTCHRG(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_EXTCHRG_SHIFT), TSI_GENCS_EXTCHRG_SHIFT, TSI_GENCS_EXTCHRG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field DVOLT[20:19] (RW) |
| * |
| * These bits indicate the oscillator's voltage rails as below. |
| * |
| * Values: |
| * - 0b00 - DV = 1.026 V; VP = 1.328 V; Vm = 0.302 V. |
| * - 0b01 - DV = 0.592 V; VP = 1.111 V; Vm = 0.519 V. |
| * - 0b10 - DV = 0.342 V; VP = 0.986 V; Vm = 0.644 V. |
| * - 0b11 - DV = 0.197 V; VP = 0.914 V; Vm = 0.716 V. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_DVOLT field. */ |
| #define TSI_RD_GENCS_DVOLT(base) ((TSI_GENCS_REG(base) & TSI_GENCS_DVOLT_MASK) >> TSI_GENCS_DVOLT_SHIFT) |
| #define TSI_BRD_GENCS_DVOLT(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_DVOLT_SHIFT, TSI_GENCS_DVOLT_WIDTH)) |
| |
| /*! @brief Set the DVOLT field to a new value. */ |
| #define TSI_WR_GENCS_DVOLT(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_DVOLT_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_DVOLT(value))) |
| #define TSI_BWR_GENCS_DVOLT(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_DVOLT_SHIFT), TSI_GENCS_DVOLT_SHIFT, TSI_GENCS_DVOLT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field REFCHRG[23:21] (RW) |
| * |
| * These bits indicate the reference oscillator charge and discharge current |
| * value. |
| * |
| * Values: |
| * - 0b000 - 500 nA. |
| * - 0b001 - 1 uA. |
| * - 0b010 - 2 uA. |
| * - 0b011 - 4 uA. |
| * - 0b100 - 8 uA. |
| * - 0b101 - 16 uA. |
| * - 0b110 - 32 uA. |
| * - 0b111 - 64 uA. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_REFCHRG field. */ |
| #define TSI_RD_GENCS_REFCHRG(base) ((TSI_GENCS_REG(base) & TSI_GENCS_REFCHRG_MASK) >> TSI_GENCS_REFCHRG_SHIFT) |
| #define TSI_BRD_GENCS_REFCHRG(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_REFCHRG_SHIFT, TSI_GENCS_REFCHRG_WIDTH)) |
| |
| /*! @brief Set the REFCHRG field to a new value. */ |
| #define TSI_WR_GENCS_REFCHRG(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_REFCHRG_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_REFCHRG(value))) |
| #define TSI_BWR_GENCS_REFCHRG(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_REFCHRG_SHIFT), TSI_GENCS_REFCHRG_SHIFT, TSI_GENCS_REFCHRG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field MODE[27:24] (RW) |
| * |
| * Set up TSI analog modes, especially, setting MODE[3:2] to not 2'b00 will |
| * configure TSI to noise detection modes. MODE[1:0] take no effect on TSI operation |
| * mode and should always write to 2'b00 for setting up. When reading this field |
| * will return the analog status. Refer to chapter "Noise detection mode" for |
| * details. |
| * |
| * Values: |
| * - 0b0000 - Set TSI in capacitive sensing(non-noise detection) mode. |
| * - 0b0100 - Set TSI analog to work in single threshold noise detection mode |
| * and the frequency limitation circuit is disabled. |
| * - 0b1000 - Set TSI analog to work in single threshold noise detection mode |
| * and the frequency limitation circuit is enabled to work in higher |
| * frequencies operations. |
| * - 0b1100 - Set TSI analog to work in automatic noise detection mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_MODE field. */ |
| #define TSI_RD_GENCS_MODE(base) ((TSI_GENCS_REG(base) & TSI_GENCS_MODE_MASK) >> TSI_GENCS_MODE_SHIFT) |
| #define TSI_BRD_GENCS_MODE(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_MODE_SHIFT, TSI_GENCS_MODE_WIDTH)) |
| |
| /*! @brief Set the MODE field to a new value. */ |
| #define TSI_WR_GENCS_MODE(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_MODE_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_MODE(value))) |
| #define TSI_BWR_GENCS_MODE(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_MODE_SHIFT), TSI_GENCS_MODE_SHIFT, TSI_GENCS_MODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field ESOR[28] (RW) |
| * |
| * This bit is used to select out-of-range or end-of-scan event to generate an |
| * interrupt. |
| * |
| * Values: |
| * - 0b0 - Out-of-range interrupt is allowed. |
| * - 0b1 - End-of-scan interrupt is allowed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_ESOR field. */ |
| #define TSI_RD_GENCS_ESOR(base) ((TSI_GENCS_REG(base) & TSI_GENCS_ESOR_MASK) >> TSI_GENCS_ESOR_SHIFT) |
| #define TSI_BRD_GENCS_ESOR(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_ESOR_SHIFT, TSI_GENCS_ESOR_WIDTH)) |
| |
| /*! @brief Set the ESOR field to a new value. */ |
| #define TSI_WR_GENCS_ESOR(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_ESOR_MASK | TSI_GENCS_EOSF_MASK | TSI_GENCS_OUTRGF_MASK), TSI_GENCS_ESOR(value))) |
| #define TSI_BWR_GENCS_ESOR(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_ESOR_SHIFT), TSI_GENCS_ESOR_SHIFT, TSI_GENCS_ESOR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_GENCS, field OUTRGF[31] (W1C) |
| * |
| * This flag is set if the result register of the enabled electrode is out of |
| * the range defined by the TSI_THRESHOLD register. This flag is set only when TSI |
| * is configured in non-noise detection mode. It can be read once the CPU wakes. |
| * Write "1" , when this flag is set, to clear it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_GENCS_OUTRGF field. */ |
| #define TSI_RD_GENCS_OUTRGF(base) ((TSI_GENCS_REG(base) & TSI_GENCS_OUTRGF_MASK) >> TSI_GENCS_OUTRGF_SHIFT) |
| #define TSI_BRD_GENCS_OUTRGF(base) (BME_UBFX32(&TSI_GENCS_REG(base), TSI_GENCS_OUTRGF_SHIFT, TSI_GENCS_OUTRGF_WIDTH)) |
| |
| /*! @brief Set the OUTRGF field to a new value. */ |
| #define TSI_WR_GENCS_OUTRGF(base, value) (TSI_RMW_GENCS(base, (TSI_GENCS_OUTRGF_MASK | TSI_GENCS_EOSF_MASK), TSI_GENCS_OUTRGF(value))) |
| #define TSI_BWR_GENCS_OUTRGF(base, value) (BME_BFI32(&TSI_GENCS_REG(base), ((uint32_t)(value) << TSI_GENCS_OUTRGF_SHIFT), TSI_GENCS_OUTRGF_SHIFT, TSI_GENCS_OUTRGF_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TSI_DATA - TSI DATA Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TSI_DATA - TSI DATA Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire TSI_DATA register |
| */ |
| /*@{*/ |
| #define TSI_RD_DATA(base) (TSI_DATA_REG(base)) |
| #define TSI_WR_DATA(base, value) (TSI_DATA_REG(base) = (value)) |
| #define TSI_RMW_DATA(base, mask, value) (TSI_WR_DATA(base, (TSI_RD_DATA(base) & ~(mask)) | (value))) |
| #define TSI_SET_DATA(base, value) (BME_OR32(&TSI_DATA_REG(base), (uint32_t)(value))) |
| #define TSI_CLR_DATA(base, value) (BME_AND32(&TSI_DATA_REG(base), (uint32_t)(~(value)))) |
| #define TSI_TOG_DATA(base, value) (BME_XOR32(&TSI_DATA_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TSI_DATA bitfields |
| */ |
| |
| /*! |
| * @name Register TSI_DATA, field TSICNT[15:0] (RO) |
| * |
| * These read-only bits record the accumulated scan counter value ticked by the |
| * reference oscillator. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_DATA_TSICNT field. */ |
| #define TSI_RD_DATA_TSICNT(base) ((TSI_DATA_REG(base) & TSI_DATA_TSICNT_MASK) >> TSI_DATA_TSICNT_SHIFT) |
| #define TSI_BRD_DATA_TSICNT(base) (BME_UBFX32(&TSI_DATA_REG(base), TSI_DATA_TSICNT_SHIFT, TSI_DATA_TSICNT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_DATA, field SWTS[22] (WORZ) |
| * |
| * This write-only bit is a software start trigger. When STM bit is clear, write |
| * "1" to this bit will start a scan. The electrode channel to be scanned is |
| * determinated by TSI_DATA[TSICH] bits. |
| * |
| * Values: |
| * - 0b0 - No effect. |
| * - 0b1 - Start a scan to determine which channel is specified by |
| * TSI_DATA[TSICH]. |
| */ |
| /*@{*/ |
| /*! @brief Set the SWTS field to a new value. */ |
| #define TSI_WR_DATA_SWTS(base, value) (TSI_RMW_DATA(base, TSI_DATA_SWTS_MASK, TSI_DATA_SWTS(value))) |
| #define TSI_BWR_DATA_SWTS(base, value) (BME_BFI32(&TSI_DATA_REG(base), ((uint32_t)(value) << TSI_DATA_SWTS_SHIFT), TSI_DATA_SWTS_SHIFT, TSI_DATA_SWTS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_DATA, field DMAEN[23] (RW) |
| * |
| * This bit is used together with the TSI interrupt enable bits(TSIIE, ESOR) to |
| * generate a DMA transfer request instead of an interrupt. |
| * |
| * Values: |
| * - 0b0 - Interrupt is selected when the interrupt enable bit is set and the |
| * corresponding TSI events assert. |
| * - 0b1 - DMA transfer request is selected when the interrupt enable bit is set |
| * and the corresponding TSI events assert. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_DATA_DMAEN field. */ |
| #define TSI_RD_DATA_DMAEN(base) ((TSI_DATA_REG(base) & TSI_DATA_DMAEN_MASK) >> TSI_DATA_DMAEN_SHIFT) |
| #define TSI_BRD_DATA_DMAEN(base) (BME_UBFX32(&TSI_DATA_REG(base), TSI_DATA_DMAEN_SHIFT, TSI_DATA_DMAEN_WIDTH)) |
| |
| /*! @brief Set the DMAEN field to a new value. */ |
| #define TSI_WR_DATA_DMAEN(base, value) (TSI_RMW_DATA(base, TSI_DATA_DMAEN_MASK, TSI_DATA_DMAEN(value))) |
| #define TSI_BWR_DATA_DMAEN(base, value) (BME_BFI32(&TSI_DATA_REG(base), ((uint32_t)(value) << TSI_DATA_DMAEN_SHIFT), TSI_DATA_DMAEN_SHIFT, TSI_DATA_DMAEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_DATA, field TSICH[31:28] (RW) |
| * |
| * These bits specify current channel to be measured. In hardware trigger mode |
| * (TSI_GENCS[STM] = 1), the scan will not start until the hardware trigger |
| * occurs. In software trigger mode (TSI_GENCS[STM] = 0), the scan starts immediately |
| * when TSI_DATA[SWTS] bit is written by 1. |
| * |
| * Values: |
| * - 0b0000 - Channel 0. |
| * - 0b0001 - Channel 1. |
| * - 0b0010 - Channel 2. |
| * - 0b0011 - Channel 3. |
| * - 0b0100 - Channel 4. |
| * - 0b0101 - Channel 5. |
| * - 0b0110 - Channel 6. |
| * - 0b0111 - Channel 7. |
| * - 0b1000 - Channel 8. |
| * - 0b1001 - Channel 9. |
| * - 0b1010 - Channel 10. |
| * - 0b1011 - Channel 11. |
| * - 0b1100 - Channel 12. |
| * - 0b1101 - Channel 13. |
| * - 0b1110 - Channel 14. |
| * - 0b1111 - Channel 15. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_DATA_TSICH field. */ |
| #define TSI_RD_DATA_TSICH(base) ((TSI_DATA_REG(base) & TSI_DATA_TSICH_MASK) >> TSI_DATA_TSICH_SHIFT) |
| #define TSI_BRD_DATA_TSICH(base) (BME_UBFX32(&TSI_DATA_REG(base), TSI_DATA_TSICH_SHIFT, TSI_DATA_TSICH_WIDTH)) |
| |
| /*! @brief Set the TSICH field to a new value. */ |
| #define TSI_WR_DATA_TSICH(base, value) (TSI_RMW_DATA(base, TSI_DATA_TSICH_MASK, TSI_DATA_TSICH(value))) |
| #define TSI_BWR_DATA_TSICH(base, value) (BME_BFI32(&TSI_DATA_REG(base), ((uint32_t)(value) << TSI_DATA_TSICH_SHIFT), TSI_DATA_TSICH_SHIFT, TSI_DATA_TSICH_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * TSI_TSHD - TSI Threshold Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief TSI_TSHD - TSI Threshold Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire TSI_TSHD register |
| */ |
| /*@{*/ |
| #define TSI_RD_TSHD(base) (TSI_TSHD_REG(base)) |
| #define TSI_WR_TSHD(base, value) (TSI_TSHD_REG(base) = (value)) |
| #define TSI_RMW_TSHD(base, mask, value) (TSI_WR_TSHD(base, (TSI_RD_TSHD(base) & ~(mask)) | (value))) |
| #define TSI_SET_TSHD(base, value) (BME_OR32(&TSI_TSHD_REG(base), (uint32_t)(value))) |
| #define TSI_CLR_TSHD(base, value) (BME_AND32(&TSI_TSHD_REG(base), (uint32_t)(~(value)))) |
| #define TSI_TOG_TSHD(base, value) (BME_XOR32(&TSI_TSHD_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual TSI_TSHD bitfields |
| */ |
| |
| /*! |
| * @name Register TSI_TSHD, field THRESL[15:0] (RW) |
| * |
| * This half-word specifies the low threshold of the wakeup channel. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_TSHD_THRESL field. */ |
| #define TSI_RD_TSHD_THRESL(base) ((TSI_TSHD_REG(base) & TSI_TSHD_THRESL_MASK) >> TSI_TSHD_THRESL_SHIFT) |
| #define TSI_BRD_TSHD_THRESL(base) (BME_UBFX32(&TSI_TSHD_REG(base), TSI_TSHD_THRESL_SHIFT, TSI_TSHD_THRESL_WIDTH)) |
| |
| /*! @brief Set the THRESL field to a new value. */ |
| #define TSI_WR_TSHD_THRESL(base, value) (TSI_RMW_TSHD(base, TSI_TSHD_THRESL_MASK, TSI_TSHD_THRESL(value))) |
| #define TSI_BWR_TSHD_THRESL(base, value) (BME_BFI32(&TSI_TSHD_REG(base), ((uint32_t)(value) << TSI_TSHD_THRESL_SHIFT), TSI_TSHD_THRESL_SHIFT, TSI_TSHD_THRESL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register TSI_TSHD, field THRESH[31:16] (RW) |
| * |
| * This half-word specifies the high threshold of the wakeup channel. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the TSI_TSHD_THRESH field. */ |
| #define TSI_RD_TSHD_THRESH(base) ((TSI_TSHD_REG(base) & TSI_TSHD_THRESH_MASK) >> TSI_TSHD_THRESH_SHIFT) |
| #define TSI_BRD_TSHD_THRESH(base) (BME_UBFX32(&TSI_TSHD_REG(base), TSI_TSHD_THRESH_SHIFT, TSI_TSHD_THRESH_WIDTH)) |
| |
| /*! @brief Set the THRESH field to a new value. */ |
| #define TSI_WR_TSHD_THRESH(base, value) (TSI_RMW_TSHD(base, TSI_TSHD_THRESH_MASK, TSI_TSHD_THRESH(value))) |
| #define TSI_BWR_TSHD_THRESH(base, value) (BME_BFI32(&TSI_TSHD_REG(base), ((uint32_t)(value) << TSI_TSHD_THRESH_SHIFT), TSI_TSHD_THRESH_SHIFT, TSI_TSHD_THRESH_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 XCVR |
| * |
| * Apache 1.0 Transceiver |
| * |
| * Registers defined in this header file: |
| * - XCVR_RX_DIG_CTRL - RX Digital Control |
| * - XCVR_AGC_CTRL_0 - AGC Control 0 |
| * - XCVR_AGC_CTRL_1 - AGC Control 1 |
| * - XCVR_AGC_CTRL_2 - AGC Control 2 |
| * - XCVR_AGC_CTRL_3 - AGC Control 3 |
| * - XCVR_AGC_STAT - AGC Status |
| * - XCVR_RSSI_CTRL_0 - RSSI Control 0 |
| * - XCVR_RSSI_CTRL_1 - RSSI Control 1 |
| * - XCVR_DCOC_CTRL_0 - DCOC Control 0 |
| * - XCVR_DCOC_CTRL_1 - DCOC Control 1 |
| * - XCVR_DCOC_CTRL_2 - DCOC Control 2 |
| * - XCVR_DCOC_CTRL_3 - DCOC Control 3 |
| * - XCVR_DCOC_CTRL_4 - DCOC Control 4 |
| * - XCVR_DCOC_CAL_GAIN - DCOC Calibration Gain |
| * - XCVR_DCOC_STAT - DCOC Status |
| * - XCVR_DCOC_DC_EST - DCOC DC Estimate |
| * - XCVR_DCOC_CAL_RCP - DCOC Calibration Reciprocals |
| * - XCVR_IQMC_CTRL - IQMC Control |
| * - XCVR_IQMC_CAL - IQMC Calibration |
| * - XCVR_TCA_AGC_VAL_3_0 - TCA AGC Step Values 3..0 |
| * - XCVR_TCA_AGC_VAL_7_4 - TCA AGC Step Values 7..4 |
| * - XCVR_TCA_AGC_VAL_8 - TCA AGC Step Values 8 |
| * - XCVR_BBF_RES_TUNE_VAL_7_0 - BBF Resistor Tune Values 7..0 |
| * - XCVR_BBF_RES_TUNE_VAL_10_8 - BBF Resistor Tune Values 10..8 |
| * - XCVR_TCA_AGC_LIN_VAL_2_0 - TCA AGC Linear Gain Values 2..0 |
| * - XCVR_TCA_AGC_LIN_VAL_5_3 - TCA AGC Linear Gain Values 5..3 |
| * - XCVR_TCA_AGC_LIN_VAL_8_6 - TCA AGC Linear Gain Values 8..6 |
| * - XCVR_BBF_RES_TUNE_LIN_VAL_3_0 - BBF Resistor Tune Values 3..0 |
| * - XCVR_BBF_RES_TUNE_LIN_VAL_7_4 - BBF Resistor Tune Values 7..4 |
| * - XCVR_BBF_RES_TUNE_LIN_VAL_10_8 - BBF Resistor Tune Values 10..8 |
| * - XCVR_AGC_GAIN_TBL_03_00 - AGC Gain Tables Step 03..00 |
| * - XCVR_AGC_GAIN_TBL_07_04 - AGC Gain Tables Step 07..04 |
| * - XCVR_AGC_GAIN_TBL_11_08 - AGC Gain Tables Step 11..08 |
| * - XCVR_AGC_GAIN_TBL_15_12 - AGC Gain Tables Step 15..12 |
| * - XCVR_AGC_GAIN_TBL_19_16 - AGC Gain Tables Step 19..16 |
| * - XCVR_AGC_GAIN_TBL_23_20 - AGC Gain Tables Step 23..20 |
| * - XCVR_AGC_GAIN_TBL_26_24 - AGC Gain Tables Step 26..24 |
| * - XCVR_DCOC_OFFSET_ - DCOC Offset |
| * - XCVR_DCOC_TZA_STEP_ - DCOC TZA DC step |
| * - XCVR_DCOC_CAL_ALPHA - DCOC Calibration Alpha |
| * - XCVR_DCOC_CAL_BETA - DCOC Calibration Beta |
| * - XCVR_DCOC_CAL_GAMMA - DCOC Calibration Gamma |
| * - XCVR_DCOC_CAL_IIR - DCOC Calibration IIR |
| * - XCVR_DCOC_CAL - DCOC Calibration Result |
| * - XCVR_RX_CHF_COEF - Receive Channel Filter Coefficient |
| * - XCVR_TX_DIG_CTRL - TX Digital Control |
| * - XCVR_TX_DATA_PAD_PAT - TX Data Padding Pattern |
| * - XCVR_TX_GFSK_MOD_CTRL - TX GFSK Modulation Control |
| * - XCVR_TX_GFSK_COEFF2 - TX GFSK Filter Coefficients 2 |
| * - XCVR_TX_GFSK_COEFF1 - TX GFSK Filter Coefficients 1 |
| * - XCVR_TX_FSK_MOD_SCALE - TX FSK Modulation Scale |
| * - XCVR_TX_DFT_MOD_PAT - TX DFT Modulation Pattern |
| * - XCVR_TX_DFT_TONE_0_1 - TX DFT Tones 0 and 1 |
| * - XCVR_TX_DFT_TONE_2_3 - TX DFT Tones 2 and 3 |
| * - XCVR_PLL_MOD_OVRD - PLL Modulation Overrides |
| * - XCVR_PLL_CHAN_MAP - PLL Channel Mapping |
| * - XCVR_PLL_LOCK_DETECT - PLL Lock Detect |
| * - XCVR_PLL_HP_MOD_CTRL - PLL High Port Modulation Control |
| * - XCVR_PLL_HPM_CAL_CTRL - PLL HPM Calibration Control |
| * - XCVR_PLL_LD_HPM_CAL1 - PLL Cycle Slip Lock Detect Configuration and HPM Calibration 1 |
| * - XCVR_PLL_LD_HPM_CAL2 - PLL Cycle Slip Lock Detect Configuration and HPM Calibration 2 |
| * - XCVR_PLL_HPM_SDM_FRACTION - PLL HPM SDM Fraction |
| * - XCVR_PLL_LP_MOD_CTRL - PLL Low Port Modulation Control |
| * - XCVR_PLL_LP_SDM_CTRL1 - PLL Low Port SDM Control 1 |
| * - XCVR_PLL_LP_SDM_CTRL2 - PLL Low Port SDM Control 2 |
| * - XCVR_PLL_LP_SDM_CTRL3 - PLL Low Port SDM Control 3 |
| * - XCVR_PLL_LP_SDM_NUM - PLL Low Port SDM Numerator Applied |
| * - XCVR_PLL_LP_SDM_DENOM - PLL Low Port SDM Denominator Applied |
| * - XCVR_PLL_DELAY_MATCH - PLL Delay Matching |
| * - XCVR_PLL_CTUNE_CTRL - PLL Coarse Tune Control |
| * - XCVR_PLL_CTUNE_CNT6 - PLL Coarse Tune Count 6 |
| * - XCVR_PLL_CTUNE_CNT5_4 - PLL Coarse Tune Counts 5 and 4 |
| * - XCVR_PLL_CTUNE_CNT3_2 - PLL Coarse Tune Counts 3 and 2 |
| * - XCVR_PLL_CTUNE_CNT1_0 - PLL Coarse Tune Counts 1 and 0 |
| * - XCVR_PLL_CTUNE_RESULTS - PLL Coarse Tune Results |
| * - XCVR_CTRL - Transceiver Control |
| * - XCVR_STATUS - Transceiver Status |
| * - XCVR_SOFT_RESET - Soft Reset |
| * - XCVR_OVERWRITE_VER - Overwrite Version |
| * - XCVR_DMA_CTRL - DMA Control |
| * - XCVR_DMA_DATA - DMA Data |
| * - XCVR_DTEST_CTRL - Digital Test Control |
| * - XCVR_PB_CTRL - Packet Buffer Control Register |
| * - XCVR_TSM_CTRL - Transceiver Sequence Manager Control |
| * - XCVR_END_OF_SEQ - End of Sequence Control |
| * - XCVR_TSM_OVRD0 - TSM Override 0 |
| * - XCVR_TSM_OVRD1 - TSM Override 1 |
| * - XCVR_TSM_OVRD2 - TSM Override 2 |
| * - XCVR_TSM_OVRD3 - TSM Override 3 |
| * - XCVR_PA_POWER - PA Power |
| * - XCVR_PA_BIAS_TBL0 - PA Bias Table 0 |
| * - XCVR_PA_BIAS_TBL1 - PA Bias Table 1 |
| * - XCVR_RECYCLE_COUNT - Recycle Count Register |
| * - XCVR_TSM_TIMING00 - TSM_TIMING00 |
| * - XCVR_TSM_TIMING01 - TSM_TIMING01 |
| * - XCVR_TSM_TIMING02 - TSM_TIMING02 |
| * - XCVR_TSM_TIMING03 - TSM_TIMING03 |
| * - XCVR_TSM_TIMING04 - TSM_TIMING04 |
| * - XCVR_TSM_TIMING05 - TSM_TIMING05 |
| * - XCVR_TSM_TIMING06 - TSM_TIMING06 |
| * - XCVR_TSM_TIMING07 - TSM_TIMING07 |
| * - XCVR_TSM_TIMING08 - TSM_TIMING08 |
| * - XCVR_TSM_TIMING09 - TSM_TIMING09 |
| * - XCVR_TSM_TIMING10 - TSM_TIMING10 |
| * - XCVR_TSM_TIMING11 - TSM_TIMING11 |
| * - XCVR_TSM_TIMING12 - TSM_TIMING12 |
| * - XCVR_TSM_TIMING13 - TSM_TIMING13 |
| * - XCVR_TSM_TIMING14 - TSM_TIMING14 |
| * - XCVR_TSM_TIMING15 - TSM_TIMING15 |
| * - XCVR_TSM_TIMING16 - TSM_TIMING16 |
| * - XCVR_TSM_TIMING17 - TSM_TIMING17 |
| * - XCVR_TSM_TIMING18 - TSM_TIMING18 |
| * - XCVR_TSM_TIMING19 - TSM_TIMING19 |
| * - XCVR_TSM_TIMING20 - TSM_TIMING20 |
| * - XCVR_TSM_TIMING21 - TSM_TIMING21 |
| * - XCVR_TSM_TIMING22 - TSM_TIMING22 |
| * - XCVR_TSM_TIMING23 - TSM_TIMING23 |
| * - XCVR_TSM_TIMING24 - TSM_TIMING24 |
| * - XCVR_TSM_TIMING25 - TSM_TIMING25 |
| * - XCVR_TSM_TIMING26 - TSM_TIMING26 |
| * - XCVR_TSM_TIMING27 - TSM_TIMING27 |
| * - XCVR_TSM_TIMING28 - TSM_TIMING28 |
| * - XCVR_TSM_TIMING29 - TSM_TIMING29 |
| * - XCVR_TSM_TIMING30 - TSM_TIMING30 |
| * - XCVR_TSM_TIMING31 - TSM_TIMING31 |
| * - XCVR_TSM_TIMING32 - TSM_TIMING32 |
| * - XCVR_TSM_TIMING33 - TSM_TIMING33 |
| * - XCVR_TSM_TIMING34 - TSM_TIMING34 |
| * - XCVR_TSM_TIMING35 - TSM_TIMING35 |
| * - XCVR_TSM_TIMING36 - TSM_TIMING36 |
| * - XCVR_TSM_TIMING37 - TSM_TIMING37 |
| * - XCVR_TSM_TIMING38 - TSM_TIMING38 |
| * - XCVR_TSM_TIMING39 - TSM_TIMING39 |
| * - XCVR_TSM_TIMING40 - TSM_TIMING40 |
| * - XCVR_TSM_TIMING41 - TSM_TIMING41 |
| * - XCVR_TSM_TIMING42 - TSM_TIMING42 |
| * - XCVR_TSM_TIMING43 - TSM_TIMING43 |
| * - XCVR_CORR_CTRL - CORR_CTRL |
| * - XCVR_PN_TYPE - PN_TYPE |
| * - XCVR_PN_CODE - PN_CODE |
| * - XCVR_SYNC_CTRL - Sync Control |
| * - XCVR_SNF_THR - SNF_THR |
| * - XCVR_FAD_THR - FAD_THR |
| * - XCVR_ZBDEM_AFC - ZBDEM_AFC |
| * - XCVR_LPPS_CTRL - LPPS Control Register |
| * - XCVR_ADC_CTRL - ADC Control |
| * - XCVR_ADC_TUNE - ADC Tuning |
| * - XCVR_ADC_ADJ - ADC Adjustment |
| * - XCVR_ADC_REGS - ADC Regulators |
| * - XCVR_ADC_TRIMS - ADC Regulator Trims |
| * - XCVR_ADC_TEST_CTRL - ADC Test Control |
| * - XCVR_BBF_CTRL - Baseband Filter Control |
| * - XCVR_RX_ANA_CTRL - RX Analog Control |
| * - XCVR_XTAL_CTRL - Crystal Oscillator Control Register 1 |
| * - XCVR_XTAL_CTRL2 - Crystal Oscillator Control Register 2 |
| * - XCVR_BGAP_CTRL - Bandgap Control |
| * - XCVR_PLL_CTRL - PLL Control Register |
| * - XCVR_PLL_CTRL2 - PLL Control Register 2 |
| * - XCVR_PLL_TEST_CTRL - PLL Test Control |
| * - XCVR_QGEN_CTRL - QGEN Control |
| * - XCVR_TCA_CTRL - TCA Control |
| * - XCVR_TZA_CTRL - TZA Control |
| * - XCVR_TX_ANA_CTRL - TX Analog Control |
| * - XCVR_ANA_SPARE - Analog Spare |
| */ |
| |
| #define XCVR_INSTANCE_COUNT (1U) /*!< Number of instances of the XCVR module. */ |
| #define XCVR_IDX (0U) /*!< Instance number for XCVR. */ |
| |
| /******************************************************************************* |
| * XCVR_RX_DIG_CTRL - RX Digital Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_RX_DIG_CTRL - RX Digital Control (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_RX_DIG_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_RX_DIG_CTRL(base) (XCVR_RX_DIG_CTRL_REG(base)) |
| #define XCVR_WR_RX_DIG_CTRL(base, value) (XCVR_RX_DIG_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_RX_DIG_CTRL(base, mask, value) (XCVR_WR_RX_DIG_CTRL(base, (XCVR_RD_RX_DIG_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_RX_DIG_CTRL(base, value) (BME_OR32(&XCVR_RX_DIG_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_RX_DIG_CTRL(base, value) (BME_AND32(&XCVR_RX_DIG_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_RX_DIG_CTRL(base, value) (BME_XOR32(&XCVR_RX_DIG_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_RX_DIG_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_ADC_NEGEDGE[0] (RW) |
| * |
| * Selects which edge of the clock the ADC data is registered. |
| * |
| * Values: |
| * - 0b0 - Register ADC data on positive edge of clock |
| * - 0b1 - Register ADC data on negative edge of clock |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_ADC_NEGEDGE field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_ADC_NEGEDGE(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_ADC_NEGEDGE_MASK) >> XCVR_RX_DIG_CTRL_RX_ADC_NEGEDGE_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_ADC_NEGEDGE(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_ADC_NEGEDGE_SHIFT, XCVR_RX_DIG_CTRL_RX_ADC_NEGEDGE_WIDTH)) |
| |
| /*! @brief Set the RX_ADC_NEGEDGE field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_ADC_NEGEDGE(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_ADC_NEGEDGE_MASK, XCVR_RX_DIG_CTRL_RX_ADC_NEGEDGE(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_ADC_NEGEDGE(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_ADC_NEGEDGE_SHIFT), XCVR_RX_DIG_CTRL_RX_ADC_NEGEDGE_SHIFT, XCVR_RX_DIG_CTRL_RX_ADC_NEGEDGE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_CH_FILT_BYPASS[1] (RW) |
| * |
| * Selects whether to disable and bypass channel filter. |
| * |
| * Values: |
| * - 0b0 - Channel filter is enabled. |
| * - 0b1 - Disable and bypass channel filter. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_CH_FILT_BYPASS field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_CH_FILT_BYPASS(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_CH_FILT_BYPASS_MASK) >> XCVR_RX_DIG_CTRL_RX_CH_FILT_BYPASS_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_CH_FILT_BYPASS(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_CH_FILT_BYPASS_SHIFT, XCVR_RX_DIG_CTRL_RX_CH_FILT_BYPASS_WIDTH)) |
| |
| /*! @brief Set the RX_CH_FILT_BYPASS field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_CH_FILT_BYPASS(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_CH_FILT_BYPASS_MASK, XCVR_RX_DIG_CTRL_RX_CH_FILT_BYPASS(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_CH_FILT_BYPASS(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_CH_FILT_BYPASS_SHIFT), XCVR_RX_DIG_CTRL_RX_CH_FILT_BYPASS_SHIFT, XCVR_RX_DIG_CTRL_RX_CH_FILT_BYPASS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_ADC_RAW_EN[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - The decimation filter's 12bit output consists of two unfiltered 5-bit |
| * ADC samples. This is for test purposes only to observe ADC output via |
| * XCVR DMA or DTEST. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_ADC_RAW_EN field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_ADC_RAW_EN(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_ADC_RAW_EN_MASK) >> XCVR_RX_DIG_CTRL_RX_ADC_RAW_EN_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_ADC_RAW_EN(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_ADC_RAW_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_ADC_RAW_EN_WIDTH)) |
| |
| /*! @brief Set the RX_ADC_RAW_EN field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_ADC_RAW_EN(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_ADC_RAW_EN_MASK, XCVR_RX_DIG_CTRL_RX_ADC_RAW_EN(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_ADC_RAW_EN(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_ADC_RAW_EN_SHIFT), XCVR_RX_DIG_CTRL_RX_ADC_RAW_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_ADC_RAW_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_DEC_FILT_OSR[6:4] (RW) |
| * |
| * All undocumented values are Reserved. |
| * |
| * Values: |
| * - 0b000 - OSR 2 |
| * - 0b001 - OSR 4 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_DEC_FILT_OSR field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_DEC_FILT_OSR(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_DEC_FILT_OSR_MASK) >> XCVR_RX_DIG_CTRL_RX_DEC_FILT_OSR_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_DEC_FILT_OSR(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_DEC_FILT_OSR_SHIFT, XCVR_RX_DIG_CTRL_RX_DEC_FILT_OSR_WIDTH)) |
| |
| /*! @brief Set the RX_DEC_FILT_OSR field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_DEC_FILT_OSR(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_DEC_FILT_OSR_MASK, XCVR_RX_DIG_CTRL_RX_DEC_FILT_OSR(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_DEC_FILT_OSR(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_DEC_FILT_OSR_SHIFT), XCVR_RX_DIG_CTRL_RX_DEC_FILT_OSR_SHIFT, XCVR_RX_DIG_CTRL_RX_DEC_FILT_OSR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_INTERP_EN[8] (RW) |
| * |
| * Values: |
| * - 0b0 - Interpolator is disabled. |
| * - 0b1 - Interpolator is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_INTERP_EN field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_INTERP_EN(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_INTERP_EN_MASK) >> XCVR_RX_DIG_CTRL_RX_INTERP_EN_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_INTERP_EN(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_INTERP_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_INTERP_EN_WIDTH)) |
| |
| /*! @brief Set the RX_INTERP_EN field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_INTERP_EN(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_INTERP_EN_MASK, XCVR_RX_DIG_CTRL_RX_INTERP_EN(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_INTERP_EN(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_INTERP_EN_SHIFT), XCVR_RX_DIG_CTRL_RX_INTERP_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_INTERP_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_NORM_EN[9] (RW) |
| * |
| * Values: |
| * - 0b0 - Normalizer is disabled. |
| * - 0b1 - Normalizer is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_NORM_EN field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_NORM_EN(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_NORM_EN_MASK) >> XCVR_RX_DIG_CTRL_RX_NORM_EN_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_NORM_EN(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_NORM_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_NORM_EN_WIDTH)) |
| |
| /*! @brief Set the RX_NORM_EN field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_NORM_EN(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_NORM_EN_MASK, XCVR_RX_DIG_CTRL_RX_NORM_EN(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_NORM_EN(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_NORM_EN_SHIFT), XCVR_RX_DIG_CTRL_RX_NORM_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_NORM_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_RSSI_EN[10] (RW) |
| * |
| * Values: |
| * - 0b0 - RSSI measurement is disabled. |
| * - 0b1 - RSSI measurement is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_RSSI_EN field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_RSSI_EN(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_RSSI_EN_MASK) >> XCVR_RX_DIG_CTRL_RX_RSSI_EN_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_RSSI_EN(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_RSSI_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_RSSI_EN_WIDTH)) |
| |
| /*! @brief Set the RX_RSSI_EN field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_RSSI_EN(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_RSSI_EN_MASK, XCVR_RX_DIG_CTRL_RX_RSSI_EN(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_RSSI_EN(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_RSSI_EN_SHIFT), XCVR_RX_DIG_CTRL_RX_RSSI_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_RSSI_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_AGC_EN[11] (RW) |
| * |
| * Does NOT affect user gains (user gain programming has priority). |
| * |
| * Values: |
| * - 0b0 - AGC is disabled. |
| * - 0b1 - AGC is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_AGC_EN field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_AGC_EN(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_AGC_EN_MASK) >> XCVR_RX_DIG_CTRL_RX_AGC_EN_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_AGC_EN(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_AGC_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_AGC_EN_WIDTH)) |
| |
| /*! @brief Set the RX_AGC_EN field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_AGC_EN(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_AGC_EN_MASK, XCVR_RX_DIG_CTRL_RX_AGC_EN(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_AGC_EN(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_AGC_EN_SHIFT), XCVR_RX_DIG_CTRL_RX_AGC_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_AGC_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_DCOC_EN[12] (RW) |
| * |
| * Enables DCO calculation and application of corrections. |
| * |
| * Values: |
| * - 0b0 - DCOC is disabled. |
| * - 0b1 - DCOC is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_DCOC_EN field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_DCOC_EN(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_DCOC_EN_MASK) >> XCVR_RX_DIG_CTRL_RX_DCOC_EN_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_DCOC_EN(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_DCOC_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_DCOC_EN_WIDTH)) |
| |
| /*! @brief Set the RX_DCOC_EN field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_DCOC_EN(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_DCOC_EN_MASK, XCVR_RX_DIG_CTRL_RX_DCOC_EN(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_DCOC_EN(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_DCOC_EN_SHIFT), XCVR_RX_DIG_CTRL_RX_DCOC_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_DCOC_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_DCOC_CAL_EN[13] (RW) |
| * |
| * Enable DCOC warm-up calibration in receiver. |
| * |
| * Values: |
| * - 0b0 - DCOC calibration is disabled. |
| * - 0b1 - DCOC calibration is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_DCOC_CAL_EN field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_DCOC_CAL_EN(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_DCOC_CAL_EN_MASK) >> XCVR_RX_DIG_CTRL_RX_DCOC_CAL_EN_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_DCOC_CAL_EN(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_DCOC_CAL_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_DCOC_CAL_EN_WIDTH)) |
| |
| /*! @brief Set the RX_DCOC_CAL_EN field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_DCOC_CAL_EN(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_DCOC_CAL_EN_MASK, XCVR_RX_DIG_CTRL_RX_DCOC_CAL_EN(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_DCOC_CAL_EN(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_DCOC_CAL_EN_SHIFT), XCVR_RX_DIG_CTRL_RX_DCOC_CAL_EN_SHIFT, XCVR_RX_DIG_CTRL_RX_DCOC_CAL_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_DIG_CTRL, field RX_IQ_SWAP[14] (RW) |
| * |
| * Enable swap of I/Q channels (does not affect ADC raw mode). |
| * |
| * Values: |
| * - 0b0 - IQ swap is disabled. |
| * - 0b1 - IQ swap is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_DIG_CTRL_RX_IQ_SWAP field. */ |
| #define XCVR_RD_RX_DIG_CTRL_RX_IQ_SWAP(base) ((XCVR_RX_DIG_CTRL_REG(base) & XCVR_RX_DIG_CTRL_RX_IQ_SWAP_MASK) >> XCVR_RX_DIG_CTRL_RX_IQ_SWAP_SHIFT) |
| #define XCVR_BRD_RX_DIG_CTRL_RX_IQ_SWAP(base) (BME_UBFX32(&XCVR_RX_DIG_CTRL_REG(base), XCVR_RX_DIG_CTRL_RX_IQ_SWAP_SHIFT, XCVR_RX_DIG_CTRL_RX_IQ_SWAP_WIDTH)) |
| |
| /*! @brief Set the RX_IQ_SWAP field to a new value. */ |
| #define XCVR_WR_RX_DIG_CTRL_RX_IQ_SWAP(base, value) (XCVR_RMW_RX_DIG_CTRL(base, XCVR_RX_DIG_CTRL_RX_IQ_SWAP_MASK, XCVR_RX_DIG_CTRL_RX_IQ_SWAP(value))) |
| #define XCVR_BWR_RX_DIG_CTRL_RX_IQ_SWAP(base, value) (BME_BFI32(&XCVR_RX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_DIG_CTRL_RX_IQ_SWAP_SHIFT), XCVR_RX_DIG_CTRL_RX_IQ_SWAP_SHIFT, XCVR_RX_DIG_CTRL_RX_IQ_SWAP_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_CTRL_0 - AGC Control 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_CTRL_0 - AGC Control 0 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_CTRL_0 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_CTRL_0(base) (XCVR_AGC_CTRL_0_REG(base)) |
| #define XCVR_WR_AGC_CTRL_0(base, value) (XCVR_AGC_CTRL_0_REG(base) = (value)) |
| #define XCVR_RMW_AGC_CTRL_0(base, mask, value) (XCVR_WR_AGC_CTRL_0(base, (XCVR_RD_AGC_CTRL_0(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_CTRL_0(base, value) (BME_OR32(&XCVR_AGC_CTRL_0_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_CTRL_0(base, value) (BME_AND32(&XCVR_AGC_CTRL_0_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_CTRL_0(base, value) (BME_XOR32(&XCVR_AGC_CTRL_0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_CTRL_0 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_0, field SLOW_AGC_EN[0] (RW) |
| * |
| * Allow AGC to enter into slow mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_0_SLOW_AGC_EN field. */ |
| #define XCVR_RD_AGC_CTRL_0_SLOW_AGC_EN(base) ((XCVR_AGC_CTRL_0_REG(base) & XCVR_AGC_CTRL_0_SLOW_AGC_EN_MASK) >> XCVR_AGC_CTRL_0_SLOW_AGC_EN_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_0_SLOW_AGC_EN(base) (BME_UBFX32(&XCVR_AGC_CTRL_0_REG(base), XCVR_AGC_CTRL_0_SLOW_AGC_EN_SHIFT, XCVR_AGC_CTRL_0_SLOW_AGC_EN_WIDTH)) |
| |
| /*! @brief Set the SLOW_AGC_EN field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_0_SLOW_AGC_EN(base, value) (XCVR_RMW_AGC_CTRL_0(base, XCVR_AGC_CTRL_0_SLOW_AGC_EN_MASK, XCVR_AGC_CTRL_0_SLOW_AGC_EN(value))) |
| #define XCVR_BWR_AGC_CTRL_0_SLOW_AGC_EN(base, value) (BME_BFI32(&XCVR_AGC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_0_SLOW_AGC_EN_SHIFT), XCVR_AGC_CTRL_0_SLOW_AGC_EN_SHIFT, XCVR_AGC_CTRL_0_SLOW_AGC_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_0, field SLOW_AGC_SRC[2:1] (RW) |
| * |
| * Select trigger source for entering slow AGC. |
| * |
| * Values: |
| * - 0b00 - BTLE Preamble Detect |
| * - 0b01 - Zigbee Preamble Detect |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_0_SLOW_AGC_SRC field. */ |
| #define XCVR_RD_AGC_CTRL_0_SLOW_AGC_SRC(base) ((XCVR_AGC_CTRL_0_REG(base) & XCVR_AGC_CTRL_0_SLOW_AGC_SRC_MASK) >> XCVR_AGC_CTRL_0_SLOW_AGC_SRC_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_0_SLOW_AGC_SRC(base) (BME_UBFX32(&XCVR_AGC_CTRL_0_REG(base), XCVR_AGC_CTRL_0_SLOW_AGC_SRC_SHIFT, XCVR_AGC_CTRL_0_SLOW_AGC_SRC_WIDTH)) |
| |
| /*! @brief Set the SLOW_AGC_SRC field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_0_SLOW_AGC_SRC(base, value) (XCVR_RMW_AGC_CTRL_0(base, XCVR_AGC_CTRL_0_SLOW_AGC_SRC_MASK, XCVR_AGC_CTRL_0_SLOW_AGC_SRC(value))) |
| #define XCVR_BWR_AGC_CTRL_0_SLOW_AGC_SRC(base, value) (BME_BFI32(&XCVR_AGC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_0_SLOW_AGC_SRC_SHIFT), XCVR_AGC_CTRL_0_SLOW_AGC_SRC_SHIFT, XCVR_AGC_CTRL_0_SLOW_AGC_SRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_0, field AGC_FREEZE_EN[3] (RW) |
| * |
| * Allow AGC to freeze. AGC can still go to hold mode if timer expires (same as |
| * fast expire) from slow mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_0_AGC_FREEZE_EN field. */ |
| #define XCVR_RD_AGC_CTRL_0_AGC_FREEZE_EN(base) ((XCVR_AGC_CTRL_0_REG(base) & XCVR_AGC_CTRL_0_AGC_FREEZE_EN_MASK) >> XCVR_AGC_CTRL_0_AGC_FREEZE_EN_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_0_AGC_FREEZE_EN(base) (BME_UBFX32(&XCVR_AGC_CTRL_0_REG(base), XCVR_AGC_CTRL_0_AGC_FREEZE_EN_SHIFT, XCVR_AGC_CTRL_0_AGC_FREEZE_EN_WIDTH)) |
| |
| /*! @brief Set the AGC_FREEZE_EN field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_0_AGC_FREEZE_EN(base, value) (XCVR_RMW_AGC_CTRL_0(base, XCVR_AGC_CTRL_0_AGC_FREEZE_EN_MASK, XCVR_AGC_CTRL_0_AGC_FREEZE_EN(value))) |
| #define XCVR_BWR_AGC_CTRL_0_AGC_FREEZE_EN(base, value) (BME_BFI32(&XCVR_AGC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_0_AGC_FREEZE_EN_SHIFT), XCVR_AGC_CTRL_0_AGC_FREEZE_EN_SHIFT, XCVR_AGC_CTRL_0_AGC_FREEZE_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_0, field FREEZE_AGC_SRC[5:4] (RW) |
| * |
| * Select trigger source for entering freeze AGC. |
| * |
| * Values: |
| * - 0b00 - BTLE Preamble Detect |
| * - 0b01 - Zigbee Preamble Detect |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_0_FREEZE_AGC_SRC field. */ |
| #define XCVR_RD_AGC_CTRL_0_FREEZE_AGC_SRC(base) ((XCVR_AGC_CTRL_0_REG(base) & XCVR_AGC_CTRL_0_FREEZE_AGC_SRC_MASK) >> XCVR_AGC_CTRL_0_FREEZE_AGC_SRC_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_0_FREEZE_AGC_SRC(base) (BME_UBFX32(&XCVR_AGC_CTRL_0_REG(base), XCVR_AGC_CTRL_0_FREEZE_AGC_SRC_SHIFT, XCVR_AGC_CTRL_0_FREEZE_AGC_SRC_WIDTH)) |
| |
| /*! @brief Set the FREEZE_AGC_SRC field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_0_FREEZE_AGC_SRC(base, value) (XCVR_RMW_AGC_CTRL_0(base, XCVR_AGC_CTRL_0_FREEZE_AGC_SRC_MASK, XCVR_AGC_CTRL_0_FREEZE_AGC_SRC(value))) |
| #define XCVR_BWR_AGC_CTRL_0_FREEZE_AGC_SRC(base, value) (BME_BFI32(&XCVR_AGC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_0_FREEZE_AGC_SRC_SHIFT), XCVR_AGC_CTRL_0_FREEZE_AGC_SRC_SHIFT, XCVR_AGC_CTRL_0_FREEZE_AGC_SRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_0, field AGC_UP_EN[6] (RW) |
| * |
| * Allow AGC to take upward steps in slow mode. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_0_AGC_UP_EN field. */ |
| #define XCVR_RD_AGC_CTRL_0_AGC_UP_EN(base) ((XCVR_AGC_CTRL_0_REG(base) & XCVR_AGC_CTRL_0_AGC_UP_EN_MASK) >> XCVR_AGC_CTRL_0_AGC_UP_EN_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_0_AGC_UP_EN(base) (BME_UBFX32(&XCVR_AGC_CTRL_0_REG(base), XCVR_AGC_CTRL_0_AGC_UP_EN_SHIFT, XCVR_AGC_CTRL_0_AGC_UP_EN_WIDTH)) |
| |
| /*! @brief Set the AGC_UP_EN field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_0_AGC_UP_EN(base, value) (XCVR_RMW_AGC_CTRL_0(base, XCVR_AGC_CTRL_0_AGC_UP_EN_MASK, XCVR_AGC_CTRL_0_AGC_UP_EN(value))) |
| #define XCVR_BWR_AGC_CTRL_0_AGC_UP_EN(base, value) (BME_BFI32(&XCVR_AGC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_0_AGC_UP_EN_SHIFT), XCVR_AGC_CTRL_0_AGC_UP_EN_SHIFT, XCVR_AGC_CTRL_0_AGC_UP_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_0, field AGC_UP_SRC[7] (RW) |
| * |
| * Criterion to use for upward AGC steps. |
| * |
| * Values: |
| * - 0b0 - PDET LO |
| * - 0b1 - RSSI |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_0_AGC_UP_SRC field. */ |
| #define XCVR_RD_AGC_CTRL_0_AGC_UP_SRC(base) ((XCVR_AGC_CTRL_0_REG(base) & XCVR_AGC_CTRL_0_AGC_UP_SRC_MASK) >> XCVR_AGC_CTRL_0_AGC_UP_SRC_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_0_AGC_UP_SRC(base) (BME_UBFX32(&XCVR_AGC_CTRL_0_REG(base), XCVR_AGC_CTRL_0_AGC_UP_SRC_SHIFT, XCVR_AGC_CTRL_0_AGC_UP_SRC_WIDTH)) |
| |
| /*! @brief Set the AGC_UP_SRC field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_0_AGC_UP_SRC(base, value) (XCVR_RMW_AGC_CTRL_0(base, XCVR_AGC_CTRL_0_AGC_UP_SRC_MASK, XCVR_AGC_CTRL_0_AGC_UP_SRC(value))) |
| #define XCVR_BWR_AGC_CTRL_0_AGC_UP_SRC(base, value) (BME_BFI32(&XCVR_AGC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_0_AGC_UP_SRC_SHIFT), XCVR_AGC_CTRL_0_AGC_UP_SRC_SHIFT, XCVR_AGC_CTRL_0_AGC_UP_SRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_0, field AGC_DOWN_BBF_STEP_SZ[11:8] (RW) |
| * |
| * Number of table steps for downward step (BBF) in AGC fast. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ field. */ |
| #define XCVR_RD_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ(base) ((XCVR_AGC_CTRL_0_REG(base) & XCVR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ_MASK) >> XCVR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ(base) (BME_UBFX32(&XCVR_AGC_CTRL_0_REG(base), XCVR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ_SHIFT, XCVR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ_WIDTH)) |
| |
| /*! @brief Set the AGC_DOWN_BBF_STEP_SZ field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ(base, value) (XCVR_RMW_AGC_CTRL_0(base, XCVR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ_MASK, XCVR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ(value))) |
| #define XCVR_BWR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ(base, value) (BME_BFI32(&XCVR_AGC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ_SHIFT), XCVR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ_SHIFT, XCVR_AGC_CTRL_0_AGC_DOWN_BBF_STEP_SZ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_0, field AGC_DOWN_TZA_STEP_SZ[15:12] (RW) |
| * |
| * Number of table steps for downward step (TZA) in AGC fast. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ field. */ |
| #define XCVR_RD_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ(base) ((XCVR_AGC_CTRL_0_REG(base) & XCVR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ_MASK) >> XCVR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ(base) (BME_UBFX32(&XCVR_AGC_CTRL_0_REG(base), XCVR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ_SHIFT, XCVR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ_WIDTH)) |
| |
| /*! @brief Set the AGC_DOWN_TZA_STEP_SZ field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ(base, value) (XCVR_RMW_AGC_CTRL_0(base, XCVR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ_MASK, XCVR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ(value))) |
| #define XCVR_BWR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ(base, value) (BME_BFI32(&XCVR_AGC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ_SHIFT), XCVR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ_SHIFT, XCVR_AGC_CTRL_0_AGC_DOWN_TZA_STEP_SZ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_0, field AGC_UP_RSSI_THRESH[23:16] (RW) |
| * |
| * ADC RSSI threshold to take upward step (AGC slow). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_0_AGC_UP_RSSI_THRESH field. */ |
| #define XCVR_RD_AGC_CTRL_0_AGC_UP_RSSI_THRESH(base) ((XCVR_AGC_CTRL_0_REG(base) & XCVR_AGC_CTRL_0_AGC_UP_RSSI_THRESH_MASK) >> XCVR_AGC_CTRL_0_AGC_UP_RSSI_THRESH_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_0_AGC_UP_RSSI_THRESH(base) (BME_UBFX32(&XCVR_AGC_CTRL_0_REG(base), XCVR_AGC_CTRL_0_AGC_UP_RSSI_THRESH_SHIFT, XCVR_AGC_CTRL_0_AGC_UP_RSSI_THRESH_WIDTH)) |
| |
| /*! @brief Set the AGC_UP_RSSI_THRESH field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_0_AGC_UP_RSSI_THRESH(base, value) (XCVR_RMW_AGC_CTRL_0(base, XCVR_AGC_CTRL_0_AGC_UP_RSSI_THRESH_MASK, XCVR_AGC_CTRL_0_AGC_UP_RSSI_THRESH(value))) |
| #define XCVR_BWR_AGC_CTRL_0_AGC_UP_RSSI_THRESH(base, value) (BME_BFI32(&XCVR_AGC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_0_AGC_UP_RSSI_THRESH_SHIFT), XCVR_AGC_CTRL_0_AGC_UP_RSSI_THRESH_SHIFT, XCVR_AGC_CTRL_0_AGC_UP_RSSI_THRESH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_0, field AGC_DOWN_RSSI_THRESH[31:24] (RW) |
| * |
| * ADC RSSI threshold to take downward step (AGC slow). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH field. */ |
| #define XCVR_RD_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH(base) ((XCVR_AGC_CTRL_0_REG(base) & XCVR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_MASK) >> XCVR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH(base) (BME_UBFX32(&XCVR_AGC_CTRL_0_REG(base), XCVR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_SHIFT, XCVR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_WIDTH)) |
| |
| /*! @brief Set the AGC_DOWN_RSSI_THRESH field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH(base, value) (XCVR_RMW_AGC_CTRL_0(base, XCVR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_MASK, XCVR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH(value))) |
| #define XCVR_BWR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH(base, value) (BME_BFI32(&XCVR_AGC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_SHIFT), XCVR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_SHIFT, XCVR_AGC_CTRL_0_AGC_DOWN_RSSI_THRESH_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_CTRL_1 - AGC Control 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_CTRL_1 - AGC Control 1 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_CTRL_1 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_CTRL_1(base) (XCVR_AGC_CTRL_1_REG(base)) |
| #define XCVR_WR_AGC_CTRL_1(base, value) (XCVR_AGC_CTRL_1_REG(base) = (value)) |
| #define XCVR_RMW_AGC_CTRL_1(base, mask, value) (XCVR_WR_AGC_CTRL_1(base, (XCVR_RD_AGC_CTRL_1(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_CTRL_1(base, value) (BME_OR32(&XCVR_AGC_CTRL_1_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_CTRL_1(base, value) (BME_AND32(&XCVR_AGC_CTRL_1_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_CTRL_1(base, value) (BME_XOR32(&XCVR_AGC_CTRL_1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_CTRL_1 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_1, field BBF_ALT_CODE[3:0] (RW) |
| * |
| * Alternate BBF gain code selected when bbf_gain_xx=0xF. Also used as initial |
| * gain value before DCOC cal is performed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_1_BBF_ALT_CODE field. */ |
| #define XCVR_RD_AGC_CTRL_1_BBF_ALT_CODE(base) ((XCVR_AGC_CTRL_1_REG(base) & XCVR_AGC_CTRL_1_BBF_ALT_CODE_MASK) >> XCVR_AGC_CTRL_1_BBF_ALT_CODE_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_1_BBF_ALT_CODE(base) (BME_UBFX32(&XCVR_AGC_CTRL_1_REG(base), XCVR_AGC_CTRL_1_BBF_ALT_CODE_SHIFT, XCVR_AGC_CTRL_1_BBF_ALT_CODE_WIDTH)) |
| |
| /*! @brief Set the BBF_ALT_CODE field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_1_BBF_ALT_CODE(base, value) (XCVR_RMW_AGC_CTRL_1(base, XCVR_AGC_CTRL_1_BBF_ALT_CODE_MASK, XCVR_AGC_CTRL_1_BBF_ALT_CODE(value))) |
| #define XCVR_BWR_AGC_CTRL_1_BBF_ALT_CODE(base, value) (BME_BFI32(&XCVR_AGC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_1_BBF_ALT_CODE_SHIFT), XCVR_AGC_CTRL_1_BBF_ALT_CODE_SHIFT, XCVR_AGC_CTRL_1_BBF_ALT_CODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_1, field LNM_ALT_CODE[11:4] (RW) |
| * |
| * Alternate LNM gain code selected when lnm_gain_xx=F. Also used as initial |
| * gain value before DCOC cal is performed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_1_LNM_ALT_CODE field. */ |
| #define XCVR_RD_AGC_CTRL_1_LNM_ALT_CODE(base) ((XCVR_AGC_CTRL_1_REG(base) & XCVR_AGC_CTRL_1_LNM_ALT_CODE_MASK) >> XCVR_AGC_CTRL_1_LNM_ALT_CODE_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_1_LNM_ALT_CODE(base) (BME_UBFX32(&XCVR_AGC_CTRL_1_REG(base), XCVR_AGC_CTRL_1_LNM_ALT_CODE_SHIFT, XCVR_AGC_CTRL_1_LNM_ALT_CODE_WIDTH)) |
| |
| /*! @brief Set the LNM_ALT_CODE field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_1_LNM_ALT_CODE(base, value) (XCVR_RMW_AGC_CTRL_1(base, XCVR_AGC_CTRL_1_LNM_ALT_CODE_MASK, XCVR_AGC_CTRL_1_LNM_ALT_CODE(value))) |
| #define XCVR_BWR_AGC_CTRL_1_LNM_ALT_CODE(base, value) (BME_BFI32(&XCVR_AGC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_1_LNM_ALT_CODE_SHIFT), XCVR_AGC_CTRL_1_LNM_ALT_CODE_SHIFT, XCVR_AGC_CTRL_1_LNM_ALT_CODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_1, field LNM_USER_GAIN[15:12] (RW) |
| * |
| * user defined lnm gain index if user_lnm_gain_en =1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_1_LNM_USER_GAIN field. */ |
| #define XCVR_RD_AGC_CTRL_1_LNM_USER_GAIN(base) ((XCVR_AGC_CTRL_1_REG(base) & XCVR_AGC_CTRL_1_LNM_USER_GAIN_MASK) >> XCVR_AGC_CTRL_1_LNM_USER_GAIN_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_1_LNM_USER_GAIN(base) (BME_UBFX32(&XCVR_AGC_CTRL_1_REG(base), XCVR_AGC_CTRL_1_LNM_USER_GAIN_SHIFT, XCVR_AGC_CTRL_1_LNM_USER_GAIN_WIDTH)) |
| |
| /*! @brief Set the LNM_USER_GAIN field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_1_LNM_USER_GAIN(base, value) (XCVR_RMW_AGC_CTRL_1(base, XCVR_AGC_CTRL_1_LNM_USER_GAIN_MASK, XCVR_AGC_CTRL_1_LNM_USER_GAIN(value))) |
| #define XCVR_BWR_AGC_CTRL_1_LNM_USER_GAIN(base, value) (BME_BFI32(&XCVR_AGC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_1_LNM_USER_GAIN_SHIFT), XCVR_AGC_CTRL_1_LNM_USER_GAIN_SHIFT, XCVR_AGC_CTRL_1_LNM_USER_GAIN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_1, field BBF_USER_GAIN[19:16] (RW) |
| * |
| * User defined BBF gain index if user_bbf_gain_en =1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_1_BBF_USER_GAIN field. */ |
| #define XCVR_RD_AGC_CTRL_1_BBF_USER_GAIN(base) ((XCVR_AGC_CTRL_1_REG(base) & XCVR_AGC_CTRL_1_BBF_USER_GAIN_MASK) >> XCVR_AGC_CTRL_1_BBF_USER_GAIN_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_1_BBF_USER_GAIN(base) (BME_UBFX32(&XCVR_AGC_CTRL_1_REG(base), XCVR_AGC_CTRL_1_BBF_USER_GAIN_SHIFT, XCVR_AGC_CTRL_1_BBF_USER_GAIN_WIDTH)) |
| |
| /*! @brief Set the BBF_USER_GAIN field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_1_BBF_USER_GAIN(base, value) (XCVR_RMW_AGC_CTRL_1(base, XCVR_AGC_CTRL_1_BBF_USER_GAIN_MASK, XCVR_AGC_CTRL_1_BBF_USER_GAIN(value))) |
| #define XCVR_BWR_AGC_CTRL_1_BBF_USER_GAIN(base, value) (BME_BFI32(&XCVR_AGC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_1_BBF_USER_GAIN_SHIFT), XCVR_AGC_CTRL_1_BBF_USER_GAIN_SHIFT, XCVR_AGC_CTRL_1_BBF_USER_GAIN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_1, field USER_LNM_GAIN_EN[20] (RW) |
| * |
| * Enable user defined LNM gain (no AGC). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_1_USER_LNM_GAIN_EN field. */ |
| #define XCVR_RD_AGC_CTRL_1_USER_LNM_GAIN_EN(base) ((XCVR_AGC_CTRL_1_REG(base) & XCVR_AGC_CTRL_1_USER_LNM_GAIN_EN_MASK) >> XCVR_AGC_CTRL_1_USER_LNM_GAIN_EN_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_1_USER_LNM_GAIN_EN(base) (BME_UBFX32(&XCVR_AGC_CTRL_1_REG(base), XCVR_AGC_CTRL_1_USER_LNM_GAIN_EN_SHIFT, XCVR_AGC_CTRL_1_USER_LNM_GAIN_EN_WIDTH)) |
| |
| /*! @brief Set the USER_LNM_GAIN_EN field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_1_USER_LNM_GAIN_EN(base, value) (XCVR_RMW_AGC_CTRL_1(base, XCVR_AGC_CTRL_1_USER_LNM_GAIN_EN_MASK, XCVR_AGC_CTRL_1_USER_LNM_GAIN_EN(value))) |
| #define XCVR_BWR_AGC_CTRL_1_USER_LNM_GAIN_EN(base, value) (BME_BFI32(&XCVR_AGC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_1_USER_LNM_GAIN_EN_SHIFT), XCVR_AGC_CTRL_1_USER_LNM_GAIN_EN_SHIFT, XCVR_AGC_CTRL_1_USER_LNM_GAIN_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_1, field USER_BBF_GAIN_EN[21] (RW) |
| * |
| * Enable user defined BBF gain (no AGC). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_1_USER_BBF_GAIN_EN field. */ |
| #define XCVR_RD_AGC_CTRL_1_USER_BBF_GAIN_EN(base) ((XCVR_AGC_CTRL_1_REG(base) & XCVR_AGC_CTRL_1_USER_BBF_GAIN_EN_MASK) >> XCVR_AGC_CTRL_1_USER_BBF_GAIN_EN_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_1_USER_BBF_GAIN_EN(base) (BME_UBFX32(&XCVR_AGC_CTRL_1_REG(base), XCVR_AGC_CTRL_1_USER_BBF_GAIN_EN_SHIFT, XCVR_AGC_CTRL_1_USER_BBF_GAIN_EN_WIDTH)) |
| |
| /*! @brief Set the USER_BBF_GAIN_EN field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_1_USER_BBF_GAIN_EN(base, value) (XCVR_RMW_AGC_CTRL_1(base, XCVR_AGC_CTRL_1_USER_BBF_GAIN_EN_MASK, XCVR_AGC_CTRL_1_USER_BBF_GAIN_EN(value))) |
| #define XCVR_BWR_AGC_CTRL_1_USER_BBF_GAIN_EN(base, value) (BME_BFI32(&XCVR_AGC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_1_USER_BBF_GAIN_EN_SHIFT), XCVR_AGC_CTRL_1_USER_BBF_GAIN_EN_SHIFT, XCVR_AGC_CTRL_1_USER_BBF_GAIN_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_1, field PRESLOW_EN[22] (RW) |
| * |
| * Enablepre-slow state. |
| * |
| * Values: |
| * - 0b0 - Pre-slow is disabled. |
| * - 0b1 - Pre-slow is enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_1_PRESLOW_EN field. */ |
| #define XCVR_RD_AGC_CTRL_1_PRESLOW_EN(base) ((XCVR_AGC_CTRL_1_REG(base) & XCVR_AGC_CTRL_1_PRESLOW_EN_MASK) >> XCVR_AGC_CTRL_1_PRESLOW_EN_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_1_PRESLOW_EN(base) (BME_UBFX32(&XCVR_AGC_CTRL_1_REG(base), XCVR_AGC_CTRL_1_PRESLOW_EN_SHIFT, XCVR_AGC_CTRL_1_PRESLOW_EN_WIDTH)) |
| |
| /*! @brief Set the PRESLOW_EN field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_1_PRESLOW_EN(base, value) (XCVR_RMW_AGC_CTRL_1(base, XCVR_AGC_CTRL_1_PRESLOW_EN_MASK, XCVR_AGC_CTRL_1_PRESLOW_EN(value))) |
| #define XCVR_BWR_AGC_CTRL_1_PRESLOW_EN(base, value) (BME_BFI32(&XCVR_AGC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_1_PRESLOW_EN_SHIFT), XCVR_AGC_CTRL_1_PRESLOW_EN_SHIFT, XCVR_AGC_CTRL_1_PRESLOW_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_1, field TZA_GAIN_SETTLE_TIME[31:24] (RW) |
| * |
| * Number of clocks to assert TZA peak detector reset (for automatic control). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME field. */ |
| #define XCVR_RD_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME(base) ((XCVR_AGC_CTRL_1_REG(base) & XCVR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME_MASK) >> XCVR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME(base) (BME_UBFX32(&XCVR_AGC_CTRL_1_REG(base), XCVR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME_SHIFT, XCVR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME_WIDTH)) |
| |
| /*! @brief Set the TZA_GAIN_SETTLE_TIME field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME(base, value) (XCVR_RMW_AGC_CTRL_1(base, XCVR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME_MASK, XCVR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME(value))) |
| #define XCVR_BWR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME(base, value) (BME_BFI32(&XCVR_AGC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME_SHIFT), XCVR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME_SHIFT, XCVR_AGC_CTRL_1_TZA_GAIN_SETTLE_TIME_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_CTRL_2 - AGC Control 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_CTRL_2 - AGC Control 2 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_CTRL_2 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_CTRL_2(base) (XCVR_AGC_CTRL_2_REG(base)) |
| #define XCVR_WR_AGC_CTRL_2(base, value) (XCVR_AGC_CTRL_2_REG(base) = (value)) |
| #define XCVR_RMW_AGC_CTRL_2(base, mask, value) (XCVR_WR_AGC_CTRL_2(base, (XCVR_RD_AGC_CTRL_2(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_CTRL_2(base, value) (BME_OR32(&XCVR_AGC_CTRL_2_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_CTRL_2(base, value) (BME_AND32(&XCVR_AGC_CTRL_2_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_CTRL_2(base, value) (BME_XOR32(&XCVR_AGC_CTRL_2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_CTRL_2 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_2, field BBF_PDET_RST[0] (RW) |
| * |
| * BBF peak detector reset, manual control. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_2_BBF_PDET_RST field. */ |
| #define XCVR_RD_AGC_CTRL_2_BBF_PDET_RST(base) ((XCVR_AGC_CTRL_2_REG(base) & XCVR_AGC_CTRL_2_BBF_PDET_RST_MASK) >> XCVR_AGC_CTRL_2_BBF_PDET_RST_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_2_BBF_PDET_RST(base) (BME_UBFX32(&XCVR_AGC_CTRL_2_REG(base), XCVR_AGC_CTRL_2_BBF_PDET_RST_SHIFT, XCVR_AGC_CTRL_2_BBF_PDET_RST_WIDTH)) |
| |
| /*! @brief Set the BBF_PDET_RST field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_2_BBF_PDET_RST(base, value) (XCVR_RMW_AGC_CTRL_2(base, XCVR_AGC_CTRL_2_BBF_PDET_RST_MASK, XCVR_AGC_CTRL_2_BBF_PDET_RST(value))) |
| #define XCVR_BWR_AGC_CTRL_2_BBF_PDET_RST(base, value) (BME_BFI32(&XCVR_AGC_CTRL_2_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_2_BBF_PDET_RST_SHIFT), XCVR_AGC_CTRL_2_BBF_PDET_RST_SHIFT, XCVR_AGC_CTRL_2_BBF_PDET_RST_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_2, field TZA_PDET_RST[1] (RW) |
| * |
| * TZA peak detector reset, manual control. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_2_TZA_PDET_RST field. */ |
| #define XCVR_RD_AGC_CTRL_2_TZA_PDET_RST(base) ((XCVR_AGC_CTRL_2_REG(base) & XCVR_AGC_CTRL_2_TZA_PDET_RST_MASK) >> XCVR_AGC_CTRL_2_TZA_PDET_RST_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_2_TZA_PDET_RST(base) (BME_UBFX32(&XCVR_AGC_CTRL_2_REG(base), XCVR_AGC_CTRL_2_TZA_PDET_RST_SHIFT, XCVR_AGC_CTRL_2_TZA_PDET_RST_WIDTH)) |
| |
| /*! @brief Set the TZA_PDET_RST field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_2_TZA_PDET_RST(base, value) (XCVR_RMW_AGC_CTRL_2(base, XCVR_AGC_CTRL_2_TZA_PDET_RST_MASK, XCVR_AGC_CTRL_2_TZA_PDET_RST(value))) |
| #define XCVR_BWR_AGC_CTRL_2_TZA_PDET_RST(base, value) (BME_BFI32(&XCVR_AGC_CTRL_2_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_2_TZA_PDET_RST_SHIFT), XCVR_AGC_CTRL_2_TZA_PDET_RST_SHIFT, XCVR_AGC_CTRL_2_TZA_PDET_RST_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_2, field BBF_GAIN_SETTLE_TIME[11:4] (RW) |
| * |
| * Number of clocks to assert BBF peak detector reset (for automatic control). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME field. */ |
| #define XCVR_RD_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME(base) ((XCVR_AGC_CTRL_2_REG(base) & XCVR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME_MASK) >> XCVR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME(base) (BME_UBFX32(&XCVR_AGC_CTRL_2_REG(base), XCVR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME_SHIFT, XCVR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_SETTLE_TIME field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME(base, value) (XCVR_RMW_AGC_CTRL_2(base, XCVR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME_MASK, XCVR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME(value))) |
| #define XCVR_BWR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME(base, value) (BME_BFI32(&XCVR_AGC_CTRL_2_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME_SHIFT), XCVR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME_SHIFT, XCVR_AGC_CTRL_2_BBF_GAIN_SETTLE_TIME_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_2, field BBF_PDET_THRESH_LO[14:12] (RW) |
| * |
| * BBF peak detect LO threshold. |
| * |
| * Values: |
| * - 0b000 - 0.6V |
| * - 0b001 - 0.675V |
| * - 0b010 - 0.75V |
| * - 0b011 - 0.825V |
| * - 0b100 - 0.9V |
| * - 0b101 - 0.975V |
| * - 0b110 - 1.05V |
| * - 0b111 - 1.125V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_2_BBF_PDET_THRESH_LO field. */ |
| #define XCVR_RD_AGC_CTRL_2_BBF_PDET_THRESH_LO(base) ((XCVR_AGC_CTRL_2_REG(base) & XCVR_AGC_CTRL_2_BBF_PDET_THRESH_LO_MASK) >> XCVR_AGC_CTRL_2_BBF_PDET_THRESH_LO_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_2_BBF_PDET_THRESH_LO(base) (BME_UBFX32(&XCVR_AGC_CTRL_2_REG(base), XCVR_AGC_CTRL_2_BBF_PDET_THRESH_LO_SHIFT, XCVR_AGC_CTRL_2_BBF_PDET_THRESH_LO_WIDTH)) |
| |
| /*! @brief Set the BBF_PDET_THRESH_LO field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_2_BBF_PDET_THRESH_LO(base, value) (XCVR_RMW_AGC_CTRL_2(base, XCVR_AGC_CTRL_2_BBF_PDET_THRESH_LO_MASK, XCVR_AGC_CTRL_2_BBF_PDET_THRESH_LO(value))) |
| #define XCVR_BWR_AGC_CTRL_2_BBF_PDET_THRESH_LO(base, value) (BME_BFI32(&XCVR_AGC_CTRL_2_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_2_BBF_PDET_THRESH_LO_SHIFT), XCVR_AGC_CTRL_2_BBF_PDET_THRESH_LO_SHIFT, XCVR_AGC_CTRL_2_BBF_PDET_THRESH_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_2, field BBF_PDET_THRESH_HI[17:15] (RW) |
| * |
| * BBF peak detect HI threshold. |
| * |
| * Values: |
| * - 0b000 - 0.6V |
| * - 0b001 - 0.675V |
| * - 0b010 - 0.75V |
| * - 0b011 - 0.825V |
| * - 0b100 - 0.9V |
| * - 0b101 - 0.975V |
| * - 0b110 - 1.05V |
| * - 0b111 - 1.125V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_2_BBF_PDET_THRESH_HI field. */ |
| #define XCVR_RD_AGC_CTRL_2_BBF_PDET_THRESH_HI(base) ((XCVR_AGC_CTRL_2_REG(base) & XCVR_AGC_CTRL_2_BBF_PDET_THRESH_HI_MASK) >> XCVR_AGC_CTRL_2_BBF_PDET_THRESH_HI_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_2_BBF_PDET_THRESH_HI(base) (BME_UBFX32(&XCVR_AGC_CTRL_2_REG(base), XCVR_AGC_CTRL_2_BBF_PDET_THRESH_HI_SHIFT, XCVR_AGC_CTRL_2_BBF_PDET_THRESH_HI_WIDTH)) |
| |
| /*! @brief Set the BBF_PDET_THRESH_HI field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_2_BBF_PDET_THRESH_HI(base, value) (XCVR_RMW_AGC_CTRL_2(base, XCVR_AGC_CTRL_2_BBF_PDET_THRESH_HI_MASK, XCVR_AGC_CTRL_2_BBF_PDET_THRESH_HI(value))) |
| #define XCVR_BWR_AGC_CTRL_2_BBF_PDET_THRESH_HI(base, value) (BME_BFI32(&XCVR_AGC_CTRL_2_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_2_BBF_PDET_THRESH_HI_SHIFT), XCVR_AGC_CTRL_2_BBF_PDET_THRESH_HI_SHIFT, XCVR_AGC_CTRL_2_BBF_PDET_THRESH_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_2, field TZA_PDET_THRESH_LO[20:18] (RW) |
| * |
| * TZA peak detect LO threshold. |
| * |
| * Values: |
| * - 0b000 - 0.6V |
| * - 0b001 - 0.675V |
| * - 0b010 - 0.75V |
| * - 0b011 - 0.825V |
| * - 0b100 - 0.9V |
| * - 0b101 - 0.975V |
| * - 0b110 - 1.05V |
| * - 0b111 - 1.125V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_2_TZA_PDET_THRESH_LO field. */ |
| #define XCVR_RD_AGC_CTRL_2_TZA_PDET_THRESH_LO(base) ((XCVR_AGC_CTRL_2_REG(base) & XCVR_AGC_CTRL_2_TZA_PDET_THRESH_LO_MASK) >> XCVR_AGC_CTRL_2_TZA_PDET_THRESH_LO_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_2_TZA_PDET_THRESH_LO(base) (BME_UBFX32(&XCVR_AGC_CTRL_2_REG(base), XCVR_AGC_CTRL_2_TZA_PDET_THRESH_LO_SHIFT, XCVR_AGC_CTRL_2_TZA_PDET_THRESH_LO_WIDTH)) |
| |
| /*! @brief Set the TZA_PDET_THRESH_LO field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_2_TZA_PDET_THRESH_LO(base, value) (XCVR_RMW_AGC_CTRL_2(base, XCVR_AGC_CTRL_2_TZA_PDET_THRESH_LO_MASK, XCVR_AGC_CTRL_2_TZA_PDET_THRESH_LO(value))) |
| #define XCVR_BWR_AGC_CTRL_2_TZA_PDET_THRESH_LO(base, value) (BME_BFI32(&XCVR_AGC_CTRL_2_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_2_TZA_PDET_THRESH_LO_SHIFT), XCVR_AGC_CTRL_2_TZA_PDET_THRESH_LO_SHIFT, XCVR_AGC_CTRL_2_TZA_PDET_THRESH_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_2, field TZA_PDET_THRESH_HI[23:21] (RW) |
| * |
| * TZA peak detect HI threshold. |
| * |
| * Values: |
| * - 0b000 - 0.6V |
| * - 0b001 - 0.675V |
| * - 0b010 - 0.75V |
| * - 0b011 - 0.825V |
| * - 0b100 - 0.9V |
| * - 0b101 - 0.975V |
| * - 0b110 - 1.05V |
| * - 0b111 - 1.125V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_2_TZA_PDET_THRESH_HI field. */ |
| #define XCVR_RD_AGC_CTRL_2_TZA_PDET_THRESH_HI(base) ((XCVR_AGC_CTRL_2_REG(base) & XCVR_AGC_CTRL_2_TZA_PDET_THRESH_HI_MASK) >> XCVR_AGC_CTRL_2_TZA_PDET_THRESH_HI_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_2_TZA_PDET_THRESH_HI(base) (BME_UBFX32(&XCVR_AGC_CTRL_2_REG(base), XCVR_AGC_CTRL_2_TZA_PDET_THRESH_HI_SHIFT, XCVR_AGC_CTRL_2_TZA_PDET_THRESH_HI_WIDTH)) |
| |
| /*! @brief Set the TZA_PDET_THRESH_HI field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_2_TZA_PDET_THRESH_HI(base, value) (XCVR_RMW_AGC_CTRL_2(base, XCVR_AGC_CTRL_2_TZA_PDET_THRESH_HI_MASK, XCVR_AGC_CTRL_2_TZA_PDET_THRESH_HI(value))) |
| #define XCVR_BWR_AGC_CTRL_2_TZA_PDET_THRESH_HI(base, value) (BME_BFI32(&XCVR_AGC_CTRL_2_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_2_TZA_PDET_THRESH_HI_SHIFT), XCVR_AGC_CTRL_2_TZA_PDET_THRESH_HI_SHIFT, XCVR_AGC_CTRL_2_TZA_PDET_THRESH_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_2, field AGC_FAST_EXPIRE[29:24] (RW) |
| * |
| * Expire time (uS) for fast AGC (1-63uS). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_2_AGC_FAST_EXPIRE field. */ |
| #define XCVR_RD_AGC_CTRL_2_AGC_FAST_EXPIRE(base) ((XCVR_AGC_CTRL_2_REG(base) & XCVR_AGC_CTRL_2_AGC_FAST_EXPIRE_MASK) >> XCVR_AGC_CTRL_2_AGC_FAST_EXPIRE_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_2_AGC_FAST_EXPIRE(base) (BME_UBFX32(&XCVR_AGC_CTRL_2_REG(base), XCVR_AGC_CTRL_2_AGC_FAST_EXPIRE_SHIFT, XCVR_AGC_CTRL_2_AGC_FAST_EXPIRE_WIDTH)) |
| |
| /*! @brief Set the AGC_FAST_EXPIRE field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_2_AGC_FAST_EXPIRE(base, value) (XCVR_RMW_AGC_CTRL_2(base, XCVR_AGC_CTRL_2_AGC_FAST_EXPIRE_MASK, XCVR_AGC_CTRL_2_AGC_FAST_EXPIRE(value))) |
| #define XCVR_BWR_AGC_CTRL_2_AGC_FAST_EXPIRE(base, value) (BME_BFI32(&XCVR_AGC_CTRL_2_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_2_AGC_FAST_EXPIRE_SHIFT), XCVR_AGC_CTRL_2_AGC_FAST_EXPIRE_SHIFT, XCVR_AGC_CTRL_2_AGC_FAST_EXPIRE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_CTRL_3 - AGC Control 3 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_CTRL_3 - AGC Control 3 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_CTRL_3 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_CTRL_3(base) (XCVR_AGC_CTRL_3_REG(base)) |
| #define XCVR_WR_AGC_CTRL_3(base, value) (XCVR_AGC_CTRL_3_REG(base) = (value)) |
| #define XCVR_RMW_AGC_CTRL_3(base, mask, value) (XCVR_WR_AGC_CTRL_3(base, (XCVR_RD_AGC_CTRL_3(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_CTRL_3(base, value) (BME_OR32(&XCVR_AGC_CTRL_3_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_CTRL_3(base, value) (BME_AND32(&XCVR_AGC_CTRL_3_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_CTRL_3(base, value) (BME_XOR32(&XCVR_AGC_CTRL_3_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_CTRL_3 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_3, field AGC_UNFREEZE_TIME[12:0] (RW) |
| * |
| * Time (uS) for AGC to unfreeze (1-8191uS). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_3_AGC_UNFREEZE_TIME field. */ |
| #define XCVR_RD_AGC_CTRL_3_AGC_UNFREEZE_TIME(base) ((XCVR_AGC_CTRL_3_REG(base) & XCVR_AGC_CTRL_3_AGC_UNFREEZE_TIME_MASK) >> XCVR_AGC_CTRL_3_AGC_UNFREEZE_TIME_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_3_AGC_UNFREEZE_TIME(base) (BME_UBFX32(&XCVR_AGC_CTRL_3_REG(base), XCVR_AGC_CTRL_3_AGC_UNFREEZE_TIME_SHIFT, XCVR_AGC_CTRL_3_AGC_UNFREEZE_TIME_WIDTH)) |
| |
| /*! @brief Set the AGC_UNFREEZE_TIME field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_3_AGC_UNFREEZE_TIME(base, value) (XCVR_RMW_AGC_CTRL_3(base, XCVR_AGC_CTRL_3_AGC_UNFREEZE_TIME_MASK, XCVR_AGC_CTRL_3_AGC_UNFREEZE_TIME(value))) |
| #define XCVR_BWR_AGC_CTRL_3_AGC_UNFREEZE_TIME(base, value) (BME_BFI32(&XCVR_AGC_CTRL_3_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_3_AGC_UNFREEZE_TIME_SHIFT), XCVR_AGC_CTRL_3_AGC_UNFREEZE_TIME_SHIFT, XCVR_AGC_CTRL_3_AGC_UNFREEZE_TIME_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_3, field AGC_PDET_LO_DLY[15:13] (RW) |
| * |
| * Time (uS) to wait for pdet low to assert (1-7uS). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_3_AGC_PDET_LO_DLY field. */ |
| #define XCVR_RD_AGC_CTRL_3_AGC_PDET_LO_DLY(base) ((XCVR_AGC_CTRL_3_REG(base) & XCVR_AGC_CTRL_3_AGC_PDET_LO_DLY_MASK) >> XCVR_AGC_CTRL_3_AGC_PDET_LO_DLY_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_3_AGC_PDET_LO_DLY(base) (BME_UBFX32(&XCVR_AGC_CTRL_3_REG(base), XCVR_AGC_CTRL_3_AGC_PDET_LO_DLY_SHIFT, XCVR_AGC_CTRL_3_AGC_PDET_LO_DLY_WIDTH)) |
| |
| /*! @brief Set the AGC_PDET_LO_DLY field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_3_AGC_PDET_LO_DLY(base, value) (XCVR_RMW_AGC_CTRL_3(base, XCVR_AGC_CTRL_3_AGC_PDET_LO_DLY_MASK, XCVR_AGC_CTRL_3_AGC_PDET_LO_DLY(value))) |
| #define XCVR_BWR_AGC_CTRL_3_AGC_PDET_LO_DLY(base, value) (BME_BFI32(&XCVR_AGC_CTRL_3_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_3_AGC_PDET_LO_DLY_SHIFT), XCVR_AGC_CTRL_3_AGC_PDET_LO_DLY_SHIFT, XCVR_AGC_CTRL_3_AGC_PDET_LO_DLY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_3, field AGC_RSSI_DELT_H2S[22:16] (RW) |
| * |
| * RSSI delta that causes hold to slow transition. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_3_AGC_RSSI_DELT_H2S field. */ |
| #define XCVR_RD_AGC_CTRL_3_AGC_RSSI_DELT_H2S(base) ((XCVR_AGC_CTRL_3_REG(base) & XCVR_AGC_CTRL_3_AGC_RSSI_DELT_H2S_MASK) >> XCVR_AGC_CTRL_3_AGC_RSSI_DELT_H2S_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_3_AGC_RSSI_DELT_H2S(base) (BME_UBFX32(&XCVR_AGC_CTRL_3_REG(base), XCVR_AGC_CTRL_3_AGC_RSSI_DELT_H2S_SHIFT, XCVR_AGC_CTRL_3_AGC_RSSI_DELT_H2S_WIDTH)) |
| |
| /*! @brief Set the AGC_RSSI_DELT_H2S field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_3_AGC_RSSI_DELT_H2S(base, value) (XCVR_RMW_AGC_CTRL_3(base, XCVR_AGC_CTRL_3_AGC_RSSI_DELT_H2S_MASK, XCVR_AGC_CTRL_3_AGC_RSSI_DELT_H2S(value))) |
| #define XCVR_BWR_AGC_CTRL_3_AGC_RSSI_DELT_H2S(base, value) (BME_BFI32(&XCVR_AGC_CTRL_3_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_3_AGC_RSSI_DELT_H2S_SHIFT), XCVR_AGC_CTRL_3_AGC_RSSI_DELT_H2S_SHIFT, XCVR_AGC_CTRL_3_AGC_RSSI_DELT_H2S_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_3, field AGC_H2S_STEP_SZ[27:23] (RW) |
| * |
| * Step size for hold to slow jump. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_3_AGC_H2S_STEP_SZ field. */ |
| #define XCVR_RD_AGC_CTRL_3_AGC_H2S_STEP_SZ(base) ((XCVR_AGC_CTRL_3_REG(base) & XCVR_AGC_CTRL_3_AGC_H2S_STEP_SZ_MASK) >> XCVR_AGC_CTRL_3_AGC_H2S_STEP_SZ_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_3_AGC_H2S_STEP_SZ(base) (BME_UBFX32(&XCVR_AGC_CTRL_3_REG(base), XCVR_AGC_CTRL_3_AGC_H2S_STEP_SZ_SHIFT, XCVR_AGC_CTRL_3_AGC_H2S_STEP_SZ_WIDTH)) |
| |
| /*! @brief Set the AGC_H2S_STEP_SZ field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_3_AGC_H2S_STEP_SZ(base, value) (XCVR_RMW_AGC_CTRL_3(base, XCVR_AGC_CTRL_3_AGC_H2S_STEP_SZ_MASK, XCVR_AGC_CTRL_3_AGC_H2S_STEP_SZ(value))) |
| #define XCVR_BWR_AGC_CTRL_3_AGC_H2S_STEP_SZ(base, value) (BME_BFI32(&XCVR_AGC_CTRL_3_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_3_AGC_H2S_STEP_SZ_SHIFT), XCVR_AGC_CTRL_3_AGC_H2S_STEP_SZ_SHIFT, XCVR_AGC_CTRL_3_AGC_H2S_STEP_SZ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_CTRL_3, field AGC_UP_STEP_SZ[31:28] (RW) |
| * |
| * Number of table steps for upward step |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_CTRL_3_AGC_UP_STEP_SZ field. */ |
| #define XCVR_RD_AGC_CTRL_3_AGC_UP_STEP_SZ(base) ((XCVR_AGC_CTRL_3_REG(base) & XCVR_AGC_CTRL_3_AGC_UP_STEP_SZ_MASK) >> XCVR_AGC_CTRL_3_AGC_UP_STEP_SZ_SHIFT) |
| #define XCVR_BRD_AGC_CTRL_3_AGC_UP_STEP_SZ(base) (BME_UBFX32(&XCVR_AGC_CTRL_3_REG(base), XCVR_AGC_CTRL_3_AGC_UP_STEP_SZ_SHIFT, XCVR_AGC_CTRL_3_AGC_UP_STEP_SZ_WIDTH)) |
| |
| /*! @brief Set the AGC_UP_STEP_SZ field to a new value. */ |
| #define XCVR_WR_AGC_CTRL_3_AGC_UP_STEP_SZ(base, value) (XCVR_RMW_AGC_CTRL_3(base, XCVR_AGC_CTRL_3_AGC_UP_STEP_SZ_MASK, XCVR_AGC_CTRL_3_AGC_UP_STEP_SZ(value))) |
| #define XCVR_BWR_AGC_CTRL_3_AGC_UP_STEP_SZ(base, value) (BME_BFI32(&XCVR_AGC_CTRL_3_REG(base), ((uint32_t)(value) << XCVR_AGC_CTRL_3_AGC_UP_STEP_SZ_SHIFT), XCVR_AGC_CTRL_3_AGC_UP_STEP_SZ_SHIFT, XCVR_AGC_CTRL_3_AGC_UP_STEP_SZ_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_STAT - AGC Status |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_STAT - AGC Status (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_STAT register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_STAT(base) (XCVR_AGC_STAT_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_STAT bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_STAT, field BBF_PDET_LO_STAT[0] (RO) |
| * |
| * Status of BBF peak detector LO flag (1=set) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_STAT_BBF_PDET_LO_STAT field. */ |
| #define XCVR_RD_AGC_STAT_BBF_PDET_LO_STAT(base) ((XCVR_AGC_STAT_REG(base) & XCVR_AGC_STAT_BBF_PDET_LO_STAT_MASK) >> XCVR_AGC_STAT_BBF_PDET_LO_STAT_SHIFT) |
| #define XCVR_BRD_AGC_STAT_BBF_PDET_LO_STAT(base) (BME_UBFX32(&XCVR_AGC_STAT_REG(base), XCVR_AGC_STAT_BBF_PDET_LO_STAT_SHIFT, XCVR_AGC_STAT_BBF_PDET_LO_STAT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_STAT, field BBF_PDET_HI_STAT[1] (RO) |
| * |
| * Status of BBF peak detector HI flag (1=set) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_STAT_BBF_PDET_HI_STAT field. */ |
| #define XCVR_RD_AGC_STAT_BBF_PDET_HI_STAT(base) ((XCVR_AGC_STAT_REG(base) & XCVR_AGC_STAT_BBF_PDET_HI_STAT_MASK) >> XCVR_AGC_STAT_BBF_PDET_HI_STAT_SHIFT) |
| #define XCVR_BRD_AGC_STAT_BBF_PDET_HI_STAT(base) (BME_UBFX32(&XCVR_AGC_STAT_REG(base), XCVR_AGC_STAT_BBF_PDET_HI_STAT_SHIFT, XCVR_AGC_STAT_BBF_PDET_HI_STAT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_STAT, field TZA_PDET_LO_STAT[2] (RO) |
| * |
| * Status of TZA peak detector LO flag (1=set) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_STAT_TZA_PDET_LO_STAT field. */ |
| #define XCVR_RD_AGC_STAT_TZA_PDET_LO_STAT(base) ((XCVR_AGC_STAT_REG(base) & XCVR_AGC_STAT_TZA_PDET_LO_STAT_MASK) >> XCVR_AGC_STAT_TZA_PDET_LO_STAT_SHIFT) |
| #define XCVR_BRD_AGC_STAT_TZA_PDET_LO_STAT(base) (BME_UBFX32(&XCVR_AGC_STAT_REG(base), XCVR_AGC_STAT_TZA_PDET_LO_STAT_SHIFT, XCVR_AGC_STAT_TZA_PDET_LO_STAT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_STAT, field TZA_PDET_HI_STAT[3] (RO) |
| * |
| * Status of TZA peak detector HI flag (1=set) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_STAT_TZA_PDET_HI_STAT field. */ |
| #define XCVR_RD_AGC_STAT_TZA_PDET_HI_STAT(base) ((XCVR_AGC_STAT_REG(base) & XCVR_AGC_STAT_TZA_PDET_HI_STAT_MASK) >> XCVR_AGC_STAT_TZA_PDET_HI_STAT_SHIFT) |
| #define XCVR_BRD_AGC_STAT_TZA_PDET_HI_STAT(base) (BME_UBFX32(&XCVR_AGC_STAT_REG(base), XCVR_AGC_STAT_TZA_PDET_HI_STAT_SHIFT, XCVR_AGC_STAT_TZA_PDET_HI_STAT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_STAT, field CURR_AGC_IDX[8:4] (RO) |
| * |
| * Current AGC gain table index |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_STAT_CURR_AGC_IDX field. */ |
| #define XCVR_RD_AGC_STAT_CURR_AGC_IDX(base) ((XCVR_AGC_STAT_REG(base) & XCVR_AGC_STAT_CURR_AGC_IDX_MASK) >> XCVR_AGC_STAT_CURR_AGC_IDX_SHIFT) |
| #define XCVR_BRD_AGC_STAT_CURR_AGC_IDX(base) (BME_UBFX32(&XCVR_AGC_STAT_REG(base), XCVR_AGC_STAT_CURR_AGC_IDX_SHIFT, XCVR_AGC_STAT_CURR_AGC_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_STAT, field AGC_FROZEN[9] (RO) |
| * |
| * Status of AGC freeze. |
| * |
| * Values: |
| * - 0b0 - AGC is not frozen. |
| * - 0b1 - AGC is frozen. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_STAT_AGC_FROZEN field. */ |
| #define XCVR_RD_AGC_STAT_AGC_FROZEN(base) ((XCVR_AGC_STAT_REG(base) & XCVR_AGC_STAT_AGC_FROZEN_MASK) >> XCVR_AGC_STAT_AGC_FROZEN_SHIFT) |
| #define XCVR_BRD_AGC_STAT_AGC_FROZEN(base) (BME_UBFX32(&XCVR_AGC_STAT_REG(base), XCVR_AGC_STAT_AGC_FROZEN_SHIFT, XCVR_AGC_STAT_AGC_FROZEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_STAT, field RSSI_ADC_RAW[23:16] (RO) |
| * |
| * Reading of ADC rssi (before adjustments) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_STAT_RSSI_ADC_RAW field. */ |
| #define XCVR_RD_AGC_STAT_RSSI_ADC_RAW(base) ((XCVR_AGC_STAT_REG(base) & XCVR_AGC_STAT_RSSI_ADC_RAW_MASK) >> XCVR_AGC_STAT_RSSI_ADC_RAW_SHIFT) |
| #define XCVR_BRD_AGC_STAT_RSSI_ADC_RAW(base) (BME_UBFX32(&XCVR_AGC_STAT_REG(base), XCVR_AGC_STAT_RSSI_ADC_RAW_SHIFT, XCVR_AGC_STAT_RSSI_ADC_RAW_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_RSSI_CTRL_0 - RSSI Control 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_RSSI_CTRL_0 - RSSI Control 0 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_RSSI_CTRL_0 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_RSSI_CTRL_0(base) (XCVR_RSSI_CTRL_0_REG(base)) |
| #define XCVR_WR_RSSI_CTRL_0(base, value) (XCVR_RSSI_CTRL_0_REG(base) = (value)) |
| #define XCVR_RMW_RSSI_CTRL_0(base, mask, value) (XCVR_WR_RSSI_CTRL_0(base, (XCVR_RD_RSSI_CTRL_0(base) & ~(mask)) | (value))) |
| #define XCVR_SET_RSSI_CTRL_0(base, value) (BME_OR32(&XCVR_RSSI_CTRL_0_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_RSSI_CTRL_0(base, value) (BME_AND32(&XCVR_RSSI_CTRL_0_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_RSSI_CTRL_0(base, value) (BME_XOR32(&XCVR_RSSI_CTRL_0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_RSSI_CTRL_0 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_0, field RSSI_USE_VALS[0] (RW) |
| * |
| * Enable use of TCA and BBF gain values programmed in registers for calculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_0_RSSI_USE_VALS field. */ |
| #define XCVR_RD_RSSI_CTRL_0_RSSI_USE_VALS(base) ((XCVR_RSSI_CTRL_0_REG(base) & XCVR_RSSI_CTRL_0_RSSI_USE_VALS_MASK) >> XCVR_RSSI_CTRL_0_RSSI_USE_VALS_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_0_RSSI_USE_VALS(base) (BME_UBFX32(&XCVR_RSSI_CTRL_0_REG(base), XCVR_RSSI_CTRL_0_RSSI_USE_VALS_SHIFT, XCVR_RSSI_CTRL_0_RSSI_USE_VALS_WIDTH)) |
| |
| /*! @brief Set the RSSI_USE_VALS field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_0_RSSI_USE_VALS(base, value) (XCVR_RMW_RSSI_CTRL_0(base, XCVR_RSSI_CTRL_0_RSSI_USE_VALS_MASK, XCVR_RSSI_CTRL_0_RSSI_USE_VALS(value))) |
| #define XCVR_BWR_RSSI_CTRL_0_RSSI_USE_VALS(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_0_RSSI_USE_VALS_SHIFT), XCVR_RSSI_CTRL_0_RSSI_USE_VALS_SHIFT, XCVR_RSSI_CTRL_0_RSSI_USE_VALS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_0, field RSSI_HOLD_SRC[2:1] (RW) |
| * |
| * Select trigger source for entering freezing RSSI measurement. |
| * |
| * Values: |
| * - 0b00 - BTLE Preamble Detect |
| * - 0b01 - Zigbee Preamble Detect |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_0_RSSI_HOLD_SRC field. */ |
| #define XCVR_RD_RSSI_CTRL_0_RSSI_HOLD_SRC(base) ((XCVR_RSSI_CTRL_0_REG(base) & XCVR_RSSI_CTRL_0_RSSI_HOLD_SRC_MASK) >> XCVR_RSSI_CTRL_0_RSSI_HOLD_SRC_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_0_RSSI_HOLD_SRC(base) (BME_UBFX32(&XCVR_RSSI_CTRL_0_REG(base), XCVR_RSSI_CTRL_0_RSSI_HOLD_SRC_SHIFT, XCVR_RSSI_CTRL_0_RSSI_HOLD_SRC_WIDTH)) |
| |
| /*! @brief Set the RSSI_HOLD_SRC field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_0_RSSI_HOLD_SRC(base, value) (XCVR_RMW_RSSI_CTRL_0(base, XCVR_RSSI_CTRL_0_RSSI_HOLD_SRC_MASK, XCVR_RSSI_CTRL_0_RSSI_HOLD_SRC(value))) |
| #define XCVR_BWR_RSSI_CTRL_0_RSSI_HOLD_SRC(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_0_RSSI_HOLD_SRC_SHIFT), XCVR_RSSI_CTRL_0_RSSI_HOLD_SRC_SHIFT, XCVR_RSSI_CTRL_0_RSSI_HOLD_SRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_0, field RSSI_HOLD_EN[3] (RW) |
| * |
| * Enable RSSI to freeze after hold criterion met. RSSI will still be briefly |
| * held when a gain change occurs. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_0_RSSI_HOLD_EN field. */ |
| #define XCVR_RD_RSSI_CTRL_0_RSSI_HOLD_EN(base) ((XCVR_RSSI_CTRL_0_REG(base) & XCVR_RSSI_CTRL_0_RSSI_HOLD_EN_MASK) >> XCVR_RSSI_CTRL_0_RSSI_HOLD_EN_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_0_RSSI_HOLD_EN(base) (BME_UBFX32(&XCVR_RSSI_CTRL_0_REG(base), XCVR_RSSI_CTRL_0_RSSI_HOLD_EN_SHIFT, XCVR_RSSI_CTRL_0_RSSI_HOLD_EN_WIDTH)) |
| |
| /*! @brief Set the RSSI_HOLD_EN field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_0_RSSI_HOLD_EN(base, value) (XCVR_RMW_RSSI_CTRL_0(base, XCVR_RSSI_CTRL_0_RSSI_HOLD_EN_MASK, XCVR_RSSI_CTRL_0_RSSI_HOLD_EN(value))) |
| #define XCVR_BWR_RSSI_CTRL_0_RSSI_HOLD_EN(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_0_RSSI_HOLD_EN_SHIFT), XCVR_RSSI_CTRL_0_RSSI_HOLD_EN_SHIFT, XCVR_RSSI_CTRL_0_RSSI_HOLD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_0, field RSSI_DEC_EN[4] (RW) |
| * |
| * Enable RSSI 4x decimation stage. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_0_RSSI_DEC_EN field. */ |
| #define XCVR_RD_RSSI_CTRL_0_RSSI_DEC_EN(base) ((XCVR_RSSI_CTRL_0_REG(base) & XCVR_RSSI_CTRL_0_RSSI_DEC_EN_MASK) >> XCVR_RSSI_CTRL_0_RSSI_DEC_EN_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_0_RSSI_DEC_EN(base) (BME_UBFX32(&XCVR_RSSI_CTRL_0_REG(base), XCVR_RSSI_CTRL_0_RSSI_DEC_EN_SHIFT, XCVR_RSSI_CTRL_0_RSSI_DEC_EN_WIDTH)) |
| |
| /*! @brief Set the RSSI_DEC_EN field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_0_RSSI_DEC_EN(base, value) (XCVR_RMW_RSSI_CTRL_0(base, XCVR_RSSI_CTRL_0_RSSI_DEC_EN_MASK, XCVR_RSSI_CTRL_0_RSSI_DEC_EN(value))) |
| #define XCVR_BWR_RSSI_CTRL_0_RSSI_DEC_EN(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_0_RSSI_DEC_EN_SHIFT), XCVR_RSSI_CTRL_0_RSSI_DEC_EN_SHIFT, XCVR_RSSI_CTRL_0_RSSI_DEC_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_0, field RSSI_IIR_CW_WEIGHT[6:5] (RW) |
| * |
| * IIR filter weight for RSSI filtering of a CW input. |
| * |
| * Values: |
| * - 0b00 - Bypass |
| * - 0b01 - 1/8 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT field. */ |
| #define XCVR_RD_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT(base) ((XCVR_RSSI_CTRL_0_REG(base) & XCVR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_MASK) >> XCVR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT(base) (BME_UBFX32(&XCVR_RSSI_CTRL_0_REG(base), XCVR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_SHIFT, XCVR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_WIDTH)) |
| |
| /*! @brief Set the RSSI_IIR_CW_WEIGHT field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT(base, value) (XCVR_RMW_RSSI_CTRL_0(base, XCVR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_MASK, XCVR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT(value))) |
| #define XCVR_BWR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_SHIFT), XCVR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_SHIFT, XCVR_RSSI_CTRL_0_RSSI_IIR_CW_WEIGHT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_0, field RSSI_IIR_WEIGHT[19:16] (RW) |
| * |
| * IIR filter weight for RSSI filtering. |
| * |
| * Values: |
| * - 0b0000 - Bypass |
| * - 0b0001 - 1/2 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_0_RSSI_IIR_WEIGHT field. */ |
| #define XCVR_RD_RSSI_CTRL_0_RSSI_IIR_WEIGHT(base) ((XCVR_RSSI_CTRL_0_REG(base) & XCVR_RSSI_CTRL_0_RSSI_IIR_WEIGHT_MASK) >> XCVR_RSSI_CTRL_0_RSSI_IIR_WEIGHT_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_0_RSSI_IIR_WEIGHT(base) (BME_UBFX32(&XCVR_RSSI_CTRL_0_REG(base), XCVR_RSSI_CTRL_0_RSSI_IIR_WEIGHT_SHIFT, XCVR_RSSI_CTRL_0_RSSI_IIR_WEIGHT_WIDTH)) |
| |
| /*! @brief Set the RSSI_IIR_WEIGHT field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_0_RSSI_IIR_WEIGHT(base, value) (XCVR_RMW_RSSI_CTRL_0(base, XCVR_RSSI_CTRL_0_RSSI_IIR_WEIGHT_MASK, XCVR_RSSI_CTRL_0_RSSI_IIR_WEIGHT(value))) |
| #define XCVR_BWR_RSSI_CTRL_0_RSSI_IIR_WEIGHT(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_0_RSSI_IIR_WEIGHT_SHIFT), XCVR_RSSI_CTRL_0_RSSI_IIR_WEIGHT_SHIFT, XCVR_RSSI_CTRL_0_RSSI_IIR_WEIGHT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_0, field RSSI_ADJ[31:24] (RW) |
| * |
| * RSSI calculation adjustment (8-bit signed 1/4 dB). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_0_RSSI_ADJ field. */ |
| #define XCVR_RD_RSSI_CTRL_0_RSSI_ADJ(base) ((XCVR_RSSI_CTRL_0_REG(base) & XCVR_RSSI_CTRL_0_RSSI_ADJ_MASK) >> XCVR_RSSI_CTRL_0_RSSI_ADJ_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_0_RSSI_ADJ(base) (BME_UBFX32(&XCVR_RSSI_CTRL_0_REG(base), XCVR_RSSI_CTRL_0_RSSI_ADJ_SHIFT, XCVR_RSSI_CTRL_0_RSSI_ADJ_WIDTH)) |
| |
| /*! @brief Set the RSSI_ADJ field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_0_RSSI_ADJ(base, value) (XCVR_RMW_RSSI_CTRL_0(base, XCVR_RSSI_CTRL_0_RSSI_ADJ_MASK, XCVR_RSSI_CTRL_0_RSSI_ADJ(value))) |
| #define XCVR_BWR_RSSI_CTRL_0_RSSI_ADJ(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_0_RSSI_ADJ_SHIFT), XCVR_RSSI_CTRL_0_RSSI_ADJ_SHIFT, XCVR_RSSI_CTRL_0_RSSI_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_RSSI_CTRL_1 - RSSI Control 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_RSSI_CTRL_1 - RSSI Control 1 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_RSSI_CTRL_1 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_RSSI_CTRL_1(base) (XCVR_RSSI_CTRL_1_REG(base)) |
| #define XCVR_WR_RSSI_CTRL_1(base, value) (XCVR_RSSI_CTRL_1_REG(base) = (value)) |
| #define XCVR_RMW_RSSI_CTRL_1(base, mask, value) (XCVR_WR_RSSI_CTRL_1(base, (XCVR_RD_RSSI_CTRL_1(base) & ~(mask)) | (value))) |
| #define XCVR_SET_RSSI_CTRL_1(base, value) (BME_OR32(&XCVR_RSSI_CTRL_1_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_RSSI_CTRL_1(base, value) (BME_AND32(&XCVR_RSSI_CTRL_1_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_RSSI_CTRL_1(base, value) (BME_XOR32(&XCVR_RSSI_CTRL_1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_RSSI_CTRL_1 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_1, field RSSI_ED_THRESH0[7:0] (RW) |
| * |
| * Threshold for setting energy detect 0 to scanner. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0 field. */ |
| #define XCVR_RD_RSSI_CTRL_1_RSSI_ED_THRESH0(base) ((XCVR_RSSI_CTRL_1_REG(base) & XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_MASK) >> XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_1_RSSI_ED_THRESH0(base) (BME_UBFX32(&XCVR_RSSI_CTRL_1_REG(base), XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_SHIFT, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_WIDTH)) |
| |
| /*! @brief Set the RSSI_ED_THRESH0 field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_1_RSSI_ED_THRESH0(base, value) (XCVR_RMW_RSSI_CTRL_1(base, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_MASK, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0(value))) |
| #define XCVR_BWR_RSSI_CTRL_1_RSSI_ED_THRESH0(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_SHIFT), XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_SHIFT, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_1, field RSSI_ED_THRESH1[15:8] (RW) |
| * |
| * Threshold for setting energy detect 1 to scanner. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1 field. */ |
| #define XCVR_RD_RSSI_CTRL_1_RSSI_ED_THRESH1(base) ((XCVR_RSSI_CTRL_1_REG(base) & XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_MASK) >> XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_1_RSSI_ED_THRESH1(base) (BME_UBFX32(&XCVR_RSSI_CTRL_1_REG(base), XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_SHIFT, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_WIDTH)) |
| |
| /*! @brief Set the RSSI_ED_THRESH1 field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_1_RSSI_ED_THRESH1(base, value) (XCVR_RMW_RSSI_CTRL_1(base, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_MASK, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1(value))) |
| #define XCVR_BWR_RSSI_CTRL_1_RSSI_ED_THRESH1(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_SHIFT), XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_SHIFT, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_1, field RSSI_ED_THRESH0_H[19:16] (RW) |
| * |
| * ED hysteresis window size. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_H field. */ |
| #define XCVR_RD_RSSI_CTRL_1_RSSI_ED_THRESH0_H(base) ((XCVR_RSSI_CTRL_1_REG(base) & XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_H_MASK) >> XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_H_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_1_RSSI_ED_THRESH0_H(base) (BME_UBFX32(&XCVR_RSSI_CTRL_1_REG(base), XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_H_SHIFT, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_H_WIDTH)) |
| |
| /*! @brief Set the RSSI_ED_THRESH0_H field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_1_RSSI_ED_THRESH0_H(base, value) (XCVR_RMW_RSSI_CTRL_1(base, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_H_MASK, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_H(value))) |
| #define XCVR_BWR_RSSI_CTRL_1_RSSI_ED_THRESH0_H(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_H_SHIFT), XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_H_SHIFT, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH0_H_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_1, field RSSI_ED_THRESH1_H[23:20] (RW) |
| * |
| * ED hysteresis window size. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_H field. */ |
| #define XCVR_RD_RSSI_CTRL_1_RSSI_ED_THRESH1_H(base) ((XCVR_RSSI_CTRL_1_REG(base) & XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_H_MASK) >> XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_H_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_1_RSSI_ED_THRESH1_H(base) (BME_UBFX32(&XCVR_RSSI_CTRL_1_REG(base), XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_H_SHIFT, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_H_WIDTH)) |
| |
| /*! @brief Set the RSSI_ED_THRESH1_H field to a new value. */ |
| #define XCVR_WR_RSSI_CTRL_1_RSSI_ED_THRESH1_H(base, value) (XCVR_RMW_RSSI_CTRL_1(base, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_H_MASK, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_H(value))) |
| #define XCVR_BWR_RSSI_CTRL_1_RSSI_ED_THRESH1_H(base, value) (BME_BFI32(&XCVR_RSSI_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_H_SHIFT), XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_H_SHIFT, XCVR_RSSI_CTRL_1_RSSI_ED_THRESH1_H_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RSSI_CTRL_1, field RSSI_OUT[31:24] (RO) |
| * |
| * RSSI output (8-bit signed). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RSSI_CTRL_1_RSSI_OUT field. */ |
| #define XCVR_RD_RSSI_CTRL_1_RSSI_OUT(base) ((XCVR_RSSI_CTRL_1_REG(base) & XCVR_RSSI_CTRL_1_RSSI_OUT_MASK) >> XCVR_RSSI_CTRL_1_RSSI_OUT_SHIFT) |
| #define XCVR_BRD_RSSI_CTRL_1_RSSI_OUT(base) (BME_UBFX32(&XCVR_RSSI_CTRL_1_REG(base), XCVR_RSSI_CTRL_1_RSSI_OUT_SHIFT, XCVR_RSSI_CTRL_1_RSSI_OUT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CTRL_0 - DCOC Control 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CTRL_0 - DCOC Control 0 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CTRL_0 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CTRL_0(base) (XCVR_DCOC_CTRL_0_REG(base)) |
| #define XCVR_WR_DCOC_CTRL_0(base, value) (XCVR_DCOC_CTRL_0_REG(base) = (value)) |
| #define XCVR_RMW_DCOC_CTRL_0(base, mask, value) (XCVR_WR_DCOC_CTRL_0(base, (XCVR_RD_DCOC_CTRL_0(base) & ~(mask)) | (value))) |
| #define XCVR_SET_DCOC_CTRL_0(base, value) (BME_OR32(&XCVR_DCOC_CTRL_0_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_DCOC_CTRL_0(base, value) (BME_AND32(&XCVR_DCOC_CTRL_0_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DCOC_CTRL_0(base, value) (BME_XOR32(&XCVR_DCOC_CTRL_0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CTRL_0 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_0, field DCOC_MAN[1] (RW) |
| * |
| * If the manual override bit is set, it forces the DCOC to use the DAC and |
| * digital correction values from registers XCVR_DCOC_CTRL_3 and XCVR_DCOC_CTRL_4, |
| * respectively. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_0_DCOC_MAN field. */ |
| #define XCVR_RD_DCOC_CTRL_0_DCOC_MAN(base) ((XCVR_DCOC_CTRL_0_REG(base) & XCVR_DCOC_CTRL_0_DCOC_MAN_MASK) >> XCVR_DCOC_CTRL_0_DCOC_MAN_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_0_DCOC_MAN(base) (BME_UBFX32(&XCVR_DCOC_CTRL_0_REG(base), XCVR_DCOC_CTRL_0_DCOC_MAN_SHIFT, XCVR_DCOC_CTRL_0_DCOC_MAN_WIDTH)) |
| |
| /*! @brief Set the DCOC_MAN field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_0_DCOC_MAN(base, value) (XCVR_RMW_DCOC_CTRL_0(base, XCVR_DCOC_CTRL_0_DCOC_MAN_MASK, XCVR_DCOC_CTRL_0_DCOC_MAN(value))) |
| #define XCVR_BWR_DCOC_CTRL_0_DCOC_MAN(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_0_DCOC_MAN_SHIFT), XCVR_DCOC_CTRL_0_DCOC_MAN_SHIFT, XCVR_DCOC_CTRL_0_DCOC_MAN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_0, field DCOC_TRACK_EN[3] (RW) |
| * |
| * Enables the DCOC tracking estimator to correct the DC offset. Can be used |
| * with or without DCOC calibration (RX_DCOC_CAL_EN). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_0_DCOC_TRACK_EN field. */ |
| #define XCVR_RD_DCOC_CTRL_0_DCOC_TRACK_EN(base) ((XCVR_DCOC_CTRL_0_REG(base) & XCVR_DCOC_CTRL_0_DCOC_TRACK_EN_MASK) >> XCVR_DCOC_CTRL_0_DCOC_TRACK_EN_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_0_DCOC_TRACK_EN(base) (BME_UBFX32(&XCVR_DCOC_CTRL_0_REG(base), XCVR_DCOC_CTRL_0_DCOC_TRACK_EN_SHIFT, XCVR_DCOC_CTRL_0_DCOC_TRACK_EN_WIDTH)) |
| |
| /*! @brief Set the DCOC_TRACK_EN field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_0_DCOC_TRACK_EN(base, value) (XCVR_RMW_DCOC_CTRL_0(base, XCVR_DCOC_CTRL_0_DCOC_TRACK_EN_MASK, XCVR_DCOC_CTRL_0_DCOC_TRACK_EN(value))) |
| #define XCVR_BWR_DCOC_CTRL_0_DCOC_TRACK_EN(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_0_DCOC_TRACK_EN_SHIFT), XCVR_DCOC_CTRL_0_DCOC_TRACK_EN_SHIFT, XCVR_DCOC_CTRL_0_DCOC_TRACK_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_0, field DCOC_CORRECT_EN[4] (RW) |
| * |
| * Enables the DCOC to use the TZA and BBA DACs to correct the DC offset. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_0_DCOC_CORRECT_EN field. */ |
| #define XCVR_RD_DCOC_CTRL_0_DCOC_CORRECT_EN(base) ((XCVR_DCOC_CTRL_0_REG(base) & XCVR_DCOC_CTRL_0_DCOC_CORRECT_EN_MASK) >> XCVR_DCOC_CTRL_0_DCOC_CORRECT_EN_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_0_DCOC_CORRECT_EN(base) (BME_UBFX32(&XCVR_DCOC_CTRL_0_REG(base), XCVR_DCOC_CTRL_0_DCOC_CORRECT_EN_SHIFT, XCVR_DCOC_CTRL_0_DCOC_CORRECT_EN_WIDTH)) |
| |
| /*! @brief Set the DCOC_CORRECT_EN field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_0_DCOC_CORRECT_EN(base, value) (XCVR_RMW_DCOC_CTRL_0(base, XCVR_DCOC_CTRL_0_DCOC_CORRECT_EN_MASK, XCVR_DCOC_CTRL_0_DCOC_CORRECT_EN(value))) |
| #define XCVR_BWR_DCOC_CTRL_0_DCOC_CORRECT_EN(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_0_DCOC_CORRECT_EN_SHIFT), XCVR_DCOC_CTRL_0_DCOC_CORRECT_EN_SHIFT, XCVR_DCOC_CTRL_0_DCOC_CORRECT_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_0, field DCOC_SIGN_SCALE_IDX[6:5] (RW) |
| * |
| * DCOC Sign Scaling. Sign()-based scaling factor used in the DCOC tracking |
| * estimator. Used when DCOC_TRACK_EN=1. |
| * |
| * Values: |
| * - 0b00 - 1/4 |
| * - 0b01 - 1/8 |
| * - 0b10 - 1/16 |
| * - 0b11 - 1/32 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX field. */ |
| #define XCVR_RD_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX(base) ((XCVR_DCOC_CTRL_0_REG(base) & XCVR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX_MASK) >> XCVR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX(base) (BME_UBFX32(&XCVR_DCOC_CTRL_0_REG(base), XCVR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX_SHIFT, XCVR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX_WIDTH)) |
| |
| /*! @brief Set the DCOC_SIGN_SCALE_IDX field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX(base, value) (XCVR_RMW_DCOC_CTRL_0(base, XCVR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX_MASK, XCVR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX(value))) |
| #define XCVR_BWR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX_SHIFT), XCVR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX_SHIFT, XCVR_DCOC_CTRL_0_DCOC_SIGN_SCALE_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_0, field DCOC_ALPHAC_SCALE_IDX[9:8] (RW) |
| * |
| * DCOC Alpha-C Scaling. I/Q center stepsize used in the DCOC tracking |
| * estimator. Used when DCOC_TRACK_EN=1. |
| * |
| * Values: |
| * - 0b00 - 1/2 |
| * - 0b01 - 1/4 |
| * - 0b10 - 1/8 |
| * - 0b11 - 1/16 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX field. */ |
| #define XCVR_RD_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX(base) ((XCVR_DCOC_CTRL_0_REG(base) & XCVR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX_MASK) >> XCVR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX(base) (BME_UBFX32(&XCVR_DCOC_CTRL_0_REG(base), XCVR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX_SHIFT, XCVR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX_WIDTH)) |
| |
| /*! @brief Set the DCOC_ALPHAC_SCALE_IDX field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX(base, value) (XCVR_RMW_DCOC_CTRL_0(base, XCVR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX_MASK, XCVR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX(value))) |
| #define XCVR_BWR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX_SHIFT), XCVR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX_SHIFT, XCVR_DCOC_CTRL_0_DCOC_ALPHAC_SCALE_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_0, field DCOC_ALPHA_RADIUS_IDX[14:12] (RW) |
| * |
| * DCOC Alpha-R Scaling. Radius stepsize used in the DCOC tracking estimator. |
| * Used when DCOC_TRACK_EN=1. |
| * |
| * Values: |
| * - 0b000 - 1 |
| * - 0b001 - 1/2 |
| * - 0b010 - 1/4 |
| * - 0b011 - 1/8 |
| * - 0b100 - 1/16 |
| * - 0b101 - 1/32 |
| * - 0b110 - 1/64 |
| * - 0b111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX field. */ |
| #define XCVR_RD_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX(base) ((XCVR_DCOC_CTRL_0_REG(base) & XCVR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX_MASK) >> XCVR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX(base) (BME_UBFX32(&XCVR_DCOC_CTRL_0_REG(base), XCVR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX_SHIFT, XCVR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX_WIDTH)) |
| |
| /*! @brief Set the DCOC_ALPHA_RADIUS_IDX field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX(base, value) (XCVR_RMW_DCOC_CTRL_0(base, XCVR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX_MASK, XCVR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX(value))) |
| #define XCVR_BWR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX_SHIFT), XCVR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX_SHIFT, XCVR_DCOC_CTRL_0_DCOC_ALPHA_RADIUS_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_0, field DCOC_CAL_DURATION[19:15] (RW) |
| * |
| * Duration (in uS) of a calibration (1-31uS). A value of 0 should never be used. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_0_DCOC_CAL_DURATION field. */ |
| #define XCVR_RD_DCOC_CTRL_0_DCOC_CAL_DURATION(base) ((XCVR_DCOC_CTRL_0_REG(base) & XCVR_DCOC_CTRL_0_DCOC_CAL_DURATION_MASK) >> XCVR_DCOC_CTRL_0_DCOC_CAL_DURATION_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_0_DCOC_CAL_DURATION(base) (BME_UBFX32(&XCVR_DCOC_CTRL_0_REG(base), XCVR_DCOC_CTRL_0_DCOC_CAL_DURATION_SHIFT, XCVR_DCOC_CTRL_0_DCOC_CAL_DURATION_WIDTH)) |
| |
| /*! @brief Set the DCOC_CAL_DURATION field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_0_DCOC_CAL_DURATION(base, value) (XCVR_RMW_DCOC_CTRL_0(base, XCVR_DCOC_CTRL_0_DCOC_CAL_DURATION_MASK, XCVR_DCOC_CTRL_0_DCOC_CAL_DURATION(value))) |
| #define XCVR_BWR_DCOC_CTRL_0_DCOC_CAL_DURATION(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_0_DCOC_CAL_DURATION_SHIFT), XCVR_DCOC_CTRL_0_DCOC_CAL_DURATION_SHIFT, XCVR_DCOC_CTRL_0_DCOC_CAL_DURATION_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_0, field DCOC_CORR_DLY[24:20] (RW) |
| * |
| * Wait time (in uS) between corrections (1-31uS). A value of 0 should never be |
| * used. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_0_DCOC_CORR_DLY field. */ |
| #define XCVR_RD_DCOC_CTRL_0_DCOC_CORR_DLY(base) ((XCVR_DCOC_CTRL_0_REG(base) & XCVR_DCOC_CTRL_0_DCOC_CORR_DLY_MASK) >> XCVR_DCOC_CTRL_0_DCOC_CORR_DLY_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_0_DCOC_CORR_DLY(base) (BME_UBFX32(&XCVR_DCOC_CTRL_0_REG(base), XCVR_DCOC_CTRL_0_DCOC_CORR_DLY_SHIFT, XCVR_DCOC_CTRL_0_DCOC_CORR_DLY_WIDTH)) |
| |
| /*! @brief Set the DCOC_CORR_DLY field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_0_DCOC_CORR_DLY(base, value) (XCVR_RMW_DCOC_CTRL_0(base, XCVR_DCOC_CTRL_0_DCOC_CORR_DLY_MASK, XCVR_DCOC_CTRL_0_DCOC_CORR_DLY(value))) |
| #define XCVR_BWR_DCOC_CTRL_0_DCOC_CORR_DLY(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_0_DCOC_CORR_DLY_SHIFT), XCVR_DCOC_CTRL_0_DCOC_CORR_DLY_SHIFT, XCVR_DCOC_CTRL_0_DCOC_CORR_DLY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_0, field DCOC_CORR_HOLD_TIME[31:25] (RW) |
| * |
| * Delay (in uS) from last gain change to freezing DC correction (1-127uS, |
| * 127=never freeze). A value of 0 should never be used. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME field. */ |
| #define XCVR_RD_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME(base) ((XCVR_DCOC_CTRL_0_REG(base) & XCVR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_MASK) >> XCVR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME(base) (BME_UBFX32(&XCVR_DCOC_CTRL_0_REG(base), XCVR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_SHIFT, XCVR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_WIDTH)) |
| |
| /*! @brief Set the DCOC_CORR_HOLD_TIME field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME(base, value) (XCVR_RMW_DCOC_CTRL_0(base, XCVR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_MASK, XCVR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME(value))) |
| #define XCVR_BWR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_0_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_SHIFT), XCVR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_SHIFT, XCVR_DCOC_CTRL_0_DCOC_CORR_HOLD_TIME_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CTRL_1 - DCOC Control 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CTRL_1 - DCOC Control 1 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CTRL_1 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CTRL_1(base) (XCVR_DCOC_CTRL_1_REG(base)) |
| #define XCVR_WR_DCOC_CTRL_1(base, value) (XCVR_DCOC_CTRL_1_REG(base) = (value)) |
| #define XCVR_RMW_DCOC_CTRL_1(base, mask, value) (XCVR_WR_DCOC_CTRL_1(base, (XCVR_RD_DCOC_CTRL_1(base) & ~(mask)) | (value))) |
| #define XCVR_SET_DCOC_CTRL_1(base, value) (BME_OR32(&XCVR_DCOC_CTRL_1_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_DCOC_CTRL_1(base, value) (BME_AND32(&XCVR_DCOC_CTRL_1_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DCOC_CTRL_1(base, value) (BME_XOR32(&XCVR_DCOC_CTRL_1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CTRL_1 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_1, field BBF_DCOC_STEP[8:0] (RW) |
| * |
| * DCOC BBF Step Size (format: 6.3). The nominal value for this is the DAC |
| * resolution (1.2/2^6= 18.7mV) times AGC gain of -1.7dB ( 10^(-1.7/20)=0.822) times |
| * an AGC mV to quantization scaling factor (2^11/1000 = 2.048), which is 31.57. |
| * This value is stored in the register with 3 fractional bits, so use |
| * round(31.57*2^3) = 253 decimal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_1_BBF_DCOC_STEP field. */ |
| #define XCVR_RD_DCOC_CTRL_1_BBF_DCOC_STEP(base) ((XCVR_DCOC_CTRL_1_REG(base) & XCVR_DCOC_CTRL_1_BBF_DCOC_STEP_MASK) >> XCVR_DCOC_CTRL_1_BBF_DCOC_STEP_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_1_BBF_DCOC_STEP(base) (BME_UBFX32(&XCVR_DCOC_CTRL_1_REG(base), XCVR_DCOC_CTRL_1_BBF_DCOC_STEP_SHIFT, XCVR_DCOC_CTRL_1_BBF_DCOC_STEP_WIDTH)) |
| |
| /*! @brief Set the BBF_DCOC_STEP field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_1_BBF_DCOC_STEP(base, value) (XCVR_RMW_DCOC_CTRL_1(base, XCVR_DCOC_CTRL_1_BBF_DCOC_STEP_MASK, XCVR_DCOC_CTRL_1_BBF_DCOC_STEP(value))) |
| #define XCVR_BWR_DCOC_CTRL_1_BBF_DCOC_STEP(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_1_BBF_DCOC_STEP_SHIFT), XCVR_DCOC_CTRL_1_BBF_DCOC_STEP_SHIFT, XCVR_DCOC_CTRL_1_BBF_DCOC_STEP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_1, field TRACK_FROM_ZERO[24] (RW) |
| * |
| * Selects whether the tracking estimator resets its DC estimate on every AGC |
| * gain change to zero or uses the current I/Q sample. |
| * |
| * Values: |
| * - 0b0 - Track from current I/Q sample. |
| * - 0b1 - Track from zero. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_1_TRACK_FROM_ZERO field. */ |
| #define XCVR_RD_DCOC_CTRL_1_TRACK_FROM_ZERO(base) ((XCVR_DCOC_CTRL_1_REG(base) & XCVR_DCOC_CTRL_1_TRACK_FROM_ZERO_MASK) >> XCVR_DCOC_CTRL_1_TRACK_FROM_ZERO_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_1_TRACK_FROM_ZERO(base) (BME_UBFX32(&XCVR_DCOC_CTRL_1_REG(base), XCVR_DCOC_CTRL_1_TRACK_FROM_ZERO_SHIFT, XCVR_DCOC_CTRL_1_TRACK_FROM_ZERO_WIDTH)) |
| |
| /*! @brief Set the TRACK_FROM_ZERO field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_1_TRACK_FROM_ZERO(base, value) (XCVR_RMW_DCOC_CTRL_1(base, XCVR_DCOC_CTRL_1_TRACK_FROM_ZERO_MASK, XCVR_DCOC_CTRL_1_TRACK_FROM_ZERO(value))) |
| #define XCVR_BWR_DCOC_CTRL_1_TRACK_FROM_ZERO(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_1_TRACK_FROM_ZERO_SHIFT), XCVR_DCOC_CTRL_1_TRACK_FROM_ZERO_SHIFT, XCVR_DCOC_CTRL_1_TRACK_FROM_ZERO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_1, field BBA_CORR_POL[25] (RW) |
| * |
| * Selects polarity of BBA corrections. |
| * |
| * Values: |
| * - 0b0 - Normal polarity. |
| * - 0b1 - Negative polarity. This should be set if the ADC output is inverted, |
| * or if the BBA DACs were implemented with negative polarity. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_1_BBA_CORR_POL field. */ |
| #define XCVR_RD_DCOC_CTRL_1_BBA_CORR_POL(base) ((XCVR_DCOC_CTRL_1_REG(base) & XCVR_DCOC_CTRL_1_BBA_CORR_POL_MASK) >> XCVR_DCOC_CTRL_1_BBA_CORR_POL_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_1_BBA_CORR_POL(base) (BME_UBFX32(&XCVR_DCOC_CTRL_1_REG(base), XCVR_DCOC_CTRL_1_BBA_CORR_POL_SHIFT, XCVR_DCOC_CTRL_1_BBA_CORR_POL_WIDTH)) |
| |
| /*! @brief Set the BBA_CORR_POL field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_1_BBA_CORR_POL(base, value) (XCVR_RMW_DCOC_CTRL_1(base, XCVR_DCOC_CTRL_1_BBA_CORR_POL_MASK, XCVR_DCOC_CTRL_1_BBA_CORR_POL(value))) |
| #define XCVR_BWR_DCOC_CTRL_1_BBA_CORR_POL(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_1_BBA_CORR_POL_SHIFT), XCVR_DCOC_CTRL_1_BBA_CORR_POL_SHIFT, XCVR_DCOC_CTRL_1_BBA_CORR_POL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_1, field TZA_CORR_POL[26] (RW) |
| * |
| * Selects polarity of TZA corrections. |
| * |
| * Values: |
| * - 0b0 - Normal polarity. |
| * - 0b1 - Negative polarity. This should be set if the ADC output is inverted, |
| * or if the TZA DACs were implemented with negative polarity. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_1_TZA_CORR_POL field. */ |
| #define XCVR_RD_DCOC_CTRL_1_TZA_CORR_POL(base) ((XCVR_DCOC_CTRL_1_REG(base) & XCVR_DCOC_CTRL_1_TZA_CORR_POL_MASK) >> XCVR_DCOC_CTRL_1_TZA_CORR_POL_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_1_TZA_CORR_POL(base) (BME_UBFX32(&XCVR_DCOC_CTRL_1_REG(base), XCVR_DCOC_CTRL_1_TZA_CORR_POL_SHIFT, XCVR_DCOC_CTRL_1_TZA_CORR_POL_WIDTH)) |
| |
| /*! @brief Set the TZA_CORR_POL field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_1_TZA_CORR_POL(base, value) (XCVR_RMW_DCOC_CTRL_1(base, XCVR_DCOC_CTRL_1_TZA_CORR_POL_MASK, XCVR_DCOC_CTRL_1_TZA_CORR_POL(value))) |
| #define XCVR_BWR_DCOC_CTRL_1_TZA_CORR_POL(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_1_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_1_TZA_CORR_POL_SHIFT), XCVR_DCOC_CTRL_1_TZA_CORR_POL_SHIFT, XCVR_DCOC_CTRL_1_TZA_CORR_POL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CTRL_2 - DCOC Control 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CTRL_2 - DCOC Control 2 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CTRL_2 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CTRL_2(base) (XCVR_DCOC_CTRL_2_REG(base)) |
| #define XCVR_WR_DCOC_CTRL_2(base, value) (XCVR_DCOC_CTRL_2_REG(base) = (value)) |
| #define XCVR_RMW_DCOC_CTRL_2(base, mask, value) (XCVR_WR_DCOC_CTRL_2(base, (XCVR_RD_DCOC_CTRL_2(base) & ~(mask)) | (value))) |
| #define XCVR_SET_DCOC_CTRL_2(base, value) (BME_OR32(&XCVR_DCOC_CTRL_2_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_DCOC_CTRL_2(base, value) (BME_AND32(&XCVR_DCOC_CTRL_2_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DCOC_CTRL_2(base, value) (BME_XOR32(&XCVR_DCOC_CTRL_2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CTRL_2 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_2, field BBF_DCOC_STEP_RECIP[12:0] (RW) |
| * |
| * DCOC BBF Reciprocal of Step Size (format: .[00]13). This the reciprocal of |
| * the BBF DCOC STEP value programmed in the XCVR_DCOC_CTRL_1 register. It's |
| * nominal value is 1.0/31.57. This value is stored as a 15 bit fraction (though only |
| * 13 bits are programmed), so use round(1.0/31.57*2^15) = 1038decimal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP field. */ |
| #define XCVR_RD_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP(base) ((XCVR_DCOC_CTRL_2_REG(base) & XCVR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP_MASK) >> XCVR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP(base) (BME_UBFX32(&XCVR_DCOC_CTRL_2_REG(base), XCVR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP_SHIFT, XCVR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP_WIDTH)) |
| |
| /*! @brief Set the BBF_DCOC_STEP_RECIP field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP(base, value) (XCVR_RMW_DCOC_CTRL_2(base, XCVR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP_MASK, XCVR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP(value))) |
| #define XCVR_BWR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_2_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP_SHIFT), XCVR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP_SHIFT, XCVR_DCOC_CTRL_2_BBF_DCOC_STEP_RECIP_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CTRL_3 - DCOC Control 3 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CTRL_3 - DCOC Control 3 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CTRL_3 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CTRL_3(base) (XCVR_DCOC_CTRL_3_REG(base)) |
| #define XCVR_WR_DCOC_CTRL_3(base, value) (XCVR_DCOC_CTRL_3_REG(base) = (value)) |
| #define XCVR_RMW_DCOC_CTRL_3(base, mask, value) (XCVR_WR_DCOC_CTRL_3(base, (XCVR_RD_DCOC_CTRL_3(base) & ~(mask)) | (value))) |
| #define XCVR_SET_DCOC_CTRL_3(base, value) (BME_OR32(&XCVR_DCOC_CTRL_3_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_DCOC_CTRL_3(base, value) (BME_AND32(&XCVR_DCOC_CTRL_3_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DCOC_CTRL_3(base, value) (BME_XOR32(&XCVR_DCOC_CTRL_3_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CTRL_3 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_3, field BBF_DCOC_INIT_I[5:0] (RW) |
| * |
| * Manual override value for DCOC BBF I channel DAC. Used when DCOC_MAN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_I field. */ |
| #define XCVR_RD_DCOC_CTRL_3_BBF_DCOC_INIT_I(base) ((XCVR_DCOC_CTRL_3_REG(base) & XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_I_MASK) >> XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_I_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_3_BBF_DCOC_INIT_I(base) (BME_UBFX32(&XCVR_DCOC_CTRL_3_REG(base), XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_I_SHIFT, XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_I_WIDTH)) |
| |
| /*! @brief Set the BBF_DCOC_INIT_I field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_3_BBF_DCOC_INIT_I(base, value) (XCVR_RMW_DCOC_CTRL_3(base, XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_I_MASK, XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_I(value))) |
| #define XCVR_BWR_DCOC_CTRL_3_BBF_DCOC_INIT_I(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_3_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_I_SHIFT), XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_I_SHIFT, XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_3, field BBF_DCOC_INIT_Q[13:8] (RW) |
| * |
| * Manual override value for DCOC BBF Q channel DAC. Used when DCOC_MAN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_Q field. */ |
| #define XCVR_RD_DCOC_CTRL_3_BBF_DCOC_INIT_Q(base) ((XCVR_DCOC_CTRL_3_REG(base) & XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_Q_MASK) >> XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_Q_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_3_BBF_DCOC_INIT_Q(base) (BME_UBFX32(&XCVR_DCOC_CTRL_3_REG(base), XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_Q_SHIFT, XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_Q_WIDTH)) |
| |
| /*! @brief Set the BBF_DCOC_INIT_Q field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_3_BBF_DCOC_INIT_Q(base, value) (XCVR_RMW_DCOC_CTRL_3(base, XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_Q_MASK, XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_Q(value))) |
| #define XCVR_BWR_DCOC_CTRL_3_BBF_DCOC_INIT_Q(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_3_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_Q_SHIFT), XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_Q_SHIFT, XCVR_DCOC_CTRL_3_BBF_DCOC_INIT_Q_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_3, field TZA_DCOC_INIT_I[23:16] (RW) |
| * |
| * Manual override value for DCOC TZA I channel DAC. Used when DCOC_MAN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_I field. */ |
| #define XCVR_RD_DCOC_CTRL_3_TZA_DCOC_INIT_I(base) ((XCVR_DCOC_CTRL_3_REG(base) & XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_I_MASK) >> XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_I_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_3_TZA_DCOC_INIT_I(base) (BME_UBFX32(&XCVR_DCOC_CTRL_3_REG(base), XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_I_SHIFT, XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_I_WIDTH)) |
| |
| /*! @brief Set the TZA_DCOC_INIT_I field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_3_TZA_DCOC_INIT_I(base, value) (XCVR_RMW_DCOC_CTRL_3(base, XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_I_MASK, XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_I(value))) |
| #define XCVR_BWR_DCOC_CTRL_3_TZA_DCOC_INIT_I(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_3_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_I_SHIFT), XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_I_SHIFT, XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_3, field TZA_DCOC_INIT_Q[31:24] (RW) |
| * |
| * Manual override value for DCOC TZA Q channel DAC. Used when DCOC_MAN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_Q field. */ |
| #define XCVR_RD_DCOC_CTRL_3_TZA_DCOC_INIT_Q(base) ((XCVR_DCOC_CTRL_3_REG(base) & XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_Q_MASK) >> XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_Q_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_3_TZA_DCOC_INIT_Q(base) (BME_UBFX32(&XCVR_DCOC_CTRL_3_REG(base), XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_Q_SHIFT, XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_Q_WIDTH)) |
| |
| /*! @brief Set the TZA_DCOC_INIT_Q field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_3_TZA_DCOC_INIT_Q(base, value) (XCVR_RMW_DCOC_CTRL_3(base, XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_Q_MASK, XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_Q(value))) |
| #define XCVR_BWR_DCOC_CTRL_3_TZA_DCOC_INIT_Q(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_3_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_Q_SHIFT), XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_Q_SHIFT, XCVR_DCOC_CTRL_3_TZA_DCOC_INIT_Q_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CTRL_4 - DCOC Control 4 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CTRL_4 - DCOC Control 4 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CTRL_4 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CTRL_4(base) (XCVR_DCOC_CTRL_4_REG(base)) |
| #define XCVR_WR_DCOC_CTRL_4(base, value) (XCVR_DCOC_CTRL_4_REG(base) = (value)) |
| #define XCVR_RMW_DCOC_CTRL_4(base, mask, value) (XCVR_WR_DCOC_CTRL_4(base, (XCVR_RD_DCOC_CTRL_4(base) & ~(mask)) | (value))) |
| #define XCVR_SET_DCOC_CTRL_4(base, value) (BME_OR32(&XCVR_DCOC_CTRL_4_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_DCOC_CTRL_4(base, value) (BME_AND32(&XCVR_DCOC_CTRL_4_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DCOC_CTRL_4(base, value) (BME_XOR32(&XCVR_DCOC_CTRL_4_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CTRL_4 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_4, field DIG_DCOC_INIT_I[11:0] (RW) |
| * |
| * Manual override for DCOC DIG I channel correction. Value to be subtracted |
| * from downsampled I channel. Used when DCOC_MAN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_I field. */ |
| #define XCVR_RD_DCOC_CTRL_4_DIG_DCOC_INIT_I(base) ((XCVR_DCOC_CTRL_4_REG(base) & XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_I_MASK) >> XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_I_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_4_DIG_DCOC_INIT_I(base) (BME_UBFX32(&XCVR_DCOC_CTRL_4_REG(base), XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_I_SHIFT, XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_I_WIDTH)) |
| |
| /*! @brief Set the DIG_DCOC_INIT_I field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_4_DIG_DCOC_INIT_I(base, value) (XCVR_RMW_DCOC_CTRL_4(base, XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_I_MASK, XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_I(value))) |
| #define XCVR_BWR_DCOC_CTRL_4_DIG_DCOC_INIT_I(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_4_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_I_SHIFT), XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_I_SHIFT, XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CTRL_4, field DIG_DCOC_INIT_Q[27:16] (RW) |
| * |
| * Manual override for DCOC DIG Q channel correction. Value to be subtracted |
| * from downsampled Q channel. Used when DCOC_MAN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_Q field. */ |
| #define XCVR_RD_DCOC_CTRL_4_DIG_DCOC_INIT_Q(base) ((XCVR_DCOC_CTRL_4_REG(base) & XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_Q_MASK) >> XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_Q_SHIFT) |
| #define XCVR_BRD_DCOC_CTRL_4_DIG_DCOC_INIT_Q(base) (BME_UBFX32(&XCVR_DCOC_CTRL_4_REG(base), XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_Q_SHIFT, XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_Q_WIDTH)) |
| |
| /*! @brief Set the DIG_DCOC_INIT_Q field to a new value. */ |
| #define XCVR_WR_DCOC_CTRL_4_DIG_DCOC_INIT_Q(base, value) (XCVR_RMW_DCOC_CTRL_4(base, XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_Q_MASK, XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_Q(value))) |
| #define XCVR_BWR_DCOC_CTRL_4_DIG_DCOC_INIT_Q(base, value) (BME_BFI32(&XCVR_DCOC_CTRL_4_REG(base), ((uint32_t)(value) << XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_Q_SHIFT), XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_Q_SHIFT, XCVR_DCOC_CTRL_4_DIG_DCOC_INIT_Q_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CAL_GAIN - DCOC Calibration Gain |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CAL_GAIN - DCOC Calibration Gain (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CAL_GAIN register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CAL_GAIN(base) (XCVR_DCOC_CAL_GAIN_REG(base)) |
| #define XCVR_WR_DCOC_CAL_GAIN(base, value) (XCVR_DCOC_CAL_GAIN_REG(base) = (value)) |
| #define XCVR_RMW_DCOC_CAL_GAIN(base, mask, value) (XCVR_WR_DCOC_CAL_GAIN(base, (XCVR_RD_DCOC_CAL_GAIN(base) & ~(mask)) | (value))) |
| #define XCVR_SET_DCOC_CAL_GAIN(base, value) (BME_OR32(&XCVR_DCOC_CAL_GAIN_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_DCOC_CAL_GAIN(base, value) (BME_AND32(&XCVR_DCOC_CAL_GAIN_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DCOC_CAL_GAIN(base, value) (BME_XOR32(&XCVR_DCOC_CAL_GAIN_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CAL_GAIN bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_GAIN, field DCOC_BBF_CAL_GAIN1[11:8] (RW) |
| * |
| * The BBF gain index used for the 1st DCOC calibration point. Used when |
| * RX_DCOC_CAL_EN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1 field. */ |
| #define XCVR_RD_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1(base) ((XCVR_DCOC_CAL_GAIN_REG(base) & XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1_MASK) >> XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1(base) (BME_UBFX32(&XCVR_DCOC_CAL_GAIN_REG(base), XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1_WIDTH)) |
| |
| /*! @brief Set the DCOC_BBF_CAL_GAIN1 field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1(base, value) (XCVR_RMW_DCOC_CAL_GAIN(base, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1_MASK, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1(value))) |
| #define XCVR_BWR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1(base, value) (BME_BFI32(&XCVR_DCOC_CAL_GAIN_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1_SHIFT), XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_GAIN, field DCOC_TZA_CAL_GAIN1[15:12] (RW) |
| * |
| * The LNM gain index used for the 1st DCOC calibration point. Used when |
| * RX_DCOC_CAL_EN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1 field. */ |
| #define XCVR_RD_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1(base) ((XCVR_DCOC_CAL_GAIN_REG(base) & XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1_MASK) >> XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1(base) (BME_UBFX32(&XCVR_DCOC_CAL_GAIN_REG(base), XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1_WIDTH)) |
| |
| /*! @brief Set the DCOC_TZA_CAL_GAIN1 field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1(base, value) (XCVR_RMW_DCOC_CAL_GAIN(base, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1_MASK, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1(value))) |
| #define XCVR_BWR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1(base, value) (BME_BFI32(&XCVR_DCOC_CAL_GAIN_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1_SHIFT), XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_GAIN, field DCOC_BBF_CAL_GAIN2[19:16] (RW) |
| * |
| * The BBF gain index used for the 2nd DCOC calibration point. Used when |
| * RX_DCOC_CAL_EN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2 field. */ |
| #define XCVR_RD_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2(base) ((XCVR_DCOC_CAL_GAIN_REG(base) & XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2_MASK) >> XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2(base) (BME_UBFX32(&XCVR_DCOC_CAL_GAIN_REG(base), XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2_WIDTH)) |
| |
| /*! @brief Set the DCOC_BBF_CAL_GAIN2 field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2(base, value) (XCVR_RMW_DCOC_CAL_GAIN(base, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2_MASK, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2(value))) |
| #define XCVR_BWR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2(base, value) (BME_BFI32(&XCVR_DCOC_CAL_GAIN_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2_SHIFT), XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_GAIN, field DCOC_TZA_CAL_GAIN2[23:20] (RW) |
| * |
| * The LNM gain index used for the 2nd DCOC calibration point. Used when |
| * RX_DCOC_CAL_EN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2 field. */ |
| #define XCVR_RD_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2(base) ((XCVR_DCOC_CAL_GAIN_REG(base) & XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2_MASK) >> XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2(base) (BME_UBFX32(&XCVR_DCOC_CAL_GAIN_REG(base), XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2_WIDTH)) |
| |
| /*! @brief Set the DCOC_TZA_CAL_GAIN2 field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2(base, value) (XCVR_RMW_DCOC_CAL_GAIN(base, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2_MASK, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2(value))) |
| #define XCVR_BWR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2(base, value) (BME_BFI32(&XCVR_DCOC_CAL_GAIN_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2_SHIFT), XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_GAIN, field DCOC_BBF_CAL_GAIN3[27:24] (RW) |
| * |
| * The BBF gain index used for the 3rd DCOC calibration point. Used when |
| * RX_DCOC_CAL_EN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3 field. */ |
| #define XCVR_RD_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3(base) ((XCVR_DCOC_CAL_GAIN_REG(base) & XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3_MASK) >> XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3(base) (BME_UBFX32(&XCVR_DCOC_CAL_GAIN_REG(base), XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3_WIDTH)) |
| |
| /*! @brief Set the DCOC_BBF_CAL_GAIN3 field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3(base, value) (XCVR_RMW_DCOC_CAL_GAIN(base, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3_MASK, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3(value))) |
| #define XCVR_BWR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3(base, value) (BME_BFI32(&XCVR_DCOC_CAL_GAIN_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3_SHIFT), XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_BBF_CAL_GAIN3_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_GAIN, field DCOC_TZA_CAL_GAIN3[31:28] (RW) |
| * |
| * The LNM gain index used for the 3rd DCOC calibration point. Used when |
| * RX_DCOC_CAL_EN=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3 field. */ |
| #define XCVR_RD_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3(base) ((XCVR_DCOC_CAL_GAIN_REG(base) & XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3_MASK) >> XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3(base) (BME_UBFX32(&XCVR_DCOC_CAL_GAIN_REG(base), XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3_WIDTH)) |
| |
| /*! @brief Set the DCOC_TZA_CAL_GAIN3 field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3(base, value) (XCVR_RMW_DCOC_CAL_GAIN(base, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3_MASK, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3(value))) |
| #define XCVR_BWR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3(base, value) (BME_BFI32(&XCVR_DCOC_CAL_GAIN_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3_SHIFT), XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3_SHIFT, XCVR_DCOC_CAL_GAIN_DCOC_TZA_CAL_GAIN3_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_STAT - DCOC Status |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_STAT - DCOC Status (RO) |
| * |
| * Reset value: 0x80802020U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_STAT register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_STAT(base) (XCVR_DCOC_STAT_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_STAT bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_STAT, field BBF_DCOC_I[5:0] (RO) |
| * |
| * Current BBF DAC setting for I channel. Note that the BBF DACs have a bias of |
| * 0x20; 0x0 represents the most negative DC offset, 0x20 represents a DC offset |
| * of 0, and 0x3F represents the most postiive DC offset. This is provided for |
| * debug and characterization purposes only. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_STAT_BBF_DCOC_I field. */ |
| #define XCVR_RD_DCOC_STAT_BBF_DCOC_I(base) ((XCVR_DCOC_STAT_REG(base) & XCVR_DCOC_STAT_BBF_DCOC_I_MASK) >> XCVR_DCOC_STAT_BBF_DCOC_I_SHIFT) |
| #define XCVR_BRD_DCOC_STAT_BBF_DCOC_I(base) (BME_UBFX32(&XCVR_DCOC_STAT_REG(base), XCVR_DCOC_STAT_BBF_DCOC_I_SHIFT, XCVR_DCOC_STAT_BBF_DCOC_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_STAT, field BBF_DCOC_Q[13:8] (RO) |
| * |
| * Current BBF DAC setting for Q channel. Note that the BBF DACs have a bias of |
| * 0x20; 0x0 represents the most negative DC offset, 0x20 represents a DC offset |
| * of 0, and 0x3F represents the most postiive DC offset. This is provided for |
| * debug and characterization purposes only. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_STAT_BBF_DCOC_Q field. */ |
| #define XCVR_RD_DCOC_STAT_BBF_DCOC_Q(base) ((XCVR_DCOC_STAT_REG(base) & XCVR_DCOC_STAT_BBF_DCOC_Q_MASK) >> XCVR_DCOC_STAT_BBF_DCOC_Q_SHIFT) |
| #define XCVR_BRD_DCOC_STAT_BBF_DCOC_Q(base) (BME_UBFX32(&XCVR_DCOC_STAT_REG(base), XCVR_DCOC_STAT_BBF_DCOC_Q_SHIFT, XCVR_DCOC_STAT_BBF_DCOC_Q_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_STAT, field TZA_DCOC_I[23:16] (RO) |
| * |
| * Current TZA DAC setting for I channel. Note that the TZA DACs have a bias of |
| * 0x80; 0x0 represents the most negative DC offset, 0x80 represents a DC offset |
| * of 0, and 0xFF represents the most postiive DC offset. This is provided for |
| * debug and characterization purposes only. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_STAT_TZA_DCOC_I field. */ |
| #define XCVR_RD_DCOC_STAT_TZA_DCOC_I(base) ((XCVR_DCOC_STAT_REG(base) & XCVR_DCOC_STAT_TZA_DCOC_I_MASK) >> XCVR_DCOC_STAT_TZA_DCOC_I_SHIFT) |
| #define XCVR_BRD_DCOC_STAT_TZA_DCOC_I(base) (BME_UBFX32(&XCVR_DCOC_STAT_REG(base), XCVR_DCOC_STAT_TZA_DCOC_I_SHIFT, XCVR_DCOC_STAT_TZA_DCOC_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_STAT, field TZA_DCOC_Q[31:24] (RO) |
| * |
| * Current TZA DAC setting for Q channel. Note that the TZA DACs have a bias of |
| * 0x80; 0x0 represents the most negative DC offset, 0x80 represents a DC offset |
| * of 0, and 0xFF represents the most postiive DC offset. This is provided for |
| * debug and characterization purposes only. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_STAT_TZA_DCOC_Q field. */ |
| #define XCVR_RD_DCOC_STAT_TZA_DCOC_Q(base) ((XCVR_DCOC_STAT_REG(base) & XCVR_DCOC_STAT_TZA_DCOC_Q_MASK) >> XCVR_DCOC_STAT_TZA_DCOC_Q_SHIFT) |
| #define XCVR_BRD_DCOC_STAT_TZA_DCOC_Q(base) (BME_UBFX32(&XCVR_DCOC_STAT_REG(base), XCVR_DCOC_STAT_TZA_DCOC_Q_SHIFT, XCVR_DCOC_STAT_TZA_DCOC_Q_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_DC_EST - DCOC DC Estimate |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_DC_EST - DCOC DC Estimate (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_DC_EST register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_DC_EST(base) (XCVR_DCOC_DC_EST_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_DC_EST bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_DC_EST, field DC_EST_I[11:0] (RO) |
| * |
| * Reflects the current DCOC DC tracking estimate for I channel. Used when |
| * DCOC_TRACK_EN=1. This is provided for debug and characterization purposes only. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_DC_EST_DC_EST_I field. */ |
| #define XCVR_RD_DCOC_DC_EST_DC_EST_I(base) ((XCVR_DCOC_DC_EST_REG(base) & XCVR_DCOC_DC_EST_DC_EST_I_MASK) >> XCVR_DCOC_DC_EST_DC_EST_I_SHIFT) |
| #define XCVR_BRD_DCOC_DC_EST_DC_EST_I(base) (BME_UBFX32(&XCVR_DCOC_DC_EST_REG(base), XCVR_DCOC_DC_EST_DC_EST_I_SHIFT, XCVR_DCOC_DC_EST_DC_EST_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_DC_EST, field DC_EST_Q[27:16] (RO) |
| * |
| * Reflects the current DCOC DC tracking estimate for Q channel. Used when |
| * DCOC_TRACK_EN=1. This is provided for debug and characterization purposes only. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_DC_EST_DC_EST_Q field. */ |
| #define XCVR_RD_DCOC_DC_EST_DC_EST_Q(base) ((XCVR_DCOC_DC_EST_REG(base) & XCVR_DCOC_DC_EST_DC_EST_Q_MASK) >> XCVR_DCOC_DC_EST_DC_EST_Q_SHIFT) |
| #define XCVR_BRD_DCOC_DC_EST_DC_EST_Q(base) (BME_UBFX32(&XCVR_DCOC_DC_EST_REG(base), XCVR_DCOC_DC_EST_DC_EST_Q_SHIFT, XCVR_DCOC_DC_EST_DC_EST_Q_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CAL_RCP - DCOC Calibration Reciprocals |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CAL_RCP - DCOC Calibration Reciprocals (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CAL_RCP register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CAL_RCP(base) (XCVR_DCOC_CAL_RCP_REG(base)) |
| #define XCVR_WR_DCOC_CAL_RCP(base, value) (XCVR_DCOC_CAL_RCP_REG(base) = (value)) |
| #define XCVR_RMW_DCOC_CAL_RCP(base, mask, value) (XCVR_WR_DCOC_CAL_RCP(base, (XCVR_RD_DCOC_CAL_RCP(base) & ~(mask)) | (value))) |
| #define XCVR_SET_DCOC_CAL_RCP(base, value) (BME_OR32(&XCVR_DCOC_CAL_RCP_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_DCOC_CAL_RCP(base, value) (BME_AND32(&XCVR_DCOC_CAL_RCP_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DCOC_CAL_RCP(base, value) (BME_XOR32(&XCVR_DCOC_CAL_RCP_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CAL_RCP bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_RCP, field DCOC_TMP_CALC_RECIP[9:0] (RW) |
| * |
| * DCOC_tmp calculation reciprocal (format: .10). This is used in DCDC |
| * calibration calculation. It is defined as 1.0/(GB_HI - GB_LO) This is stored with 10 |
| * fractional bits, so program the value round([1.0/(GB_HI - GB_LO)]*2^10). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP field. */ |
| #define XCVR_RD_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP(base) ((XCVR_DCOC_CAL_RCP_REG(base) & XCVR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_MASK) >> XCVR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP(base) (BME_UBFX32(&XCVR_DCOC_CAL_RCP_REG(base), XCVR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_SHIFT, XCVR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_WIDTH)) |
| |
| /*! @brief Set the DCOC_TMP_CALC_RECIP field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP(base, value) (XCVR_RMW_DCOC_CAL_RCP(base, XCVR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_MASK, XCVR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP(value))) |
| #define XCVR_BWR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP(base, value) (BME_BFI32(&XCVR_DCOC_CAL_RCP_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_SHIFT), XCVR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_SHIFT, XCVR_DCOC_CAL_RCP_DCOC_TMP_CALC_RECIP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_RCP, field ALPHA_CALC_RECIP[20:10] (RW) |
| * |
| * DCOC Alpha calculation reciprocal (format: .11). This is used in DCOC |
| * calibration calculation of the alpha DC component. It is defined as: 1.0/((GL_HI - |
| * GL_LO)*GB_LO) This is stored as with 11 fractional bits, so program the value |
| * round([1.0/((GL_HI - GL_LO)*GB_LO)]*2^11). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_RCP_ALPHA_CALC_RECIP field. */ |
| #define XCVR_RD_DCOC_CAL_RCP_ALPHA_CALC_RECIP(base) ((XCVR_DCOC_CAL_RCP_REG(base) & XCVR_DCOC_CAL_RCP_ALPHA_CALC_RECIP_MASK) >> XCVR_DCOC_CAL_RCP_ALPHA_CALC_RECIP_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_RCP_ALPHA_CALC_RECIP(base) (BME_UBFX32(&XCVR_DCOC_CAL_RCP_REG(base), XCVR_DCOC_CAL_RCP_ALPHA_CALC_RECIP_SHIFT, XCVR_DCOC_CAL_RCP_ALPHA_CALC_RECIP_WIDTH)) |
| |
| /*! @brief Set the ALPHA_CALC_RECIP field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_RCP_ALPHA_CALC_RECIP(base, value) (XCVR_RMW_DCOC_CAL_RCP(base, XCVR_DCOC_CAL_RCP_ALPHA_CALC_RECIP_MASK, XCVR_DCOC_CAL_RCP_ALPHA_CALC_RECIP(value))) |
| #define XCVR_BWR_DCOC_CAL_RCP_ALPHA_CALC_RECIP(base, value) (BME_BFI32(&XCVR_DCOC_CAL_RCP_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_RCP_ALPHA_CALC_RECIP_SHIFT), XCVR_DCOC_CAL_RCP_ALPHA_CALC_RECIP_SHIFT, XCVR_DCOC_CAL_RCP_ALPHA_CALC_RECIP_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_IQMC_CTRL - IQMC Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_IQMC_CTRL - IQMC Control (RW) |
| * |
| * Reset value: 0x00008000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_IQMC_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_IQMC_CTRL(base) (XCVR_IQMC_CTRL_REG(base)) |
| #define XCVR_WR_IQMC_CTRL(base, value) (XCVR_IQMC_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_IQMC_CTRL(base, mask, value) (XCVR_WR_IQMC_CTRL(base, (XCVR_RD_IQMC_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_IQMC_CTRL(base, value) (BME_OR32(&XCVR_IQMC_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_IQMC_CTRL(base, value) (BME_AND32(&XCVR_IQMC_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_IQMC_CTRL(base, value) (BME_XOR32(&XCVR_IQMC_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_IQMC_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_IQMC_CTRL, field IQMC_CAL_EN[0] (RW) |
| * |
| * Enables IQ mismatch calibration. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_IQMC_CTRL_IQMC_CAL_EN field. */ |
| #define XCVR_RD_IQMC_CTRL_IQMC_CAL_EN(base) ((XCVR_IQMC_CTRL_REG(base) & XCVR_IQMC_CTRL_IQMC_CAL_EN_MASK) >> XCVR_IQMC_CTRL_IQMC_CAL_EN_SHIFT) |
| #define XCVR_BRD_IQMC_CTRL_IQMC_CAL_EN(base) (BME_UBFX32(&XCVR_IQMC_CTRL_REG(base), XCVR_IQMC_CTRL_IQMC_CAL_EN_SHIFT, XCVR_IQMC_CTRL_IQMC_CAL_EN_WIDTH)) |
| |
| /*! @brief Set the IQMC_CAL_EN field to a new value. */ |
| #define XCVR_WR_IQMC_CTRL_IQMC_CAL_EN(base, value) (XCVR_RMW_IQMC_CTRL(base, XCVR_IQMC_CTRL_IQMC_CAL_EN_MASK, XCVR_IQMC_CTRL_IQMC_CAL_EN(value))) |
| #define XCVR_BWR_IQMC_CTRL_IQMC_CAL_EN(base, value) (BME_BFI32(&XCVR_IQMC_CTRL_REG(base), ((uint32_t)(value) << XCVR_IQMC_CTRL_IQMC_CAL_EN_SHIFT), XCVR_IQMC_CTRL_IQMC_CAL_EN_SHIFT, XCVR_IQMC_CTRL_IQMC_CAL_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_IQMC_CTRL, field IQMC_NUM_ITER[15:8] (RW) |
| * |
| * Number of iterations for IQ Mismatch Calibration. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_IQMC_CTRL_IQMC_NUM_ITER field. */ |
| #define XCVR_RD_IQMC_CTRL_IQMC_NUM_ITER(base) ((XCVR_IQMC_CTRL_REG(base) & XCVR_IQMC_CTRL_IQMC_NUM_ITER_MASK) >> XCVR_IQMC_CTRL_IQMC_NUM_ITER_SHIFT) |
| #define XCVR_BRD_IQMC_CTRL_IQMC_NUM_ITER(base) (BME_UBFX32(&XCVR_IQMC_CTRL_REG(base), XCVR_IQMC_CTRL_IQMC_NUM_ITER_SHIFT, XCVR_IQMC_CTRL_IQMC_NUM_ITER_WIDTH)) |
| |
| /*! @brief Set the IQMC_NUM_ITER field to a new value. */ |
| #define XCVR_WR_IQMC_CTRL_IQMC_NUM_ITER(base, value) (XCVR_RMW_IQMC_CTRL(base, XCVR_IQMC_CTRL_IQMC_NUM_ITER_MASK, XCVR_IQMC_CTRL_IQMC_NUM_ITER(value))) |
| #define XCVR_BWR_IQMC_CTRL_IQMC_NUM_ITER(base, value) (BME_BFI32(&XCVR_IQMC_CTRL_REG(base), ((uint32_t)(value) << XCVR_IQMC_CTRL_IQMC_NUM_ITER_SHIFT), XCVR_IQMC_CTRL_IQMC_NUM_ITER_SHIFT, XCVR_IQMC_CTRL_IQMC_NUM_ITER_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_IQMC_CAL - IQMC Calibration |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_IQMC_CAL - IQMC Calibration (RW) |
| * |
| * Reset value: 0x00000400U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_IQMC_CAL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_IQMC_CAL(base) (XCVR_IQMC_CAL_REG(base)) |
| #define XCVR_WR_IQMC_CAL(base, value) (XCVR_IQMC_CAL_REG(base) = (value)) |
| #define XCVR_RMW_IQMC_CAL(base, mask, value) (XCVR_WR_IQMC_CAL(base, (XCVR_RD_IQMC_CAL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_IQMC_CAL(base, value) (BME_OR32(&XCVR_IQMC_CAL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_IQMC_CAL(base, value) (BME_AND32(&XCVR_IQMC_CAL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_IQMC_CAL(base, value) (BME_XOR32(&XCVR_IQMC_CAL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_IQMC_CAL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_IQMC_CAL, field IQMC_GAIN_ADJ[10:0] (RW) |
| * |
| * I/Q mismatch correction gain coefficient. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_IQMC_CAL_IQMC_GAIN_ADJ field. */ |
| #define XCVR_RD_IQMC_CAL_IQMC_GAIN_ADJ(base) ((XCVR_IQMC_CAL_REG(base) & XCVR_IQMC_CAL_IQMC_GAIN_ADJ_MASK) >> XCVR_IQMC_CAL_IQMC_GAIN_ADJ_SHIFT) |
| #define XCVR_BRD_IQMC_CAL_IQMC_GAIN_ADJ(base) (BME_UBFX32(&XCVR_IQMC_CAL_REG(base), XCVR_IQMC_CAL_IQMC_GAIN_ADJ_SHIFT, XCVR_IQMC_CAL_IQMC_GAIN_ADJ_WIDTH)) |
| |
| /*! @brief Set the IQMC_GAIN_ADJ field to a new value. */ |
| #define XCVR_WR_IQMC_CAL_IQMC_GAIN_ADJ(base, value) (XCVR_RMW_IQMC_CAL(base, XCVR_IQMC_CAL_IQMC_GAIN_ADJ_MASK, XCVR_IQMC_CAL_IQMC_GAIN_ADJ(value))) |
| #define XCVR_BWR_IQMC_CAL_IQMC_GAIN_ADJ(base, value) (BME_BFI32(&XCVR_IQMC_CAL_REG(base), ((uint32_t)(value) << XCVR_IQMC_CAL_IQMC_GAIN_ADJ_SHIFT), XCVR_IQMC_CAL_IQMC_GAIN_ADJ_SHIFT, XCVR_IQMC_CAL_IQMC_GAIN_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_IQMC_CAL, field IQMC_PHASE_ADJ[27:16] (RW) |
| * |
| * I/Q mismatch correction phase coefficient. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_IQMC_CAL_IQMC_PHASE_ADJ field. */ |
| #define XCVR_RD_IQMC_CAL_IQMC_PHASE_ADJ(base) ((XCVR_IQMC_CAL_REG(base) & XCVR_IQMC_CAL_IQMC_PHASE_ADJ_MASK) >> XCVR_IQMC_CAL_IQMC_PHASE_ADJ_SHIFT) |
| #define XCVR_BRD_IQMC_CAL_IQMC_PHASE_ADJ(base) (BME_UBFX32(&XCVR_IQMC_CAL_REG(base), XCVR_IQMC_CAL_IQMC_PHASE_ADJ_SHIFT, XCVR_IQMC_CAL_IQMC_PHASE_ADJ_WIDTH)) |
| |
| /*! @brief Set the IQMC_PHASE_ADJ field to a new value. */ |
| #define XCVR_WR_IQMC_CAL_IQMC_PHASE_ADJ(base, value) (XCVR_RMW_IQMC_CAL(base, XCVR_IQMC_CAL_IQMC_PHASE_ADJ_MASK, XCVR_IQMC_CAL_IQMC_PHASE_ADJ(value))) |
| #define XCVR_BWR_IQMC_CAL_IQMC_PHASE_ADJ(base, value) (BME_BFI32(&XCVR_IQMC_CAL_REG(base), ((uint32_t)(value) << XCVR_IQMC_CAL_IQMC_PHASE_ADJ_SHIFT), XCVR_IQMC_CAL_IQMC_PHASE_ADJ_SHIFT, XCVR_IQMC_CAL_IQMC_PHASE_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TCA_AGC_VAL_3_0 - TCA AGC Step Values 3..0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TCA_AGC_VAL_3_0 - TCA AGC Step Values 3..0 (RW) |
| * |
| * Reset value: 0x3C242C14U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TCA_AGC_VAL_3_0 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TCA_AGC_VAL_3_0(base) (XCVR_TCA_AGC_VAL_3_0_REG(base)) |
| #define XCVR_WR_TCA_AGC_VAL_3_0(base, value) (XCVR_TCA_AGC_VAL_3_0_REG(base) = (value)) |
| #define XCVR_RMW_TCA_AGC_VAL_3_0(base, mask, value) (XCVR_WR_TCA_AGC_VAL_3_0(base, (XCVR_RD_TCA_AGC_VAL_3_0(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TCA_AGC_VAL_3_0(base, value) (BME_OR32(&XCVR_TCA_AGC_VAL_3_0_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TCA_AGC_VAL_3_0(base, value) (BME_AND32(&XCVR_TCA_AGC_VAL_3_0_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TCA_AGC_VAL_3_0(base, value) (BME_XOR32(&XCVR_TCA_AGC_VAL_3_0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TCA_AGC_VAL_3_0 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_VAL_3_0, field TCA_AGC_VAL_0[7:0] (RW) |
| * |
| * 4(x+8) value of TCA_AGC step 0, for RSSI calculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0 field. */ |
| #define XCVR_RD_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0(base) ((XCVR_TCA_AGC_VAL_3_0_REG(base) & XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0_MASK) >> XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0_SHIFT) |
| #define XCVR_BRD_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0(base) (BME_UBFX32(&XCVR_TCA_AGC_VAL_3_0_REG(base), XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0_SHIFT, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_VAL_0 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0(base, value) (XCVR_RMW_TCA_AGC_VAL_3_0(base, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0_MASK, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0(value))) |
| #define XCVR_BWR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0(base, value) (BME_BFI32(&XCVR_TCA_AGC_VAL_3_0_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0_SHIFT), XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0_SHIFT, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_VAL_3_0, field TCA_AGC_VAL_1[15:8] (RW) |
| * |
| * 4(x+8) value of TCA_AGC step 1, for RSSI calculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1 field. */ |
| #define XCVR_RD_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1(base) ((XCVR_TCA_AGC_VAL_3_0_REG(base) & XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1_MASK) >> XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1_SHIFT) |
| #define XCVR_BRD_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1(base) (BME_UBFX32(&XCVR_TCA_AGC_VAL_3_0_REG(base), XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1_SHIFT, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_VAL_1 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1(base, value) (XCVR_RMW_TCA_AGC_VAL_3_0(base, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1_MASK, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1(value))) |
| #define XCVR_BWR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1(base, value) (BME_BFI32(&XCVR_TCA_AGC_VAL_3_0_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1_SHIFT), XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1_SHIFT, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_VAL_3_0, field TCA_AGC_VAL_2[23:16] (RW) |
| * |
| * 4x value of TCA_AGC step 2, for RSSI calculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2 field. */ |
| #define XCVR_RD_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2(base) ((XCVR_TCA_AGC_VAL_3_0_REG(base) & XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2_MASK) >> XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2_SHIFT) |
| #define XCVR_BRD_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2(base) (BME_UBFX32(&XCVR_TCA_AGC_VAL_3_0_REG(base), XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2_SHIFT, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_VAL_2 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2(base, value) (XCVR_RMW_TCA_AGC_VAL_3_0(base, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2_MASK, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2(value))) |
| #define XCVR_BWR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2(base, value) (BME_BFI32(&XCVR_TCA_AGC_VAL_3_0_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2_SHIFT), XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2_SHIFT, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_VAL_3_0, field TCA_AGC_VAL_3[31:24] (RW) |
| * |
| * 4x value of TCA_AGC step 3, for RSSI calculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3 field. */ |
| #define XCVR_RD_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3(base) ((XCVR_TCA_AGC_VAL_3_0_REG(base) & XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3_MASK) >> XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3_SHIFT) |
| #define XCVR_BRD_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3(base) (BME_UBFX32(&XCVR_TCA_AGC_VAL_3_0_REG(base), XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3_SHIFT, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_VAL_3 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3(base, value) (XCVR_RMW_TCA_AGC_VAL_3_0(base, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3_MASK, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3(value))) |
| #define XCVR_BWR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3(base, value) (BME_BFI32(&XCVR_TCA_AGC_VAL_3_0_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3_SHIFT), XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3_SHIFT, XCVR_TCA_AGC_VAL_3_0_TCA_AGC_VAL_3_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TCA_AGC_VAL_7_4 - TCA AGC Step Values 7..4 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TCA_AGC_VAL_7_4 - TCA AGC Step Values 7..4 (RW) |
| * |
| * Reset value: 0x9C846C54U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TCA_AGC_VAL_7_4 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TCA_AGC_VAL_7_4(base) (XCVR_TCA_AGC_VAL_7_4_REG(base)) |
| #define XCVR_WR_TCA_AGC_VAL_7_4(base, value) (XCVR_TCA_AGC_VAL_7_4_REG(base) = (value)) |
| #define XCVR_RMW_TCA_AGC_VAL_7_4(base, mask, value) (XCVR_WR_TCA_AGC_VAL_7_4(base, (XCVR_RD_TCA_AGC_VAL_7_4(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TCA_AGC_VAL_7_4(base, value) (BME_OR32(&XCVR_TCA_AGC_VAL_7_4_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TCA_AGC_VAL_7_4(base, value) (BME_AND32(&XCVR_TCA_AGC_VAL_7_4_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TCA_AGC_VAL_7_4(base, value) (BME_XOR32(&XCVR_TCA_AGC_VAL_7_4_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TCA_AGC_VAL_7_4 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_VAL_7_4, field TCA_AGC_VAL_4[7:0] (RW) |
| * |
| * 4x value of TCA_AGC step 4, for RSSI calculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4 field. */ |
| #define XCVR_RD_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4(base) ((XCVR_TCA_AGC_VAL_7_4_REG(base) & XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4_MASK) >> XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4_SHIFT) |
| #define XCVR_BRD_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4(base) (BME_UBFX32(&XCVR_TCA_AGC_VAL_7_4_REG(base), XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4_SHIFT, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_VAL_4 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4(base, value) (XCVR_RMW_TCA_AGC_VAL_7_4(base, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4_MASK, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4(value))) |
| #define XCVR_BWR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4(base, value) (BME_BFI32(&XCVR_TCA_AGC_VAL_7_4_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4_SHIFT), XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4_SHIFT, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_VAL_7_4, field TCA_AGC_VAL_5[15:8] (RW) |
| * |
| * 4x value of TCA_AGC step 5, for RSSI calculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5 field. */ |
| #define XCVR_RD_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5(base) ((XCVR_TCA_AGC_VAL_7_4_REG(base) & XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5_MASK) >> XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5_SHIFT) |
| #define XCVR_BRD_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5(base) (BME_UBFX32(&XCVR_TCA_AGC_VAL_7_4_REG(base), XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5_SHIFT, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_VAL_5 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5(base, value) (XCVR_RMW_TCA_AGC_VAL_7_4(base, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5_MASK, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5(value))) |
| #define XCVR_BWR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5(base, value) (BME_BFI32(&XCVR_TCA_AGC_VAL_7_4_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5_SHIFT), XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5_SHIFT, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_5_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_VAL_7_4, field TCA_AGC_VAL_6[23:16] (RW) |
| * |
| * 4x value of TCA_AGC step 6, for RSSI calculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6 field. */ |
| #define XCVR_RD_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6(base) ((XCVR_TCA_AGC_VAL_7_4_REG(base) & XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6_MASK) >> XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6_SHIFT) |
| #define XCVR_BRD_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6(base) (BME_UBFX32(&XCVR_TCA_AGC_VAL_7_4_REG(base), XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6_SHIFT, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_VAL_6 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6(base, value) (XCVR_RMW_TCA_AGC_VAL_7_4(base, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6_MASK, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6(value))) |
| #define XCVR_BWR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6(base, value) (BME_BFI32(&XCVR_TCA_AGC_VAL_7_4_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6_SHIFT), XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6_SHIFT, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_6_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_VAL_7_4, field TCA_AGC_VAL_7[31:24] (RW) |
| * |
| * 4x value of TCA_AGC step 7, for RSSI calculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7 field. */ |
| #define XCVR_RD_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7(base) ((XCVR_TCA_AGC_VAL_7_4_REG(base) & XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7_MASK) >> XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7_SHIFT) |
| #define XCVR_BRD_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7(base) (BME_UBFX32(&XCVR_TCA_AGC_VAL_7_4_REG(base), XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7_SHIFT, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_VAL_7 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7(base, value) (XCVR_RMW_TCA_AGC_VAL_7_4(base, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7_MASK, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7(value))) |
| #define XCVR_BWR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7(base, value) (BME_BFI32(&XCVR_TCA_AGC_VAL_7_4_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7_SHIFT), XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7_SHIFT, XCVR_TCA_AGC_VAL_7_4_TCA_AGC_VAL_7_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TCA_AGC_VAL_8 - TCA AGC Step Values 8 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TCA_AGC_VAL_8 - TCA AGC Step Values 8 (RW) |
| * |
| * Reset value: 0x000000B4U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TCA_AGC_VAL_8 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TCA_AGC_VAL_8(base) (XCVR_TCA_AGC_VAL_8_REG(base)) |
| #define XCVR_WR_TCA_AGC_VAL_8(base, value) (XCVR_TCA_AGC_VAL_8_REG(base) = (value)) |
| #define XCVR_RMW_TCA_AGC_VAL_8(base, mask, value) (XCVR_WR_TCA_AGC_VAL_8(base, (XCVR_RD_TCA_AGC_VAL_8(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TCA_AGC_VAL_8(base, value) (BME_OR32(&XCVR_TCA_AGC_VAL_8_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TCA_AGC_VAL_8(base, value) (BME_AND32(&XCVR_TCA_AGC_VAL_8_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TCA_AGC_VAL_8(base, value) (BME_XOR32(&XCVR_TCA_AGC_VAL_8_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TCA_AGC_VAL_8 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_VAL_8, field TCA_AGC_VAL_8[7:0] (RW) |
| * |
| * 4x value of TCA_AGC step 8, for RSSI calculation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_VAL_8_TCA_AGC_VAL_8 field. */ |
| #define XCVR_RD_TCA_AGC_VAL_8_TCA_AGC_VAL_8(base) ((XCVR_TCA_AGC_VAL_8_REG(base) & XCVR_TCA_AGC_VAL_8_TCA_AGC_VAL_8_MASK) >> XCVR_TCA_AGC_VAL_8_TCA_AGC_VAL_8_SHIFT) |
| #define XCVR_BRD_TCA_AGC_VAL_8_TCA_AGC_VAL_8(base) (BME_UBFX32(&XCVR_TCA_AGC_VAL_8_REG(base), XCVR_TCA_AGC_VAL_8_TCA_AGC_VAL_8_SHIFT, XCVR_TCA_AGC_VAL_8_TCA_AGC_VAL_8_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_VAL_8 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_VAL_8_TCA_AGC_VAL_8(base, value) (XCVR_RMW_TCA_AGC_VAL_8(base, XCVR_TCA_AGC_VAL_8_TCA_AGC_VAL_8_MASK, XCVR_TCA_AGC_VAL_8_TCA_AGC_VAL_8(value))) |
| #define XCVR_BWR_TCA_AGC_VAL_8_TCA_AGC_VAL_8(base, value) (BME_BFI32(&XCVR_TCA_AGC_VAL_8_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_VAL_8_TCA_AGC_VAL_8_SHIFT), XCVR_TCA_AGC_VAL_8_TCA_AGC_VAL_8_SHIFT, XCVR_TCA_AGC_VAL_8_TCA_AGC_VAL_8_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_BBF_RES_TUNE_VAL_7_0 - BBF Resistor Tune Values 7..0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_BBF_RES_TUNE_VAL_7_0 - BBF Resistor Tune Values 7..0 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_BBF_RES_TUNE_VAL_7_0 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_7_0(base) (XCVR_BBF_RES_TUNE_VAL_7_0_REG(base)) |
| #define XCVR_WR_BBF_RES_TUNE_VAL_7_0(base, value) (XCVR_BBF_RES_TUNE_VAL_7_0_REG(base) = (value)) |
| #define XCVR_RMW_BBF_RES_TUNE_VAL_7_0(base, mask, value) (XCVR_WR_BBF_RES_TUNE_VAL_7_0(base, (XCVR_RD_BBF_RES_TUNE_VAL_7_0(base) & ~(mask)) | (value))) |
| #define XCVR_SET_BBF_RES_TUNE_VAL_7_0(base, value) (BME_OR32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_BBF_RES_TUNE_VAL_7_0(base, value) (BME_AND32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_BBF_RES_TUNE_VAL_7_0(base, value) (BME_XOR32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_BBF_RES_TUNE_VAL_7_0 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_7_0, field BBF_RES_TUNE_VAL_0[3:0] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 0 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0(base) ((XCVR_BBF_RES_TUNE_VAL_7_0_REG(base) & XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0_MASK) >> XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_0 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_7_0(base, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0_MASK, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0_SHIFT), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_7_0, field BBF_RES_TUNE_VAL_1[7:4] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 1 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1(base) ((XCVR_BBF_RES_TUNE_VAL_7_0_REG(base) & XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1_MASK) >> XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_1 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_7_0(base, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1_MASK, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1_SHIFT), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_7_0, field BBF_RES_TUNE_VAL_2[11:8] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 2 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2(base) ((XCVR_BBF_RES_TUNE_VAL_7_0_REG(base) & XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2_MASK) >> XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_2 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_7_0(base, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2_MASK, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2_SHIFT), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_7_0, field BBF_RES_TUNE_VAL_3[15:12] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 3 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3(base) ((XCVR_BBF_RES_TUNE_VAL_7_0_REG(base) & XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3_MASK) >> XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_3 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_7_0(base, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3_MASK, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3_SHIFT), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_3_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_7_0, field BBF_RES_TUNE_VAL_4[19:16] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 4 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4(base) ((XCVR_BBF_RES_TUNE_VAL_7_0_REG(base) & XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4_MASK) >> XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_4 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_7_0(base, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4_MASK, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4_SHIFT), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_7_0, field BBF_RES_TUNE_VAL_5[23:20] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 5 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5(base) ((XCVR_BBF_RES_TUNE_VAL_7_0_REG(base) & XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5_MASK) >> XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_5 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_7_0(base, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5_MASK, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5_SHIFT), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_5_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_7_0, field BBF_RES_TUNE_VAL_6[27:24] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 6 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6(base) ((XCVR_BBF_RES_TUNE_VAL_7_0_REG(base) & XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6_MASK) >> XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_6 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_7_0(base, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6_MASK, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6_SHIFT), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_6_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_7_0, field BBF_RES_TUNE_VAL_7[31:28] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 7 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7(base) ((XCVR_BBF_RES_TUNE_VAL_7_0_REG(base) & XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7_MASK) >> XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_7 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_7_0(base, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7_MASK, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_7_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7_SHIFT), XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7_SHIFT, XCVR_BBF_RES_TUNE_VAL_7_0_BBF_RES_TUNE_VAL_7_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_BBF_RES_TUNE_VAL_10_8 - BBF Resistor Tune Values 10..8 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_BBF_RES_TUNE_VAL_10_8 - BBF Resistor Tune Values 10..8 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_BBF_RES_TUNE_VAL_10_8 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_10_8(base) (XCVR_BBF_RES_TUNE_VAL_10_8_REG(base)) |
| #define XCVR_WR_BBF_RES_TUNE_VAL_10_8(base, value) (XCVR_BBF_RES_TUNE_VAL_10_8_REG(base) = (value)) |
| #define XCVR_RMW_BBF_RES_TUNE_VAL_10_8(base, mask, value) (XCVR_WR_BBF_RES_TUNE_VAL_10_8(base, (XCVR_RD_BBF_RES_TUNE_VAL_10_8(base) & ~(mask)) | (value))) |
| #define XCVR_SET_BBF_RES_TUNE_VAL_10_8(base, value) (BME_OR32(&XCVR_BBF_RES_TUNE_VAL_10_8_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_BBF_RES_TUNE_VAL_10_8(base, value) (BME_AND32(&XCVR_BBF_RES_TUNE_VAL_10_8_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_BBF_RES_TUNE_VAL_10_8(base, value) (BME_XOR32(&XCVR_BBF_RES_TUNE_VAL_10_8_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_BBF_RES_TUNE_VAL_10_8 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_10_8, field BBF_RES_TUNE_VAL_8[3:0] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 8 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8(base) ((XCVR_BBF_RES_TUNE_VAL_10_8_REG(base) & XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8_MASK) >> XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_10_8_REG(base), XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8_SHIFT, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_8 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_10_8(base, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8_MASK, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_10_8_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8_SHIFT), XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8_SHIFT, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_8_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_10_8, field BBF_RES_TUNE_VAL_9[7:4] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 9 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9(base) ((XCVR_BBF_RES_TUNE_VAL_10_8_REG(base) & XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9_MASK) >> XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_10_8_REG(base), XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9_SHIFT, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_9 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_10_8(base, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9_MASK, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_10_8_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9_SHIFT), XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9_SHIFT, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_9_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_VAL_10_8, field BBF_RES_TUNE_VAL_10[11:8] (RW) |
| * |
| * Signed, 2x offset value of bbf_res_tune step 10 agc delta. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10(base) ((XCVR_BBF_RES_TUNE_VAL_10_8_REG(base) & XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10_MASK) >> XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_VAL_10_8_REG(base), XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10_SHIFT, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_VAL_10 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10(base, value) (XCVR_RMW_BBF_RES_TUNE_VAL_10_8(base, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10_MASK, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_VAL_10_8_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10_SHIFT), XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10_SHIFT, XCVR_BBF_RES_TUNE_VAL_10_8_BBF_RES_TUNE_VAL_10_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TCA_AGC_LIN_VAL_2_0 - TCA AGC Linear Gain Values 2..0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TCA_AGC_LIN_VAL_2_0 - TCA AGC Linear Gain Values 2..0 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TCA_AGC_LIN_VAL_2_0 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_2_0(base) (XCVR_TCA_AGC_LIN_VAL_2_0_REG(base)) |
| #define XCVR_WR_TCA_AGC_LIN_VAL_2_0(base, value) (XCVR_TCA_AGC_LIN_VAL_2_0_REG(base) = (value)) |
| #define XCVR_RMW_TCA_AGC_LIN_VAL_2_0(base, mask, value) (XCVR_WR_TCA_AGC_LIN_VAL_2_0(base, (XCVR_RD_TCA_AGC_LIN_VAL_2_0(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TCA_AGC_LIN_VAL_2_0(base, value) (BME_OR32(&XCVR_TCA_AGC_LIN_VAL_2_0_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TCA_AGC_LIN_VAL_2_0(base, value) (BME_AND32(&XCVR_TCA_AGC_LIN_VAL_2_0_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TCA_AGC_LIN_VAL_2_0(base, value) (BME_XOR32(&XCVR_TCA_AGC_LIN_VAL_2_0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TCA_AGC_LIN_VAL_2_0 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_LIN_VAL_2_0, field TCA_AGC_LIN_VAL_0[9:0] (RW) |
| * |
| * Linear gain (8.2). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0 field. */ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0(base) ((XCVR_TCA_AGC_LIN_VAL_2_0_REG(base) & XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0_MASK) >> XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0_SHIFT) |
| #define XCVR_BRD_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0(base) (BME_UBFX32(&XCVR_TCA_AGC_LIN_VAL_2_0_REG(base), XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0_SHIFT, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_LIN_VAL_0 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0(base, value) (XCVR_RMW_TCA_AGC_LIN_VAL_2_0(base, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0_MASK, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0(value))) |
| #define XCVR_BWR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0(base, value) (BME_BFI32(&XCVR_TCA_AGC_LIN_VAL_2_0_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0_SHIFT), XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0_SHIFT, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_LIN_VAL_2_0, field TCA_AGC_LIN_VAL_1[19:10] (RW) |
| * |
| * LNM linear gain value for index 1, e.g. nominal value is 10^(3/20). Stored |
| * with 2 fractional bits, e.g. round([10^(3/20)]*2^2) = 6decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1 field. */ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1(base) ((XCVR_TCA_AGC_LIN_VAL_2_0_REG(base) & XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1_MASK) >> XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1_SHIFT) |
| #define XCVR_BRD_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1(base) (BME_UBFX32(&XCVR_TCA_AGC_LIN_VAL_2_0_REG(base), XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1_SHIFT, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_LIN_VAL_1 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1(base, value) (XCVR_RMW_TCA_AGC_LIN_VAL_2_0(base, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1_MASK, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1(value))) |
| #define XCVR_BWR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1(base, value) (BME_BFI32(&XCVR_TCA_AGC_LIN_VAL_2_0_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1_SHIFT), XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1_SHIFT, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_LIN_VAL_2_0, field TCA_AGC_LIN_VAL_2[29:20] (RW) |
| * |
| * LNM linear gain value for index 2, e.g. nominal value is 10^(9/20). Stored |
| * with 2 fractional bits, e.g. round([10^(9/20)]*2^2) = 11decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2 field. */ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2(base) ((XCVR_TCA_AGC_LIN_VAL_2_0_REG(base) & XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2_MASK) >> XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2_SHIFT) |
| #define XCVR_BRD_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2(base) (BME_UBFX32(&XCVR_TCA_AGC_LIN_VAL_2_0_REG(base), XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2_SHIFT, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_LIN_VAL_2 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2(base, value) (XCVR_RMW_TCA_AGC_LIN_VAL_2_0(base, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2_MASK, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2(value))) |
| #define XCVR_BWR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2(base, value) (BME_BFI32(&XCVR_TCA_AGC_LIN_VAL_2_0_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2_SHIFT), XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2_SHIFT, XCVR_TCA_AGC_LIN_VAL_2_0_TCA_AGC_LIN_VAL_2_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TCA_AGC_LIN_VAL_5_3 - TCA AGC Linear Gain Values 5..3 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TCA_AGC_LIN_VAL_5_3 - TCA AGC Linear Gain Values 5..3 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TCA_AGC_LIN_VAL_5_3 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_5_3(base) (XCVR_TCA_AGC_LIN_VAL_5_3_REG(base)) |
| #define XCVR_WR_TCA_AGC_LIN_VAL_5_3(base, value) (XCVR_TCA_AGC_LIN_VAL_5_3_REG(base) = (value)) |
| #define XCVR_RMW_TCA_AGC_LIN_VAL_5_3(base, mask, value) (XCVR_WR_TCA_AGC_LIN_VAL_5_3(base, (XCVR_RD_TCA_AGC_LIN_VAL_5_3(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TCA_AGC_LIN_VAL_5_3(base, value) (BME_OR32(&XCVR_TCA_AGC_LIN_VAL_5_3_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TCA_AGC_LIN_VAL_5_3(base, value) (BME_AND32(&XCVR_TCA_AGC_LIN_VAL_5_3_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TCA_AGC_LIN_VAL_5_3(base, value) (BME_XOR32(&XCVR_TCA_AGC_LIN_VAL_5_3_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TCA_AGC_LIN_VAL_5_3 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_LIN_VAL_5_3, field TCA_AGC_LIN_VAL_3[9:0] (RW) |
| * |
| * LNM linear gain value for index 3, e.g. nominal value is 10^(15/20). Stored |
| * with 2 fractional bits, e.g. round([10^(15/20)]*2^2) = 22decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3 field. */ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3(base) ((XCVR_TCA_AGC_LIN_VAL_5_3_REG(base) & XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3_MASK) >> XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3_SHIFT) |
| #define XCVR_BRD_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3(base) (BME_UBFX32(&XCVR_TCA_AGC_LIN_VAL_5_3_REG(base), XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3_SHIFT, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_LIN_VAL_3 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3(base, value) (XCVR_RMW_TCA_AGC_LIN_VAL_5_3(base, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3_MASK, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3(value))) |
| #define XCVR_BWR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3(base, value) (BME_BFI32(&XCVR_TCA_AGC_LIN_VAL_5_3_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3_SHIFT), XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3_SHIFT, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_3_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_LIN_VAL_5_3, field TCA_AGC_LIN_VAL_4[19:10] (RW) |
| * |
| * LNM linear gain value for index 4, e.g. nominal value is 10^(21/20). Stored |
| * with 2 fractional bits, e.g. round([10^(21/20)]*2^2) = 45decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4 field. */ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4(base) ((XCVR_TCA_AGC_LIN_VAL_5_3_REG(base) & XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4_MASK) >> XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4_SHIFT) |
| #define XCVR_BRD_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4(base) (BME_UBFX32(&XCVR_TCA_AGC_LIN_VAL_5_3_REG(base), XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4_SHIFT, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_LIN_VAL_4 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4(base, value) (XCVR_RMW_TCA_AGC_LIN_VAL_5_3(base, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4_MASK, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4(value))) |
| #define XCVR_BWR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4(base, value) (BME_BFI32(&XCVR_TCA_AGC_LIN_VAL_5_3_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4_SHIFT), XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4_SHIFT, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_LIN_VAL_5_3, field TCA_AGC_LIN_VAL_5[29:20] (RW) |
| * |
| * LNM linear gain value for index 5, e.g. nominal value is 10^(27/20). Stored |
| * with 2 fractional bits, e.g. round([10^(27/20)]*2^2) = 90decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5 field. */ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5(base) ((XCVR_TCA_AGC_LIN_VAL_5_3_REG(base) & XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5_MASK) >> XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5_SHIFT) |
| #define XCVR_BRD_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5(base) (BME_UBFX32(&XCVR_TCA_AGC_LIN_VAL_5_3_REG(base), XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5_SHIFT, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_LIN_VAL_5 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5(base, value) (XCVR_RMW_TCA_AGC_LIN_VAL_5_3(base, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5_MASK, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5(value))) |
| #define XCVR_BWR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5(base, value) (BME_BFI32(&XCVR_TCA_AGC_LIN_VAL_5_3_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5_SHIFT), XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5_SHIFT, XCVR_TCA_AGC_LIN_VAL_5_3_TCA_AGC_LIN_VAL_5_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TCA_AGC_LIN_VAL_8_6 - TCA AGC Linear Gain Values 8..6 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TCA_AGC_LIN_VAL_8_6 - TCA AGC Linear Gain Values 8..6 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TCA_AGC_LIN_VAL_8_6 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_8_6(base) (XCVR_TCA_AGC_LIN_VAL_8_6_REG(base)) |
| #define XCVR_WR_TCA_AGC_LIN_VAL_8_6(base, value) (XCVR_TCA_AGC_LIN_VAL_8_6_REG(base) = (value)) |
| #define XCVR_RMW_TCA_AGC_LIN_VAL_8_6(base, mask, value) (XCVR_WR_TCA_AGC_LIN_VAL_8_6(base, (XCVR_RD_TCA_AGC_LIN_VAL_8_6(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TCA_AGC_LIN_VAL_8_6(base, value) (BME_OR32(&XCVR_TCA_AGC_LIN_VAL_8_6_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TCA_AGC_LIN_VAL_8_6(base, value) (BME_AND32(&XCVR_TCA_AGC_LIN_VAL_8_6_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TCA_AGC_LIN_VAL_8_6(base, value) (BME_XOR32(&XCVR_TCA_AGC_LIN_VAL_8_6_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TCA_AGC_LIN_VAL_8_6 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_LIN_VAL_8_6, field TCA_AGC_LIN_VAL_6[9:0] (RW) |
| * |
| * LNM linear gain value for index 6, e.g. nominal value is 10^(33/20). Stored |
| * with 2 fractional bits, e.g. round([10^(33/20)]*2^2) = 179decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6 field. */ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6(base) ((XCVR_TCA_AGC_LIN_VAL_8_6_REG(base) & XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6_MASK) >> XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6_SHIFT) |
| #define XCVR_BRD_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6(base) (BME_UBFX32(&XCVR_TCA_AGC_LIN_VAL_8_6_REG(base), XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6_SHIFT, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_LIN_VAL_6 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6(base, value) (XCVR_RMW_TCA_AGC_LIN_VAL_8_6(base, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6_MASK, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6(value))) |
| #define XCVR_BWR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6(base, value) (BME_BFI32(&XCVR_TCA_AGC_LIN_VAL_8_6_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6_SHIFT), XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6_SHIFT, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_6_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_LIN_VAL_8_6, field TCA_AGC_LIN_VAL_7[19:10] (RW) |
| * |
| * LNM linear gain value for index 7, e.g. nominal value is 10^(39/20). Stored |
| * with 2 fractional bits, e.g. round([10^(39/20)]*2^2) = 357decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7 field. */ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7(base) ((XCVR_TCA_AGC_LIN_VAL_8_6_REG(base) & XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7_MASK) >> XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7_SHIFT) |
| #define XCVR_BRD_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7(base) (BME_UBFX32(&XCVR_TCA_AGC_LIN_VAL_8_6_REG(base), XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7_SHIFT, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_LIN_VAL_7 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7(base, value) (XCVR_RMW_TCA_AGC_LIN_VAL_8_6(base, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7_MASK, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7(value))) |
| #define XCVR_BWR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7(base, value) (BME_BFI32(&XCVR_TCA_AGC_LIN_VAL_8_6_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7_SHIFT), XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7_SHIFT, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_7_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_AGC_LIN_VAL_8_6, field TCA_AGC_LIN_VAL_8[29:20] (RW) |
| * |
| * LNM linear gain value for index 8, e.g. nominal value is 10^(45/20). Stored |
| * with 2 fractional bits, e.g. round([10^(45/20)]*2^2) = 711decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8 field. */ |
| #define XCVR_RD_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8(base) ((XCVR_TCA_AGC_LIN_VAL_8_6_REG(base) & XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8_MASK) >> XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8_SHIFT) |
| #define XCVR_BRD_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8(base) (BME_UBFX32(&XCVR_TCA_AGC_LIN_VAL_8_6_REG(base), XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8_SHIFT, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8_WIDTH)) |
| |
| /*! @brief Set the TCA_AGC_LIN_VAL_8 field to a new value. */ |
| #define XCVR_WR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8(base, value) (XCVR_RMW_TCA_AGC_LIN_VAL_8_6(base, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8_MASK, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8(value))) |
| #define XCVR_BWR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8(base, value) (BME_BFI32(&XCVR_TCA_AGC_LIN_VAL_8_6_REG(base), ((uint32_t)(value) << XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8_SHIFT), XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8_SHIFT, XCVR_TCA_AGC_LIN_VAL_8_6_TCA_AGC_LIN_VAL_8_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_BBF_RES_TUNE_LIN_VAL_3_0 - BBF Resistor Tune Values 3..0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_BBF_RES_TUNE_LIN_VAL_3_0 - BBF Resistor Tune Values 3..0 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_BBF_RES_TUNE_LIN_VAL_3_0 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_3_0(base) (XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base)) |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_3_0(base, value) (XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base) = (value)) |
| #define XCVR_RMW_BBF_RES_TUNE_LIN_VAL_3_0(base, mask, value) (XCVR_WR_BBF_RES_TUNE_LIN_VAL_3_0(base, (XCVR_RD_BBF_RES_TUNE_LIN_VAL_3_0(base) & ~(mask)) | (value))) |
| #define XCVR_SET_BBF_RES_TUNE_LIN_VAL_3_0(base, value) (BME_OR32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_BBF_RES_TUNE_LIN_VAL_3_0(base, value) (BME_AND32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_BBF_RES_TUNE_LIN_VAL_3_0(base, value) (BME_XOR32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_BBF_RES_TUNE_LIN_VAL_3_0 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_3_0, field BBF_RES_TUNE_LIN_VAL_0[7:0] (RW) |
| * |
| * BBF linear gain value for index 0 (format: 5.3). Nominal value is 10^(0/20). |
| * Stored with 3 fractional bits, e.g. round([10^(0/20)]*2^3) = 8decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_0 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_3_0(base, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_3_0, field BBF_RES_TUNE_LIN_VAL_1[15:8] (RW) |
| * |
| * BBF linear gain value for index 1 (format: 5.3). Nominal value is 10^(3/20). |
| * Stored with 3 fractional bits, e.g. round([10^(3/20)]*2^3) = 11decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_1 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_3_0(base, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_3_0, field BBF_RES_TUNE_LIN_VAL_2[23:16] (RW) |
| * |
| * BBF linear gain value for index 2 (format: 5.3). Nominal value is 10^(6/20). |
| * Stored with 3 fractional bits, e.g. round([10^(6/20)]*2^3) = 16decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_2 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_3_0(base, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_3_0, field BBF_RES_TUNE_LIN_VAL_3[31:24] (RW) |
| * |
| * BBF linear gain value for index 3 (format: 5.3). Nominal value is 10^(9/20). |
| * Stored with 3 fractional bits, e.g. round([10^(9/20)]*2^3) = 23decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_3 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_3_0(base, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_3_0_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_3_0_BBF_RES_TUNE_LIN_VAL_3_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_BBF_RES_TUNE_LIN_VAL_7_4 - BBF Resistor Tune Values 7..4 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_BBF_RES_TUNE_LIN_VAL_7_4 - BBF Resistor Tune Values 7..4 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_BBF_RES_TUNE_LIN_VAL_7_4 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_7_4(base) (XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base)) |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_7_4(base, value) (XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base) = (value)) |
| #define XCVR_RMW_BBF_RES_TUNE_LIN_VAL_7_4(base, mask, value) (XCVR_WR_BBF_RES_TUNE_LIN_VAL_7_4(base, (XCVR_RD_BBF_RES_TUNE_LIN_VAL_7_4(base) & ~(mask)) | (value))) |
| #define XCVR_SET_BBF_RES_TUNE_LIN_VAL_7_4(base, value) (BME_OR32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_BBF_RES_TUNE_LIN_VAL_7_4(base, value) (BME_AND32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_BBF_RES_TUNE_LIN_VAL_7_4(base, value) (BME_XOR32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_BBF_RES_TUNE_LIN_VAL_7_4 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_7_4, field BBF_RES_TUNE_LIN_VAL_4[7:0] (RW) |
| * |
| * BBF linear gain value for index 4 (format: 5.3). Nominal value is 10^(12/20). |
| * Stored with 3 fractional bits, e.g. round([10^(12/20)]*2^3) = 32decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_4 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_7_4(base, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_7_4, field BBF_RES_TUNE_LIN_VAL_5[15:8] (RW) |
| * |
| * BBF linear gain value for index 5 (format: 5.3). Nominal value is 10^(15/20). |
| * Stored with 3 fractional bits, e.g. round([10^(15/20)]*2^3) = 45decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_5 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_7_4(base, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_5_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_7_4, field BBF_RES_TUNE_LIN_VAL_6[23:16] (RW) |
| * |
| * BBF linear gain value for index 6 (format: 5.3). Nominal value is 10^(18/20). |
| * Stored with 3 fractional bits, e.g. round([10^(18/20)]*2^3) = 64decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_6 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_7_4(base, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_6_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_7_4, field BBF_RES_TUNE_LIN_VAL_7[31:24] (RW) |
| * |
| * BBF linear gain value for index 7 (format: 5.3). Nominal value is 10^(21/20). |
| * Stored with 3 fractional bits, e.g. round([10^(21/20)]*2^3) = 90decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_7 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_7_4(base, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_7_4_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_7_4_BBF_RES_TUNE_LIN_VAL_7_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_BBF_RES_TUNE_LIN_VAL_10_8 - BBF Resistor Tune Values 10..8 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_BBF_RES_TUNE_LIN_VAL_10_8 - BBF Resistor Tune Values 10..8 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_BBF_RES_TUNE_LIN_VAL_10_8 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_10_8(base) (XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base)) |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_10_8(base, value) (XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base) = (value)) |
| #define XCVR_RMW_BBF_RES_TUNE_LIN_VAL_10_8(base, mask, value) (XCVR_WR_BBF_RES_TUNE_LIN_VAL_10_8(base, (XCVR_RD_BBF_RES_TUNE_LIN_VAL_10_8(base) & ~(mask)) | (value))) |
| #define XCVR_SET_BBF_RES_TUNE_LIN_VAL_10_8(base, value) (BME_OR32(&XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_BBF_RES_TUNE_LIN_VAL_10_8(base, value) (BME_AND32(&XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_BBF_RES_TUNE_LIN_VAL_10_8(base, value) (BME_XOR32(&XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_BBF_RES_TUNE_LIN_VAL_10_8 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_10_8, field BBF_RES_TUNE_LIN_VAL_8[7:0] (RW) |
| * |
| * BBF linear gain value for index 8 (format: 5.3). Nominal value is 10^(24/20). |
| * Stored with 3 fractional bits, e.g. round([10^(24/20)]*2^3) = 127decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_8 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_10_8(base, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_8_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_10_8, field BBF_RES_TUNE_LIN_VAL_9[15:8] (RW) |
| * |
| * BBF linear gain value for index 9 (format: 5.3). Nominal value is 10^(27/20). |
| * Stored with 3 fractional bits, e.g. round([10^(27/20)]*2^3) = 179decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_9 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_10_8(base, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_9_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_RES_TUNE_LIN_VAL_10_8, field BBF_RES_TUNE_LIN_VAL_10[23:16] (RW) |
| * |
| * BBF linear gain value for index 10 (format: 5.3). Nominal value is |
| * 10^(30/20). Stored with 3 fractional bits, e.g. round([10^(30/20)]*2^3) = 253decimal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10 field. */ |
| #define XCVR_RD_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10(base) ((XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base) & XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10_MASK) >> XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10_SHIFT) |
| #define XCVR_BRD_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10(base) (BME_UBFX32(&XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base), XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE_LIN_VAL_10 field to a new value. */ |
| #define XCVR_WR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10(base, value) (XCVR_RMW_BBF_RES_TUNE_LIN_VAL_10_8(base, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10_MASK, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10(value))) |
| #define XCVR_BWR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10(base, value) (BME_BFI32(&XCVR_BBF_RES_TUNE_LIN_VAL_10_8_REG(base), ((uint32_t)(value) << XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10_SHIFT), XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10_SHIFT, XCVR_BBF_RES_TUNE_LIN_VAL_10_8_BBF_RES_TUNE_LIN_VAL_10_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_GAIN_TBL_03_00 - AGC Gain Tables Step 03..00 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_GAIN_TBL_03_00 - AGC Gain Tables Step 03..00 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_GAIN_TBL_03_00 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_GAIN_TBL_03_00(base) (XCVR_AGC_GAIN_TBL_03_00_REG(base)) |
| #define XCVR_WR_AGC_GAIN_TBL_03_00(base, value) (XCVR_AGC_GAIN_TBL_03_00_REG(base) = (value)) |
| #define XCVR_RMW_AGC_GAIN_TBL_03_00(base, mask, value) (XCVR_WR_AGC_GAIN_TBL_03_00(base, (XCVR_RD_AGC_GAIN_TBL_03_00(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_GAIN_TBL_03_00(base, value) (BME_OR32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_GAIN_TBL_03_00(base, value) (BME_AND32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_GAIN_TBL_03_00(base, value) (BME_XOR32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_GAIN_TBL_03_00 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_03_00, field BBF_GAIN_00[3:0] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_00 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_03_00_BBF_GAIN_00(base) ((XCVR_AGC_GAIN_TBL_03_00_REG(base) & XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_00_MASK) >> XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_00_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_03_00_BBF_GAIN_00(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_00_SHIFT, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_00_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_00 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_03_00_BBF_GAIN_00(base, value) (XCVR_RMW_AGC_GAIN_TBL_03_00(base, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_00_MASK, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_00(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_03_00_BBF_GAIN_00(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_00_SHIFT), XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_00_SHIFT, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_00_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_03_00, field LNM_GAIN_00[7:4] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_00 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_03_00_LNM_GAIN_00(base) ((XCVR_AGC_GAIN_TBL_03_00_REG(base) & XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_00_MASK) >> XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_00_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_03_00_LNM_GAIN_00(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_00_SHIFT, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_00_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_00 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_03_00_LNM_GAIN_00(base, value) (XCVR_RMW_AGC_GAIN_TBL_03_00(base, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_00_MASK, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_00(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_03_00_LNM_GAIN_00(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_00_SHIFT), XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_00_SHIFT, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_00_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_03_00, field BBF_GAIN_01[11:8] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_01 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_03_00_BBF_GAIN_01(base) ((XCVR_AGC_GAIN_TBL_03_00_REG(base) & XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_01_MASK) >> XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_01_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_03_00_BBF_GAIN_01(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_01_SHIFT, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_01_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_01 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_03_00_BBF_GAIN_01(base, value) (XCVR_RMW_AGC_GAIN_TBL_03_00(base, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_01_MASK, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_01(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_03_00_BBF_GAIN_01(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_01_SHIFT), XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_01_SHIFT, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_01_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_03_00, field LNM_GAIN_01[15:12] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_01 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_03_00_LNM_GAIN_01(base) ((XCVR_AGC_GAIN_TBL_03_00_REG(base) & XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_01_MASK) >> XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_01_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_03_00_LNM_GAIN_01(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_01_SHIFT, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_01_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_01 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_03_00_LNM_GAIN_01(base, value) (XCVR_RMW_AGC_GAIN_TBL_03_00(base, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_01_MASK, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_01(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_03_00_LNM_GAIN_01(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_01_SHIFT), XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_01_SHIFT, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_01_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_03_00, field BBF_GAIN_02[19:16] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_02 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_03_00_BBF_GAIN_02(base) ((XCVR_AGC_GAIN_TBL_03_00_REG(base) & XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_02_MASK) >> XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_02_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_03_00_BBF_GAIN_02(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_02_SHIFT, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_02_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_02 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_03_00_BBF_GAIN_02(base, value) (XCVR_RMW_AGC_GAIN_TBL_03_00(base, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_02_MASK, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_02(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_03_00_BBF_GAIN_02(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_02_SHIFT), XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_02_SHIFT, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_02_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_03_00, field LNM_GAIN_02[23:20] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_02 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_03_00_LNM_GAIN_02(base) ((XCVR_AGC_GAIN_TBL_03_00_REG(base) & XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_02_MASK) >> XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_02_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_03_00_LNM_GAIN_02(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_02_SHIFT, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_02_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_02 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_03_00_LNM_GAIN_02(base, value) (XCVR_RMW_AGC_GAIN_TBL_03_00(base, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_02_MASK, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_02(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_03_00_LNM_GAIN_02(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_02_SHIFT), XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_02_SHIFT, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_02_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_03_00, field BBF_GAIN_03[27:24] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_03 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_03_00_BBF_GAIN_03(base) ((XCVR_AGC_GAIN_TBL_03_00_REG(base) & XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_03_MASK) >> XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_03_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_03_00_BBF_GAIN_03(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_03_SHIFT, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_03_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_03 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_03_00_BBF_GAIN_03(base, value) (XCVR_RMW_AGC_GAIN_TBL_03_00(base, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_03_MASK, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_03(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_03_00_BBF_GAIN_03(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_03_SHIFT), XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_03_SHIFT, XCVR_AGC_GAIN_TBL_03_00_BBF_GAIN_03_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_03_00, field LNM_GAIN_03[31:28] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_03 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_03_00_LNM_GAIN_03(base) ((XCVR_AGC_GAIN_TBL_03_00_REG(base) & XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_03_MASK) >> XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_03_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_03_00_LNM_GAIN_03(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_03_SHIFT, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_03_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_03 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_03_00_LNM_GAIN_03(base, value) (XCVR_RMW_AGC_GAIN_TBL_03_00(base, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_03_MASK, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_03(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_03_00_LNM_GAIN_03(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_03_00_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_03_SHIFT), XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_03_SHIFT, XCVR_AGC_GAIN_TBL_03_00_LNM_GAIN_03_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_GAIN_TBL_07_04 - AGC Gain Tables Step 07..04 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_GAIN_TBL_07_04 - AGC Gain Tables Step 07..04 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_GAIN_TBL_07_04 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_GAIN_TBL_07_04(base) (XCVR_AGC_GAIN_TBL_07_04_REG(base)) |
| #define XCVR_WR_AGC_GAIN_TBL_07_04(base, value) (XCVR_AGC_GAIN_TBL_07_04_REG(base) = (value)) |
| #define XCVR_RMW_AGC_GAIN_TBL_07_04(base, mask, value) (XCVR_WR_AGC_GAIN_TBL_07_04(base, (XCVR_RD_AGC_GAIN_TBL_07_04(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_GAIN_TBL_07_04(base, value) (BME_OR32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_GAIN_TBL_07_04(base, value) (BME_AND32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_GAIN_TBL_07_04(base, value) (BME_XOR32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_GAIN_TBL_07_04 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_07_04, field BBF_GAIN_04[3:0] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_04 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_07_04_BBF_GAIN_04(base) ((XCVR_AGC_GAIN_TBL_07_04_REG(base) & XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_04_MASK) >> XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_04_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_07_04_BBF_GAIN_04(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_04_SHIFT, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_04_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_04 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_07_04_BBF_GAIN_04(base, value) (XCVR_RMW_AGC_GAIN_TBL_07_04(base, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_04_MASK, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_04(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_07_04_BBF_GAIN_04(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_04_SHIFT), XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_04_SHIFT, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_04_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_07_04, field LNM_GAIN_04[7:4] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_04 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_07_04_LNM_GAIN_04(base) ((XCVR_AGC_GAIN_TBL_07_04_REG(base) & XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_04_MASK) >> XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_04_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_07_04_LNM_GAIN_04(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_04_SHIFT, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_04_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_04 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_07_04_LNM_GAIN_04(base, value) (XCVR_RMW_AGC_GAIN_TBL_07_04(base, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_04_MASK, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_04(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_07_04_LNM_GAIN_04(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_04_SHIFT), XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_04_SHIFT, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_04_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_07_04, field BBF_GAIN_05[11:8] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_05 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_07_04_BBF_GAIN_05(base) ((XCVR_AGC_GAIN_TBL_07_04_REG(base) & XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_05_MASK) >> XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_05_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_07_04_BBF_GAIN_05(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_05_SHIFT, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_05_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_05 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_07_04_BBF_GAIN_05(base, value) (XCVR_RMW_AGC_GAIN_TBL_07_04(base, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_05_MASK, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_05(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_07_04_BBF_GAIN_05(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_05_SHIFT), XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_05_SHIFT, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_05_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_07_04, field LNM_GAIN_05[15:12] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_05 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_07_04_LNM_GAIN_05(base) ((XCVR_AGC_GAIN_TBL_07_04_REG(base) & XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_05_MASK) >> XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_05_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_07_04_LNM_GAIN_05(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_05_SHIFT, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_05_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_05 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_07_04_LNM_GAIN_05(base, value) (XCVR_RMW_AGC_GAIN_TBL_07_04(base, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_05_MASK, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_05(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_07_04_LNM_GAIN_05(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_05_SHIFT), XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_05_SHIFT, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_05_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_07_04, field BBF_GAIN_06[19:16] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_06 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_07_04_BBF_GAIN_06(base) ((XCVR_AGC_GAIN_TBL_07_04_REG(base) & XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_06_MASK) >> XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_06_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_07_04_BBF_GAIN_06(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_06_SHIFT, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_06_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_06 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_07_04_BBF_GAIN_06(base, value) (XCVR_RMW_AGC_GAIN_TBL_07_04(base, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_06_MASK, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_06(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_07_04_BBF_GAIN_06(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_06_SHIFT), XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_06_SHIFT, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_06_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_07_04, field LNM_GAIN_06[23:20] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_06 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_07_04_LNM_GAIN_06(base) ((XCVR_AGC_GAIN_TBL_07_04_REG(base) & XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_06_MASK) >> XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_06_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_07_04_LNM_GAIN_06(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_06_SHIFT, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_06_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_06 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_07_04_LNM_GAIN_06(base, value) (XCVR_RMW_AGC_GAIN_TBL_07_04(base, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_06_MASK, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_06(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_07_04_LNM_GAIN_06(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_06_SHIFT), XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_06_SHIFT, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_06_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_07_04, field BBF_GAIN_07[27:24] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_07 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_07_04_BBF_GAIN_07(base) ((XCVR_AGC_GAIN_TBL_07_04_REG(base) & XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_07_MASK) >> XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_07_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_07_04_BBF_GAIN_07(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_07_SHIFT, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_07_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_07 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_07_04_BBF_GAIN_07(base, value) (XCVR_RMW_AGC_GAIN_TBL_07_04(base, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_07_MASK, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_07(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_07_04_BBF_GAIN_07(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_07_SHIFT), XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_07_SHIFT, XCVR_AGC_GAIN_TBL_07_04_BBF_GAIN_07_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_07_04, field LNM_GAIN_07[31:28] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_07 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_07_04_LNM_GAIN_07(base) ((XCVR_AGC_GAIN_TBL_07_04_REG(base) & XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_07_MASK) >> XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_07_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_07_04_LNM_GAIN_07(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_07_SHIFT, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_07_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_07 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_07_04_LNM_GAIN_07(base, value) (XCVR_RMW_AGC_GAIN_TBL_07_04(base, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_07_MASK, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_07(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_07_04_LNM_GAIN_07(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_07_04_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_07_SHIFT), XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_07_SHIFT, XCVR_AGC_GAIN_TBL_07_04_LNM_GAIN_07_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_GAIN_TBL_11_08 - AGC Gain Tables Step 11..08 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_GAIN_TBL_11_08 - AGC Gain Tables Step 11..08 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_GAIN_TBL_11_08 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_GAIN_TBL_11_08(base) (XCVR_AGC_GAIN_TBL_11_08_REG(base)) |
| #define XCVR_WR_AGC_GAIN_TBL_11_08(base, value) (XCVR_AGC_GAIN_TBL_11_08_REG(base) = (value)) |
| #define XCVR_RMW_AGC_GAIN_TBL_11_08(base, mask, value) (XCVR_WR_AGC_GAIN_TBL_11_08(base, (XCVR_RD_AGC_GAIN_TBL_11_08(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_GAIN_TBL_11_08(base, value) (BME_OR32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_GAIN_TBL_11_08(base, value) (BME_AND32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_GAIN_TBL_11_08(base, value) (BME_XOR32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_GAIN_TBL_11_08 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_11_08, field BBF_GAIN_08[3:0] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_08 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_11_08_BBF_GAIN_08(base) ((XCVR_AGC_GAIN_TBL_11_08_REG(base) & XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_08_MASK) >> XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_08_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_11_08_BBF_GAIN_08(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_08_SHIFT, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_08_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_08 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_11_08_BBF_GAIN_08(base, value) (XCVR_RMW_AGC_GAIN_TBL_11_08(base, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_08_MASK, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_08(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_11_08_BBF_GAIN_08(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_08_SHIFT), XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_08_SHIFT, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_08_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_11_08, field LNM_GAIN_08[7:4] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_08 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_11_08_LNM_GAIN_08(base) ((XCVR_AGC_GAIN_TBL_11_08_REG(base) & XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_08_MASK) >> XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_08_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_11_08_LNM_GAIN_08(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_08_SHIFT, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_08_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_08 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_11_08_LNM_GAIN_08(base, value) (XCVR_RMW_AGC_GAIN_TBL_11_08(base, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_08_MASK, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_08(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_11_08_LNM_GAIN_08(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_08_SHIFT), XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_08_SHIFT, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_08_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_11_08, field BBF_GAIN_09[11:8] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_09 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_11_08_BBF_GAIN_09(base) ((XCVR_AGC_GAIN_TBL_11_08_REG(base) & XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_09_MASK) >> XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_09_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_11_08_BBF_GAIN_09(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_09_SHIFT, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_09_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_09 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_11_08_BBF_GAIN_09(base, value) (XCVR_RMW_AGC_GAIN_TBL_11_08(base, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_09_MASK, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_09(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_11_08_BBF_GAIN_09(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_09_SHIFT), XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_09_SHIFT, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_09_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_11_08, field LNM_GAIN_09[15:12] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_09 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_11_08_LNM_GAIN_09(base) ((XCVR_AGC_GAIN_TBL_11_08_REG(base) & XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_09_MASK) >> XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_09_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_11_08_LNM_GAIN_09(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_09_SHIFT, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_09_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_09 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_11_08_LNM_GAIN_09(base, value) (XCVR_RMW_AGC_GAIN_TBL_11_08(base, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_09_MASK, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_09(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_11_08_LNM_GAIN_09(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_09_SHIFT), XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_09_SHIFT, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_09_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_11_08, field BBF_GAIN_10[19:16] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_10 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_11_08_BBF_GAIN_10(base) ((XCVR_AGC_GAIN_TBL_11_08_REG(base) & XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_10_MASK) >> XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_10_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_11_08_BBF_GAIN_10(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_10_SHIFT, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_10_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_10 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_11_08_BBF_GAIN_10(base, value) (XCVR_RMW_AGC_GAIN_TBL_11_08(base, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_10_MASK, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_10(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_11_08_BBF_GAIN_10(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_10_SHIFT), XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_10_SHIFT, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_10_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_11_08, field LNM_GAIN_10[23:20] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_10 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_11_08_LNM_GAIN_10(base) ((XCVR_AGC_GAIN_TBL_11_08_REG(base) & XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_10_MASK) >> XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_10_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_11_08_LNM_GAIN_10(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_10_SHIFT, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_10_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_10 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_11_08_LNM_GAIN_10(base, value) (XCVR_RMW_AGC_GAIN_TBL_11_08(base, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_10_MASK, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_10(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_11_08_LNM_GAIN_10(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_10_SHIFT), XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_10_SHIFT, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_10_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_11_08, field BBF_GAIN_11[27:24] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_11 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_11_08_BBF_GAIN_11(base) ((XCVR_AGC_GAIN_TBL_11_08_REG(base) & XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_11_MASK) >> XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_11_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_11_08_BBF_GAIN_11(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_11_SHIFT, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_11_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_11 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_11_08_BBF_GAIN_11(base, value) (XCVR_RMW_AGC_GAIN_TBL_11_08(base, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_11_MASK, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_11(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_11_08_BBF_GAIN_11(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_11_SHIFT), XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_11_SHIFT, XCVR_AGC_GAIN_TBL_11_08_BBF_GAIN_11_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_11_08, field LNM_GAIN_11[31:28] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_11 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_11_08_LNM_GAIN_11(base) ((XCVR_AGC_GAIN_TBL_11_08_REG(base) & XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_11_MASK) >> XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_11_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_11_08_LNM_GAIN_11(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_11_SHIFT, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_11_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_11 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_11_08_LNM_GAIN_11(base, value) (XCVR_RMW_AGC_GAIN_TBL_11_08(base, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_11_MASK, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_11(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_11_08_LNM_GAIN_11(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_11_08_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_11_SHIFT), XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_11_SHIFT, XCVR_AGC_GAIN_TBL_11_08_LNM_GAIN_11_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_GAIN_TBL_15_12 - AGC Gain Tables Step 15..12 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_GAIN_TBL_15_12 - AGC Gain Tables Step 15..12 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_GAIN_TBL_15_12 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_GAIN_TBL_15_12(base) (XCVR_AGC_GAIN_TBL_15_12_REG(base)) |
| #define XCVR_WR_AGC_GAIN_TBL_15_12(base, value) (XCVR_AGC_GAIN_TBL_15_12_REG(base) = (value)) |
| #define XCVR_RMW_AGC_GAIN_TBL_15_12(base, mask, value) (XCVR_WR_AGC_GAIN_TBL_15_12(base, (XCVR_RD_AGC_GAIN_TBL_15_12(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_GAIN_TBL_15_12(base, value) (BME_OR32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_GAIN_TBL_15_12(base, value) (BME_AND32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_GAIN_TBL_15_12(base, value) (BME_XOR32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_GAIN_TBL_15_12 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_15_12, field BBF_GAIN_12[3:0] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_12 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_15_12_BBF_GAIN_12(base) ((XCVR_AGC_GAIN_TBL_15_12_REG(base) & XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_12_MASK) >> XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_12_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_15_12_BBF_GAIN_12(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_12_SHIFT, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_12_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_12 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_15_12_BBF_GAIN_12(base, value) (XCVR_RMW_AGC_GAIN_TBL_15_12(base, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_12_MASK, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_12(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_15_12_BBF_GAIN_12(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_12_SHIFT), XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_12_SHIFT, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_12_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_15_12, field LNM_GAIN_12[7:4] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_12 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_15_12_LNM_GAIN_12(base) ((XCVR_AGC_GAIN_TBL_15_12_REG(base) & XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_12_MASK) >> XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_12_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_15_12_LNM_GAIN_12(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_12_SHIFT, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_12_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_12 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_15_12_LNM_GAIN_12(base, value) (XCVR_RMW_AGC_GAIN_TBL_15_12(base, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_12_MASK, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_12(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_15_12_LNM_GAIN_12(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_12_SHIFT), XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_12_SHIFT, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_12_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_15_12, field BBF_GAIN_13[11:8] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_13 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_15_12_BBF_GAIN_13(base) ((XCVR_AGC_GAIN_TBL_15_12_REG(base) & XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_13_MASK) >> XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_13_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_15_12_BBF_GAIN_13(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_13_SHIFT, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_13_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_13 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_15_12_BBF_GAIN_13(base, value) (XCVR_RMW_AGC_GAIN_TBL_15_12(base, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_13_MASK, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_13(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_15_12_BBF_GAIN_13(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_13_SHIFT), XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_13_SHIFT, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_13_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_15_12, field LNM_GAIN_13[15:12] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_13 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_15_12_LNM_GAIN_13(base) ((XCVR_AGC_GAIN_TBL_15_12_REG(base) & XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_13_MASK) >> XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_13_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_15_12_LNM_GAIN_13(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_13_SHIFT, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_13_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_13 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_15_12_LNM_GAIN_13(base, value) (XCVR_RMW_AGC_GAIN_TBL_15_12(base, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_13_MASK, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_13(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_15_12_LNM_GAIN_13(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_13_SHIFT), XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_13_SHIFT, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_13_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_15_12, field BBF_GAIN_14[19:16] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_14 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_15_12_BBF_GAIN_14(base) ((XCVR_AGC_GAIN_TBL_15_12_REG(base) & XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_14_MASK) >> XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_14_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_15_12_BBF_GAIN_14(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_14_SHIFT, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_14_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_14 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_15_12_BBF_GAIN_14(base, value) (XCVR_RMW_AGC_GAIN_TBL_15_12(base, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_14_MASK, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_14(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_15_12_BBF_GAIN_14(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_14_SHIFT), XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_14_SHIFT, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_14_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_15_12, field LNM_GAIN_14[23:20] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_14 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_15_12_LNM_GAIN_14(base) ((XCVR_AGC_GAIN_TBL_15_12_REG(base) & XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_14_MASK) >> XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_14_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_15_12_LNM_GAIN_14(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_14_SHIFT, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_14_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_14 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_15_12_LNM_GAIN_14(base, value) (XCVR_RMW_AGC_GAIN_TBL_15_12(base, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_14_MASK, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_14(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_15_12_LNM_GAIN_14(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_14_SHIFT), XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_14_SHIFT, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_14_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_15_12, field BBF_GAIN_15[27:24] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_15 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_15_12_BBF_GAIN_15(base) ((XCVR_AGC_GAIN_TBL_15_12_REG(base) & XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_15_MASK) >> XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_15_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_15_12_BBF_GAIN_15(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_15_SHIFT, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_15_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_15 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_15_12_BBF_GAIN_15(base, value) (XCVR_RMW_AGC_GAIN_TBL_15_12(base, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_15_MASK, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_15(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_15_12_BBF_GAIN_15(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_15_SHIFT), XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_15_SHIFT, XCVR_AGC_GAIN_TBL_15_12_BBF_GAIN_15_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_15_12, field LNM_GAIN_15[31:28] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_15 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_15_12_LNM_GAIN_15(base) ((XCVR_AGC_GAIN_TBL_15_12_REG(base) & XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_15_MASK) >> XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_15_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_15_12_LNM_GAIN_15(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_15_SHIFT, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_15_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_15 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_15_12_LNM_GAIN_15(base, value) (XCVR_RMW_AGC_GAIN_TBL_15_12(base, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_15_MASK, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_15(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_15_12_LNM_GAIN_15(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_15_12_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_15_SHIFT), XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_15_SHIFT, XCVR_AGC_GAIN_TBL_15_12_LNM_GAIN_15_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_GAIN_TBL_19_16 - AGC Gain Tables Step 19..16 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_GAIN_TBL_19_16 - AGC Gain Tables Step 19..16 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_GAIN_TBL_19_16 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_GAIN_TBL_19_16(base) (XCVR_AGC_GAIN_TBL_19_16_REG(base)) |
| #define XCVR_WR_AGC_GAIN_TBL_19_16(base, value) (XCVR_AGC_GAIN_TBL_19_16_REG(base) = (value)) |
| #define XCVR_RMW_AGC_GAIN_TBL_19_16(base, mask, value) (XCVR_WR_AGC_GAIN_TBL_19_16(base, (XCVR_RD_AGC_GAIN_TBL_19_16(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_GAIN_TBL_19_16(base, value) (BME_OR32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_GAIN_TBL_19_16(base, value) (BME_AND32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_GAIN_TBL_19_16(base, value) (BME_XOR32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_GAIN_TBL_19_16 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_19_16, field BBF_GAIN_16[3:0] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_16 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_19_16_BBF_GAIN_16(base) ((XCVR_AGC_GAIN_TBL_19_16_REG(base) & XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_16_MASK) >> XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_16_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_19_16_BBF_GAIN_16(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_16_SHIFT, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_16_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_16 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_19_16_BBF_GAIN_16(base, value) (XCVR_RMW_AGC_GAIN_TBL_19_16(base, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_16_MASK, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_16(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_19_16_BBF_GAIN_16(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_16_SHIFT), XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_16_SHIFT, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_16_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_19_16, field LNM_GAIN_16[7:4] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_16 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_19_16_LNM_GAIN_16(base) ((XCVR_AGC_GAIN_TBL_19_16_REG(base) & XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_16_MASK) >> XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_16_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_19_16_LNM_GAIN_16(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_16_SHIFT, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_16_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_16 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_19_16_LNM_GAIN_16(base, value) (XCVR_RMW_AGC_GAIN_TBL_19_16(base, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_16_MASK, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_16(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_19_16_LNM_GAIN_16(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_16_SHIFT), XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_16_SHIFT, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_16_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_19_16, field BBF_GAIN_17[11:8] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_17 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_19_16_BBF_GAIN_17(base) ((XCVR_AGC_GAIN_TBL_19_16_REG(base) & XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_17_MASK) >> XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_17_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_19_16_BBF_GAIN_17(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_17_SHIFT, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_17_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_17 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_19_16_BBF_GAIN_17(base, value) (XCVR_RMW_AGC_GAIN_TBL_19_16(base, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_17_MASK, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_17(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_19_16_BBF_GAIN_17(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_17_SHIFT), XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_17_SHIFT, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_17_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_19_16, field LNM_GAIN_17[15:12] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_17 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_19_16_LNM_GAIN_17(base) ((XCVR_AGC_GAIN_TBL_19_16_REG(base) & XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_17_MASK) >> XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_17_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_19_16_LNM_GAIN_17(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_17_SHIFT, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_17_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_17 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_19_16_LNM_GAIN_17(base, value) (XCVR_RMW_AGC_GAIN_TBL_19_16(base, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_17_MASK, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_17(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_19_16_LNM_GAIN_17(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_17_SHIFT), XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_17_SHIFT, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_17_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_19_16, field BBF_GAIN_18[19:16] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_18 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_19_16_BBF_GAIN_18(base) ((XCVR_AGC_GAIN_TBL_19_16_REG(base) & XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_18_MASK) >> XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_18_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_19_16_BBF_GAIN_18(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_18_SHIFT, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_18_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_18 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_19_16_BBF_GAIN_18(base, value) (XCVR_RMW_AGC_GAIN_TBL_19_16(base, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_18_MASK, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_18(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_19_16_BBF_GAIN_18(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_18_SHIFT), XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_18_SHIFT, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_18_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_19_16, field LNM_GAIN_18[23:20] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_18 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_19_16_LNM_GAIN_18(base) ((XCVR_AGC_GAIN_TBL_19_16_REG(base) & XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_18_MASK) >> XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_18_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_19_16_LNM_GAIN_18(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_18_SHIFT, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_18_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_18 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_19_16_LNM_GAIN_18(base, value) (XCVR_RMW_AGC_GAIN_TBL_19_16(base, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_18_MASK, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_18(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_19_16_LNM_GAIN_18(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_18_SHIFT), XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_18_SHIFT, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_18_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_19_16, field BBF_GAIN_19[27:24] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_19 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_19_16_BBF_GAIN_19(base) ((XCVR_AGC_GAIN_TBL_19_16_REG(base) & XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_19_MASK) >> XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_19_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_19_16_BBF_GAIN_19(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_19_SHIFT, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_19_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_19 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_19_16_BBF_GAIN_19(base, value) (XCVR_RMW_AGC_GAIN_TBL_19_16(base, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_19_MASK, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_19(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_19_16_BBF_GAIN_19(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_19_SHIFT), XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_19_SHIFT, XCVR_AGC_GAIN_TBL_19_16_BBF_GAIN_19_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_19_16, field LNM_GAIN_19[31:28] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_19 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_19_16_LNM_GAIN_19(base) ((XCVR_AGC_GAIN_TBL_19_16_REG(base) & XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_19_MASK) >> XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_19_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_19_16_LNM_GAIN_19(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_19_SHIFT, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_19_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_19 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_19_16_LNM_GAIN_19(base, value) (XCVR_RMW_AGC_GAIN_TBL_19_16(base, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_19_MASK, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_19(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_19_16_LNM_GAIN_19(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_19_16_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_19_SHIFT), XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_19_SHIFT, XCVR_AGC_GAIN_TBL_19_16_LNM_GAIN_19_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_GAIN_TBL_23_20 - AGC Gain Tables Step 23..20 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_GAIN_TBL_23_20 - AGC Gain Tables Step 23..20 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_GAIN_TBL_23_20 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_GAIN_TBL_23_20(base) (XCVR_AGC_GAIN_TBL_23_20_REG(base)) |
| #define XCVR_WR_AGC_GAIN_TBL_23_20(base, value) (XCVR_AGC_GAIN_TBL_23_20_REG(base) = (value)) |
| #define XCVR_RMW_AGC_GAIN_TBL_23_20(base, mask, value) (XCVR_WR_AGC_GAIN_TBL_23_20(base, (XCVR_RD_AGC_GAIN_TBL_23_20(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_GAIN_TBL_23_20(base, value) (BME_OR32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_GAIN_TBL_23_20(base, value) (BME_AND32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_GAIN_TBL_23_20(base, value) (BME_XOR32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_GAIN_TBL_23_20 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_23_20, field BBF_GAIN_20[3:0] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_20 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_23_20_BBF_GAIN_20(base) ((XCVR_AGC_GAIN_TBL_23_20_REG(base) & XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_20_MASK) >> XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_20_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_23_20_BBF_GAIN_20(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_20_SHIFT, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_20_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_20 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_23_20_BBF_GAIN_20(base, value) (XCVR_RMW_AGC_GAIN_TBL_23_20(base, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_20_MASK, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_20(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_23_20_BBF_GAIN_20(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_20_SHIFT), XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_20_SHIFT, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_20_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_23_20, field LNM_GAIN_20[7:4] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_20 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_23_20_LNM_GAIN_20(base) ((XCVR_AGC_GAIN_TBL_23_20_REG(base) & XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_20_MASK) >> XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_20_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_23_20_LNM_GAIN_20(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_20_SHIFT, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_20_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_20 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_23_20_LNM_GAIN_20(base, value) (XCVR_RMW_AGC_GAIN_TBL_23_20(base, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_20_MASK, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_20(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_23_20_LNM_GAIN_20(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_20_SHIFT), XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_20_SHIFT, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_20_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_23_20, field BBF_GAIN_21[11:8] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_21 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_23_20_BBF_GAIN_21(base) ((XCVR_AGC_GAIN_TBL_23_20_REG(base) & XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_21_MASK) >> XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_21_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_23_20_BBF_GAIN_21(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_21_SHIFT, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_21_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_21 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_23_20_BBF_GAIN_21(base, value) (XCVR_RMW_AGC_GAIN_TBL_23_20(base, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_21_MASK, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_21(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_23_20_BBF_GAIN_21(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_21_SHIFT), XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_21_SHIFT, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_21_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_23_20, field LNM_GAIN_21[15:12] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_21 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_23_20_LNM_GAIN_21(base) ((XCVR_AGC_GAIN_TBL_23_20_REG(base) & XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_21_MASK) >> XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_21_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_23_20_LNM_GAIN_21(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_21_SHIFT, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_21_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_21 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_23_20_LNM_GAIN_21(base, value) (XCVR_RMW_AGC_GAIN_TBL_23_20(base, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_21_MASK, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_21(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_23_20_LNM_GAIN_21(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_21_SHIFT), XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_21_SHIFT, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_21_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_23_20, field BBF_GAIN_22[19:16] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_22 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_23_20_BBF_GAIN_22(base) ((XCVR_AGC_GAIN_TBL_23_20_REG(base) & XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_22_MASK) >> XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_22_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_23_20_BBF_GAIN_22(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_22_SHIFT, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_22_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_22 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_23_20_BBF_GAIN_22(base, value) (XCVR_RMW_AGC_GAIN_TBL_23_20(base, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_22_MASK, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_22(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_23_20_BBF_GAIN_22(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_22_SHIFT), XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_22_SHIFT, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_22_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_23_20, field LNM_GAIN_22[23:20] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_22 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_23_20_LNM_GAIN_22(base) ((XCVR_AGC_GAIN_TBL_23_20_REG(base) & XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_22_MASK) >> XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_22_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_23_20_LNM_GAIN_22(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_22_SHIFT, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_22_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_22 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_23_20_LNM_GAIN_22(base, value) (XCVR_RMW_AGC_GAIN_TBL_23_20(base, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_22_MASK, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_22(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_23_20_LNM_GAIN_22(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_22_SHIFT), XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_22_SHIFT, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_22_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_23_20, field BBF_GAIN_23[27:24] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_23 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_23_20_BBF_GAIN_23(base) ((XCVR_AGC_GAIN_TBL_23_20_REG(base) & XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_23_MASK) >> XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_23_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_23_20_BBF_GAIN_23(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_23_SHIFT, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_23_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_23 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_23_20_BBF_GAIN_23(base, value) (XCVR_RMW_AGC_GAIN_TBL_23_20(base, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_23_MASK, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_23(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_23_20_BBF_GAIN_23(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_23_SHIFT), XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_23_SHIFT, XCVR_AGC_GAIN_TBL_23_20_BBF_GAIN_23_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_23_20, field LNM_GAIN_23[31:28] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_23 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_23_20_LNM_GAIN_23(base) ((XCVR_AGC_GAIN_TBL_23_20_REG(base) & XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_23_MASK) >> XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_23_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_23_20_LNM_GAIN_23(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_23_SHIFT, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_23_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_23 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_23_20_LNM_GAIN_23(base, value) (XCVR_RMW_AGC_GAIN_TBL_23_20(base, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_23_MASK, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_23(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_23_20_LNM_GAIN_23(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_23_20_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_23_SHIFT), XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_23_SHIFT, XCVR_AGC_GAIN_TBL_23_20_LNM_GAIN_23_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_AGC_GAIN_TBL_26_24 - AGC Gain Tables Step 26..24 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_AGC_GAIN_TBL_26_24 - AGC Gain Tables Step 26..24 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_AGC_GAIN_TBL_26_24 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_AGC_GAIN_TBL_26_24(base) (XCVR_AGC_GAIN_TBL_26_24_REG(base)) |
| #define XCVR_WR_AGC_GAIN_TBL_26_24(base, value) (XCVR_AGC_GAIN_TBL_26_24_REG(base) = (value)) |
| #define XCVR_RMW_AGC_GAIN_TBL_26_24(base, mask, value) (XCVR_WR_AGC_GAIN_TBL_26_24(base, (XCVR_RD_AGC_GAIN_TBL_26_24(base) & ~(mask)) | (value))) |
| #define XCVR_SET_AGC_GAIN_TBL_26_24(base, value) (BME_OR32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_AGC_GAIN_TBL_26_24(base, value) (BME_AND32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_AGC_GAIN_TBL_26_24(base, value) (BME_XOR32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_AGC_GAIN_TBL_26_24 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_26_24, field BBF_GAIN_24[3:0] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_24 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_26_24_BBF_GAIN_24(base) ((XCVR_AGC_GAIN_TBL_26_24_REG(base) & XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_24_MASK) >> XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_24_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_26_24_BBF_GAIN_24(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_24_SHIFT, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_24_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_24 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_26_24_BBF_GAIN_24(base, value) (XCVR_RMW_AGC_GAIN_TBL_26_24(base, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_24_MASK, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_24(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_26_24_BBF_GAIN_24(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_24_SHIFT), XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_24_SHIFT, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_24_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_26_24, field LNM_GAIN_24[7:4] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_24 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_26_24_LNM_GAIN_24(base) ((XCVR_AGC_GAIN_TBL_26_24_REG(base) & XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_24_MASK) >> XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_24_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_26_24_LNM_GAIN_24(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_24_SHIFT, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_24_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_24 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_26_24_LNM_GAIN_24(base, value) (XCVR_RMW_AGC_GAIN_TBL_26_24(base, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_24_MASK, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_24(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_26_24_LNM_GAIN_24(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_24_SHIFT), XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_24_SHIFT, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_24_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_26_24, field BBF_GAIN_25[11:8] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_25 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_26_24_BBF_GAIN_25(base) ((XCVR_AGC_GAIN_TBL_26_24_REG(base) & XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_25_MASK) >> XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_25_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_26_24_BBF_GAIN_25(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_25_SHIFT, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_25_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_25 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_26_24_BBF_GAIN_25(base, value) (XCVR_RMW_AGC_GAIN_TBL_26_24(base, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_25_MASK, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_25(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_26_24_BBF_GAIN_25(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_25_SHIFT), XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_25_SHIFT, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_25_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_26_24, field LNM_GAIN_25[15:12] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_25 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_26_24_LNM_GAIN_25(base) ((XCVR_AGC_GAIN_TBL_26_24_REG(base) & XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_25_MASK) >> XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_25_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_26_24_LNM_GAIN_25(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_25_SHIFT, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_25_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_25 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_26_24_LNM_GAIN_25(base, value) (XCVR_RMW_AGC_GAIN_TBL_26_24(base, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_25_MASK, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_25(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_26_24_LNM_GAIN_25(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_25_SHIFT), XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_25_SHIFT, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_25_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_26_24, field BBF_GAIN_26[19:16] (RW) |
| * |
| * BBF GAIN 0=0 dB, 1=3 dB, 2=6 dB … A=30 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_26 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_26_24_BBF_GAIN_26(base) ((XCVR_AGC_GAIN_TBL_26_24_REG(base) & XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_26_MASK) >> XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_26_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_26_24_BBF_GAIN_26(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_26_SHIFT, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_26_WIDTH)) |
| |
| /*! @brief Set the BBF_GAIN_26 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_26_24_BBF_GAIN_26(base, value) (XCVR_RMW_AGC_GAIN_TBL_26_24(base, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_26_MASK, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_26(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_26_24_BBF_GAIN_26(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_26_SHIFT), XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_26_SHIFT, XCVR_AGC_GAIN_TBL_26_24_BBF_GAIN_26_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_AGC_GAIN_TBL_26_24, field LNM_GAIN_26[23:20] (RW) |
| * |
| * LNM GAIN 0=-3 dB, 1=3 dB, 2=9 dB … 8=45 dB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_26 field. */ |
| #define XCVR_RD_AGC_GAIN_TBL_26_24_LNM_GAIN_26(base) ((XCVR_AGC_GAIN_TBL_26_24_REG(base) & XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_26_MASK) >> XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_26_SHIFT) |
| #define XCVR_BRD_AGC_GAIN_TBL_26_24_LNM_GAIN_26(base) (BME_UBFX32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_26_SHIFT, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_26_WIDTH)) |
| |
| /*! @brief Set the LNM_GAIN_26 field to a new value. */ |
| #define XCVR_WR_AGC_GAIN_TBL_26_24_LNM_GAIN_26(base, value) (XCVR_RMW_AGC_GAIN_TBL_26_24(base, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_26_MASK, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_26(value))) |
| #define XCVR_BWR_AGC_GAIN_TBL_26_24_LNM_GAIN_26(base, value) (BME_BFI32(&XCVR_AGC_GAIN_TBL_26_24_REG(base), ((uint32_t)(value) << XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_26_SHIFT), XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_26_SHIFT, XCVR_AGC_GAIN_TBL_26_24_LNM_GAIN_26_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_OFFSET_ - DCOC Offset |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_OFFSET_ - DCOC Offset (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_OFFSET_ register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_OFFSET_(base, index) (XCVR_DCOC_OFFSET__REG(base, index)) |
| #define XCVR_WR_DCOC_OFFSET_(base, index, value) (XCVR_DCOC_OFFSET__REG(base, index) = (value)) |
| #define XCVR_RMW_DCOC_OFFSET_(base, index, mask, value) (XCVR_WR_DCOC_OFFSET_(base, index, (XCVR_RD_DCOC_OFFSET_(base, index) & ~(mask)) | (value))) |
| #define XCVR_SET_DCOC_OFFSET_(base, index, value) (BME_OR32(&XCVR_DCOC_OFFSET__REG(base, index), (uint32_t)(value))) |
| #define XCVR_CLR_DCOC_OFFSET_(base, index, value) (BME_AND32(&XCVR_DCOC_OFFSET__REG(base, index), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DCOC_OFFSET_(base, index, value) (BME_XOR32(&XCVR_DCOC_OFFSET__REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_OFFSET_ bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_OFFSET_, field DCOC_BBF_OFFSET_I[5:0] (RW) |
| * |
| * DCOC BBF I-channel offset. When RX_DCOC_CAL_EN=1, this table is generated by |
| * the DCOC during calibration. When RX_DCOC_CAL_EN=0, this table may optionally |
| * be written by software. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_I field. */ |
| #define XCVR_RD_DCOC_OFFSET__DCOC_BBF_OFFSET_I(base, index) ((XCVR_DCOC_OFFSET__REG(base, index) & XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_I_MASK) >> XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_I_SHIFT) |
| #define XCVR_BRD_DCOC_OFFSET__DCOC_BBF_OFFSET_I(base, index) (BME_UBFX32(&XCVR_DCOC_OFFSET__REG(base, index), XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_I_SHIFT, XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_I_WIDTH)) |
| |
| /*! @brief Set the DCOC_BBF_OFFSET_I field to a new value. */ |
| #define XCVR_WR_DCOC_OFFSET__DCOC_BBF_OFFSET_I(base, index, value) (XCVR_RMW_DCOC_OFFSET_(base, index, XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_I_MASK, XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_I(value))) |
| #define XCVR_BWR_DCOC_OFFSET__DCOC_BBF_OFFSET_I(base, index, value) (BME_BFI32(&XCVR_DCOC_OFFSET__REG(base, index), ((uint32_t)(value) << XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_I_SHIFT), XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_I_SHIFT, XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_OFFSET_, field DCOC_BBF_OFFSET_Q[13:8] (RW) |
| * |
| * DCOC BBF Q-channel offset. When RX_DCOC_CAL_EN=1, this table is generated by |
| * the DCOC during calibration. When RX_DCOC_CAL_EN=0, this table may optionally |
| * be written by software. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q field. */ |
| #define XCVR_RD_DCOC_OFFSET__DCOC_BBF_OFFSET_Q(base, index) ((XCVR_DCOC_OFFSET__REG(base, index) & XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q_MASK) >> XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q_SHIFT) |
| #define XCVR_BRD_DCOC_OFFSET__DCOC_BBF_OFFSET_Q(base, index) (BME_UBFX32(&XCVR_DCOC_OFFSET__REG(base, index), XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q_SHIFT, XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q_WIDTH)) |
| |
| /*! @brief Set the DCOC_BBF_OFFSET_Q field to a new value. */ |
| #define XCVR_WR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q(base, index, value) (XCVR_RMW_DCOC_OFFSET_(base, index, XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q_MASK, XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q(value))) |
| #define XCVR_BWR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q(base, index, value) (BME_BFI32(&XCVR_DCOC_OFFSET__REG(base, index), ((uint32_t)(value) << XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q_SHIFT), XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q_SHIFT, XCVR_DCOC_OFFSET__DCOC_BBF_OFFSET_Q_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_OFFSET_, field DCOC_TZA_OFFSET_I[23:16] (RW) |
| * |
| * DCOC TZA I-channel offset. When RX_DCOC_CAL_EN=1, this table is generated by |
| * the DCOC during calibration. When RX_DCOC_CAL_EN=0, this table may optionally |
| * be written by software. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_I field. */ |
| #define XCVR_RD_DCOC_OFFSET__DCOC_TZA_OFFSET_I(base, index) ((XCVR_DCOC_OFFSET__REG(base, index) & XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_I_MASK) >> XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_I_SHIFT) |
| #define XCVR_BRD_DCOC_OFFSET__DCOC_TZA_OFFSET_I(base, index) (BME_UBFX32(&XCVR_DCOC_OFFSET__REG(base, index), XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_I_SHIFT, XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_I_WIDTH)) |
| |
| /*! @brief Set the DCOC_TZA_OFFSET_I field to a new value. */ |
| #define XCVR_WR_DCOC_OFFSET__DCOC_TZA_OFFSET_I(base, index, value) (XCVR_RMW_DCOC_OFFSET_(base, index, XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_I_MASK, XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_I(value))) |
| #define XCVR_BWR_DCOC_OFFSET__DCOC_TZA_OFFSET_I(base, index, value) (BME_BFI32(&XCVR_DCOC_OFFSET__REG(base, index), ((uint32_t)(value) << XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_I_SHIFT), XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_I_SHIFT, XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_OFFSET_, field DCOC_TZA_OFFSET_Q[31:24] (RW) |
| * |
| * DCOC TZA Q-channel offset. When RX_DCOC_CAL_EN=1, this table is generated by |
| * the DCOC during calibration. When RX_DCOC_CAL_EN=0, this table may optionally |
| * be written by software. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q field. */ |
| #define XCVR_RD_DCOC_OFFSET__DCOC_TZA_OFFSET_Q(base, index) ((XCVR_DCOC_OFFSET__REG(base, index) & XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q_MASK) >> XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q_SHIFT) |
| #define XCVR_BRD_DCOC_OFFSET__DCOC_TZA_OFFSET_Q(base, index) (BME_UBFX32(&XCVR_DCOC_OFFSET__REG(base, index), XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q_SHIFT, XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q_WIDTH)) |
| |
| /*! @brief Set the DCOC_TZA_OFFSET_Q field to a new value. */ |
| #define XCVR_WR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q(base, index, value) (XCVR_RMW_DCOC_OFFSET_(base, index, XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q_MASK, XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q(value))) |
| #define XCVR_BWR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q(base, index, value) (BME_BFI32(&XCVR_DCOC_OFFSET__REG(base, index), ((uint32_t)(value) << XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q_SHIFT), XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q_SHIFT, XCVR_DCOC_OFFSET__DCOC_TZA_OFFSET_Q_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_TZA_STEP_ - DCOC TZA DC step |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_TZA_STEP_ - DCOC TZA DC step (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_TZA_STEP_ register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_TZA_STEP_(base, index) (XCVR_DCOC_TZA_STEP__REG(base, index)) |
| #define XCVR_WR_DCOC_TZA_STEP_(base, index, value) (XCVR_DCOC_TZA_STEP__REG(base, index) = (value)) |
| #define XCVR_RMW_DCOC_TZA_STEP_(base, index, mask, value) (XCVR_WR_DCOC_TZA_STEP_(base, index, (XCVR_RD_DCOC_TZA_STEP_(base, index) & ~(mask)) | (value))) |
| #define XCVR_SET_DCOC_TZA_STEP_(base, index, value) (BME_OR32(&XCVR_DCOC_TZA_STEP__REG(base, index), (uint32_t)(value))) |
| #define XCVR_CLR_DCOC_TZA_STEP_(base, index, value) (BME_AND32(&XCVR_DCOC_TZA_STEP__REG(base, index), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DCOC_TZA_STEP_(base, index, value) (BME_XOR32(&XCVR_DCOC_TZA_STEP__REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_TZA_STEP_ bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_TZA_STEP_, field DCOC_TZA_STEP_RCP[12:0] (RW) |
| * |
| * DCOC TZA Reciprocal of Step Size, (format: [00]13). This the reciprocal of |
| * the DCOC_TZA_STEP_GAIN. E.g., for DCOC_TZA_STEP_0, it's nominal value is |
| * 1.0/9.209 or 0.10859. The value is stored as a 15bit fractional value (though only 13 |
| * bits are programmed), so use round(0.10859*2^15) = 3588decimal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP field. */ |
| #define XCVR_RD_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP(base, index) ((XCVR_DCOC_TZA_STEP__REG(base, index) & XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP_MASK) >> XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP_SHIFT) |
| #define XCVR_BRD_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP(base, index) (BME_UBFX32(&XCVR_DCOC_TZA_STEP__REG(base, index), XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP_SHIFT, XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP_WIDTH)) |
| |
| /*! @brief Set the DCOC_TZA_STEP_RCP field to a new value. */ |
| #define XCVR_WR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP(base, index, value) (XCVR_RMW_DCOC_TZA_STEP_(base, index, XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP_MASK, XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP(value))) |
| #define XCVR_BWR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP(base, index, value) (BME_BFI32(&XCVR_DCOC_TZA_STEP__REG(base, index), ((uint32_t)(value) << XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP_SHIFT), XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP_SHIFT, XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_RCP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_TZA_STEP_, field DCOC_TZA_STEP_GAIN[27:16] (RW) |
| * |
| * DCOC TZA Step Size with gain (format 9.3). The nominal value for this is the |
| * TZA DAC resolution (1.4/2^8= 5.47mV) times AGC gain of -1.7dB ( |
| * 10^(-1.7/20)=0.822) times an AGC mV to quantization scaling factor (2^11/1000 = 2.048), |
| * times the nth BBF gain. E.g., for XCVR_DCOC_TZA_STEP_0 the BBF gain index 0 is |
| * 0dB=1.0, so DCOC_TZA_STEP_GAIN = 9.209. This value is stored in the register with |
| * 3 fractional bits, so use round(9.209*2^3) = 74 decimal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN field. */ |
| #define XCVR_RD_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN(base, index) ((XCVR_DCOC_TZA_STEP__REG(base, index) & XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN_MASK) >> XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN_SHIFT) |
| #define XCVR_BRD_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN(base, index) (BME_UBFX32(&XCVR_DCOC_TZA_STEP__REG(base, index), XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN_SHIFT, XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN_WIDTH)) |
| |
| /*! @brief Set the DCOC_TZA_STEP_GAIN field to a new value. */ |
| #define XCVR_WR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN(base, index, value) (XCVR_RMW_DCOC_TZA_STEP_(base, index, XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN_MASK, XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN(value))) |
| #define XCVR_BWR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN(base, index, value) (BME_BFI32(&XCVR_DCOC_TZA_STEP__REG(base, index), ((uint32_t)(value) << XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN_SHIFT), XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN_SHIFT, XCVR_DCOC_TZA_STEP__DCOC_TZA_STEP_GAIN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CAL_ALPHA - DCOC Calibration Alpha |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CAL_ALPHA - DCOC Calibration Alpha (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CAL_ALPHA register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CAL_ALPHA(base) (XCVR_DCOC_CAL_ALPHA_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CAL_ALPHA bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_ALPHA, field DCOC_CAL_ALPHA_I[15:0] (RO) |
| * |
| * DCOC Calibration I-channel ALPHA. This read-only, signed 16bit value |
| * represents the I channel estimate of the ALPHA DC component calculated in DCOC |
| * calibration. This is provided for debug/characterization purposes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I field. */ |
| #define XCVR_RD_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I(base) ((XCVR_DCOC_CAL_ALPHA_REG(base) & XCVR_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I_MASK) >> XCVR_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I(base) (BME_UBFX32(&XCVR_DCOC_CAL_ALPHA_REG(base), XCVR_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I_SHIFT, XCVR_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_ALPHA, field DCOC_CAL_ALPHA_Q[31:16] (RO) |
| * |
| * DCOC Calibration Q-channel ALPHA. This read-only, signed 16bit value |
| * represents the Q channel estimate of the ALPHA DC component calculated in DCOC |
| * calibration. This is provided for debug/characterization purposes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q field. */ |
| #define XCVR_RD_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q(base) ((XCVR_DCOC_CAL_ALPHA_REG(base) & XCVR_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q_MASK) >> XCVR_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q(base) (BME_UBFX32(&XCVR_DCOC_CAL_ALPHA_REG(base), XCVR_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q_SHIFT, XCVR_DCOC_CAL_ALPHA_DCOC_CAL_ALPHA_Q_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CAL_BETA - DCOC Calibration Beta |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CAL_BETA - DCOC Calibration Beta (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CAL_BETA register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CAL_BETA(base) (XCVR_DCOC_CAL_BETA_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CAL_BETA bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_BETA, field DCOC_CAL_BETA_I[15:0] (RO) |
| * |
| * DCOC Calibration I-channel BETA. This read-only, signed 16bit value |
| * represents the I channel estimate of the BETA DC component calculated in DCOC |
| * calibration. This is provided for debug/characterization purposes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_BETA_DCOC_CAL_BETA_I field. */ |
| #define XCVR_RD_DCOC_CAL_BETA_DCOC_CAL_BETA_I(base) ((XCVR_DCOC_CAL_BETA_REG(base) & XCVR_DCOC_CAL_BETA_DCOC_CAL_BETA_I_MASK) >> XCVR_DCOC_CAL_BETA_DCOC_CAL_BETA_I_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_BETA_DCOC_CAL_BETA_I(base) (BME_UBFX32(&XCVR_DCOC_CAL_BETA_REG(base), XCVR_DCOC_CAL_BETA_DCOC_CAL_BETA_I_SHIFT, XCVR_DCOC_CAL_BETA_DCOC_CAL_BETA_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_BETA, field DCOC_CAL_BETA_Q[31:16] (RO) |
| * |
| * DCOC Calibration Q-channel BETA. This read-only, signed 16bit value |
| * represents the Q channel estimate of the BETA DC component calculated in DCOC |
| * calibration. This is provided for debug/characterization purposes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_BETA_DCOC_CAL_BETA_Q field. */ |
| #define XCVR_RD_DCOC_CAL_BETA_DCOC_CAL_BETA_Q(base) ((XCVR_DCOC_CAL_BETA_REG(base) & XCVR_DCOC_CAL_BETA_DCOC_CAL_BETA_Q_MASK) >> XCVR_DCOC_CAL_BETA_DCOC_CAL_BETA_Q_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_BETA_DCOC_CAL_BETA_Q(base) (BME_UBFX32(&XCVR_DCOC_CAL_BETA_REG(base), XCVR_DCOC_CAL_BETA_DCOC_CAL_BETA_Q_SHIFT, XCVR_DCOC_CAL_BETA_DCOC_CAL_BETA_Q_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CAL_GAMMA - DCOC Calibration Gamma |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CAL_GAMMA - DCOC Calibration Gamma (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CAL_GAMMA register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CAL_GAMMA(base) (XCVR_DCOC_CAL_GAMMA_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CAL_GAMMA bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_GAMMA, field DCOC_CAL_GAMMA_I[15:0] (RO) |
| * |
| * DCOC Calibration I-channel GAMMA. This read-only, signed 16bit value |
| * represents the I channel estimate of the GAMMA DC component calculated in DCOC |
| * calibration. This is provided for debug/characterization purposes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I field. */ |
| #define XCVR_RD_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I(base) ((XCVR_DCOC_CAL_GAMMA_REG(base) & XCVR_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I_MASK) >> XCVR_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I(base) (BME_UBFX32(&XCVR_DCOC_CAL_GAMMA_REG(base), XCVR_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I_SHIFT, XCVR_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_GAMMA, field DCOC_CAL_GAMMA_Q[31:16] (RO) |
| * |
| * DCOC Calibration Q-channel GAMMA. This read-only, signed 16bit value |
| * represents the Q channel estimate of the GAMMA DC component calculated in DCOC |
| * calibration. This is provided for debug/characterization purposes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q field. */ |
| #define XCVR_RD_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q(base) ((XCVR_DCOC_CAL_GAMMA_REG(base) & XCVR_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q_MASK) >> XCVR_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q(base) (BME_UBFX32(&XCVR_DCOC_CAL_GAMMA_REG(base), XCVR_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q_SHIFT, XCVR_DCOC_CAL_GAMMA_DCOC_CAL_GAMMA_Q_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CAL_IIR - DCOC Calibration IIR |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CAL_IIR - DCOC Calibration IIR (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CAL_IIR register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CAL_IIR(base) (XCVR_DCOC_CAL_IIR_REG(base)) |
| #define XCVR_WR_DCOC_CAL_IIR(base, value) (XCVR_DCOC_CAL_IIR_REG(base) = (value)) |
| #define XCVR_RMW_DCOC_CAL_IIR(base, mask, value) (XCVR_WR_DCOC_CAL_IIR(base, (XCVR_RD_DCOC_CAL_IIR(base) & ~(mask)) | (value))) |
| #define XCVR_SET_DCOC_CAL_IIR(base, value) (BME_OR32(&XCVR_DCOC_CAL_IIR_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_DCOC_CAL_IIR(base, value) (BME_AND32(&XCVR_DCOC_CAL_IIR_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DCOC_CAL_IIR(base, value) (BME_XOR32(&XCVR_DCOC_CAL_IIR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CAL_IIR bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_IIR, field DCOC_CAL_IIR1A_IDX[1:0] (RW) |
| * |
| * DCOC Calibration IIR 1A Index. Defines the filter coefficient use for the 1st |
| * IIR filter in the DCOC calibration DC estimator. |
| * |
| * Values: |
| * - 0b00 - 1/1 |
| * - 0b01 - 1/4 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX field. */ |
| #define XCVR_RD_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX(base) ((XCVR_DCOC_CAL_IIR_REG(base) & XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_MASK) >> XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX(base) (BME_UBFX32(&XCVR_DCOC_CAL_IIR_REG(base), XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_SHIFT, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_WIDTH)) |
| |
| /*! @brief Set the DCOC_CAL_IIR1A_IDX field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX(base, value) (XCVR_RMW_DCOC_CAL_IIR(base, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_MASK, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX(value))) |
| #define XCVR_BWR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX(base, value) (BME_BFI32(&XCVR_DCOC_CAL_IIR_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_SHIFT), XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_SHIFT, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR1A_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_IIR, field DCOC_CAL_IIR2A_IDX[3:2] (RW) |
| * |
| * DCOC Calibration IIR 2A Index. Defines the filter coefficient use for the 2nd |
| * IIR filter in the DCOC calibration DC estimator. |
| * |
| * Values: |
| * - 0b00 - 1/1 |
| * - 0b01 - 1/4 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX field. */ |
| #define XCVR_RD_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX(base) ((XCVR_DCOC_CAL_IIR_REG(base) & XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_MASK) >> XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX(base) (BME_UBFX32(&XCVR_DCOC_CAL_IIR_REG(base), XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_SHIFT, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_WIDTH)) |
| |
| /*! @brief Set the DCOC_CAL_IIR2A_IDX field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX(base, value) (XCVR_RMW_DCOC_CAL_IIR(base, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_MASK, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX(value))) |
| #define XCVR_BWR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX(base, value) (BME_BFI32(&XCVR_DCOC_CAL_IIR_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_SHIFT), XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_SHIFT, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR2A_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL_IIR, field DCOC_CAL_IIR3A_IDX[5:4] (RW) |
| * |
| * DCOC Calibration IIR 3A Index. Defines the filter coefficient use for the 3rd |
| * IIR filter in the DCOC calibration DC estimator. |
| * |
| * Values: |
| * - 0b00 - 1/4 |
| * - 0b01 - 1/8 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX field. */ |
| #define XCVR_RD_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX(base) ((XCVR_DCOC_CAL_IIR_REG(base) & XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_MASK) >> XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX(base) (BME_UBFX32(&XCVR_DCOC_CAL_IIR_REG(base), XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_SHIFT, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_WIDTH)) |
| |
| /*! @brief Set the DCOC_CAL_IIR3A_IDX field to a new value. */ |
| #define XCVR_WR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX(base, value) (XCVR_RMW_DCOC_CAL_IIR(base, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_MASK, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX(value))) |
| #define XCVR_BWR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX(base, value) (BME_BFI32(&XCVR_DCOC_CAL_IIR_REG(base), ((uint32_t)(value) << XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_SHIFT), XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_SHIFT, XCVR_DCOC_CAL_IIR_DCOC_CAL_IIR3A_IDX_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DCOC_CAL - DCOC Calibration Result |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DCOC_CAL - DCOC Calibration Result (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Result of one of the calibration iterations. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DCOC_CAL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DCOC_CAL(base, index) (XCVR_DCOC_CAL_REG(base, index)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DCOC_CAL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL, field DCOC_CAL_RES_I[11:0] (RO) |
| * |
| * I channel DCOC calibration result. This 12bit signed value represents the |
| * DCOC's I channel DC estimate for the nth calibration gain setting.This is |
| * provided for debug/chacterization purposes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_DCOC_CAL_RES_I field. */ |
| #define XCVR_RD_DCOC_CAL_DCOC_CAL_RES_I(base, index) ((XCVR_DCOC_CAL_REG(base, index) & XCVR_DCOC_CAL_DCOC_CAL_RES_I_MASK) >> XCVR_DCOC_CAL_DCOC_CAL_RES_I_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_DCOC_CAL_RES_I(base, index) (BME_UBFX32(&XCVR_DCOC_CAL_REG(base, index), XCVR_DCOC_CAL_DCOC_CAL_RES_I_SHIFT, XCVR_DCOC_CAL_DCOC_CAL_RES_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DCOC_CAL, field DCOC_CAL_RES_Q[27:16] (RO) |
| * |
| * Q channel DCOC calibration result. This 12bit signed value represents the |
| * DCOC's Q channel DC estimate for the nth calibration gain setting.This is |
| * provided for debug/chacterization purposes. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DCOC_CAL_DCOC_CAL_RES_Q field. */ |
| #define XCVR_RD_DCOC_CAL_DCOC_CAL_RES_Q(base, index) ((XCVR_DCOC_CAL_REG(base, index) & XCVR_DCOC_CAL_DCOC_CAL_RES_Q_MASK) >> XCVR_DCOC_CAL_DCOC_CAL_RES_Q_SHIFT) |
| #define XCVR_BRD_DCOC_CAL_DCOC_CAL_RES_Q(base, index) (BME_UBFX32(&XCVR_DCOC_CAL_REG(base, index), XCVR_DCOC_CAL_DCOC_CAL_RES_Q_SHIFT, XCVR_DCOC_CAL_DCOC_CAL_RES_Q_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_RX_CHF_COEF - Receive Channel Filter Coefficient |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_RX_CHF_COEF - Receive Channel Filter Coefficient (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Receive channel filter coefficient (8-bit signed fractional) |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_RX_CHF_COEF register |
| */ |
| /*@{*/ |
| #define XCVR_RD_RX_CHF_COEF(base, index) (XCVR_RX_CHF_COEF_REG(base, index)) |
| #define XCVR_WR_RX_CHF_COEF(base, index, value) (XCVR_RX_CHF_COEF_REG(base, index) = (value)) |
| #define XCVR_RMW_RX_CHF_COEF(base, index, mask, value) (XCVR_WR_RX_CHF_COEF(base, index, (XCVR_RD_RX_CHF_COEF(base, index) & ~(mask)) | (value))) |
| #define XCVR_SET_RX_CHF_COEF(base, index, value) (BME_OR32(&XCVR_RX_CHF_COEF_REG(base, index), (uint32_t)(value))) |
| #define XCVR_CLR_RX_CHF_COEF(base, index, value) (BME_AND32(&XCVR_RX_CHF_COEF_REG(base, index), (uint32_t)(~(value)))) |
| #define XCVR_TOG_RX_CHF_COEF(base, index, value) (BME_XOR32(&XCVR_RX_CHF_COEF_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_RX_CHF_COEF bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_RX_CHF_COEF, field RX_CH_FILT_HX[7:0] (RW) |
| * |
| * Receive channel filter coefficient (8-bit signed fractional) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_CHF_COEF_RX_CH_FILT_HX field. */ |
| #define XCVR_RD_RX_CHF_COEF_RX_CH_FILT_HX(base, index) ((XCVR_RX_CHF_COEF_REG(base, index) & XCVR_RX_CHF_COEF_RX_CH_FILT_HX_MASK) >> XCVR_RX_CHF_COEF_RX_CH_FILT_HX_SHIFT) |
| #define XCVR_BRD_RX_CHF_COEF_RX_CH_FILT_HX(base, index) (BME_UBFX32(&XCVR_RX_CHF_COEF_REG(base, index), XCVR_RX_CHF_COEF_RX_CH_FILT_HX_SHIFT, XCVR_RX_CHF_COEF_RX_CH_FILT_HX_WIDTH)) |
| |
| /*! @brief Set the RX_CH_FILT_HX field to a new value. */ |
| #define XCVR_WR_RX_CHF_COEF_RX_CH_FILT_HX(base, index, value) (XCVR_RMW_RX_CHF_COEF(base, index, XCVR_RX_CHF_COEF_RX_CH_FILT_HX_MASK, XCVR_RX_CHF_COEF_RX_CH_FILT_HX(value))) |
| #define XCVR_BWR_RX_CHF_COEF_RX_CH_FILT_HX(base, index, value) (BME_BFI32(&XCVR_RX_CHF_COEF_REG(base, index), ((uint32_t)(value) << XCVR_RX_CHF_COEF_RX_CH_FILT_HX_SHIFT), XCVR_RX_CHF_COEF_RX_CH_FILT_HX_SHIFT, XCVR_RX_CHF_COEF_RX_CH_FILT_HX_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TX_DIG_CTRL - TX Digital Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TX_DIG_CTRL - TX Digital Control (RW) |
| * |
| * Reset value: 0x00000140U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TX_DIG_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TX_DIG_CTRL(base) (XCVR_TX_DIG_CTRL_REG(base)) |
| #define XCVR_WR_TX_DIG_CTRL(base, value) (XCVR_TX_DIG_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_TX_DIG_CTRL(base, mask, value) (XCVR_WR_TX_DIG_CTRL(base, (XCVR_RD_TX_DIG_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TX_DIG_CTRL(base, value) (BME_OR32(&XCVR_TX_DIG_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TX_DIG_CTRL(base, value) (BME_AND32(&XCVR_TX_DIG_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TX_DIG_CTRL(base, value) (BME_XOR32(&XCVR_TX_DIG_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TX_DIG_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TX_DIG_CTRL, field DFT_MODE[2:0] (RW) |
| * |
| * This register selects the Radio DFT mode as described below. In addition to |
| * setting the Radio DFT mode, the DFT LFSR needs to be configured, and the Radio |
| * Protocol needs to be chosen. Note that the LFSR Symbols mode is not supported |
| * for GFSK Protocols, and the Tone modes bypass both the GFSK and the FSK |
| * modulators. |
| * |
| * Values: |
| * - 0b000 - Normal Radio Operation. DFT not engaged. |
| * - 0b001 - Pattern Register Mode. TX DFT Modulation Pattern Register is |
| * shifted out as the transmission data stream. Note that the DFT_EN bit must be |
| * set. |
| * - 0b010 - LFSR Data Mode. TX LFSR is used as the transmission data stream. |
| * Note that the LFSR_EN bit must be set. |
| * - 0b011 - LFSR Symbol Mode. TX LFSR is used to create 802.15.4 symbols which |
| * are then converted to Chips and transmitted. Note that the LFSR_EN bit |
| * must be set. |
| * - 0b100 - Not implemented on Apache 1.0, future use will allow a package pin |
| * to be used as the source of the TX data stream. Note that the DFT_EN bit |
| * must be set. |
| * - 0b101 - Constant Frequency Mode. No data modulation is done, Radio |
| * transmits at the channel frequency selected. |
| * - 0b110 - LFSR Tone Mode. TX LFSR is used to select the DFT Tone register to |
| * transmit, LFSR_EN bit must be set. |
| * - 0b111 - Manual Tone Mode. TONE_SEL is used to select the DFT Tone register |
| * to transmit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DIG_CTRL_DFT_MODE field. */ |
| #define XCVR_RD_TX_DIG_CTRL_DFT_MODE(base) ((XCVR_TX_DIG_CTRL_REG(base) & XCVR_TX_DIG_CTRL_DFT_MODE_MASK) >> XCVR_TX_DIG_CTRL_DFT_MODE_SHIFT) |
| #define XCVR_BRD_TX_DIG_CTRL_DFT_MODE(base) (BME_UBFX32(&XCVR_TX_DIG_CTRL_REG(base), XCVR_TX_DIG_CTRL_DFT_MODE_SHIFT, XCVR_TX_DIG_CTRL_DFT_MODE_WIDTH)) |
| |
| /*! @brief Set the DFT_MODE field to a new value. */ |
| #define XCVR_WR_TX_DIG_CTRL_DFT_MODE(base, value) (XCVR_RMW_TX_DIG_CTRL(base, XCVR_TX_DIG_CTRL_DFT_MODE_MASK, XCVR_TX_DIG_CTRL_DFT_MODE(value))) |
| #define XCVR_BWR_TX_DIG_CTRL_DFT_MODE(base, value) (BME_BFI32(&XCVR_TX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_DIG_CTRL_DFT_MODE_SHIFT), XCVR_TX_DIG_CTRL_DFT_MODE_SHIFT, XCVR_TX_DIG_CTRL_DFT_MODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DIG_CTRL, field DFT_EN[3] (RW) |
| * |
| * If the Radio is in DFT Pattern Register mode, then this bit is used to turn |
| * on and off the modulation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DIG_CTRL_DFT_EN field. */ |
| #define XCVR_RD_TX_DIG_CTRL_DFT_EN(base) ((XCVR_TX_DIG_CTRL_REG(base) & XCVR_TX_DIG_CTRL_DFT_EN_MASK) >> XCVR_TX_DIG_CTRL_DFT_EN_SHIFT) |
| #define XCVR_BRD_TX_DIG_CTRL_DFT_EN(base) (BME_UBFX32(&XCVR_TX_DIG_CTRL_REG(base), XCVR_TX_DIG_CTRL_DFT_EN_SHIFT, XCVR_TX_DIG_CTRL_DFT_EN_WIDTH)) |
| |
| /*! @brief Set the DFT_EN field to a new value. */ |
| #define XCVR_WR_TX_DIG_CTRL_DFT_EN(base, value) (XCVR_RMW_TX_DIG_CTRL(base, XCVR_TX_DIG_CTRL_DFT_EN_MASK, XCVR_TX_DIG_CTRL_DFT_EN(value))) |
| #define XCVR_BWR_TX_DIG_CTRL_DFT_EN(base, value) (BME_BFI32(&XCVR_TX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_DIG_CTRL_DFT_EN_SHIFT), XCVR_TX_DIG_CTRL_DFT_EN_SHIFT, XCVR_TX_DIG_CTRL_DFT_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DIG_CTRL, field DFT_LFSR_LEN[6:4] (RW) |
| * |
| * This register selects the length of the DFT LFSR and the associated LFSR Tap |
| * Mask. The Mask is in the form of [MSB...LSB] |
| * |
| * Values: |
| * - 0b000 - LFSR 9, tap mask 100010000 |
| * - 0b001 - LFSR 10, tap mask 1001000000 |
| * - 0b010 - LFSR 11, tap mask 11101000000 |
| * - 0b011 - LFSR 13, tap mask 1101100000000 |
| * - 0b100 - LFSR 15, tap mask 111010000000000 |
| * - 0b101 - LFSR 17, tap mask 11110000000000000 |
| * - 0b110 - Reserved |
| * - 0b111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DIG_CTRL_DFT_LFSR_LEN field. */ |
| #define XCVR_RD_TX_DIG_CTRL_DFT_LFSR_LEN(base) ((XCVR_TX_DIG_CTRL_REG(base) & XCVR_TX_DIG_CTRL_DFT_LFSR_LEN_MASK) >> XCVR_TX_DIG_CTRL_DFT_LFSR_LEN_SHIFT) |
| #define XCVR_BRD_TX_DIG_CTRL_DFT_LFSR_LEN(base) (BME_UBFX32(&XCVR_TX_DIG_CTRL_REG(base), XCVR_TX_DIG_CTRL_DFT_LFSR_LEN_SHIFT, XCVR_TX_DIG_CTRL_DFT_LFSR_LEN_WIDTH)) |
| |
| /*! @brief Set the DFT_LFSR_LEN field to a new value. */ |
| #define XCVR_WR_TX_DIG_CTRL_DFT_LFSR_LEN(base, value) (XCVR_RMW_TX_DIG_CTRL(base, XCVR_TX_DIG_CTRL_DFT_LFSR_LEN_MASK, XCVR_TX_DIG_CTRL_DFT_LFSR_LEN(value))) |
| #define XCVR_BWR_TX_DIG_CTRL_DFT_LFSR_LEN(base, value) (BME_BFI32(&XCVR_TX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_DIG_CTRL_DFT_LFSR_LEN_SHIFT), XCVR_TX_DIG_CTRL_DFT_LFSR_LEN_SHIFT, XCVR_TX_DIG_CTRL_DFT_LFSR_LEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DIG_CTRL, field LFSR_EN[7] (RW) |
| * |
| * This bit enables the DFT LFSR for use as a source for Data Padding and TX |
| * Data in LFSR Data mode, for use as TX Symbols in LFSR Symbol mode, and for use as |
| * the Tone Selector in LFSR Tone mode. Effectively this is the on-off switch |
| * for modulation in these modes. Note that the LFSR is clocked at the DFT Clock |
| * frequency. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DIG_CTRL_LFSR_EN field. */ |
| #define XCVR_RD_TX_DIG_CTRL_LFSR_EN(base) ((XCVR_TX_DIG_CTRL_REG(base) & XCVR_TX_DIG_CTRL_LFSR_EN_MASK) >> XCVR_TX_DIG_CTRL_LFSR_EN_SHIFT) |
| #define XCVR_BRD_TX_DIG_CTRL_LFSR_EN(base) (BME_UBFX32(&XCVR_TX_DIG_CTRL_REG(base), XCVR_TX_DIG_CTRL_LFSR_EN_SHIFT, XCVR_TX_DIG_CTRL_LFSR_EN_WIDTH)) |
| |
| /*! @brief Set the LFSR_EN field to a new value. */ |
| #define XCVR_WR_TX_DIG_CTRL_LFSR_EN(base, value) (XCVR_RMW_TX_DIG_CTRL(base, XCVR_TX_DIG_CTRL_LFSR_EN_MASK, XCVR_TX_DIG_CTRL_LFSR_EN(value))) |
| #define XCVR_BWR_TX_DIG_CTRL_LFSR_EN(base, value) (BME_BFI32(&XCVR_TX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_DIG_CTRL_LFSR_EN_SHIFT), XCVR_TX_DIG_CTRL_LFSR_EN_SHIFT, XCVR_TX_DIG_CTRL_LFSR_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DIG_CTRL, field DFT_CLK_SEL[10:8] (RW) |
| * |
| * This register selects the frequency of the DFT clock that is used to shift |
| * out the DFT Modulation Pattern and also used to clock the LFSR in DFT LFSR modes. |
| * |
| * Values: |
| * - 0b000 - 62.5 kHz |
| * - 0b001 - 125 kHz |
| * - 0b010 - 250 kHz |
| * - 0b011 - 500 kHz |
| * - 0b100 - 1 MHz |
| * - 0b101 - 2 MHz |
| * - 0b110 - 4 MHz |
| * - 0b111 - Clock is off |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DIG_CTRL_DFT_CLK_SEL field. */ |
| #define XCVR_RD_TX_DIG_CTRL_DFT_CLK_SEL(base) ((XCVR_TX_DIG_CTRL_REG(base) & XCVR_TX_DIG_CTRL_DFT_CLK_SEL_MASK) >> XCVR_TX_DIG_CTRL_DFT_CLK_SEL_SHIFT) |
| #define XCVR_BRD_TX_DIG_CTRL_DFT_CLK_SEL(base) (BME_UBFX32(&XCVR_TX_DIG_CTRL_REG(base), XCVR_TX_DIG_CTRL_DFT_CLK_SEL_SHIFT, XCVR_TX_DIG_CTRL_DFT_CLK_SEL_WIDTH)) |
| |
| /*! @brief Set the DFT_CLK_SEL field to a new value. */ |
| #define XCVR_WR_TX_DIG_CTRL_DFT_CLK_SEL(base, value) (XCVR_RMW_TX_DIG_CTRL(base, XCVR_TX_DIG_CTRL_DFT_CLK_SEL_MASK, XCVR_TX_DIG_CTRL_DFT_CLK_SEL(value))) |
| #define XCVR_BWR_TX_DIG_CTRL_DFT_CLK_SEL(base, value) (BME_BFI32(&XCVR_TX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_DIG_CTRL_DFT_CLK_SEL_SHIFT), XCVR_TX_DIG_CTRL_DFT_CLK_SEL_SHIFT, XCVR_TX_DIG_CTRL_DFT_CLK_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DIG_CTRL, field TONE_SEL[13:12] (RW) |
| * |
| * This register selects the DFT Tone register to use as the Modulation Source |
| * in DFT Manual Tone mode. The selected Tone will be added as a constant |
| * frequency offset to the current Radio frequency. Software can change the tone |
| * selection to modulate the Radio frequency at a software derived frequency. Note that |
| * the DFT LFSR Tone mode can be used to randomly modulate with tones at the DFT |
| * Clock frequency. |
| * |
| * Values: |
| * - 0b00 - DFT Tone 0 |
| * - 0b01 - DFT Tone 1 |
| * - 0b10 - DFT Tone 2 |
| * - 0b11 - DFT Tone 3 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DIG_CTRL_TONE_SEL field. */ |
| #define XCVR_RD_TX_DIG_CTRL_TONE_SEL(base) ((XCVR_TX_DIG_CTRL_REG(base) & XCVR_TX_DIG_CTRL_TONE_SEL_MASK) >> XCVR_TX_DIG_CTRL_TONE_SEL_SHIFT) |
| #define XCVR_BRD_TX_DIG_CTRL_TONE_SEL(base) (BME_UBFX32(&XCVR_TX_DIG_CTRL_REG(base), XCVR_TX_DIG_CTRL_TONE_SEL_SHIFT, XCVR_TX_DIG_CTRL_TONE_SEL_WIDTH)) |
| |
| /*! @brief Set the TONE_SEL field to a new value. */ |
| #define XCVR_WR_TX_DIG_CTRL_TONE_SEL(base, value) (XCVR_RMW_TX_DIG_CTRL(base, XCVR_TX_DIG_CTRL_TONE_SEL_MASK, XCVR_TX_DIG_CTRL_TONE_SEL(value))) |
| #define XCVR_BWR_TX_DIG_CTRL_TONE_SEL(base, value) (BME_BFI32(&XCVR_TX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_DIG_CTRL_TONE_SEL_SHIFT), XCVR_TX_DIG_CTRL_TONE_SEL_SHIFT, XCVR_TX_DIG_CTRL_TONE_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DIG_CTRL, field POL[16] (RW) |
| * |
| * This bit selects between Even or Odd reference clock cycles to sample the TX |
| * Modulators output values. The TX Modulator to sample is selected by the Radio |
| * Protocol and the Radio DFT Mode, and can be either the GFSK modulator, the FSK |
| * modulator, or the DFT Tone modulator. The resulting Oversampled Modulation is |
| * the Baseband Frequency Word presented to the PLL |
| * |
| * Values: |
| * - 0b0 - Selects Even clock cycle |
| * - 0b1 - Selects Odd clock cycle, a one cycle delay |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DIG_CTRL_POL field. */ |
| #define XCVR_RD_TX_DIG_CTRL_POL(base) ((XCVR_TX_DIG_CTRL_REG(base) & XCVR_TX_DIG_CTRL_POL_MASK) >> XCVR_TX_DIG_CTRL_POL_SHIFT) |
| #define XCVR_BRD_TX_DIG_CTRL_POL(base) (BME_UBFX32(&XCVR_TX_DIG_CTRL_REG(base), XCVR_TX_DIG_CTRL_POL_SHIFT, XCVR_TX_DIG_CTRL_POL_WIDTH)) |
| |
| /*! @brief Set the POL field to a new value. */ |
| #define XCVR_WR_TX_DIG_CTRL_POL(base, value) (XCVR_RMW_TX_DIG_CTRL(base, XCVR_TX_DIG_CTRL_POL_MASK, XCVR_TX_DIG_CTRL_POL(value))) |
| #define XCVR_BWR_TX_DIG_CTRL_POL(base, value) (BME_BFI32(&XCVR_TX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_DIG_CTRL_POL_SHIFT), XCVR_TX_DIG_CTRL_POL_SHIFT, XCVR_TX_DIG_CTRL_POL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DIG_CTRL, field DP_SEL[20] (RW) |
| * |
| * In normal user GSFK modes the BLE link layer overrides this bit to match the |
| * first bit of the packet preamble. In Radio Protocol 7, 128 Channel GFSK mode, |
| * this register bit is active and selects the 8 bits of data padding. For DFT |
| * GFSK modes, this register bit is active and the unselected data padding pattern |
| * is added as an additional 8 bits of padding after the selected pattern is |
| * shifted out. For 802.15.4 Radio Protocols, this register bit selects the data |
| * padding pattern to be used as Symbols and converted to Chips for padding. In all |
| * cases the LSB is the first bit shifted out as data padding. |
| * |
| * Values: |
| * - 0b0 - Selects DATA_PADDING_PATTERN_0 as the source for data padding |
| * - 0b1 - Selects DATA_PADDING_PATTERN_1 as the source for data padding |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DIG_CTRL_DP_SEL field. */ |
| #define XCVR_RD_TX_DIG_CTRL_DP_SEL(base) ((XCVR_TX_DIG_CTRL_REG(base) & XCVR_TX_DIG_CTRL_DP_SEL_MASK) >> XCVR_TX_DIG_CTRL_DP_SEL_SHIFT) |
| #define XCVR_BRD_TX_DIG_CTRL_DP_SEL(base) (BME_UBFX32(&XCVR_TX_DIG_CTRL_REG(base), XCVR_TX_DIG_CTRL_DP_SEL_SHIFT, XCVR_TX_DIG_CTRL_DP_SEL_WIDTH)) |
| |
| /*! @brief Set the DP_SEL field to a new value. */ |
| #define XCVR_WR_TX_DIG_CTRL_DP_SEL(base, value) (XCVR_RMW_TX_DIG_CTRL(base, XCVR_TX_DIG_CTRL_DP_SEL_MASK, XCVR_TX_DIG_CTRL_DP_SEL(value))) |
| #define XCVR_BWR_TX_DIG_CTRL_DP_SEL(base, value) (BME_BFI32(&XCVR_TX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_DIG_CTRL_DP_SEL_SHIFT), XCVR_TX_DIG_CTRL_DP_SEL_SHIFT, XCVR_TX_DIG_CTRL_DP_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DIG_CTRL, field FREQ_WORD_ADJ[31:22] (RW) |
| * |
| * This register is a signed 9 bit number that is added to the GFSK modulator |
| * output. This allows the GFSK modulation to be adjusted, or skewed, by a range of |
| * -512 to +511. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ field. */ |
| #define XCVR_RD_TX_DIG_CTRL_FREQ_WORD_ADJ(base) ((XCVR_TX_DIG_CTRL_REG(base) & XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_MASK) >> XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_SHIFT) |
| #define XCVR_BRD_TX_DIG_CTRL_FREQ_WORD_ADJ(base) (BME_UBFX32(&XCVR_TX_DIG_CTRL_REG(base), XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_SHIFT, XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_WIDTH)) |
| |
| /*! @brief Set the FREQ_WORD_ADJ field to a new value. */ |
| #define XCVR_WR_TX_DIG_CTRL_FREQ_WORD_ADJ(base, value) (XCVR_RMW_TX_DIG_CTRL(base, XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_MASK, XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ(value))) |
| #define XCVR_BWR_TX_DIG_CTRL_FREQ_WORD_ADJ(base, value) (BME_BFI32(&XCVR_TX_DIG_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_SHIFT), XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_SHIFT, XCVR_TX_DIG_CTRL_FREQ_WORD_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TX_DATA_PAD_PAT - TX Data Padding Pattern |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TX_DATA_PAD_PAT - TX Data Padding Pattern (RW) |
| * |
| * Reset value: 0x7FFF55AAU |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TX_DATA_PAD_PAT register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TX_DATA_PAD_PAT(base) (XCVR_TX_DATA_PAD_PAT_REG(base)) |
| #define XCVR_WR_TX_DATA_PAD_PAT(base, value) (XCVR_TX_DATA_PAD_PAT_REG(base) = (value)) |
| #define XCVR_RMW_TX_DATA_PAD_PAT(base, mask, value) (XCVR_WR_TX_DATA_PAD_PAT(base, (XCVR_RD_TX_DATA_PAD_PAT(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TX_DATA_PAD_PAT(base, value) (BME_OR32(&XCVR_TX_DATA_PAD_PAT_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TX_DATA_PAD_PAT(base, value) (BME_AND32(&XCVR_TX_DATA_PAD_PAT_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TX_DATA_PAD_PAT(base, value) (BME_XOR32(&XCVR_TX_DATA_PAD_PAT_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TX_DATA_PAD_PAT bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TX_DATA_PAD_PAT, field DATA_PADDING_PAT_0[7:0] (RW) |
| * |
| * These bits are used for Data Padding when Pattern 0 is selected, the LSB is |
| * the first bit shifted out as padding. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0 field. */ |
| #define XCVR_RD_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0(base) ((XCVR_TX_DATA_PAD_PAT_REG(base) & XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0_MASK) >> XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0_SHIFT) |
| #define XCVR_BRD_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0(base) (BME_UBFX32(&XCVR_TX_DATA_PAD_PAT_REG(base), XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0_SHIFT, XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0_WIDTH)) |
| |
| /*! @brief Set the DATA_PADDING_PAT_0 field to a new value. */ |
| #define XCVR_WR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0(base, value) (XCVR_RMW_TX_DATA_PAD_PAT(base, XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0_MASK, XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0(value))) |
| #define XCVR_BWR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0(base, value) (BME_BFI32(&XCVR_TX_DATA_PAD_PAT_REG(base), ((uint32_t)(value) << XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0_SHIFT), XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0_SHIFT, XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DATA_PAD_PAT, field DATA_PADDING_PAT_1[15:8] (RW) |
| * |
| * These bits are used for Data Padding when Pattern 1 is selected, the LSB is |
| * the first bit shifted out as padding. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1 field. */ |
| #define XCVR_RD_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1(base) ((XCVR_TX_DATA_PAD_PAT_REG(base) & XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1_MASK) >> XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1_SHIFT) |
| #define XCVR_BRD_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1(base) (BME_UBFX32(&XCVR_TX_DATA_PAD_PAT_REG(base), XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1_SHIFT, XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1_WIDTH)) |
| |
| /*! @brief Set the DATA_PADDING_PAT_1 field to a new value. */ |
| #define XCVR_WR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1(base, value) (XCVR_RMW_TX_DATA_PAD_PAT(base, XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1_MASK, XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1(value))) |
| #define XCVR_BWR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1(base, value) (BME_BFI32(&XCVR_TX_DATA_PAD_PAT_REG(base), ((uint32_t)(value) << XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1_SHIFT), XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1_SHIFT, XCVR_TX_DATA_PAD_PAT_DATA_PADDING_PAT_1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DATA_PAD_PAT, field DFT_LFSR_OUT[30:16] (RO) |
| * |
| * This register can be read to observe the current value of the DFT LFSR, only |
| * bits [14:0] are available. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DATA_PAD_PAT_DFT_LFSR_OUT field. */ |
| #define XCVR_RD_TX_DATA_PAD_PAT_DFT_LFSR_OUT(base) ((XCVR_TX_DATA_PAD_PAT_REG(base) & XCVR_TX_DATA_PAD_PAT_DFT_LFSR_OUT_MASK) >> XCVR_TX_DATA_PAD_PAT_DFT_LFSR_OUT_SHIFT) |
| #define XCVR_BRD_TX_DATA_PAD_PAT_DFT_LFSR_OUT(base) (BME_UBFX32(&XCVR_TX_DATA_PAD_PAT_REG(base), XCVR_TX_DATA_PAD_PAT_DFT_LFSR_OUT_SHIFT, XCVR_TX_DATA_PAD_PAT_DFT_LFSR_OUT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DATA_PAD_PAT, field LRM[31] (RW) |
| * |
| * When this bit is set the DFT LFSR will not be reset when LFSR_EN is cleared |
| * and will instead continue to repeat its sequence as defined by the DFT_LFSR_LEN |
| * bits when LFSR_EN is next set. When this bit is cleared the DFT LFSR will |
| * reset every time LFSR_EN is cleared. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DATA_PAD_PAT_LRM field. */ |
| #define XCVR_RD_TX_DATA_PAD_PAT_LRM(base) ((XCVR_TX_DATA_PAD_PAT_REG(base) & XCVR_TX_DATA_PAD_PAT_LRM_MASK) >> XCVR_TX_DATA_PAD_PAT_LRM_SHIFT) |
| #define XCVR_BRD_TX_DATA_PAD_PAT_LRM(base) (BME_UBFX32(&XCVR_TX_DATA_PAD_PAT_REG(base), XCVR_TX_DATA_PAD_PAT_LRM_SHIFT, XCVR_TX_DATA_PAD_PAT_LRM_WIDTH)) |
| |
| /*! @brief Set the LRM field to a new value. */ |
| #define XCVR_WR_TX_DATA_PAD_PAT_LRM(base, value) (XCVR_RMW_TX_DATA_PAD_PAT(base, XCVR_TX_DATA_PAD_PAT_LRM_MASK, XCVR_TX_DATA_PAD_PAT_LRM(value))) |
| #define XCVR_BWR_TX_DATA_PAD_PAT_LRM(base, value) (BME_BFI32(&XCVR_TX_DATA_PAD_PAT_REG(base), ((uint32_t)(value) << XCVR_TX_DATA_PAD_PAT_LRM_SHIFT), XCVR_TX_DATA_PAD_PAT_LRM_SHIFT, XCVR_TX_DATA_PAD_PAT_LRM_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TX_GFSK_MOD_CTRL - TX GFSK Modulation Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TX_GFSK_MOD_CTRL - TX GFSK Modulation Control (RW) |
| * |
| * Reset value: 0x03014000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TX_GFSK_MOD_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TX_GFSK_MOD_CTRL(base) (XCVR_TX_GFSK_MOD_CTRL_REG(base)) |
| #define XCVR_WR_TX_GFSK_MOD_CTRL(base, value) (XCVR_TX_GFSK_MOD_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_TX_GFSK_MOD_CTRL(base, mask, value) (XCVR_WR_TX_GFSK_MOD_CTRL(base, (XCVR_RD_TX_GFSK_MOD_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TX_GFSK_MOD_CTRL(base, value) (BME_OR32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TX_GFSK_MOD_CTRL(base, value) (BME_AND32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TX_GFSK_MOD_CTRL(base, value) (BME_XOR32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TX_GFSK_MOD_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TX_GFSK_MOD_CTRL, field GFSK_MULTIPLY_TABLE_MANUAL[15:0] (RW) |
| * |
| * The GFSK Modulator Multiplier uses a lookup table to select the multiplicand |
| * representing the (Frequency Deviation divided by the Low Port Sigma Delta LSB |
| * resolution in Hz) for the Modulation requested based on the Modulation Index, |
| * the Symbol Rate, and the Reference Clock Frequency. The lookup table value is |
| * overridden by this register if GFSK_MLD is set, and these bits should then |
| * contain a number that represents {FDev/SD_LSB integer[11:0] + FDev/SD_LSB |
| * fraction[3:0]} |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL field. */ |
| #define XCVR_RD_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL(base) ((XCVR_TX_GFSK_MOD_CTRL_REG(base) & XCVR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_MASK) >> XCVR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_SHIFT) |
| #define XCVR_BRD_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL(base) (BME_UBFX32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), XCVR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_SHIFT, XCVR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_WIDTH)) |
| |
| /*! @brief Set the GFSK_MULTIPLY_TABLE_MANUAL field to a new value. */ |
| #define XCVR_WR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL(base, value) (XCVR_RMW_TX_GFSK_MOD_CTRL(base, XCVR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_MASK, XCVR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL(value))) |
| #define XCVR_BWR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL(base, value) (BME_BFI32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_SHIFT), XCVR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_SHIFT, XCVR_TX_GFSK_MOD_CTRL_GFSK_MULTIPLY_TABLE_MANUAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_GFSK_MOD_CTRL, field GFSK_MI[17:16] (RW) |
| * |
| * This register selects the GFSK Modulation Index which together with the GFSK |
| * Symbol Rate determines the Peak Modulation frequency.The formula used for the |
| * Peak Modulation is (Symbol Rate / (2 x 1/Modulation Index)) |
| * |
| * Values: |
| * - 0b00 - 0.32 |
| * - 0b01 - 0.50 |
| * - 0b10 - 0.80 |
| * - 0b11 - 1.00 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_GFSK_MOD_CTRL_GFSK_MI field. */ |
| #define XCVR_RD_TX_GFSK_MOD_CTRL_GFSK_MI(base) ((XCVR_TX_GFSK_MOD_CTRL_REG(base) & XCVR_TX_GFSK_MOD_CTRL_GFSK_MI_MASK) >> XCVR_TX_GFSK_MOD_CTRL_GFSK_MI_SHIFT) |
| #define XCVR_BRD_TX_GFSK_MOD_CTRL_GFSK_MI(base) (BME_UBFX32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), XCVR_TX_GFSK_MOD_CTRL_GFSK_MI_SHIFT, XCVR_TX_GFSK_MOD_CTRL_GFSK_MI_WIDTH)) |
| |
| /*! @brief Set the GFSK_MI field to a new value. */ |
| #define XCVR_WR_TX_GFSK_MOD_CTRL_GFSK_MI(base, value) (XCVR_RMW_TX_GFSK_MOD_CTRL(base, XCVR_TX_GFSK_MOD_CTRL_GFSK_MI_MASK, XCVR_TX_GFSK_MOD_CTRL_GFSK_MI(value))) |
| #define XCVR_BWR_TX_GFSK_MOD_CTRL_GFSK_MI(base, value) (BME_BFI32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_GFSK_MOD_CTRL_GFSK_MI_SHIFT), XCVR_TX_GFSK_MOD_CTRL_GFSK_MI_SHIFT, XCVR_TX_GFSK_MOD_CTRL_GFSK_MI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_GFSK_MOD_CTRL, field GFSK_MLD[20] (RW) |
| * |
| * If this bit is set, the GFSK Multiply Lookup table is disabled and |
| * GFSK_MULTIPLY_TABLE_MANUAL is used instead. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_GFSK_MOD_CTRL_GFSK_MLD field. */ |
| #define XCVR_RD_TX_GFSK_MOD_CTRL_GFSK_MLD(base) ((XCVR_TX_GFSK_MOD_CTRL_REG(base) & XCVR_TX_GFSK_MOD_CTRL_GFSK_MLD_MASK) >> XCVR_TX_GFSK_MOD_CTRL_GFSK_MLD_SHIFT) |
| #define XCVR_BRD_TX_GFSK_MOD_CTRL_GFSK_MLD(base) (BME_UBFX32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), XCVR_TX_GFSK_MOD_CTRL_GFSK_MLD_SHIFT, XCVR_TX_GFSK_MOD_CTRL_GFSK_MLD_WIDTH)) |
| |
| /*! @brief Set the GFSK_MLD field to a new value. */ |
| #define XCVR_WR_TX_GFSK_MOD_CTRL_GFSK_MLD(base, value) (XCVR_RMW_TX_GFSK_MOD_CTRL(base, XCVR_TX_GFSK_MOD_CTRL_GFSK_MLD_MASK, XCVR_TX_GFSK_MOD_CTRL_GFSK_MLD(value))) |
| #define XCVR_BWR_TX_GFSK_MOD_CTRL_GFSK_MLD(base, value) (BME_BFI32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_GFSK_MOD_CTRL_GFSK_MLD_SHIFT), XCVR_TX_GFSK_MOD_CTRL_GFSK_MLD_SHIFT, XCVR_TX_GFSK_MOD_CTRL_GFSK_MLD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_GFSK_MOD_CTRL, field GFSK_SYMBOL_RATE[26:24] (RW) |
| * |
| * This register selects the GFSK Symbol Rate which together with the GFSK |
| * Modulation Index determines the Peak Modulation frequency.The formula used for the |
| * Peak Modulation is (Symbol Rate / (2 x 1/Modulation Index)) |
| * |
| * Values: |
| * - 0b000 - 50 kHz |
| * - 0b001 - 100 kHz |
| * - 0b010 - 200 kHz |
| * - 0b011 - 1 MHz |
| * - 0b100 - 2 MHz |
| * - 0b101 - Reserved |
| * - 0b110 - Reserved |
| * - 0b111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE field. */ |
| #define XCVR_RD_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE(base) ((XCVR_TX_GFSK_MOD_CTRL_REG(base) & XCVR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE_MASK) >> XCVR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE_SHIFT) |
| #define XCVR_BRD_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE(base) (BME_UBFX32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), XCVR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE_SHIFT, XCVR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE_WIDTH)) |
| |
| /*! @brief Set the GFSK_SYMBOL_RATE field to a new value. */ |
| #define XCVR_WR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE(base, value) (XCVR_RMW_TX_GFSK_MOD_CTRL(base, XCVR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE_MASK, XCVR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE(value))) |
| #define XCVR_BWR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE(base, value) (BME_BFI32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE_SHIFT), XCVR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE_SHIFT, XCVR_TX_GFSK_MOD_CTRL_GFSK_SYMBOL_RATE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_GFSK_MOD_CTRL, field GFSK_FLD[28] (RW) |
| * |
| * If this bit is set, the internal GFSK filter coefficients that are normally |
| * derived from a lookup table based on the reference clock frequency, are |
| * disabled, and the coefficients are instead derived from the GFSK_FILTER_COEFF_MANUAL1 |
| * and GFSK_FILTER_COEFF_MANUAL2 registers. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_GFSK_MOD_CTRL_GFSK_FLD field. */ |
| #define XCVR_RD_TX_GFSK_MOD_CTRL_GFSK_FLD(base) ((XCVR_TX_GFSK_MOD_CTRL_REG(base) & XCVR_TX_GFSK_MOD_CTRL_GFSK_FLD_MASK) >> XCVR_TX_GFSK_MOD_CTRL_GFSK_FLD_SHIFT) |
| #define XCVR_BRD_TX_GFSK_MOD_CTRL_GFSK_FLD(base) (BME_UBFX32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), XCVR_TX_GFSK_MOD_CTRL_GFSK_FLD_SHIFT, XCVR_TX_GFSK_MOD_CTRL_GFSK_FLD_WIDTH)) |
| |
| /*! @brief Set the GFSK_FLD field to a new value. */ |
| #define XCVR_WR_TX_GFSK_MOD_CTRL_GFSK_FLD(base, value) (XCVR_RMW_TX_GFSK_MOD_CTRL(base, XCVR_TX_GFSK_MOD_CTRL_GFSK_FLD_MASK, XCVR_TX_GFSK_MOD_CTRL_GFSK_FLD(value))) |
| #define XCVR_BWR_TX_GFSK_MOD_CTRL_GFSK_FLD(base, value) (BME_BFI32(&XCVR_TX_GFSK_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_GFSK_MOD_CTRL_GFSK_FLD_SHIFT), XCVR_TX_GFSK_MOD_CTRL_GFSK_FLD_SHIFT, XCVR_TX_GFSK_MOD_CTRL_GFSK_FLD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TX_GFSK_COEFF2 - TX GFSK Filter Coefficients 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TX_GFSK_COEFF2 - TX GFSK Filter Coefficients 2 (RW) |
| * |
| * Reset value: 0xC0630401U |
| * |
| * The two registers TX_GFSK_COEFF1 and TX_GFSK_COEFF2 form a 64-bit little |
| * endian register that is memory mapped internally as shown to override the GFSK |
| * Filter Coefficients. In 64-bit they combine as |
| * {TX_GFSK_COEFF2[31:0],TX_GFSK_COEFF1[31:0]} The resulting 64-bit value is GFSK Manual Filter Coefficient [63:0] |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TX_GFSK_COEFF2 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TX_GFSK_COEFF2(base) (XCVR_TX_GFSK_COEFF2_REG(base)) |
| #define XCVR_WR_TX_GFSK_COEFF2(base, value) (XCVR_TX_GFSK_COEFF2_REG(base) = (value)) |
| #define XCVR_RMW_TX_GFSK_COEFF2(base, mask, value) (XCVR_WR_TX_GFSK_COEFF2(base, (XCVR_RD_TX_GFSK_COEFF2(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TX_GFSK_COEFF2(base, value) (BME_OR32(&XCVR_TX_GFSK_COEFF2_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TX_GFSK_COEFF2(base, value) (BME_AND32(&XCVR_TX_GFSK_COEFF2_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TX_GFSK_COEFF2(base, value) (BME_XOR32(&XCVR_TX_GFSK_COEFF2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TX_GFSK_COEFF1 - TX GFSK Filter Coefficients 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TX_GFSK_COEFF1 - TX GFSK Filter Coefficients 1 (RW) |
| * |
| * Reset value: 0xBB29960DU |
| * |
| * The two registers TX_GFSK_COEFF1 and TX_GFSK_COEFF2 form a 64-bit little |
| * endian register that is memory mapped internally as shown to override the GFSK |
| * Filter Coefficients. In 64-bit they combine as |
| * {TX_GFSK_COEFF2[31:0],TX_GFSK_COEFF1[31:0]} The resulting 64-bit value is GFSK Manual Filter Coefficient [63:0] |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TX_GFSK_COEFF1 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TX_GFSK_COEFF1(base) (XCVR_TX_GFSK_COEFF1_REG(base)) |
| #define XCVR_WR_TX_GFSK_COEFF1(base, value) (XCVR_TX_GFSK_COEFF1_REG(base) = (value)) |
| #define XCVR_RMW_TX_GFSK_COEFF1(base, mask, value) (XCVR_WR_TX_GFSK_COEFF1(base, (XCVR_RD_TX_GFSK_COEFF1(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TX_GFSK_COEFF1(base, value) (BME_OR32(&XCVR_TX_GFSK_COEFF1_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TX_GFSK_COEFF1(base, value) (BME_AND32(&XCVR_TX_GFSK_COEFF1_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TX_GFSK_COEFF1(base, value) (BME_XOR32(&XCVR_TX_GFSK_COEFF1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TX_FSK_MOD_SCALE - TX FSK Modulation Scale |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TX_FSK_MOD_SCALE - TX FSK Modulation Scale (RW) |
| * |
| * Reset value: 0x07FF1800U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TX_FSK_MOD_SCALE register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TX_FSK_MOD_SCALE(base) (XCVR_TX_FSK_MOD_SCALE_REG(base)) |
| #define XCVR_WR_TX_FSK_MOD_SCALE(base, value) (XCVR_TX_FSK_MOD_SCALE_REG(base) = (value)) |
| #define XCVR_RMW_TX_FSK_MOD_SCALE(base, mask, value) (XCVR_WR_TX_FSK_MOD_SCALE(base, (XCVR_RD_TX_FSK_MOD_SCALE(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TX_FSK_MOD_SCALE(base, value) (BME_OR32(&XCVR_TX_FSK_MOD_SCALE_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TX_FSK_MOD_SCALE(base, value) (BME_AND32(&XCVR_TX_FSK_MOD_SCALE_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TX_FSK_MOD_SCALE(base, value) (BME_XOR32(&XCVR_TX_FSK_MOD_SCALE_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TX_FSK_MOD_SCALE bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TX_FSK_MOD_SCALE, field FSK_MODULATION_SCALE_0[12:0] (RW) |
| * |
| * This register is used to provide the modulation level for a data 0 in |
| * 802.15.4 Protocols. The signed 12 bit value that is represented by this register is |
| * presented to the PLL as the Baseband Frequency Word. The frequency result for |
| * this Modulation Scale will be the value of this register times the PLL Low Port |
| * Modulator Frequency Resolution; a typical value for the Frequency Resolution |
| * is 244.14 Hz. The reset value of this little endian register is 0x1800 which |
| * is the 13-bit value of 1_1000_0000_0000 The two's complement of this reset |
| * value is -2048 The range of signed values that this register supports is -4096 to |
| * 4095 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0 field. */ |
| #define XCVR_RD_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0(base) ((XCVR_TX_FSK_MOD_SCALE_REG(base) & XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0_MASK) >> XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0_SHIFT) |
| #define XCVR_BRD_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0(base) (BME_UBFX32(&XCVR_TX_FSK_MOD_SCALE_REG(base), XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0_SHIFT, XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0_WIDTH)) |
| |
| /*! @brief Set the FSK_MODULATION_SCALE_0 field to a new value. */ |
| #define XCVR_WR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0(base, value) (XCVR_RMW_TX_FSK_MOD_SCALE(base, XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0_MASK, XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0(value))) |
| #define XCVR_BWR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0(base, value) (BME_BFI32(&XCVR_TX_FSK_MOD_SCALE_REG(base), ((uint32_t)(value) << XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0_SHIFT), XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0_SHIFT, XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_FSK_MOD_SCALE, field FSK_MODULATION_SCALE_1[28:16] (RW) |
| * |
| * This register is used to provide the modulation level for a data 1 in |
| * 802.15.4 Protocols. The signed 12 bit value that is represented by this register is |
| * presented to the PLL as the Baseband Frequency Word. The frequency result for |
| * this Modulation Scale will be the value of this register times the PLL Low Port |
| * Modulator Frequency Resolution; a typical value for the Frequency Resolution |
| * is 244.14 Hz. The reset value of this little endian register is 0x07FF which |
| * is the 13-bit value of 0_0111_1111_1111 The two's complement of this reset |
| * value is 2047 The range of signed values that this register supports is -4096 to |
| * 4095 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1 field. */ |
| #define XCVR_RD_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1(base) ((XCVR_TX_FSK_MOD_SCALE_REG(base) & XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1_MASK) >> XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1_SHIFT) |
| #define XCVR_BRD_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1(base) (BME_UBFX32(&XCVR_TX_FSK_MOD_SCALE_REG(base), XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1_SHIFT, XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1_WIDTH)) |
| |
| /*! @brief Set the FSK_MODULATION_SCALE_1 field to a new value. */ |
| #define XCVR_WR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1(base, value) (XCVR_RMW_TX_FSK_MOD_SCALE(base, XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1_MASK, XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1(value))) |
| #define XCVR_BWR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1(base, value) (BME_BFI32(&XCVR_TX_FSK_MOD_SCALE_REG(base), ((uint32_t)(value) << XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1_SHIFT), XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1_SHIFT, XCVR_TX_FSK_MOD_SCALE_FSK_MODULATION_SCALE_1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TX_DFT_MOD_PAT - TX DFT Modulation Pattern |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TX_DFT_MOD_PAT - TX DFT Modulation Pattern (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TX_DFT_MOD_PAT register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TX_DFT_MOD_PAT(base) (XCVR_TX_DFT_MOD_PAT_REG(base)) |
| #define XCVR_WR_TX_DFT_MOD_PAT(base, value) (XCVR_TX_DFT_MOD_PAT_REG(base) = (value)) |
| #define XCVR_RMW_TX_DFT_MOD_PAT(base, mask, value) (XCVR_WR_TX_DFT_MOD_PAT(base, (XCVR_RD_TX_DFT_MOD_PAT(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TX_DFT_MOD_PAT(base, value) (BME_OR32(&XCVR_TX_DFT_MOD_PAT_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TX_DFT_MOD_PAT(base, value) (BME_AND32(&XCVR_TX_DFT_MOD_PAT_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TX_DFT_MOD_PAT(base, value) (BME_XOR32(&XCVR_TX_DFT_MOD_PAT_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TX_DFT_TONE_0_1 - TX DFT Tones 0 and 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TX_DFT_TONE_0_1 - TX DFT Tones 0 and 1 (RW) |
| * |
| * Reset value: 0x10000FFFU |
| * |
| * The DFT Tone Registers are used in DFT Tone modes to bypass the GFSK and FSK |
| * Modulators and instead present the selected Tone to the PLL as a constant tone |
| * modulation. The two's complement range of these little endian registers is |
| * -4096 to 4095 |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TX_DFT_TONE_0_1 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TX_DFT_TONE_0_1(base) (XCVR_TX_DFT_TONE_0_1_REG(base)) |
| #define XCVR_WR_TX_DFT_TONE_0_1(base, value) (XCVR_TX_DFT_TONE_0_1_REG(base) = (value)) |
| #define XCVR_RMW_TX_DFT_TONE_0_1(base, mask, value) (XCVR_WR_TX_DFT_TONE_0_1(base, (XCVR_RD_TX_DFT_TONE_0_1(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TX_DFT_TONE_0_1(base, value) (BME_OR32(&XCVR_TX_DFT_TONE_0_1_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TX_DFT_TONE_0_1(base, value) (BME_AND32(&XCVR_TX_DFT_TONE_0_1_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TX_DFT_TONE_0_1(base, value) (BME_XOR32(&XCVR_TX_DFT_TONE_0_1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TX_DFT_TONE_0_1 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TX_DFT_TONE_0_1, field DFT_TONE_1[12:0] (RW) |
| * |
| * This register is used to provide the modulation level in DFT Tone Modes. The |
| * signed 12 bit value that is represented by this register is presented to the |
| * PLL as the Baseband Frequency Word. The frequency result for this Tone will be |
| * the value of this register times the PLL Low Port Modulator Frequency |
| * Resolution; a typical value for the Frequency Resolution is 244.14 Hz. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DFT_TONE_0_1_DFT_TONE_1 field. */ |
| #define XCVR_RD_TX_DFT_TONE_0_1_DFT_TONE_1(base) ((XCVR_TX_DFT_TONE_0_1_REG(base) & XCVR_TX_DFT_TONE_0_1_DFT_TONE_1_MASK) >> XCVR_TX_DFT_TONE_0_1_DFT_TONE_1_SHIFT) |
| #define XCVR_BRD_TX_DFT_TONE_0_1_DFT_TONE_1(base) (BME_UBFX32(&XCVR_TX_DFT_TONE_0_1_REG(base), XCVR_TX_DFT_TONE_0_1_DFT_TONE_1_SHIFT, XCVR_TX_DFT_TONE_0_1_DFT_TONE_1_WIDTH)) |
| |
| /*! @brief Set the DFT_TONE_1 field to a new value. */ |
| #define XCVR_WR_TX_DFT_TONE_0_1_DFT_TONE_1(base, value) (XCVR_RMW_TX_DFT_TONE_0_1(base, XCVR_TX_DFT_TONE_0_1_DFT_TONE_1_MASK, XCVR_TX_DFT_TONE_0_1_DFT_TONE_1(value))) |
| #define XCVR_BWR_TX_DFT_TONE_0_1_DFT_TONE_1(base, value) (BME_BFI32(&XCVR_TX_DFT_TONE_0_1_REG(base), ((uint32_t)(value) << XCVR_TX_DFT_TONE_0_1_DFT_TONE_1_SHIFT), XCVR_TX_DFT_TONE_0_1_DFT_TONE_1_SHIFT, XCVR_TX_DFT_TONE_0_1_DFT_TONE_1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DFT_TONE_0_1, field DFT_TONE_0[28:16] (RW) |
| * |
| * This register is used to provide the modulation level in DFT Tone Modes. The |
| * signed 12 bit value that is represented by this register is presented to the |
| * PLL as the Baseband Frequency Word. The frequency result for this Tone will be |
| * the value of this register times the PLL Low Port Modulator Frequency |
| * Resolution; a typical value for the Frequency Resolution is 244.14 Hz. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DFT_TONE_0_1_DFT_TONE_0 field. */ |
| #define XCVR_RD_TX_DFT_TONE_0_1_DFT_TONE_0(base) ((XCVR_TX_DFT_TONE_0_1_REG(base) & XCVR_TX_DFT_TONE_0_1_DFT_TONE_0_MASK) >> XCVR_TX_DFT_TONE_0_1_DFT_TONE_0_SHIFT) |
| #define XCVR_BRD_TX_DFT_TONE_0_1_DFT_TONE_0(base) (BME_UBFX32(&XCVR_TX_DFT_TONE_0_1_REG(base), XCVR_TX_DFT_TONE_0_1_DFT_TONE_0_SHIFT, XCVR_TX_DFT_TONE_0_1_DFT_TONE_0_WIDTH)) |
| |
| /*! @brief Set the DFT_TONE_0 field to a new value. */ |
| #define XCVR_WR_TX_DFT_TONE_0_1_DFT_TONE_0(base, value) (XCVR_RMW_TX_DFT_TONE_0_1(base, XCVR_TX_DFT_TONE_0_1_DFT_TONE_0_MASK, XCVR_TX_DFT_TONE_0_1_DFT_TONE_0(value))) |
| #define XCVR_BWR_TX_DFT_TONE_0_1_DFT_TONE_0(base, value) (BME_BFI32(&XCVR_TX_DFT_TONE_0_1_REG(base), ((uint32_t)(value) << XCVR_TX_DFT_TONE_0_1_DFT_TONE_0_SHIFT), XCVR_TX_DFT_TONE_0_1_DFT_TONE_0_SHIFT, XCVR_TX_DFT_TONE_0_1_DFT_TONE_0_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TX_DFT_TONE_2_3 - TX DFT Tones 2 and 3 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TX_DFT_TONE_2_3 - TX DFT Tones 2 and 3 (RW) |
| * |
| * Reset value: 0x1E0001FFU |
| * |
| * The DFT Tone Registers are used in DFT Tone modes to bypass the GFSK and FSK |
| * Modulators and instead present the selected Tone to the PLL as a constant tone |
| * modulation. The two's complement range of these little endian registers is |
| * -4096 to 4095 |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TX_DFT_TONE_2_3 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TX_DFT_TONE_2_3(base) (XCVR_TX_DFT_TONE_2_3_REG(base)) |
| #define XCVR_WR_TX_DFT_TONE_2_3(base, value) (XCVR_TX_DFT_TONE_2_3_REG(base) = (value)) |
| #define XCVR_RMW_TX_DFT_TONE_2_3(base, mask, value) (XCVR_WR_TX_DFT_TONE_2_3(base, (XCVR_RD_TX_DFT_TONE_2_3(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TX_DFT_TONE_2_3(base, value) (BME_OR32(&XCVR_TX_DFT_TONE_2_3_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TX_DFT_TONE_2_3(base, value) (BME_AND32(&XCVR_TX_DFT_TONE_2_3_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TX_DFT_TONE_2_3(base, value) (BME_XOR32(&XCVR_TX_DFT_TONE_2_3_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TX_DFT_TONE_2_3 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TX_DFT_TONE_2_3, field DFT_TONE_3[12:0] (RW) |
| * |
| * This register is used to provide the modulation level in DFT Tone Modes. The |
| * signed 12 bit value that is represented by this register is presented to the |
| * PLL as the Baseband Frequency Word. The frequency result for this Tone will be |
| * the value of this register times the PLL Low Port Modulator Frequency |
| * Resolution; a typical value for the Frequency Resolution is 244.14 Hz. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DFT_TONE_2_3_DFT_TONE_3 field. */ |
| #define XCVR_RD_TX_DFT_TONE_2_3_DFT_TONE_3(base) ((XCVR_TX_DFT_TONE_2_3_REG(base) & XCVR_TX_DFT_TONE_2_3_DFT_TONE_3_MASK) >> XCVR_TX_DFT_TONE_2_3_DFT_TONE_3_SHIFT) |
| #define XCVR_BRD_TX_DFT_TONE_2_3_DFT_TONE_3(base) (BME_UBFX32(&XCVR_TX_DFT_TONE_2_3_REG(base), XCVR_TX_DFT_TONE_2_3_DFT_TONE_3_SHIFT, XCVR_TX_DFT_TONE_2_3_DFT_TONE_3_WIDTH)) |
| |
| /*! @brief Set the DFT_TONE_3 field to a new value. */ |
| #define XCVR_WR_TX_DFT_TONE_2_3_DFT_TONE_3(base, value) (XCVR_RMW_TX_DFT_TONE_2_3(base, XCVR_TX_DFT_TONE_2_3_DFT_TONE_3_MASK, XCVR_TX_DFT_TONE_2_3_DFT_TONE_3(value))) |
| #define XCVR_BWR_TX_DFT_TONE_2_3_DFT_TONE_3(base, value) (BME_BFI32(&XCVR_TX_DFT_TONE_2_3_REG(base), ((uint32_t)(value) << XCVR_TX_DFT_TONE_2_3_DFT_TONE_3_SHIFT), XCVR_TX_DFT_TONE_2_3_DFT_TONE_3_SHIFT, XCVR_TX_DFT_TONE_2_3_DFT_TONE_3_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TX_DFT_TONE_2_3, field DFT_TONE_2[28:16] (RW) |
| * |
| * This register is used to provide the modulation level in DFT Tone Modes. The |
| * signed 12 bit value that is represented by this register is presented to the |
| * PLL as the Baseband Frequency Word. The frequency result for this Tone will be |
| * the value of this register times the PLL Low Port Modulator Frequency |
| * Resolution; a typical value for the Frequency Resolution is 244.14 Hz. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_DFT_TONE_2_3_DFT_TONE_2 field. */ |
| #define XCVR_RD_TX_DFT_TONE_2_3_DFT_TONE_2(base) ((XCVR_TX_DFT_TONE_2_3_REG(base) & XCVR_TX_DFT_TONE_2_3_DFT_TONE_2_MASK) >> XCVR_TX_DFT_TONE_2_3_DFT_TONE_2_SHIFT) |
| #define XCVR_BRD_TX_DFT_TONE_2_3_DFT_TONE_2(base) (BME_UBFX32(&XCVR_TX_DFT_TONE_2_3_REG(base), XCVR_TX_DFT_TONE_2_3_DFT_TONE_2_SHIFT, XCVR_TX_DFT_TONE_2_3_DFT_TONE_2_WIDTH)) |
| |
| /*! @brief Set the DFT_TONE_2 field to a new value. */ |
| #define XCVR_WR_TX_DFT_TONE_2_3_DFT_TONE_2(base, value) (XCVR_RMW_TX_DFT_TONE_2_3(base, XCVR_TX_DFT_TONE_2_3_DFT_TONE_2_MASK, XCVR_TX_DFT_TONE_2_3_DFT_TONE_2(value))) |
| #define XCVR_BWR_TX_DFT_TONE_2_3_DFT_TONE_2(base, value) (BME_BFI32(&XCVR_TX_DFT_TONE_2_3_REG(base), ((uint32_t)(value) << XCVR_TX_DFT_TONE_2_3_DFT_TONE_2_SHIFT), XCVR_TX_DFT_TONE_2_3_DFT_TONE_2_SHIFT, XCVR_TX_DFT_TONE_2_3_DFT_TONE_2_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_MOD_OVRD - PLL Modulation Overrides |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_MOD_OVRD - PLL Modulation Overrides (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_MOD_OVRD register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_MOD_OVRD(base) (XCVR_PLL_MOD_OVRD_REG(base)) |
| #define XCVR_WR_PLL_MOD_OVRD(base, value) (XCVR_PLL_MOD_OVRD_REG(base) = (value)) |
| #define XCVR_RMW_PLL_MOD_OVRD(base, mask, value) (XCVR_WR_PLL_MOD_OVRD(base, (XCVR_RD_PLL_MOD_OVRD(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_MOD_OVRD(base, value) (BME_OR32(&XCVR_PLL_MOD_OVRD_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_MOD_OVRD(base, value) (BME_AND32(&XCVR_PLL_MOD_OVRD_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_MOD_OVRD(base, value) (BME_XOR32(&XCVR_PLL_MOD_OVRD_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_MOD_OVRD bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_MOD_OVRD, field MODULATION_WORD_MANUAL[12:0] (RW) |
| * |
| * If MOD_DIS is set, the signed 12 bit value that is represented by this |
| * register is the Baseband Frequency Word. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL field. */ |
| #define XCVR_RD_PLL_MOD_OVRD_MODULATION_WORD_MANUAL(base) ((XCVR_PLL_MOD_OVRD_REG(base) & XCVR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL_MASK) >> XCVR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL_SHIFT) |
| #define XCVR_BRD_PLL_MOD_OVRD_MODULATION_WORD_MANUAL(base) (BME_UBFX32(&XCVR_PLL_MOD_OVRD_REG(base), XCVR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL_SHIFT, XCVR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL_WIDTH)) |
| |
| /*! @brief Set the MODULATION_WORD_MANUAL field to a new value. */ |
| #define XCVR_WR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL(base, value) (XCVR_RMW_PLL_MOD_OVRD(base, XCVR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL_MASK, XCVR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL(value))) |
| #define XCVR_BWR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL(base, value) (BME_BFI32(&XCVR_PLL_MOD_OVRD_REG(base), ((uint32_t)(value) << XCVR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL_SHIFT), XCVR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL_SHIFT, XCVR_PLL_MOD_OVRD_MODULATION_WORD_MANUAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_MOD_OVRD, field MOD_DIS[15] (RW) |
| * |
| * If this bit is set, any modulation from the TX Digital is disabled and the |
| * source of the Baseband Frequency Word is the MODULATION_WORD_MANUAL register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_MOD_OVRD_MOD_DIS field. */ |
| #define XCVR_RD_PLL_MOD_OVRD_MOD_DIS(base) ((XCVR_PLL_MOD_OVRD_REG(base) & XCVR_PLL_MOD_OVRD_MOD_DIS_MASK) >> XCVR_PLL_MOD_OVRD_MOD_DIS_SHIFT) |
| #define XCVR_BRD_PLL_MOD_OVRD_MOD_DIS(base) (BME_UBFX32(&XCVR_PLL_MOD_OVRD_REG(base), XCVR_PLL_MOD_OVRD_MOD_DIS_SHIFT, XCVR_PLL_MOD_OVRD_MOD_DIS_WIDTH)) |
| |
| /*! @brief Set the MOD_DIS field to a new value. */ |
| #define XCVR_WR_PLL_MOD_OVRD_MOD_DIS(base, value) (XCVR_RMW_PLL_MOD_OVRD(base, XCVR_PLL_MOD_OVRD_MOD_DIS_MASK, XCVR_PLL_MOD_OVRD_MOD_DIS(value))) |
| #define XCVR_BWR_PLL_MOD_OVRD_MOD_DIS(base, value) (BME_BFI32(&XCVR_PLL_MOD_OVRD_REG(base), ((uint32_t)(value) << XCVR_PLL_MOD_OVRD_MOD_DIS_SHIFT), XCVR_PLL_MOD_OVRD_MOD_DIS_SHIFT, XCVR_PLL_MOD_OVRD_MOD_DIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_MOD_OVRD, field HPM_BANK_MANUAL[23:16] (RW) |
| * |
| * If HPM_BANK_DIS is set, this register is the value that is applied to the VCO |
| * High Port Bank. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_MOD_OVRD_HPM_BANK_MANUAL field. */ |
| #define XCVR_RD_PLL_MOD_OVRD_HPM_BANK_MANUAL(base) ((XCVR_PLL_MOD_OVRD_REG(base) & XCVR_PLL_MOD_OVRD_HPM_BANK_MANUAL_MASK) >> XCVR_PLL_MOD_OVRD_HPM_BANK_MANUAL_SHIFT) |
| #define XCVR_BRD_PLL_MOD_OVRD_HPM_BANK_MANUAL(base) (BME_UBFX32(&XCVR_PLL_MOD_OVRD_REG(base), XCVR_PLL_MOD_OVRD_HPM_BANK_MANUAL_SHIFT, XCVR_PLL_MOD_OVRD_HPM_BANK_MANUAL_WIDTH)) |
| |
| /*! @brief Set the HPM_BANK_MANUAL field to a new value. */ |
| #define XCVR_WR_PLL_MOD_OVRD_HPM_BANK_MANUAL(base, value) (XCVR_RMW_PLL_MOD_OVRD(base, XCVR_PLL_MOD_OVRD_HPM_BANK_MANUAL_MASK, XCVR_PLL_MOD_OVRD_HPM_BANK_MANUAL(value))) |
| #define XCVR_BWR_PLL_MOD_OVRD_HPM_BANK_MANUAL(base, value) (BME_BFI32(&XCVR_PLL_MOD_OVRD_REG(base), ((uint32_t)(value) << XCVR_PLL_MOD_OVRD_HPM_BANK_MANUAL_SHIFT), XCVR_PLL_MOD_OVRD_HPM_BANK_MANUAL_SHIFT, XCVR_PLL_MOD_OVRD_HPM_BANK_MANUAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_MOD_OVRD, field HPM_BANK_DIS[27] (RW) |
| * |
| * If this bit is set, the High Port Bank Modulation is disabled, and the High |
| * Port Bank value applied to the VCO comes from the HPM_BANK_MANUAL register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_MOD_OVRD_HPM_BANK_DIS field. */ |
| #define XCVR_RD_PLL_MOD_OVRD_HPM_BANK_DIS(base) ((XCVR_PLL_MOD_OVRD_REG(base) & XCVR_PLL_MOD_OVRD_HPM_BANK_DIS_MASK) >> XCVR_PLL_MOD_OVRD_HPM_BANK_DIS_SHIFT) |
| #define XCVR_BRD_PLL_MOD_OVRD_HPM_BANK_DIS(base) (BME_UBFX32(&XCVR_PLL_MOD_OVRD_REG(base), XCVR_PLL_MOD_OVRD_HPM_BANK_DIS_SHIFT, XCVR_PLL_MOD_OVRD_HPM_BANK_DIS_WIDTH)) |
| |
| /*! @brief Set the HPM_BANK_DIS field to a new value. */ |
| #define XCVR_WR_PLL_MOD_OVRD_HPM_BANK_DIS(base, value) (XCVR_RMW_PLL_MOD_OVRD(base, XCVR_PLL_MOD_OVRD_HPM_BANK_DIS_MASK, XCVR_PLL_MOD_OVRD_HPM_BANK_DIS(value))) |
| #define XCVR_BWR_PLL_MOD_OVRD_HPM_BANK_DIS(base, value) (BME_BFI32(&XCVR_PLL_MOD_OVRD_REG(base), ((uint32_t)(value) << XCVR_PLL_MOD_OVRD_HPM_BANK_DIS_SHIFT), XCVR_PLL_MOD_OVRD_HPM_BANK_DIS_SHIFT, XCVR_PLL_MOD_OVRD_HPM_BANK_DIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_MOD_OVRD, field HPM_LSB_MANUAL[29:28] (RW) |
| * |
| * If HPM_LSB_DIS is set, this register is the value that is applied to the VCO |
| * High Port LSB. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_MOD_OVRD_HPM_LSB_MANUAL field. */ |
| #define XCVR_RD_PLL_MOD_OVRD_HPM_LSB_MANUAL(base) ((XCVR_PLL_MOD_OVRD_REG(base) & XCVR_PLL_MOD_OVRD_HPM_LSB_MANUAL_MASK) >> XCVR_PLL_MOD_OVRD_HPM_LSB_MANUAL_SHIFT) |
| #define XCVR_BRD_PLL_MOD_OVRD_HPM_LSB_MANUAL(base) (BME_UBFX32(&XCVR_PLL_MOD_OVRD_REG(base), XCVR_PLL_MOD_OVRD_HPM_LSB_MANUAL_SHIFT, XCVR_PLL_MOD_OVRD_HPM_LSB_MANUAL_WIDTH)) |
| |
| /*! @brief Set the HPM_LSB_MANUAL field to a new value. */ |
| #define XCVR_WR_PLL_MOD_OVRD_HPM_LSB_MANUAL(base, value) (XCVR_RMW_PLL_MOD_OVRD(base, XCVR_PLL_MOD_OVRD_HPM_LSB_MANUAL_MASK, XCVR_PLL_MOD_OVRD_HPM_LSB_MANUAL(value))) |
| #define XCVR_BWR_PLL_MOD_OVRD_HPM_LSB_MANUAL(base, value) (BME_BFI32(&XCVR_PLL_MOD_OVRD_REG(base), ((uint32_t)(value) << XCVR_PLL_MOD_OVRD_HPM_LSB_MANUAL_SHIFT), XCVR_PLL_MOD_OVRD_HPM_LSB_MANUAL_SHIFT, XCVR_PLL_MOD_OVRD_HPM_LSB_MANUAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_MOD_OVRD, field HPM_LSB_DIS[31] (RW) |
| * |
| * If this bit is set, the High Port Sigma Delta Modulator output is disabled, |
| * and the High Port LSB value applied to the VCO comes from the HPM_LSB_MANUAL |
| * register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_MOD_OVRD_HPM_LSB_DIS field. */ |
| #define XCVR_RD_PLL_MOD_OVRD_HPM_LSB_DIS(base) ((XCVR_PLL_MOD_OVRD_REG(base) & XCVR_PLL_MOD_OVRD_HPM_LSB_DIS_MASK) >> XCVR_PLL_MOD_OVRD_HPM_LSB_DIS_SHIFT) |
| #define XCVR_BRD_PLL_MOD_OVRD_HPM_LSB_DIS(base) (BME_UBFX32(&XCVR_PLL_MOD_OVRD_REG(base), XCVR_PLL_MOD_OVRD_HPM_LSB_DIS_SHIFT, XCVR_PLL_MOD_OVRD_HPM_LSB_DIS_WIDTH)) |
| |
| /*! @brief Set the HPM_LSB_DIS field to a new value. */ |
| #define XCVR_WR_PLL_MOD_OVRD_HPM_LSB_DIS(base, value) (XCVR_RMW_PLL_MOD_OVRD(base, XCVR_PLL_MOD_OVRD_HPM_LSB_DIS_MASK, XCVR_PLL_MOD_OVRD_HPM_LSB_DIS(value))) |
| #define XCVR_BWR_PLL_MOD_OVRD_HPM_LSB_DIS(base, value) (BME_BFI32(&XCVR_PLL_MOD_OVRD_REG(base), ((uint32_t)(value) << XCVR_PLL_MOD_OVRD_HPM_LSB_DIS_SHIFT), XCVR_PLL_MOD_OVRD_HPM_LSB_DIS_SHIFT, XCVR_PLL_MOD_OVRD_HPM_LSB_DIS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_CHAN_MAP - PLL Channel Mapping |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_CHAN_MAP - PLL Channel Mapping (RW) |
| * |
| * Reset value: 0x00000200U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_CHAN_MAP register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_CHAN_MAP(base) (XCVR_PLL_CHAN_MAP_REG(base)) |
| #define XCVR_WR_PLL_CHAN_MAP(base, value) (XCVR_PLL_CHAN_MAP_REG(base) = (value)) |
| #define XCVR_RMW_PLL_CHAN_MAP(base, mask, value) (XCVR_WR_PLL_CHAN_MAP(base, (XCVR_RD_PLL_CHAN_MAP(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_CHAN_MAP(base, value) (BME_OR32(&XCVR_PLL_CHAN_MAP_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_CHAN_MAP(base, value) (BME_AND32(&XCVR_PLL_CHAN_MAP_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_CHAN_MAP(base, value) (BME_XOR32(&XCVR_PLL_CHAN_MAP_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_CHAN_MAP bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_CHAN_MAP, field CHANNEL_NUM[6:0] (RW) |
| * |
| * When this register is active, it can be used to directly select a Protocol |
| * specific Channel Number, which is mapped internally to the correct Radio Carrier |
| * Frequency for PLL tuning. The internal mapping is detailed in the table |
| * below. This register is active when BOC or ZOC are set along with their |
| * corresponding Radio Protocols, and this register is also active in the 128 Channel FSK |
| * and GFSK protocols. The Radio Carrier Frequency in the 128 Channel FSK and GFSK |
| * protocols can be calculated using the formula below: Radio Carrier Frequency = |
| * (Channel Number + 2360) x 1 MHz The Radio Channel Frequency can also be |
| * selected by setting the SDM_MAP_DIS bit in the PLL_LP_SDM_CTRL1 register along with |
| * the LPM_INTG, LPM_NUM, and LPM_DENOM registers to get a frequency that equals |
| * ((Reference Clock Frequency x 2) x (LPM_INTG + (LPM_NUM / LPM_DENOM)) This |
| * table shows the internal mapping by Protocol of the Channel Numbers to the Radio |
| * Carrier Frequency (MHz). Channel Number 000 BLE 001 BLE in MBAN 010 BLE |
| * Overlap MBAN 100 Zigbee 101 802.15.4j 0 2402 2360 2402 2400 2363 1 2404 2361 2404 |
| * 2400 2368 2 2406 2362 2406 2400 2373 3 2408 2363 2408 2400 2378 4 2410 2364 |
| * 2410 2400 2383 5 2412 2365 2412 2400 2388 6 2414 2366 2414 2400 2393 7 2416 2367 |
| * 2416 2400 2367 8 2418 2368 2418 2400 2372 9 2420 2369 2420 2400 2377 10 2422 |
| * 2370 2422 2400 2382 11 2424 2371 2424 2405 2387 12 2426 2372 2426 2410 2392 13 |
| * 2428 2373 2428 2415 2397 14 2430 2374 2430 2420 2395 15 2432 2375 2432 2425 |
| * 2399 16 2434 2376 2434 2430 2399 17 2436 2377 2436 2435 2399 18 2438 2378 2438 |
| * 2440 2399 19 2440 2379 2440 2445 2399 20 2442 2380 2442 2450 2399 21 2444 2381 |
| * 2444 2455 2399 22 2446 2382 2446 2460 2399 23 2448 2383 2448 2465 2399 24 2450 |
| * 2384 2450 2470 2399 25 2452 2385 2452 2475 2399 26 2454 2386 2454 2480 2399 |
| * 27 2456 2387 2456 2400 2399 28 2458 2388 2458 2400 2399 29 2460 2389 2460 2400 |
| * 2399 30 2462 2390 2390 2400 2399 31 2464 2391 2391 2400 2399 32 2466 2392 2392 |
| * 2400 2399 33 2468 2393 2393 2400 2399 34 2470 2394 2394 2400 2399 35 2472 |
| * 2395 2395 2400 2399 36 2474 2396 2396 2400 2399 37 2476 2397 2397 2400 2399 38 |
| * 2478 2398 2398 2400 2399 39 2480 2399 2480 or 2399 * 2400 2399 Default 2400 2399 |
| * 2399 2400 2399 * The BLE MBAN Channel Remap bit, BMR, controls the frequency |
| * mapping in this case. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CHAN_MAP_CHANNEL_NUM field. */ |
| #define XCVR_RD_PLL_CHAN_MAP_CHANNEL_NUM(base) ((XCVR_PLL_CHAN_MAP_REG(base) & XCVR_PLL_CHAN_MAP_CHANNEL_NUM_MASK) >> XCVR_PLL_CHAN_MAP_CHANNEL_NUM_SHIFT) |
| #define XCVR_BRD_PLL_CHAN_MAP_CHANNEL_NUM(base) (BME_UBFX32(&XCVR_PLL_CHAN_MAP_REG(base), XCVR_PLL_CHAN_MAP_CHANNEL_NUM_SHIFT, XCVR_PLL_CHAN_MAP_CHANNEL_NUM_WIDTH)) |
| |
| /*! @brief Set the CHANNEL_NUM field to a new value. */ |
| #define XCVR_WR_PLL_CHAN_MAP_CHANNEL_NUM(base, value) (XCVR_RMW_PLL_CHAN_MAP(base, XCVR_PLL_CHAN_MAP_CHANNEL_NUM_MASK, XCVR_PLL_CHAN_MAP_CHANNEL_NUM(value))) |
| #define XCVR_BWR_PLL_CHAN_MAP_CHANNEL_NUM(base, value) (BME_BFI32(&XCVR_PLL_CHAN_MAP_REG(base), ((uint32_t)(value) << XCVR_PLL_CHAN_MAP_CHANNEL_NUM_SHIFT), XCVR_PLL_CHAN_MAP_CHANNEL_NUM_SHIFT, XCVR_PLL_CHAN_MAP_CHANNEL_NUM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CHAN_MAP, field BOC[8] (RW) |
| * |
| * This bit controls the source of the BLE channel selection. |
| * |
| * Values: |
| * - 0b0 - BLE channel number comes from the BLE Link Layer |
| * - 0b1 - BLE channel number comes from the CHANNEL_NUM register |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CHAN_MAP_BOC field. */ |
| #define XCVR_RD_PLL_CHAN_MAP_BOC(base) ((XCVR_PLL_CHAN_MAP_REG(base) & XCVR_PLL_CHAN_MAP_BOC_MASK) >> XCVR_PLL_CHAN_MAP_BOC_SHIFT) |
| #define XCVR_BRD_PLL_CHAN_MAP_BOC(base) (BME_UBFX32(&XCVR_PLL_CHAN_MAP_REG(base), XCVR_PLL_CHAN_MAP_BOC_SHIFT, XCVR_PLL_CHAN_MAP_BOC_WIDTH)) |
| |
| /*! @brief Set the BOC field to a new value. */ |
| #define XCVR_WR_PLL_CHAN_MAP_BOC(base, value) (XCVR_RMW_PLL_CHAN_MAP(base, XCVR_PLL_CHAN_MAP_BOC_MASK, XCVR_PLL_CHAN_MAP_BOC(value))) |
| #define XCVR_BWR_PLL_CHAN_MAP_BOC(base, value) (BME_BFI32(&XCVR_PLL_CHAN_MAP_REG(base), ((uint32_t)(value) << XCVR_PLL_CHAN_MAP_BOC_SHIFT), XCVR_PLL_CHAN_MAP_BOC_SHIFT, XCVR_PLL_CHAN_MAP_BOC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CHAN_MAP, field BMR[9] (RW) |
| * |
| * This bit controls the mapping of BLE channel 39 in Radio Protocol 2, BLE |
| * overlap MBAN mode. |
| * |
| * Values: |
| * - 0b0 - BLE channel 39 is mapped to BLE channel 39, 2.480 GHz |
| * - 0b1 - BLE channel 39 is mapped to MBAN channel 39, 2.399 GHz |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CHAN_MAP_BMR field. */ |
| #define XCVR_RD_PLL_CHAN_MAP_BMR(base) ((XCVR_PLL_CHAN_MAP_REG(base) & XCVR_PLL_CHAN_MAP_BMR_MASK) >> XCVR_PLL_CHAN_MAP_BMR_SHIFT) |
| #define XCVR_BRD_PLL_CHAN_MAP_BMR(base) (BME_UBFX32(&XCVR_PLL_CHAN_MAP_REG(base), XCVR_PLL_CHAN_MAP_BMR_SHIFT, XCVR_PLL_CHAN_MAP_BMR_WIDTH)) |
| |
| /*! @brief Set the BMR field to a new value. */ |
| #define XCVR_WR_PLL_CHAN_MAP_BMR(base, value) (XCVR_RMW_PLL_CHAN_MAP(base, XCVR_PLL_CHAN_MAP_BMR_MASK, XCVR_PLL_CHAN_MAP_BMR(value))) |
| #define XCVR_BWR_PLL_CHAN_MAP_BMR(base, value) (BME_BFI32(&XCVR_PLL_CHAN_MAP_REG(base), ((uint32_t)(value) << XCVR_PLL_CHAN_MAP_BMR_SHIFT), XCVR_PLL_CHAN_MAP_BMR_SHIFT, XCVR_PLL_CHAN_MAP_BMR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CHAN_MAP, field ZOC[10] (RW) |
| * |
| * This bit controls the source of the Zigbee channel selection. |
| * |
| * Values: |
| * - 0b0 - Zigbee channel number comes from the 802.15.4 Link Layer. |
| * - 0b1 - Zigbee channel number comes from the CHANNEL_NUM register |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CHAN_MAP_ZOC field. */ |
| #define XCVR_RD_PLL_CHAN_MAP_ZOC(base) ((XCVR_PLL_CHAN_MAP_REG(base) & XCVR_PLL_CHAN_MAP_ZOC_MASK) >> XCVR_PLL_CHAN_MAP_ZOC_SHIFT) |
| #define XCVR_BRD_PLL_CHAN_MAP_ZOC(base) (BME_UBFX32(&XCVR_PLL_CHAN_MAP_REG(base), XCVR_PLL_CHAN_MAP_ZOC_SHIFT, XCVR_PLL_CHAN_MAP_ZOC_WIDTH)) |
| |
| /*! @brief Set the ZOC field to a new value. */ |
| #define XCVR_WR_PLL_CHAN_MAP_ZOC(base, value) (XCVR_RMW_PLL_CHAN_MAP(base, XCVR_PLL_CHAN_MAP_ZOC_MASK, XCVR_PLL_CHAN_MAP_ZOC(value))) |
| #define XCVR_BWR_PLL_CHAN_MAP_ZOC(base, value) (BME_BFI32(&XCVR_PLL_CHAN_MAP_REG(base), ((uint32_t)(value) << XCVR_PLL_CHAN_MAP_ZOC_SHIFT), XCVR_PLL_CHAN_MAP_ZOC_SHIFT, XCVR_PLL_CHAN_MAP_ZOC_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_LOCK_DETECT - PLL Lock Detect |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_LOCK_DETECT - PLL Lock Detect (RW) |
| * |
| * Reset value: 0x00202600U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_LOCK_DETECT register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_LOCK_DETECT(base) (XCVR_PLL_LOCK_DETECT_REG(base)) |
| #define XCVR_WR_PLL_LOCK_DETECT(base, value) (XCVR_PLL_LOCK_DETECT_REG(base) = (value)) |
| #define XCVR_RMW_PLL_LOCK_DETECT(base, mask, value) (XCVR_WR_PLL_LOCK_DETECT(base, (XCVR_RD_PLL_LOCK_DETECT(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_LOCK_DETECT(base, value) (BME_OR32(&XCVR_PLL_LOCK_DETECT_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_LOCK_DETECT(base, value) (BME_AND32(&XCVR_PLL_LOCK_DETECT_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_LOCK_DETECT(base, value) (BME_XOR32(&XCVR_PLL_LOCK_DETECT_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_LOCK_DETECT bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field CT_FAIL[0] (RO) |
| * |
| * If the Coarse Tune Calibration has completed and the best count difference is |
| * out of the range selected by CTUNE_LDF_LEV, then this bit will be set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_CT_FAIL field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_CT_FAIL(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_CT_FAIL_MASK) >> XCVR_PLL_LOCK_DETECT_CT_FAIL_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_CT_FAIL(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_CT_FAIL_SHIFT, XCVR_PLL_LOCK_DETECT_CT_FAIL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field CTFF[1] (W1C) |
| * |
| * This bit is set when CT_FAIL is first set, and this bit is cleared by writing |
| * a 1 to it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_CTFF field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_CTFF(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_CTFF_MASK) >> XCVR_PLL_LOCK_DETECT_CTFF_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_CTFF(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_CTFF_SHIFT, XCVR_PLL_LOCK_DETECT_CTFF_WIDTH)) |
| |
| /*! @brief Set the CTFF field to a new value. */ |
| #define XCVR_WR_PLL_LOCK_DETECT_CTFF(base, value) (XCVR_RMW_PLL_LOCK_DETECT(base, (XCVR_PLL_LOCK_DETECT_CTFF_MASK | XCVR_PLL_LOCK_DETECT_CSFF_MASK | XCVR_PLL_LOCK_DETECT_FTFF_MASK | XCVR_PLL_LOCK_DETECT_TAFF_MASK), XCVR_PLL_LOCK_DETECT_CTFF(value))) |
| #define XCVR_BWR_PLL_LOCK_DETECT_CTFF(base, value) (BME_BFI32(&XCVR_PLL_LOCK_DETECT_REG(base), ((uint32_t)(value) << XCVR_PLL_LOCK_DETECT_CTFF_SHIFT), XCVR_PLL_LOCK_DETECT_CTFF_SHIFT, XCVR_PLL_LOCK_DETECT_CTFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field CS_FAIL[2] (RO) |
| * |
| * This bit shows the real-time status of the Cycle Slip State Machine Interrupt |
| * which is configured using the control bits in the PLL_HPM_CAL1 and |
| * PLL_HPM_CAL2 registers. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_CS_FAIL field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_CS_FAIL(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_CS_FAIL_MASK) >> XCVR_PLL_LOCK_DETECT_CS_FAIL_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_CS_FAIL(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_CS_FAIL_SHIFT, XCVR_PLL_LOCK_DETECT_CS_FAIL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field CSFF[3] (W1C) |
| * |
| * This bit is set when CS_FAIL is first set, and this bit is cleared by writing |
| * a 1 to it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_CSFF field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_CSFF(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_CSFF_MASK) >> XCVR_PLL_LOCK_DETECT_CSFF_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_CSFF(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_CSFF_SHIFT, XCVR_PLL_LOCK_DETECT_CSFF_WIDTH)) |
| |
| /*! @brief Set the CSFF field to a new value. */ |
| #define XCVR_WR_PLL_LOCK_DETECT_CSFF(base, value) (XCVR_RMW_PLL_LOCK_DETECT(base, (XCVR_PLL_LOCK_DETECT_CSFF_MASK | XCVR_PLL_LOCK_DETECT_CTFF_MASK | XCVR_PLL_LOCK_DETECT_FTFF_MASK | XCVR_PLL_LOCK_DETECT_TAFF_MASK), XCVR_PLL_LOCK_DETECT_CSFF(value))) |
| #define XCVR_BWR_PLL_LOCK_DETECT_CSFF(base, value) (BME_BFI32(&XCVR_PLL_LOCK_DETECT_REG(base), ((uint32_t)(value) << XCVR_PLL_LOCK_DETECT_CSFF_SHIFT), XCVR_PLL_LOCK_DETECT_CSFF_SHIFT, XCVR_PLL_LOCK_DETECT_CSFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field FT_FAIL[4] (RO) |
| * |
| * If the Frequency Target Count has completed and the count was out of the |
| * range selected by FTW_TX or FTW_RX, then this bit will be set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_FT_FAIL field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_FT_FAIL(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_FT_FAIL_MASK) >> XCVR_PLL_LOCK_DETECT_FT_FAIL_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_FT_FAIL(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_FT_FAIL_SHIFT, XCVR_PLL_LOCK_DETECT_FT_FAIL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field FTFF[5] (W1C) |
| * |
| * This bit is set when FT_FAIL is first set, and this bit is cleared by writing |
| * a 1 to it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_FTFF field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_FTFF(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_FTFF_MASK) >> XCVR_PLL_LOCK_DETECT_FTFF_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_FTFF(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_FTFF_SHIFT, XCVR_PLL_LOCK_DETECT_FTFF_WIDTH)) |
| |
| /*! @brief Set the FTFF field to a new value. */ |
| #define XCVR_WR_PLL_LOCK_DETECT_FTFF(base, value) (XCVR_RMW_PLL_LOCK_DETECT(base, (XCVR_PLL_LOCK_DETECT_FTFF_MASK | XCVR_PLL_LOCK_DETECT_CTFF_MASK | XCVR_PLL_LOCK_DETECT_CSFF_MASK | XCVR_PLL_LOCK_DETECT_TAFF_MASK), XCVR_PLL_LOCK_DETECT_FTFF(value))) |
| #define XCVR_BWR_PLL_LOCK_DETECT_FTFF(base, value) (BME_BFI32(&XCVR_PLL_LOCK_DETECT_REG(base), ((uint32_t)(value) << XCVR_PLL_LOCK_DETECT_FTFF_SHIFT), XCVR_PLL_LOCK_DETECT_FTFF_SHIFT, XCVR_PLL_LOCK_DETECT_FTFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field TAFF[7] (W1C) |
| * |
| * This bit is set if the TSM Sequence Aborts, and this bit is cleared by |
| * writing a 1 to it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_TAFF field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_TAFF(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_TAFF_MASK) >> XCVR_PLL_LOCK_DETECT_TAFF_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_TAFF(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_TAFF_SHIFT, XCVR_PLL_LOCK_DETECT_TAFF_WIDTH)) |
| |
| /*! @brief Set the TAFF field to a new value. */ |
| #define XCVR_WR_PLL_LOCK_DETECT_TAFF(base, value) (XCVR_RMW_PLL_LOCK_DETECT(base, (XCVR_PLL_LOCK_DETECT_TAFF_MASK | XCVR_PLL_LOCK_DETECT_CTFF_MASK | XCVR_PLL_LOCK_DETECT_CSFF_MASK | XCVR_PLL_LOCK_DETECT_FTFF_MASK), XCVR_PLL_LOCK_DETECT_TAFF(value))) |
| #define XCVR_BWR_PLL_LOCK_DETECT_TAFF(base, value) (BME_BFI32(&XCVR_PLL_LOCK_DETECT_REG(base), ((uint32_t)(value) << XCVR_PLL_LOCK_DETECT_TAFF_SHIFT), XCVR_PLL_LOCK_DETECT_TAFF_SHIFT, XCVR_PLL_LOCK_DETECT_TAFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field CTUNE_LDF_LEV[11:8] (RW) |
| * |
| * The CT_FAIL and CTFF bits will be set after Coarse Tune Calibration completes |
| * if the absolute value of the Coarse Tune best count difference |
| * (CTUNE_BEST_DIFF in the PLL_CTUNE_RESULTS register) is greater than this register value. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_CTUNE_LDF_LEV field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_CTUNE_LDF_LEV(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_CTUNE_LDF_LEV_MASK) >> XCVR_PLL_LOCK_DETECT_CTUNE_LDF_LEV_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_CTUNE_LDF_LEV(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_CTUNE_LDF_LEV_SHIFT, XCVR_PLL_LOCK_DETECT_CTUNE_LDF_LEV_WIDTH)) |
| |
| /*! @brief Set the CTUNE_LDF_LEV field to a new value. */ |
| #define XCVR_WR_PLL_LOCK_DETECT_CTUNE_LDF_LEV(base, value) (XCVR_RMW_PLL_LOCK_DETECT(base, (XCVR_PLL_LOCK_DETECT_CTUNE_LDF_LEV_MASK | XCVR_PLL_LOCK_DETECT_CTFF_MASK | XCVR_PLL_LOCK_DETECT_CSFF_MASK | XCVR_PLL_LOCK_DETECT_FTFF_MASK | XCVR_PLL_LOCK_DETECT_TAFF_MASK), XCVR_PLL_LOCK_DETECT_CTUNE_LDF_LEV(value))) |
| #define XCVR_BWR_PLL_LOCK_DETECT_CTUNE_LDF_LEV(base, value) (BME_BFI32(&XCVR_PLL_LOCK_DETECT_REG(base), ((uint32_t)(value) << XCVR_PLL_LOCK_DETECT_CTUNE_LDF_LEV_SHIFT), XCVR_PLL_LOCK_DETECT_CTUNE_LDF_LEV_SHIFT, XCVR_PLL_LOCK_DETECT_CTUNE_LDF_LEV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field FTF_RX_THRSH[17:12] (RW) |
| * |
| * In Radio Receive Mode, the FT_FAIL and FTFF bits will be set after the |
| * Frequency Target Count completes if the absolute value of the count difference from |
| * the frequency target count is greater than this register value. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_FTF_RX_THRSH field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_FTF_RX_THRSH(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_FTF_RX_THRSH_MASK) >> XCVR_PLL_LOCK_DETECT_FTF_RX_THRSH_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_FTF_RX_THRSH(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_FTF_RX_THRSH_SHIFT, XCVR_PLL_LOCK_DETECT_FTF_RX_THRSH_WIDTH)) |
| |
| /*! @brief Set the FTF_RX_THRSH field to a new value. */ |
| #define XCVR_WR_PLL_LOCK_DETECT_FTF_RX_THRSH(base, value) (XCVR_RMW_PLL_LOCK_DETECT(base, (XCVR_PLL_LOCK_DETECT_FTF_RX_THRSH_MASK | XCVR_PLL_LOCK_DETECT_CTFF_MASK | XCVR_PLL_LOCK_DETECT_CSFF_MASK | XCVR_PLL_LOCK_DETECT_FTFF_MASK | XCVR_PLL_LOCK_DETECT_TAFF_MASK), XCVR_PLL_LOCK_DETECT_FTF_RX_THRSH(value))) |
| #define XCVR_BWR_PLL_LOCK_DETECT_FTF_RX_THRSH(base, value) (BME_BFI32(&XCVR_PLL_LOCK_DETECT_REG(base), ((uint32_t)(value) << XCVR_PLL_LOCK_DETECT_FTF_RX_THRSH_SHIFT), XCVR_PLL_LOCK_DETECT_FTF_RX_THRSH_SHIFT, XCVR_PLL_LOCK_DETECT_FTF_RX_THRSH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field FTW_RX[19] (RW) |
| * |
| * In Radio Receive Mode, this bit selects the length of time to count for the |
| * estimation of PLL lock frequency, which is compared with the Frequency Target |
| * Window, set by FTF_RX. |
| * |
| * Values: |
| * - 0b0 - 4 us |
| * - 0b1 - 8 us |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_FTW_RX field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_FTW_RX(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_FTW_RX_MASK) >> XCVR_PLL_LOCK_DETECT_FTW_RX_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_FTW_RX(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_FTW_RX_SHIFT, XCVR_PLL_LOCK_DETECT_FTW_RX_WIDTH)) |
| |
| /*! @brief Set the FTW_RX field to a new value. */ |
| #define XCVR_WR_PLL_LOCK_DETECT_FTW_RX(base, value) (XCVR_RMW_PLL_LOCK_DETECT(base, (XCVR_PLL_LOCK_DETECT_FTW_RX_MASK | XCVR_PLL_LOCK_DETECT_CTFF_MASK | XCVR_PLL_LOCK_DETECT_CSFF_MASK | XCVR_PLL_LOCK_DETECT_FTFF_MASK | XCVR_PLL_LOCK_DETECT_TAFF_MASK), XCVR_PLL_LOCK_DETECT_FTW_RX(value))) |
| #define XCVR_BWR_PLL_LOCK_DETECT_FTW_RX(base, value) (BME_BFI32(&XCVR_PLL_LOCK_DETECT_REG(base), ((uint32_t)(value) << XCVR_PLL_LOCK_DETECT_FTW_RX_SHIFT), XCVR_PLL_LOCK_DETECT_FTW_RX_SHIFT, XCVR_PLL_LOCK_DETECT_FTW_RX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field FTF_TX_THRSH[25:20] (RW) |
| * |
| * In Radio Transmit Mode, the FT_FAIL and FTFF bits will be set after the |
| * Frequency Target Count completes if the absolute value of the count difference from |
| * the frequency target count is greater than this register value. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_FTF_TX_THRSH field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_FTF_TX_THRSH(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_FTF_TX_THRSH_MASK) >> XCVR_PLL_LOCK_DETECT_FTF_TX_THRSH_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_FTF_TX_THRSH(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_FTF_TX_THRSH_SHIFT, XCVR_PLL_LOCK_DETECT_FTF_TX_THRSH_WIDTH)) |
| |
| /*! @brief Set the FTF_TX_THRSH field to a new value. */ |
| #define XCVR_WR_PLL_LOCK_DETECT_FTF_TX_THRSH(base, value) (XCVR_RMW_PLL_LOCK_DETECT(base, (XCVR_PLL_LOCK_DETECT_FTF_TX_THRSH_MASK | XCVR_PLL_LOCK_DETECT_CTFF_MASK | XCVR_PLL_LOCK_DETECT_CSFF_MASK | XCVR_PLL_LOCK_DETECT_FTFF_MASK | XCVR_PLL_LOCK_DETECT_TAFF_MASK), XCVR_PLL_LOCK_DETECT_FTF_TX_THRSH(value))) |
| #define XCVR_BWR_PLL_LOCK_DETECT_FTF_TX_THRSH(base, value) (BME_BFI32(&XCVR_PLL_LOCK_DETECT_REG(base), ((uint32_t)(value) << XCVR_PLL_LOCK_DETECT_FTF_TX_THRSH_SHIFT), XCVR_PLL_LOCK_DETECT_FTF_TX_THRSH_SHIFT, XCVR_PLL_LOCK_DETECT_FTF_TX_THRSH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LOCK_DETECT, field FTW_TX[27] (RW) |
| * |
| * In Radio Transmit Mode, this bit selects the length of time to count for the |
| * estimation of PLL lock frequency, which is compared with the Frequency Target |
| * Window, set by FTF_TX. |
| * |
| * Values: |
| * - 0b0 - 4 us |
| * - 0b1 - 8 us |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LOCK_DETECT_FTW_TX field. */ |
| #define XCVR_RD_PLL_LOCK_DETECT_FTW_TX(base) ((XCVR_PLL_LOCK_DETECT_REG(base) & XCVR_PLL_LOCK_DETECT_FTW_TX_MASK) >> XCVR_PLL_LOCK_DETECT_FTW_TX_SHIFT) |
| #define XCVR_BRD_PLL_LOCK_DETECT_FTW_TX(base) (BME_UBFX32(&XCVR_PLL_LOCK_DETECT_REG(base), XCVR_PLL_LOCK_DETECT_FTW_TX_SHIFT, XCVR_PLL_LOCK_DETECT_FTW_TX_WIDTH)) |
| |
| /*! @brief Set the FTW_TX field to a new value. */ |
| #define XCVR_WR_PLL_LOCK_DETECT_FTW_TX(base, value) (XCVR_RMW_PLL_LOCK_DETECT(base, (XCVR_PLL_LOCK_DETECT_FTW_TX_MASK | XCVR_PLL_LOCK_DETECT_CTFF_MASK | XCVR_PLL_LOCK_DETECT_CSFF_MASK | XCVR_PLL_LOCK_DETECT_FTFF_MASK | XCVR_PLL_LOCK_DETECT_TAFF_MASK), XCVR_PLL_LOCK_DETECT_FTW_TX(value))) |
| #define XCVR_BWR_PLL_LOCK_DETECT_FTW_TX(base, value) (BME_BFI32(&XCVR_PLL_LOCK_DETECT_REG(base), ((uint32_t)(value) << XCVR_PLL_LOCK_DETECT_FTW_TX_SHIFT), XCVR_PLL_LOCK_DETECT_FTW_TX_SHIFT, XCVR_PLL_LOCK_DETECT_FTW_TX_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_HP_MOD_CTRL - PLL High Port Modulation Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_HP_MOD_CTRL - PLL High Port Modulation Control (RW) |
| * |
| * Reset value: 0x00840000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_HP_MOD_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_HP_MOD_CTRL(base) (XCVR_PLL_HP_MOD_CTRL_REG(base)) |
| #define XCVR_WR_PLL_HP_MOD_CTRL(base, value) (XCVR_PLL_HP_MOD_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_PLL_HP_MOD_CTRL(base, mask, value) (XCVR_WR_PLL_HP_MOD_CTRL(base, (XCVR_RD_PLL_HP_MOD_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_HP_MOD_CTRL(base, value) (BME_OR32(&XCVR_PLL_HP_MOD_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_HP_MOD_CTRL(base, value) (BME_AND32(&XCVR_PLL_HP_MOD_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_HP_MOD_CTRL(base, value) (BME_XOR32(&XCVR_PLL_HP_MOD_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_HP_MOD_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_HP_MOD_CTRL, field HPM_SDM_MANUAL[9:0] (RW) |
| * |
| * If HP_SDM_DIS is set, this register is the value that is applied as the |
| * Numerator to the High Port SDM. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL field. */ |
| #define XCVR_RD_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL(base) ((XCVR_PLL_HP_MOD_CTRL_REG(base) & XCVR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL_MASK) >> XCVR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL_SHIFT) |
| #define XCVR_BRD_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL(base) (BME_UBFX32(&XCVR_PLL_HP_MOD_CTRL_REG(base), XCVR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL_SHIFT, XCVR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL_WIDTH)) |
| |
| /*! @brief Set the HPM_SDM_MANUAL field to a new value. */ |
| #define XCVR_WR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL(base, value) (XCVR_RMW_PLL_HP_MOD_CTRL(base, (XCVR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL_MASK | XCVR_PLL_HP_MOD_CTRL_HPFF_MASK), XCVR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL(value))) |
| #define XCVR_BWR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL(base, value) (BME_BFI32(&XCVR_PLL_HP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL_SHIFT), XCVR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL_SHIFT, XCVR_PLL_HP_MOD_CTRL_HPM_SDM_MANUAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HP_MOD_CTRL, field HPFF[13] (W1C) |
| * |
| * This bit is set if the High Port Sigma Delta Modulator output is invalid due |
| * to an error in the Fraction applied, and this bit is cleared by writing a 1 to |
| * it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HP_MOD_CTRL_HPFF field. */ |
| #define XCVR_RD_PLL_HP_MOD_CTRL_HPFF(base) ((XCVR_PLL_HP_MOD_CTRL_REG(base) & XCVR_PLL_HP_MOD_CTRL_HPFF_MASK) >> XCVR_PLL_HP_MOD_CTRL_HPFF_SHIFT) |
| #define XCVR_BRD_PLL_HP_MOD_CTRL_HPFF(base) (BME_UBFX32(&XCVR_PLL_HP_MOD_CTRL_REG(base), XCVR_PLL_HP_MOD_CTRL_HPFF_SHIFT, XCVR_PLL_HP_MOD_CTRL_HPFF_WIDTH)) |
| |
| /*! @brief Set the HPFF field to a new value. */ |
| #define XCVR_WR_PLL_HP_MOD_CTRL_HPFF(base, value) (XCVR_RMW_PLL_HP_MOD_CTRL(base, XCVR_PLL_HP_MOD_CTRL_HPFF_MASK, XCVR_PLL_HP_MOD_CTRL_HPFF(value))) |
| #define XCVR_BWR_PLL_HP_MOD_CTRL_HPFF(base, value) (BME_BFI32(&XCVR_PLL_HP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HP_MOD_CTRL_HPFF_SHIFT), XCVR_PLL_HP_MOD_CTRL_HPFF_SHIFT, XCVR_PLL_HP_MOD_CTRL_HPFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HP_MOD_CTRL, field HP_SDM_INV[14] (RW) |
| * |
| * If this bit is set the High Port LSB Fractional Word, including any |
| * Dithering, will be Inverted before it is applied to the High Port Sigma Delta Modulator. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HP_MOD_CTRL_HP_SDM_INV field. */ |
| #define XCVR_RD_PLL_HP_MOD_CTRL_HP_SDM_INV(base) ((XCVR_PLL_HP_MOD_CTRL_REG(base) & XCVR_PLL_HP_MOD_CTRL_HP_SDM_INV_MASK) >> XCVR_PLL_HP_MOD_CTRL_HP_SDM_INV_SHIFT) |
| #define XCVR_BRD_PLL_HP_MOD_CTRL_HP_SDM_INV(base) (BME_UBFX32(&XCVR_PLL_HP_MOD_CTRL_REG(base), XCVR_PLL_HP_MOD_CTRL_HP_SDM_INV_SHIFT, XCVR_PLL_HP_MOD_CTRL_HP_SDM_INV_WIDTH)) |
| |
| /*! @brief Set the HP_SDM_INV field to a new value. */ |
| #define XCVR_WR_PLL_HP_MOD_CTRL_HP_SDM_INV(base, value) (XCVR_RMW_PLL_HP_MOD_CTRL(base, (XCVR_PLL_HP_MOD_CTRL_HP_SDM_INV_MASK | XCVR_PLL_HP_MOD_CTRL_HPFF_MASK), XCVR_PLL_HP_MOD_CTRL_HP_SDM_INV(value))) |
| #define XCVR_BWR_PLL_HP_MOD_CTRL_HP_SDM_INV(base, value) (BME_BFI32(&XCVR_PLL_HP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HP_MOD_CTRL_HP_SDM_INV_SHIFT), XCVR_PLL_HP_MOD_CTRL_HP_SDM_INV_SHIFT, XCVR_PLL_HP_MOD_CTRL_HP_SDM_INV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HP_MOD_CTRL, field HP_SDM_DIS[15] (RW) |
| * |
| * If this bit is set, the High Port Modulation to the HP SDM is disabled, and |
| * the HP SDM Numerator comes from the HPM_SDM_MANUAL register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HP_MOD_CTRL_HP_SDM_DIS field. */ |
| #define XCVR_RD_PLL_HP_MOD_CTRL_HP_SDM_DIS(base) ((XCVR_PLL_HP_MOD_CTRL_REG(base) & XCVR_PLL_HP_MOD_CTRL_HP_SDM_DIS_MASK) >> XCVR_PLL_HP_MOD_CTRL_HP_SDM_DIS_SHIFT) |
| #define XCVR_BRD_PLL_HP_MOD_CTRL_HP_SDM_DIS(base) (BME_UBFX32(&XCVR_PLL_HP_MOD_CTRL_REG(base), XCVR_PLL_HP_MOD_CTRL_HP_SDM_DIS_SHIFT, XCVR_PLL_HP_MOD_CTRL_HP_SDM_DIS_WIDTH)) |
| |
| /*! @brief Set the HP_SDM_DIS field to a new value. */ |
| #define XCVR_WR_PLL_HP_MOD_CTRL_HP_SDM_DIS(base, value) (XCVR_RMW_PLL_HP_MOD_CTRL(base, (XCVR_PLL_HP_MOD_CTRL_HP_SDM_DIS_MASK | XCVR_PLL_HP_MOD_CTRL_HPFF_MASK), XCVR_PLL_HP_MOD_CTRL_HP_SDM_DIS(value))) |
| #define XCVR_BWR_PLL_HP_MOD_CTRL_HP_SDM_DIS(base, value) (BME_BFI32(&XCVR_PLL_HP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HP_MOD_CTRL_HP_SDM_DIS_SHIFT), XCVR_PLL_HP_MOD_CTRL_HP_SDM_DIS_SHIFT, XCVR_PLL_HP_MOD_CTRL_HP_SDM_DIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HP_MOD_CTRL, field HPM_LFSR_LEN[18:16] (RW) |
| * |
| * This register selects the length of the HPM LFSR and the associated LFSR Tap |
| * Mask |
| * |
| * Values: |
| * - 0b000 - LFSR 9, tap mask 100010000 |
| * - 0b001 - LFSR 10, tap mask 1001000000 |
| * - 0b010 - LFSR 11, tap mask 11101000000 |
| * - 0b011 - LFSR 13, tap mask 1101100000000 |
| * - 0b100 - LFSR 15, tap mask 111010000000000 |
| * - 0b101 - LFSR 17, tap mask 11110000000000000 |
| * - 0b110 - Reserved |
| * - 0b111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN field. */ |
| #define XCVR_RD_PLL_HP_MOD_CTRL_HPM_LFSR_LEN(base) ((XCVR_PLL_HP_MOD_CTRL_REG(base) & XCVR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN_MASK) >> XCVR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN_SHIFT) |
| #define XCVR_BRD_PLL_HP_MOD_CTRL_HPM_LFSR_LEN(base) (BME_UBFX32(&XCVR_PLL_HP_MOD_CTRL_REG(base), XCVR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN_SHIFT, XCVR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN_WIDTH)) |
| |
| /*! @brief Set the HPM_LFSR_LEN field to a new value. */ |
| #define XCVR_WR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN(base, value) (XCVR_RMW_PLL_HP_MOD_CTRL(base, (XCVR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN_MASK | XCVR_PLL_HP_MOD_CTRL_HPFF_MASK), XCVR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN(value))) |
| #define XCVR_BWR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN(base, value) (BME_BFI32(&XCVR_PLL_HP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN_SHIFT), XCVR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN_SHIFT, XCVR_PLL_HP_MOD_CTRL_HPM_LFSR_LEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HP_MOD_CTRL, field HP_DTH_SCL[20] (RW) |
| * |
| * If this bit is set, the LFSR dithering of the High Port LSB Fractional Word |
| * will be multiplied by 2. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HP_MOD_CTRL_HP_DTH_SCL field. */ |
| #define XCVR_RD_PLL_HP_MOD_CTRL_HP_DTH_SCL(base) ((XCVR_PLL_HP_MOD_CTRL_REG(base) & XCVR_PLL_HP_MOD_CTRL_HP_DTH_SCL_MASK) >> XCVR_PLL_HP_MOD_CTRL_HP_DTH_SCL_SHIFT) |
| #define XCVR_BRD_PLL_HP_MOD_CTRL_HP_DTH_SCL(base) (BME_UBFX32(&XCVR_PLL_HP_MOD_CTRL_REG(base), XCVR_PLL_HP_MOD_CTRL_HP_DTH_SCL_SHIFT, XCVR_PLL_HP_MOD_CTRL_HP_DTH_SCL_WIDTH)) |
| |
| /*! @brief Set the HP_DTH_SCL field to a new value. */ |
| #define XCVR_WR_PLL_HP_MOD_CTRL_HP_DTH_SCL(base, value) (XCVR_RMW_PLL_HP_MOD_CTRL(base, (XCVR_PLL_HP_MOD_CTRL_HP_DTH_SCL_MASK | XCVR_PLL_HP_MOD_CTRL_HPFF_MASK), XCVR_PLL_HP_MOD_CTRL_HP_DTH_SCL(value))) |
| #define XCVR_BWR_PLL_HP_MOD_CTRL_HP_DTH_SCL(base, value) (BME_BFI32(&XCVR_PLL_HP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HP_MOD_CTRL_HP_DTH_SCL_SHIFT), XCVR_PLL_HP_MOD_CTRL_HP_DTH_SCL_SHIFT, XCVR_PLL_HP_MOD_CTRL_HP_DTH_SCL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HP_MOD_CTRL, field HPM_DTH_EN[23] (RW) |
| * |
| * If this bit is set, the High Port LSB Fractional Word will be Dithered by the |
| * High Port LFSR before it is applied to the HP SDM. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HP_MOD_CTRL_HPM_DTH_EN field. */ |
| #define XCVR_RD_PLL_HP_MOD_CTRL_HPM_DTH_EN(base) ((XCVR_PLL_HP_MOD_CTRL_REG(base) & XCVR_PLL_HP_MOD_CTRL_HPM_DTH_EN_MASK) >> XCVR_PLL_HP_MOD_CTRL_HPM_DTH_EN_SHIFT) |
| #define XCVR_BRD_PLL_HP_MOD_CTRL_HPM_DTH_EN(base) (BME_UBFX32(&XCVR_PLL_HP_MOD_CTRL_REG(base), XCVR_PLL_HP_MOD_CTRL_HPM_DTH_EN_SHIFT, XCVR_PLL_HP_MOD_CTRL_HPM_DTH_EN_WIDTH)) |
| |
| /*! @brief Set the HPM_DTH_EN field to a new value. */ |
| #define XCVR_WR_PLL_HP_MOD_CTRL_HPM_DTH_EN(base, value) (XCVR_RMW_PLL_HP_MOD_CTRL(base, (XCVR_PLL_HP_MOD_CTRL_HPM_DTH_EN_MASK | XCVR_PLL_HP_MOD_CTRL_HPFF_MASK), XCVR_PLL_HP_MOD_CTRL_HPM_DTH_EN(value))) |
| #define XCVR_BWR_PLL_HP_MOD_CTRL_HPM_DTH_EN(base, value) (BME_BFI32(&XCVR_PLL_HP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HP_MOD_CTRL_HPM_DTH_EN_SHIFT), XCVR_PLL_HP_MOD_CTRL_HPM_DTH_EN_SHIFT, XCVR_PLL_HP_MOD_CTRL_HPM_DTH_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HP_MOD_CTRL, field HPM_SCALE[25:24] (RW) |
| * |
| * This register controls the scaling of the High Port Modulation Integer Value |
| * applied to the VCO High Port Bank. |
| * |
| * Values: |
| * - 0b00 - No Scaling |
| * - 0b01 - Multiply by 2 |
| * - 0b10 - Divide by 2 |
| * - 0b11 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HP_MOD_CTRL_HPM_SCALE field. */ |
| #define XCVR_RD_PLL_HP_MOD_CTRL_HPM_SCALE(base) ((XCVR_PLL_HP_MOD_CTRL_REG(base) & XCVR_PLL_HP_MOD_CTRL_HPM_SCALE_MASK) >> XCVR_PLL_HP_MOD_CTRL_HPM_SCALE_SHIFT) |
| #define XCVR_BRD_PLL_HP_MOD_CTRL_HPM_SCALE(base) (BME_UBFX32(&XCVR_PLL_HP_MOD_CTRL_REG(base), XCVR_PLL_HP_MOD_CTRL_HPM_SCALE_SHIFT, XCVR_PLL_HP_MOD_CTRL_HPM_SCALE_WIDTH)) |
| |
| /*! @brief Set the HPM_SCALE field to a new value. */ |
| #define XCVR_WR_PLL_HP_MOD_CTRL_HPM_SCALE(base, value) (XCVR_RMW_PLL_HP_MOD_CTRL(base, (XCVR_PLL_HP_MOD_CTRL_HPM_SCALE_MASK | XCVR_PLL_HP_MOD_CTRL_HPFF_MASK), XCVR_PLL_HP_MOD_CTRL_HPM_SCALE(value))) |
| #define XCVR_BWR_PLL_HP_MOD_CTRL_HPM_SCALE(base, value) (BME_BFI32(&XCVR_PLL_HP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HP_MOD_CTRL_HPM_SCALE_SHIFT), XCVR_PLL_HP_MOD_CTRL_HPM_SCALE_SHIFT, XCVR_PLL_HP_MOD_CTRL_HPM_SCALE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HP_MOD_CTRL, field HP_MOD_INV[31] (RW) |
| * |
| * If this bit is set, the Baseband Frequency Word will be Inverted before |
| * Scaling and Dithering, and then applied to the High Port Bank and the High Port |
| * Sigma Delta Modulator of the HP LSB. Note that the High Port SDM has it's own, |
| * additional, inversion bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HP_MOD_CTRL_HP_MOD_INV field. */ |
| #define XCVR_RD_PLL_HP_MOD_CTRL_HP_MOD_INV(base) ((XCVR_PLL_HP_MOD_CTRL_REG(base) & XCVR_PLL_HP_MOD_CTRL_HP_MOD_INV_MASK) >> XCVR_PLL_HP_MOD_CTRL_HP_MOD_INV_SHIFT) |
| #define XCVR_BRD_PLL_HP_MOD_CTRL_HP_MOD_INV(base) (BME_UBFX32(&XCVR_PLL_HP_MOD_CTRL_REG(base), XCVR_PLL_HP_MOD_CTRL_HP_MOD_INV_SHIFT, XCVR_PLL_HP_MOD_CTRL_HP_MOD_INV_WIDTH)) |
| |
| /*! @brief Set the HP_MOD_INV field to a new value. */ |
| #define XCVR_WR_PLL_HP_MOD_CTRL_HP_MOD_INV(base, value) (XCVR_RMW_PLL_HP_MOD_CTRL(base, (XCVR_PLL_HP_MOD_CTRL_HP_MOD_INV_MASK | XCVR_PLL_HP_MOD_CTRL_HPFF_MASK), XCVR_PLL_HP_MOD_CTRL_HP_MOD_INV(value))) |
| #define XCVR_BWR_PLL_HP_MOD_CTRL_HP_MOD_INV(base, value) (BME_BFI32(&XCVR_PLL_HP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HP_MOD_CTRL_HP_MOD_INV_SHIFT), XCVR_PLL_HP_MOD_CTRL_HP_MOD_INV_SHIFT, XCVR_PLL_HP_MOD_CTRL_HP_MOD_INV_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_HPM_CAL_CTRL - PLL HPM Calibration Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_HPM_CAL_CTRL - PLL HPM Calibration Control (RW) |
| * |
| * Reset value: 0x400002A2U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_HPM_CAL_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_HPM_CAL_CTRL(base) (XCVR_PLL_HPM_CAL_CTRL_REG(base)) |
| #define XCVR_WR_PLL_HPM_CAL_CTRL(base, value) (XCVR_PLL_HPM_CAL_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_PLL_HPM_CAL_CTRL(base, mask, value) (XCVR_WR_PLL_HPM_CAL_CTRL(base, (XCVR_RD_PLL_HPM_CAL_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_HPM_CAL_CTRL(base, value) (BME_OR32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_HPM_CAL_CTRL(base, value) (BME_AND32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_HPM_CAL_CTRL(base, value) (BME_XOR32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_HPM_CAL_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_HPM_CAL_CTRL, field HPM_CAL_FACTOR[12:0] (RO) |
| * |
| * This is the value currently being used by High Port Modulation Multiplier. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR field. */ |
| #define XCVR_RD_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR(base) ((XCVR_PLL_HPM_CAL_CTRL_REG(base) & XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MASK) >> XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_SHIFT) |
| #define XCVR_BRD_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR(base) (BME_UBFX32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_SHIFT, XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HPM_CAL_CTRL, field HP_CAL_DIS[15] (RW) |
| * |
| * If this bit is set, the lookup table value for the HPM Calibration Factor is |
| * overridden by the HPM_CAL_FACTOR_MANUAL register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HPM_CAL_CTRL_HP_CAL_DIS field. */ |
| #define XCVR_RD_PLL_HPM_CAL_CTRL_HP_CAL_DIS(base) ((XCVR_PLL_HPM_CAL_CTRL_REG(base) & XCVR_PLL_HPM_CAL_CTRL_HP_CAL_DIS_MASK) >> XCVR_PLL_HPM_CAL_CTRL_HP_CAL_DIS_SHIFT) |
| #define XCVR_BRD_PLL_HPM_CAL_CTRL_HP_CAL_DIS(base) (BME_UBFX32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), XCVR_PLL_HPM_CAL_CTRL_HP_CAL_DIS_SHIFT, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_DIS_WIDTH)) |
| |
| /*! @brief Set the HP_CAL_DIS field to a new value. */ |
| #define XCVR_WR_PLL_HPM_CAL_CTRL_HP_CAL_DIS(base, value) (XCVR_RMW_PLL_HPM_CAL_CTRL(base, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_DIS_MASK, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_DIS(value))) |
| #define XCVR_BWR_PLL_HPM_CAL_CTRL_HP_CAL_DIS(base, value) (BME_BFI32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HPM_CAL_CTRL_HP_CAL_DIS_SHIFT), XCVR_PLL_HPM_CAL_CTRL_HP_CAL_DIS_SHIFT, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_DIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HPM_CAL_CTRL, field HPM_CAL_FACTOR_MANUAL[28:16] (RW) |
| * |
| * If HP_CAL_DIS is set, this register is the unsigned 13 bit value used by the |
| * HPM Multiplier, the maximum useable value is decimal 6400. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL field. */ |
| #define XCVR_RD_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL(base) ((XCVR_PLL_HPM_CAL_CTRL_REG(base) & XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL_MASK) >> XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL_SHIFT) |
| #define XCVR_BRD_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL(base) (BME_UBFX32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL_SHIFT, XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL_WIDTH)) |
| |
| /*! @brief Set the HPM_CAL_FACTOR_MANUAL field to a new value. */ |
| #define XCVR_WR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL(base, value) (XCVR_RMW_PLL_HPM_CAL_CTRL(base, XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL_MASK, XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL(value))) |
| #define XCVR_BWR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL(base, value) (BME_BFI32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL_SHIFT), XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL_SHIFT, XCVR_PLL_HPM_CAL_CTRL_HPM_CAL_FACTOR_MANUAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HPM_CAL_CTRL, field HP_CAL_ARY[30] (RW) |
| * |
| * This bit selects the size of the array to be used by the math implemented in |
| * the HPM Calibration Factor lookup table. |
| * |
| * Values: |
| * - 0b0 - 128 |
| * - 0b1 - 256 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HPM_CAL_CTRL_HP_CAL_ARY field. */ |
| #define XCVR_RD_PLL_HPM_CAL_CTRL_HP_CAL_ARY(base) ((XCVR_PLL_HPM_CAL_CTRL_REG(base) & XCVR_PLL_HPM_CAL_CTRL_HP_CAL_ARY_MASK) >> XCVR_PLL_HPM_CAL_CTRL_HP_CAL_ARY_SHIFT) |
| #define XCVR_BRD_PLL_HPM_CAL_CTRL_HP_CAL_ARY(base) (BME_UBFX32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), XCVR_PLL_HPM_CAL_CTRL_HP_CAL_ARY_SHIFT, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_ARY_WIDTH)) |
| |
| /*! @brief Set the HP_CAL_ARY field to a new value. */ |
| #define XCVR_WR_PLL_HPM_CAL_CTRL_HP_CAL_ARY(base, value) (XCVR_RMW_PLL_HPM_CAL_CTRL(base, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_ARY_MASK, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_ARY(value))) |
| #define XCVR_BWR_PLL_HPM_CAL_CTRL_HP_CAL_ARY(base, value) (BME_BFI32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HPM_CAL_CTRL_HP_CAL_ARY_SHIFT), XCVR_PLL_HPM_CAL_CTRL_HP_CAL_ARY_SHIFT, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_ARY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HPM_CAL_CTRL, field HP_CAL_TIME[31] (RW) |
| * |
| * This bit selects the length of time to count during HPM Calibration and is |
| * used by the math implemented in the HPM Calibration Factor lookup table. |
| * |
| * Values: |
| * - 0b0 - 25 us |
| * - 0b1 - 50 us |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HPM_CAL_CTRL_HP_CAL_TIME field. */ |
| #define XCVR_RD_PLL_HPM_CAL_CTRL_HP_CAL_TIME(base) ((XCVR_PLL_HPM_CAL_CTRL_REG(base) & XCVR_PLL_HPM_CAL_CTRL_HP_CAL_TIME_MASK) >> XCVR_PLL_HPM_CAL_CTRL_HP_CAL_TIME_SHIFT) |
| #define XCVR_BRD_PLL_HPM_CAL_CTRL_HP_CAL_TIME(base) (BME_UBFX32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), XCVR_PLL_HPM_CAL_CTRL_HP_CAL_TIME_SHIFT, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_TIME_WIDTH)) |
| |
| /*! @brief Set the HP_CAL_TIME field to a new value. */ |
| #define XCVR_WR_PLL_HPM_CAL_CTRL_HP_CAL_TIME(base, value) (XCVR_RMW_PLL_HPM_CAL_CTRL(base, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_TIME_MASK, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_TIME(value))) |
| #define XCVR_BWR_PLL_HPM_CAL_CTRL_HP_CAL_TIME(base, value) (BME_BFI32(&XCVR_PLL_HPM_CAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_HPM_CAL_CTRL_HP_CAL_TIME_SHIFT), XCVR_PLL_HPM_CAL_CTRL_HP_CAL_TIME_SHIFT, XCVR_PLL_HPM_CAL_CTRL_HP_CAL_TIME_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_LD_HPM_CAL1 - PLL Cycle Slip Lock Detect Configuration and HPM Calibration 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_LD_HPM_CAL1 - PLL Cycle Slip Lock Detect Configuration and HPM Calibration 1 (RW) |
| * |
| * Reset value: 0x44300000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_LD_HPM_CAL1 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_LD_HPM_CAL1(base) (XCVR_PLL_LD_HPM_CAL1_REG(base)) |
| #define XCVR_WR_PLL_LD_HPM_CAL1(base, value) (XCVR_PLL_LD_HPM_CAL1_REG(base) = (value)) |
| #define XCVR_RMW_PLL_LD_HPM_CAL1(base, mask, value) (XCVR_WR_PLL_LD_HPM_CAL1(base, (XCVR_RD_PLL_LD_HPM_CAL1(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_LD_HPM_CAL1(base, value) (BME_OR32(&XCVR_PLL_LD_HPM_CAL1_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_LD_HPM_CAL1(base, value) (BME_AND32(&XCVR_PLL_LD_HPM_CAL1_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_LD_HPM_CAL1(base, value) (BME_XOR32(&XCVR_PLL_LD_HPM_CAL1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_LD_HPM_CAL1 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_LD_HPM_CAL1, field CNT_1[16:0] (RO) |
| * |
| * This is the Ripple counter value used for HPM Cal 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LD_HPM_CAL1_CNT_1 field. */ |
| #define XCVR_RD_PLL_LD_HPM_CAL1_CNT_1(base) ((XCVR_PLL_LD_HPM_CAL1_REG(base) & XCVR_PLL_LD_HPM_CAL1_CNT_1_MASK) >> XCVR_PLL_LD_HPM_CAL1_CNT_1_SHIFT) |
| #define XCVR_BRD_PLL_LD_HPM_CAL1_CNT_1(base) (XCVR_RD_PLL_LD_HPM_CAL1_CNT_1(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LD_HPM_CAL1, field CS_WT[22:20] (RW) |
| * |
| * This register sets the time to wait before restarting a Cycle Slip Search if |
| * CS_RC, Cycle Slip Recycle, is set. |
| * |
| * Values: |
| * - 0b000 - 128 us |
| * - 0b001 - 256 us |
| * - 0b010 - 384 us |
| * - 0b011 - 512 us |
| * - 0b100 - 640 us |
| * - 0b101 - 768 us |
| * - 0b110 - 896 us |
| * - 0b111 - 1024 us |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LD_HPM_CAL1_CS_WT field. */ |
| #define XCVR_RD_PLL_LD_HPM_CAL1_CS_WT(base) ((XCVR_PLL_LD_HPM_CAL1_REG(base) & XCVR_PLL_LD_HPM_CAL1_CS_WT_MASK) >> XCVR_PLL_LD_HPM_CAL1_CS_WT_SHIFT) |
| #define XCVR_BRD_PLL_LD_HPM_CAL1_CS_WT(base) (BME_UBFX32(&XCVR_PLL_LD_HPM_CAL1_REG(base), XCVR_PLL_LD_HPM_CAL1_CS_WT_SHIFT, XCVR_PLL_LD_HPM_CAL1_CS_WT_WIDTH)) |
| |
| /*! @brief Set the CS_WT field to a new value. */ |
| #define XCVR_WR_PLL_LD_HPM_CAL1_CS_WT(base, value) (XCVR_RMW_PLL_LD_HPM_CAL1(base, XCVR_PLL_LD_HPM_CAL1_CS_WT_MASK, XCVR_PLL_LD_HPM_CAL1_CS_WT(value))) |
| #define XCVR_BWR_PLL_LD_HPM_CAL1_CS_WT(base, value) (BME_BFI32(&XCVR_PLL_LD_HPM_CAL1_REG(base), ((uint32_t)(value) << XCVR_PLL_LD_HPM_CAL1_CS_WT_SHIFT), XCVR_PLL_LD_HPM_CAL1_CS_WT_SHIFT, XCVR_PLL_LD_HPM_CAL1_CS_WT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LD_HPM_CAL1, field CS_FW[26:24] (RW) |
| * |
| * This register sets the window time for capturing Cycle Slip Flags before |
| * shutting down. |
| * |
| * Values: |
| * - 0b000 - 8 us |
| * - 0b001 - 16 us |
| * - 0b010 - 24 us |
| * - 0b011 - 32 us |
| * - 0b100 - 64 us |
| * - 0b101 - 96 us |
| * - 0b110 - 128 us |
| * - 0b111 - 256 us |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LD_HPM_CAL1_CS_FW field. */ |
| #define XCVR_RD_PLL_LD_HPM_CAL1_CS_FW(base) ((XCVR_PLL_LD_HPM_CAL1_REG(base) & XCVR_PLL_LD_HPM_CAL1_CS_FW_MASK) >> XCVR_PLL_LD_HPM_CAL1_CS_FW_SHIFT) |
| #define XCVR_BRD_PLL_LD_HPM_CAL1_CS_FW(base) (BME_UBFX32(&XCVR_PLL_LD_HPM_CAL1_REG(base), XCVR_PLL_LD_HPM_CAL1_CS_FW_SHIFT, XCVR_PLL_LD_HPM_CAL1_CS_FW_WIDTH)) |
| |
| /*! @brief Set the CS_FW field to a new value. */ |
| #define XCVR_WR_PLL_LD_HPM_CAL1_CS_FW(base, value) (XCVR_RMW_PLL_LD_HPM_CAL1(base, XCVR_PLL_LD_HPM_CAL1_CS_FW_MASK, XCVR_PLL_LD_HPM_CAL1_CS_FW(value))) |
| #define XCVR_BWR_PLL_LD_HPM_CAL1_CS_FW(base, value) (BME_BFI32(&XCVR_PLL_LD_HPM_CAL1_REG(base), ((uint32_t)(value) << XCVR_PLL_LD_HPM_CAL1_CS_FW_SHIFT), XCVR_PLL_LD_HPM_CAL1_CS_FW_SHIFT, XCVR_PLL_LD_HPM_CAL1_CS_FW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LD_HPM_CAL1, field CS_FCNT[31:28] (RW) |
| * |
| * This register value is the maximum number of Cycle Slip Flags that can be |
| * counted before the CS_FAIL is set. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LD_HPM_CAL1_CS_FCNT field. */ |
| #define XCVR_RD_PLL_LD_HPM_CAL1_CS_FCNT(base) ((XCVR_PLL_LD_HPM_CAL1_REG(base) & XCVR_PLL_LD_HPM_CAL1_CS_FCNT_MASK) >> XCVR_PLL_LD_HPM_CAL1_CS_FCNT_SHIFT) |
| #define XCVR_BRD_PLL_LD_HPM_CAL1_CS_FCNT(base) (BME_UBFX32(&XCVR_PLL_LD_HPM_CAL1_REG(base), XCVR_PLL_LD_HPM_CAL1_CS_FCNT_SHIFT, XCVR_PLL_LD_HPM_CAL1_CS_FCNT_WIDTH)) |
| |
| /*! @brief Set the CS_FCNT field to a new value. */ |
| #define XCVR_WR_PLL_LD_HPM_CAL1_CS_FCNT(base, value) (XCVR_RMW_PLL_LD_HPM_CAL1(base, XCVR_PLL_LD_HPM_CAL1_CS_FCNT_MASK, XCVR_PLL_LD_HPM_CAL1_CS_FCNT(value))) |
| #define XCVR_BWR_PLL_LD_HPM_CAL1_CS_FCNT(base, value) (BME_BFI32(&XCVR_PLL_LD_HPM_CAL1_REG(base), ((uint32_t)(value) << XCVR_PLL_LD_HPM_CAL1_CS_FCNT_SHIFT), XCVR_PLL_LD_HPM_CAL1_CS_FCNT_SHIFT, XCVR_PLL_LD_HPM_CAL1_CS_FCNT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_LD_HPM_CAL2 - PLL Cycle Slip Lock Detect Configuration and HPM Calibration 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_LD_HPM_CAL2 - PLL Cycle Slip Lock Detect Configuration and HPM Calibration 2 (RW) |
| * |
| * Reset value: 0x02100000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_LD_HPM_CAL2 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_LD_HPM_CAL2(base) (XCVR_PLL_LD_HPM_CAL2_REG(base)) |
| #define XCVR_WR_PLL_LD_HPM_CAL2(base, value) (XCVR_PLL_LD_HPM_CAL2_REG(base) = (value)) |
| #define XCVR_RMW_PLL_LD_HPM_CAL2(base, mask, value) (XCVR_WR_PLL_LD_HPM_CAL2(base, (XCVR_RD_PLL_LD_HPM_CAL2(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_LD_HPM_CAL2(base, value) (BME_OR32(&XCVR_PLL_LD_HPM_CAL2_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_LD_HPM_CAL2(base, value) (BME_AND32(&XCVR_PLL_LD_HPM_CAL2_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_LD_HPM_CAL2(base, value) (BME_XOR32(&XCVR_PLL_LD_HPM_CAL2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_LD_HPM_CAL2 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_LD_HPM_CAL2, field CNT_2[16:0] (RO) |
| * |
| * This is the Ripple counter value used for HPM Cal 2. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LD_HPM_CAL2_CNT_2 field. */ |
| #define XCVR_RD_PLL_LD_HPM_CAL2_CNT_2(base) ((XCVR_PLL_LD_HPM_CAL2_REG(base) & XCVR_PLL_LD_HPM_CAL2_CNT_2_MASK) >> XCVR_PLL_LD_HPM_CAL2_CNT_2_SHIFT) |
| #define XCVR_BRD_PLL_LD_HPM_CAL2_CNT_2(base) (XCVR_RD_PLL_LD_HPM_CAL2_CNT_2(base)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LD_HPM_CAL2, field CS_RC[20] (RW) |
| * |
| * If this is bit is set, the Cycle Slip Lock Detector will restart after the |
| * Cycle Slip Wait time. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LD_HPM_CAL2_CS_RC field. */ |
| #define XCVR_RD_PLL_LD_HPM_CAL2_CS_RC(base) ((XCVR_PLL_LD_HPM_CAL2_REG(base) & XCVR_PLL_LD_HPM_CAL2_CS_RC_MASK) >> XCVR_PLL_LD_HPM_CAL2_CS_RC_SHIFT) |
| #define XCVR_BRD_PLL_LD_HPM_CAL2_CS_RC(base) (BME_UBFX32(&XCVR_PLL_LD_HPM_CAL2_REG(base), XCVR_PLL_LD_HPM_CAL2_CS_RC_SHIFT, XCVR_PLL_LD_HPM_CAL2_CS_RC_WIDTH)) |
| |
| /*! @brief Set the CS_RC field to a new value. */ |
| #define XCVR_WR_PLL_LD_HPM_CAL2_CS_RC(base, value) (XCVR_RMW_PLL_LD_HPM_CAL2(base, XCVR_PLL_LD_HPM_CAL2_CS_RC_MASK, XCVR_PLL_LD_HPM_CAL2_CS_RC(value))) |
| #define XCVR_BWR_PLL_LD_HPM_CAL2_CS_RC(base, value) (BME_BFI32(&XCVR_PLL_LD_HPM_CAL2_REG(base), ((uint32_t)(value) << XCVR_PLL_LD_HPM_CAL2_CS_RC_SHIFT), XCVR_PLL_LD_HPM_CAL2_CS_RC_SHIFT, XCVR_PLL_LD_HPM_CAL2_CS_RC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LD_HPM_CAL2, field CS_FT[28:24] (RW) |
| * |
| * This register sets the time to hold the analog cycle slip circuit in reset |
| * after a Cycle Slip Flag, the time is a number of counts of the reference clock |
| * equal to the value of this register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LD_HPM_CAL2_CS_FT field. */ |
| #define XCVR_RD_PLL_LD_HPM_CAL2_CS_FT(base) ((XCVR_PLL_LD_HPM_CAL2_REG(base) & XCVR_PLL_LD_HPM_CAL2_CS_FT_MASK) >> XCVR_PLL_LD_HPM_CAL2_CS_FT_SHIFT) |
| #define XCVR_BRD_PLL_LD_HPM_CAL2_CS_FT(base) (BME_UBFX32(&XCVR_PLL_LD_HPM_CAL2_REG(base), XCVR_PLL_LD_HPM_CAL2_CS_FT_SHIFT, XCVR_PLL_LD_HPM_CAL2_CS_FT_WIDTH)) |
| |
| /*! @brief Set the CS_FT field to a new value. */ |
| #define XCVR_WR_PLL_LD_HPM_CAL2_CS_FT(base, value) (XCVR_RMW_PLL_LD_HPM_CAL2(base, XCVR_PLL_LD_HPM_CAL2_CS_FT_MASK, XCVR_PLL_LD_HPM_CAL2_CS_FT(value))) |
| #define XCVR_BWR_PLL_LD_HPM_CAL2_CS_FT(base, value) (BME_BFI32(&XCVR_PLL_LD_HPM_CAL2_REG(base), ((uint32_t)(value) << XCVR_PLL_LD_HPM_CAL2_CS_FT_SHIFT), XCVR_PLL_LD_HPM_CAL2_CS_FT_SHIFT, XCVR_PLL_LD_HPM_CAL2_CS_FT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_HPM_SDM_FRACTION - PLL HPM SDM Fraction |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_HPM_SDM_FRACTION - PLL HPM SDM Fraction (RW) |
| * |
| * Reset value: 0x01FF0000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_HPM_SDM_FRACTION register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_HPM_SDM_FRACTION(base) (XCVR_PLL_HPM_SDM_FRACTION_REG(base)) |
| #define XCVR_WR_PLL_HPM_SDM_FRACTION(base, value) (XCVR_PLL_HPM_SDM_FRACTION_REG(base) = (value)) |
| #define XCVR_RMW_PLL_HPM_SDM_FRACTION(base, mask, value) (XCVR_WR_PLL_HPM_SDM_FRACTION(base, (XCVR_RD_PLL_HPM_SDM_FRACTION(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_HPM_SDM_FRACTION(base, value) (BME_OR32(&XCVR_PLL_HPM_SDM_FRACTION_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_HPM_SDM_FRACTION(base, value) (BME_AND32(&XCVR_PLL_HPM_SDM_FRACTION_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_HPM_SDM_FRACTION(base, value) (BME_XOR32(&XCVR_PLL_HPM_SDM_FRACTION_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_HPM_SDM_FRACTION bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_HPM_SDM_FRACTION, field HPM_NUM_SELECTED[9:0] (RO) |
| * |
| * This is the numerator that is currently being applied to the High Port Sigma |
| * Delta Modulator, for valid Sigma Delta operation the resulting fraction |
| * NUM/DENOM must be in the range -0.6 to +0.6 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HPM_SDM_FRACTION_HPM_NUM_SELECTED field. */ |
| #define XCVR_RD_PLL_HPM_SDM_FRACTION_HPM_NUM_SELECTED(base) ((XCVR_PLL_HPM_SDM_FRACTION_REG(base) & XCVR_PLL_HPM_SDM_FRACTION_HPM_NUM_SELECTED_MASK) >> XCVR_PLL_HPM_SDM_FRACTION_HPM_NUM_SELECTED_SHIFT) |
| #define XCVR_BRD_PLL_HPM_SDM_FRACTION_HPM_NUM_SELECTED(base) (BME_UBFX32(&XCVR_PLL_HPM_SDM_FRACTION_REG(base), XCVR_PLL_HPM_SDM_FRACTION_HPM_NUM_SELECTED_SHIFT, XCVR_PLL_HPM_SDM_FRACTION_HPM_NUM_SELECTED_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_HPM_SDM_FRACTION, field HPM_DENOM[25:16] (RW) |
| * |
| * This is the denominator that is currently being applied to the High Port |
| * Sigma Delta Modulator, for valid Sigma Delta operation the resulting fraction |
| * NUM/DENOM must be in the range -0.6 to +0.6 The High Port Sigma Delta Modulator |
| * LSB in Hz can be calculated as follows: HP SDM LSB Resolution = High Port Array |
| * LSB in Hz / 2^6 = 6e3/256 = 93.75 Hz The High Port Array LSB is expected to be |
| * 6 kHz after calibration. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_HPM_SDM_FRACTION_HPM_DENOM field. */ |
| #define XCVR_RD_PLL_HPM_SDM_FRACTION_HPM_DENOM(base) ((XCVR_PLL_HPM_SDM_FRACTION_REG(base) & XCVR_PLL_HPM_SDM_FRACTION_HPM_DENOM_MASK) >> XCVR_PLL_HPM_SDM_FRACTION_HPM_DENOM_SHIFT) |
| #define XCVR_BRD_PLL_HPM_SDM_FRACTION_HPM_DENOM(base) (BME_UBFX32(&XCVR_PLL_HPM_SDM_FRACTION_REG(base), XCVR_PLL_HPM_SDM_FRACTION_HPM_DENOM_SHIFT, XCVR_PLL_HPM_SDM_FRACTION_HPM_DENOM_WIDTH)) |
| |
| /*! @brief Set the HPM_DENOM field to a new value. */ |
| #define XCVR_WR_PLL_HPM_SDM_FRACTION_HPM_DENOM(base, value) (XCVR_RMW_PLL_HPM_SDM_FRACTION(base, XCVR_PLL_HPM_SDM_FRACTION_HPM_DENOM_MASK, XCVR_PLL_HPM_SDM_FRACTION_HPM_DENOM(value))) |
| #define XCVR_BWR_PLL_HPM_SDM_FRACTION_HPM_DENOM(base, value) (BME_BFI32(&XCVR_PLL_HPM_SDM_FRACTION_REG(base), ((uint32_t)(value) << XCVR_PLL_HPM_SDM_FRACTION_HPM_DENOM_SHIFT), XCVR_PLL_HPM_SDM_FRACTION_HPM_DENOM_SHIFT, XCVR_PLL_HPM_SDM_FRACTION_HPM_DENOM_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_LP_MOD_CTRL - PLL Low Port Modulation Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_LP_MOD_CTRL - PLL Low Port Modulation Control (RW) |
| * |
| * Reset value: 0x08080000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_LP_MOD_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_LP_MOD_CTRL(base) (XCVR_PLL_LP_MOD_CTRL_REG(base)) |
| #define XCVR_WR_PLL_LP_MOD_CTRL(base, value) (XCVR_PLL_LP_MOD_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_PLL_LP_MOD_CTRL(base, mask, value) (XCVR_WR_PLL_LP_MOD_CTRL(base, (XCVR_RD_PLL_LP_MOD_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_LP_MOD_CTRL(base, value) (BME_OR32(&XCVR_PLL_LP_MOD_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_LP_MOD_CTRL(base, value) (BME_AND32(&XCVR_PLL_LP_MOD_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_LP_MOD_CTRL(base, value) (BME_XOR32(&XCVR_PLL_LP_MOD_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_LP_MOD_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_MOD_CTRL, field PLL_LOOP_DIVIDER_MANUAL[5:0] (RW) |
| * |
| * If PLL_LD_DIS is set, this register is the value that is applied to the PLL |
| * Loop Divider i. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL field. */ |
| #define XCVR_RD_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL(base) ((XCVR_PLL_LP_MOD_CTRL_REG(base) & XCVR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL_MASK) >> XCVR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL_SHIFT) |
| #define XCVR_BRD_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL(base) (BME_UBFX32(&XCVR_PLL_LP_MOD_CTRL_REG(base), XCVR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL_SHIFT, XCVR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL_WIDTH)) |
| |
| /*! @brief Set the PLL_LOOP_DIVIDER_MANUAL field to a new value. */ |
| #define XCVR_WR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL(base, value) (XCVR_RMW_PLL_LP_MOD_CTRL(base, (XCVR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL_MASK | XCVR_PLL_LP_MOD_CTRL_LPFF_MASK), XCVR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL(value))) |
| #define XCVR_BWR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL(base, value) (BME_BFI32(&XCVR_PLL_LP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL_SHIFT), XCVR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL_SHIFT, XCVR_PLL_LP_MOD_CTRL_PLL_LOOP_DIVIDER_MANUAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_MOD_CTRL, field PLL_LD_DIS[11] (RW) |
| * |
| * If this bit is set, the Low Port Sigma Delta Modulator output is disabled, |
| * and the PLL Loop Divider value applied to the PLL comes from the |
| * PLL_LOOP_DIVIDER_MANUAL register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_MOD_CTRL_PLL_LD_DIS field. */ |
| #define XCVR_RD_PLL_LP_MOD_CTRL_PLL_LD_DIS(base) ((XCVR_PLL_LP_MOD_CTRL_REG(base) & XCVR_PLL_LP_MOD_CTRL_PLL_LD_DIS_MASK) >> XCVR_PLL_LP_MOD_CTRL_PLL_LD_DIS_SHIFT) |
| #define XCVR_BRD_PLL_LP_MOD_CTRL_PLL_LD_DIS(base) (BME_UBFX32(&XCVR_PLL_LP_MOD_CTRL_REG(base), XCVR_PLL_LP_MOD_CTRL_PLL_LD_DIS_SHIFT, XCVR_PLL_LP_MOD_CTRL_PLL_LD_DIS_WIDTH)) |
| |
| /*! @brief Set the PLL_LD_DIS field to a new value. */ |
| #define XCVR_WR_PLL_LP_MOD_CTRL_PLL_LD_DIS(base, value) (XCVR_RMW_PLL_LP_MOD_CTRL(base, (XCVR_PLL_LP_MOD_CTRL_PLL_LD_DIS_MASK | XCVR_PLL_LP_MOD_CTRL_LPFF_MASK), XCVR_PLL_LP_MOD_CTRL_PLL_LD_DIS(value))) |
| #define XCVR_BWR_PLL_LP_MOD_CTRL_PLL_LD_DIS(base, value) (BME_BFI32(&XCVR_PLL_LP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_MOD_CTRL_PLL_LD_DIS_SHIFT), XCVR_PLL_LP_MOD_CTRL_PLL_LD_DIS_SHIFT, XCVR_PLL_LP_MOD_CTRL_PLL_LD_DIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_MOD_CTRL, field LPFF[13] (W1C) |
| * |
| * This bit is set if the Low Port Sigma Delta Modulator output is invalid due |
| * to an error in the Fraction applied, and this bit is cleared by writing a 1 to |
| * it. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_MOD_CTRL_LPFF field. */ |
| #define XCVR_RD_PLL_LP_MOD_CTRL_LPFF(base) ((XCVR_PLL_LP_MOD_CTRL_REG(base) & XCVR_PLL_LP_MOD_CTRL_LPFF_MASK) >> XCVR_PLL_LP_MOD_CTRL_LPFF_SHIFT) |
| #define XCVR_BRD_PLL_LP_MOD_CTRL_LPFF(base) (BME_UBFX32(&XCVR_PLL_LP_MOD_CTRL_REG(base), XCVR_PLL_LP_MOD_CTRL_LPFF_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPFF_WIDTH)) |
| |
| /*! @brief Set the LPFF field to a new value. */ |
| #define XCVR_WR_PLL_LP_MOD_CTRL_LPFF(base, value) (XCVR_RMW_PLL_LP_MOD_CTRL(base, XCVR_PLL_LP_MOD_CTRL_LPFF_MASK, XCVR_PLL_LP_MOD_CTRL_LPFF(value))) |
| #define XCVR_BWR_PLL_LP_MOD_CTRL_LPFF(base, value) (BME_BFI32(&XCVR_PLL_LP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_MOD_CTRL_LPFF_SHIFT), XCVR_PLL_LP_MOD_CTRL_LPFF_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_MOD_CTRL, field LPM_SDM_INV[14] (RW) |
| * |
| * If this bit is set the Scaled Baseband Frequency Word, including any |
| * Dithering, will be Inverted before it is applied to the Low Port Sigma Delta Modulator. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_MOD_CTRL_LPM_SDM_INV field. */ |
| #define XCVR_RD_PLL_LP_MOD_CTRL_LPM_SDM_INV(base) ((XCVR_PLL_LP_MOD_CTRL_REG(base) & XCVR_PLL_LP_MOD_CTRL_LPM_SDM_INV_MASK) >> XCVR_PLL_LP_MOD_CTRL_LPM_SDM_INV_SHIFT) |
| #define XCVR_BRD_PLL_LP_MOD_CTRL_LPM_SDM_INV(base) (BME_UBFX32(&XCVR_PLL_LP_MOD_CTRL_REG(base), XCVR_PLL_LP_MOD_CTRL_LPM_SDM_INV_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_SDM_INV_WIDTH)) |
| |
| /*! @brief Set the LPM_SDM_INV field to a new value. */ |
| #define XCVR_WR_PLL_LP_MOD_CTRL_LPM_SDM_INV(base, value) (XCVR_RMW_PLL_LP_MOD_CTRL(base, (XCVR_PLL_LP_MOD_CTRL_LPM_SDM_INV_MASK | XCVR_PLL_LP_MOD_CTRL_LPFF_MASK), XCVR_PLL_LP_MOD_CTRL_LPM_SDM_INV(value))) |
| #define XCVR_BWR_PLL_LP_MOD_CTRL_LPM_SDM_INV(base, value) (BME_BFI32(&XCVR_PLL_LP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_MOD_CTRL_LPM_SDM_INV_SHIFT), XCVR_PLL_LP_MOD_CTRL_LPM_SDM_INV_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_SDM_INV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_MOD_CTRL, field LPM_SDM_DIS[15] (RW) |
| * |
| * This bit controls the Modulation of the Low Port Sigma Delta. If this bit is |
| * set, the Low Port Sigma Delta will be active and control the PLL to maintain a |
| * steady frequency based on the current Integer, Numerator, and Denominator |
| * values that are being applied. Modulation and Dithering will be disabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_MOD_CTRL_LPM_SDM_DIS field. */ |
| #define XCVR_RD_PLL_LP_MOD_CTRL_LPM_SDM_DIS(base) ((XCVR_PLL_LP_MOD_CTRL_REG(base) & XCVR_PLL_LP_MOD_CTRL_LPM_SDM_DIS_MASK) >> XCVR_PLL_LP_MOD_CTRL_LPM_SDM_DIS_SHIFT) |
| #define XCVR_BRD_PLL_LP_MOD_CTRL_LPM_SDM_DIS(base) (BME_UBFX32(&XCVR_PLL_LP_MOD_CTRL_REG(base), XCVR_PLL_LP_MOD_CTRL_LPM_SDM_DIS_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_SDM_DIS_WIDTH)) |
| |
| /*! @brief Set the LPM_SDM_DIS field to a new value. */ |
| #define XCVR_WR_PLL_LP_MOD_CTRL_LPM_SDM_DIS(base, value) (XCVR_RMW_PLL_LP_MOD_CTRL(base, (XCVR_PLL_LP_MOD_CTRL_LPM_SDM_DIS_MASK | XCVR_PLL_LP_MOD_CTRL_LPFF_MASK), XCVR_PLL_LP_MOD_CTRL_LPM_SDM_DIS(value))) |
| #define XCVR_BWR_PLL_LP_MOD_CTRL_LPM_SDM_DIS(base, value) (BME_BFI32(&XCVR_PLL_LP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_MOD_CTRL_LPM_SDM_DIS_SHIFT), XCVR_PLL_LP_MOD_CTRL_LPM_SDM_DIS_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_SDM_DIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_MOD_CTRL, field LPM_DTH_SCL[19:16] (RW) |
| * |
| * This register controls the scale of the Dithering added to the Scaled |
| * Baseband Frequency Word before it is applied to the Low Port Sigma Delta Modulator as |
| * the LPM Numerator. The unit for the ranges shown below is the LP SDM LSB in |
| * Hz. |
| * |
| * Values: |
| * - 0b0000 - Reserved |
| * - 0b0001 - Reserved |
| * - 0b0010 - Reserved |
| * - 0b0011 - Reserved |
| * - 0b0100 - Reserved |
| * - 0b0101 - -128 to 96 |
| * - 0b0110 - -256 to 192 |
| * - 0b0111 - -512 to 384 |
| * - 0b1000 - -1024 to 768 |
| * - 0b1001 - -2048 to 1536 |
| * - 0b1010 - -4096 to 3072 |
| * - 0b1011 - -8192 to 6144 |
| * - 0b1100 - Reserved |
| * - 0b1101 - Reserved |
| * - 0b1110 - Reserved |
| * - 0b1111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_MOD_CTRL_LPM_DTH_SCL field. */ |
| #define XCVR_RD_PLL_LP_MOD_CTRL_LPM_DTH_SCL(base) ((XCVR_PLL_LP_MOD_CTRL_REG(base) & XCVR_PLL_LP_MOD_CTRL_LPM_DTH_SCL_MASK) >> XCVR_PLL_LP_MOD_CTRL_LPM_DTH_SCL_SHIFT) |
| #define XCVR_BRD_PLL_LP_MOD_CTRL_LPM_DTH_SCL(base) (BME_UBFX32(&XCVR_PLL_LP_MOD_CTRL_REG(base), XCVR_PLL_LP_MOD_CTRL_LPM_DTH_SCL_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_DTH_SCL_WIDTH)) |
| |
| /*! @brief Set the LPM_DTH_SCL field to a new value. */ |
| #define XCVR_WR_PLL_LP_MOD_CTRL_LPM_DTH_SCL(base, value) (XCVR_RMW_PLL_LP_MOD_CTRL(base, (XCVR_PLL_LP_MOD_CTRL_LPM_DTH_SCL_MASK | XCVR_PLL_LP_MOD_CTRL_LPFF_MASK), XCVR_PLL_LP_MOD_CTRL_LPM_DTH_SCL(value))) |
| #define XCVR_BWR_PLL_LP_MOD_CTRL_LPM_DTH_SCL(base, value) (BME_BFI32(&XCVR_PLL_LP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_MOD_CTRL_LPM_DTH_SCL_SHIFT), XCVR_PLL_LP_MOD_CTRL_LPM_DTH_SCL_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_DTH_SCL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_MOD_CTRL, field LPM_D_CTRL[22] (RW) |
| * |
| * If LPM_D_OVRD is set, this bit turns LPM Dithering on and off. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_MOD_CTRL_LPM_D_CTRL field. */ |
| #define XCVR_RD_PLL_LP_MOD_CTRL_LPM_D_CTRL(base) ((XCVR_PLL_LP_MOD_CTRL_REG(base) & XCVR_PLL_LP_MOD_CTRL_LPM_D_CTRL_MASK) >> XCVR_PLL_LP_MOD_CTRL_LPM_D_CTRL_SHIFT) |
| #define XCVR_BRD_PLL_LP_MOD_CTRL_LPM_D_CTRL(base) (BME_UBFX32(&XCVR_PLL_LP_MOD_CTRL_REG(base), XCVR_PLL_LP_MOD_CTRL_LPM_D_CTRL_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_D_CTRL_WIDTH)) |
| |
| /*! @brief Set the LPM_D_CTRL field to a new value. */ |
| #define XCVR_WR_PLL_LP_MOD_CTRL_LPM_D_CTRL(base, value) (XCVR_RMW_PLL_LP_MOD_CTRL(base, (XCVR_PLL_LP_MOD_CTRL_LPM_D_CTRL_MASK | XCVR_PLL_LP_MOD_CTRL_LPFF_MASK), XCVR_PLL_LP_MOD_CTRL_LPM_D_CTRL(value))) |
| #define XCVR_BWR_PLL_LP_MOD_CTRL_LPM_D_CTRL(base, value) (BME_BFI32(&XCVR_PLL_LP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_MOD_CTRL_LPM_D_CTRL_SHIFT), XCVR_PLL_LP_MOD_CTRL_LPM_D_CTRL_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_D_CTRL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_MOD_CTRL, field LPM_D_OVRD[23] (RW) |
| * |
| * When this bit is set, the Scaled Baseband Frequency Word applied to the Low |
| * Port Sigma Delta Modulator will be dithered if LPM_D_CTRL is set, and not |
| * dithered if LPM_D_CTRL is cleared. If this bit is cleared, then the LPM Numerator |
| * will be dithered in Radio Receive mode, and also when the LPM Numerator |
| * approaches an Integer value in order to preserve the validity of the Sigma Delta |
| * Modulator output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_MOD_CTRL_LPM_D_OVRD field. */ |
| #define XCVR_RD_PLL_LP_MOD_CTRL_LPM_D_OVRD(base) ((XCVR_PLL_LP_MOD_CTRL_REG(base) & XCVR_PLL_LP_MOD_CTRL_LPM_D_OVRD_MASK) >> XCVR_PLL_LP_MOD_CTRL_LPM_D_OVRD_SHIFT) |
| #define XCVR_BRD_PLL_LP_MOD_CTRL_LPM_D_OVRD(base) (BME_UBFX32(&XCVR_PLL_LP_MOD_CTRL_REG(base), XCVR_PLL_LP_MOD_CTRL_LPM_D_OVRD_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_D_OVRD_WIDTH)) |
| |
| /*! @brief Set the LPM_D_OVRD field to a new value. */ |
| #define XCVR_WR_PLL_LP_MOD_CTRL_LPM_D_OVRD(base, value) (XCVR_RMW_PLL_LP_MOD_CTRL(base, (XCVR_PLL_LP_MOD_CTRL_LPM_D_OVRD_MASK | XCVR_PLL_LP_MOD_CTRL_LPFF_MASK), XCVR_PLL_LP_MOD_CTRL_LPM_D_OVRD(value))) |
| #define XCVR_BWR_PLL_LP_MOD_CTRL_LPM_D_OVRD(base, value) (BME_BFI32(&XCVR_PLL_LP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_MOD_CTRL_LPM_D_OVRD_SHIFT), XCVR_PLL_LP_MOD_CTRL_LPM_D_OVRD_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_D_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_MOD_CTRL, field LPM_SCALE[27:24] (RW) |
| * |
| * This register controls the scaling of the Baseband Frequency Word and is used |
| * to match the Modulation Frequency Deviation required to the Low Port Sigma |
| * Delta Modulator LSB size in Hz. |
| * |
| * Values: |
| * - 0b0000 - No Scaling |
| * - 0b0001 - Multiply by 2 |
| * - 0b0010 - Multiply by 4 |
| * - 0b0011 - Multiply by 8 |
| * - 0b0100 - Multiply by 16 |
| * - 0b0101 - Multiply by 32 |
| * - 0b0110 - Multiply by 64 |
| * - 0b0111 - Multiply by 128 |
| * - 0b1000 - Multiply by 256 |
| * - 0b1001 - Multiply by 512 |
| * - 0b1010 - Multiply by 1024 |
| * - 0b1011 - Multiply by 2048 |
| * - 0b1100 - Reserved |
| * - 0b1101 - Reserved |
| * - 0b1110 - Reserved |
| * - 0b1111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_MOD_CTRL_LPM_SCALE field. */ |
| #define XCVR_RD_PLL_LP_MOD_CTRL_LPM_SCALE(base) ((XCVR_PLL_LP_MOD_CTRL_REG(base) & XCVR_PLL_LP_MOD_CTRL_LPM_SCALE_MASK) >> XCVR_PLL_LP_MOD_CTRL_LPM_SCALE_SHIFT) |
| #define XCVR_BRD_PLL_LP_MOD_CTRL_LPM_SCALE(base) (BME_UBFX32(&XCVR_PLL_LP_MOD_CTRL_REG(base), XCVR_PLL_LP_MOD_CTRL_LPM_SCALE_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_SCALE_WIDTH)) |
| |
| /*! @brief Set the LPM_SCALE field to a new value. */ |
| #define XCVR_WR_PLL_LP_MOD_CTRL_LPM_SCALE(base, value) (XCVR_RMW_PLL_LP_MOD_CTRL(base, (XCVR_PLL_LP_MOD_CTRL_LPM_SCALE_MASK | XCVR_PLL_LP_MOD_CTRL_LPFF_MASK), XCVR_PLL_LP_MOD_CTRL_LPM_SCALE(value))) |
| #define XCVR_BWR_PLL_LP_MOD_CTRL_LPM_SCALE(base, value) (BME_BFI32(&XCVR_PLL_LP_MOD_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_MOD_CTRL_LPM_SCALE_SHIFT), XCVR_PLL_LP_MOD_CTRL_LPM_SCALE_SHIFT, XCVR_PLL_LP_MOD_CTRL_LPM_SCALE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_LP_SDM_CTRL1 - PLL Low Port SDM Control 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_LP_SDM_CTRL1 - PLL Low Port SDM Control 1 (RW) |
| * |
| * Reset value: 0x00260026U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_LP_SDM_CTRL1 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_LP_SDM_CTRL1(base) (XCVR_PLL_LP_SDM_CTRL1_REG(base)) |
| #define XCVR_WR_PLL_LP_SDM_CTRL1(base, value) (XCVR_PLL_LP_SDM_CTRL1_REG(base) = (value)) |
| #define XCVR_RMW_PLL_LP_SDM_CTRL1(base, mask, value) (XCVR_WR_PLL_LP_SDM_CTRL1(base, (XCVR_RD_PLL_LP_SDM_CTRL1(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_LP_SDM_CTRL1(base, value) (BME_OR32(&XCVR_PLL_LP_SDM_CTRL1_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_LP_SDM_CTRL1(base, value) (BME_AND32(&XCVR_PLL_LP_SDM_CTRL1_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_LP_SDM_CTRL1(base, value) (BME_XOR32(&XCVR_PLL_LP_SDM_CTRL1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_LP_SDM_CTRL1 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_SDM_CTRL1, field LPM_INTG_SELECTED[6:0] (RO) |
| * |
| * This shows the integer value that is currently being applied to the low port |
| * sigma delta modulator. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_SELECTED field. */ |
| #define XCVR_RD_PLL_LP_SDM_CTRL1_LPM_INTG_SELECTED(base) ((XCVR_PLL_LP_SDM_CTRL1_REG(base) & XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_SELECTED_MASK) >> XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_SELECTED_SHIFT) |
| #define XCVR_BRD_PLL_LP_SDM_CTRL1_LPM_INTG_SELECTED(base) (BME_UBFX32(&XCVR_PLL_LP_SDM_CTRL1_REG(base), XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_SELECTED_SHIFT, XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_SELECTED_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_SDM_CTRL1, field LPM_INTG[22:16] (RW) |
| * |
| * If SDM_MAP_DIS is set, this register is the value that is applied to the Low |
| * Port Sigma Delta Modulator for the Integer, the nominal range is 36 to 39 in |
| * decimal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_SDM_CTRL1_LPM_INTG field. */ |
| #define XCVR_RD_PLL_LP_SDM_CTRL1_LPM_INTG(base) ((XCVR_PLL_LP_SDM_CTRL1_REG(base) & XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_MASK) >> XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_SHIFT) |
| #define XCVR_BRD_PLL_LP_SDM_CTRL1_LPM_INTG(base) (BME_UBFX32(&XCVR_PLL_LP_SDM_CTRL1_REG(base), XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_SHIFT, XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_WIDTH)) |
| |
| /*! @brief Set the LPM_INTG field to a new value. */ |
| #define XCVR_WR_PLL_LP_SDM_CTRL1_LPM_INTG(base, value) (XCVR_RMW_PLL_LP_SDM_CTRL1(base, XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_MASK, XCVR_PLL_LP_SDM_CTRL1_LPM_INTG(value))) |
| #define XCVR_BWR_PLL_LP_SDM_CTRL1_LPM_INTG(base, value) (BME_BFI32(&XCVR_PLL_LP_SDM_CTRL1_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_SHIFT), XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_SHIFT, XCVR_PLL_LP_SDM_CTRL1_LPM_INTG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_SDM_CTRL1, field SDM_MAP_DIS[31] (RW) |
| * |
| * If this bit is set, the Low Port Sigma Delta Modulator internal frequency |
| * mapping based on Protocol specific channel numbers is disabled, and the Radio |
| * Channel Frequency is selected by setting the LPM_INTG, LPM_NUM, and LPM_DENOM |
| * registers to get a frequency that equals ((Reference Clock Frequency x 2) x |
| * (LPM_INTG + (LPM_NUM / LPM_DENOM)) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS field. */ |
| #define XCVR_RD_PLL_LP_SDM_CTRL1_SDM_MAP_DIS(base) ((XCVR_PLL_LP_SDM_CTRL1_REG(base) & XCVR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS_MASK) >> XCVR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS_SHIFT) |
| #define XCVR_BRD_PLL_LP_SDM_CTRL1_SDM_MAP_DIS(base) (BME_UBFX32(&XCVR_PLL_LP_SDM_CTRL1_REG(base), XCVR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS_SHIFT, XCVR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS_WIDTH)) |
| |
| /*! @brief Set the SDM_MAP_DIS field to a new value. */ |
| #define XCVR_WR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS(base, value) (XCVR_RMW_PLL_LP_SDM_CTRL1(base, XCVR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS_MASK, XCVR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS(value))) |
| #define XCVR_BWR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS(base, value) (BME_BFI32(&XCVR_PLL_LP_SDM_CTRL1_REG(base), ((uint32_t)(value) << XCVR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS_SHIFT), XCVR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS_SHIFT, XCVR_PLL_LP_SDM_CTRL1_SDM_MAP_DIS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_LP_SDM_CTRL2 - PLL Low Port SDM Control 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_LP_SDM_CTRL2 - PLL Low Port SDM Control 2 (RW) |
| * |
| * Reset value: 0x02000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_LP_SDM_CTRL2 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_LP_SDM_CTRL2(base) (XCVR_PLL_LP_SDM_CTRL2_REG(base)) |
| #define XCVR_WR_PLL_LP_SDM_CTRL2(base, value) (XCVR_PLL_LP_SDM_CTRL2_REG(base) = (value)) |
| #define XCVR_RMW_PLL_LP_SDM_CTRL2(base, mask, value) (XCVR_WR_PLL_LP_SDM_CTRL2(base, (XCVR_RD_PLL_LP_SDM_CTRL2(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_LP_SDM_CTRL2(base, value) (BME_OR32(&XCVR_PLL_LP_SDM_CTRL2_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_LP_SDM_CTRL2(base, value) (BME_AND32(&XCVR_PLL_LP_SDM_CTRL2_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_LP_SDM_CTRL2(base, value) (BME_XOR32(&XCVR_PLL_LP_SDM_CTRL2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_LP_SDM_CTRL2 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_SDM_CTRL2, field LPM_NUM[27:0] (RW) |
| * |
| * If SDM_MAP_DIS is set, this register is the signed 27 bit value that is |
| * applied to the Low Port Sigma Delta Modulator for the Numerator. For valid Sigma |
| * Delta operation the resulting fraction NUM/DENOM must be in the range -0.6 to |
| * +0.6 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_SDM_CTRL2_LPM_NUM field. */ |
| #define XCVR_RD_PLL_LP_SDM_CTRL2_LPM_NUM(base) ((XCVR_PLL_LP_SDM_CTRL2_REG(base) & XCVR_PLL_LP_SDM_CTRL2_LPM_NUM_MASK) >> XCVR_PLL_LP_SDM_CTRL2_LPM_NUM_SHIFT) |
| #define XCVR_BRD_PLL_LP_SDM_CTRL2_LPM_NUM(base) (XCVR_RD_PLL_LP_SDM_CTRL2_LPM_NUM(base)) |
| |
| /*! @brief Set the LPM_NUM field to a new value. */ |
| #define XCVR_WR_PLL_LP_SDM_CTRL2_LPM_NUM(base, value) (XCVR_RMW_PLL_LP_SDM_CTRL2(base, XCVR_PLL_LP_SDM_CTRL2_LPM_NUM_MASK, XCVR_PLL_LP_SDM_CTRL2_LPM_NUM(value))) |
| #define XCVR_BWR_PLL_LP_SDM_CTRL2_LPM_NUM(base, value) (XCVR_WR_PLL_LP_SDM_CTRL2_LPM_NUM(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_LP_SDM_CTRL3 - PLL Low Port SDM Control 3 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_LP_SDM_CTRL3 - PLL Low Port SDM Control 3 (RW) |
| * |
| * Reset value: 0x04000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_LP_SDM_CTRL3 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_LP_SDM_CTRL3(base) (XCVR_PLL_LP_SDM_CTRL3_REG(base)) |
| #define XCVR_WR_PLL_LP_SDM_CTRL3(base, value) (XCVR_PLL_LP_SDM_CTRL3_REG(base) = (value)) |
| #define XCVR_RMW_PLL_LP_SDM_CTRL3(base, mask, value) (XCVR_WR_PLL_LP_SDM_CTRL3(base, (XCVR_RD_PLL_LP_SDM_CTRL3(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_LP_SDM_CTRL3(base, value) (BME_OR32(&XCVR_PLL_LP_SDM_CTRL3_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_LP_SDM_CTRL3(base, value) (BME_AND32(&XCVR_PLL_LP_SDM_CTRL3_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_LP_SDM_CTRL3(base, value) (BME_XOR32(&XCVR_PLL_LP_SDM_CTRL3_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_LP_SDM_CTRL3 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_SDM_CTRL3, field LPM_DENOM[27:0] (RW) |
| * |
| * If SDM_MAP_DIS is set, this register is the signed 27 bit value that is |
| * applied to the Low Port Sigma Delta Modulator for the Denominator. For valid Sigma |
| * Delta operation the resulting fraction NUM/DENOM must be in the range -0.6 to |
| * +0.6 The Low Port Sigma Delta Modulator LSB in Hz can be calculated as |
| * follows: LP SDM LSB Resolution = Reference Clock Frequency / LPM_DENOM value The |
| * default value of LPM_DENOM for a 32 MHz reference is 2 raised to the 26th power, |
| * so the SDM LSB is 0.4768 Hz |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_SDM_CTRL3_LPM_DENOM field. */ |
| #define XCVR_RD_PLL_LP_SDM_CTRL3_LPM_DENOM(base) ((XCVR_PLL_LP_SDM_CTRL3_REG(base) & XCVR_PLL_LP_SDM_CTRL3_LPM_DENOM_MASK) >> XCVR_PLL_LP_SDM_CTRL3_LPM_DENOM_SHIFT) |
| #define XCVR_BRD_PLL_LP_SDM_CTRL3_LPM_DENOM(base) (XCVR_RD_PLL_LP_SDM_CTRL3_LPM_DENOM(base)) |
| |
| /*! @brief Set the LPM_DENOM field to a new value. */ |
| #define XCVR_WR_PLL_LP_SDM_CTRL3_LPM_DENOM(base, value) (XCVR_RMW_PLL_LP_SDM_CTRL3(base, XCVR_PLL_LP_SDM_CTRL3_LPM_DENOM_MASK, XCVR_PLL_LP_SDM_CTRL3_LPM_DENOM(value))) |
| #define XCVR_BWR_PLL_LP_SDM_CTRL3_LPM_DENOM(base, value) (XCVR_WR_PLL_LP_SDM_CTRL3_LPM_DENOM(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_LP_SDM_NUM - PLL Low Port SDM Numerator Applied |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_LP_SDM_NUM - PLL Low Port SDM Numerator Applied (RO) |
| * |
| * Reset value: 0x0E200000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_LP_SDM_NUM register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_LP_SDM_NUM(base) (XCVR_PLL_LP_SDM_NUM_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_LP_SDM_NUM bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_SDM_NUM, field LPM_NUM_SELECTED[27:0] (RO) |
| * |
| * This is the value that is currently being applied to the sigma delta |
| * modulator, for valid Sigma Delta operation the resulting fraction NUM/DENOM must be in |
| * the range -0.6 to +0.6 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_SDM_NUM_LPM_NUM_SELECTED field. */ |
| #define XCVR_RD_PLL_LP_SDM_NUM_LPM_NUM_SELECTED(base) ((XCVR_PLL_LP_SDM_NUM_REG(base) & XCVR_PLL_LP_SDM_NUM_LPM_NUM_SELECTED_MASK) >> XCVR_PLL_LP_SDM_NUM_LPM_NUM_SELECTED_SHIFT) |
| #define XCVR_BRD_PLL_LP_SDM_NUM_LPM_NUM_SELECTED(base) (XCVR_RD_PLL_LP_SDM_NUM_LPM_NUM_SELECTED(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_LP_SDM_DENOM - PLL Low Port SDM Denominator Applied |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_LP_SDM_DENOM - PLL Low Port SDM Denominator Applied (RO) |
| * |
| * Reset value: 0x04000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_LP_SDM_DENOM register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_LP_SDM_DENOM(base) (XCVR_PLL_LP_SDM_DENOM_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_LP_SDM_DENOM bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_LP_SDM_DENOM, field LPM_DENOM_SELECTED[27:0] (RO) |
| * |
| * This is the value that is currently being applied to the sigma delta |
| * modulator, for valid Sigma Delta operation the resulting fraction NUM/DENOM must be in |
| * the range -0.6 to +0.6 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_LP_SDM_DENOM_LPM_DENOM_SELECTED field. */ |
| #define XCVR_RD_PLL_LP_SDM_DENOM_LPM_DENOM_SELECTED(base) ((XCVR_PLL_LP_SDM_DENOM_REG(base) & XCVR_PLL_LP_SDM_DENOM_LPM_DENOM_SELECTED_MASK) >> XCVR_PLL_LP_SDM_DENOM_LPM_DENOM_SELECTED_SHIFT) |
| #define XCVR_BRD_PLL_LP_SDM_DENOM_LPM_DENOM_SELECTED(base) (XCVR_RD_PLL_LP_SDM_DENOM_LPM_DENOM_SELECTED(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_DELAY_MATCH - PLL Delay Matching |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_DELAY_MATCH - PLL Delay Matching (RW) |
| * |
| * Reset value: 0x00000201U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_DELAY_MATCH register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_DELAY_MATCH(base) (XCVR_PLL_DELAY_MATCH_REG(base)) |
| #define XCVR_WR_PLL_DELAY_MATCH(base, value) (XCVR_PLL_DELAY_MATCH_REG(base) = (value)) |
| #define XCVR_RMW_PLL_DELAY_MATCH(base, mask, value) (XCVR_WR_PLL_DELAY_MATCH(base, (XCVR_RD_PLL_DELAY_MATCH(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_DELAY_MATCH(base, value) (BME_OR32(&XCVR_PLL_DELAY_MATCH_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_DELAY_MATCH(base, value) (BME_AND32(&XCVR_PLL_DELAY_MATCH_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_DELAY_MATCH(base, value) (BME_XOR32(&XCVR_PLL_DELAY_MATCH_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_DELAY_MATCH bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_DELAY_MATCH, field LP_SDM_DELAY[3:0] (RW) |
| * |
| * This register selects the number of clock cycles of the (PLL Sigma Delta |
| * Clock) to delay the Low Port Sigma Delta modulation of the PLL Loop Divider. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_DELAY_MATCH_LP_SDM_DELAY field. */ |
| #define XCVR_RD_PLL_DELAY_MATCH_LP_SDM_DELAY(base) ((XCVR_PLL_DELAY_MATCH_REG(base) & XCVR_PLL_DELAY_MATCH_LP_SDM_DELAY_MASK) >> XCVR_PLL_DELAY_MATCH_LP_SDM_DELAY_SHIFT) |
| #define XCVR_BRD_PLL_DELAY_MATCH_LP_SDM_DELAY(base) (BME_UBFX32(&XCVR_PLL_DELAY_MATCH_REG(base), XCVR_PLL_DELAY_MATCH_LP_SDM_DELAY_SHIFT, XCVR_PLL_DELAY_MATCH_LP_SDM_DELAY_WIDTH)) |
| |
| /*! @brief Set the LP_SDM_DELAY field to a new value. */ |
| #define XCVR_WR_PLL_DELAY_MATCH_LP_SDM_DELAY(base, value) (XCVR_RMW_PLL_DELAY_MATCH(base, XCVR_PLL_DELAY_MATCH_LP_SDM_DELAY_MASK, XCVR_PLL_DELAY_MATCH_LP_SDM_DELAY(value))) |
| #define XCVR_BWR_PLL_DELAY_MATCH_LP_SDM_DELAY(base, value) (BME_BFI32(&XCVR_PLL_DELAY_MATCH_REG(base), ((uint32_t)(value) << XCVR_PLL_DELAY_MATCH_LP_SDM_DELAY_SHIFT), XCVR_PLL_DELAY_MATCH_LP_SDM_DELAY_SHIFT, XCVR_PLL_DELAY_MATCH_LP_SDM_DELAY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_DELAY_MATCH, field HPM_SDM_DELAY[11:8] (RW) |
| * |
| * This register selects the number of clock cycles of the (PLL Sigma Delta |
| * Clock divided by 2) to delay the High Port Sigma Delta modulation of the VCO High |
| * Port Bank LSB. Note that the High Port SDM is clocked by the (PLL Sigma Delta |
| * Clock) but the modulation is based on a divide by 2 version of this same clock. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_DELAY_MATCH_HPM_SDM_DELAY field. */ |
| #define XCVR_RD_PLL_DELAY_MATCH_HPM_SDM_DELAY(base) ((XCVR_PLL_DELAY_MATCH_REG(base) & XCVR_PLL_DELAY_MATCH_HPM_SDM_DELAY_MASK) >> XCVR_PLL_DELAY_MATCH_HPM_SDM_DELAY_SHIFT) |
| #define XCVR_BRD_PLL_DELAY_MATCH_HPM_SDM_DELAY(base) (BME_UBFX32(&XCVR_PLL_DELAY_MATCH_REG(base), XCVR_PLL_DELAY_MATCH_HPM_SDM_DELAY_SHIFT, XCVR_PLL_DELAY_MATCH_HPM_SDM_DELAY_WIDTH)) |
| |
| /*! @brief Set the HPM_SDM_DELAY field to a new value. */ |
| #define XCVR_WR_PLL_DELAY_MATCH_HPM_SDM_DELAY(base, value) (XCVR_RMW_PLL_DELAY_MATCH(base, XCVR_PLL_DELAY_MATCH_HPM_SDM_DELAY_MASK, XCVR_PLL_DELAY_MATCH_HPM_SDM_DELAY(value))) |
| #define XCVR_BWR_PLL_DELAY_MATCH_HPM_SDM_DELAY(base, value) (BME_BFI32(&XCVR_PLL_DELAY_MATCH_REG(base), ((uint32_t)(value) << XCVR_PLL_DELAY_MATCH_HPM_SDM_DELAY_SHIFT), XCVR_PLL_DELAY_MATCH_HPM_SDM_DELAY_SHIFT, XCVR_PLL_DELAY_MATCH_HPM_SDM_DELAY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_DELAY_MATCH, field HPM_BANK_DELAY[19:16] (RW) |
| * |
| * This register selects the number of clock cycles of the (PLL Sigma Delta |
| * Clock divided by 2) to delay the High Port modulation of the VCO High Port Bank |
| * Array. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_DELAY_MATCH_HPM_BANK_DELAY field. */ |
| #define XCVR_RD_PLL_DELAY_MATCH_HPM_BANK_DELAY(base) ((XCVR_PLL_DELAY_MATCH_REG(base) & XCVR_PLL_DELAY_MATCH_HPM_BANK_DELAY_MASK) >> XCVR_PLL_DELAY_MATCH_HPM_BANK_DELAY_SHIFT) |
| #define XCVR_BRD_PLL_DELAY_MATCH_HPM_BANK_DELAY(base) (BME_UBFX32(&XCVR_PLL_DELAY_MATCH_REG(base), XCVR_PLL_DELAY_MATCH_HPM_BANK_DELAY_SHIFT, XCVR_PLL_DELAY_MATCH_HPM_BANK_DELAY_WIDTH)) |
| |
| /*! @brief Set the HPM_BANK_DELAY field to a new value. */ |
| #define XCVR_WR_PLL_DELAY_MATCH_HPM_BANK_DELAY(base, value) (XCVR_RMW_PLL_DELAY_MATCH(base, XCVR_PLL_DELAY_MATCH_HPM_BANK_DELAY_MASK, XCVR_PLL_DELAY_MATCH_HPM_BANK_DELAY(value))) |
| #define XCVR_BWR_PLL_DELAY_MATCH_HPM_BANK_DELAY(base, value) (BME_BFI32(&XCVR_PLL_DELAY_MATCH_REG(base), ((uint32_t)(value) << XCVR_PLL_DELAY_MATCH_HPM_BANK_DELAY_SHIFT), XCVR_PLL_DELAY_MATCH_HPM_BANK_DELAY_SHIFT, XCVR_PLL_DELAY_MATCH_HPM_BANK_DELAY_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_CTUNE_CTRL - PLL Coarse Tune Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_CTUNE_CTRL - PLL Coarse Tune Control (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_CTUNE_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_CTUNE_CTRL(base) (XCVR_PLL_CTUNE_CTRL_REG(base)) |
| #define XCVR_WR_PLL_CTUNE_CTRL(base, value) (XCVR_PLL_CTUNE_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_PLL_CTUNE_CTRL(base, mask, value) (XCVR_WR_PLL_CTUNE_CTRL(base, (XCVR_RD_PLL_CTUNE_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_CTUNE_CTRL(base, value) (BME_OR32(&XCVR_PLL_CTUNE_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_CTUNE_CTRL(base, value) (BME_AND32(&XCVR_PLL_CTUNE_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_CTUNE_CTRL(base, value) (BME_XOR32(&XCVR_PLL_CTUNE_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_CTUNE_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CTRL, field CTUNE_TARGET_MANUAL[11:0] (RW) |
| * |
| * If CTUNE_TD is set, this register is the value that is presented to the |
| * Coarse Tune Calibrator as the Frequency Target in MHz. The nominal range of this |
| * target is from 2360 to 2487 in decimal. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL field. */ |
| #define XCVR_RD_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL(base) ((XCVR_PLL_CTUNE_CTRL_REG(base) & XCVR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL_MASK) >> XCVR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CTRL_REG(base), XCVR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL_SHIFT, XCVR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL_WIDTH)) |
| |
| /*! @brief Set the CTUNE_TARGET_MANUAL field to a new value. */ |
| #define XCVR_WR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL(base, value) (XCVR_RMW_PLL_CTUNE_CTRL(base, XCVR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL_MASK, XCVR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL(value))) |
| #define XCVR_BWR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL(base, value) (BME_BFI32(&XCVR_PLL_CTUNE_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL_SHIFT), XCVR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL_SHIFT, XCVR_PLL_CTUNE_CTRL_CTUNE_TARGET_MANUAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CTRL, field CTUNE_TD[15] (RW) |
| * |
| * If this bit is set, the Frequency Target presented to the Coarse Tune |
| * Calibrator comes from the CTUNE_TARGET_MANUAL register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CTRL_CTUNE_TD field. */ |
| #define XCVR_RD_PLL_CTUNE_CTRL_CTUNE_TD(base) ((XCVR_PLL_CTUNE_CTRL_REG(base) & XCVR_PLL_CTUNE_CTRL_CTUNE_TD_MASK) >> XCVR_PLL_CTUNE_CTRL_CTUNE_TD_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CTRL_CTUNE_TD(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CTRL_REG(base), XCVR_PLL_CTUNE_CTRL_CTUNE_TD_SHIFT, XCVR_PLL_CTUNE_CTRL_CTUNE_TD_WIDTH)) |
| |
| /*! @brief Set the CTUNE_TD field to a new value. */ |
| #define XCVR_WR_PLL_CTUNE_CTRL_CTUNE_TD(base, value) (XCVR_RMW_PLL_CTUNE_CTRL(base, XCVR_PLL_CTUNE_CTRL_CTUNE_TD_MASK, XCVR_PLL_CTUNE_CTRL_CTUNE_TD(value))) |
| #define XCVR_BWR_PLL_CTUNE_CTRL_CTUNE_TD(base, value) (BME_BFI32(&XCVR_PLL_CTUNE_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTUNE_CTRL_CTUNE_TD_SHIFT), XCVR_PLL_CTUNE_CTRL_CTUNE_TD_SHIFT, XCVR_PLL_CTUNE_CTRL_CTUNE_TD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CTRL, field CTUNE_ADJUST[19:16] (RW) |
| * |
| * The PLL 17-bit Ripple Counter count used in Coarse Tune Calibration will be |
| * increased by the value of this register in order to allow for any consistent |
| * under-counting that might present itself in the analog circuit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CTRL_CTUNE_ADJUST field. */ |
| #define XCVR_RD_PLL_CTUNE_CTRL_CTUNE_ADJUST(base) ((XCVR_PLL_CTUNE_CTRL_REG(base) & XCVR_PLL_CTUNE_CTRL_CTUNE_ADJUST_MASK) >> XCVR_PLL_CTUNE_CTRL_CTUNE_ADJUST_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CTRL_CTUNE_ADJUST(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CTRL_REG(base), XCVR_PLL_CTUNE_CTRL_CTUNE_ADJUST_SHIFT, XCVR_PLL_CTUNE_CTRL_CTUNE_ADJUST_WIDTH)) |
| |
| /*! @brief Set the CTUNE_ADJUST field to a new value. */ |
| #define XCVR_WR_PLL_CTUNE_CTRL_CTUNE_ADJUST(base, value) (XCVR_RMW_PLL_CTUNE_CTRL(base, XCVR_PLL_CTUNE_CTRL_CTUNE_ADJUST_MASK, XCVR_PLL_CTUNE_CTRL_CTUNE_ADJUST(value))) |
| #define XCVR_BWR_PLL_CTUNE_CTRL_CTUNE_ADJUST(base, value) (BME_BFI32(&XCVR_PLL_CTUNE_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTUNE_CTRL_CTUNE_ADJUST_SHIFT), XCVR_PLL_CTUNE_CTRL_CTUNE_ADJUST_SHIFT, XCVR_PLL_CTUNE_CTRL_CTUNE_ADJUST_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CTRL, field CTUNE_MANUAL[30:24] (RW) |
| * |
| * If CTUNE_DIS is set, this register is the value that is applied to the VCO as |
| * the Coarse Tune Band. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CTRL_CTUNE_MANUAL field. */ |
| #define XCVR_RD_PLL_CTUNE_CTRL_CTUNE_MANUAL(base) ((XCVR_PLL_CTUNE_CTRL_REG(base) & XCVR_PLL_CTUNE_CTRL_CTUNE_MANUAL_MASK) >> XCVR_PLL_CTUNE_CTRL_CTUNE_MANUAL_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CTRL_CTUNE_MANUAL(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CTRL_REG(base), XCVR_PLL_CTUNE_CTRL_CTUNE_MANUAL_SHIFT, XCVR_PLL_CTUNE_CTRL_CTUNE_MANUAL_WIDTH)) |
| |
| /*! @brief Set the CTUNE_MANUAL field to a new value. */ |
| #define XCVR_WR_PLL_CTUNE_CTRL_CTUNE_MANUAL(base, value) (XCVR_RMW_PLL_CTUNE_CTRL(base, XCVR_PLL_CTUNE_CTRL_CTUNE_MANUAL_MASK, XCVR_PLL_CTUNE_CTRL_CTUNE_MANUAL(value))) |
| #define XCVR_BWR_PLL_CTUNE_CTRL_CTUNE_MANUAL(base, value) (BME_BFI32(&XCVR_PLL_CTUNE_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTUNE_CTRL_CTUNE_MANUAL_SHIFT), XCVR_PLL_CTUNE_CTRL_CTUNE_MANUAL_SHIFT, XCVR_PLL_CTUNE_CTRL_CTUNE_MANUAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CTRL, field CTUNE_DIS[31] (RW) |
| * |
| * If this bit is set, the Coarse Tune Band applied to the VCO comes from the |
| * CTUNE_MANUAL register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CTRL_CTUNE_DIS field. */ |
| #define XCVR_RD_PLL_CTUNE_CTRL_CTUNE_DIS(base) ((XCVR_PLL_CTUNE_CTRL_REG(base) & XCVR_PLL_CTUNE_CTRL_CTUNE_DIS_MASK) >> XCVR_PLL_CTUNE_CTRL_CTUNE_DIS_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CTRL_CTUNE_DIS(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CTRL_REG(base), XCVR_PLL_CTUNE_CTRL_CTUNE_DIS_SHIFT, XCVR_PLL_CTUNE_CTRL_CTUNE_DIS_WIDTH)) |
| |
| /*! @brief Set the CTUNE_DIS field to a new value. */ |
| #define XCVR_WR_PLL_CTUNE_CTRL_CTUNE_DIS(base, value) (XCVR_RMW_PLL_CTUNE_CTRL(base, XCVR_PLL_CTUNE_CTRL_CTUNE_DIS_MASK, XCVR_PLL_CTUNE_CTRL_CTUNE_DIS(value))) |
| #define XCVR_BWR_PLL_CTUNE_CTRL_CTUNE_DIS(base, value) (BME_BFI32(&XCVR_PLL_CTUNE_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTUNE_CTRL_CTUNE_DIS_SHIFT), XCVR_PLL_CTUNE_CTRL_CTUNE_DIS_SHIFT, XCVR_PLL_CTUNE_CTRL_CTUNE_DIS_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_CTUNE_CNT6 - PLL Coarse Tune Count 6 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_CTUNE_CNT6 - PLL Coarse Tune Count 6 (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_CTUNE_CNT6 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_CTUNE_CNT6(base) (XCVR_PLL_CTUNE_CNT6_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_CTUNE_CNT6 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CNT6, field CTUNE_COUNT_6[11:0] (RO) |
| * |
| * This is the Ripple counter value used to set coarse tune band bit 6. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CNT6_CTUNE_COUNT_6 field. */ |
| #define XCVR_RD_PLL_CTUNE_CNT6_CTUNE_COUNT_6(base) ((XCVR_PLL_CTUNE_CNT6_REG(base) & XCVR_PLL_CTUNE_CNT6_CTUNE_COUNT_6_MASK) >> XCVR_PLL_CTUNE_CNT6_CTUNE_COUNT_6_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CNT6_CTUNE_COUNT_6(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CNT6_REG(base), XCVR_PLL_CTUNE_CNT6_CTUNE_COUNT_6_SHIFT, XCVR_PLL_CTUNE_CNT6_CTUNE_COUNT_6_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_CTUNE_CNT5_4 - PLL Coarse Tune Counts 5 and 4 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_CTUNE_CNT5_4 - PLL Coarse Tune Counts 5 and 4 (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_CTUNE_CNT5_4 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_CTUNE_CNT5_4(base) (XCVR_PLL_CTUNE_CNT5_4_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_CTUNE_CNT5_4 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CNT5_4, field CTUNE_COUNT_4[11:0] (RO) |
| * |
| * This is the Ripple counter value used to set coarse tune band bit 4. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CNT5_4_CTUNE_COUNT_4 field. */ |
| #define XCVR_RD_PLL_CTUNE_CNT5_4_CTUNE_COUNT_4(base) ((XCVR_PLL_CTUNE_CNT5_4_REG(base) & XCVR_PLL_CTUNE_CNT5_4_CTUNE_COUNT_4_MASK) >> XCVR_PLL_CTUNE_CNT5_4_CTUNE_COUNT_4_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CNT5_4_CTUNE_COUNT_4(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CNT5_4_REG(base), XCVR_PLL_CTUNE_CNT5_4_CTUNE_COUNT_4_SHIFT, XCVR_PLL_CTUNE_CNT5_4_CTUNE_COUNT_4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CNT5_4, field CTUNE_COUNT_5[27:16] (RO) |
| * |
| * This is the Ripple counter value used to set coarse tune band bit 5. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CNT5_4_CTUNE_COUNT_5 field. */ |
| #define XCVR_RD_PLL_CTUNE_CNT5_4_CTUNE_COUNT_5(base) ((XCVR_PLL_CTUNE_CNT5_4_REG(base) & XCVR_PLL_CTUNE_CNT5_4_CTUNE_COUNT_5_MASK) >> XCVR_PLL_CTUNE_CNT5_4_CTUNE_COUNT_5_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CNT5_4_CTUNE_COUNT_5(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CNT5_4_REG(base), XCVR_PLL_CTUNE_CNT5_4_CTUNE_COUNT_5_SHIFT, XCVR_PLL_CTUNE_CNT5_4_CTUNE_COUNT_5_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_CTUNE_CNT3_2 - PLL Coarse Tune Counts 3 and 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_CTUNE_CNT3_2 - PLL Coarse Tune Counts 3 and 2 (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_CTUNE_CNT3_2 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_CTUNE_CNT3_2(base) (XCVR_PLL_CTUNE_CNT3_2_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_CTUNE_CNT3_2 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CNT3_2, field CTUNE_COUNT_2[11:0] (RO) |
| * |
| * This is the Ripple counter value used to set coarse tune band bit 2. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CNT3_2_CTUNE_COUNT_2 field. */ |
| #define XCVR_RD_PLL_CTUNE_CNT3_2_CTUNE_COUNT_2(base) ((XCVR_PLL_CTUNE_CNT3_2_REG(base) & XCVR_PLL_CTUNE_CNT3_2_CTUNE_COUNT_2_MASK) >> XCVR_PLL_CTUNE_CNT3_2_CTUNE_COUNT_2_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CNT3_2_CTUNE_COUNT_2(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CNT3_2_REG(base), XCVR_PLL_CTUNE_CNT3_2_CTUNE_COUNT_2_SHIFT, XCVR_PLL_CTUNE_CNT3_2_CTUNE_COUNT_2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CNT3_2, field CTUNE_COUNT_3[27:16] (RO) |
| * |
| * This is the Ripple counter value used to set coarse tune band bit 3. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CNT3_2_CTUNE_COUNT_3 field. */ |
| #define XCVR_RD_PLL_CTUNE_CNT3_2_CTUNE_COUNT_3(base) ((XCVR_PLL_CTUNE_CNT3_2_REG(base) & XCVR_PLL_CTUNE_CNT3_2_CTUNE_COUNT_3_MASK) >> XCVR_PLL_CTUNE_CNT3_2_CTUNE_COUNT_3_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CNT3_2_CTUNE_COUNT_3(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CNT3_2_REG(base), XCVR_PLL_CTUNE_CNT3_2_CTUNE_COUNT_3_SHIFT, XCVR_PLL_CTUNE_CNT3_2_CTUNE_COUNT_3_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_CTUNE_CNT1_0 - PLL Coarse Tune Counts 1 and 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_CTUNE_CNT1_0 - PLL Coarse Tune Counts 1 and 0 (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_CTUNE_CNT1_0 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_CTUNE_CNT1_0(base) (XCVR_PLL_CTUNE_CNT1_0_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_CTUNE_CNT1_0 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CNT1_0, field CTUNE_COUNT_0[11:0] (RO) |
| * |
| * This is the Ripple counter value used to set coarse tune band bit 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CNT1_0_CTUNE_COUNT_0 field. */ |
| #define XCVR_RD_PLL_CTUNE_CNT1_0_CTUNE_COUNT_0(base) ((XCVR_PLL_CTUNE_CNT1_0_REG(base) & XCVR_PLL_CTUNE_CNT1_0_CTUNE_COUNT_0_MASK) >> XCVR_PLL_CTUNE_CNT1_0_CTUNE_COUNT_0_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CNT1_0_CTUNE_COUNT_0(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CNT1_0_REG(base), XCVR_PLL_CTUNE_CNT1_0_CTUNE_COUNT_0_SHIFT, XCVR_PLL_CTUNE_CNT1_0_CTUNE_COUNT_0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_CNT1_0, field CTUNE_COUNT_1[27:16] (RO) |
| * |
| * This is the Ripple counter value used to set coarse tune band bit 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_CNT1_0_CTUNE_COUNT_1 field. */ |
| #define XCVR_RD_PLL_CTUNE_CNT1_0_CTUNE_COUNT_1(base) ((XCVR_PLL_CTUNE_CNT1_0_REG(base) & XCVR_PLL_CTUNE_CNT1_0_CTUNE_COUNT_1_MASK) >> XCVR_PLL_CTUNE_CNT1_0_CTUNE_COUNT_1_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_CNT1_0_CTUNE_COUNT_1(base) (BME_UBFX32(&XCVR_PLL_CTUNE_CNT1_0_REG(base), XCVR_PLL_CTUNE_CNT1_0_CTUNE_COUNT_1_SHIFT, XCVR_PLL_CTUNE_CNT1_0_CTUNE_COUNT_1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_CTUNE_RESULTS - PLL Coarse Tune Results |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_CTUNE_RESULTS - PLL Coarse Tune Results (RO) |
| * |
| * Reset value: 0x09620040U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_CTUNE_RESULTS register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_CTUNE_RESULTS(base) (XCVR_PLL_CTUNE_RESULTS_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_CTUNE_RESULTS bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_RESULTS, field CTUNE_SELECTED[6:0] (RO) |
| * |
| * This is the current VCO Coarse Tune setting, it is the result of the Coarse |
| * Tune Calibration, unless overridden using CTUNE_DIS. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_RESULTS_CTUNE_SELECTED field. */ |
| #define XCVR_RD_PLL_CTUNE_RESULTS_CTUNE_SELECTED(base) ((XCVR_PLL_CTUNE_RESULTS_REG(base) & XCVR_PLL_CTUNE_RESULTS_CTUNE_SELECTED_MASK) >> XCVR_PLL_CTUNE_RESULTS_CTUNE_SELECTED_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_RESULTS_CTUNE_SELECTED(base) (BME_UBFX32(&XCVR_PLL_CTUNE_RESULTS_REG(base), XCVR_PLL_CTUNE_RESULTS_CTUNE_SELECTED_SHIFT, XCVR_PLL_CTUNE_RESULTS_CTUNE_SELECTED_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_RESULTS, field CTUNE_BEST_DIFF[15:8] (RO) |
| * |
| * This is the absolute value of the best difference found during Coarse Tune |
| * between the targeted frequency count and the actual frequency count. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_RESULTS_CTUNE_BEST_DIFF field. */ |
| #define XCVR_RD_PLL_CTUNE_RESULTS_CTUNE_BEST_DIFF(base) ((XCVR_PLL_CTUNE_RESULTS_REG(base) & XCVR_PLL_CTUNE_RESULTS_CTUNE_BEST_DIFF_MASK) >> XCVR_PLL_CTUNE_RESULTS_CTUNE_BEST_DIFF_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_RESULTS_CTUNE_BEST_DIFF(base) (BME_UBFX32(&XCVR_PLL_CTUNE_RESULTS_REG(base), XCVR_PLL_CTUNE_RESULTS_CTUNE_BEST_DIFF_SHIFT, XCVR_PLL_CTUNE_RESULTS_CTUNE_BEST_DIFF_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTUNE_RESULTS, field CTUNE_FREQ_TARGET[27:16] (RO) |
| * |
| * This is the Frequency Target in MHz that is currently being presented to the |
| * Coarse Tune Calibrator. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTUNE_RESULTS_CTUNE_FREQ_TARGET field. */ |
| #define XCVR_RD_PLL_CTUNE_RESULTS_CTUNE_FREQ_TARGET(base) ((XCVR_PLL_CTUNE_RESULTS_REG(base) & XCVR_PLL_CTUNE_RESULTS_CTUNE_FREQ_TARGET_MASK) >> XCVR_PLL_CTUNE_RESULTS_CTUNE_FREQ_TARGET_SHIFT) |
| #define XCVR_BRD_PLL_CTUNE_RESULTS_CTUNE_FREQ_TARGET(base) (BME_UBFX32(&XCVR_PLL_CTUNE_RESULTS_REG(base), XCVR_PLL_CTUNE_RESULTS_CTUNE_FREQ_TARGET_SHIFT, XCVR_PLL_CTUNE_RESULTS_CTUNE_FREQ_TARGET_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_CTRL - Transceiver Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_CTRL - Transceiver Control (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_CTRL(base) (XCVR_CTRL_REG(base)) |
| #define XCVR_WR_CTRL(base, value) (XCVR_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_CTRL(base, mask, value) (XCVR_WR_CTRL(base, (XCVR_RD_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_CTRL(base, value) (BME_OR32(&XCVR_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_CTRL(base, value) (BME_AND32(&XCVR_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_CTRL(base, value) (BME_XOR32(&XCVR_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_CTRL, field PROTOCOL[2:0] (RW) |
| * |
| * This register selects the Radio Communication Protocol. |
| * |
| * Values: |
| * - 0b000 - BLE |
| * - 0b001 - BLE in MBAN |
| * - 0b010 - BLE overlap MBAN |
| * - 0b011 - Reserved |
| * - 0b100 - Zigbee |
| * - 0b101 - 802.15.4j |
| * - 0b110 - 128 Channel FSK |
| * - 0b111 - 128 Channel GFSK |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_CTRL_PROTOCOL field. */ |
| #define XCVR_RD_CTRL_PROTOCOL(base) ((XCVR_CTRL_REG(base) & XCVR_CTRL_PROTOCOL_MASK) >> XCVR_CTRL_PROTOCOL_SHIFT) |
| #define XCVR_BRD_CTRL_PROTOCOL(base) (BME_UBFX32(&XCVR_CTRL_REG(base), XCVR_CTRL_PROTOCOL_SHIFT, XCVR_CTRL_PROTOCOL_WIDTH)) |
| |
| /*! @brief Set the PROTOCOL field to a new value. */ |
| #define XCVR_WR_CTRL_PROTOCOL(base, value) (XCVR_RMW_CTRL(base, XCVR_CTRL_PROTOCOL_MASK, XCVR_CTRL_PROTOCOL(value))) |
| #define XCVR_BWR_CTRL_PROTOCOL(base, value) (BME_BFI32(&XCVR_CTRL_REG(base), ((uint32_t)(value) << XCVR_CTRL_PROTOCOL_SHIFT), XCVR_CTRL_PROTOCOL_SHIFT, XCVR_CTRL_PROTOCOL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_CTRL, field TGT_PWR_SRC[5:4] (RW) |
| * |
| * For determining transmit power, the TGT_PWR_SRC[1:0] bits control target |
| * power selection, according to the following table. TGT_PWR_SRC[1:0] TARGET POWER |
| * SOURCE 00 PA_POWER[3:0] register (XCVR space) 01 BTLE Link Layer 10 Zigbee Link |
| * Layer (PA_PWR[3:0] register in ZIGBEE space) 11 PROTOCOL[2:0] bits select |
| * target power source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_CTRL_TGT_PWR_SRC field. */ |
| #define XCVR_RD_CTRL_TGT_PWR_SRC(base) ((XCVR_CTRL_REG(base) & XCVR_CTRL_TGT_PWR_SRC_MASK) >> XCVR_CTRL_TGT_PWR_SRC_SHIFT) |
| #define XCVR_BRD_CTRL_TGT_PWR_SRC(base) (BME_UBFX32(&XCVR_CTRL_REG(base), XCVR_CTRL_TGT_PWR_SRC_SHIFT, XCVR_CTRL_TGT_PWR_SRC_WIDTH)) |
| |
| /*! @brief Set the TGT_PWR_SRC field to a new value. */ |
| #define XCVR_WR_CTRL_TGT_PWR_SRC(base, value) (XCVR_RMW_CTRL(base, XCVR_CTRL_TGT_PWR_SRC_MASK, XCVR_CTRL_TGT_PWR_SRC(value))) |
| #define XCVR_BWR_CTRL_TGT_PWR_SRC(base, value) (BME_BFI32(&XCVR_CTRL_REG(base), ((uint32_t)(value) << XCVR_CTRL_TGT_PWR_SRC_SHIFT), XCVR_CTRL_TGT_PWR_SRC_SHIFT, XCVR_CTRL_TGT_PWR_SRC_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_CTRL, field REF_CLK_FREQ[7:6] (RW) |
| * |
| * This register selects the Reference Clock Frequency for the Radio. |
| * |
| * Values: |
| * - 0b00 - 32 MHz |
| * - 0b01 - Reserved |
| * - 0b10 - Reserved |
| * - 0b11 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_CTRL_REF_CLK_FREQ field. */ |
| #define XCVR_RD_CTRL_REF_CLK_FREQ(base) ((XCVR_CTRL_REG(base) & XCVR_CTRL_REF_CLK_FREQ_MASK) >> XCVR_CTRL_REF_CLK_FREQ_SHIFT) |
| #define XCVR_BRD_CTRL_REF_CLK_FREQ(base) (BME_UBFX32(&XCVR_CTRL_REG(base), XCVR_CTRL_REF_CLK_FREQ_SHIFT, XCVR_CTRL_REF_CLK_FREQ_WIDTH)) |
| |
| /*! @brief Set the REF_CLK_FREQ field to a new value. */ |
| #define XCVR_WR_CTRL_REF_CLK_FREQ(base, value) (XCVR_RMW_CTRL(base, XCVR_CTRL_REF_CLK_FREQ_MASK, XCVR_CTRL_REF_CLK_FREQ(value))) |
| #define XCVR_BWR_CTRL_REF_CLK_FREQ(base, value) (BME_BFI32(&XCVR_CTRL_REG(base), ((uint32_t)(value) << XCVR_CTRL_REF_CLK_FREQ_SHIFT), XCVR_CTRL_REF_CLK_FREQ_SHIFT, XCVR_CTRL_REF_CLK_FREQ_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_STATUS - Transceiver Status |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_STATUS - Transceiver Status (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_STATUS register |
| */ |
| /*@{*/ |
| #define XCVR_RD_STATUS(base) (XCVR_STATUS_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_STATUS bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_STATUS, field TSM_COUNT[7:0] (RO) |
| * |
| * Reflects the instantaneous value of the TSM counter. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_STATUS_TSM_COUNT field. */ |
| #define XCVR_RD_STATUS_TSM_COUNT(base) ((XCVR_STATUS_REG(base) & XCVR_STATUS_TSM_COUNT_MASK) >> XCVR_STATUS_TSM_COUNT_SHIFT) |
| #define XCVR_BRD_STATUS_TSM_COUNT(base) (BME_UBFX32(&XCVR_STATUS_REG(base), XCVR_STATUS_TSM_COUNT_SHIFT, XCVR_STATUS_TSM_COUNT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_STATUS, field PLL_SEQ_STATE[11:8] (RO) |
| * |
| * Reflects the state of the PLL digital state machine. |
| * |
| * Values: |
| * - 0b0000 - PLL OFF |
| * - 0b0010 - HPMCAL2 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_STATUS_PLL_SEQ_STATE field. */ |
| #define XCVR_RD_STATUS_PLL_SEQ_STATE(base) ((XCVR_STATUS_REG(base) & XCVR_STATUS_PLL_SEQ_STATE_MASK) >> XCVR_STATUS_PLL_SEQ_STATE_SHIFT) |
| #define XCVR_BRD_STATUS_PLL_SEQ_STATE(base) (BME_UBFX32(&XCVR_STATUS_REG(base), XCVR_STATUS_PLL_SEQ_STATE_SHIFT, XCVR_STATUS_PLL_SEQ_STATE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_STATUS, field RX_MODE[12] (RO) |
| * |
| * Indicates an RX transceiver operation is in progress. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_STATUS_RX_MODE field. */ |
| #define XCVR_RD_STATUS_RX_MODE(base) ((XCVR_STATUS_REG(base) & XCVR_STATUS_RX_MODE_MASK) >> XCVR_STATUS_RX_MODE_SHIFT) |
| #define XCVR_BRD_STATUS_RX_MODE(base) (BME_UBFX32(&XCVR_STATUS_REG(base), XCVR_STATUS_RX_MODE_SHIFT, XCVR_STATUS_RX_MODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_STATUS, field TX_MODE[13] (RO) |
| * |
| * Indicates an TX transceiver operation is in progress. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_STATUS_TX_MODE field. */ |
| #define XCVR_RD_STATUS_TX_MODE(base) ((XCVR_STATUS_REG(base) & XCVR_STATUS_TX_MODE_MASK) >> XCVR_STATUS_TX_MODE_SHIFT) |
| #define XCVR_BRD_STATUS_TX_MODE(base) (BME_UBFX32(&XCVR_STATUS_REG(base), XCVR_STATUS_TX_MODE_SHIFT, XCVR_STATUS_TX_MODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_STATUS, field BTLE_SYSCLK_REQ[16] (RO) |
| * |
| * Reflects the state of the BTLE oscillator request signal. BTLE_SYSCLK_REQ is |
| * the BTLE control for the RF Oscillator. BTLE will deassert this signal upon |
| * entering DSM (deep sleep mode) to request oscillator turn-off, and will |
| * re-assert it prior to exiting DSM. The turn-on leadtime on this signal for exiting |
| * DSM, is programmable with the BTLE block. This read-only bit can thus be queried |
| * to ascertain the power-state of BTLE. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_STATUS_BTLE_SYSCLK_REQ field. */ |
| #define XCVR_RD_STATUS_BTLE_SYSCLK_REQ(base) ((XCVR_STATUS_REG(base) & XCVR_STATUS_BTLE_SYSCLK_REQ_MASK) >> XCVR_STATUS_BTLE_SYSCLK_REQ_SHIFT) |
| #define XCVR_BRD_STATUS_BTLE_SYSCLK_REQ(base) (BME_UBFX32(&XCVR_STATUS_REG(base), XCVR_STATUS_BTLE_SYSCLK_REQ_SHIFT, XCVR_STATUS_BTLE_SYSCLK_REQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_STATUS, field RIF_LL_ACTIVE[17] (RO) |
| * |
| * Reflects the state of the BTLE "Link Layer Active" status bit. RIF_LL_ACTIVE |
| * is to be used by the host as an 'early' indication to prevent host to do any |
| * operations while BTLE IP is doing transceiver operations, so as to reduce the |
| * peak power and noise. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_STATUS_RIF_LL_ACTIVE field. */ |
| #define XCVR_RD_STATUS_RIF_LL_ACTIVE(base) ((XCVR_STATUS_REG(base) & XCVR_STATUS_RIF_LL_ACTIVE_MASK) >> XCVR_STATUS_RIF_LL_ACTIVE_SHIFT) |
| #define XCVR_BRD_STATUS_RIF_LL_ACTIVE(base) (BME_UBFX32(&XCVR_STATUS_REG(base), XCVR_STATUS_RIF_LL_ACTIVE_SHIFT, XCVR_STATUS_RIF_LL_ACTIVE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_STATUS, field XTAL_READY[18] (RO) |
| * |
| * Oscillator warmup count complete. |
| * |
| * Values: |
| * - 0b0 - Indicates that the RF Oscillator is disabled or has not completed its |
| * warmup. |
| * - 0b1 - Indicates that the RF Oscillator has completed its warmup count and |
| * is ready for use. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_STATUS_XTAL_READY field. */ |
| #define XCVR_RD_STATUS_XTAL_READY(base) ((XCVR_STATUS_REG(base) & XCVR_STATUS_XTAL_READY_MASK) >> XCVR_STATUS_XTAL_READY_SHIFT) |
| #define XCVR_BRD_STATUS_XTAL_READY(base) (BME_UBFX32(&XCVR_STATUS_REG(base), XCVR_STATUS_XTAL_READY_SHIFT, XCVR_STATUS_XTAL_READY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_STATUS, field SOC_USING_RF_OSC_CLK[19] (RO) |
| * |
| * SoC signal from the CLKGEN that asserts high when the MCG is configured to |
| * use RF OSC clock as the SoC clock source |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_STATUS_SOC_USING_RF_OSC_CLK field. */ |
| #define XCVR_RD_STATUS_SOC_USING_RF_OSC_CLK(base) ((XCVR_STATUS_REG(base) & XCVR_STATUS_SOC_USING_RF_OSC_CLK_MASK) >> XCVR_STATUS_SOC_USING_RF_OSC_CLK_SHIFT) |
| #define XCVR_BRD_STATUS_SOC_USING_RF_OSC_CLK(base) (BME_UBFX32(&XCVR_STATUS_REG(base), XCVR_STATUS_SOC_USING_RF_OSC_CLK_SHIFT, XCVR_STATUS_SOC_USING_RF_OSC_CLK_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_SOFT_RESET - Soft Reset |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_SOFT_RESET - Soft Reset (ROZ) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Transceiver Soft Reset Note: Register not currently implemented. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_SOFT_RESET register |
| */ |
| /*@{*/ |
| #define XCVR_RD_SOFT_RESET(base) (XCVR_SOFT_RESET_REG(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_OVERWRITE_VER - Overwrite Version |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_OVERWRITE_VER - Overwrite Version (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Overwrite Version allows software to store a version number of trim and |
| * calibration values which are used to overwrite the chip default values in the |
| * registers. Typically, software would perform the overwrite of the defaults in |
| * transceiver registers and then write the version number from the file |
| * containing the overwrite values into this register. This register has no hardware |
| * connections, it is simply a designated storage location for a version number. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_OVERWRITE_VER register |
| */ |
| /*@{*/ |
| #define XCVR_RD_OVERWRITE_VER(base) (XCVR_OVERWRITE_VER_REG(base)) |
| #define XCVR_WR_OVERWRITE_VER(base, value) (XCVR_OVERWRITE_VER_REG(base) = (value)) |
| #define XCVR_RMW_OVERWRITE_VER(base, mask, value) (XCVR_WR_OVERWRITE_VER(base, (XCVR_RD_OVERWRITE_VER(base) & ~(mask)) | (value))) |
| #define XCVR_SET_OVERWRITE_VER(base, value) (BME_OR32(&XCVR_OVERWRITE_VER_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_OVERWRITE_VER(base, value) (BME_AND32(&XCVR_OVERWRITE_VER_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_OVERWRITE_VER(base, value) (BME_XOR32(&XCVR_OVERWRITE_VER_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_OVERWRITE_VER bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_OVERWRITE_VER, field OVERWRITE_VER[7:0] (RW) |
| * |
| * Points to the version number of the overwrites.h file used to initialize the |
| * device; can be used by software to identify a version-controlled set of |
| * non-default values to be written into the transceiver's register map. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_OVERWRITE_VER_OVERWRITE_VER field. */ |
| #define XCVR_RD_OVERWRITE_VER_OVERWRITE_VER(base) ((XCVR_OVERWRITE_VER_REG(base) & XCVR_OVERWRITE_VER_OVERWRITE_VER_MASK) >> XCVR_OVERWRITE_VER_OVERWRITE_VER_SHIFT) |
| #define XCVR_BRD_OVERWRITE_VER_OVERWRITE_VER(base) (BME_UBFX32(&XCVR_OVERWRITE_VER_REG(base), XCVR_OVERWRITE_VER_OVERWRITE_VER_SHIFT, XCVR_OVERWRITE_VER_OVERWRITE_VER_WIDTH)) |
| |
| /*! @brief Set the OVERWRITE_VER field to a new value. */ |
| #define XCVR_WR_OVERWRITE_VER_OVERWRITE_VER(base, value) (XCVR_RMW_OVERWRITE_VER(base, XCVR_OVERWRITE_VER_OVERWRITE_VER_MASK, XCVR_OVERWRITE_VER_OVERWRITE_VER(value))) |
| #define XCVR_BWR_OVERWRITE_VER_OVERWRITE_VER(base, value) (BME_BFI32(&XCVR_OVERWRITE_VER_REG(base), ((uint32_t)(value) << XCVR_OVERWRITE_VER_OVERWRITE_VER_SHIFT), XCVR_OVERWRITE_VER_OVERWRITE_VER_SHIFT, XCVR_OVERWRITE_VER_OVERWRITE_VER_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DMA_CTRL - DMA Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DMA_CTRL - DMA Control (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Transceiver DMA per-channel enable register. Transceiver DMA is intended for |
| * engineering evaluation only. If DMA_I_EN and DMA_Q_EN are both set, I channel |
| * samples appear in register field DMA_DATA[DMA_DATA_11_0] (lower halfword), and |
| * Q channel samples appears in DMA_DATA[DMA_DATA_27_16] (upper halfword). |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DMA_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DMA_CTRL(base) (XCVR_DMA_CTRL_REG(base)) |
| #define XCVR_WR_DMA_CTRL(base, value) (XCVR_DMA_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_DMA_CTRL(base, mask, value) (XCVR_WR_DMA_CTRL(base, (XCVR_RD_DMA_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_DMA_CTRL(base, value) (BME_OR32(&XCVR_DMA_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_DMA_CTRL(base, value) (BME_AND32(&XCVR_DMA_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DMA_CTRL(base, value) (BME_XOR32(&XCVR_DMA_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DMA_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DMA_CTRL, field DMA_I_EN[0] (RW) |
| * |
| * DMA I Enable |
| * |
| * Values: |
| * - 0b0 - Transceiver I channel DMA disabled. |
| * - 0b1 - Enable the transceiver DMA engine to store RX_DIG I channel outputs |
| * to system memory. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DMA_CTRL_DMA_I_EN field. */ |
| #define XCVR_RD_DMA_CTRL_DMA_I_EN(base) ((XCVR_DMA_CTRL_REG(base) & XCVR_DMA_CTRL_DMA_I_EN_MASK) >> XCVR_DMA_CTRL_DMA_I_EN_SHIFT) |
| #define XCVR_BRD_DMA_CTRL_DMA_I_EN(base) (BME_UBFX32(&XCVR_DMA_CTRL_REG(base), XCVR_DMA_CTRL_DMA_I_EN_SHIFT, XCVR_DMA_CTRL_DMA_I_EN_WIDTH)) |
| |
| /*! @brief Set the DMA_I_EN field to a new value. */ |
| #define XCVR_WR_DMA_CTRL_DMA_I_EN(base, value) (XCVR_RMW_DMA_CTRL(base, XCVR_DMA_CTRL_DMA_I_EN_MASK, XCVR_DMA_CTRL_DMA_I_EN(value))) |
| #define XCVR_BWR_DMA_CTRL_DMA_I_EN(base, value) (BME_BFI32(&XCVR_DMA_CTRL_REG(base), ((uint32_t)(value) << XCVR_DMA_CTRL_DMA_I_EN_SHIFT), XCVR_DMA_CTRL_DMA_I_EN_SHIFT, XCVR_DMA_CTRL_DMA_I_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DMA_CTRL, field DMA_Q_EN[1] (RW) |
| * |
| * DMA Q Enable |
| * |
| * Values: |
| * - 0b0 - Transceiver Q channel DMA disabled. |
| * - 0b1 - Enable the transceiver DMA engine to store RX_DIG Q channel outputs |
| * to system memory. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DMA_CTRL_DMA_Q_EN field. */ |
| #define XCVR_RD_DMA_CTRL_DMA_Q_EN(base) ((XCVR_DMA_CTRL_REG(base) & XCVR_DMA_CTRL_DMA_Q_EN_MASK) >> XCVR_DMA_CTRL_DMA_Q_EN_SHIFT) |
| #define XCVR_BRD_DMA_CTRL_DMA_Q_EN(base) (BME_UBFX32(&XCVR_DMA_CTRL_REG(base), XCVR_DMA_CTRL_DMA_Q_EN_SHIFT, XCVR_DMA_CTRL_DMA_Q_EN_WIDTH)) |
| |
| /*! @brief Set the DMA_Q_EN field to a new value. */ |
| #define XCVR_WR_DMA_CTRL_DMA_Q_EN(base, value) (XCVR_RMW_DMA_CTRL(base, XCVR_DMA_CTRL_DMA_Q_EN_MASK, XCVR_DMA_CTRL_DMA_Q_EN(value))) |
| #define XCVR_BWR_DMA_CTRL_DMA_Q_EN(base, value) (BME_BFI32(&XCVR_DMA_CTRL_REG(base), ((uint32_t)(value) << XCVR_DMA_CTRL_DMA_Q_EN_SHIFT), XCVR_DMA_CTRL_DMA_Q_EN_SHIFT, XCVR_DMA_CTRL_DMA_Q_EN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DMA_DATA - DMA Data |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DMA_DATA - DMA Data (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Transceiver DMA Data. Not intended to be read directly by application |
| * software, this register is merely an address slot where the SoC DMA controller can |
| * access the RX_DIG samples to be transferred to memory. After enabling |
| * transceiver DMA, the first sample pair should be discarded due to DMA controller |
| * latency; all subsequent samples are valid |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DMA_DATA register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DMA_DATA(base) (XCVR_DMA_DATA_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DMA_DATA bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DMA_DATA, field DMA_DATA_11_0[11:0] (RO) |
| * |
| * Reflection of the RX_DIG DMA data to be stored to system memory. The |
| * transceiver DMA engine acquires 12-bit samples from RX_DIG, and deposits them in this |
| * register field. If DMA I channel is enabled, i.e. DMA_CTRL[DMA_I_EN]=1, then |
| * this register field contains I channel samples; otherwise it contains Q channel |
| * samples. For single-channel mode, this register field represents the first |
| * consecutive RX_DIG sample of the sample-pair; for dual-channel mode, I and Q |
| * samples are captured simultaneously. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DMA_DATA_DMA_DATA_11_0 field. */ |
| #define XCVR_RD_DMA_DATA_DMA_DATA_11_0(base) ((XCVR_DMA_DATA_REG(base) & XCVR_DMA_DATA_DMA_DATA_11_0_MASK) >> XCVR_DMA_DATA_DMA_DATA_11_0_SHIFT) |
| #define XCVR_BRD_DMA_DATA_DMA_DATA_11_0(base) (BME_UBFX32(&XCVR_DMA_DATA_REG(base), XCVR_DMA_DATA_DMA_DATA_11_0_SHIFT, XCVR_DMA_DATA_DMA_DATA_11_0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DMA_DATA, field DMA_DATA_27_16[27:16] (RO) |
| * |
| * Reflection of the RX_DIG DMA data to be stored to system memory. The |
| * transceiver DMA engine acquires 12-bit samples from RX_DIG, and deposits them in this |
| * register field. If DMA Q channel is enabled, i.e. DMA_CTRL[DMA_Q_EN]=1, then |
| * this register field contains Q channel samples; otherwise it contains I channel |
| * samples. For single-channel mode, this register field represents the second |
| * consecutive RX_DIG sample of the sample-pair; for dual-channel mode, I and Q |
| * samples are captured simultaneously. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DMA_DATA_DMA_DATA_27_16 field. */ |
| #define XCVR_RD_DMA_DATA_DMA_DATA_27_16(base) ((XCVR_DMA_DATA_REG(base) & XCVR_DMA_DATA_DMA_DATA_27_16_MASK) >> XCVR_DMA_DATA_DMA_DATA_27_16_SHIFT) |
| #define XCVR_BRD_DMA_DATA_DMA_DATA_27_16(base) (BME_UBFX32(&XCVR_DMA_DATA_REG(base), XCVR_DMA_DATA_DMA_DATA_27_16_SHIFT, XCVR_DMA_DATA_DMA_DATA_27_16_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_DTEST_CTRL - Digital Test Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_DTEST_CTRL - Digital Test Control (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Digital Test Control. Allows selection and enablement of a page of DTEST |
| * signals to appear on the SoC DTEST pins. This register configures only the |
| * transceiver for DTEST mode; since DTEST pads on the SoC are multiplexed with other |
| * functions, SoC Port Pin programming is also required for each DTEST output |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_DTEST_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_DTEST_CTRL(base) (XCVR_DTEST_CTRL_REG(base)) |
| #define XCVR_WR_DTEST_CTRL(base, value) (XCVR_DTEST_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_DTEST_CTRL(base, mask, value) (XCVR_WR_DTEST_CTRL(base, (XCVR_RD_DTEST_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_DTEST_CTRL(base, value) (BME_OR32(&XCVR_DTEST_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_DTEST_CTRL(base, value) (BME_AND32(&XCVR_DTEST_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_DTEST_CTRL(base, value) (BME_XOR32(&XCVR_DTEST_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_DTEST_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_DTEST_CTRL, field DTEST_PAGE[5:0] (RW) |
| * |
| * DTEST Page signal assignments are defined in a spreadsheet located at |
| * http://compass.freescale.net/livelink/livelink/open/231923338. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DTEST_CTRL_DTEST_PAGE field. */ |
| #define XCVR_RD_DTEST_CTRL_DTEST_PAGE(base) ((XCVR_DTEST_CTRL_REG(base) & XCVR_DTEST_CTRL_DTEST_PAGE_MASK) >> XCVR_DTEST_CTRL_DTEST_PAGE_SHIFT) |
| #define XCVR_BRD_DTEST_CTRL_DTEST_PAGE(base) (BME_UBFX32(&XCVR_DTEST_CTRL_REG(base), XCVR_DTEST_CTRL_DTEST_PAGE_SHIFT, XCVR_DTEST_CTRL_DTEST_PAGE_WIDTH)) |
| |
| /*! @brief Set the DTEST_PAGE field to a new value. */ |
| #define XCVR_WR_DTEST_CTRL_DTEST_PAGE(base, value) (XCVR_RMW_DTEST_CTRL(base, XCVR_DTEST_CTRL_DTEST_PAGE_MASK, XCVR_DTEST_CTRL_DTEST_PAGE(value))) |
| #define XCVR_BWR_DTEST_CTRL_DTEST_PAGE(base, value) (BME_BFI32(&XCVR_DTEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_DTEST_CTRL_DTEST_PAGE_SHIFT), XCVR_DTEST_CTRL_DTEST_PAGE_SHIFT, XCVR_DTEST_CTRL_DTEST_PAGE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DTEST_CTRL, field DTEST_EN[7] (RW) |
| * |
| * DTEST enable |
| * |
| * Values: |
| * - 0b0 - Disables DTEST. The IC's DTEST pins assume their mission function. |
| * - 0b1 - Enables DTEST. The contents of the selected page (DTEST_PAGE) will |
| * appear on the IC's DTEST output pins. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DTEST_CTRL_DTEST_EN field. */ |
| #define XCVR_RD_DTEST_CTRL_DTEST_EN(base) ((XCVR_DTEST_CTRL_REG(base) & XCVR_DTEST_CTRL_DTEST_EN_MASK) >> XCVR_DTEST_CTRL_DTEST_EN_SHIFT) |
| #define XCVR_BRD_DTEST_CTRL_DTEST_EN(base) (BME_UBFX32(&XCVR_DTEST_CTRL_REG(base), XCVR_DTEST_CTRL_DTEST_EN_SHIFT, XCVR_DTEST_CTRL_DTEST_EN_WIDTH)) |
| |
| /*! @brief Set the DTEST_EN field to a new value. */ |
| #define XCVR_WR_DTEST_CTRL_DTEST_EN(base, value) (XCVR_RMW_DTEST_CTRL(base, XCVR_DTEST_CTRL_DTEST_EN_MASK, XCVR_DTEST_CTRL_DTEST_EN(value))) |
| #define XCVR_BWR_DTEST_CTRL_DTEST_EN(base, value) (BME_BFI32(&XCVR_DTEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_DTEST_CTRL_DTEST_EN_SHIFT), XCVR_DTEST_CTRL_DTEST_EN_SHIFT, XCVR_DTEST_CTRL_DTEST_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DTEST_CTRL, field GPIO0_OVLAY_PIN[11:8] (RW) |
| * |
| * The TSM-controlled output GPIO0_TRIG_EN can be routed to any DTEST pin, |
| * regardless of page selection (DTEST_PAGE), replacing the nominal page-selected |
| * output for that pin. When TSM_GPIO_OVLAY_0 = 1, this register selects the DTEST |
| * pin onto which GPIO0_TRIG_EN will appear, any of DTEST0 - DTEST13. When |
| * TSM_GPIO_OVLAY_0 = 0, this register is ignored, and the DTEST Page Table dictates the |
| * node that appears on each DTEST pin. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DTEST_CTRL_GPIO0_OVLAY_PIN field. */ |
| #define XCVR_RD_DTEST_CTRL_GPIO0_OVLAY_PIN(base) ((XCVR_DTEST_CTRL_REG(base) & XCVR_DTEST_CTRL_GPIO0_OVLAY_PIN_MASK) >> XCVR_DTEST_CTRL_GPIO0_OVLAY_PIN_SHIFT) |
| #define XCVR_BRD_DTEST_CTRL_GPIO0_OVLAY_PIN(base) (BME_UBFX32(&XCVR_DTEST_CTRL_REG(base), XCVR_DTEST_CTRL_GPIO0_OVLAY_PIN_SHIFT, XCVR_DTEST_CTRL_GPIO0_OVLAY_PIN_WIDTH)) |
| |
| /*! @brief Set the GPIO0_OVLAY_PIN field to a new value. */ |
| #define XCVR_WR_DTEST_CTRL_GPIO0_OVLAY_PIN(base, value) (XCVR_RMW_DTEST_CTRL(base, XCVR_DTEST_CTRL_GPIO0_OVLAY_PIN_MASK, XCVR_DTEST_CTRL_GPIO0_OVLAY_PIN(value))) |
| #define XCVR_BWR_DTEST_CTRL_GPIO0_OVLAY_PIN(base, value) (BME_BFI32(&XCVR_DTEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_DTEST_CTRL_GPIO0_OVLAY_PIN_SHIFT), XCVR_DTEST_CTRL_GPIO0_OVLAY_PIN_SHIFT, XCVR_DTEST_CTRL_GPIO0_OVLAY_PIN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DTEST_CTRL, field GPIO1_OVLAY_PIN[15:12] (RW) |
| * |
| * The TSM-controlled output GPIO1_TRIG_EN can be routed to any DTEST pin, |
| * regardless of page selection (DTEST_PAGE), replacing the nominal page-selected |
| * output for that pin. When TSM_GPIO_OVLAY_1 = 1, this register selects the DTEST |
| * pin onto which GPIO1_TRIG_EN will appear, any of DTEST0 - DTEST13. When |
| * TSM_GPIO_OVLAY_1 = 0, this register is ignored, and the DTEST Page Table dictates the |
| * node that appears on each DTEST pin. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DTEST_CTRL_GPIO1_OVLAY_PIN field. */ |
| #define XCVR_RD_DTEST_CTRL_GPIO1_OVLAY_PIN(base) ((XCVR_DTEST_CTRL_REG(base) & XCVR_DTEST_CTRL_GPIO1_OVLAY_PIN_MASK) >> XCVR_DTEST_CTRL_GPIO1_OVLAY_PIN_SHIFT) |
| #define XCVR_BRD_DTEST_CTRL_GPIO1_OVLAY_PIN(base) (BME_UBFX32(&XCVR_DTEST_CTRL_REG(base), XCVR_DTEST_CTRL_GPIO1_OVLAY_PIN_SHIFT, XCVR_DTEST_CTRL_GPIO1_OVLAY_PIN_WIDTH)) |
| |
| /*! @brief Set the GPIO1_OVLAY_PIN field to a new value. */ |
| #define XCVR_WR_DTEST_CTRL_GPIO1_OVLAY_PIN(base, value) (XCVR_RMW_DTEST_CTRL(base, XCVR_DTEST_CTRL_GPIO1_OVLAY_PIN_MASK, XCVR_DTEST_CTRL_GPIO1_OVLAY_PIN(value))) |
| #define XCVR_BWR_DTEST_CTRL_GPIO1_OVLAY_PIN(base, value) (BME_BFI32(&XCVR_DTEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_DTEST_CTRL_GPIO1_OVLAY_PIN_SHIFT), XCVR_DTEST_CTRL_GPIO1_OVLAY_PIN_SHIFT, XCVR_DTEST_CTRL_GPIO1_OVLAY_PIN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DTEST_CTRL, field TSM_GPIO_OVLAY_0[16] (RW) |
| * |
| * The TSM-controlled output GPIO0_TRIG_EN can be routed to any DTEST pin, |
| * regardless of page selection (DTEST_PAGE), replacing the nominal page-selected |
| * output for that pin. When TSM_GPIO_OVLAY_0 = 1, the register GPIO0_OVLAY_PIN[3:0] |
| * selects the DTEST pin on which GPIO0_TRIG_EN will appear, any of DTEST0 - |
| * DTEST13. When TSM_GPIO_OVLAY_0 = 0, there is no overlay, and the DTEST Page Table |
| * dictates the node that appears on each DTEST pin. |
| * |
| * Values: |
| * - 0b0 - there is no overlay, and the DTEST Page Table dictates the node that |
| * appears on each DTEST pin. |
| * - 0b1 - the register GPIO0_OVLAY_PIN[3:0] selects the DTEST pin on which |
| * GPIO0_TRIG_EN will appear. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_0 field. */ |
| #define XCVR_RD_DTEST_CTRL_TSM_GPIO_OVLAY_0(base) ((XCVR_DTEST_CTRL_REG(base) & XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_0_MASK) >> XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_0_SHIFT) |
| #define XCVR_BRD_DTEST_CTRL_TSM_GPIO_OVLAY_0(base) (BME_UBFX32(&XCVR_DTEST_CTRL_REG(base), XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_0_SHIFT, XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_0_WIDTH)) |
| |
| /*! @brief Set the TSM_GPIO_OVLAY_0 field to a new value. */ |
| #define XCVR_WR_DTEST_CTRL_TSM_GPIO_OVLAY_0(base, value) (XCVR_RMW_DTEST_CTRL(base, XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_0_MASK, XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_0(value))) |
| #define XCVR_BWR_DTEST_CTRL_TSM_GPIO_OVLAY_0(base, value) (BME_BFI32(&XCVR_DTEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_0_SHIFT), XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_0_SHIFT, XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DTEST_CTRL, field TSM_GPIO_OVLAY_1[17] (RW) |
| * |
| * The TSM-controlled output GPIO1_TRIG_EN can be routed to any DTEST pin, |
| * regardless of page selection (DTEST_PAGE), replacing the nominal page-selected |
| * output for that pin. When TSM_GPIO_OVLAY_1 = 1, the register GPIO1_OVLAY_PIN[3:0] |
| * selects the DTEST pin on which GPIO1_TRIG_EN will appear, any of DTEST0 - |
| * DTEST13. When TSM_GPIO_OVLAY_1 = 0, there is no overlay, and the DTEST Page Table |
| * dictates the node that appears on each DTEST pin. |
| * |
| * Values: |
| * - 0b0 - there is no overlay, and the DTEST Page Table dictates the node that |
| * appears on each DTEST pin. |
| * - 0b1 - the register GPIO1_OVLAY_PIN[3:0] selects the DTEST pin on which |
| * GPIO1_TRIG_EN will appear. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_1 field. */ |
| #define XCVR_RD_DTEST_CTRL_TSM_GPIO_OVLAY_1(base) ((XCVR_DTEST_CTRL_REG(base) & XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_1_MASK) >> XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_1_SHIFT) |
| #define XCVR_BRD_DTEST_CTRL_TSM_GPIO_OVLAY_1(base) (BME_UBFX32(&XCVR_DTEST_CTRL_REG(base), XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_1_SHIFT, XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_1_WIDTH)) |
| |
| /*! @brief Set the TSM_GPIO_OVLAY_1 field to a new value. */ |
| #define XCVR_WR_DTEST_CTRL_TSM_GPIO_OVLAY_1(base, value) (XCVR_RMW_DTEST_CTRL(base, XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_1_MASK, XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_1(value))) |
| #define XCVR_BWR_DTEST_CTRL_TSM_GPIO_OVLAY_1(base, value) (BME_BFI32(&XCVR_DTEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_1_SHIFT), XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_1_SHIFT, XCVR_DTEST_CTRL_TSM_GPIO_OVLAY_1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DTEST_CTRL, field DTEST_SHFT[26:24] (RW) |
| * |
| * This register field DTEST_SHFT[1:0] control the amount of "arithmetic shift", |
| * which can optionally be applied to DTEST output busses. DTEST_SHFT affects |
| * only 2 DTEST output busses: PLL_RIPPLE_COUNTER[16:0] on DTEST page: PLLRIPPLE |
| * (0x02). Shift is to the left (magnitude increasing) RX_DIG_IQ[11:0] on DTEST |
| * page: RXDIGIQ (0x0E). Shift is to the right (magnitude decreasing) The bits of |
| * PLL_RIPPLE_COUNTER[16:0], an unsigned value, are shifted by DTEST_SHFT[1:0] |
| * according to the following table DTEST_SHFT[1:0] THESE BITS APPEAR ON DTEST[13:0] |
| * 00 PLL_RIPPLE_COUNTER[16:3] 01 PLL_RIPPLE_COUNTER[15:2] 10 |
| * PLL_RIPPLE_COUNTER[14:1] 11 PLL_RIPPLE_COUNTER[13:0] The bits of RX_DIG_IQ[11:0], a signed value, |
| * are shifted/sign-extended by DTEST_SHFT[1:0] according to the following table |
| * DTEST_SHFT[1:0] THESE BITS APPEAR ON DTEST[13:2] 00 RX_DIG_IQ[11:0] (no |
| * shift) 01 RX_DIG_IQ[11],RX_DIG_IQ[11:1] (right shift by 1) 10 |
| * RX_DIG_IQ[11],RX_DIG_IQ[11],RX_DIG_IQ[11:2] (right shift by 2) 11 RX_DIG_IQ[11:0] (no shift) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DTEST_CTRL_DTEST_SHFT field. */ |
| #define XCVR_RD_DTEST_CTRL_DTEST_SHFT(base) ((XCVR_DTEST_CTRL_REG(base) & XCVR_DTEST_CTRL_DTEST_SHFT_MASK) >> XCVR_DTEST_CTRL_DTEST_SHFT_SHIFT) |
| #define XCVR_BRD_DTEST_CTRL_DTEST_SHFT(base) (BME_UBFX32(&XCVR_DTEST_CTRL_REG(base), XCVR_DTEST_CTRL_DTEST_SHFT_SHIFT, XCVR_DTEST_CTRL_DTEST_SHFT_WIDTH)) |
| |
| /*! @brief Set the DTEST_SHFT field to a new value. */ |
| #define XCVR_WR_DTEST_CTRL_DTEST_SHFT(base, value) (XCVR_RMW_DTEST_CTRL(base, XCVR_DTEST_CTRL_DTEST_SHFT_MASK, XCVR_DTEST_CTRL_DTEST_SHFT(value))) |
| #define XCVR_BWR_DTEST_CTRL_DTEST_SHFT(base, value) (BME_BFI32(&XCVR_DTEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_DTEST_CTRL_DTEST_SHFT_SHIFT), XCVR_DTEST_CTRL_DTEST_SHFT_SHIFT, XCVR_DTEST_CTRL_DTEST_SHFT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DTEST_CTRL, field RAW_MODE_I[28] (RW) |
| * |
| * DTEST I Channel Raw Mode allows raw, unfiltered ADC samples to be brought out |
| * to DTEST pins on the RXDIGIQ DTEST page. In raw mode, 2 5-bit ADC samples are |
| * concatenated into a single 12-bit DMA sample. DMA transfers these samples to |
| * memory in the same way it transfers filtered samples. Raw mode is only |
| * supported when the RX_DIG is programmed to decimate-by-2. The procedure to active Raw |
| * mode on I channel is as follows: 1. RX_DIG_CTRL[RX_ADC_RAW_EN]=1 2. |
| * RX_DIG_CTRL[RX_DEC_FILT_OSR]=0 3. DTEST_CTRL[DTEST_PAGE]=0x0E (RXDIGIQ) 4. |
| * DTEST_CTRL[DTEST_EN]=1 5. DTEST_CTRL[RAW_MODE_I]=1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DTEST_CTRL_RAW_MODE_I field. */ |
| #define XCVR_RD_DTEST_CTRL_RAW_MODE_I(base) ((XCVR_DTEST_CTRL_REG(base) & XCVR_DTEST_CTRL_RAW_MODE_I_MASK) >> XCVR_DTEST_CTRL_RAW_MODE_I_SHIFT) |
| #define XCVR_BRD_DTEST_CTRL_RAW_MODE_I(base) (BME_UBFX32(&XCVR_DTEST_CTRL_REG(base), XCVR_DTEST_CTRL_RAW_MODE_I_SHIFT, XCVR_DTEST_CTRL_RAW_MODE_I_WIDTH)) |
| |
| /*! @brief Set the RAW_MODE_I field to a new value. */ |
| #define XCVR_WR_DTEST_CTRL_RAW_MODE_I(base, value) (XCVR_RMW_DTEST_CTRL(base, XCVR_DTEST_CTRL_RAW_MODE_I_MASK, XCVR_DTEST_CTRL_RAW_MODE_I(value))) |
| #define XCVR_BWR_DTEST_CTRL_RAW_MODE_I(base, value) (BME_BFI32(&XCVR_DTEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_DTEST_CTRL_RAW_MODE_I_SHIFT), XCVR_DTEST_CTRL_RAW_MODE_I_SHIFT, XCVR_DTEST_CTRL_RAW_MODE_I_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_DTEST_CTRL, field RAW_MODE_Q[29] (RW) |
| * |
| * DTEST Q Channel Raw Mode allows raw, unfiltered ADC samples to be brought out |
| * to DTEST pins on the RXDIGIQ DTEST page. In raw mode, 2 5-bit ADC samples are |
| * concatenated into a single 12-bit DMA sample. DMA transfers these samples to |
| * memory in the same way it transfers filtered samples. Raw mode is only |
| * supported when the RX_DIG is programmed to decimate-by-2. The procedure to active Raw |
| * mode on Q channel is as follows: 1. RX_DIG_CTRL[RX_ADC_RAW_EN]=1 2. |
| * RX_DIG_CTRL[RX_DEC_FILT_OSR]=0 3. DTEST_CTRL[DTEST_PAGE]=0x0E (RXDIGIQ) 4. |
| * DTEST_CTRL[DTEST_EN]=1 5. DTEST_CTRL[RAW_MODE_Q]=1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_DTEST_CTRL_RAW_MODE_Q field. */ |
| #define XCVR_RD_DTEST_CTRL_RAW_MODE_Q(base) ((XCVR_DTEST_CTRL_REG(base) & XCVR_DTEST_CTRL_RAW_MODE_Q_MASK) >> XCVR_DTEST_CTRL_RAW_MODE_Q_SHIFT) |
| #define XCVR_BRD_DTEST_CTRL_RAW_MODE_Q(base) (BME_UBFX32(&XCVR_DTEST_CTRL_REG(base), XCVR_DTEST_CTRL_RAW_MODE_Q_SHIFT, XCVR_DTEST_CTRL_RAW_MODE_Q_WIDTH)) |
| |
| /*! @brief Set the RAW_MODE_Q field to a new value. */ |
| #define XCVR_WR_DTEST_CTRL_RAW_MODE_Q(base, value) (XCVR_RMW_DTEST_CTRL(base, XCVR_DTEST_CTRL_RAW_MODE_Q_MASK, XCVR_DTEST_CTRL_RAW_MODE_Q(value))) |
| #define XCVR_BWR_DTEST_CTRL_RAW_MODE_Q(base, value) (BME_BFI32(&XCVR_DTEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_DTEST_CTRL_RAW_MODE_Q_SHIFT), XCVR_DTEST_CTRL_RAW_MODE_Q_SHIFT, XCVR_DTEST_CTRL_RAW_MODE_Q_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PB_CTRL - Packet Buffer Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PB_CTRL - Packet Buffer Control Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PB_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PB_CTRL(base) (XCVR_PB_CTRL_REG(base)) |
| #define XCVR_WR_PB_CTRL(base, value) (XCVR_PB_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_PB_CTRL(base, mask, value) (XCVR_WR_PB_CTRL(base, (XCVR_RD_PB_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PB_CTRL(base, value) (BME_OR32(&XCVR_PB_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PB_CTRL(base, value) (BME_AND32(&XCVR_PB_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PB_CTRL(base, value) (BME_XOR32(&XCVR_PB_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PB_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PB_CTRL, field PB_PROTECT[0] (RW) |
| * |
| * Protect Packet Buffer contents against overwriting by the next received packet |
| * |
| * Values: |
| * - 0b0 - Incoming received packets overwrite Packet Buffer contents (default) |
| * - 0b1 - Incoming received packets are blocked from overwriting Packet Buffer |
| * contents |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PB_CTRL_PB_PROTECT field. */ |
| #define XCVR_RD_PB_CTRL_PB_PROTECT(base) ((XCVR_PB_CTRL_REG(base) & XCVR_PB_CTRL_PB_PROTECT_MASK) >> XCVR_PB_CTRL_PB_PROTECT_SHIFT) |
| #define XCVR_BRD_PB_CTRL_PB_PROTECT(base) (BME_UBFX32(&XCVR_PB_CTRL_REG(base), XCVR_PB_CTRL_PB_PROTECT_SHIFT, XCVR_PB_CTRL_PB_PROTECT_WIDTH)) |
| |
| /*! @brief Set the PB_PROTECT field to a new value. */ |
| #define XCVR_WR_PB_CTRL_PB_PROTECT(base, value) (XCVR_RMW_PB_CTRL(base, XCVR_PB_CTRL_PB_PROTECT_MASK, XCVR_PB_CTRL_PB_PROTECT(value))) |
| #define XCVR_BWR_PB_CTRL_PB_PROTECT(base, value) (BME_BFI32(&XCVR_PB_CTRL_REG(base), ((uint32_t)(value) << XCVR_PB_CTRL_PB_PROTECT_SHIFT), XCVR_PB_CTRL_PB_PROTECT_SHIFT, XCVR_PB_CTRL_PB_PROTECT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_CTRL - Transceiver Sequence Manager Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_CTRL - Transceiver Sequence Manager Control (RW) |
| * |
| * Reset value: 0xFF000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_CTRL(base) (XCVR_TSM_CTRL_REG(base)) |
| #define XCVR_WR_TSM_CTRL(base, value) (XCVR_TSM_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_TSM_CTRL(base, mask, value) (XCVR_WR_TSM_CTRL(base, (XCVR_RD_TSM_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_CTRL(base, value) (BME_OR32(&XCVR_TSM_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_CTRL(base, value) (BME_AND32(&XCVR_TSM_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_CTRL(base, value) (BME_XOR32(&XCVR_TSM_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_CTRL, field FORCE_TX_EN[2] (RW) |
| * |
| * Direct software control to launch a TX TSM sequence. Initiates a TX Warmup |
| * sequence on a 0 to 1 transition and a TX Warmdown sequence on a 1 to 0 |
| * transition. |
| * |
| * Values: |
| * - 0b0 - TSM Idle |
| * - 0b1 - TSM executes a TX sequence |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_CTRL_FORCE_TX_EN field. */ |
| #define XCVR_RD_TSM_CTRL_FORCE_TX_EN(base) ((XCVR_TSM_CTRL_REG(base) & XCVR_TSM_CTRL_FORCE_TX_EN_MASK) >> XCVR_TSM_CTRL_FORCE_TX_EN_SHIFT) |
| #define XCVR_BRD_TSM_CTRL_FORCE_TX_EN(base) (BME_UBFX32(&XCVR_TSM_CTRL_REG(base), XCVR_TSM_CTRL_FORCE_TX_EN_SHIFT, XCVR_TSM_CTRL_FORCE_TX_EN_WIDTH)) |
| |
| /*! @brief Set the FORCE_TX_EN field to a new value. */ |
| #define XCVR_WR_TSM_CTRL_FORCE_TX_EN(base, value) (XCVR_RMW_TSM_CTRL(base, XCVR_TSM_CTRL_FORCE_TX_EN_MASK, XCVR_TSM_CTRL_FORCE_TX_EN(value))) |
| #define XCVR_BWR_TSM_CTRL_FORCE_TX_EN(base, value) (BME_BFI32(&XCVR_TSM_CTRL_REG(base), ((uint32_t)(value) << XCVR_TSM_CTRL_FORCE_TX_EN_SHIFT), XCVR_TSM_CTRL_FORCE_TX_EN_SHIFT, XCVR_TSM_CTRL_FORCE_TX_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_CTRL, field FORCE_RX_EN[3] (RW) |
| * |
| * Direct software control to launch a RX TSM sequence. Initiates RX Warmup on a |
| * 0 to 1 transition and RX Warmdown on a 1 to 0 transition. |
| * |
| * Values: |
| * - 0b0 - TSM Idle |
| * - 0b1 - TSM executes a RX sequence |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_CTRL_FORCE_RX_EN field. */ |
| #define XCVR_RD_TSM_CTRL_FORCE_RX_EN(base) ((XCVR_TSM_CTRL_REG(base) & XCVR_TSM_CTRL_FORCE_RX_EN_MASK) >> XCVR_TSM_CTRL_FORCE_RX_EN_SHIFT) |
| #define XCVR_BRD_TSM_CTRL_FORCE_RX_EN(base) (BME_UBFX32(&XCVR_TSM_CTRL_REG(base), XCVR_TSM_CTRL_FORCE_RX_EN_SHIFT, XCVR_TSM_CTRL_FORCE_RX_EN_WIDTH)) |
| |
| /*! @brief Set the FORCE_RX_EN field to a new value. */ |
| #define XCVR_WR_TSM_CTRL_FORCE_RX_EN(base, value) (XCVR_RMW_TSM_CTRL(base, XCVR_TSM_CTRL_FORCE_RX_EN_MASK, XCVR_TSM_CTRL_FORCE_RX_EN(value))) |
| #define XCVR_BWR_TSM_CTRL_FORCE_RX_EN(base, value) (BME_BFI32(&XCVR_TSM_CTRL_REG(base), ((uint32_t)(value) << XCVR_TSM_CTRL_FORCE_RX_EN_SHIFT), XCVR_TSM_CTRL_FORCE_RX_EN_SHIFT, XCVR_TSM_CTRL_FORCE_RX_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_CTRL, field PA_RAMP_SEL[5:4] (RW) |
| * |
| * Selects the ramp-rate, and thus the duration, for PA ramping. Ramp-rate is |
| * the rate at which the PA ramping logic steps through the PA Bias Table. the |
| * default TSM TX sequence needs to be adjusted (re-programmed) for a 4us or 8us |
| * ramp. PA_RAMP_SEL[1:0] TOTAL RAMP DURATION DURATION OF EACH RAMP STEP 00 No ramp |
| * No ramp 01 2us 0.25us 10 4us 0.5us 11 8us 1us |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_CTRL_PA_RAMP_SEL field. */ |
| #define XCVR_RD_TSM_CTRL_PA_RAMP_SEL(base) ((XCVR_TSM_CTRL_REG(base) & XCVR_TSM_CTRL_PA_RAMP_SEL_MASK) >> XCVR_TSM_CTRL_PA_RAMP_SEL_SHIFT) |
| #define XCVR_BRD_TSM_CTRL_PA_RAMP_SEL(base) (BME_UBFX32(&XCVR_TSM_CTRL_REG(base), XCVR_TSM_CTRL_PA_RAMP_SEL_SHIFT, XCVR_TSM_CTRL_PA_RAMP_SEL_WIDTH)) |
| |
| /*! @brief Set the PA_RAMP_SEL field to a new value. */ |
| #define XCVR_WR_TSM_CTRL_PA_RAMP_SEL(base, value) (XCVR_RMW_TSM_CTRL(base, XCVR_TSM_CTRL_PA_RAMP_SEL_MASK, XCVR_TSM_CTRL_PA_RAMP_SEL(value))) |
| #define XCVR_BWR_TSM_CTRL_PA_RAMP_SEL(base, value) (BME_BFI32(&XCVR_TSM_CTRL_REG(base), ((uint32_t)(value) << XCVR_TSM_CTRL_PA_RAMP_SEL_SHIFT), XCVR_TSM_CTRL_PA_RAMP_SEL_SHIFT, XCVR_TSM_CTRL_PA_RAMP_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_CTRL, field DATA_PADDING_EN[6] (RW) |
| * |
| * Enables TX Data Padding. Data padding works in conjunction with PA ramping to |
| * minimize spectral transients during PA turn-on and turn-off. The nature of |
| * the data padding depends on the setting of XCVR_CTRL[PROTOCOL]. |
| * |
| * Values: |
| * - 0b0 - Disable TX Data Padding |
| * - 0b1 - Enable TX Data Padding |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_CTRL_DATA_PADDING_EN field. */ |
| #define XCVR_RD_TSM_CTRL_DATA_PADDING_EN(base) ((XCVR_TSM_CTRL_REG(base) & XCVR_TSM_CTRL_DATA_PADDING_EN_MASK) >> XCVR_TSM_CTRL_DATA_PADDING_EN_SHIFT) |
| #define XCVR_BRD_TSM_CTRL_DATA_PADDING_EN(base) (BME_UBFX32(&XCVR_TSM_CTRL_REG(base), XCVR_TSM_CTRL_DATA_PADDING_EN_SHIFT, XCVR_TSM_CTRL_DATA_PADDING_EN_WIDTH)) |
| |
| /*! @brief Set the DATA_PADDING_EN field to a new value. */ |
| #define XCVR_WR_TSM_CTRL_DATA_PADDING_EN(base, value) (XCVR_RMW_TSM_CTRL(base, XCVR_TSM_CTRL_DATA_PADDING_EN_MASK, XCVR_TSM_CTRL_DATA_PADDING_EN(value))) |
| #define XCVR_BWR_TSM_CTRL_DATA_PADDING_EN(base, value) (BME_BFI32(&XCVR_TSM_CTRL_REG(base), ((uint32_t)(value) << XCVR_TSM_CTRL_DATA_PADDING_EN_SHIFT), XCVR_TSM_CTRL_DATA_PADDING_EN_SHIFT, XCVR_TSM_CTRL_DATA_PADDING_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_CTRL, field TX_ABORT_DIS[16] (RW) |
| * |
| * TX Abort disable. When set, prevents PLL unlock events during TX sequences |
| * from aborting the sequence. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_CTRL_TX_ABORT_DIS field. */ |
| #define XCVR_RD_TSM_CTRL_TX_ABORT_DIS(base) ((XCVR_TSM_CTRL_REG(base) & XCVR_TSM_CTRL_TX_ABORT_DIS_MASK) >> XCVR_TSM_CTRL_TX_ABORT_DIS_SHIFT) |
| #define XCVR_BRD_TSM_CTRL_TX_ABORT_DIS(base) (BME_UBFX32(&XCVR_TSM_CTRL_REG(base), XCVR_TSM_CTRL_TX_ABORT_DIS_SHIFT, XCVR_TSM_CTRL_TX_ABORT_DIS_WIDTH)) |
| |
| /*! @brief Set the TX_ABORT_DIS field to a new value. */ |
| #define XCVR_WR_TSM_CTRL_TX_ABORT_DIS(base, value) (XCVR_RMW_TSM_CTRL(base, XCVR_TSM_CTRL_TX_ABORT_DIS_MASK, XCVR_TSM_CTRL_TX_ABORT_DIS(value))) |
| #define XCVR_BWR_TSM_CTRL_TX_ABORT_DIS(base, value) (BME_BFI32(&XCVR_TSM_CTRL_REG(base), ((uint32_t)(value) << XCVR_TSM_CTRL_TX_ABORT_DIS_SHIFT), XCVR_TSM_CTRL_TX_ABORT_DIS_SHIFT, XCVR_TSM_CTRL_TX_ABORT_DIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_CTRL, field RX_ABORT_DIS[17] (RW) |
| * |
| * RX Abort disable. When set, prevents PLL unlock events during RX sequences |
| * from aborting the sequence. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_CTRL_RX_ABORT_DIS field. */ |
| #define XCVR_RD_TSM_CTRL_RX_ABORT_DIS(base) ((XCVR_TSM_CTRL_REG(base) & XCVR_TSM_CTRL_RX_ABORT_DIS_MASK) >> XCVR_TSM_CTRL_RX_ABORT_DIS_SHIFT) |
| #define XCVR_BRD_TSM_CTRL_RX_ABORT_DIS(base) (BME_UBFX32(&XCVR_TSM_CTRL_REG(base), XCVR_TSM_CTRL_RX_ABORT_DIS_SHIFT, XCVR_TSM_CTRL_RX_ABORT_DIS_WIDTH)) |
| |
| /*! @brief Set the RX_ABORT_DIS field to a new value. */ |
| #define XCVR_WR_TSM_CTRL_RX_ABORT_DIS(base, value) (XCVR_RMW_TSM_CTRL(base, XCVR_TSM_CTRL_RX_ABORT_DIS_MASK, XCVR_TSM_CTRL_RX_ABORT_DIS(value))) |
| #define XCVR_BWR_TSM_CTRL_RX_ABORT_DIS(base, value) (BME_BFI32(&XCVR_TSM_CTRL_REG(base), ((uint32_t)(value) << XCVR_TSM_CTRL_RX_ABORT_DIS_SHIFT), XCVR_TSM_CTRL_RX_ABORT_DIS_SHIFT, XCVR_TSM_CTRL_RX_ABORT_DIS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_CTRL, field ABORT_ON_CTUNE[18] (RW) |
| * |
| * Values: |
| * - 0b0 - don't allow TSM abort on Coarse Tune Unlock Detect |
| * - 0b1 - allow TSM abort on Coarse Tune Unlock Detect |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_CTRL_ABORT_ON_CTUNE field. */ |
| #define XCVR_RD_TSM_CTRL_ABORT_ON_CTUNE(base) ((XCVR_TSM_CTRL_REG(base) & XCVR_TSM_CTRL_ABORT_ON_CTUNE_MASK) >> XCVR_TSM_CTRL_ABORT_ON_CTUNE_SHIFT) |
| #define XCVR_BRD_TSM_CTRL_ABORT_ON_CTUNE(base) (BME_UBFX32(&XCVR_TSM_CTRL_REG(base), XCVR_TSM_CTRL_ABORT_ON_CTUNE_SHIFT, XCVR_TSM_CTRL_ABORT_ON_CTUNE_WIDTH)) |
| |
| /*! @brief Set the ABORT_ON_CTUNE field to a new value. */ |
| #define XCVR_WR_TSM_CTRL_ABORT_ON_CTUNE(base, value) (XCVR_RMW_TSM_CTRL(base, XCVR_TSM_CTRL_ABORT_ON_CTUNE_MASK, XCVR_TSM_CTRL_ABORT_ON_CTUNE(value))) |
| #define XCVR_BWR_TSM_CTRL_ABORT_ON_CTUNE(base, value) (BME_BFI32(&XCVR_TSM_CTRL_REG(base), ((uint32_t)(value) << XCVR_TSM_CTRL_ABORT_ON_CTUNE_SHIFT), XCVR_TSM_CTRL_ABORT_ON_CTUNE_SHIFT, XCVR_TSM_CTRL_ABORT_ON_CTUNE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_CTRL, field ABORT_ON_CYCLE_SLIP[19] (RW) |
| * |
| * Values: |
| * - 0b0 - don't allow TSM abort on Cycle Slip Unlock Detect |
| * - 0b1 - allow TSM abort on Cycle Slip Unlock Detect |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP field. */ |
| #define XCVR_RD_TSM_CTRL_ABORT_ON_CYCLE_SLIP(base) ((XCVR_TSM_CTRL_REG(base) & XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_MASK) >> XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_SHIFT) |
| #define XCVR_BRD_TSM_CTRL_ABORT_ON_CYCLE_SLIP(base) (BME_UBFX32(&XCVR_TSM_CTRL_REG(base), XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_SHIFT, XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_WIDTH)) |
| |
| /*! @brief Set the ABORT_ON_CYCLE_SLIP field to a new value. */ |
| #define XCVR_WR_TSM_CTRL_ABORT_ON_CYCLE_SLIP(base, value) (XCVR_RMW_TSM_CTRL(base, XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_MASK, XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP(value))) |
| #define XCVR_BWR_TSM_CTRL_ABORT_ON_CYCLE_SLIP(base, value) (BME_BFI32(&XCVR_TSM_CTRL_REG(base), ((uint32_t)(value) << XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_SHIFT), XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_SHIFT, XCVR_TSM_CTRL_ABORT_ON_CYCLE_SLIP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_CTRL, field ABORT_ON_FREQ_TARG[20] (RW) |
| * |
| * Values: |
| * - 0b0 - don't allow TSM abort on Frequency Target Unlock Detect |
| * - 0b1 - allow TSM abort on Frequency Target Unlock Detect |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG field. */ |
| #define XCVR_RD_TSM_CTRL_ABORT_ON_FREQ_TARG(base) ((XCVR_TSM_CTRL_REG(base) & XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_MASK) >> XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_SHIFT) |
| #define XCVR_BRD_TSM_CTRL_ABORT_ON_FREQ_TARG(base) (BME_UBFX32(&XCVR_TSM_CTRL_REG(base), XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_SHIFT, XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_WIDTH)) |
| |
| /*! @brief Set the ABORT_ON_FREQ_TARG field to a new value. */ |
| #define XCVR_WR_TSM_CTRL_ABORT_ON_FREQ_TARG(base, value) (XCVR_RMW_TSM_CTRL(base, XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_MASK, XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG(value))) |
| #define XCVR_BWR_TSM_CTRL_ABORT_ON_FREQ_TARG(base, value) (BME_BFI32(&XCVR_TSM_CTRL_REG(base), ((uint32_t)(value) << XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_SHIFT), XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_SHIFT, XCVR_TSM_CTRL_ABORT_ON_FREQ_TARG_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_CTRL, field BKPT[31:24] (RW) |
| * |
| * Temporarily halt a TSM sequence during the warmup or warmdown phase. When the |
| * TSM counter matches the value of BKPT[7:0], breakpoint will take effect and |
| * the TSM counter will stop and hold its count. Breakpoint will remain in effect |
| * as long as BKPT[7:0] matches the TSM counter value. The TSM Breakpoint can be |
| * lifted by modifying the contents of this register. The default value of this |
| * register, 0xFF, is greater than the length of the longest possible sequence, so |
| * a breakpoint will never be triggered unless BKPT[7:0] is programmed to a |
| * value less than the length of sequence. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_CTRL_BKPT field. */ |
| #define XCVR_RD_TSM_CTRL_BKPT(base) ((XCVR_TSM_CTRL_REG(base) & XCVR_TSM_CTRL_BKPT_MASK) >> XCVR_TSM_CTRL_BKPT_SHIFT) |
| #define XCVR_BRD_TSM_CTRL_BKPT(base) (BME_UBFX32(&XCVR_TSM_CTRL_REG(base), XCVR_TSM_CTRL_BKPT_SHIFT, XCVR_TSM_CTRL_BKPT_WIDTH)) |
| |
| /*! @brief Set the BKPT field to a new value. */ |
| #define XCVR_WR_TSM_CTRL_BKPT(base, value) (XCVR_RMW_TSM_CTRL(base, XCVR_TSM_CTRL_BKPT_MASK, XCVR_TSM_CTRL_BKPT(value))) |
| #define XCVR_BWR_TSM_CTRL_BKPT(base, value) (BME_BFI32(&XCVR_TSM_CTRL_REG(base), ((uint32_t)(value) << XCVR_TSM_CTRL_BKPT_SHIFT), XCVR_TSM_CTRL_BKPT_SHIFT, XCVR_TSM_CTRL_BKPT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_END_OF_SEQ - End of Sequence Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_END_OF_SEQ - End of Sequence Control (RW) |
| * |
| * Reset value: 0x65646A67U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_END_OF_SEQ register |
| */ |
| /*@{*/ |
| #define XCVR_RD_END_OF_SEQ(base) (XCVR_END_OF_SEQ_REG(base)) |
| #define XCVR_WR_END_OF_SEQ(base, value) (XCVR_END_OF_SEQ_REG(base) = (value)) |
| #define XCVR_RMW_END_OF_SEQ(base, mask, value) (XCVR_WR_END_OF_SEQ(base, (XCVR_RD_END_OF_SEQ(base) & ~(mask)) | (value))) |
| #define XCVR_SET_END_OF_SEQ(base, value) (BME_OR32(&XCVR_END_OF_SEQ_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_END_OF_SEQ(base, value) (BME_AND32(&XCVR_END_OF_SEQ_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_END_OF_SEQ(base, value) (BME_XOR32(&XCVR_END_OF_SEQ_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_END_OF_SEQ bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_END_OF_SEQ, field END_OF_TX_WU[7:0] (RW) |
| * |
| * This register defines the length of the TSM TX warmup sequence. After the |
| * assertion of a TX sequence-initiating event, when the TSM counter reaches the |
| * count matching this register, it will stop and hold its count, and the TSM will |
| * transition from the WARMUP to the ON phase. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_END_OF_SEQ_END_OF_TX_WU field. */ |
| #define XCVR_RD_END_OF_SEQ_END_OF_TX_WU(base) ((XCVR_END_OF_SEQ_REG(base) & XCVR_END_OF_SEQ_END_OF_TX_WU_MASK) >> XCVR_END_OF_SEQ_END_OF_TX_WU_SHIFT) |
| #define XCVR_BRD_END_OF_SEQ_END_OF_TX_WU(base) (BME_UBFX32(&XCVR_END_OF_SEQ_REG(base), XCVR_END_OF_SEQ_END_OF_TX_WU_SHIFT, XCVR_END_OF_SEQ_END_OF_TX_WU_WIDTH)) |
| |
| /*! @brief Set the END_OF_TX_WU field to a new value. */ |
| #define XCVR_WR_END_OF_SEQ_END_OF_TX_WU(base, value) (XCVR_RMW_END_OF_SEQ(base, XCVR_END_OF_SEQ_END_OF_TX_WU_MASK, XCVR_END_OF_SEQ_END_OF_TX_WU(value))) |
| #define XCVR_BWR_END_OF_SEQ_END_OF_TX_WU(base, value) (BME_BFI32(&XCVR_END_OF_SEQ_REG(base), ((uint32_t)(value) << XCVR_END_OF_SEQ_END_OF_TX_WU_SHIFT), XCVR_END_OF_SEQ_END_OF_TX_WU_SHIFT, XCVR_END_OF_SEQ_END_OF_TX_WU_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_END_OF_SEQ, field END_OF_TX_WD[15:8] (RW) |
| * |
| * This register defines the point at which the TSM TX sequence warmdown |
| * completes, and the TSM returns to idle. The duration of the TSM warmdown phase is |
| * determined by: END_OF_TX_WD - END_OF_TX_WU. For example: the sequence register |
| * defaults render the END_OF_TX_WD=0x69 and END_OF_TX_WU=0x66, so the duration of |
| * the warmdown phase is 0x69 - 0x66 = 3 microseconds. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_END_OF_SEQ_END_OF_TX_WD field. */ |
| #define XCVR_RD_END_OF_SEQ_END_OF_TX_WD(base) ((XCVR_END_OF_SEQ_REG(base) & XCVR_END_OF_SEQ_END_OF_TX_WD_MASK) >> XCVR_END_OF_SEQ_END_OF_TX_WD_SHIFT) |
| #define XCVR_BRD_END_OF_SEQ_END_OF_TX_WD(base) (BME_UBFX32(&XCVR_END_OF_SEQ_REG(base), XCVR_END_OF_SEQ_END_OF_TX_WD_SHIFT, XCVR_END_OF_SEQ_END_OF_TX_WD_WIDTH)) |
| |
| /*! @brief Set the END_OF_TX_WD field to a new value. */ |
| #define XCVR_WR_END_OF_SEQ_END_OF_TX_WD(base, value) (XCVR_RMW_END_OF_SEQ(base, XCVR_END_OF_SEQ_END_OF_TX_WD_MASK, XCVR_END_OF_SEQ_END_OF_TX_WD(value))) |
| #define XCVR_BWR_END_OF_SEQ_END_OF_TX_WD(base, value) (BME_BFI32(&XCVR_END_OF_SEQ_REG(base), ((uint32_t)(value) << XCVR_END_OF_SEQ_END_OF_TX_WD_SHIFT), XCVR_END_OF_SEQ_END_OF_TX_WD_SHIFT, XCVR_END_OF_SEQ_END_OF_TX_WD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_END_OF_SEQ, field END_OF_RX_WU[23:16] (RW) |
| * |
| * This register defines the length of the TSM RX warmup sequence. After the |
| * assertion of a RX sequence-initiating event, when the TSM counter reaches the |
| * count matching this register, it will stop and hold its count, and the TSM will |
| * transition from the WARMUP to the ON phase. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_END_OF_SEQ_END_OF_RX_WU field. */ |
| #define XCVR_RD_END_OF_SEQ_END_OF_RX_WU(base) ((XCVR_END_OF_SEQ_REG(base) & XCVR_END_OF_SEQ_END_OF_RX_WU_MASK) >> XCVR_END_OF_SEQ_END_OF_RX_WU_SHIFT) |
| #define XCVR_BRD_END_OF_SEQ_END_OF_RX_WU(base) (BME_UBFX32(&XCVR_END_OF_SEQ_REG(base), XCVR_END_OF_SEQ_END_OF_RX_WU_SHIFT, XCVR_END_OF_SEQ_END_OF_RX_WU_WIDTH)) |
| |
| /*! @brief Set the END_OF_RX_WU field to a new value. */ |
| #define XCVR_WR_END_OF_SEQ_END_OF_RX_WU(base, value) (XCVR_RMW_END_OF_SEQ(base, XCVR_END_OF_SEQ_END_OF_RX_WU_MASK, XCVR_END_OF_SEQ_END_OF_RX_WU(value))) |
| #define XCVR_BWR_END_OF_SEQ_END_OF_RX_WU(base, value) (BME_BFI32(&XCVR_END_OF_SEQ_REG(base), ((uint32_t)(value) << XCVR_END_OF_SEQ_END_OF_RX_WU_SHIFT), XCVR_END_OF_SEQ_END_OF_RX_WU_SHIFT, XCVR_END_OF_SEQ_END_OF_RX_WU_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_END_OF_SEQ, field END_OF_RX_WD[31:24] (RW) |
| * |
| * This register defines the point at which the TSM RX sequence warmdown |
| * completes, and the TSM returns to idle. The duration of the TSM warmdown phase is |
| * determined by: END_OF_RX_WD - END_OF_RX_WU. For example: the sequence register |
| * defaults render the END_OF_RX_WD=0x33 and END_OF_RX_WU=0x32, so the duration of |
| * the warmdown phase is 0x33 - 0x32 = 1 microseconds. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_END_OF_SEQ_END_OF_RX_WD field. */ |
| #define XCVR_RD_END_OF_SEQ_END_OF_RX_WD(base) ((XCVR_END_OF_SEQ_REG(base) & XCVR_END_OF_SEQ_END_OF_RX_WD_MASK) >> XCVR_END_OF_SEQ_END_OF_RX_WD_SHIFT) |
| #define XCVR_BRD_END_OF_SEQ_END_OF_RX_WD(base) (BME_UBFX32(&XCVR_END_OF_SEQ_REG(base), XCVR_END_OF_SEQ_END_OF_RX_WD_SHIFT, XCVR_END_OF_SEQ_END_OF_RX_WD_WIDTH)) |
| |
| /*! @brief Set the END_OF_RX_WD field to a new value. */ |
| #define XCVR_WR_END_OF_SEQ_END_OF_RX_WD(base, value) (XCVR_RMW_END_OF_SEQ(base, XCVR_END_OF_SEQ_END_OF_RX_WD_MASK, XCVR_END_OF_SEQ_END_OF_RX_WD(value))) |
| #define XCVR_BWR_END_OF_SEQ_END_OF_RX_WD(base, value) (BME_BFI32(&XCVR_END_OF_SEQ_REG(base), ((uint32_t)(value) << XCVR_END_OF_SEQ_END_OF_RX_WD_SHIFT), XCVR_END_OF_SEQ_END_OF_RX_WD_SHIFT, XCVR_END_OF_SEQ_END_OF_RX_WD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_OVRD0 - TSM Override 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_OVRD0 - TSM Override 0 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_OVRD0 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_OVRD0(base) (XCVR_TSM_OVRD0_REG(base)) |
| #define XCVR_WR_TSM_OVRD0(base, value) (XCVR_TSM_OVRD0_REG(base) = (value)) |
| #define XCVR_RMW_TSM_OVRD0(base, mask, value) (XCVR_WR_TSM_OVRD0(base, (XCVR_RD_TSM_OVRD0(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_OVRD0(base, value) (BME_OR32(&XCVR_TSM_OVRD0_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_OVRD0(base, value) (BME_AND32(&XCVR_TSM_OVRD0_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_OVRD0(base, value) (BME_XOR32(&XCVR_TSM_OVRD0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_OVRD0 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_REG_EN_OVRD_EN[0] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_REG_EN_OVRD to override the signal "pll_reg_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_REG_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_REG_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_REG_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_REG_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_REG_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_REG_EN_OVRD[1] (RW) |
| * |
| * When PLL_REG_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "pll_reg_en". This bit is ignored when PLL_REG_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_REG_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_REG_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_REG_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_REG_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_REG_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_MASK, XCVR_TSM_OVRD0_PLL_REG_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_REG_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_REG_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_VCO_REG_EN_OVRD_EN[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_VCO_REG_EN_OVRD to override the signal |
| * "pll_vco_reg_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_REG_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_VCO_REG_EN_OVRD[3] (RW) |
| * |
| * When PLL_VCO_REG_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "pll_vco_reg_en". This bit is ignored when |
| * PLL_VCO_REG_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_VCO_REG_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_VCO_REG_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_REG_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_MASK, XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_REG_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field QGEN_REG_EN_OVRD_EN[4] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of QGEN_REG_EN_OVRD to override the signal |
| * "qgen_reg_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_QGEN_REG_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_QGEN_REG_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the QGEN_REG_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field QGEN_REG_EN_OVRD[5] (RW) |
| * |
| * When QGEN_REG_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "qgen_reg_en". This bit is ignored when QGEN_REG_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_QGEN_REG_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_QGEN_REG_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the QGEN_REG_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_QGEN_REG_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_MASK, XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_QGEN_REG_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_QGEN_REG_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field TCA_TX_REG_EN_OVRD_EN[6] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TCA_TX_REG_EN_OVRD to override the signal |
| * "tca_tx_reg_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TCA_TX_REG_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field TCA_TX_REG_EN_OVRD[7] (RW) |
| * |
| * When TCA_TX_REG_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "tca_tx_reg_en". This bit is ignored when TCA_TX_REG_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_TCA_TX_REG_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_TCA_TX_REG_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TCA_TX_REG_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_TCA_TX_REG_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_MASK, XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_TCA_TX_REG_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_TCA_TX_REG_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field ADC_ANA_REG_EN_OVRD_EN[8] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ADC_ANA_REG_EN_OVRD to override the signal |
| * "adc_ana_reg_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ADC_ANA_REG_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field ADC_ANA_REG_EN_OVRD[9] (RW) |
| * |
| * When ADC_ANA_REG_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "adc_ana_reg_en". This bit is ignored when |
| * ADC_ANA_REG_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_ADC_ANA_REG_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_ADC_ANA_REG_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ADC_ANA_REG_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_MASK, XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_ADC_ANA_REG_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field ADC_DIG_REG_EN_OVRD_EN[10] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ADC_DIG_REG_EN_OVRD to override the signal |
| * "adc_dig_reg_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ADC_DIG_REG_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field ADC_DIG_REG_EN_OVRD[11] (RW) |
| * |
| * When ADC_DIG_REG_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "adc_dig_reg_en". This bit is ignored when |
| * ADC_DIG_REG_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_ADC_DIG_REG_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_ADC_DIG_REG_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ADC_DIG_REG_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_MASK, XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_ADC_DIG_REG_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field XTAL_PLL_REF_CLK_EN_OVRD_EN[12] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of XTAL_PLL_REF_CLK_EN_OVRD to override the signal |
| * "xtal_pll_ref_clk_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the XTAL_PLL_REF_CLK_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field XTAL_PLL_REF_CLK_EN_OVRD[13] (RW) |
| * |
| * When XTAL_PLL_REF_CLK_EN_OVRD_EN=1, this value overrides the mission mode |
| * state of the signal "xtal_pll_ref_clk_en". This bit is ignored when |
| * XTAL_PLL_REF_CLK_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the XTAL_PLL_REF_CLK_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_MASK, XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_XTAL_PLL_REF_CLK_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field XTAL_ADC_REF_CLK_EN_OVRD_EN[14] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of XTAL_ADC_REF_CLK_EN_OVRD to override the signal |
| * "xtal_adc_ref_clk_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the XTAL_ADC_REF_CLK_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field XTAL_ADC_REF_CLK_EN_OVRD[15] (RW) |
| * |
| * When XTAL_ADC_REF_CLK_EN_OVRD_EN=1, this value overrides the mission mode |
| * state of the signal "xtal_adc_ref_clk_en". This bit is ignored when |
| * XTAL_ADC_REF_CLK_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the XTAL_ADC_REF_CLK_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_MASK, XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_XTAL_ADC_REF_CLK_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_VCO_AUTOTUNE_EN_OVRD_EN[16] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_VCO_AUTOTUNE_EN_OVRD to override the signal |
| * "pll_vco_autotune_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_AUTOTUNE_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_VCO_AUTOTUNE_EN_OVRD[17] (RW) |
| * |
| * When PLL_VCO_AUTOTUNE_EN_OVRD_EN=1, this value overrides the mission mode |
| * state of the signal "pll_vco_autotune_en". This bit is ignored when |
| * PLL_VCO_AUTOTUNE_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_AUTOTUNE_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_MASK, XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_AUTOTUNE_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_CYCLE_SLIP_LD_EN_OVRD_EN[18] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_CYCLE_SLIP_LD_EN_OVRD to override the signal |
| * "pll_cycle_slip_ld_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_CYCLE_SLIP_LD_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_CYCLE_SLIP_LD_EN_OVRD[19] (RW) |
| * |
| * When PLL_CYCLE_SLIP_LD_EN_OVRD_EN=1, this value overrides the mission mode |
| * state of the signal "pll_cycle_slip_ld_en". This bit is ignored when |
| * PLL_CYCLE_SLIP_LD_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_CYCLE_SLIP_LD_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_MASK, XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_CYCLE_SLIP_LD_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_VCO_EN_OVRD_EN[20] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_VCO_EN_OVRD to override the signal "pll_vco_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_VCO_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_VCO_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_VCO_EN_OVRD[21] (RW) |
| * |
| * When PLL_VCO_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "pll_vco_en". This bit is ignored when PLL_VCO_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_VCO_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_VCO_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_VCO_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_MASK, XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_VCO_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_VCO_BUF_RX_EN_OVRD_EN[22] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_VCO_BUF_RX_EN_OVRD to override the signal |
| * "pll_vco_buf_rx_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_BUF_RX_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_VCO_BUF_RX_EN_OVRD[23] (RW) |
| * |
| * When PLL_VCO_BUF_RX_EN_OVRD_EN=1, this value overrides the mission mode state |
| * of the signal "pll_vco_buf_rx_en". This bit is ignored when |
| * PLL_VCO_BUF_RX_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_BUF_RX_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_MASK, XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_BUF_RX_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_VCO_BUF_TX_EN_OVRD_EN[24] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_VCO_BUF_TX_EN_OVRD to override the signal |
| * "pll_vco_buf_tx_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_BUF_TX_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_VCO_BUF_TX_EN_OVRD[25] (RW) |
| * |
| * When PLL_VCO_BUF_TX_EN_OVRD_EN=1, this value overrides the mission mode state |
| * of the signal "pll_vco_buf_tx_en". This bit is ignored when |
| * PLL_VCO_BUF_TX_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_BUF_TX_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_MASK, XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_VCO_BUF_TX_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_PA_BUF_EN_OVRD_EN[26] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_PA_BUF_EN_OVRD to override the signal |
| * "pll_pa_buf_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_PA_BUF_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_PA_BUF_EN_OVRD[27] (RW) |
| * |
| * When PLL_PA_BUF_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "pll_pa_buf_en". This bit is ignored when PLL_PA_BUF_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_PA_BUF_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_PA_BUF_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_PA_BUF_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_MASK, XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_PA_BUF_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_LDV_EN_OVRD_EN[28] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_LDV_EN_OVRD to override the signal "pll_ldv_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_LDV_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_LDV_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_LDV_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_LDV_EN_OVRD[29] (RW) |
| * |
| * When PLL_LDV_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "pll_ldv_en". This bit is ignored when PLL_LDV_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_LDV_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_LDV_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_LDV_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_LDV_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_MASK, XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_LDV_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_LDV_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN[30] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_RX_LDV_RIPPLE_MUX_EN_OVRD to override the signal |
| * "pll_rx_ldv_ripple_mux_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN_MASK, XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD0, field PLL_RX_LDV_RIPPLE_MUX_EN_OVRD[31] (RW) |
| * |
| * When PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN=1, this value overrides the mission |
| * mode state of the signal "pll_rx_ldv_ripple_mux_en". This bit is ignored when |
| * PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD(base) ((XCVR_TSM_OVRD0_REG(base) & XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_MASK) >> XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD0_REG(base), XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_RX_LDV_RIPPLE_MUX_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD0(base, XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_MASK, XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD0_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_SHIFT), XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_SHIFT, XCVR_TSM_OVRD0_PLL_RX_LDV_RIPPLE_MUX_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_OVRD1 - TSM Override 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_OVRD1 - TSM Override 1 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_OVRD1 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_OVRD1(base) (XCVR_TSM_OVRD1_REG(base)) |
| #define XCVR_WR_TSM_OVRD1(base, value) (XCVR_TSM_OVRD1_REG(base) = (value)) |
| #define XCVR_RMW_TSM_OVRD1(base, mask, value) (XCVR_WR_TSM_OVRD1(base, (XCVR_RD_TSM_OVRD1(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_OVRD1(base, value) (BME_OR32(&XCVR_TSM_OVRD1_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_OVRD1(base, value) (BME_AND32(&XCVR_TSM_OVRD1_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_OVRD1(base, value) (BME_XOR32(&XCVR_TSM_OVRD1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_OVRD1 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN[0] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_TX_LDV_RIPPLE_MUX_EN_OVRD to override the signal |
| * "pll_tx_ldv_ripple_mux_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field PLL_TX_LDV_RIPPLE_MUX_EN_OVRD[1] (RW) |
| * |
| * When PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN=1, this value overrides the mission |
| * mode state of the signal "pll_tx_ldv_ripple_mux_en". This bit is ignored when |
| * PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_TX_LDV_RIPPLE_MUX_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_MASK, XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_PLL_TX_LDV_RIPPLE_MUX_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field PLL_FILTER_CHARGE_EN_OVRD_EN[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_FILTER_CHARGE_EN_OVRD to override the signal |
| * "pll_filter_charge_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_FILTER_CHARGE_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field PLL_FILTER_CHARGE_EN_OVRD[3] (RW) |
| * |
| * When PLL_FILTER_CHARGE_EN_OVRD_EN=1, this value overrides the mission mode |
| * state of the signal "pll_filter_charge_en". This bit is ignored when |
| * PLL_FILTER_CHARGE_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_FILTER_CHARGE_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_MASK, XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_PLL_FILTER_CHARGE_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field PLL_PHDET_EN_OVRD_EN[4] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_PHDET_EN_OVRD to override the signal |
| * "pll_phdet_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_PHDET_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field PLL_PHDET_EN_OVRD[5] (RW) |
| * |
| * When PLL_PHDET_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "pll_phdet_en". This bit is ignored when PLL_PHDET_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_PLL_PHDET_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_PLL_PHDET_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_PHDET_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_PLL_PHDET_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_MASK, XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_PLL_PHDET_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_PLL_PHDET_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field QGEN25_EN_OVRD_EN[6] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of QGEN25_EN_OVRD to override the signal "qgen25_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_QGEN25_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_QGEN25_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_QGEN25_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_QGEN25_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_QGEN25_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_QGEN25_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_QGEN25_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the QGEN25_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_QGEN25_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_QGEN25_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_QGEN25_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_QGEN25_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_QGEN25_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_QGEN25_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_QGEN25_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field QGEN25_EN_OVRD[7] (RW) |
| * |
| * When QGEN25_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "qgen25_en". This bit is ignored when QGEN25_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_QGEN25_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_QGEN25_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_QGEN25_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_QGEN25_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_QGEN25_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_QGEN25_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_QGEN25_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the QGEN25_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_QGEN25_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_QGEN25_EN_OVRD_MASK, XCVR_TSM_OVRD1_QGEN25_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_QGEN25_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_QGEN25_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_QGEN25_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_QGEN25_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field TX_EN_OVRD_EN[8] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TX_EN_OVRD to override the signal "tx_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_TX_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_TX_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_TX_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_TX_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_TX_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_TX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_TX_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TX_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_TX_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_TX_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_TX_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_TX_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_TX_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_TX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_TX_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field TX_EN_OVRD[9] (RW) |
| * |
| * When TX_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "tx_en". This bit is ignored when TX_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_TX_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_TX_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_TX_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_TX_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_TX_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_TX_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_TX_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TX_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_TX_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_TX_EN_OVRD_MASK, XCVR_TSM_OVRD1_TX_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_TX_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_TX_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_TX_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_TX_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_EN_OVRD_EN[10] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ADC_EN_OVRD to override the signal "adc_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_ADC_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ADC_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_ADC_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_ADC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_EN_OVRD[11] (RW) |
| * |
| * When ADC_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "adc_en". This bit is ignored when ADC_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_ADC_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ADC_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_EN_OVRD_MASK, XCVR_TSM_OVRD1_ADC_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_ADC_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_BIAS_EN_OVRD_EN[12] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ADC_BIAS_EN_OVRD to override the signal |
| * "adc_bias_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ADC_BIAS_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_BIAS_EN_OVRD[13] (RW) |
| * |
| * When ADC_BIAS_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "adc_bias_en". This bit is ignored when ADC_BIAS_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_BIAS_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_BIAS_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ADC_BIAS_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_BIAS_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_MASK, XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_BIAS_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_BIAS_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_CLK_EN_OVRD_EN[14] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ADC_CLK_EN_OVRD to override the signal "adc_clk_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_CLK_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_CLK_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ADC_CLK_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_CLK_EN_OVRD[15] (RW) |
| * |
| * When ADC_CLK_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "adc_clk_en". This bit is ignored when ADC_CLK_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_CLK_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_CLK_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ADC_CLK_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_CLK_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_MASK, XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_CLK_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_CLK_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_I_ADC_EN_OVRD_EN[16] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ADC_I_ADC_EN_OVRD to override the signal |
| * "adc_i_adc_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ADC_I_ADC_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_I_ADC_EN_OVRD[17] (RW) |
| * |
| * When ADC_I_ADC_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "adc_i_adc_en". This bit is ignored when ADC_I_ADC_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_I_ADC_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_I_ADC_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ADC_I_ADC_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_I_ADC_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_MASK, XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_I_ADC_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_I_ADC_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_Q_ADC_EN_OVRD_EN[18] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ADC_Q_ADC_EN_OVRD to override the signal |
| * "adc_q_adc_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ADC_Q_ADC_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_Q_ADC_EN_OVRD[19] (RW) |
| * |
| * When ADC_Q_ADC_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "adc_q_adc_en". This bit is ignored when ADC_Q_ADC_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_Q_ADC_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_Q_ADC_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ADC_Q_ADC_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_MASK, XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_Q_ADC_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_DAC1_EN_OVRD_EN[20] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ADC_DAC1_EN_OVRD to override the signal |
| * "adc_dac1_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ADC_DAC1_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_DAC1_EN_OVRD[21] (RW) |
| * |
| * When ADC_DAC1_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "adc_dac1_en". This bit is ignored when ADC_DAC1_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_DAC1_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_DAC1_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ADC_DAC1_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_DAC1_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_MASK, XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_DAC1_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_DAC1_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_DAC2_EN_OVRD_EN[22] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ADC_DAC2_EN_OVRD to override the signal |
| * "adc_dac2_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ADC_DAC2_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_DAC2_EN_OVRD[23] (RW) |
| * |
| * When ADC_DAC2_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "adc_dac2_en". This bit is ignored when ADC_DAC2_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_DAC2_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_DAC2_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ADC_DAC2_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_DAC2_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_MASK, XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_DAC2_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_DAC2_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_RST_EN_OVRD_EN[24] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ADC_RST_EN_OVRD to override the signal "adc_rst_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_RST_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_RST_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ADC_RST_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_RST_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_RST_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field ADC_RST_EN_OVRD[25] (RW) |
| * |
| * When ADC_RST_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "adc_rst_en". This bit is ignored when ADC_RST_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_ADC_RST_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_ADC_RST_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_ADC_RST_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ADC_RST_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_ADC_RST_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_MASK, XCVR_TSM_OVRD1_ADC_RST_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_ADC_RST_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_ADC_RST_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field BBF_I_EN_OVRD_EN[26] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of BBF_I_EN_OVRD to override the signal "bbf_i_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_BBF_I_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_BBF_I_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_BBF_I_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_BBF_I_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_BBF_I_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_BBF_I_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_BBF_I_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the BBF_I_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_BBF_I_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_BBF_I_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_BBF_I_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_BBF_I_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_BBF_I_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_BBF_I_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_BBF_I_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field BBF_I_EN_OVRD[27] (RW) |
| * |
| * When BBF_I_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "bbf_i_en". This bit is ignored when BBF_I_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_BBF_I_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_BBF_I_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_BBF_I_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_BBF_I_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_BBF_I_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_BBF_I_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_BBF_I_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the BBF_I_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_BBF_I_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_BBF_I_EN_OVRD_MASK, XCVR_TSM_OVRD1_BBF_I_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_BBF_I_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_BBF_I_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_BBF_I_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_BBF_I_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field BBF_Q_EN_OVRD_EN[28] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of BBF_Q_EN_OVRD to override the signal "bbf_q_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_BBF_Q_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_BBF_Q_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the BBF_Q_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_BBF_Q_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_BBF_Q_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field BBF_Q_EN_OVRD[29] (RW) |
| * |
| * When BBF_Q_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "bbf_q_en". This bit is ignored when BBF_Q_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_BBF_Q_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_BBF_Q_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_BBF_Q_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the BBF_Q_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_BBF_Q_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_MASK, XCVR_TSM_OVRD1_BBF_Q_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_BBF_Q_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_BBF_Q_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field BBF_PDET_EN_OVRD_EN[30] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of BBF_PDET_EN_OVRD to override the signal |
| * "bbf_pdet_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD1_BBF_PDET_EN_OVRD_EN(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_BBF_PDET_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the BBF_PDET_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN_MASK, XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD1, field BBF_PDET_EN_OVRD[31] (RW) |
| * |
| * When BBF_PDET_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "bbf_pdet_en". This bit is ignored when BBF_PDET_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD1_BBF_PDET_EN_OVRD(base) ((XCVR_TSM_OVRD1_REG(base) & XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_MASK) >> XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD1_BBF_PDET_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD1_REG(base), XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the BBF_PDET_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD1_BBF_PDET_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD1(base, XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_MASK, XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD1_BBF_PDET_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD1_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_SHIFT), XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_SHIFT, XCVR_TSM_OVRD1_BBF_PDET_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_OVRD2 - TSM Override 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_OVRD2 - TSM Override 2 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_OVRD2 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_OVRD2(base) (XCVR_TSM_OVRD2_REG(base)) |
| #define XCVR_WR_TSM_OVRD2(base, value) (XCVR_TSM_OVRD2_REG(base) = (value)) |
| #define XCVR_RMW_TSM_OVRD2(base, mask, value) (XCVR_WR_TSM_OVRD2(base, (XCVR_RD_TSM_OVRD2(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_OVRD2(base, value) (BME_OR32(&XCVR_TSM_OVRD2_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_OVRD2(base, value) (BME_AND32(&XCVR_TSM_OVRD2_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_OVRD2(base, value) (BME_XOR32(&XCVR_TSM_OVRD2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_OVRD2 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field BBF_DCOC_EN_OVRD_EN[0] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of BBF_DCOC_EN_OVRD to override the signal |
| * "bbf_dcoc_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the BBF_DCOC_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field BBF_DCOC_EN_OVRD[1] (RW) |
| * |
| * When BBF_DCOC_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "bbf_dcoc_en". This bit is ignored when BBF_DCOC_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_BBF_DCOC_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_BBF_DCOC_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the BBF_DCOC_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_BBF_DCOC_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_MASK, XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_BBF_DCOC_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_BBF_DCOC_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TCA_EN_OVRD_EN[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TCA_EN_OVRD to override the signal "tca_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TCA_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_TCA_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TCA_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_TCA_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TCA_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TCA_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TCA_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TCA_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TCA_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TCA_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_TCA_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_TCA_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TCA_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_TCA_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TCA_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TCA_EN_OVRD[3] (RW) |
| * |
| * When TCA_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "tca_en". This bit is ignored when TCA_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TCA_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_TCA_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TCA_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_TCA_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TCA_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TCA_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TCA_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TCA_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TCA_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TCA_EN_OVRD_MASK, XCVR_TSM_OVRD2_TCA_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_TCA_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TCA_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_TCA_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TCA_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TZA_I_EN_OVRD_EN[4] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TZA_I_EN_OVRD to override the signal "tza_i_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TZA_I_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_TZA_I_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TZA_I_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_TZA_I_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TZA_I_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TZA_I_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TZA_I_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TZA_I_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TZA_I_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TZA_I_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_TZA_I_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_TZA_I_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TZA_I_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_TZA_I_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TZA_I_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TZA_I_EN_OVRD[5] (RW) |
| * |
| * When TZA_I_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "tza_i_en". This bit is ignored when TZA_I_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TZA_I_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_TZA_I_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TZA_I_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_TZA_I_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TZA_I_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TZA_I_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TZA_I_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TZA_I_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TZA_I_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TZA_I_EN_OVRD_MASK, XCVR_TSM_OVRD2_TZA_I_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_TZA_I_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TZA_I_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_TZA_I_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TZA_I_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TZA_Q_EN_OVRD_EN[6] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TZA_Q_EN_OVRD to override the signal "tza_q_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_TZA_Q_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TZA_Q_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TZA_Q_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TZA_Q_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_TZA_Q_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TZA_Q_EN_OVRD[7] (RW) |
| * |
| * When TZA_Q_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "tza_q_en". This bit is ignored when TZA_Q_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TZA_Q_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_TZA_Q_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TZA_Q_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TZA_Q_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TZA_Q_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_MASK, XCVR_TSM_OVRD2_TZA_Q_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_TZA_Q_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TZA_Q_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TZA_PDET_EN_OVRD_EN[8] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TZA_PDET_EN_OVRD to override the signal |
| * "tza_pdet_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_TZA_PDET_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TZA_PDET_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TZA_PDET_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TZA_PDET_EN_OVRD[9] (RW) |
| * |
| * When TZA_PDET_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "tza_pdet_en". This bit is ignored when TZA_PDET_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_TZA_PDET_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TZA_PDET_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TZA_PDET_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TZA_PDET_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_MASK, XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_TZA_PDET_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TZA_PDET_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TZA_DCOC_EN_OVRD_EN[10] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TZA_DCOC_EN_OVRD to override the signal |
| * "tza_dcoc_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TZA_DCOC_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TZA_DCOC_EN_OVRD[11] (RW) |
| * |
| * When TZA_DCOC_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "tza_dcoc_en". This bit is ignored when TZA_DCOC_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_TZA_DCOC_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TZA_DCOC_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TZA_DCOC_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TZA_DCOC_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_MASK, XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_TZA_DCOC_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TZA_DCOC_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field PLL_DIG_EN_OVRD_EN[12] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of PLL_DIG_EN_OVRD to override the signal "pll_dig_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_PLL_DIG_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_PLL_DIG_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the PLL_DIG_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field PLL_DIG_EN_OVRD[13] (RW) |
| * |
| * When PLL_DIG_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "pll_dig_en". This bit is ignored when PLL_DIG_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_PLL_DIG_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_PLL_DIG_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the PLL_DIG_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_PLL_DIG_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_MASK, XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_PLL_DIG_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_PLL_DIG_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TX_DIG_EN_OVRD_EN[14] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TX_DIG_EN_OVRD to override the signal "tx_dig_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_TX_DIG_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TX_DIG_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TX_DIG_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TX_DIG_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_TX_DIG_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field TX_DIG_EN_OVRD[15] (RW) |
| * |
| * When TX_DIG_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "tx_dig_en". This bit is ignored when TX_DIG_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_TX_DIG_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_TX_DIG_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_TX_DIG_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TX_DIG_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_TX_DIG_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_MASK, XCVR_TSM_OVRD2_TX_DIG_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_TX_DIG_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_TX_DIG_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field RX_DIG_EN_OVRD_EN[16] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of RX_DIG_EN_OVRD to override the signal "rx_dig_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_RX_DIG_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_RX_DIG_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the RX_DIG_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_RX_DIG_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_RX_DIG_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field RX_DIG_EN_OVRD[17] (RW) |
| * |
| * When RX_DIG_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "rx_dig_en". This bit is ignored when RX_DIG_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_RX_DIG_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_RX_DIG_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_RX_DIG_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the RX_DIG_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_RX_DIG_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_MASK, XCVR_TSM_OVRD2_RX_DIG_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_RX_DIG_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_RX_DIG_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field RX_INIT_OVRD_EN[18] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of RX_INIT_OVRD to override the signal "rx_init". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_RX_INIT_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_RX_INIT_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_RX_INIT_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the RX_INIT_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_RX_INIT_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_MASK, XCVR_TSM_OVRD2_RX_INIT_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_RX_INIT_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_RX_INIT_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field RX_INIT_OVRD[19] (RW) |
| * |
| * When RX_INIT_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "rx_init". This bit is ignored when RX_INIT_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_RX_INIT_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_RX_INIT_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_RX_INIT_OVRD_MASK) >> XCVR_TSM_OVRD2_RX_INIT_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_RX_INIT_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_RX_INIT_OVRD_SHIFT, XCVR_TSM_OVRD2_RX_INIT_OVRD_WIDTH)) |
| |
| /*! @brief Set the RX_INIT_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_RX_INIT_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_RX_INIT_OVRD_MASK, XCVR_TSM_OVRD2_RX_INIT_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_RX_INIT_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_RX_INIT_OVRD_SHIFT), XCVR_TSM_OVRD2_RX_INIT_OVRD_SHIFT, XCVR_TSM_OVRD2_RX_INIT_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field SIGMA_DELTA_EN_OVRD_EN[20] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of SIGMA_DELTA_EN_OVRD to override the signal |
| * "sigma_delta_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the SIGMA_DELTA_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field SIGMA_DELTA_EN_OVRD[21] (RW) |
| * |
| * When SIGMA_DELTA_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "sigma_delta_en". This bit is ignored when |
| * SIGMA_DELTA_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_SIGMA_DELTA_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_SIGMA_DELTA_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the SIGMA_DELTA_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_MASK, XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_SIGMA_DELTA_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field ZBDEM_RX_EN_OVRD_EN[22] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of ZBDEM_RX_EN_OVRD to override the signal |
| * "zbdem_rx_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ZBDEM_RX_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field ZBDEM_RX_EN_OVRD[23] (RW) |
| * |
| * When ZBDEM_RX_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "zbdem_rx_en". This bit is ignored when ZBDEM_RX_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_ZBDEM_RX_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_ZBDEM_RX_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the ZBDEM_RX_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_ZBDEM_RX_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_MASK, XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_ZBDEM_RX_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_ZBDEM_RX_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field DCOC_EN_OVRD_EN[24] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of DCOC_EN_OVRD to override the signal "dcoc_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_DCOC_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_DCOC_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the DCOC_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_DCOC_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_DCOC_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_DCOC_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field DCOC_EN_OVRD[25] (RW) |
| * |
| * When DCOC_EN_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "dcoc_en". This bit is ignored when DCOC_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_DCOC_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_DCOC_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_DCOC_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_DCOC_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_DCOC_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_DCOC_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_DCOC_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the DCOC_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_DCOC_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_DCOC_EN_OVRD_MASK, XCVR_TSM_OVRD2_DCOC_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_DCOC_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_DCOC_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_DCOC_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_DCOC_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field DCOC_INIT_OVRD_EN[26] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of DCOC_INIT_OVRD to override the signal "dcoc_init". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_DCOC_INIT_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_DCOC_INIT_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the DCOC_INIT_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_DCOC_INIT_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_MASK, XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_DCOC_INIT_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_DCOC_INIT_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field DCOC_INIT_OVRD[27] (RW) |
| * |
| * When DCOC_INIT_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "dcoc_init". This bit is ignored when DCOC_INIT_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_DCOC_INIT_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_DCOC_INIT_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_DCOC_INIT_OVRD_MASK) >> XCVR_TSM_OVRD2_DCOC_INIT_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_DCOC_INIT_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_DCOC_INIT_OVRD_SHIFT, XCVR_TSM_OVRD2_DCOC_INIT_OVRD_WIDTH)) |
| |
| /*! @brief Set the DCOC_INIT_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_DCOC_INIT_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_DCOC_INIT_OVRD_MASK, XCVR_TSM_OVRD2_DCOC_INIT_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_DCOC_INIT_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_DCOC_INIT_OVRD_SHIFT), XCVR_TSM_OVRD2_DCOC_INIT_OVRD_SHIFT, XCVR_TSM_OVRD2_DCOC_INIT_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field FREQ_TARG_LD_EN_OVRD_EN[28] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of FREQ_TARG_LD_EN_OVRD to override the signal |
| * "freq_targ_ld_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the FREQ_TARG_LD_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field FREQ_TARG_LD_EN_OVRD[29] (RW) |
| * |
| * When FREQ_TARG_LD_EN_OVRD_EN=1, this value overrides the mission mode state |
| * of the signal "freq_targ_ld_en". This bit is ignored when |
| * FREQ_TARG_LD_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the FREQ_TARG_LD_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_MASK, XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_FREQ_TARG_LD_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field SAR_ADC_TRIG_EN_OVRD_EN[30] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of SAR_ADC_TRIG_EN_OVRD to override the signal |
| * "sar_adc_trig_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the SAR_ADC_TRIG_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN_MASK, XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD2, field SAR_ADC_TRIG_EN_OVRD[31] (RW) |
| * |
| * When SAR_ADC_TRIG_EN_OVRD_EN=1, this value overrides the mission mode state |
| * of the signal "sar_adc_trig_en". This bit is ignored when |
| * SAR_ADC_TRIG_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD(base) ((XCVR_TSM_OVRD2_REG(base) & XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_MASK) >> XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD2_REG(base), XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the SAR_ADC_TRIG_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD2(base, XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_MASK, XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD2_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_SHIFT), XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_SHIFT, XCVR_TSM_OVRD2_SAR_ADC_TRIG_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_OVRD3 - TSM Override 3 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_OVRD3 - TSM Override 3 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_OVRD3 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_OVRD3(base) (XCVR_TSM_OVRD3_REG(base)) |
| #define XCVR_WR_TSM_OVRD3(base, value) (XCVR_TSM_OVRD3_REG(base) = (value)) |
| #define XCVR_RMW_TSM_OVRD3(base, mask, value) (XCVR_WR_TSM_OVRD3(base, (XCVR_RD_TSM_OVRD3(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_OVRD3(base, value) (BME_OR32(&XCVR_TSM_OVRD3_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_OVRD3(base, value) (BME_AND32(&XCVR_TSM_OVRD3_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_OVRD3(base, value) (BME_XOR32(&XCVR_TSM_OVRD3_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_OVRD3 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field TSM_SPARE0_EN_OVRD_EN[0] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TSM_SPARE0_EN_OVRD to override the signal |
| * "tsm_spare0_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE0_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_MASK, XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field TSM_SPARE0_EN_OVRD[1] (RW) |
| * |
| * When TSM_SPARE0_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "tsm_spare0_en". This bit is ignored when TSM_SPARE0_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD3_TSM_SPARE0_EN_OVRD(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_MASK) >> XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_TSM_SPARE0_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE0_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_TSM_SPARE0_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_MASK, XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD3_TSM_SPARE0_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_SHIFT), XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE0_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field TSM_SPARE1_EN_OVRD_EN[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TSM_SPARE1_EN_OVRD to override the signal |
| * "tsm_spare1_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE1_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_MASK, XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field TSM_SPARE1_EN_OVRD[3] (RW) |
| * |
| * When TSM_SPARE1_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "tsm_spare1_en". This bit is ignored when TSM_SPARE1_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD3_TSM_SPARE1_EN_OVRD(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_MASK) >> XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_TSM_SPARE1_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE1_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_TSM_SPARE1_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_MASK, XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD3_TSM_SPARE1_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_SHIFT), XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE1_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field TSM_SPARE2_EN_OVRD_EN[4] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TSM_SPARE2_EN_OVRD to override the signal |
| * "tsm_spare2_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE2_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_MASK, XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field TSM_SPARE2_EN_OVRD[5] (RW) |
| * |
| * When TSM_SPARE2_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "tsm_spare2_en". This bit is ignored when TSM_SPARE2_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD3_TSM_SPARE2_EN_OVRD(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_MASK) >> XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_TSM_SPARE2_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE2_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_TSM_SPARE2_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_MASK, XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD3_TSM_SPARE2_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_SHIFT), XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE2_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field TSM_SPARE3_EN_OVRD_EN[6] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TSM_SPARE3_EN_OVRD to override the signal |
| * "tsm_spare3_en". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_MASK) >> XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE3_EN_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_MASK, XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_SHIFT), XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field TSM_SPARE3_EN_OVRD[7] (RW) |
| * |
| * When TSM_SPARE3_EN_OVRD_EN=1, this value overrides the mission mode state of |
| * the signal "tsm_spare3_en". This bit is ignored when TSM_SPARE3_EN_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD3_TSM_SPARE3_EN_OVRD(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_MASK) >> XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_TSM_SPARE3_EN_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE3_EN_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_TSM_SPARE3_EN_OVRD(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_MASK, XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD3_TSM_SPARE3_EN_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_SHIFT), XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_SHIFT, XCVR_TSM_OVRD3_TSM_SPARE3_EN_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field TX_MODE_OVRD_EN[8] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of TX_MODE_OVRD to override the signal "tx_mode". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_TX_MODE_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD3_TX_MODE_OVRD_EN(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_MASK) >> XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_TX_MODE_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the TX_MODE_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_TX_MODE_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_MASK, XCVR_TSM_OVRD3_TX_MODE_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD3_TX_MODE_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_SHIFT), XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_TX_MODE_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field TX_MODE_OVRD[9] (RW) |
| * |
| * When TX_MODE_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "tx_mode". This bit is ignored when TX_MODE_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_TX_MODE_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD3_TX_MODE_OVRD(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_TX_MODE_OVRD_MASK) >> XCVR_TSM_OVRD3_TX_MODE_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_TX_MODE_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_TX_MODE_OVRD_SHIFT, XCVR_TSM_OVRD3_TX_MODE_OVRD_WIDTH)) |
| |
| /*! @brief Set the TX_MODE_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_TX_MODE_OVRD(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_TX_MODE_OVRD_MASK, XCVR_TSM_OVRD3_TX_MODE_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD3_TX_MODE_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_TX_MODE_OVRD_SHIFT), XCVR_TSM_OVRD3_TX_MODE_OVRD_SHIFT, XCVR_TSM_OVRD3_TX_MODE_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field RX_MODE_OVRD_EN[10] (RW) |
| * |
| * Values: |
| * - 0b0 - Normal operation. |
| * - 0b1 - Use the state of RX_MODE_OVRD to override the signal "rx_mode". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_RX_MODE_OVRD_EN field. */ |
| #define XCVR_RD_TSM_OVRD3_RX_MODE_OVRD_EN(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_MASK) >> XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_RX_MODE_OVRD_EN(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the RX_MODE_OVRD_EN field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_RX_MODE_OVRD_EN(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_MASK, XCVR_TSM_OVRD3_RX_MODE_OVRD_EN(value))) |
| #define XCVR_BWR_TSM_OVRD3_RX_MODE_OVRD_EN(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_SHIFT), XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_SHIFT, XCVR_TSM_OVRD3_RX_MODE_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_OVRD3, field RX_MODE_OVRD[11] (RW) |
| * |
| * When RX_MODE_OVRD_EN=1, this value overrides the mission mode state of the |
| * signal "rx_mode". This bit is ignored when RX_MODE_OVRD_EN==0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_OVRD3_RX_MODE_OVRD field. */ |
| #define XCVR_RD_TSM_OVRD3_RX_MODE_OVRD(base) ((XCVR_TSM_OVRD3_REG(base) & XCVR_TSM_OVRD3_RX_MODE_OVRD_MASK) >> XCVR_TSM_OVRD3_RX_MODE_OVRD_SHIFT) |
| #define XCVR_BRD_TSM_OVRD3_RX_MODE_OVRD(base) (BME_UBFX32(&XCVR_TSM_OVRD3_REG(base), XCVR_TSM_OVRD3_RX_MODE_OVRD_SHIFT, XCVR_TSM_OVRD3_RX_MODE_OVRD_WIDTH)) |
| |
| /*! @brief Set the RX_MODE_OVRD field to a new value. */ |
| #define XCVR_WR_TSM_OVRD3_RX_MODE_OVRD(base, value) (XCVR_RMW_TSM_OVRD3(base, XCVR_TSM_OVRD3_RX_MODE_OVRD_MASK, XCVR_TSM_OVRD3_RX_MODE_OVRD(value))) |
| #define XCVR_BWR_TSM_OVRD3_RX_MODE_OVRD(base, value) (BME_BFI32(&XCVR_TSM_OVRD3_REG(base), ((uint32_t)(value) << XCVR_TSM_OVRD3_RX_MODE_OVRD_SHIFT), XCVR_TSM_OVRD3_RX_MODE_OVRD_SHIFT, XCVR_TSM_OVRD3_RX_MODE_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PA_POWER - PA Power |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PA_POWER - PA Power (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * This contents of this register are used as PA target power when |
| * XCVR_CTRL[TGT_PWR_SRC] = 00. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PA_POWER register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PA_POWER(base) (XCVR_PA_POWER_REG(base)) |
| #define XCVR_WR_PA_POWER(base, value) (XCVR_PA_POWER_REG(base) = (value)) |
| #define XCVR_RMW_PA_POWER(base, mask, value) (XCVR_WR_PA_POWER(base, (XCVR_RD_PA_POWER(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PA_POWER(base, value) (BME_OR32(&XCVR_PA_POWER_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PA_POWER(base, value) (BME_AND32(&XCVR_PA_POWER_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PA_POWER(base, value) (BME_XOR32(&XCVR_PA_POWER_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PA_POWER bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PA_POWER, field PA_POWER[3:0] (RW) |
| * |
| * PA Target Power |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PA_POWER_PA_POWER field. */ |
| #define XCVR_RD_PA_POWER_PA_POWER(base) ((XCVR_PA_POWER_REG(base) & XCVR_PA_POWER_PA_POWER_MASK) >> XCVR_PA_POWER_PA_POWER_SHIFT) |
| #define XCVR_BRD_PA_POWER_PA_POWER(base) (BME_UBFX32(&XCVR_PA_POWER_REG(base), XCVR_PA_POWER_PA_POWER_SHIFT, XCVR_PA_POWER_PA_POWER_WIDTH)) |
| |
| /*! @brief Set the PA_POWER field to a new value. */ |
| #define XCVR_WR_PA_POWER_PA_POWER(base, value) (XCVR_RMW_PA_POWER(base, XCVR_PA_POWER_PA_POWER_MASK, XCVR_PA_POWER_PA_POWER(value))) |
| #define XCVR_BWR_PA_POWER_PA_POWER(base, value) (BME_BFI32(&XCVR_PA_POWER_REG(base), ((uint32_t)(value) << XCVR_PA_POWER_PA_POWER_SHIFT), XCVR_PA_POWER_PA_POWER_SHIFT, XCVR_PA_POWER_PA_POWER_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PA_BIAS_TBL0 - PA Bias Table 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PA_BIAS_TBL0 - PA Bias Table 0 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PA_BIAS_TBL0 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PA_BIAS_TBL0(base) (XCVR_PA_BIAS_TBL0_REG(base)) |
| #define XCVR_WR_PA_BIAS_TBL0(base, value) (XCVR_PA_BIAS_TBL0_REG(base) = (value)) |
| #define XCVR_RMW_PA_BIAS_TBL0(base, mask, value) (XCVR_WR_PA_BIAS_TBL0(base, (XCVR_RD_PA_BIAS_TBL0(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PA_BIAS_TBL0(base, value) (BME_OR32(&XCVR_PA_BIAS_TBL0_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PA_BIAS_TBL0(base, value) (BME_AND32(&XCVR_PA_BIAS_TBL0_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PA_BIAS_TBL0(base, value) (BME_XOR32(&XCVR_PA_BIAS_TBL0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PA_BIAS_TBL0 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PA_BIAS_TBL0, field PA_BIAS0[3:0] (RW) |
| * |
| * If PA ramping is enabled (TSM_CTRL[PA_RAMP_SEL] > 00), the contents of this |
| * register are presented to the PA during PA ramping, when TSM tx_en transitions |
| * low to high, and then for the duration of the first ramp step. During PA ramp |
| * down, the contents of this register are the PA power value during the final |
| * ramp step. In both cases, PA_BIAS0 cannot exceed target power (enforced by PA |
| * ramping logic). When PA ramping is enabled, the contents of PA_BIAS0 are also |
| * presented to the PA during sequence-idle conditions. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PA_BIAS_TBL0_PA_BIAS0 field. */ |
| #define XCVR_RD_PA_BIAS_TBL0_PA_BIAS0(base) ((XCVR_PA_BIAS_TBL0_REG(base) & XCVR_PA_BIAS_TBL0_PA_BIAS0_MASK) >> XCVR_PA_BIAS_TBL0_PA_BIAS0_SHIFT) |
| #define XCVR_BRD_PA_BIAS_TBL0_PA_BIAS0(base) (BME_UBFX32(&XCVR_PA_BIAS_TBL0_REG(base), XCVR_PA_BIAS_TBL0_PA_BIAS0_SHIFT, XCVR_PA_BIAS_TBL0_PA_BIAS0_WIDTH)) |
| |
| /*! @brief Set the PA_BIAS0 field to a new value. */ |
| #define XCVR_WR_PA_BIAS_TBL0_PA_BIAS0(base, value) (XCVR_RMW_PA_BIAS_TBL0(base, XCVR_PA_BIAS_TBL0_PA_BIAS0_MASK, XCVR_PA_BIAS_TBL0_PA_BIAS0(value))) |
| #define XCVR_BWR_PA_BIAS_TBL0_PA_BIAS0(base, value) (BME_BFI32(&XCVR_PA_BIAS_TBL0_REG(base), ((uint32_t)(value) << XCVR_PA_BIAS_TBL0_PA_BIAS0_SHIFT), XCVR_PA_BIAS_TBL0_PA_BIAS0_SHIFT, XCVR_PA_BIAS_TBL0_PA_BIAS0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PA_BIAS_TBL0, field PA_BIAS1[11:8] (RW) |
| * |
| * If PA ramping is enabled (TSM_CTRL[PA_RAMP_SEL] > 00), the contents of this |
| * register are presented to the PA during PA ramping, for the duration of the |
| * second ramp step. During PA ramp down, the contents of this register are the PA |
| * power value during the second-to-last ramp step. In both cases, PA_BIAS1 cannot |
| * exceed target power (enforced by PA ramping logic). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PA_BIAS_TBL0_PA_BIAS1 field. */ |
| #define XCVR_RD_PA_BIAS_TBL0_PA_BIAS1(base) ((XCVR_PA_BIAS_TBL0_REG(base) & XCVR_PA_BIAS_TBL0_PA_BIAS1_MASK) >> XCVR_PA_BIAS_TBL0_PA_BIAS1_SHIFT) |
| #define XCVR_BRD_PA_BIAS_TBL0_PA_BIAS1(base) (BME_UBFX32(&XCVR_PA_BIAS_TBL0_REG(base), XCVR_PA_BIAS_TBL0_PA_BIAS1_SHIFT, XCVR_PA_BIAS_TBL0_PA_BIAS1_WIDTH)) |
| |
| /*! @brief Set the PA_BIAS1 field to a new value. */ |
| #define XCVR_WR_PA_BIAS_TBL0_PA_BIAS1(base, value) (XCVR_RMW_PA_BIAS_TBL0(base, XCVR_PA_BIAS_TBL0_PA_BIAS1_MASK, XCVR_PA_BIAS_TBL0_PA_BIAS1(value))) |
| #define XCVR_BWR_PA_BIAS_TBL0_PA_BIAS1(base, value) (BME_BFI32(&XCVR_PA_BIAS_TBL0_REG(base), ((uint32_t)(value) << XCVR_PA_BIAS_TBL0_PA_BIAS1_SHIFT), XCVR_PA_BIAS_TBL0_PA_BIAS1_SHIFT, XCVR_PA_BIAS_TBL0_PA_BIAS1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PA_BIAS_TBL0, field PA_BIAS2[19:16] (RW) |
| * |
| * If PA ramping is enabled (TSM_CTRL[PA_RAMP_EN] > 00), the contents of this |
| * register are presented to the PA during PA ramping, for the duration of the |
| * third ramp step. During PA ramp down, the contents of this register are the PA |
| * power value during the third-to-last ramp step. In both cases, PA_BIAS2 cannot |
| * exceed target power (enforced by PA ramping logic). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PA_BIAS_TBL0_PA_BIAS2 field. */ |
| #define XCVR_RD_PA_BIAS_TBL0_PA_BIAS2(base) ((XCVR_PA_BIAS_TBL0_REG(base) & XCVR_PA_BIAS_TBL0_PA_BIAS2_MASK) >> XCVR_PA_BIAS_TBL0_PA_BIAS2_SHIFT) |
| #define XCVR_BRD_PA_BIAS_TBL0_PA_BIAS2(base) (BME_UBFX32(&XCVR_PA_BIAS_TBL0_REG(base), XCVR_PA_BIAS_TBL0_PA_BIAS2_SHIFT, XCVR_PA_BIAS_TBL0_PA_BIAS2_WIDTH)) |
| |
| /*! @brief Set the PA_BIAS2 field to a new value. */ |
| #define XCVR_WR_PA_BIAS_TBL0_PA_BIAS2(base, value) (XCVR_RMW_PA_BIAS_TBL0(base, XCVR_PA_BIAS_TBL0_PA_BIAS2_MASK, XCVR_PA_BIAS_TBL0_PA_BIAS2(value))) |
| #define XCVR_BWR_PA_BIAS_TBL0_PA_BIAS2(base, value) (BME_BFI32(&XCVR_PA_BIAS_TBL0_REG(base), ((uint32_t)(value) << XCVR_PA_BIAS_TBL0_PA_BIAS2_SHIFT), XCVR_PA_BIAS_TBL0_PA_BIAS2_SHIFT, XCVR_PA_BIAS_TBL0_PA_BIAS2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PA_BIAS_TBL0, field PA_BIAS3[27:24] (RW) |
| * |
| * If PA ramping is enabled (TSM_CTRL[PA_RAMP_EN] > 00), the contents of this |
| * register are presented to the PA during PA ramping, for the duration of the |
| * fourth ramp step. During PA ramp down, the contents of this register are the PA |
| * power value during the fourth-to-last ramp step. In both cases, PA_BIAS3 cannot |
| * exceed target power (enforced by PA ramping logic). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PA_BIAS_TBL0_PA_BIAS3 field. */ |
| #define XCVR_RD_PA_BIAS_TBL0_PA_BIAS3(base) ((XCVR_PA_BIAS_TBL0_REG(base) & XCVR_PA_BIAS_TBL0_PA_BIAS3_MASK) >> XCVR_PA_BIAS_TBL0_PA_BIAS3_SHIFT) |
| #define XCVR_BRD_PA_BIAS_TBL0_PA_BIAS3(base) (BME_UBFX32(&XCVR_PA_BIAS_TBL0_REG(base), XCVR_PA_BIAS_TBL0_PA_BIAS3_SHIFT, XCVR_PA_BIAS_TBL0_PA_BIAS3_WIDTH)) |
| |
| /*! @brief Set the PA_BIAS3 field to a new value. */ |
| #define XCVR_WR_PA_BIAS_TBL0_PA_BIAS3(base, value) (XCVR_RMW_PA_BIAS_TBL0(base, XCVR_PA_BIAS_TBL0_PA_BIAS3_MASK, XCVR_PA_BIAS_TBL0_PA_BIAS3(value))) |
| #define XCVR_BWR_PA_BIAS_TBL0_PA_BIAS3(base, value) (BME_BFI32(&XCVR_PA_BIAS_TBL0_REG(base), ((uint32_t)(value) << XCVR_PA_BIAS_TBL0_PA_BIAS3_SHIFT), XCVR_PA_BIAS_TBL0_PA_BIAS3_SHIFT, XCVR_PA_BIAS_TBL0_PA_BIAS3_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PA_BIAS_TBL1 - PA Bias Table 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PA_BIAS_TBL1 - PA Bias Table 1 (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PA_BIAS_TBL1 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PA_BIAS_TBL1(base) (XCVR_PA_BIAS_TBL1_REG(base)) |
| #define XCVR_WR_PA_BIAS_TBL1(base, value) (XCVR_PA_BIAS_TBL1_REG(base) = (value)) |
| #define XCVR_RMW_PA_BIAS_TBL1(base, mask, value) (XCVR_WR_PA_BIAS_TBL1(base, (XCVR_RD_PA_BIAS_TBL1(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PA_BIAS_TBL1(base, value) (BME_OR32(&XCVR_PA_BIAS_TBL1_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PA_BIAS_TBL1(base, value) (BME_AND32(&XCVR_PA_BIAS_TBL1_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PA_BIAS_TBL1(base, value) (BME_XOR32(&XCVR_PA_BIAS_TBL1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PA_BIAS_TBL1 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PA_BIAS_TBL1, field PA_BIAS4[3:0] (RW) |
| * |
| * If PA ramping is enabled (TSM_CTRL[PA_RAMP_EN] > 00), the contents of this |
| * register are presented to the PA during PA ramping, for the duration of the |
| * fifth ramp step. During PA ramp down, the contents of this register are the PA |
| * power value during the fifth-to-last ramp step. In both cases, PA_BIAS4 cannot |
| * exceed target power (enforced by PA ramping logic). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PA_BIAS_TBL1_PA_BIAS4 field. */ |
| #define XCVR_RD_PA_BIAS_TBL1_PA_BIAS4(base) ((XCVR_PA_BIAS_TBL1_REG(base) & XCVR_PA_BIAS_TBL1_PA_BIAS4_MASK) >> XCVR_PA_BIAS_TBL1_PA_BIAS4_SHIFT) |
| #define XCVR_BRD_PA_BIAS_TBL1_PA_BIAS4(base) (BME_UBFX32(&XCVR_PA_BIAS_TBL1_REG(base), XCVR_PA_BIAS_TBL1_PA_BIAS4_SHIFT, XCVR_PA_BIAS_TBL1_PA_BIAS4_WIDTH)) |
| |
| /*! @brief Set the PA_BIAS4 field to a new value. */ |
| #define XCVR_WR_PA_BIAS_TBL1_PA_BIAS4(base, value) (XCVR_RMW_PA_BIAS_TBL1(base, XCVR_PA_BIAS_TBL1_PA_BIAS4_MASK, XCVR_PA_BIAS_TBL1_PA_BIAS4(value))) |
| #define XCVR_BWR_PA_BIAS_TBL1_PA_BIAS4(base, value) (BME_BFI32(&XCVR_PA_BIAS_TBL1_REG(base), ((uint32_t)(value) << XCVR_PA_BIAS_TBL1_PA_BIAS4_SHIFT), XCVR_PA_BIAS_TBL1_PA_BIAS4_SHIFT, XCVR_PA_BIAS_TBL1_PA_BIAS4_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PA_BIAS_TBL1, field PA_BIAS5[11:8] (RW) |
| * |
| * If PA ramping is enabled (TSM_CTRL[PA_RAMP_EN] > 00), the contents of this |
| * register are presented to the PA during PA ramping, for the duration of the |
| * sixth ramp step. During PA ramp down, the contents of this register are the PA |
| * power value during the sixth-to-last ramp step. In both cases, PA_BIAS5 cannot |
| * exceed target power (enforced by PA ramping logic). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PA_BIAS_TBL1_PA_BIAS5 field. */ |
| #define XCVR_RD_PA_BIAS_TBL1_PA_BIAS5(base) ((XCVR_PA_BIAS_TBL1_REG(base) & XCVR_PA_BIAS_TBL1_PA_BIAS5_MASK) >> XCVR_PA_BIAS_TBL1_PA_BIAS5_SHIFT) |
| #define XCVR_BRD_PA_BIAS_TBL1_PA_BIAS5(base) (BME_UBFX32(&XCVR_PA_BIAS_TBL1_REG(base), XCVR_PA_BIAS_TBL1_PA_BIAS5_SHIFT, XCVR_PA_BIAS_TBL1_PA_BIAS5_WIDTH)) |
| |
| /*! @brief Set the PA_BIAS5 field to a new value. */ |
| #define XCVR_WR_PA_BIAS_TBL1_PA_BIAS5(base, value) (XCVR_RMW_PA_BIAS_TBL1(base, XCVR_PA_BIAS_TBL1_PA_BIAS5_MASK, XCVR_PA_BIAS_TBL1_PA_BIAS5(value))) |
| #define XCVR_BWR_PA_BIAS_TBL1_PA_BIAS5(base, value) (BME_BFI32(&XCVR_PA_BIAS_TBL1_REG(base), ((uint32_t)(value) << XCVR_PA_BIAS_TBL1_PA_BIAS5_SHIFT), XCVR_PA_BIAS_TBL1_PA_BIAS5_SHIFT, XCVR_PA_BIAS_TBL1_PA_BIAS5_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PA_BIAS_TBL1, field PA_BIAS6[19:16] (RW) |
| * |
| * If PA ramping is enabled (TSM_CTRL[PA_RAMP_EN] > 00), the contents of this |
| * register are presented to the PA during PA ramping, for the duration of the |
| * seventh ramp step. During PA ramp down, the contents of this register are the PA |
| * power value during the seventh-to-last ramp step. In both cases, PA_BIAS6 |
| * cannot exceed target power (enforced by PA ramping logic). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PA_BIAS_TBL1_PA_BIAS6 field. */ |
| #define XCVR_RD_PA_BIAS_TBL1_PA_BIAS6(base) ((XCVR_PA_BIAS_TBL1_REG(base) & XCVR_PA_BIAS_TBL1_PA_BIAS6_MASK) >> XCVR_PA_BIAS_TBL1_PA_BIAS6_SHIFT) |
| #define XCVR_BRD_PA_BIAS_TBL1_PA_BIAS6(base) (BME_UBFX32(&XCVR_PA_BIAS_TBL1_REG(base), XCVR_PA_BIAS_TBL1_PA_BIAS6_SHIFT, XCVR_PA_BIAS_TBL1_PA_BIAS6_WIDTH)) |
| |
| /*! @brief Set the PA_BIAS6 field to a new value. */ |
| #define XCVR_WR_PA_BIAS_TBL1_PA_BIAS6(base, value) (XCVR_RMW_PA_BIAS_TBL1(base, XCVR_PA_BIAS_TBL1_PA_BIAS6_MASK, XCVR_PA_BIAS_TBL1_PA_BIAS6(value))) |
| #define XCVR_BWR_PA_BIAS_TBL1_PA_BIAS6(base, value) (BME_BFI32(&XCVR_PA_BIAS_TBL1_REG(base), ((uint32_t)(value) << XCVR_PA_BIAS_TBL1_PA_BIAS6_SHIFT), XCVR_PA_BIAS_TBL1_PA_BIAS6_SHIFT, XCVR_PA_BIAS_TBL1_PA_BIAS6_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PA_BIAS_TBL1, field PA_BIAS7[27:24] (RW) |
| * |
| * If PA ramping is enabled (TSM_CTRL[PA_RAMP_EN] > 00), the contents of this |
| * register are presented to the PA during PA ramping, for the duration of the |
| * eighth (final) ramp step. During PA ramp down, the contents of this register are |
| * the PA power value during the eighth-to-last (first) ramp step. In both cases, |
| * PA_BIAS7 cannot exceed target power (enforced by PA ramping logic). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PA_BIAS_TBL1_PA_BIAS7 field. */ |
| #define XCVR_RD_PA_BIAS_TBL1_PA_BIAS7(base) ((XCVR_PA_BIAS_TBL1_REG(base) & XCVR_PA_BIAS_TBL1_PA_BIAS7_MASK) >> XCVR_PA_BIAS_TBL1_PA_BIAS7_SHIFT) |
| #define XCVR_BRD_PA_BIAS_TBL1_PA_BIAS7(base) (BME_UBFX32(&XCVR_PA_BIAS_TBL1_REG(base), XCVR_PA_BIAS_TBL1_PA_BIAS7_SHIFT, XCVR_PA_BIAS_TBL1_PA_BIAS7_WIDTH)) |
| |
| /*! @brief Set the PA_BIAS7 field to a new value. */ |
| #define XCVR_WR_PA_BIAS_TBL1_PA_BIAS7(base, value) (XCVR_RMW_PA_BIAS_TBL1(base, XCVR_PA_BIAS_TBL1_PA_BIAS7_MASK, XCVR_PA_BIAS_TBL1_PA_BIAS7(value))) |
| #define XCVR_BWR_PA_BIAS_TBL1_PA_BIAS7(base, value) (BME_BFI32(&XCVR_PA_BIAS_TBL1_REG(base), ((uint32_t)(value) << XCVR_PA_BIAS_TBL1_PA_BIAS7_SHIFT), XCVR_PA_BIAS_TBL1_PA_BIAS7_SHIFT, XCVR_PA_BIAS_TBL1_PA_BIAS7_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_RECYCLE_COUNT - Recycle Count Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_RECYCLE_COUNT - Recycle Count Register (RW) |
| * |
| * Reset value: 0x00000826U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_RECYCLE_COUNT register |
| */ |
| /*@{*/ |
| #define XCVR_RD_RECYCLE_COUNT(base) (XCVR_RECYCLE_COUNT_REG(base)) |
| #define XCVR_WR_RECYCLE_COUNT(base, value) (XCVR_RECYCLE_COUNT_REG(base) = (value)) |
| #define XCVR_RMW_RECYCLE_COUNT(base, mask, value) (XCVR_WR_RECYCLE_COUNT(base, (XCVR_RD_RECYCLE_COUNT(base) & ~(mask)) | (value))) |
| #define XCVR_SET_RECYCLE_COUNT(base, value) (BME_OR32(&XCVR_RECYCLE_COUNT_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_RECYCLE_COUNT(base, value) (BME_AND32(&XCVR_RECYCLE_COUNT_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_RECYCLE_COUNT(base, value) (BME_XOR32(&XCVR_RECYCLE_COUNT_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_RECYCLE_COUNT bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_RECYCLE_COUNT, field RECYCLE_COUNT0[7:0] (RW) |
| * |
| * The RECYCLE_COUNT0[7:0] register determines the TSM count value to which the |
| * TSM "recycles" when the Zigbee Sequence Manager (ZSM) state "RX_CYC" is |
| * reached and the ZSM asserts tsm_recycle[0] to TSM. This register also determines the |
| * TSM count value to which the TSM recycles when the ZSM state RX_CCCA is |
| * reached because tsm_recycle[0] is also asserted in this state. The intention is for |
| * this register to be programmed to a TSM count value such that the TSM |
| * re-asserts its "rx_init" output, but there are no restrictions on programming this |
| * register. An RX recycle is a command from ZSM to TSM to jump from the TSM ON |
| * phase back to a programmable point in the WARMUP phase, and resume counting from |
| * there. A recycle will result from the reception of a packet with bad CRC or |
| * one which fails packet-filtering rules, or the end of a CCA operation in |
| * Continuous CCA mode which results in a channel indicating "busy". |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RECYCLE_COUNT_RECYCLE_COUNT0 field. */ |
| #define XCVR_RD_RECYCLE_COUNT_RECYCLE_COUNT0(base) ((XCVR_RECYCLE_COUNT_REG(base) & XCVR_RECYCLE_COUNT_RECYCLE_COUNT0_MASK) >> XCVR_RECYCLE_COUNT_RECYCLE_COUNT0_SHIFT) |
| #define XCVR_BRD_RECYCLE_COUNT_RECYCLE_COUNT0(base) (BME_UBFX32(&XCVR_RECYCLE_COUNT_REG(base), XCVR_RECYCLE_COUNT_RECYCLE_COUNT0_SHIFT, XCVR_RECYCLE_COUNT_RECYCLE_COUNT0_WIDTH)) |
| |
| /*! @brief Set the RECYCLE_COUNT0 field to a new value. */ |
| #define XCVR_WR_RECYCLE_COUNT_RECYCLE_COUNT0(base, value) (XCVR_RMW_RECYCLE_COUNT(base, XCVR_RECYCLE_COUNT_RECYCLE_COUNT0_MASK, XCVR_RECYCLE_COUNT_RECYCLE_COUNT0(value))) |
| #define XCVR_BWR_RECYCLE_COUNT_RECYCLE_COUNT0(base, value) (BME_BFI32(&XCVR_RECYCLE_COUNT_REG(base), ((uint32_t)(value) << XCVR_RECYCLE_COUNT_RECYCLE_COUNT0_SHIFT), XCVR_RECYCLE_COUNT_RECYCLE_COUNT0_SHIFT, XCVR_RECYCLE_COUNT_RECYCLE_COUNT0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RECYCLE_COUNT, field RECYCLE_COUNT1[15:8] (RW) |
| * |
| * The RECYCLE_COUNT1[7:0] register determines the TSM count value to which the |
| * TSM "recycles" when the Zigbee Sequence Manager (ZSM) state "RX_PAN1" is |
| * reached and the ZSM asserts tsm_recycle[1] to TSM. The intention is for this |
| * register to be programmed to a TSM count value such that the TSM de-asserts, and |
| * then re-asserts its "pll_dig_en" output, to effectuate a Dual PAN on-the-fly |
| * channel change, but there are no restrictions on programming this register. An RX |
| * recycle is a command from ZSM to TSM to jump from the TSM ON phase back to a |
| * programmable point in the WARMUP phase, and resume counting from there. A |
| * recycle will result from the expiration of the Dual PAN Dwell Timer, at which point |
| * an RF-channel change is required. This necessitates the desassertion and |
| * reassertion of pll_dig_en, hence the return to the WARMUP phase at the appropriate |
| * point. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RECYCLE_COUNT_RECYCLE_COUNT1 field. */ |
| #define XCVR_RD_RECYCLE_COUNT_RECYCLE_COUNT1(base) ((XCVR_RECYCLE_COUNT_REG(base) & XCVR_RECYCLE_COUNT_RECYCLE_COUNT1_MASK) >> XCVR_RECYCLE_COUNT_RECYCLE_COUNT1_SHIFT) |
| #define XCVR_BRD_RECYCLE_COUNT_RECYCLE_COUNT1(base) (BME_UBFX32(&XCVR_RECYCLE_COUNT_REG(base), XCVR_RECYCLE_COUNT_RECYCLE_COUNT1_SHIFT, XCVR_RECYCLE_COUNT_RECYCLE_COUNT1_WIDTH)) |
| |
| /*! @brief Set the RECYCLE_COUNT1 field to a new value. */ |
| #define XCVR_WR_RECYCLE_COUNT_RECYCLE_COUNT1(base, value) (XCVR_RMW_RECYCLE_COUNT(base, XCVR_RECYCLE_COUNT_RECYCLE_COUNT1_MASK, XCVR_RECYCLE_COUNT_RECYCLE_COUNT1(value))) |
| #define XCVR_BWR_RECYCLE_COUNT_RECYCLE_COUNT1(base, value) (BME_BFI32(&XCVR_RECYCLE_COUNT_REG(base), ((uint32_t)(value) << XCVR_RECYCLE_COUNT_RECYCLE_COUNT1_SHIFT), XCVR_RECYCLE_COUNT_RECYCLE_COUNT1_SHIFT, XCVR_RECYCLE_COUNT_RECYCLE_COUNT1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING00 - TSM_TIMING00 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING00 - TSM_TIMING00 (RW) |
| * |
| * Reset value: 0x65006A00U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_REG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING00 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING00(base) (XCVR_TSM_TIMING00_REG(base)) |
| #define XCVR_WR_TSM_TIMING00(base, value) (XCVR_TSM_TIMING00_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING00(base, mask, value) (XCVR_WR_TSM_TIMING00(base, (XCVR_RD_TSM_TIMING00(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING00(base, value) (BME_OR32(&XCVR_TSM_TIMING00_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING00(base, value) (BME_AND32(&XCVR_TSM_TIMING00_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING00(base, value) (BME_XOR32(&XCVR_TSM_TIMING00_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING00 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING00, field PLL_REG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_REG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING00_PLL_REG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING00_PLL_REG_EN_TX_HI(base) ((XCVR_TSM_TIMING00_REG(base) & XCVR_TSM_TIMING00_PLL_REG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING00_PLL_REG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING00_PLL_REG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING00_REG(base), XCVR_TSM_TIMING00_PLL_REG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING00_PLL_REG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_REG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING00_PLL_REG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING00(base, XCVR_TSM_TIMING00_PLL_REG_EN_TX_HI_MASK, XCVR_TSM_TIMING00_PLL_REG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING00_PLL_REG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING00_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING00_PLL_REG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING00_PLL_REG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING00_PLL_REG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING00, field PLL_REG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_REG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING00_PLL_REG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING00_PLL_REG_EN_TX_LO(base) ((XCVR_TSM_TIMING00_REG(base) & XCVR_TSM_TIMING00_PLL_REG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING00_PLL_REG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING00_PLL_REG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING00_REG(base), XCVR_TSM_TIMING00_PLL_REG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING00_PLL_REG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_REG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING00_PLL_REG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING00(base, XCVR_TSM_TIMING00_PLL_REG_EN_TX_LO_MASK, XCVR_TSM_TIMING00_PLL_REG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING00_PLL_REG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING00_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING00_PLL_REG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING00_PLL_REG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING00_PLL_REG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING00, field PLL_REG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_REG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING00_PLL_REG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING00_PLL_REG_EN_RX_HI(base) ((XCVR_TSM_TIMING00_REG(base) & XCVR_TSM_TIMING00_PLL_REG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING00_PLL_REG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING00_PLL_REG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING00_REG(base), XCVR_TSM_TIMING00_PLL_REG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING00_PLL_REG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_REG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING00_PLL_REG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING00(base, XCVR_TSM_TIMING00_PLL_REG_EN_RX_HI_MASK, XCVR_TSM_TIMING00_PLL_REG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING00_PLL_REG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING00_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING00_PLL_REG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING00_PLL_REG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING00_PLL_REG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING00, field PLL_REG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_REG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING00_PLL_REG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING00_PLL_REG_EN_RX_LO(base) ((XCVR_TSM_TIMING00_REG(base) & XCVR_TSM_TIMING00_PLL_REG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING00_PLL_REG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING00_PLL_REG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING00_REG(base), XCVR_TSM_TIMING00_PLL_REG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING00_PLL_REG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_REG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING00_PLL_REG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING00(base, XCVR_TSM_TIMING00_PLL_REG_EN_RX_LO_MASK, XCVR_TSM_TIMING00_PLL_REG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING00_PLL_REG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING00_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING00_PLL_REG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING00_PLL_REG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING00_PLL_REG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING01 - TSM_TIMING01 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING01 - TSM_TIMING01 (RW) |
| * |
| * Reset value: 0x65006A00U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_VCO_REG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING01 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING01(base) (XCVR_TSM_TIMING01_REG(base)) |
| #define XCVR_WR_TSM_TIMING01(base, value) (XCVR_TSM_TIMING01_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING01(base, mask, value) (XCVR_WR_TSM_TIMING01(base, (XCVR_RD_TSM_TIMING01(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING01(base, value) (BME_OR32(&XCVR_TSM_TIMING01_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING01(base, value) (BME_AND32(&XCVR_TSM_TIMING01_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING01(base, value) (BME_XOR32(&XCVR_TSM_TIMING01_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING01 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING01, field PLL_VCO_REG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_REG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI(base) ((XCVR_TSM_TIMING01_REG(base) & XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING01_REG(base), XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_REG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING01(base, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI_MASK, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING01_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING01, field PLL_VCO_REG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_REG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO(base) ((XCVR_TSM_TIMING01_REG(base) & XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING01_REG(base), XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_REG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING01(base, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO_MASK, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING01_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING01, field PLL_VCO_REG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_REG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI(base) ((XCVR_TSM_TIMING01_REG(base) & XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING01_REG(base), XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_REG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING01(base, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI_MASK, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING01_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING01, field PLL_VCO_REG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_REG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO(base) ((XCVR_TSM_TIMING01_REG(base) & XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING01_REG(base), XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_REG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING01(base, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO_MASK, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING01_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING01_PLL_VCO_REG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING02 - TSM_TIMING02 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING02 - TSM_TIMING02 (RW) |
| * |
| * Reset value: 0x65006A00U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the QGEN_REG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING02 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING02(base) (XCVR_TSM_TIMING02_REG(base)) |
| #define XCVR_WR_TSM_TIMING02(base, value) (XCVR_TSM_TIMING02_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING02(base, mask, value) (XCVR_WR_TSM_TIMING02(base, (XCVR_RD_TSM_TIMING02(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING02(base, value) (BME_OR32(&XCVR_TSM_TIMING02_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING02(base, value) (BME_AND32(&XCVR_TSM_TIMING02_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING02(base, value) (BME_XOR32(&XCVR_TSM_TIMING02_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING02 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING02, field QGEN_REG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the QGEN_REG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING02_QGEN_REG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING02_QGEN_REG_EN_TX_HI(base) ((XCVR_TSM_TIMING02_REG(base) & XCVR_TSM_TIMING02_QGEN_REG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING02_QGEN_REG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING02_QGEN_REG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING02_REG(base), XCVR_TSM_TIMING02_QGEN_REG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING02_QGEN_REG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the QGEN_REG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING02_QGEN_REG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING02(base, XCVR_TSM_TIMING02_QGEN_REG_EN_TX_HI_MASK, XCVR_TSM_TIMING02_QGEN_REG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING02_QGEN_REG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING02_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING02_QGEN_REG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING02_QGEN_REG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING02_QGEN_REG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING02, field QGEN_REG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the QGEN_REG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING02_QGEN_REG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING02_QGEN_REG_EN_TX_LO(base) ((XCVR_TSM_TIMING02_REG(base) & XCVR_TSM_TIMING02_QGEN_REG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING02_QGEN_REG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING02_QGEN_REG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING02_REG(base), XCVR_TSM_TIMING02_QGEN_REG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING02_QGEN_REG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the QGEN_REG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING02_QGEN_REG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING02(base, XCVR_TSM_TIMING02_QGEN_REG_EN_TX_LO_MASK, XCVR_TSM_TIMING02_QGEN_REG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING02_QGEN_REG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING02_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING02_QGEN_REG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING02_QGEN_REG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING02_QGEN_REG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING02, field QGEN_REG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the QGEN_REG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING02_QGEN_REG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING02_QGEN_REG_EN_RX_HI(base) ((XCVR_TSM_TIMING02_REG(base) & XCVR_TSM_TIMING02_QGEN_REG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING02_QGEN_REG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING02_QGEN_REG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING02_REG(base), XCVR_TSM_TIMING02_QGEN_REG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING02_QGEN_REG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the QGEN_REG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING02_QGEN_REG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING02(base, XCVR_TSM_TIMING02_QGEN_REG_EN_RX_HI_MASK, XCVR_TSM_TIMING02_QGEN_REG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING02_QGEN_REG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING02_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING02_QGEN_REG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING02_QGEN_REG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING02_QGEN_REG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING02, field QGEN_REG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the QGEN_REG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING02_QGEN_REG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING02_QGEN_REG_EN_RX_LO(base) ((XCVR_TSM_TIMING02_REG(base) & XCVR_TSM_TIMING02_QGEN_REG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING02_QGEN_REG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING02_QGEN_REG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING02_REG(base), XCVR_TSM_TIMING02_QGEN_REG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING02_QGEN_REG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the QGEN_REG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING02_QGEN_REG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING02(base, XCVR_TSM_TIMING02_QGEN_REG_EN_RX_LO_MASK, XCVR_TSM_TIMING02_QGEN_REG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING02_QGEN_REG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING02_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING02_QGEN_REG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING02_QGEN_REG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING02_QGEN_REG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING03 - TSM_TIMING03 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING03 - TSM_TIMING03 (RW) |
| * |
| * Reset value: 0x65006A00U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the TCA_TX_REG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING03 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING03(base) (XCVR_TSM_TIMING03_REG(base)) |
| #define XCVR_WR_TSM_TIMING03(base, value) (XCVR_TSM_TIMING03_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING03(base, mask, value) (XCVR_WR_TSM_TIMING03(base, (XCVR_RD_TSM_TIMING03(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING03(base, value) (BME_OR32(&XCVR_TSM_TIMING03_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING03(base, value) (BME_AND32(&XCVR_TSM_TIMING03_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING03(base, value) (BME_XOR32(&XCVR_TSM_TIMING03_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING03 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING03, field TCA_TX_REG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TCA_TX_REG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING03_TCA_TX_REG_EN_TX_HI(base) ((XCVR_TSM_TIMING03_REG(base) & XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING03_TCA_TX_REG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING03_REG(base), XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the TCA_TX_REG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING03(base, XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI_MASK, XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING03_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING03, field TCA_TX_REG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TCA_TX_REG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING03_TCA_TX_REG_EN_TX_LO(base) ((XCVR_TSM_TIMING03_REG(base) & XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING03_TCA_TX_REG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING03_REG(base), XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the TCA_TX_REG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING03(base, XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO_MASK, XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING03_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING03_TCA_TX_REG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING03, field TCA_TX_REG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TCA_TX_REG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING03_TCA_TX_REG_EN_RX_HI(base) ((XCVR_TSM_TIMING03_REG(base) & XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING03_TCA_TX_REG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING03_REG(base), XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the TCA_TX_REG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING03(base, XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI_MASK, XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING03_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING03, field TCA_TX_REG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TCA_TX_REG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING03_TCA_TX_REG_EN_RX_LO(base) ((XCVR_TSM_TIMING03_REG(base) & XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING03_TCA_TX_REG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING03_REG(base), XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the TCA_TX_REG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING03(base, XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO_MASK, XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING03_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING03_TCA_TX_REG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING04 - TSM_TIMING04 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING04 - TSM_TIMING04 (RW) |
| * |
| * Reset value: 0x6500FFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the ADC_REG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING04 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING04(base) (XCVR_TSM_TIMING04_REG(base)) |
| #define XCVR_WR_TSM_TIMING04(base, value) (XCVR_TSM_TIMING04_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING04(base, mask, value) (XCVR_WR_TSM_TIMING04(base, (XCVR_RD_TSM_TIMING04(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING04(base, value) (BME_OR32(&XCVR_TSM_TIMING04_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING04(base, value) (BME_AND32(&XCVR_TSM_TIMING04_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING04(base, value) (BME_XOR32(&XCVR_TSM_TIMING04_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING04 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING04, field ADC_REG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_REG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING04_ADC_REG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING04_ADC_REG_EN_RX_HI(base) ((XCVR_TSM_TIMING04_REG(base) & XCVR_TSM_TIMING04_ADC_REG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING04_ADC_REG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING04_ADC_REG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING04_REG(base), XCVR_TSM_TIMING04_ADC_REG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING04_ADC_REG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the ADC_REG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING04_ADC_REG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING04(base, XCVR_TSM_TIMING04_ADC_REG_EN_RX_HI_MASK, XCVR_TSM_TIMING04_ADC_REG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING04_ADC_REG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING04_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING04_ADC_REG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING04_ADC_REG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING04_ADC_REG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING04, field ADC_REG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_REG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING04_ADC_REG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING04_ADC_REG_EN_RX_LO(base) ((XCVR_TSM_TIMING04_REG(base) & XCVR_TSM_TIMING04_ADC_REG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING04_ADC_REG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING04_ADC_REG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING04_REG(base), XCVR_TSM_TIMING04_ADC_REG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING04_ADC_REG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the ADC_REG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING04_ADC_REG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING04(base, XCVR_TSM_TIMING04_ADC_REG_EN_RX_LO_MASK, XCVR_TSM_TIMING04_ADC_REG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING04_ADC_REG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING04_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING04_ADC_REG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING04_ADC_REG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING04_ADC_REG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING05 - TSM_TIMING05 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING05 - TSM_TIMING05 (RW) |
| * |
| * Reset value: 0x650B6A3FU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_REF_CLK_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING05 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING05(base) (XCVR_TSM_TIMING05_REG(base)) |
| #define XCVR_WR_TSM_TIMING05(base, value) (XCVR_TSM_TIMING05_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING05(base, mask, value) (XCVR_WR_TSM_TIMING05(base, (XCVR_RD_TSM_TIMING05(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING05(base, value) (BME_OR32(&XCVR_TSM_TIMING05_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING05(base, value) (BME_AND32(&XCVR_TSM_TIMING05_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING05(base, value) (BME_XOR32(&XCVR_TSM_TIMING05_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING05 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING05, field PLL_REF_CLK_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_REF_CLK_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI(base) ((XCVR_TSM_TIMING05_REG(base) & XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI_MASK) >> XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING05_REG(base), XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI_SHIFT, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_REF_CLK_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING05(base, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI_MASK, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING05_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI_SHIFT), XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI_SHIFT, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING05, field PLL_REF_CLK_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_REF_CLK_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO(base) ((XCVR_TSM_TIMING05_REG(base) & XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO_MASK) >> XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING05_REG(base), XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO_SHIFT, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_REF_CLK_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING05(base, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO_MASK, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING05_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO_SHIFT), XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO_SHIFT, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING05, field PLL_REF_CLK_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_REF_CLK_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI(base) ((XCVR_TSM_TIMING05_REG(base) & XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI_MASK) >> XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING05_REG(base), XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI_SHIFT, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_REF_CLK_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING05(base, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI_MASK, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING05_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI_SHIFT), XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI_SHIFT, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING05, field PLL_REF_CLK_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_REF_CLK_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO(base) ((XCVR_TSM_TIMING05_REG(base) & XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO_MASK) >> XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING05_REG(base), XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO_SHIFT, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_REF_CLK_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING05(base, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO_MASK, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING05_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO_SHIFT), XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO_SHIFT, XCVR_TSM_TIMING05_PLL_REF_CLK_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING06 - TSM_TIMING06 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING06 - TSM_TIMING06 (RW) |
| * |
| * Reset value: 0x651AFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the ADC_CLK_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING06 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING06(base) (XCVR_TSM_TIMING06_REG(base)) |
| #define XCVR_WR_TSM_TIMING06(base, value) (XCVR_TSM_TIMING06_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING06(base, mask, value) (XCVR_WR_TSM_TIMING06(base, (XCVR_RD_TSM_TIMING06(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING06(base, value) (BME_OR32(&XCVR_TSM_TIMING06_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING06(base, value) (BME_AND32(&XCVR_TSM_TIMING06_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING06(base, value) (BME_XOR32(&XCVR_TSM_TIMING06_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING06 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING06, field ADC_CLK_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_CLK_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING06_ADC_CLK_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING06_ADC_CLK_EN_RX_HI(base) ((XCVR_TSM_TIMING06_REG(base) & XCVR_TSM_TIMING06_ADC_CLK_EN_RX_HI_MASK) >> XCVR_TSM_TIMING06_ADC_CLK_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING06_ADC_CLK_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING06_REG(base), XCVR_TSM_TIMING06_ADC_CLK_EN_RX_HI_SHIFT, XCVR_TSM_TIMING06_ADC_CLK_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the ADC_CLK_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING06_ADC_CLK_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING06(base, XCVR_TSM_TIMING06_ADC_CLK_EN_RX_HI_MASK, XCVR_TSM_TIMING06_ADC_CLK_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING06_ADC_CLK_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING06_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING06_ADC_CLK_EN_RX_HI_SHIFT), XCVR_TSM_TIMING06_ADC_CLK_EN_RX_HI_SHIFT, XCVR_TSM_TIMING06_ADC_CLK_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING06, field ADC_CLK_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_CLK_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING06_ADC_CLK_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING06_ADC_CLK_EN_RX_LO(base) ((XCVR_TSM_TIMING06_REG(base) & XCVR_TSM_TIMING06_ADC_CLK_EN_RX_LO_MASK) >> XCVR_TSM_TIMING06_ADC_CLK_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING06_ADC_CLK_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING06_REG(base), XCVR_TSM_TIMING06_ADC_CLK_EN_RX_LO_SHIFT, XCVR_TSM_TIMING06_ADC_CLK_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the ADC_CLK_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING06_ADC_CLK_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING06(base, XCVR_TSM_TIMING06_ADC_CLK_EN_RX_LO_MASK, XCVR_TSM_TIMING06_ADC_CLK_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING06_ADC_CLK_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING06_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING06_ADC_CLK_EN_RX_LO_SHIFT), XCVR_TSM_TIMING06_ADC_CLK_EN_RX_LO_SHIFT, XCVR_TSM_TIMING06_ADC_CLK_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING07 - TSM_TIMING07 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING07 - TSM_TIMING07 (RW) |
| * |
| * Reset value: 0x1A004E00U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_VCO_AUTOTUNE_EN TSM signal |
| * or signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING07 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING07(base) (XCVR_TSM_TIMING07_REG(base)) |
| #define XCVR_WR_TSM_TIMING07(base, value) (XCVR_TSM_TIMING07_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING07(base, mask, value) (XCVR_WR_TSM_TIMING07(base, (XCVR_RD_TSM_TIMING07(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING07(base, value) (BME_OR32(&XCVR_TSM_TIMING07_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING07(base, value) (BME_AND32(&XCVR_TSM_TIMING07_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING07(base, value) (BME_XOR32(&XCVR_TSM_TIMING07_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING07 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING07, field PLL_VCO_AUTOTUNE_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_AUTOTUNE_EN signal or group will transition from LO to |
| * HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI(base) ((XCVR_TSM_TIMING07_REG(base) & XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI_MASK) >> XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING07_REG(base), XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI_SHIFT, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_AUTOTUNE_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING07(base, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI_MASK, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING07_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI_SHIFT), XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI_SHIFT, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING07, field PLL_VCO_AUTOTUNE_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_AUTOTUNE_EN signal or group will transition from HI to |
| * LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO(base) ((XCVR_TSM_TIMING07_REG(base) & XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO_MASK) >> XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING07_REG(base), XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO_SHIFT, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_AUTOTUNE_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING07(base, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO_MASK, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING07_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO_SHIFT), XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO_SHIFT, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING07, field PLL_VCO_AUTOTUNE_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_AUTOTUNE_EN signal or group will transition from LO to |
| * HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI(base) ((XCVR_TSM_TIMING07_REG(base) & XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI_MASK) >> XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING07_REG(base), XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI_SHIFT, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_AUTOTUNE_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING07(base, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI_MASK, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING07_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI_SHIFT), XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI_SHIFT, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING07, field PLL_VCO_AUTOTUNE_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_AUTOTUNE_EN signal or group will transition from HI to |
| * LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO(base) ((XCVR_TSM_TIMING07_REG(base) & XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO_MASK) >> XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING07_REG(base), XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO_SHIFT, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_AUTOTUNE_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING07(base, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO_MASK, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING07_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO_SHIFT), XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO_SHIFT, XCVR_TSM_TIMING07_PLL_VCO_AUTOTUNE_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING08 - TSM_TIMING08 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING08 - TSM_TIMING08 (RW) |
| * |
| * Reset value: 0x65336867U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_CYCLE_SLIP_LD_EN TSM |
| * signal or signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING08 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING08(base) (XCVR_TSM_TIMING08_REG(base)) |
| #define XCVR_WR_TSM_TIMING08(base, value) (XCVR_TSM_TIMING08_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING08(base, mask, value) (XCVR_WR_TSM_TIMING08(base, (XCVR_RD_TSM_TIMING08(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING08(base, value) (BME_OR32(&XCVR_TSM_TIMING08_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING08(base, value) (BME_AND32(&XCVR_TSM_TIMING08_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING08(base, value) (BME_XOR32(&XCVR_TSM_TIMING08_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING08 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING08, field PLL_CYCLE_SLIP_LD_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_CYCLE_SLIP_LD_EN signal or group will transition from LO to |
| * HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI(base) ((XCVR_TSM_TIMING08_REG(base) & XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI_MASK) >> XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING08_REG(base), XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI_SHIFT, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_CYCLE_SLIP_LD_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING08(base, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI_MASK, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING08_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI_SHIFT), XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI_SHIFT, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING08, field PLL_CYCLE_SLIP_LD_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_CYCLE_SLIP_LD_EN signal or group will transition from HI to |
| * LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO(base) ((XCVR_TSM_TIMING08_REG(base) & XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO_MASK) >> XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING08_REG(base), XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO_SHIFT, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_CYCLE_SLIP_LD_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING08(base, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO_MASK, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING08_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO_SHIFT), XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO_SHIFT, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING08, field PLL_CYCLE_SLIP_LD_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_CYCLE_SLIP_LD_EN signal or group will transition from LO to |
| * HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI(base) ((XCVR_TSM_TIMING08_REG(base) & XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI_MASK) >> XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING08_REG(base), XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI_SHIFT, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_CYCLE_SLIP_LD_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING08(base, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI_MASK, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING08_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI_SHIFT), XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI_SHIFT, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING08, field PLL_CYCLE_SLIP_LD_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_CYCLE_SLIP_LD_EN signal or group will transition from HI to |
| * LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO(base) ((XCVR_TSM_TIMING08_REG(base) & XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO_MASK) >> XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING08_REG(base), XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO_SHIFT, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_CYCLE_SLIP_LD_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING08(base, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO_MASK, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING08_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO_SHIFT), XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO_SHIFT, XCVR_TSM_TIMING08_PLL_CYCLE_SLIP_LD_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING09 - TSM_TIMING09 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING09 - TSM_TIMING09 (RW) |
| * |
| * Reset value: 0x65056A05U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_VCO_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING09 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING09(base) (XCVR_TSM_TIMING09_REG(base)) |
| #define XCVR_WR_TSM_TIMING09(base, value) (XCVR_TSM_TIMING09_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING09(base, mask, value) (XCVR_WR_TSM_TIMING09(base, (XCVR_RD_TSM_TIMING09(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING09(base, value) (BME_OR32(&XCVR_TSM_TIMING09_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING09(base, value) (BME_AND32(&XCVR_TSM_TIMING09_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING09(base, value) (BME_XOR32(&XCVR_TSM_TIMING09_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING09 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING09, field PLL_VCO_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING09_PLL_VCO_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING09_PLL_VCO_EN_TX_HI(base) ((XCVR_TSM_TIMING09_REG(base) & XCVR_TSM_TIMING09_PLL_VCO_EN_TX_HI_MASK) >> XCVR_TSM_TIMING09_PLL_VCO_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING09_PLL_VCO_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING09_REG(base), XCVR_TSM_TIMING09_PLL_VCO_EN_TX_HI_SHIFT, XCVR_TSM_TIMING09_PLL_VCO_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING09_PLL_VCO_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING09(base, XCVR_TSM_TIMING09_PLL_VCO_EN_TX_HI_MASK, XCVR_TSM_TIMING09_PLL_VCO_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING09_PLL_VCO_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING09_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING09_PLL_VCO_EN_TX_HI_SHIFT), XCVR_TSM_TIMING09_PLL_VCO_EN_TX_HI_SHIFT, XCVR_TSM_TIMING09_PLL_VCO_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING09, field PLL_VCO_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING09_PLL_VCO_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING09_PLL_VCO_EN_TX_LO(base) ((XCVR_TSM_TIMING09_REG(base) & XCVR_TSM_TIMING09_PLL_VCO_EN_TX_LO_MASK) >> XCVR_TSM_TIMING09_PLL_VCO_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING09_PLL_VCO_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING09_REG(base), XCVR_TSM_TIMING09_PLL_VCO_EN_TX_LO_SHIFT, XCVR_TSM_TIMING09_PLL_VCO_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING09_PLL_VCO_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING09(base, XCVR_TSM_TIMING09_PLL_VCO_EN_TX_LO_MASK, XCVR_TSM_TIMING09_PLL_VCO_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING09_PLL_VCO_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING09_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING09_PLL_VCO_EN_TX_LO_SHIFT), XCVR_TSM_TIMING09_PLL_VCO_EN_TX_LO_SHIFT, XCVR_TSM_TIMING09_PLL_VCO_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING09, field PLL_VCO_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING09_PLL_VCO_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING09_PLL_VCO_EN_RX_HI(base) ((XCVR_TSM_TIMING09_REG(base) & XCVR_TSM_TIMING09_PLL_VCO_EN_RX_HI_MASK) >> XCVR_TSM_TIMING09_PLL_VCO_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING09_PLL_VCO_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING09_REG(base), XCVR_TSM_TIMING09_PLL_VCO_EN_RX_HI_SHIFT, XCVR_TSM_TIMING09_PLL_VCO_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING09_PLL_VCO_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING09(base, XCVR_TSM_TIMING09_PLL_VCO_EN_RX_HI_MASK, XCVR_TSM_TIMING09_PLL_VCO_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING09_PLL_VCO_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING09_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING09_PLL_VCO_EN_RX_HI_SHIFT), XCVR_TSM_TIMING09_PLL_VCO_EN_RX_HI_SHIFT, XCVR_TSM_TIMING09_PLL_VCO_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING09, field PLL_VCO_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING09_PLL_VCO_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING09_PLL_VCO_EN_RX_LO(base) ((XCVR_TSM_TIMING09_REG(base) & XCVR_TSM_TIMING09_PLL_VCO_EN_RX_LO_MASK) >> XCVR_TSM_TIMING09_PLL_VCO_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING09_PLL_VCO_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING09_REG(base), XCVR_TSM_TIMING09_PLL_VCO_EN_RX_LO_SHIFT, XCVR_TSM_TIMING09_PLL_VCO_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING09_PLL_VCO_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING09(base, XCVR_TSM_TIMING09_PLL_VCO_EN_RX_LO_MASK, XCVR_TSM_TIMING09_PLL_VCO_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING09_PLL_VCO_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING09_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING09_PLL_VCO_EN_RX_LO_SHIFT), XCVR_TSM_TIMING09_PLL_VCO_EN_RX_LO_SHIFT, XCVR_TSM_TIMING09_PLL_VCO_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING10 - TSM_TIMING10 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING10 - TSM_TIMING10 (RW) |
| * |
| * Reset value: 0x6509FFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_VCO_BUF_RX_EN TSM signal |
| * or signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING10 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING10(base) (XCVR_TSM_TIMING10_REG(base)) |
| #define XCVR_WR_TSM_TIMING10(base, value) (XCVR_TSM_TIMING10_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING10(base, mask, value) (XCVR_WR_TSM_TIMING10(base, (XCVR_RD_TSM_TIMING10(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING10(base, value) (BME_OR32(&XCVR_TSM_TIMING10_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING10(base, value) (BME_AND32(&XCVR_TSM_TIMING10_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING10(base, value) (BME_XOR32(&XCVR_TSM_TIMING10_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING10 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING10, field PLL_VCO_BUF_RX_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_BUF_RX_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI(base) ((XCVR_TSM_TIMING10_REG(base) & XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI_MASK) >> XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING10_REG(base), XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI_SHIFT, XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_BUF_RX_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING10(base, XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI_MASK, XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING10_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI_SHIFT), XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI_SHIFT, XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING10, field PLL_VCO_BUF_RX_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_BUF_RX_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO(base) ((XCVR_TSM_TIMING10_REG(base) & XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO_MASK) >> XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING10_REG(base), XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO_SHIFT, XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_BUF_RX_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING10(base, XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO_MASK, XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING10_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO_SHIFT), XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO_SHIFT, XCVR_TSM_TIMING10_PLL_VCO_BUF_RX_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING11 - TSM_TIMING11 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING11 - TSM_TIMING11 (RW) |
| * |
| * Reset value: 0xFFFF6A09U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_VCO_BUF_TX_EN TSM signal |
| * or signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING11 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING11(base) (XCVR_TSM_TIMING11_REG(base)) |
| #define XCVR_WR_TSM_TIMING11(base, value) (XCVR_TSM_TIMING11_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING11(base, mask, value) (XCVR_WR_TSM_TIMING11(base, (XCVR_RD_TSM_TIMING11(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING11(base, value) (BME_OR32(&XCVR_TSM_TIMING11_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING11(base, value) (BME_AND32(&XCVR_TSM_TIMING11_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING11(base, value) (BME_XOR32(&XCVR_TSM_TIMING11_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING11 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING11, field PLL_VCO_BUF_TX_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_BUF_TX_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI(base) ((XCVR_TSM_TIMING11_REG(base) & XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI_MASK) >> XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING11_REG(base), XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI_SHIFT, XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_BUF_TX_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING11(base, XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI_MASK, XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING11_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI_SHIFT), XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI_SHIFT, XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING11, field PLL_VCO_BUF_TX_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_VCO_BUF_TX_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO(base) ((XCVR_TSM_TIMING11_REG(base) & XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO_MASK) >> XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING11_REG(base), XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO_SHIFT, XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_BUF_TX_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING11(base, XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO_MASK, XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING11_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO_SHIFT), XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO_SHIFT, XCVR_TSM_TIMING11_PLL_VCO_BUF_TX_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING12 - TSM_TIMING12 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING12 - TSM_TIMING12 (RW) |
| * |
| * Reset value: 0xFFFF6A64U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_PA_BUF_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING12 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING12(base) (XCVR_TSM_TIMING12_REG(base)) |
| #define XCVR_WR_TSM_TIMING12(base, value) (XCVR_TSM_TIMING12_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING12(base, mask, value) (XCVR_WR_TSM_TIMING12(base, (XCVR_RD_TSM_TIMING12(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING12(base, value) (BME_OR32(&XCVR_TSM_TIMING12_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING12(base, value) (BME_AND32(&XCVR_TSM_TIMING12_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING12(base, value) (BME_XOR32(&XCVR_TSM_TIMING12_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING12 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING12, field PLL_PA_BUF_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_PA_BUF_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI(base) ((XCVR_TSM_TIMING12_REG(base) & XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI_MASK) >> XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING12_REG(base), XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI_SHIFT, XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_PA_BUF_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING12(base, XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI_MASK, XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING12_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI_SHIFT), XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI_SHIFT, XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING12, field PLL_PA_BUF_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_PA_BUF_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO(base) ((XCVR_TSM_TIMING12_REG(base) & XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO_MASK) >> XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING12_REG(base), XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO_SHIFT, XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_PA_BUF_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING12(base, XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO_MASK, XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING12_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO_SHIFT), XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO_SHIFT, XCVR_TSM_TIMING12_PLL_PA_BUF_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING13 - TSM_TIMING13 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING13 - TSM_TIMING13 (RW) |
| * |
| * Reset value: 0x651A6A4EU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_LDV_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING13 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING13(base) (XCVR_TSM_TIMING13_REG(base)) |
| #define XCVR_WR_TSM_TIMING13(base, value) (XCVR_TSM_TIMING13_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING13(base, mask, value) (XCVR_WR_TSM_TIMING13(base, (XCVR_RD_TSM_TIMING13(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING13(base, value) (BME_OR32(&XCVR_TSM_TIMING13_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING13(base, value) (BME_AND32(&XCVR_TSM_TIMING13_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING13(base, value) (BME_XOR32(&XCVR_TSM_TIMING13_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING13 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING13, field PLL_LDV_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_LDV_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING13_PLL_LDV_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING13_PLL_LDV_EN_TX_HI(base) ((XCVR_TSM_TIMING13_REG(base) & XCVR_TSM_TIMING13_PLL_LDV_EN_TX_HI_MASK) >> XCVR_TSM_TIMING13_PLL_LDV_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING13_PLL_LDV_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING13_REG(base), XCVR_TSM_TIMING13_PLL_LDV_EN_TX_HI_SHIFT, XCVR_TSM_TIMING13_PLL_LDV_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_LDV_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING13_PLL_LDV_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING13(base, XCVR_TSM_TIMING13_PLL_LDV_EN_TX_HI_MASK, XCVR_TSM_TIMING13_PLL_LDV_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING13_PLL_LDV_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING13_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING13_PLL_LDV_EN_TX_HI_SHIFT), XCVR_TSM_TIMING13_PLL_LDV_EN_TX_HI_SHIFT, XCVR_TSM_TIMING13_PLL_LDV_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING13, field PLL_LDV_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_LDV_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING13_PLL_LDV_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING13_PLL_LDV_EN_TX_LO(base) ((XCVR_TSM_TIMING13_REG(base) & XCVR_TSM_TIMING13_PLL_LDV_EN_TX_LO_MASK) >> XCVR_TSM_TIMING13_PLL_LDV_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING13_PLL_LDV_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING13_REG(base), XCVR_TSM_TIMING13_PLL_LDV_EN_TX_LO_SHIFT, XCVR_TSM_TIMING13_PLL_LDV_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_LDV_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING13_PLL_LDV_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING13(base, XCVR_TSM_TIMING13_PLL_LDV_EN_TX_LO_MASK, XCVR_TSM_TIMING13_PLL_LDV_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING13_PLL_LDV_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING13_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING13_PLL_LDV_EN_TX_LO_SHIFT), XCVR_TSM_TIMING13_PLL_LDV_EN_TX_LO_SHIFT, XCVR_TSM_TIMING13_PLL_LDV_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING13, field PLL_LDV_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_LDV_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING13_PLL_LDV_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING13_PLL_LDV_EN_RX_HI(base) ((XCVR_TSM_TIMING13_REG(base) & XCVR_TSM_TIMING13_PLL_LDV_EN_RX_HI_MASK) >> XCVR_TSM_TIMING13_PLL_LDV_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING13_PLL_LDV_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING13_REG(base), XCVR_TSM_TIMING13_PLL_LDV_EN_RX_HI_SHIFT, XCVR_TSM_TIMING13_PLL_LDV_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_LDV_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING13_PLL_LDV_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING13(base, XCVR_TSM_TIMING13_PLL_LDV_EN_RX_HI_MASK, XCVR_TSM_TIMING13_PLL_LDV_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING13_PLL_LDV_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING13_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING13_PLL_LDV_EN_RX_HI_SHIFT), XCVR_TSM_TIMING13_PLL_LDV_EN_RX_HI_SHIFT, XCVR_TSM_TIMING13_PLL_LDV_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING13, field PLL_LDV_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_LDV_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING13_PLL_LDV_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING13_PLL_LDV_EN_RX_LO(base) ((XCVR_TSM_TIMING13_REG(base) & XCVR_TSM_TIMING13_PLL_LDV_EN_RX_LO_MASK) >> XCVR_TSM_TIMING13_PLL_LDV_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING13_PLL_LDV_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING13_REG(base), XCVR_TSM_TIMING13_PLL_LDV_EN_RX_LO_SHIFT, XCVR_TSM_TIMING13_PLL_LDV_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_LDV_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING13_PLL_LDV_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING13(base, XCVR_TSM_TIMING13_PLL_LDV_EN_RX_LO_MASK, XCVR_TSM_TIMING13_PLL_LDV_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING13_PLL_LDV_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING13_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING13_PLL_LDV_EN_RX_LO_SHIFT), XCVR_TSM_TIMING13_PLL_LDV_EN_RX_LO_SHIFT, XCVR_TSM_TIMING13_PLL_LDV_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING14 - TSM_TIMING14 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING14 - TSM_TIMING14 (RW) |
| * |
| * Reset value: 0x650AFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_RX_LDV_RIPPLE_MUX_EN TSM |
| * signal or signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING14 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING14(base) (XCVR_TSM_TIMING14_REG(base)) |
| #define XCVR_WR_TSM_TIMING14(base, value) (XCVR_TSM_TIMING14_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING14(base, mask, value) (XCVR_WR_TSM_TIMING14(base, (XCVR_RD_TSM_TIMING14(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING14(base, value) (BME_OR32(&XCVR_TSM_TIMING14_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING14(base, value) (BME_AND32(&XCVR_TSM_TIMING14_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING14(base, value) (BME_XOR32(&XCVR_TSM_TIMING14_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING14 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING14, field PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_RX_LDV_RIPPLE_MUX_EN signal or group will transition from LO |
| * to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI(base) ((XCVR_TSM_TIMING14_REG(base) & XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI_MASK) >> XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING14_REG(base), XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI_SHIFT, XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING14(base, XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI_MASK, XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING14_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI_SHIFT), XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI_SHIFT, XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING14, field PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_RX_LDV_RIPPLE_MUX_EN signal or group will transition from HI |
| * to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO(base) ((XCVR_TSM_TIMING14_REG(base) & XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO_MASK) >> XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING14_REG(base), XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO_SHIFT, XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING14(base, XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO_MASK, XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING14_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO_SHIFT), XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO_SHIFT, XCVR_TSM_TIMING14_PLL_RX_LDV_RIPPLE_MUX_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING15 - TSM_TIMING15 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING15 - TSM_TIMING15 (RW) |
| * |
| * Reset value: 0xFFFF6A0AU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_TX_LDV_RIPPLE_MUX_EN TSM |
| * signal or signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING15 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING15(base) (XCVR_TSM_TIMING15_REG(base)) |
| #define XCVR_WR_TSM_TIMING15(base, value) (XCVR_TSM_TIMING15_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING15(base, mask, value) (XCVR_WR_TSM_TIMING15(base, (XCVR_RD_TSM_TIMING15(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING15(base, value) (BME_OR32(&XCVR_TSM_TIMING15_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING15(base, value) (BME_AND32(&XCVR_TSM_TIMING15_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING15(base, value) (BME_XOR32(&XCVR_TSM_TIMING15_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING15 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING15, field PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_TX_LDV_RIPPLE_MUX_EN signal or group will transition from LO |
| * to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI(base) ((XCVR_TSM_TIMING15_REG(base) & XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI_MASK) >> XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING15_REG(base), XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI_SHIFT, XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING15(base, XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI_MASK, XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING15_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI_SHIFT), XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI_SHIFT, XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING15, field PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_TX_LDV_RIPPLE_MUX_EN signal or group will transition from HI |
| * to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO(base) ((XCVR_TSM_TIMING15_REG(base) & XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO_MASK) >> XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING15_REG(base), XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO_SHIFT, XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING15(base, XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO_MASK, XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING15_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO_SHIFT), XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO_SHIFT, XCVR_TSM_TIMING15_PLL_TX_LDV_RIPPLE_MUX_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING16 - TSM_TIMING16 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING16 - TSM_TIMING16 (RW) |
| * |
| * Reset value: 0x1A104E44U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_FILTER_CHARGE_EN TSM |
| * signal or signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING16 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING16(base) (XCVR_TSM_TIMING16_REG(base)) |
| #define XCVR_WR_TSM_TIMING16(base, value) (XCVR_TSM_TIMING16_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING16(base, mask, value) (XCVR_WR_TSM_TIMING16(base, (XCVR_RD_TSM_TIMING16(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING16(base, value) (BME_OR32(&XCVR_TSM_TIMING16_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING16(base, value) (BME_AND32(&XCVR_TSM_TIMING16_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING16(base, value) (BME_XOR32(&XCVR_TSM_TIMING16_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING16 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING16, field PLL_FILTER_CHARGE_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_FILTER_CHARGE_EN signal or group will transition from LO to |
| * HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI(base) ((XCVR_TSM_TIMING16_REG(base) & XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI_MASK) >> XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING16_REG(base), XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI_SHIFT, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_FILTER_CHARGE_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING16(base, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI_MASK, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING16_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI_SHIFT), XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI_SHIFT, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING16, field PLL_FILTER_CHARGE_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_FILTER_CHARGE_EN signal or group will transition from HI to |
| * LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO(base) ((XCVR_TSM_TIMING16_REG(base) & XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO_MASK) >> XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING16_REG(base), XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO_SHIFT, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_FILTER_CHARGE_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING16(base, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO_MASK, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING16_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO_SHIFT), XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO_SHIFT, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING16, field PLL_FILTER_CHARGE_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_FILTER_CHARGE_EN signal or group will transition from LO to |
| * HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI(base) ((XCVR_TSM_TIMING16_REG(base) & XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI_MASK) >> XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING16_REG(base), XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI_SHIFT, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_FILTER_CHARGE_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING16(base, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI_MASK, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING16_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI_SHIFT), XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI_SHIFT, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING16, field PLL_FILTER_CHARGE_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_FILTER_CHARGE_EN signal or group will transition from HI to |
| * LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO(base) ((XCVR_TSM_TIMING16_REG(base) & XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO_MASK) >> XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING16_REG(base), XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO_SHIFT, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_FILTER_CHARGE_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING16(base, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO_MASK, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING16_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO_SHIFT), XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO_SHIFT, XCVR_TSM_TIMING16_PLL_FILTER_CHARGE_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING17 - TSM_TIMING17 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING17 - TSM_TIMING17 (RW) |
| * |
| * Reset value: 0x65106A44U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_PHDET_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING17 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING17(base) (XCVR_TSM_TIMING17_REG(base)) |
| #define XCVR_WR_TSM_TIMING17(base, value) (XCVR_TSM_TIMING17_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING17(base, mask, value) (XCVR_WR_TSM_TIMING17(base, (XCVR_RD_TSM_TIMING17(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING17(base, value) (BME_OR32(&XCVR_TSM_TIMING17_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING17(base, value) (BME_AND32(&XCVR_TSM_TIMING17_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING17(base, value) (BME_XOR32(&XCVR_TSM_TIMING17_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING17 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING17, field PLL_PHDET_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_PHDET_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING17_PLL_PHDET_EN_TX_HI(base) ((XCVR_TSM_TIMING17_REG(base) & XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_HI_MASK) >> XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING17_PLL_PHDET_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING17_REG(base), XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_HI_SHIFT, XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_PHDET_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING17_PLL_PHDET_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING17(base, XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_HI_MASK, XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING17_PLL_PHDET_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING17_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_HI_SHIFT), XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_HI_SHIFT, XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING17, field PLL_PHDET_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_PHDET_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING17_PLL_PHDET_EN_TX_LO(base) ((XCVR_TSM_TIMING17_REG(base) & XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_LO_MASK) >> XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING17_PLL_PHDET_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING17_REG(base), XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_LO_SHIFT, XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_PHDET_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING17_PLL_PHDET_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING17(base, XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_LO_MASK, XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING17_PLL_PHDET_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING17_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_LO_SHIFT), XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_LO_SHIFT, XCVR_TSM_TIMING17_PLL_PHDET_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING17, field PLL_PHDET_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_PHDET_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING17_PLL_PHDET_EN_RX_HI(base) ((XCVR_TSM_TIMING17_REG(base) & XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_HI_MASK) >> XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING17_PLL_PHDET_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING17_REG(base), XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_HI_SHIFT, XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_PHDET_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING17_PLL_PHDET_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING17(base, XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_HI_MASK, XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING17_PLL_PHDET_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING17_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_HI_SHIFT), XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_HI_SHIFT, XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING17, field PLL_PHDET_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_PHDET_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING17_PLL_PHDET_EN_RX_LO(base) ((XCVR_TSM_TIMING17_REG(base) & XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_LO_MASK) >> XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING17_PLL_PHDET_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING17_REG(base), XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_LO_SHIFT, XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_PHDET_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING17_PLL_PHDET_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING17(base, XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_LO_MASK, XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING17_PLL_PHDET_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING17_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_LO_SHIFT), XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_LO_SHIFT, XCVR_TSM_TIMING17_PLL_PHDET_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING18 - TSM_TIMING18 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING18 - TSM_TIMING18 (RW) |
| * |
| * Reset value: 0x6505FFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the QGEN25_EN TSM signal or signal |
| * group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING18 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING18(base) (XCVR_TSM_TIMING18_REG(base)) |
| #define XCVR_WR_TSM_TIMING18(base, value) (XCVR_TSM_TIMING18_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING18(base, mask, value) (XCVR_WR_TSM_TIMING18(base, (XCVR_RD_TSM_TIMING18(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING18(base, value) (BME_OR32(&XCVR_TSM_TIMING18_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING18(base, value) (BME_AND32(&XCVR_TSM_TIMING18_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING18(base, value) (BME_XOR32(&XCVR_TSM_TIMING18_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING18 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING18, field QGEN25_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the QGEN25_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING18_QGEN25_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING18_QGEN25_EN_RX_HI(base) ((XCVR_TSM_TIMING18_REG(base) & XCVR_TSM_TIMING18_QGEN25_EN_RX_HI_MASK) >> XCVR_TSM_TIMING18_QGEN25_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING18_QGEN25_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING18_REG(base), XCVR_TSM_TIMING18_QGEN25_EN_RX_HI_SHIFT, XCVR_TSM_TIMING18_QGEN25_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the QGEN25_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING18_QGEN25_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING18(base, XCVR_TSM_TIMING18_QGEN25_EN_RX_HI_MASK, XCVR_TSM_TIMING18_QGEN25_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING18_QGEN25_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING18_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING18_QGEN25_EN_RX_HI_SHIFT), XCVR_TSM_TIMING18_QGEN25_EN_RX_HI_SHIFT, XCVR_TSM_TIMING18_QGEN25_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING18, field QGEN25_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the QGEN25_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING18_QGEN25_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING18_QGEN25_EN_RX_LO(base) ((XCVR_TSM_TIMING18_REG(base) & XCVR_TSM_TIMING18_QGEN25_EN_RX_LO_MASK) >> XCVR_TSM_TIMING18_QGEN25_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING18_QGEN25_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING18_REG(base), XCVR_TSM_TIMING18_QGEN25_EN_RX_LO_SHIFT, XCVR_TSM_TIMING18_QGEN25_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the QGEN25_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING18_QGEN25_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING18(base, XCVR_TSM_TIMING18_QGEN25_EN_RX_LO_MASK, XCVR_TSM_TIMING18_QGEN25_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING18_QGEN25_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING18_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING18_QGEN25_EN_RX_LO_SHIFT), XCVR_TSM_TIMING18_QGEN25_EN_RX_LO_SHIFT, XCVR_TSM_TIMING18_QGEN25_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING19 - TSM_TIMING19 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING19 - TSM_TIMING19 (RW) |
| * |
| * Reset value: 0xFFFF6864U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the TX_EN TSM signal or signal |
| * group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING19 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING19(base) (XCVR_TSM_TIMING19_REG(base)) |
| #define XCVR_WR_TSM_TIMING19(base, value) (XCVR_TSM_TIMING19_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING19(base, mask, value) (XCVR_WR_TSM_TIMING19(base, (XCVR_RD_TSM_TIMING19(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING19(base, value) (BME_OR32(&XCVR_TSM_TIMING19_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING19(base, value) (BME_AND32(&XCVR_TSM_TIMING19_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING19(base, value) (BME_XOR32(&XCVR_TSM_TIMING19_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING19 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING19, field TX_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TX_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING19_TX_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING19_TX_EN_TX_HI(base) ((XCVR_TSM_TIMING19_REG(base) & XCVR_TSM_TIMING19_TX_EN_TX_HI_MASK) >> XCVR_TSM_TIMING19_TX_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING19_TX_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING19_REG(base), XCVR_TSM_TIMING19_TX_EN_TX_HI_SHIFT, XCVR_TSM_TIMING19_TX_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the TX_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING19_TX_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING19(base, XCVR_TSM_TIMING19_TX_EN_TX_HI_MASK, XCVR_TSM_TIMING19_TX_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING19_TX_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING19_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING19_TX_EN_TX_HI_SHIFT), XCVR_TSM_TIMING19_TX_EN_TX_HI_SHIFT, XCVR_TSM_TIMING19_TX_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING19, field TX_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TX_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING19_TX_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING19_TX_EN_TX_LO(base) ((XCVR_TSM_TIMING19_REG(base) & XCVR_TSM_TIMING19_TX_EN_TX_LO_MASK) >> XCVR_TSM_TIMING19_TX_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING19_TX_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING19_REG(base), XCVR_TSM_TIMING19_TX_EN_TX_LO_SHIFT, XCVR_TSM_TIMING19_TX_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the TX_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING19_TX_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING19(base, XCVR_TSM_TIMING19_TX_EN_TX_LO_MASK, XCVR_TSM_TIMING19_TX_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING19_TX_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING19_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING19_TX_EN_TX_LO_SHIFT), XCVR_TSM_TIMING19_TX_EN_TX_LO_SHIFT, XCVR_TSM_TIMING19_TX_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING20 - TSM_TIMING20 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING20 - TSM_TIMING20 (RW) |
| * |
| * Reset value: 0x651AFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the ADC_EN TSM signal or signal |
| * group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING20 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING20(base) (XCVR_TSM_TIMING20_REG(base)) |
| #define XCVR_WR_TSM_TIMING20(base, value) (XCVR_TSM_TIMING20_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING20(base, mask, value) (XCVR_WR_TSM_TIMING20(base, (XCVR_RD_TSM_TIMING20(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING20(base, value) (BME_OR32(&XCVR_TSM_TIMING20_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING20(base, value) (BME_AND32(&XCVR_TSM_TIMING20_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING20(base, value) (BME_XOR32(&XCVR_TSM_TIMING20_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING20 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING20, field ADC_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING20_ADC_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING20_ADC_EN_RX_HI(base) ((XCVR_TSM_TIMING20_REG(base) & XCVR_TSM_TIMING20_ADC_EN_RX_HI_MASK) >> XCVR_TSM_TIMING20_ADC_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING20_ADC_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING20_REG(base), XCVR_TSM_TIMING20_ADC_EN_RX_HI_SHIFT, XCVR_TSM_TIMING20_ADC_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the ADC_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING20_ADC_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING20(base, XCVR_TSM_TIMING20_ADC_EN_RX_HI_MASK, XCVR_TSM_TIMING20_ADC_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING20_ADC_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING20_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING20_ADC_EN_RX_HI_SHIFT), XCVR_TSM_TIMING20_ADC_EN_RX_HI_SHIFT, XCVR_TSM_TIMING20_ADC_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING20, field ADC_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING20_ADC_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING20_ADC_EN_RX_LO(base) ((XCVR_TSM_TIMING20_REG(base) & XCVR_TSM_TIMING20_ADC_EN_RX_LO_MASK) >> XCVR_TSM_TIMING20_ADC_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING20_ADC_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING20_REG(base), XCVR_TSM_TIMING20_ADC_EN_RX_LO_SHIFT, XCVR_TSM_TIMING20_ADC_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the ADC_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING20_ADC_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING20(base, XCVR_TSM_TIMING20_ADC_EN_RX_LO_MASK, XCVR_TSM_TIMING20_ADC_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING20_ADC_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING20_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING20_ADC_EN_RX_LO_SHIFT), XCVR_TSM_TIMING20_ADC_EN_RX_LO_SHIFT, XCVR_TSM_TIMING20_ADC_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING21 - TSM_TIMING21 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING21 - TSM_TIMING21 (RW) |
| * |
| * Reset value: 0x651AFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the ADC_I_Q_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING21 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING21(base) (XCVR_TSM_TIMING21_REG(base)) |
| #define XCVR_WR_TSM_TIMING21(base, value) (XCVR_TSM_TIMING21_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING21(base, mask, value) (XCVR_WR_TSM_TIMING21(base, (XCVR_RD_TSM_TIMING21(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING21(base, value) (BME_OR32(&XCVR_TSM_TIMING21_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING21(base, value) (BME_AND32(&XCVR_TSM_TIMING21_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING21(base, value) (BME_XOR32(&XCVR_TSM_TIMING21_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING21 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING21, field ADC_I_Q_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_I_Q_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING21_ADC_I_Q_EN_RX_HI(base) ((XCVR_TSM_TIMING21_REG(base) & XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_HI_MASK) >> XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING21_ADC_I_Q_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING21_REG(base), XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_HI_SHIFT, XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the ADC_I_Q_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING21_ADC_I_Q_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING21(base, XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_HI_MASK, XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING21_ADC_I_Q_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING21_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_HI_SHIFT), XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_HI_SHIFT, XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING21, field ADC_I_Q_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_I_Q_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING21_ADC_I_Q_EN_RX_LO(base) ((XCVR_TSM_TIMING21_REG(base) & XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_LO_MASK) >> XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING21_ADC_I_Q_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING21_REG(base), XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_LO_SHIFT, XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the ADC_I_Q_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING21_ADC_I_Q_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING21(base, XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_LO_MASK, XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING21_ADC_I_Q_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING21_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_LO_SHIFT), XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_LO_SHIFT, XCVR_TSM_TIMING21_ADC_I_Q_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING22 - TSM_TIMING22 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING22 - TSM_TIMING22 (RW) |
| * |
| * Reset value: 0x651AFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the ADC_DAC_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING22 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING22(base) (XCVR_TSM_TIMING22_REG(base)) |
| #define XCVR_WR_TSM_TIMING22(base, value) (XCVR_TSM_TIMING22_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING22(base, mask, value) (XCVR_WR_TSM_TIMING22(base, (XCVR_RD_TSM_TIMING22(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING22(base, value) (BME_OR32(&XCVR_TSM_TIMING22_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING22(base, value) (BME_AND32(&XCVR_TSM_TIMING22_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING22(base, value) (BME_XOR32(&XCVR_TSM_TIMING22_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING22 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING22, field ADC_DAC_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_DAC_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING22_ADC_DAC_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING22_ADC_DAC_EN_RX_HI(base) ((XCVR_TSM_TIMING22_REG(base) & XCVR_TSM_TIMING22_ADC_DAC_EN_RX_HI_MASK) >> XCVR_TSM_TIMING22_ADC_DAC_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING22_ADC_DAC_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING22_REG(base), XCVR_TSM_TIMING22_ADC_DAC_EN_RX_HI_SHIFT, XCVR_TSM_TIMING22_ADC_DAC_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the ADC_DAC_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING22_ADC_DAC_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING22(base, XCVR_TSM_TIMING22_ADC_DAC_EN_RX_HI_MASK, XCVR_TSM_TIMING22_ADC_DAC_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING22_ADC_DAC_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING22_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING22_ADC_DAC_EN_RX_HI_SHIFT), XCVR_TSM_TIMING22_ADC_DAC_EN_RX_HI_SHIFT, XCVR_TSM_TIMING22_ADC_DAC_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING22, field ADC_DAC_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_DAC_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING22_ADC_DAC_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING22_ADC_DAC_EN_RX_LO(base) ((XCVR_TSM_TIMING22_REG(base) & XCVR_TSM_TIMING22_ADC_DAC_EN_RX_LO_MASK) >> XCVR_TSM_TIMING22_ADC_DAC_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING22_ADC_DAC_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING22_REG(base), XCVR_TSM_TIMING22_ADC_DAC_EN_RX_LO_SHIFT, XCVR_TSM_TIMING22_ADC_DAC_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the ADC_DAC_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING22_ADC_DAC_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING22(base, XCVR_TSM_TIMING22_ADC_DAC_EN_RX_LO_MASK, XCVR_TSM_TIMING22_ADC_DAC_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING22_ADC_DAC_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING22_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING22_ADC_DAC_EN_RX_LO_SHIFT), XCVR_TSM_TIMING22_ADC_DAC_EN_RX_LO_SHIFT, XCVR_TSM_TIMING22_ADC_DAC_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING23 - TSM_TIMING23 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING23 - TSM_TIMING23 (RW) |
| * |
| * Reset value: 0x651AFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the ADC_RST_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING23 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING23(base) (XCVR_TSM_TIMING23_REG(base)) |
| #define XCVR_WR_TSM_TIMING23(base, value) (XCVR_TSM_TIMING23_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING23(base, mask, value) (XCVR_WR_TSM_TIMING23(base, (XCVR_RD_TSM_TIMING23(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING23(base, value) (BME_OR32(&XCVR_TSM_TIMING23_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING23(base, value) (BME_AND32(&XCVR_TSM_TIMING23_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING23(base, value) (BME_XOR32(&XCVR_TSM_TIMING23_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING23 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING23, field ADC_RST_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_RST_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING23_ADC_RST_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING23_ADC_RST_EN_RX_HI(base) ((XCVR_TSM_TIMING23_REG(base) & XCVR_TSM_TIMING23_ADC_RST_EN_RX_HI_MASK) >> XCVR_TSM_TIMING23_ADC_RST_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING23_ADC_RST_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING23_REG(base), XCVR_TSM_TIMING23_ADC_RST_EN_RX_HI_SHIFT, XCVR_TSM_TIMING23_ADC_RST_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the ADC_RST_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING23_ADC_RST_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING23(base, XCVR_TSM_TIMING23_ADC_RST_EN_RX_HI_MASK, XCVR_TSM_TIMING23_ADC_RST_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING23_ADC_RST_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING23_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING23_ADC_RST_EN_RX_HI_SHIFT), XCVR_TSM_TIMING23_ADC_RST_EN_RX_HI_SHIFT, XCVR_TSM_TIMING23_ADC_RST_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING23, field ADC_RST_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ADC_RST_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING23_ADC_RST_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING23_ADC_RST_EN_RX_LO(base) ((XCVR_TSM_TIMING23_REG(base) & XCVR_TSM_TIMING23_ADC_RST_EN_RX_LO_MASK) >> XCVR_TSM_TIMING23_ADC_RST_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING23_ADC_RST_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING23_REG(base), XCVR_TSM_TIMING23_ADC_RST_EN_RX_LO_SHIFT, XCVR_TSM_TIMING23_ADC_RST_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the ADC_RST_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING23_ADC_RST_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING23(base, XCVR_TSM_TIMING23_ADC_RST_EN_RX_LO_MASK, XCVR_TSM_TIMING23_ADC_RST_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING23_ADC_RST_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING23_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING23_ADC_RST_EN_RX_LO_SHIFT), XCVR_TSM_TIMING23_ADC_RST_EN_RX_LO_SHIFT, XCVR_TSM_TIMING23_ADC_RST_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING24 - TSM_TIMING24 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING24 - TSM_TIMING24 (RW) |
| * |
| * Reset value: 0x6518FFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the BBF_EN TSM signal or signal |
| * group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING24 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING24(base) (XCVR_TSM_TIMING24_REG(base)) |
| #define XCVR_WR_TSM_TIMING24(base, value) (XCVR_TSM_TIMING24_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING24(base, mask, value) (XCVR_WR_TSM_TIMING24(base, (XCVR_RD_TSM_TIMING24(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING24(base, value) (BME_OR32(&XCVR_TSM_TIMING24_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING24(base, value) (BME_AND32(&XCVR_TSM_TIMING24_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING24(base, value) (BME_XOR32(&XCVR_TSM_TIMING24_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING24 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING24, field BBF_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the BBF_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING24_BBF_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING24_BBF_EN_RX_HI(base) ((XCVR_TSM_TIMING24_REG(base) & XCVR_TSM_TIMING24_BBF_EN_RX_HI_MASK) >> XCVR_TSM_TIMING24_BBF_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING24_BBF_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING24_REG(base), XCVR_TSM_TIMING24_BBF_EN_RX_HI_SHIFT, XCVR_TSM_TIMING24_BBF_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the BBF_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING24_BBF_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING24(base, XCVR_TSM_TIMING24_BBF_EN_RX_HI_MASK, XCVR_TSM_TIMING24_BBF_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING24_BBF_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING24_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING24_BBF_EN_RX_HI_SHIFT), XCVR_TSM_TIMING24_BBF_EN_RX_HI_SHIFT, XCVR_TSM_TIMING24_BBF_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING24, field BBF_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the BBF_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING24_BBF_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING24_BBF_EN_RX_LO(base) ((XCVR_TSM_TIMING24_REG(base) & XCVR_TSM_TIMING24_BBF_EN_RX_LO_MASK) >> XCVR_TSM_TIMING24_BBF_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING24_BBF_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING24_REG(base), XCVR_TSM_TIMING24_BBF_EN_RX_LO_SHIFT, XCVR_TSM_TIMING24_BBF_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the BBF_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING24_BBF_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING24(base, XCVR_TSM_TIMING24_BBF_EN_RX_LO_MASK, XCVR_TSM_TIMING24_BBF_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING24_BBF_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING24_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING24_BBF_EN_RX_LO_SHIFT), XCVR_TSM_TIMING24_BBF_EN_RX_LO_SHIFT, XCVR_TSM_TIMING24_BBF_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING25 - TSM_TIMING25 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING25 - TSM_TIMING25 (RW) |
| * |
| * Reset value: 0x6518FFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the TCA_EN TSM signal or signal |
| * group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING25 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING25(base) (XCVR_TSM_TIMING25_REG(base)) |
| #define XCVR_WR_TSM_TIMING25(base, value) (XCVR_TSM_TIMING25_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING25(base, mask, value) (XCVR_WR_TSM_TIMING25(base, (XCVR_RD_TSM_TIMING25(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING25(base, value) (BME_OR32(&XCVR_TSM_TIMING25_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING25(base, value) (BME_AND32(&XCVR_TSM_TIMING25_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING25(base, value) (BME_XOR32(&XCVR_TSM_TIMING25_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING25 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING25, field TCA_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TCA_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING25_TCA_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING25_TCA_EN_RX_HI(base) ((XCVR_TSM_TIMING25_REG(base) & XCVR_TSM_TIMING25_TCA_EN_RX_HI_MASK) >> XCVR_TSM_TIMING25_TCA_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING25_TCA_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING25_REG(base), XCVR_TSM_TIMING25_TCA_EN_RX_HI_SHIFT, XCVR_TSM_TIMING25_TCA_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the TCA_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING25_TCA_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING25(base, XCVR_TSM_TIMING25_TCA_EN_RX_HI_MASK, XCVR_TSM_TIMING25_TCA_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING25_TCA_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING25_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING25_TCA_EN_RX_HI_SHIFT), XCVR_TSM_TIMING25_TCA_EN_RX_HI_SHIFT, XCVR_TSM_TIMING25_TCA_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING25, field TCA_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TCA_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING25_TCA_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING25_TCA_EN_RX_LO(base) ((XCVR_TSM_TIMING25_REG(base) & XCVR_TSM_TIMING25_TCA_EN_RX_LO_MASK) >> XCVR_TSM_TIMING25_TCA_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING25_TCA_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING25_REG(base), XCVR_TSM_TIMING25_TCA_EN_RX_LO_SHIFT, XCVR_TSM_TIMING25_TCA_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the TCA_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING25_TCA_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING25(base, XCVR_TSM_TIMING25_TCA_EN_RX_LO_MASK, XCVR_TSM_TIMING25_TCA_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING25_TCA_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING25_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING25_TCA_EN_RX_LO_SHIFT), XCVR_TSM_TIMING25_TCA_EN_RX_LO_SHIFT, XCVR_TSM_TIMING25_TCA_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING26 - TSM_TIMING26 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING26 - TSM_TIMING26 (RW) |
| * |
| * Reset value: 0x65096A09U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the PLL_DIG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING26 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING26(base) (XCVR_TSM_TIMING26_REG(base)) |
| #define XCVR_WR_TSM_TIMING26(base, value) (XCVR_TSM_TIMING26_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING26(base, mask, value) (XCVR_WR_TSM_TIMING26(base, (XCVR_RD_TSM_TIMING26(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING26(base, value) (BME_OR32(&XCVR_TSM_TIMING26_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING26(base, value) (BME_AND32(&XCVR_TSM_TIMING26_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING26(base, value) (BME_XOR32(&XCVR_TSM_TIMING26_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING26 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING26, field PLL_DIG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_DIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING26_PLL_DIG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING26_PLL_DIG_EN_TX_HI(base) ((XCVR_TSM_TIMING26_REG(base) & XCVR_TSM_TIMING26_PLL_DIG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING26_PLL_DIG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING26_PLL_DIG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING26_REG(base), XCVR_TSM_TIMING26_PLL_DIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING26_PLL_DIG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_DIG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING26_PLL_DIG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING26(base, XCVR_TSM_TIMING26_PLL_DIG_EN_TX_HI_MASK, XCVR_TSM_TIMING26_PLL_DIG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING26_PLL_DIG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING26_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING26_PLL_DIG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING26_PLL_DIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING26_PLL_DIG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING26, field PLL_DIG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the PLL_DIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING26_PLL_DIG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING26_PLL_DIG_EN_TX_LO(base) ((XCVR_TSM_TIMING26_REG(base) & XCVR_TSM_TIMING26_PLL_DIG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING26_PLL_DIG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING26_PLL_DIG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING26_REG(base), XCVR_TSM_TIMING26_PLL_DIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING26_PLL_DIG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_DIG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING26_PLL_DIG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING26(base, XCVR_TSM_TIMING26_PLL_DIG_EN_TX_LO_MASK, XCVR_TSM_TIMING26_PLL_DIG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING26_PLL_DIG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING26_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING26_PLL_DIG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING26_PLL_DIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING26_PLL_DIG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING26, field PLL_DIG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_DIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING26_PLL_DIG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING26_PLL_DIG_EN_RX_HI(base) ((XCVR_TSM_TIMING26_REG(base) & XCVR_TSM_TIMING26_PLL_DIG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING26_PLL_DIG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING26_PLL_DIG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING26_REG(base), XCVR_TSM_TIMING26_PLL_DIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING26_PLL_DIG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the PLL_DIG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING26_PLL_DIG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING26(base, XCVR_TSM_TIMING26_PLL_DIG_EN_RX_HI_MASK, XCVR_TSM_TIMING26_PLL_DIG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING26_PLL_DIG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING26_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING26_PLL_DIG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING26_PLL_DIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING26_PLL_DIG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING26, field PLL_DIG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the PLL_DIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING26_PLL_DIG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING26_PLL_DIG_EN_RX_LO(base) ((XCVR_TSM_TIMING26_REG(base) & XCVR_TSM_TIMING26_PLL_DIG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING26_PLL_DIG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING26_PLL_DIG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING26_REG(base), XCVR_TSM_TIMING26_PLL_DIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING26_PLL_DIG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the PLL_DIG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING26_PLL_DIG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING26(base, XCVR_TSM_TIMING26_PLL_DIG_EN_RX_LO_MASK, XCVR_TSM_TIMING26_PLL_DIG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING26_PLL_DIG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING26_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING26_PLL_DIG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING26_PLL_DIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING26_PLL_DIG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING27 - TSM_TIMING27 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING27 - TSM_TIMING27 (RW) |
| * |
| * Reset value: 0xFFFF6A67U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the TX_DIG_EN TSM signal or signal |
| * group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING27 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING27(base) (XCVR_TSM_TIMING27_REG(base)) |
| #define XCVR_WR_TSM_TIMING27(base, value) (XCVR_TSM_TIMING27_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING27(base, mask, value) (XCVR_WR_TSM_TIMING27(base, (XCVR_RD_TSM_TIMING27(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING27(base, value) (BME_OR32(&XCVR_TSM_TIMING27_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING27(base, value) (BME_AND32(&XCVR_TSM_TIMING27_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING27(base, value) (BME_XOR32(&XCVR_TSM_TIMING27_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING27 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING27, field TX_DIG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TX_DIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING27_TX_DIG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING27_TX_DIG_EN_TX_HI(base) ((XCVR_TSM_TIMING27_REG(base) & XCVR_TSM_TIMING27_TX_DIG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING27_TX_DIG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING27_TX_DIG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING27_REG(base), XCVR_TSM_TIMING27_TX_DIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING27_TX_DIG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the TX_DIG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING27_TX_DIG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING27(base, XCVR_TSM_TIMING27_TX_DIG_EN_TX_HI_MASK, XCVR_TSM_TIMING27_TX_DIG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING27_TX_DIG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING27_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING27_TX_DIG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING27_TX_DIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING27_TX_DIG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING27, field TX_DIG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TX_DIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING27_TX_DIG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING27_TX_DIG_EN_TX_LO(base) ((XCVR_TSM_TIMING27_REG(base) & XCVR_TSM_TIMING27_TX_DIG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING27_TX_DIG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING27_TX_DIG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING27_REG(base), XCVR_TSM_TIMING27_TX_DIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING27_TX_DIG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the TX_DIG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING27_TX_DIG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING27(base, XCVR_TSM_TIMING27_TX_DIG_EN_TX_LO_MASK, XCVR_TSM_TIMING27_TX_DIG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING27_TX_DIG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING27_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING27_TX_DIG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING27_TX_DIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING27_TX_DIG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING28 - TSM_TIMING28 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING28 - TSM_TIMING28 (RW) |
| * |
| * Reset value: 0x6562FFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the RX_DIG_EN TSM signal or signal |
| * group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING28 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING28(base) (XCVR_TSM_TIMING28_REG(base)) |
| #define XCVR_WR_TSM_TIMING28(base, value) (XCVR_TSM_TIMING28_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING28(base, mask, value) (XCVR_WR_TSM_TIMING28(base, (XCVR_RD_TSM_TIMING28(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING28(base, value) (BME_OR32(&XCVR_TSM_TIMING28_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING28(base, value) (BME_AND32(&XCVR_TSM_TIMING28_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING28(base, value) (BME_XOR32(&XCVR_TSM_TIMING28_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING28 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING28, field RX_DIG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the RX_DIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING28_RX_DIG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING28_RX_DIG_EN_RX_HI(base) ((XCVR_TSM_TIMING28_REG(base) & XCVR_TSM_TIMING28_RX_DIG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING28_RX_DIG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING28_RX_DIG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING28_REG(base), XCVR_TSM_TIMING28_RX_DIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING28_RX_DIG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the RX_DIG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING28_RX_DIG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING28(base, XCVR_TSM_TIMING28_RX_DIG_EN_RX_HI_MASK, XCVR_TSM_TIMING28_RX_DIG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING28_RX_DIG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING28_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING28_RX_DIG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING28_RX_DIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING28_RX_DIG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING28, field RX_DIG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the RX_DIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING28_RX_DIG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING28_RX_DIG_EN_RX_LO(base) ((XCVR_TSM_TIMING28_REG(base) & XCVR_TSM_TIMING28_RX_DIG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING28_RX_DIG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING28_RX_DIG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING28_REG(base), XCVR_TSM_TIMING28_RX_DIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING28_RX_DIG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the RX_DIG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING28_RX_DIG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING28(base, XCVR_TSM_TIMING28_RX_DIG_EN_RX_LO_MASK, XCVR_TSM_TIMING28_RX_DIG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING28_RX_DIG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING28_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING28_RX_DIG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING28_RX_DIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING28_RX_DIG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING29 - TSM_TIMING29 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING29 - TSM_TIMING29 (RW) |
| * |
| * Reset value: 0x6362FFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the RX_INIT TSM signal or signal |
| * group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING29 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING29(base) (XCVR_TSM_TIMING29_REG(base)) |
| #define XCVR_WR_TSM_TIMING29(base, value) (XCVR_TSM_TIMING29_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING29(base, mask, value) (XCVR_WR_TSM_TIMING29(base, (XCVR_RD_TSM_TIMING29(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING29(base, value) (BME_OR32(&XCVR_TSM_TIMING29_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING29(base, value) (BME_AND32(&XCVR_TSM_TIMING29_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING29(base, value) (BME_XOR32(&XCVR_TSM_TIMING29_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING29 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING29, field RX_INIT_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the RX_INIT signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING29_RX_INIT_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING29_RX_INIT_RX_HI(base) ((XCVR_TSM_TIMING29_REG(base) & XCVR_TSM_TIMING29_RX_INIT_RX_HI_MASK) >> XCVR_TSM_TIMING29_RX_INIT_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING29_RX_INIT_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING29_REG(base), XCVR_TSM_TIMING29_RX_INIT_RX_HI_SHIFT, XCVR_TSM_TIMING29_RX_INIT_RX_HI_WIDTH)) |
| |
| /*! @brief Set the RX_INIT_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING29_RX_INIT_RX_HI(base, value) (XCVR_RMW_TSM_TIMING29(base, XCVR_TSM_TIMING29_RX_INIT_RX_HI_MASK, XCVR_TSM_TIMING29_RX_INIT_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING29_RX_INIT_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING29_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING29_RX_INIT_RX_HI_SHIFT), XCVR_TSM_TIMING29_RX_INIT_RX_HI_SHIFT, XCVR_TSM_TIMING29_RX_INIT_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING29, field RX_INIT_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the RX_INIT signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING29_RX_INIT_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING29_RX_INIT_RX_LO(base) ((XCVR_TSM_TIMING29_REG(base) & XCVR_TSM_TIMING29_RX_INIT_RX_LO_MASK) >> XCVR_TSM_TIMING29_RX_INIT_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING29_RX_INIT_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING29_REG(base), XCVR_TSM_TIMING29_RX_INIT_RX_LO_SHIFT, XCVR_TSM_TIMING29_RX_INIT_RX_LO_WIDTH)) |
| |
| /*! @brief Set the RX_INIT_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING29_RX_INIT_RX_LO(base, value) (XCVR_RMW_TSM_TIMING29(base, XCVR_TSM_TIMING29_RX_INIT_RX_LO_MASK, XCVR_TSM_TIMING29_RX_INIT_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING29_RX_INIT_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING29_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING29_RX_INIT_RX_LO_SHIFT), XCVR_TSM_TIMING29_RX_INIT_RX_LO_SHIFT, XCVR_TSM_TIMING29_RX_INIT_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING30 - TSM_TIMING30 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING30 - TSM_TIMING30 (RW) |
| * |
| * Reset value: 0x65106A44U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the SIGMA_DELTA_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING30 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING30(base) (XCVR_TSM_TIMING30_REG(base)) |
| #define XCVR_WR_TSM_TIMING30(base, value) (XCVR_TSM_TIMING30_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING30(base, mask, value) (XCVR_WR_TSM_TIMING30(base, (XCVR_RD_TSM_TIMING30(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING30(base, value) (BME_OR32(&XCVR_TSM_TIMING30_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING30(base, value) (BME_AND32(&XCVR_TSM_TIMING30_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING30(base, value) (BME_XOR32(&XCVR_TSM_TIMING30_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING30 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING30, field SIGMA_DELTA_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the SIGMA_DELTA_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI(base) ((XCVR_TSM_TIMING30_REG(base) & XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI_MASK) >> XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING30_REG(base), XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI_SHIFT, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the SIGMA_DELTA_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING30(base, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI_MASK, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING30_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI_SHIFT), XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI_SHIFT, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING30, field SIGMA_DELTA_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the SIGMA_DELTA_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO(base) ((XCVR_TSM_TIMING30_REG(base) & XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO_MASK) >> XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING30_REG(base), XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO_SHIFT, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the SIGMA_DELTA_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING30(base, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO_MASK, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING30_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO_SHIFT), XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO_SHIFT, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING30, field SIGMA_DELTA_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the SIGMA_DELTA_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI(base) ((XCVR_TSM_TIMING30_REG(base) & XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI_MASK) >> XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING30_REG(base), XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI_SHIFT, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the SIGMA_DELTA_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING30(base, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI_MASK, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING30_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI_SHIFT), XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI_SHIFT, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING30, field SIGMA_DELTA_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the SIGMA_DELTA_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO(base) ((XCVR_TSM_TIMING30_REG(base) & XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO_MASK) >> XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING30_REG(base), XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO_SHIFT, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the SIGMA_DELTA_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING30(base, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO_MASK, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING30_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO_SHIFT), XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO_SHIFT, XCVR_TSM_TIMING30_SIGMA_DELTA_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING31 - TSM_TIMING31 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING31 - TSM_TIMING31 (RW) |
| * |
| * Reset value: 0x6562FFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the ZBDEM_RX_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING31 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING31(base) (XCVR_TSM_TIMING31_REG(base)) |
| #define XCVR_WR_TSM_TIMING31(base, value) (XCVR_TSM_TIMING31_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING31(base, mask, value) (XCVR_WR_TSM_TIMING31(base, (XCVR_RD_TSM_TIMING31(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING31(base, value) (BME_OR32(&XCVR_TSM_TIMING31_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING31(base, value) (BME_AND32(&XCVR_TSM_TIMING31_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING31(base, value) (BME_XOR32(&XCVR_TSM_TIMING31_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING31 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING31, field ZBDEM_RX_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ZBDEM_RX_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING31_ZBDEM_RX_EN_RX_HI(base) ((XCVR_TSM_TIMING31_REG(base) & XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI_MASK) >> XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING31_ZBDEM_RX_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING31_REG(base), XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI_SHIFT, XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the ZBDEM_RX_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING31(base, XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI_MASK, XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING31_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI_SHIFT), XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI_SHIFT, XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING31, field ZBDEM_RX_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the ZBDEM_RX_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING31_ZBDEM_RX_EN_RX_LO(base) ((XCVR_TSM_TIMING31_REG(base) & XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO_MASK) >> XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING31_ZBDEM_RX_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING31_REG(base), XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO_SHIFT, XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the ZBDEM_RX_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING31(base, XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO_MASK, XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING31_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO_SHIFT), XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO_SHIFT, XCVR_TSM_TIMING31_ZBDEM_RX_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING32 - TSM_TIMING32 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING32 - TSM_TIMING32 (RW) |
| * |
| * Reset value: 0x6526FFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the DCOC_EN TSM signal or signal |
| * group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING32 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING32(base) (XCVR_TSM_TIMING32_REG(base)) |
| #define XCVR_WR_TSM_TIMING32(base, value) (XCVR_TSM_TIMING32_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING32(base, mask, value) (XCVR_WR_TSM_TIMING32(base, (XCVR_RD_TSM_TIMING32(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING32(base, value) (BME_OR32(&XCVR_TSM_TIMING32_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING32(base, value) (BME_AND32(&XCVR_TSM_TIMING32_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING32(base, value) (BME_XOR32(&XCVR_TSM_TIMING32_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING32 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING32, field DCOC_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the DCOC_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING32_DCOC_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING32_DCOC_EN_RX_HI(base) ((XCVR_TSM_TIMING32_REG(base) & XCVR_TSM_TIMING32_DCOC_EN_RX_HI_MASK) >> XCVR_TSM_TIMING32_DCOC_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING32_DCOC_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING32_REG(base), XCVR_TSM_TIMING32_DCOC_EN_RX_HI_SHIFT, XCVR_TSM_TIMING32_DCOC_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the DCOC_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING32_DCOC_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING32(base, XCVR_TSM_TIMING32_DCOC_EN_RX_HI_MASK, XCVR_TSM_TIMING32_DCOC_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING32_DCOC_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING32_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING32_DCOC_EN_RX_HI_SHIFT), XCVR_TSM_TIMING32_DCOC_EN_RX_HI_SHIFT, XCVR_TSM_TIMING32_DCOC_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING32, field DCOC_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the DCOC_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING32_DCOC_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING32_DCOC_EN_RX_LO(base) ((XCVR_TSM_TIMING32_REG(base) & XCVR_TSM_TIMING32_DCOC_EN_RX_LO_MASK) >> XCVR_TSM_TIMING32_DCOC_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING32_DCOC_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING32_REG(base), XCVR_TSM_TIMING32_DCOC_EN_RX_LO_SHIFT, XCVR_TSM_TIMING32_DCOC_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the DCOC_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING32_DCOC_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING32(base, XCVR_TSM_TIMING32_DCOC_EN_RX_LO_MASK, XCVR_TSM_TIMING32_DCOC_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING32_DCOC_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING32_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING32_DCOC_EN_RX_LO_SHIFT), XCVR_TSM_TIMING32_DCOC_EN_RX_LO_SHIFT, XCVR_TSM_TIMING32_DCOC_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING33 - TSM_TIMING33 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING33 - TSM_TIMING33 (RW) |
| * |
| * Reset value: 0x2726FFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the DCOC_INIT TSM signal or signal |
| * group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING33 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING33(base) (XCVR_TSM_TIMING33_REG(base)) |
| #define XCVR_WR_TSM_TIMING33(base, value) (XCVR_TSM_TIMING33_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING33(base, mask, value) (XCVR_WR_TSM_TIMING33(base, (XCVR_RD_TSM_TIMING33(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING33(base, value) (BME_OR32(&XCVR_TSM_TIMING33_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING33(base, value) (BME_AND32(&XCVR_TSM_TIMING33_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING33(base, value) (BME_XOR32(&XCVR_TSM_TIMING33_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING33 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING33, field DCOC_INIT_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the DCOC_INIT signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING33_DCOC_INIT_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING33_DCOC_INIT_RX_HI(base) ((XCVR_TSM_TIMING33_REG(base) & XCVR_TSM_TIMING33_DCOC_INIT_RX_HI_MASK) >> XCVR_TSM_TIMING33_DCOC_INIT_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING33_DCOC_INIT_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING33_REG(base), XCVR_TSM_TIMING33_DCOC_INIT_RX_HI_SHIFT, XCVR_TSM_TIMING33_DCOC_INIT_RX_HI_WIDTH)) |
| |
| /*! @brief Set the DCOC_INIT_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING33_DCOC_INIT_RX_HI(base, value) (XCVR_RMW_TSM_TIMING33(base, XCVR_TSM_TIMING33_DCOC_INIT_RX_HI_MASK, XCVR_TSM_TIMING33_DCOC_INIT_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING33_DCOC_INIT_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING33_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING33_DCOC_INIT_RX_HI_SHIFT), XCVR_TSM_TIMING33_DCOC_INIT_RX_HI_SHIFT, XCVR_TSM_TIMING33_DCOC_INIT_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING33, field DCOC_INIT_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the DCOC_INIT signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING33_DCOC_INIT_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING33_DCOC_INIT_RX_LO(base) ((XCVR_TSM_TIMING33_REG(base) & XCVR_TSM_TIMING33_DCOC_INIT_RX_LO_MASK) >> XCVR_TSM_TIMING33_DCOC_INIT_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING33_DCOC_INIT_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING33_REG(base), XCVR_TSM_TIMING33_DCOC_INIT_RX_LO_SHIFT, XCVR_TSM_TIMING33_DCOC_INIT_RX_LO_WIDTH)) |
| |
| /*! @brief Set the DCOC_INIT_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING33_DCOC_INIT_RX_LO(base, value) (XCVR_RMW_TSM_TIMING33(base, XCVR_TSM_TIMING33_DCOC_INIT_RX_LO_MASK, XCVR_TSM_TIMING33_DCOC_INIT_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING33_DCOC_INIT_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING33_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING33_DCOC_INIT_RX_LO_SHIFT), XCVR_TSM_TIMING33_DCOC_INIT_RX_LO_SHIFT, XCVR_TSM_TIMING33_DCOC_INIT_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING34 - TSM_TIMING34 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING34 - TSM_TIMING34 (RW) |
| * |
| * Reset value: 0x65336865U |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the FREQ_TARG_LD_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING34 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING34(base) (XCVR_TSM_TIMING34_REG(base)) |
| #define XCVR_WR_TSM_TIMING34(base, value) (XCVR_TSM_TIMING34_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING34(base, mask, value) (XCVR_WR_TSM_TIMING34(base, (XCVR_RD_TSM_TIMING34(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING34(base, value) (BME_OR32(&XCVR_TSM_TIMING34_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING34(base, value) (BME_AND32(&XCVR_TSM_TIMING34_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING34(base, value) (BME_XOR32(&XCVR_TSM_TIMING34_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING34 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING34, field FREQ_TARG_LD_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the FREQ_TARG_LD_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI(base) ((XCVR_TSM_TIMING34_REG(base) & XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI_MASK) >> XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING34_REG(base), XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI_SHIFT, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the FREQ_TARG_LD_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING34(base, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI_MASK, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING34_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI_SHIFT), XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI_SHIFT, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING34, field FREQ_TARG_LD_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the FREQ_TARG_LD_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO(base) ((XCVR_TSM_TIMING34_REG(base) & XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO_MASK) >> XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING34_REG(base), XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO_SHIFT, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the FREQ_TARG_LD_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING34(base, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO_MASK, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING34_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO_SHIFT), XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO_SHIFT, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING34, field FREQ_TARG_LD_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the FREQ_TARG_LD_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI(base) ((XCVR_TSM_TIMING34_REG(base) & XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI_MASK) >> XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING34_REG(base), XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI_SHIFT, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the FREQ_TARG_LD_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING34(base, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI_MASK, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING34_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI_SHIFT), XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI_SHIFT, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING34, field FREQ_TARG_LD_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the FREQ_TARG_LD_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO(base) ((XCVR_TSM_TIMING34_REG(base) & XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO_MASK) >> XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING34_REG(base), XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO_SHIFT, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the FREQ_TARG_LD_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING34(base, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO_MASK, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING34_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO_SHIFT), XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO_SHIFT, XCVR_TSM_TIMING34_FREQ_TARG_LD_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING35 - TSM_TIMING35 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING35 - TSM_TIMING35 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the SAR_ADC_TRIG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING35 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING35(base) (XCVR_TSM_TIMING35_REG(base)) |
| #define XCVR_WR_TSM_TIMING35(base, value) (XCVR_TSM_TIMING35_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING35(base, mask, value) (XCVR_WR_TSM_TIMING35(base, (XCVR_RD_TSM_TIMING35(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING35(base, value) (BME_OR32(&XCVR_TSM_TIMING35_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING35(base, value) (BME_AND32(&XCVR_TSM_TIMING35_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING35(base, value) (BME_XOR32(&XCVR_TSM_TIMING35_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING35 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING35, field SAR_ADC_TRIG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the SAR_ADC_TRIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI(base) ((XCVR_TSM_TIMING35_REG(base) & XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING35_REG(base), XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the SAR_ADC_TRIG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING35(base, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI_MASK, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING35_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING35, field SAR_ADC_TRIG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the SAR_ADC_TRIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO(base) ((XCVR_TSM_TIMING35_REG(base) & XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING35_REG(base), XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the SAR_ADC_TRIG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING35(base, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO_MASK, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING35_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING35, field SAR_ADC_TRIG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the SAR_ADC_TRIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI(base) ((XCVR_TSM_TIMING35_REG(base) & XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING35_REG(base), XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the SAR_ADC_TRIG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING35(base, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI_MASK, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING35_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING35, field SAR_ADC_TRIG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the SAR_ADC_TRIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO(base) ((XCVR_TSM_TIMING35_REG(base) & XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING35_REG(base), XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the SAR_ADC_TRIG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING35(base, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO_MASK, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING35_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING35_SAR_ADC_TRIG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING36 - TSM_TIMING36 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING36 - TSM_TIMING36 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the TSM_SPARE0_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING36 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING36(base) (XCVR_TSM_TIMING36_REG(base)) |
| #define XCVR_WR_TSM_TIMING36(base, value) (XCVR_TSM_TIMING36_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING36(base, mask, value) (XCVR_WR_TSM_TIMING36(base, (XCVR_RD_TSM_TIMING36(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING36(base, value) (BME_OR32(&XCVR_TSM_TIMING36_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING36(base, value) (BME_AND32(&XCVR_TSM_TIMING36_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING36(base, value) (BME_XOR32(&XCVR_TSM_TIMING36_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING36 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING36, field TSM_SPARE0_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE0_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING36_TSM_SPARE0_EN_TX_HI(base) ((XCVR_TSM_TIMING36_REG(base) & XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI_MASK) >> XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING36_TSM_SPARE0_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING36_REG(base), XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI_SHIFT, XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE0_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING36(base, XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI_MASK, XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING36_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI_SHIFT), XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI_SHIFT, XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING36, field TSM_SPARE0_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE0_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING36_TSM_SPARE0_EN_TX_LO(base) ((XCVR_TSM_TIMING36_REG(base) & XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO_MASK) >> XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING36_TSM_SPARE0_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING36_REG(base), XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO_SHIFT, XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE0_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING36(base, XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO_MASK, XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING36_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO_SHIFT), XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO_SHIFT, XCVR_TSM_TIMING36_TSM_SPARE0_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING36, field TSM_SPARE0_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE0_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING36_TSM_SPARE0_EN_RX_HI(base) ((XCVR_TSM_TIMING36_REG(base) & XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI_MASK) >> XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING36_TSM_SPARE0_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING36_REG(base), XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI_SHIFT, XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE0_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING36(base, XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI_MASK, XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING36_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI_SHIFT), XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI_SHIFT, XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING36, field TSM_SPARE0_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE0_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING36_TSM_SPARE0_EN_RX_LO(base) ((XCVR_TSM_TIMING36_REG(base) & XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO_MASK) >> XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING36_TSM_SPARE0_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING36_REG(base), XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO_SHIFT, XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE0_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING36(base, XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO_MASK, XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING36_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO_SHIFT), XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO_SHIFT, XCVR_TSM_TIMING36_TSM_SPARE0_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING37 - TSM_TIMING37 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING37 - TSM_TIMING37 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the TSM_SPARE1_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING37 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING37(base) (XCVR_TSM_TIMING37_REG(base)) |
| #define XCVR_WR_TSM_TIMING37(base, value) (XCVR_TSM_TIMING37_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING37(base, mask, value) (XCVR_WR_TSM_TIMING37(base, (XCVR_RD_TSM_TIMING37(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING37(base, value) (BME_OR32(&XCVR_TSM_TIMING37_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING37(base, value) (BME_AND32(&XCVR_TSM_TIMING37_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING37(base, value) (BME_XOR32(&XCVR_TSM_TIMING37_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING37 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING37, field TSM_SPARE1_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE1_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING37_TSM_SPARE1_EN_TX_HI(base) ((XCVR_TSM_TIMING37_REG(base) & XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI_MASK) >> XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING37_TSM_SPARE1_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING37_REG(base), XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI_SHIFT, XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE1_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING37(base, XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI_MASK, XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING37_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI_SHIFT), XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI_SHIFT, XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING37, field TSM_SPARE1_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE1_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING37_TSM_SPARE1_EN_TX_LO(base) ((XCVR_TSM_TIMING37_REG(base) & XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO_MASK) >> XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING37_TSM_SPARE1_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING37_REG(base), XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO_SHIFT, XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE1_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING37(base, XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO_MASK, XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING37_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO_SHIFT), XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO_SHIFT, XCVR_TSM_TIMING37_TSM_SPARE1_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING37, field TSM_SPARE1_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE1_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING37_TSM_SPARE1_EN_RX_HI(base) ((XCVR_TSM_TIMING37_REG(base) & XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI_MASK) >> XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING37_TSM_SPARE1_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING37_REG(base), XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI_SHIFT, XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE1_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING37(base, XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI_MASK, XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING37_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI_SHIFT), XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI_SHIFT, XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING37, field TSM_SPARE1_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE1_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING37_TSM_SPARE1_EN_RX_LO(base) ((XCVR_TSM_TIMING37_REG(base) & XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO_MASK) >> XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING37_TSM_SPARE1_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING37_REG(base), XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO_SHIFT, XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE1_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING37(base, XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO_MASK, XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING37_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO_SHIFT), XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO_SHIFT, XCVR_TSM_TIMING37_TSM_SPARE1_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING38 - TSM_TIMING38 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING38 - TSM_TIMING38 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the TSM_SPARE2_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING38 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING38(base) (XCVR_TSM_TIMING38_REG(base)) |
| #define XCVR_WR_TSM_TIMING38(base, value) (XCVR_TSM_TIMING38_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING38(base, mask, value) (XCVR_WR_TSM_TIMING38(base, (XCVR_RD_TSM_TIMING38(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING38(base, value) (BME_OR32(&XCVR_TSM_TIMING38_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING38(base, value) (BME_AND32(&XCVR_TSM_TIMING38_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING38(base, value) (BME_XOR32(&XCVR_TSM_TIMING38_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING38 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING38, field TSM_SPARE2_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE2_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING38_TSM_SPARE2_EN_TX_HI(base) ((XCVR_TSM_TIMING38_REG(base) & XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI_MASK) >> XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING38_TSM_SPARE2_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING38_REG(base), XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI_SHIFT, XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE2_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING38(base, XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI_MASK, XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING38_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI_SHIFT), XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI_SHIFT, XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING38, field TSM_SPARE2_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE2_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING38_TSM_SPARE2_EN_TX_LO(base) ((XCVR_TSM_TIMING38_REG(base) & XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO_MASK) >> XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING38_TSM_SPARE2_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING38_REG(base), XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO_SHIFT, XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE2_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING38(base, XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO_MASK, XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING38_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO_SHIFT), XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO_SHIFT, XCVR_TSM_TIMING38_TSM_SPARE2_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING38, field TSM_SPARE2_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE2_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING38_TSM_SPARE2_EN_RX_HI(base) ((XCVR_TSM_TIMING38_REG(base) & XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI_MASK) >> XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING38_TSM_SPARE2_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING38_REG(base), XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI_SHIFT, XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE2_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING38(base, XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI_MASK, XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING38_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI_SHIFT), XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI_SHIFT, XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING38, field TSM_SPARE2_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE2_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING38_TSM_SPARE2_EN_RX_LO(base) ((XCVR_TSM_TIMING38_REG(base) & XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO_MASK) >> XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING38_TSM_SPARE2_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING38_REG(base), XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO_SHIFT, XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE2_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING38(base, XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO_MASK, XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING38_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO_SHIFT), XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO_SHIFT, XCVR_TSM_TIMING38_TSM_SPARE2_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING39 - TSM_TIMING39 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING39 - TSM_TIMING39 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the TSM_SPARE3_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING39 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING39(base) (XCVR_TSM_TIMING39_REG(base)) |
| #define XCVR_WR_TSM_TIMING39(base, value) (XCVR_TSM_TIMING39_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING39(base, mask, value) (XCVR_WR_TSM_TIMING39(base, (XCVR_RD_TSM_TIMING39(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING39(base, value) (BME_OR32(&XCVR_TSM_TIMING39_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING39(base, value) (BME_AND32(&XCVR_TSM_TIMING39_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING39(base, value) (BME_XOR32(&XCVR_TSM_TIMING39_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING39 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING39, field TSM_SPARE3_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE3_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING39_TSM_SPARE3_EN_TX_HI(base) ((XCVR_TSM_TIMING39_REG(base) & XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI_MASK) >> XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING39_TSM_SPARE3_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING39_REG(base), XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI_SHIFT, XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE3_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING39(base, XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI_MASK, XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING39_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI_SHIFT), XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI_SHIFT, XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING39, field TSM_SPARE3_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE3_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING39_TSM_SPARE3_EN_TX_LO(base) ((XCVR_TSM_TIMING39_REG(base) & XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO_MASK) >> XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING39_TSM_SPARE3_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING39_REG(base), XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO_SHIFT, XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE3_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING39(base, XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO_MASK, XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING39_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO_SHIFT), XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO_SHIFT, XCVR_TSM_TIMING39_TSM_SPARE3_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING39, field TSM_SPARE3_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE3_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING39_TSM_SPARE3_EN_RX_HI(base) ((XCVR_TSM_TIMING39_REG(base) & XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI_MASK) >> XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING39_TSM_SPARE3_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING39_REG(base), XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI_SHIFT, XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE3_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING39(base, XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI_MASK, XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING39_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI_SHIFT), XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI_SHIFT, XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING39, field TSM_SPARE3_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the TSM_SPARE3_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING39_TSM_SPARE3_EN_RX_LO(base) ((XCVR_TSM_TIMING39_REG(base) & XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO_MASK) >> XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING39_TSM_SPARE3_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING39_REG(base), XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO_SHIFT, XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the TSM_SPARE3_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING39(base, XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO_MASK, XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING39_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO_SHIFT), XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO_SHIFT, XCVR_TSM_TIMING39_TSM_SPARE3_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING40 - TSM_TIMING40 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING40 - TSM_TIMING40 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the GPIO0_TRIG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING40 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING40(base) (XCVR_TSM_TIMING40_REG(base)) |
| #define XCVR_WR_TSM_TIMING40(base, value) (XCVR_TSM_TIMING40_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING40(base, mask, value) (XCVR_WR_TSM_TIMING40(base, (XCVR_RD_TSM_TIMING40(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING40(base, value) (BME_OR32(&XCVR_TSM_TIMING40_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING40(base, value) (BME_AND32(&XCVR_TSM_TIMING40_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING40(base, value) (BME_XOR32(&XCVR_TSM_TIMING40_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING40 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING40, field GPIO0_TRIG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the GPIO0_TRIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI(base) ((XCVR_TSM_TIMING40_REG(base) & XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING40_REG(base), XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the GPIO0_TRIG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING40(base, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI_MASK, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING40_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING40, field GPIO0_TRIG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the GPIO0_TRIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO(base) ((XCVR_TSM_TIMING40_REG(base) & XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING40_REG(base), XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the GPIO0_TRIG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING40(base, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO_MASK, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING40_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING40, field GPIO0_TRIG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the GPIO0_TRIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI(base) ((XCVR_TSM_TIMING40_REG(base) & XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING40_REG(base), XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the GPIO0_TRIG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING40(base, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI_MASK, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING40_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING40, field GPIO0_TRIG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the GPIO0_TRIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO(base) ((XCVR_TSM_TIMING40_REG(base) & XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING40_REG(base), XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the GPIO0_TRIG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING40(base, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO_MASK, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING40_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING40_GPIO0_TRIG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING41 - TSM_TIMING41 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING41 - TSM_TIMING41 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the GPIO1_TRIG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING41 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING41(base) (XCVR_TSM_TIMING41_REG(base)) |
| #define XCVR_WR_TSM_TIMING41(base, value) (XCVR_TSM_TIMING41_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING41(base, mask, value) (XCVR_WR_TSM_TIMING41(base, (XCVR_RD_TSM_TIMING41(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING41(base, value) (BME_OR32(&XCVR_TSM_TIMING41_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING41(base, value) (BME_AND32(&XCVR_TSM_TIMING41_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING41(base, value) (BME_XOR32(&XCVR_TSM_TIMING41_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING41 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING41, field GPIO1_TRIG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the GPIO1_TRIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI(base) ((XCVR_TSM_TIMING41_REG(base) & XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING41_REG(base), XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the GPIO1_TRIG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING41(base, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI_MASK, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING41_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING41, field GPIO1_TRIG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the GPIO1_TRIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO(base) ((XCVR_TSM_TIMING41_REG(base) & XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING41_REG(base), XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the GPIO1_TRIG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING41(base, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO_MASK, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING41_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING41, field GPIO1_TRIG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the GPIO1_TRIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI(base) ((XCVR_TSM_TIMING41_REG(base) & XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING41_REG(base), XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the GPIO1_TRIG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING41(base, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI_MASK, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING41_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING41, field GPIO1_TRIG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the GPIO1_TRIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO(base) ((XCVR_TSM_TIMING41_REG(base) & XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING41_REG(base), XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the GPIO1_TRIG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING41(base, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO_MASK, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING41_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING41_GPIO1_TRIG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING42 - TSM_TIMING42 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING42 - TSM_TIMING42 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the GPIO2_TRIG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING42 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING42(base) (XCVR_TSM_TIMING42_REG(base)) |
| #define XCVR_WR_TSM_TIMING42(base, value) (XCVR_TSM_TIMING42_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING42(base, mask, value) (XCVR_WR_TSM_TIMING42(base, (XCVR_RD_TSM_TIMING42(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING42(base, value) (BME_OR32(&XCVR_TSM_TIMING42_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING42(base, value) (BME_AND32(&XCVR_TSM_TIMING42_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING42(base, value) (BME_XOR32(&XCVR_TSM_TIMING42_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING42 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING42, field GPIO2_TRIG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the GPIO2_TRIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI(base) ((XCVR_TSM_TIMING42_REG(base) & XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING42_REG(base), XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the GPIO2_TRIG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING42(base, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI_MASK, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING42_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING42, field GPIO2_TRIG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the GPIO2_TRIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO(base) ((XCVR_TSM_TIMING42_REG(base) & XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING42_REG(base), XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the GPIO2_TRIG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING42(base, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO_MASK, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING42_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING42, field GPIO2_TRIG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the GPIO2_TRIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI(base) ((XCVR_TSM_TIMING42_REG(base) & XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING42_REG(base), XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the GPIO2_TRIG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING42(base, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI_MASK, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING42_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING42, field GPIO2_TRIG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the GPIO2_TRIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO(base) ((XCVR_TSM_TIMING42_REG(base) & XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING42_REG(base), XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the GPIO2_TRIG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING42(base, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO_MASK, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING42_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING42_GPIO2_TRIG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TSM_TIMING43 - TSM_TIMING43 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TSM_TIMING43 - TSM_TIMING43 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * This register contains the timing values to control the assertion and |
| * deassertion times for both TX and RX sequences for the GPIO3_TRIG_EN TSM signal or |
| * signal group. |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TSM_TIMING43 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TSM_TIMING43(base) (XCVR_TSM_TIMING43_REG(base)) |
| #define XCVR_WR_TSM_TIMING43(base, value) (XCVR_TSM_TIMING43_REG(base) = (value)) |
| #define XCVR_RMW_TSM_TIMING43(base, mask, value) (XCVR_WR_TSM_TIMING43(base, (XCVR_RD_TSM_TIMING43(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TSM_TIMING43(base, value) (BME_OR32(&XCVR_TSM_TIMING43_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TSM_TIMING43(base, value) (BME_AND32(&XCVR_TSM_TIMING43_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TSM_TIMING43(base, value) (BME_XOR32(&XCVR_TSM_TIMING43_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TSM_TIMING43 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING43, field GPIO3_TRIG_EN_TX_HI[7:0] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the GPIO3_TRIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI field. */ |
| #define XCVR_RD_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI(base) ((XCVR_TSM_TIMING43_REG(base) & XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI_MASK) >> XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING43_REG(base), XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI_WIDTH)) |
| |
| /*! @brief Set the GPIO3_TRIG_EN_TX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI(base, value) (XCVR_RMW_TSM_TIMING43(base, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI_MASK, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING43_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI_SHIFT), XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI_SHIFT, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING43, field GPIO3_TRIG_EN_TX_LO[15:8] (RW) |
| * |
| * This field sets the point during a TSM TX sequence (the tsm_count[7:0] value) |
| * at which the GPIO3_TRIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO field. */ |
| #define XCVR_RD_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO(base) ((XCVR_TSM_TIMING43_REG(base) & XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO_MASK) >> XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING43_REG(base), XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO_WIDTH)) |
| |
| /*! @brief Set the GPIO3_TRIG_EN_TX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO(base, value) (XCVR_RMW_TSM_TIMING43(base, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO_MASK, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING43_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO_SHIFT), XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO_SHIFT, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_TX_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING43, field GPIO3_TRIG_EN_RX_HI[23:16] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the GPIO3_TRIG_EN signal or group will transition from LO to HI. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI field. */ |
| #define XCVR_RD_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI(base) ((XCVR_TSM_TIMING43_REG(base) & XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI_MASK) >> XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI_SHIFT) |
| #define XCVR_BRD_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI(base) (BME_UBFX32(&XCVR_TSM_TIMING43_REG(base), XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI_WIDTH)) |
| |
| /*! @brief Set the GPIO3_TRIG_EN_RX_HI field to a new value. */ |
| #define XCVR_WR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI(base, value) (XCVR_RMW_TSM_TIMING43(base, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI_MASK, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI(value))) |
| #define XCVR_BWR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI(base, value) (BME_BFI32(&XCVR_TSM_TIMING43_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI_SHIFT), XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI_SHIFT, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TSM_TIMING43, field GPIO3_TRIG_EN_RX_LO[31:24] (RW) |
| * |
| * This field sets the point during a TSM RX sequence (the tsm_count[7:0] value) |
| * at which the GPIO3_TRIG_EN signal or group will transition from HI to LO. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO field. */ |
| #define XCVR_RD_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO(base) ((XCVR_TSM_TIMING43_REG(base) & XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO_MASK) >> XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO_SHIFT) |
| #define XCVR_BRD_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO(base) (BME_UBFX32(&XCVR_TSM_TIMING43_REG(base), XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO_WIDTH)) |
| |
| /*! @brief Set the GPIO3_TRIG_EN_RX_LO field to a new value. */ |
| #define XCVR_WR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO(base, value) (XCVR_RMW_TSM_TIMING43(base, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO_MASK, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO(value))) |
| #define XCVR_BWR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO(base, value) (BME_BFI32(&XCVR_TSM_TIMING43_REG(base), ((uint32_t)(value) << XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO_SHIFT), XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO_SHIFT, XCVR_TSM_TIMING43_GPIO3_TRIG_EN_RX_LO_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_CORR_CTRL - CORR_CTRL |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_CORR_CTRL - CORR_CTRL (RW) |
| * |
| * Reset value: 0x00000482U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_CORR_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_CORR_CTRL(base) (XCVR_CORR_CTRL_REG(base)) |
| #define XCVR_WR_CORR_CTRL(base, value) (XCVR_CORR_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_CORR_CTRL(base, mask, value) (XCVR_WR_CORR_CTRL(base, (XCVR_RD_CORR_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_CORR_CTRL(base, value) (BME_OR32(&XCVR_CORR_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_CORR_CTRL(base, value) (BME_AND32(&XCVR_CORR_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_CORR_CTRL(base, value) (BME_XOR32(&XCVR_CORR_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_CORR_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_CORR_CTRL, field CORR_VT[7:0] (RW) |
| * |
| * Correlator threshold, defines the sensitivity of demod during the preamble |
| * search state |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_CORR_CTRL_CORR_VT field. */ |
| #define XCVR_RD_CORR_CTRL_CORR_VT(base) ((XCVR_CORR_CTRL_REG(base) & XCVR_CORR_CTRL_CORR_VT_MASK) >> XCVR_CORR_CTRL_CORR_VT_SHIFT) |
| #define XCVR_BRD_CORR_CTRL_CORR_VT(base) (BME_UBFX32(&XCVR_CORR_CTRL_REG(base), XCVR_CORR_CTRL_CORR_VT_SHIFT, XCVR_CORR_CTRL_CORR_VT_WIDTH)) |
| |
| /*! @brief Set the CORR_VT field to a new value. */ |
| #define XCVR_WR_CORR_CTRL_CORR_VT(base, value) (XCVR_RMW_CORR_CTRL(base, XCVR_CORR_CTRL_CORR_VT_MASK, XCVR_CORR_CTRL_CORR_VT(value))) |
| #define XCVR_BWR_CORR_CTRL_CORR_VT(base, value) (BME_BFI32(&XCVR_CORR_CTRL_REG(base), ((uint32_t)(value) << XCVR_CORR_CTRL_CORR_VT_SHIFT), XCVR_CORR_CTRL_CORR_VT_SHIFT, XCVR_CORR_CTRL_CORR_VT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_CORR_CTRL, field CORR_NVAL[10:8] (RW) |
| * |
| * Number of consecutively detected zero-symbols required to declare a preamble |
| * detected |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_CORR_CTRL_CORR_NVAL field. */ |
| #define XCVR_RD_CORR_CTRL_CORR_NVAL(base) ((XCVR_CORR_CTRL_REG(base) & XCVR_CORR_CTRL_CORR_NVAL_MASK) >> XCVR_CORR_CTRL_CORR_NVAL_SHIFT) |
| #define XCVR_BRD_CORR_CTRL_CORR_NVAL(base) (BME_UBFX32(&XCVR_CORR_CTRL_REG(base), XCVR_CORR_CTRL_CORR_NVAL_SHIFT, XCVR_CORR_CTRL_CORR_NVAL_WIDTH)) |
| |
| /*! @brief Set the CORR_NVAL field to a new value. */ |
| #define XCVR_WR_CORR_CTRL_CORR_NVAL(base, value) (XCVR_RMW_CORR_CTRL(base, XCVR_CORR_CTRL_CORR_NVAL_MASK, XCVR_CORR_CTRL_CORR_NVAL(value))) |
| #define XCVR_BWR_CORR_CTRL_CORR_NVAL(base, value) (BME_BFI32(&XCVR_CORR_CTRL_REG(base), ((uint32_t)(value) << XCVR_CORR_CTRL_CORR_NVAL_SHIFT), XCVR_CORR_CTRL_CORR_NVAL_SHIFT, XCVR_CORR_CTRL_CORR_NVAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_CORR_CTRL, field MAX_CORR_EN[11] (RW) |
| * |
| * Max correlator after preamble enable-- Enable the refresh of the max corr |
| * register |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_CORR_CTRL_MAX_CORR_EN field. */ |
| #define XCVR_RD_CORR_CTRL_MAX_CORR_EN(base) ((XCVR_CORR_CTRL_REG(base) & XCVR_CORR_CTRL_MAX_CORR_EN_MASK) >> XCVR_CORR_CTRL_MAX_CORR_EN_SHIFT) |
| #define XCVR_BRD_CORR_CTRL_MAX_CORR_EN(base) (BME_UBFX32(&XCVR_CORR_CTRL_REG(base), XCVR_CORR_CTRL_MAX_CORR_EN_SHIFT, XCVR_CORR_CTRL_MAX_CORR_EN_WIDTH)) |
| |
| /*! @brief Set the MAX_CORR_EN field to a new value. */ |
| #define XCVR_WR_CORR_CTRL_MAX_CORR_EN(base, value) (XCVR_RMW_CORR_CTRL(base, XCVR_CORR_CTRL_MAX_CORR_EN_MASK, XCVR_CORR_CTRL_MAX_CORR_EN(value))) |
| #define XCVR_BWR_CORR_CTRL_MAX_CORR_EN(base, value) (BME_BFI32(&XCVR_CORR_CTRL_REG(base), ((uint32_t)(value) << XCVR_CORR_CTRL_MAX_CORR_EN_SHIFT), XCVR_CORR_CTRL_MAX_CORR_EN_SHIFT, XCVR_CORR_CTRL_MAX_CORR_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_CORR_CTRL, field RX_MAX_CORR[23:16] (RO) |
| * |
| * Max correlator after preamble-- max correlator value found in packet after |
| * the preamble (refreshed every symbol rate if MAX_CORR_EN=1). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_CORR_CTRL_RX_MAX_CORR field. */ |
| #define XCVR_RD_CORR_CTRL_RX_MAX_CORR(base) ((XCVR_CORR_CTRL_REG(base) & XCVR_CORR_CTRL_RX_MAX_CORR_MASK) >> XCVR_CORR_CTRL_RX_MAX_CORR_SHIFT) |
| #define XCVR_BRD_CORR_CTRL_RX_MAX_CORR(base) (BME_UBFX32(&XCVR_CORR_CTRL_REG(base), XCVR_CORR_CTRL_RX_MAX_CORR_SHIFT, XCVR_CORR_CTRL_RX_MAX_CORR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_CORR_CTRL, field RX_MAX_PREAMBLE[31:24] (RO) |
| * |
| * Max correlator during preamble-- max correlator value found during the |
| * preamble. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_CORR_CTRL_RX_MAX_PREAMBLE field. */ |
| #define XCVR_RD_CORR_CTRL_RX_MAX_PREAMBLE(base) ((XCVR_CORR_CTRL_REG(base) & XCVR_CORR_CTRL_RX_MAX_PREAMBLE_MASK) >> XCVR_CORR_CTRL_RX_MAX_PREAMBLE_SHIFT) |
| #define XCVR_BRD_CORR_CTRL_RX_MAX_PREAMBLE(base) (BME_UBFX32(&XCVR_CORR_CTRL_REG(base), XCVR_CORR_CTRL_RX_MAX_PREAMBLE_SHIFT, XCVR_CORR_CTRL_RX_MAX_PREAMBLE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PN_TYPE - PN_TYPE |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PN_TYPE - PN_TYPE (RW) |
| * |
| * Reset value: 0x00000001U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PN_TYPE register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PN_TYPE(base) (XCVR_PN_TYPE_REG(base)) |
| #define XCVR_WR_PN_TYPE(base, value) (XCVR_PN_TYPE_REG(base) = (value)) |
| #define XCVR_RMW_PN_TYPE(base, mask, value) (XCVR_WR_PN_TYPE(base, (XCVR_RD_PN_TYPE(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PN_TYPE(base, value) (BME_OR32(&XCVR_PN_TYPE_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PN_TYPE(base, value) (BME_AND32(&XCVR_PN_TYPE_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PN_TYPE(base, value) (BME_XOR32(&XCVR_PN_TYPE_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PN_TYPE bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PN_TYPE, field PN_TYPE[0] (RW) |
| * |
| * PN Type - Pseudo Noise Chip Code Type (ZigBee=1) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PN_TYPE_PN_TYPE field. */ |
| #define XCVR_RD_PN_TYPE_PN_TYPE(base) ((XCVR_PN_TYPE_REG(base) & XCVR_PN_TYPE_PN_TYPE_MASK) >> XCVR_PN_TYPE_PN_TYPE_SHIFT) |
| #define XCVR_BRD_PN_TYPE_PN_TYPE(base) (BME_UBFX32(&XCVR_PN_TYPE_REG(base), XCVR_PN_TYPE_PN_TYPE_SHIFT, XCVR_PN_TYPE_PN_TYPE_WIDTH)) |
| |
| /*! @brief Set the PN_TYPE field to a new value. */ |
| #define XCVR_WR_PN_TYPE_PN_TYPE(base, value) (XCVR_RMW_PN_TYPE(base, XCVR_PN_TYPE_PN_TYPE_MASK, XCVR_PN_TYPE_PN_TYPE(value))) |
| #define XCVR_BWR_PN_TYPE_PN_TYPE(base, value) (BME_BFI32(&XCVR_PN_TYPE_REG(base), ((uint32_t)(value) << XCVR_PN_TYPE_PN_TYPE_SHIFT), XCVR_PN_TYPE_PN_TYPE_SHIFT, XCVR_PN_TYPE_PN_TYPE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PN_TYPE, field TX_INV[1] (RW) |
| * |
| * test mode to invert the transmission |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PN_TYPE_TX_INV field. */ |
| #define XCVR_RD_PN_TYPE_TX_INV(base) ((XCVR_PN_TYPE_REG(base) & XCVR_PN_TYPE_TX_INV_MASK) >> XCVR_PN_TYPE_TX_INV_SHIFT) |
| #define XCVR_BRD_PN_TYPE_TX_INV(base) (BME_UBFX32(&XCVR_PN_TYPE_REG(base), XCVR_PN_TYPE_TX_INV_SHIFT, XCVR_PN_TYPE_TX_INV_WIDTH)) |
| |
| /*! @brief Set the TX_INV field to a new value. */ |
| #define XCVR_WR_PN_TYPE_TX_INV(base, value) (XCVR_RMW_PN_TYPE(base, XCVR_PN_TYPE_TX_INV_MASK, XCVR_PN_TYPE_TX_INV(value))) |
| #define XCVR_BWR_PN_TYPE_TX_INV(base, value) (BME_BFI32(&XCVR_PN_TYPE_REG(base), ((uint32_t)(value) << XCVR_PN_TYPE_TX_INV_SHIFT), XCVR_PN_TYPE_TX_INV_SHIFT, XCVR_PN_TYPE_TX_INV_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PN_CODE - PN_CODE |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PN_CODE - PN_CODE (RW) |
| * |
| * Reset value: 0x744AC39BU |
| * |
| * Pseudo Noise Chip Code Seed Value |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PN_CODE register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PN_CODE(base) (XCVR_PN_CODE_REG(base)) |
| #define XCVR_WR_PN_CODE(base, value) (XCVR_PN_CODE_REG(base) = (value)) |
| #define XCVR_RMW_PN_CODE(base, mask, value) (XCVR_WR_PN_CODE(base, (XCVR_RD_PN_CODE(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PN_CODE(base, value) (BME_OR32(&XCVR_PN_CODE_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PN_CODE(base, value) (BME_AND32(&XCVR_PN_CODE_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PN_CODE(base, value) (BME_XOR32(&XCVR_PN_CODE_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PN_CODE bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PN_CODE, field PN_LSB[15:0] (RW) |
| * |
| * PN_CODE LS half |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PN_CODE_PN_LSB field. */ |
| #define XCVR_RD_PN_CODE_PN_LSB(base) ((XCVR_PN_CODE_REG(base) & XCVR_PN_CODE_PN_LSB_MASK) >> XCVR_PN_CODE_PN_LSB_SHIFT) |
| #define XCVR_BRD_PN_CODE_PN_LSB(base) (BME_UBFX32(&XCVR_PN_CODE_REG(base), XCVR_PN_CODE_PN_LSB_SHIFT, XCVR_PN_CODE_PN_LSB_WIDTH)) |
| |
| /*! @brief Set the PN_LSB field to a new value. */ |
| #define XCVR_WR_PN_CODE_PN_LSB(base, value) (XCVR_RMW_PN_CODE(base, XCVR_PN_CODE_PN_LSB_MASK, XCVR_PN_CODE_PN_LSB(value))) |
| #define XCVR_BWR_PN_CODE_PN_LSB(base, value) (BME_BFI32(&XCVR_PN_CODE_REG(base), ((uint32_t)(value) << XCVR_PN_CODE_PN_LSB_SHIFT), XCVR_PN_CODE_PN_LSB_SHIFT, XCVR_PN_CODE_PN_LSB_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PN_CODE, field PN_MSB[31:16] (RW) |
| * |
| * PN_CODE MS half |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PN_CODE_PN_MSB field. */ |
| #define XCVR_RD_PN_CODE_PN_MSB(base) ((XCVR_PN_CODE_REG(base) & XCVR_PN_CODE_PN_MSB_MASK) >> XCVR_PN_CODE_PN_MSB_SHIFT) |
| #define XCVR_BRD_PN_CODE_PN_MSB(base) (BME_UBFX32(&XCVR_PN_CODE_REG(base), XCVR_PN_CODE_PN_MSB_SHIFT, XCVR_PN_CODE_PN_MSB_WIDTH)) |
| |
| /*! @brief Set the PN_MSB field to a new value. */ |
| #define XCVR_WR_PN_CODE_PN_MSB(base, value) (XCVR_RMW_PN_CODE(base, XCVR_PN_CODE_PN_MSB_MASK, XCVR_PN_CODE_PN_MSB(value))) |
| #define XCVR_BWR_PN_CODE_PN_MSB(base, value) (BME_BFI32(&XCVR_PN_CODE_REG(base), ((uint32_t)(value) << XCVR_PN_CODE_PN_MSB_SHIFT), XCVR_PN_CODE_PN_MSB_SHIFT, XCVR_PN_CODE_PN_MSB_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_SYNC_CTRL - Sync Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_SYNC_CTRL - Sync Control (RW) |
| * |
| * Reset value: 0x00000008U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_SYNC_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_SYNC_CTRL(base) (XCVR_SYNC_CTRL_REG(base)) |
| #define XCVR_WR_SYNC_CTRL(base, value) (XCVR_SYNC_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_SYNC_CTRL(base, mask, value) (XCVR_WR_SYNC_CTRL(base, (XCVR_RD_SYNC_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_SYNC_CTRL(base, value) (BME_OR32(&XCVR_SYNC_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_SYNC_CTRL(base, value) (BME_AND32(&XCVR_SYNC_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_SYNC_CTRL(base, value) (BME_XOR32(&XCVR_SYNC_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_SYNC_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_SYNC_CTRL, field SYNC_PER[2:0] (RW) |
| * |
| * determines update rate for symbol timing, per equation. An early/late |
| * measurement is made every 2^SYNC_PER[2:0] symbols. Valid range of SYNC_PER[2:0] is 0 |
| * to 4. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_SYNC_CTRL_SYNC_PER field. */ |
| #define XCVR_RD_SYNC_CTRL_SYNC_PER(base) ((XCVR_SYNC_CTRL_REG(base) & XCVR_SYNC_CTRL_SYNC_PER_MASK) >> XCVR_SYNC_CTRL_SYNC_PER_SHIFT) |
| #define XCVR_BRD_SYNC_CTRL_SYNC_PER(base) (BME_UBFX32(&XCVR_SYNC_CTRL_REG(base), XCVR_SYNC_CTRL_SYNC_PER_SHIFT, XCVR_SYNC_CTRL_SYNC_PER_WIDTH)) |
| |
| /*! @brief Set the SYNC_PER field to a new value. */ |
| #define XCVR_WR_SYNC_CTRL_SYNC_PER(base, value) (XCVR_RMW_SYNC_CTRL(base, XCVR_SYNC_CTRL_SYNC_PER_MASK, XCVR_SYNC_CTRL_SYNC_PER(value))) |
| #define XCVR_BWR_SYNC_CTRL_SYNC_PER(base, value) (BME_BFI32(&XCVR_SYNC_CTRL_REG(base), ((uint32_t)(value) << XCVR_SYNC_CTRL_SYNC_PER_SHIFT), XCVR_SYNC_CTRL_SYNC_PER_SHIFT, XCVR_SYNC_CTRL_SYNC_PER_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_SYNC_CTRL, field TRACK_ENABLE[3] (RW) |
| * |
| * Values: |
| * - 0b0 - symbol timing synchronization tracking disabled in Rx frontend |
| * - 0b1 - symbol timing synchronization tracking enabled in Rx frontend |
| * (default) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_SYNC_CTRL_TRACK_ENABLE field. */ |
| #define XCVR_RD_SYNC_CTRL_TRACK_ENABLE(base) ((XCVR_SYNC_CTRL_REG(base) & XCVR_SYNC_CTRL_TRACK_ENABLE_MASK) >> XCVR_SYNC_CTRL_TRACK_ENABLE_SHIFT) |
| #define XCVR_BRD_SYNC_CTRL_TRACK_ENABLE(base) (BME_UBFX32(&XCVR_SYNC_CTRL_REG(base), XCVR_SYNC_CTRL_TRACK_ENABLE_SHIFT, XCVR_SYNC_CTRL_TRACK_ENABLE_WIDTH)) |
| |
| /*! @brief Set the TRACK_ENABLE field to a new value. */ |
| #define XCVR_WR_SYNC_CTRL_TRACK_ENABLE(base, value) (XCVR_RMW_SYNC_CTRL(base, XCVR_SYNC_CTRL_TRACK_ENABLE_MASK, XCVR_SYNC_CTRL_TRACK_ENABLE(value))) |
| #define XCVR_BWR_SYNC_CTRL_TRACK_ENABLE(base, value) (BME_BFI32(&XCVR_SYNC_CTRL_REG(base), ((uint32_t)(value) << XCVR_SYNC_CTRL_TRACK_ENABLE_SHIFT), XCVR_SYNC_CTRL_TRACK_ENABLE_SHIFT, XCVR_SYNC_CTRL_TRACK_ENABLE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_SNF_THR - SNF_THR |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_SNF_THR - SNF_THR (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_SNF_THR register |
| */ |
| /*@{*/ |
| #define XCVR_RD_SNF_THR(base) (XCVR_SNF_THR_REG(base)) |
| #define XCVR_WR_SNF_THR(base, value) (XCVR_SNF_THR_REG(base) = (value)) |
| #define XCVR_RMW_SNF_THR(base, mask, value) (XCVR_WR_SNF_THR(base, (XCVR_RD_SNF_THR(base) & ~(mask)) | (value))) |
| #define XCVR_SET_SNF_THR(base, value) (BME_OR32(&XCVR_SNF_THR_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_SNF_THR(base, value) (BME_AND32(&XCVR_SNF_THR_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_SNF_THR(base, value) (BME_XOR32(&XCVR_SNF_THR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_SNF_THR bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_SNF_THR, field SNF_THR[7:0] (RW) |
| * |
| * RSSI level at which the symbol demodulator will be started when |
| * SNF_CTRL[SNF_EN]=1. The control bit SNF_CTRL[SNF_EN] is in Zigbee address space. Note: |
| * SNIFF Mode not currently supported. SNF_THR has no effect |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_SNF_THR_SNF_THR field. */ |
| #define XCVR_RD_SNF_THR_SNF_THR(base) ((XCVR_SNF_THR_REG(base) & XCVR_SNF_THR_SNF_THR_MASK) >> XCVR_SNF_THR_SNF_THR_SHIFT) |
| #define XCVR_BRD_SNF_THR_SNF_THR(base) (BME_UBFX32(&XCVR_SNF_THR_REG(base), XCVR_SNF_THR_SNF_THR_SHIFT, XCVR_SNF_THR_SNF_THR_WIDTH)) |
| |
| /*! @brief Set the SNF_THR field to a new value. */ |
| #define XCVR_WR_SNF_THR_SNF_THR(base, value) (XCVR_RMW_SNF_THR(base, XCVR_SNF_THR_SNF_THR_MASK, XCVR_SNF_THR_SNF_THR(value))) |
| #define XCVR_BWR_SNF_THR_SNF_THR(base, value) (BME_BFI32(&XCVR_SNF_THR_REG(base), ((uint32_t)(value) << XCVR_SNF_THR_SNF_THR_SHIFT), XCVR_SNF_THR_SNF_THR_SHIFT, XCVR_SNF_THR_SNF_THR_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_FAD_THR - FAD_THR |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_FAD_THR - FAD_THR (RW) |
| * |
| * Reset value: 0x00000082U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_FAD_THR register |
| */ |
| /*@{*/ |
| #define XCVR_RD_FAD_THR(base) (XCVR_FAD_THR_REG(base)) |
| #define XCVR_WR_FAD_THR(base, value) (XCVR_FAD_THR_REG(base) = (value)) |
| #define XCVR_RMW_FAD_THR(base, mask, value) (XCVR_WR_FAD_THR(base, (XCVR_RD_FAD_THR(base) & ~(mask)) | (value))) |
| #define XCVR_SET_FAD_THR(base, value) (BME_OR32(&XCVR_FAD_THR_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_FAD_THR(base, value) (BME_AND32(&XCVR_FAD_THR_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_FAD_THR(base, value) (BME_XOR32(&XCVR_FAD_THR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_FAD_THR bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_FAD_THR, field FAD_THR[7:0] (RW) |
| * |
| * Correlator threshold at which the FAD will select the antenna. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_FAD_THR_FAD_THR field. */ |
| #define XCVR_RD_FAD_THR_FAD_THR(base) ((XCVR_FAD_THR_REG(base) & XCVR_FAD_THR_FAD_THR_MASK) >> XCVR_FAD_THR_FAD_THR_SHIFT) |
| #define XCVR_BRD_FAD_THR_FAD_THR(base) (BME_UBFX32(&XCVR_FAD_THR_REG(base), XCVR_FAD_THR_FAD_THR_SHIFT, XCVR_FAD_THR_FAD_THR_WIDTH)) |
| |
| /*! @brief Set the FAD_THR field to a new value. */ |
| #define XCVR_WR_FAD_THR_FAD_THR(base, value) (XCVR_RMW_FAD_THR(base, XCVR_FAD_THR_FAD_THR_MASK, XCVR_FAD_THR_FAD_THR(value))) |
| #define XCVR_BWR_FAD_THR_FAD_THR(base, value) (BME_BFI32(&XCVR_FAD_THR_REG(base), ((uint32_t)(value) << XCVR_FAD_THR_FAD_THR_SHIFT), XCVR_FAD_THR_FAD_THR_SHIFT, XCVR_FAD_THR_FAD_THR_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_ZBDEM_AFC - ZBDEM_AFC |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_ZBDEM_AFC - ZBDEM_AFC (RW) |
| * |
| * Reset value: 0x00000001U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_ZBDEM_AFC register |
| */ |
| /*@{*/ |
| #define XCVR_RD_ZBDEM_AFC(base) (XCVR_ZBDEM_AFC_REG(base)) |
| #define XCVR_WR_ZBDEM_AFC(base, value) (XCVR_ZBDEM_AFC_REG(base) = (value)) |
| #define XCVR_RMW_ZBDEM_AFC(base, mask, value) (XCVR_WR_ZBDEM_AFC(base, (XCVR_RD_ZBDEM_AFC(base) & ~(mask)) | (value))) |
| #define XCVR_SET_ZBDEM_AFC(base, value) (BME_OR32(&XCVR_ZBDEM_AFC_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_ZBDEM_AFC(base, value) (BME_AND32(&XCVR_ZBDEM_AFC_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_ZBDEM_AFC(base, value) (BME_XOR32(&XCVR_ZBDEM_AFC_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_ZBDEM_AFC bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_ZBDEM_AFC, field AFC_EN[0] (RW) |
| * |
| * Enable the AFC Function |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ZBDEM_AFC_AFC_EN field. */ |
| #define XCVR_RD_ZBDEM_AFC_AFC_EN(base) ((XCVR_ZBDEM_AFC_REG(base) & XCVR_ZBDEM_AFC_AFC_EN_MASK) >> XCVR_ZBDEM_AFC_AFC_EN_SHIFT) |
| #define XCVR_BRD_ZBDEM_AFC_AFC_EN(base) (BME_UBFX32(&XCVR_ZBDEM_AFC_REG(base), XCVR_ZBDEM_AFC_AFC_EN_SHIFT, XCVR_ZBDEM_AFC_AFC_EN_WIDTH)) |
| |
| /*! @brief Set the AFC_EN field to a new value. */ |
| #define XCVR_WR_ZBDEM_AFC_AFC_EN(base, value) (XCVR_RMW_ZBDEM_AFC(base, XCVR_ZBDEM_AFC_AFC_EN_MASK, XCVR_ZBDEM_AFC_AFC_EN(value))) |
| #define XCVR_BWR_ZBDEM_AFC_AFC_EN(base, value) (BME_BFI32(&XCVR_ZBDEM_AFC_REG(base), ((uint32_t)(value) << XCVR_ZBDEM_AFC_AFC_EN_SHIFT), XCVR_ZBDEM_AFC_AFC_EN_SHIFT, XCVR_ZBDEM_AFC_AFC_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ZBDEM_AFC, field DCD_EN[1] (RW) |
| * |
| * Values: |
| * - 0b0 - NCD Mode (default) |
| * - 0b1 - DCD Mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ZBDEM_AFC_DCD_EN field. */ |
| #define XCVR_RD_ZBDEM_AFC_DCD_EN(base) ((XCVR_ZBDEM_AFC_REG(base) & XCVR_ZBDEM_AFC_DCD_EN_MASK) >> XCVR_ZBDEM_AFC_DCD_EN_SHIFT) |
| #define XCVR_BRD_ZBDEM_AFC_DCD_EN(base) (BME_UBFX32(&XCVR_ZBDEM_AFC_REG(base), XCVR_ZBDEM_AFC_DCD_EN_SHIFT, XCVR_ZBDEM_AFC_DCD_EN_WIDTH)) |
| |
| /*! @brief Set the DCD_EN field to a new value. */ |
| #define XCVR_WR_ZBDEM_AFC_DCD_EN(base, value) (XCVR_RMW_ZBDEM_AFC(base, XCVR_ZBDEM_AFC_DCD_EN_MASK, XCVR_ZBDEM_AFC_DCD_EN(value))) |
| #define XCVR_BWR_ZBDEM_AFC_DCD_EN(base, value) (BME_BFI32(&XCVR_ZBDEM_AFC_REG(base), ((uint32_t)(value) << XCVR_ZBDEM_AFC_DCD_EN_SHIFT), XCVR_ZBDEM_AFC_DCD_EN_SHIFT, XCVR_ZBDEM_AFC_DCD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ZBDEM_AFC, field AFC_OUT[12:8] (RO) |
| * |
| * AFC Result, Signed Two's Complement |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ZBDEM_AFC_AFC_OUT field. */ |
| #define XCVR_RD_ZBDEM_AFC_AFC_OUT(base) ((XCVR_ZBDEM_AFC_REG(base) & XCVR_ZBDEM_AFC_AFC_OUT_MASK) >> XCVR_ZBDEM_AFC_AFC_OUT_SHIFT) |
| #define XCVR_BRD_ZBDEM_AFC_AFC_OUT(base) (BME_UBFX32(&XCVR_ZBDEM_AFC_REG(base), XCVR_ZBDEM_AFC_AFC_OUT_SHIFT, XCVR_ZBDEM_AFC_AFC_OUT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_LPPS_CTRL - LPPS Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_LPPS_CTRL - LPPS Control Register (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_LPPS_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_LPPS_CTRL(base) (XCVR_LPPS_CTRL_REG(base)) |
| #define XCVR_WR_LPPS_CTRL(base, value) (XCVR_LPPS_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_LPPS_CTRL(base, mask, value) (XCVR_WR_LPPS_CTRL(base, (XCVR_RD_LPPS_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_LPPS_CTRL(base, value) (BME_OR32(&XCVR_LPPS_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_LPPS_CTRL(base, value) (BME_AND32(&XCVR_LPPS_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_LPPS_CTRL(base, value) (BME_XOR32(&XCVR_LPPS_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_LPPS_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_LPPS_CTRL, field LPPS_ENABLE[0] (RW) |
| * |
| * Master enable for LPPS mode. Allows Zigbee correlators to be duty-cycled |
| * during Preamble Search, and selected RF/Analog blocks to be duty-cycled |
| * simultaneously. |
| * |
| * Values: |
| * - 0b0 - LPPS mode disabled |
| * - 0b1 - LPPS mode enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_LPPS_CTRL_LPPS_ENABLE field. */ |
| #define XCVR_RD_LPPS_CTRL_LPPS_ENABLE(base) ((XCVR_LPPS_CTRL_REG(base) & XCVR_LPPS_CTRL_LPPS_ENABLE_MASK) >> XCVR_LPPS_CTRL_LPPS_ENABLE_SHIFT) |
| #define XCVR_BRD_LPPS_CTRL_LPPS_ENABLE(base) (BME_UBFX32(&XCVR_LPPS_CTRL_REG(base), XCVR_LPPS_CTRL_LPPS_ENABLE_SHIFT, XCVR_LPPS_CTRL_LPPS_ENABLE_WIDTH)) |
| |
| /*! @brief Set the LPPS_ENABLE field to a new value. */ |
| #define XCVR_WR_LPPS_CTRL_LPPS_ENABLE(base, value) (XCVR_RMW_LPPS_CTRL(base, XCVR_LPPS_CTRL_LPPS_ENABLE_MASK, XCVR_LPPS_CTRL_LPPS_ENABLE(value))) |
| #define XCVR_BWR_LPPS_CTRL_LPPS_ENABLE(base, value) (BME_BFI32(&XCVR_LPPS_CTRL_REG(base), ((uint32_t)(value) << XCVR_LPPS_CTRL_LPPS_ENABLE_SHIFT), XCVR_LPPS_CTRL_LPPS_ENABLE_SHIFT, XCVR_LPPS_CTRL_LPPS_ENABLE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_LPPS_CTRL, field LPPS_QGEN25_ALLOW[1] (RW) |
| * |
| * Values: |
| * - 0b0 - Disallow TSM output qgen25_en to be duty-cycled during LPPS |
| * - 0b1 - Allow TSM output qgen25_en to be duty-cycled during LPPS |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_LPPS_CTRL_LPPS_QGEN25_ALLOW field. */ |
| #define XCVR_RD_LPPS_CTRL_LPPS_QGEN25_ALLOW(base) ((XCVR_LPPS_CTRL_REG(base) & XCVR_LPPS_CTRL_LPPS_QGEN25_ALLOW_MASK) >> XCVR_LPPS_CTRL_LPPS_QGEN25_ALLOW_SHIFT) |
| #define XCVR_BRD_LPPS_CTRL_LPPS_QGEN25_ALLOW(base) (BME_UBFX32(&XCVR_LPPS_CTRL_REG(base), XCVR_LPPS_CTRL_LPPS_QGEN25_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_QGEN25_ALLOW_WIDTH)) |
| |
| /*! @brief Set the LPPS_QGEN25_ALLOW field to a new value. */ |
| #define XCVR_WR_LPPS_CTRL_LPPS_QGEN25_ALLOW(base, value) (XCVR_RMW_LPPS_CTRL(base, XCVR_LPPS_CTRL_LPPS_QGEN25_ALLOW_MASK, XCVR_LPPS_CTRL_LPPS_QGEN25_ALLOW(value))) |
| #define XCVR_BWR_LPPS_CTRL_LPPS_QGEN25_ALLOW(base, value) (BME_BFI32(&XCVR_LPPS_CTRL_REG(base), ((uint32_t)(value) << XCVR_LPPS_CTRL_LPPS_QGEN25_ALLOW_SHIFT), XCVR_LPPS_CTRL_LPPS_QGEN25_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_QGEN25_ALLOW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_LPPS_CTRL, field LPPS_ADC_ALLOW[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Disallow ADC-related TSM outputs {adc_en, adc_bias_en} to be |
| * duty-cycled during LPPS. |
| * - 0b1 - Allow ADC-related TSM outputs {adc_en, adc_bias_en} to be duty-cycled |
| * during LPPS. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_LPPS_CTRL_LPPS_ADC_ALLOW field. */ |
| #define XCVR_RD_LPPS_CTRL_LPPS_ADC_ALLOW(base) ((XCVR_LPPS_CTRL_REG(base) & XCVR_LPPS_CTRL_LPPS_ADC_ALLOW_MASK) >> XCVR_LPPS_CTRL_LPPS_ADC_ALLOW_SHIFT) |
| #define XCVR_BRD_LPPS_CTRL_LPPS_ADC_ALLOW(base) (BME_UBFX32(&XCVR_LPPS_CTRL_REG(base), XCVR_LPPS_CTRL_LPPS_ADC_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_ADC_ALLOW_WIDTH)) |
| |
| /*! @brief Set the LPPS_ADC_ALLOW field to a new value. */ |
| #define XCVR_WR_LPPS_CTRL_LPPS_ADC_ALLOW(base, value) (XCVR_RMW_LPPS_CTRL(base, XCVR_LPPS_CTRL_LPPS_ADC_ALLOW_MASK, XCVR_LPPS_CTRL_LPPS_ADC_ALLOW(value))) |
| #define XCVR_BWR_LPPS_CTRL_LPPS_ADC_ALLOW(base, value) (BME_BFI32(&XCVR_LPPS_CTRL_REG(base), ((uint32_t)(value) << XCVR_LPPS_CTRL_LPPS_ADC_ALLOW_SHIFT), XCVR_LPPS_CTRL_LPPS_ADC_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_ADC_ALLOW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_LPPS_CTRL, field LPPS_ADC_CLK_ALLOW[3] (RW) |
| * |
| * Values: |
| * - 0b0 - Disallow ADC-related TSM outputs {xtal_adc_ref_clk_en, adc_clk_en} to |
| * be duty-cycled during LPPS. |
| * - 0b1 - Allow ADC_CLK-related TSM outputs {xtal_adc_ref_clk_en, adc_clk_en} |
| * to be duty-cycled during LPPS. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW field. */ |
| #define XCVR_RD_LPPS_CTRL_LPPS_ADC_CLK_ALLOW(base) ((XCVR_LPPS_CTRL_REG(base) & XCVR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW_MASK) >> XCVR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW_SHIFT) |
| #define XCVR_BRD_LPPS_CTRL_LPPS_ADC_CLK_ALLOW(base) (BME_UBFX32(&XCVR_LPPS_CTRL_REG(base), XCVR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW_WIDTH)) |
| |
| /*! @brief Set the LPPS_ADC_CLK_ALLOW field to a new value. */ |
| #define XCVR_WR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW(base, value) (XCVR_RMW_LPPS_CTRL(base, XCVR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW_MASK, XCVR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW(value))) |
| #define XCVR_BWR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW(base, value) (BME_BFI32(&XCVR_LPPS_CTRL_REG(base), ((uint32_t)(value) << XCVR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW_SHIFT), XCVR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_ADC_CLK_ALLOW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_LPPS_CTRL, field LPPS_ADC_I_Q_ALLOW[4] (RW) |
| * |
| * Values: |
| * - 0b0 - Disallow ADC_I/Q-related TSM outputs {adc_I_adc_en, adc_Q_adc_en} to |
| * be duty-cycled during LPPS. |
| * - 0b1 - Allow ADC_I/Q-related TSM outputs {adc_I_adc_en, adc_Q_adc_en} to be |
| * duty-cycled during LPPS. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW field. */ |
| #define XCVR_RD_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW(base) ((XCVR_LPPS_CTRL_REG(base) & XCVR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW_MASK) >> XCVR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW_SHIFT) |
| #define XCVR_BRD_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW(base) (BME_UBFX32(&XCVR_LPPS_CTRL_REG(base), XCVR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW_WIDTH)) |
| |
| /*! @brief Set the LPPS_ADC_I_Q_ALLOW field to a new value. */ |
| #define XCVR_WR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW(base, value) (XCVR_RMW_LPPS_CTRL(base, XCVR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW_MASK, XCVR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW(value))) |
| #define XCVR_BWR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW(base, value) (BME_BFI32(&XCVR_LPPS_CTRL_REG(base), ((uint32_t)(value) << XCVR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW_SHIFT), XCVR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_ADC_I_Q_ALLOW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_LPPS_CTRL, field LPPS_ADC_DAC_ALLOW[5] (RW) |
| * |
| * Values: |
| * - 0b0 - Disallow ADC_DAC-related TSM outputs {adc_dac1_en, adc_dac2_en} to be |
| * duty-cycled during LPPS. |
| * - 0b1 - Allow ADC_DAC-related TSM outputs {adc_dac1_en, adc_dac2_en} to be |
| * duty-cycled during LPPS. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW field. */ |
| #define XCVR_RD_LPPS_CTRL_LPPS_ADC_DAC_ALLOW(base) ((XCVR_LPPS_CTRL_REG(base) & XCVR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW_MASK) >> XCVR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW_SHIFT) |
| #define XCVR_BRD_LPPS_CTRL_LPPS_ADC_DAC_ALLOW(base) (BME_UBFX32(&XCVR_LPPS_CTRL_REG(base), XCVR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW_WIDTH)) |
| |
| /*! @brief Set the LPPS_ADC_DAC_ALLOW field to a new value. */ |
| #define XCVR_WR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW(base, value) (XCVR_RMW_LPPS_CTRL(base, XCVR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW_MASK, XCVR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW(value))) |
| #define XCVR_BWR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW(base, value) (BME_BFI32(&XCVR_LPPS_CTRL_REG(base), ((uint32_t)(value) << XCVR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW_SHIFT), XCVR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_ADC_DAC_ALLOW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_LPPS_CTRL, field LPPS_BBF_ALLOW[6] (RW) |
| * |
| * Values: |
| * - 0b0 - Disallow BBF-related TSM outputs {bbf_i_en, bbf_q_en, bbf_pdet_en, |
| * bbf_dcoc_en} to be duty-cycled during LPPS. |
| * - 0b1 - Allow BBF-related TSM outputs {bbf_i_en, bbf_q_en, bbf_pdet_en, |
| * bbf_dcoc_en} to be duty-cycled during LPPS. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_LPPS_CTRL_LPPS_BBF_ALLOW field. */ |
| #define XCVR_RD_LPPS_CTRL_LPPS_BBF_ALLOW(base) ((XCVR_LPPS_CTRL_REG(base) & XCVR_LPPS_CTRL_LPPS_BBF_ALLOW_MASK) >> XCVR_LPPS_CTRL_LPPS_BBF_ALLOW_SHIFT) |
| #define XCVR_BRD_LPPS_CTRL_LPPS_BBF_ALLOW(base) (BME_UBFX32(&XCVR_LPPS_CTRL_REG(base), XCVR_LPPS_CTRL_LPPS_BBF_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_BBF_ALLOW_WIDTH)) |
| |
| /*! @brief Set the LPPS_BBF_ALLOW field to a new value. */ |
| #define XCVR_WR_LPPS_CTRL_LPPS_BBF_ALLOW(base, value) (XCVR_RMW_LPPS_CTRL(base, XCVR_LPPS_CTRL_LPPS_BBF_ALLOW_MASK, XCVR_LPPS_CTRL_LPPS_BBF_ALLOW(value))) |
| #define XCVR_BWR_LPPS_CTRL_LPPS_BBF_ALLOW(base, value) (BME_BFI32(&XCVR_LPPS_CTRL_REG(base), ((uint32_t)(value) << XCVR_LPPS_CTRL_LPPS_BBF_ALLOW_SHIFT), XCVR_LPPS_CTRL_LPPS_BBF_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_BBF_ALLOW_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_LPPS_CTRL, field LPPS_TCA_ALLOW[7] (RW) |
| * |
| * Values: |
| * - 0b0 - Disallow TCA-related TSM outputs {tca_en, tza_i_en, tza_q_en, |
| * tza_pdet_en, tza_dcoc_en} to be duty-cycled during LPPS. |
| * - 0b1 - Allow TCA-related TSM outputs {tca_en, tza_i_en, tza_q_en, |
| * tza_pdet_en, tza_dcoc_en} to be duty-cycled during LPPS. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_LPPS_CTRL_LPPS_TCA_ALLOW field. */ |
| #define XCVR_RD_LPPS_CTRL_LPPS_TCA_ALLOW(base) ((XCVR_LPPS_CTRL_REG(base) & XCVR_LPPS_CTRL_LPPS_TCA_ALLOW_MASK) >> XCVR_LPPS_CTRL_LPPS_TCA_ALLOW_SHIFT) |
| #define XCVR_BRD_LPPS_CTRL_LPPS_TCA_ALLOW(base) (BME_UBFX32(&XCVR_LPPS_CTRL_REG(base), XCVR_LPPS_CTRL_LPPS_TCA_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_TCA_ALLOW_WIDTH)) |
| |
| /*! @brief Set the LPPS_TCA_ALLOW field to a new value. */ |
| #define XCVR_WR_LPPS_CTRL_LPPS_TCA_ALLOW(base, value) (XCVR_RMW_LPPS_CTRL(base, XCVR_LPPS_CTRL_LPPS_TCA_ALLOW_MASK, XCVR_LPPS_CTRL_LPPS_TCA_ALLOW(value))) |
| #define XCVR_BWR_LPPS_CTRL_LPPS_TCA_ALLOW(base, value) (BME_BFI32(&XCVR_LPPS_CTRL_REG(base), ((uint32_t)(value) << XCVR_LPPS_CTRL_LPPS_TCA_ALLOW_SHIFT), XCVR_LPPS_CTRL_LPPS_TCA_ALLOW_SHIFT, XCVR_LPPS_CTRL_LPPS_TCA_ALLOW_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_ADC_CTRL - ADC Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_ADC_CTRL - ADC Control (RW) |
| * |
| * Reset value: 0xFFFF0001U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_ADC_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_ADC_CTRL(base) (XCVR_ADC_CTRL_REG(base)) |
| #define XCVR_WR_ADC_CTRL(base, value) (XCVR_ADC_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_ADC_CTRL(base, mask, value) (XCVR_WR_ADC_CTRL(base, (XCVR_RD_ADC_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_ADC_CTRL(base, value) (BME_OR32(&XCVR_ADC_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_ADC_CTRL(base, value) (BME_AND32(&XCVR_ADC_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_ADC_CTRL(base, value) (BME_XOR32(&XCVR_ADC_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_ADC_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_ADC_CTRL, field ADC_32MHZ_SEL[0] (RW) |
| * |
| * Select settings for a 32MHz reference clock. If this bit is not set then |
| * settings for a 36MHz clock is chosen. Only the 32Mhz option is enabled in this |
| * version. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_CTRL_ADC_32MHZ_SEL field. */ |
| #define XCVR_RD_ADC_CTRL_ADC_32MHZ_SEL(base) ((XCVR_ADC_CTRL_REG(base) & XCVR_ADC_CTRL_ADC_32MHZ_SEL_MASK) >> XCVR_ADC_CTRL_ADC_32MHZ_SEL_SHIFT) |
| #define XCVR_BRD_ADC_CTRL_ADC_32MHZ_SEL(base) (BME_UBFX32(&XCVR_ADC_CTRL_REG(base), XCVR_ADC_CTRL_ADC_32MHZ_SEL_SHIFT, XCVR_ADC_CTRL_ADC_32MHZ_SEL_WIDTH)) |
| |
| /*! @brief Set the ADC_32MHZ_SEL field to a new value. */ |
| #define XCVR_WR_ADC_CTRL_ADC_32MHZ_SEL(base, value) (XCVR_RMW_ADC_CTRL(base, XCVR_ADC_CTRL_ADC_32MHZ_SEL_MASK, XCVR_ADC_CTRL_ADC_32MHZ_SEL(value))) |
| #define XCVR_BWR_ADC_CTRL_ADC_32MHZ_SEL(base, value) (BME_BFI32(&XCVR_ADC_CTRL_REG(base), ((uint32_t)(value) << XCVR_ADC_CTRL_ADC_32MHZ_SEL_SHIFT), XCVR_ADC_CTRL_ADC_32MHZ_SEL_SHIFT, XCVR_ADC_CTRL_ADC_32MHZ_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_CTRL, field ADC_2X_CLK_SEL[2] (RW) |
| * |
| * Select 2x Clock option in the ADC. When this bit is enabled a clock of 64Mhz |
| * is assumed. This option is not used in this version and reserved for future |
| * use. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_CTRL_ADC_2X_CLK_SEL field. */ |
| #define XCVR_RD_ADC_CTRL_ADC_2X_CLK_SEL(base) ((XCVR_ADC_CTRL_REG(base) & XCVR_ADC_CTRL_ADC_2X_CLK_SEL_MASK) >> XCVR_ADC_CTRL_ADC_2X_CLK_SEL_SHIFT) |
| #define XCVR_BRD_ADC_CTRL_ADC_2X_CLK_SEL(base) (BME_UBFX32(&XCVR_ADC_CTRL_REG(base), XCVR_ADC_CTRL_ADC_2X_CLK_SEL_SHIFT, XCVR_ADC_CTRL_ADC_2X_CLK_SEL_WIDTH)) |
| |
| /*! @brief Set the ADC_2X_CLK_SEL field to a new value. */ |
| #define XCVR_WR_ADC_CTRL_ADC_2X_CLK_SEL(base, value) (XCVR_RMW_ADC_CTRL(base, XCVR_ADC_CTRL_ADC_2X_CLK_SEL_MASK, XCVR_ADC_CTRL_ADC_2X_CLK_SEL(value))) |
| #define XCVR_BWR_ADC_CTRL_ADC_2X_CLK_SEL(base, value) (BME_BFI32(&XCVR_ADC_CTRL_REG(base), ((uint32_t)(value) << XCVR_ADC_CTRL_ADC_2X_CLK_SEL_SHIFT), XCVR_ADC_CTRL_ADC_2X_CLK_SEL_SHIFT, XCVR_ADC_CTRL_ADC_2X_CLK_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_CTRL, field ADC_DITHER_ON[9] (RW) |
| * |
| * Enables the dither circuit inside the ADC block. By enabling this bit |
| * dithering of tones can be achieved. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_CTRL_ADC_DITHER_ON field. */ |
| #define XCVR_RD_ADC_CTRL_ADC_DITHER_ON(base) ((XCVR_ADC_CTRL_REG(base) & XCVR_ADC_CTRL_ADC_DITHER_ON_MASK) >> XCVR_ADC_CTRL_ADC_DITHER_ON_SHIFT) |
| #define XCVR_BRD_ADC_CTRL_ADC_DITHER_ON(base) (BME_UBFX32(&XCVR_ADC_CTRL_REG(base), XCVR_ADC_CTRL_ADC_DITHER_ON_SHIFT, XCVR_ADC_CTRL_ADC_DITHER_ON_WIDTH)) |
| |
| /*! @brief Set the ADC_DITHER_ON field to a new value. */ |
| #define XCVR_WR_ADC_CTRL_ADC_DITHER_ON(base, value) (XCVR_RMW_ADC_CTRL(base, XCVR_ADC_CTRL_ADC_DITHER_ON_MASK, XCVR_ADC_CTRL_ADC_DITHER_ON(value))) |
| #define XCVR_BWR_ADC_CTRL_ADC_DITHER_ON(base, value) (BME_BFI32(&XCVR_ADC_CTRL_REG(base), ((uint32_t)(value) << XCVR_ADC_CTRL_ADC_DITHER_ON_SHIFT), XCVR_ADC_CTRL_ADC_DITHER_ON_SHIFT, XCVR_ADC_CTRL_ADC_DITHER_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_CTRL, field ADC_TEST_ON[10] (RW) |
| * |
| * When enabled (1) this bit puts the adc in test mode where different test |
| * signals can be injected or measured. In normal mode this bit is diabled(0). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_CTRL_ADC_TEST_ON field. */ |
| #define XCVR_RD_ADC_CTRL_ADC_TEST_ON(base) ((XCVR_ADC_CTRL_REG(base) & XCVR_ADC_CTRL_ADC_TEST_ON_MASK) >> XCVR_ADC_CTRL_ADC_TEST_ON_SHIFT) |
| #define XCVR_BRD_ADC_CTRL_ADC_TEST_ON(base) (BME_UBFX32(&XCVR_ADC_CTRL_REG(base), XCVR_ADC_CTRL_ADC_TEST_ON_SHIFT, XCVR_ADC_CTRL_ADC_TEST_ON_WIDTH)) |
| |
| /*! @brief Set the ADC_TEST_ON field to a new value. */ |
| #define XCVR_WR_ADC_CTRL_ADC_TEST_ON(base, value) (XCVR_RMW_ADC_CTRL(base, XCVR_ADC_CTRL_ADC_TEST_ON_MASK, XCVR_ADC_CTRL_ADC_TEST_ON(value))) |
| #define XCVR_BWR_ADC_CTRL_ADC_TEST_ON(base, value) (BME_BFI32(&XCVR_ADC_CTRL_REG(base), ((uint32_t)(value) << XCVR_ADC_CTRL_ADC_TEST_ON_SHIFT), XCVR_ADC_CTRL_ADC_TEST_ON_SHIFT, XCVR_ADC_CTRL_ADC_TEST_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_CTRL, field ADC_COMP_ON[31:16] (RW) |
| * |
| * These bits enable or disable the individual comparators in the quantizer. In |
| * the normal mode all these bits should be enabled. The disables are used for |
| * testing purposes only |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_CTRL_ADC_COMP_ON field. */ |
| #define XCVR_RD_ADC_CTRL_ADC_COMP_ON(base) ((XCVR_ADC_CTRL_REG(base) & XCVR_ADC_CTRL_ADC_COMP_ON_MASK) >> XCVR_ADC_CTRL_ADC_COMP_ON_SHIFT) |
| #define XCVR_BRD_ADC_CTRL_ADC_COMP_ON(base) (BME_UBFX32(&XCVR_ADC_CTRL_REG(base), XCVR_ADC_CTRL_ADC_COMP_ON_SHIFT, XCVR_ADC_CTRL_ADC_COMP_ON_WIDTH)) |
| |
| /*! @brief Set the ADC_COMP_ON field to a new value. */ |
| #define XCVR_WR_ADC_CTRL_ADC_COMP_ON(base, value) (XCVR_RMW_ADC_CTRL(base, XCVR_ADC_CTRL_ADC_COMP_ON_MASK, XCVR_ADC_CTRL_ADC_COMP_ON(value))) |
| #define XCVR_BWR_ADC_CTRL_ADC_COMP_ON(base, value) (BME_BFI32(&XCVR_ADC_CTRL_REG(base), ((uint32_t)(value) << XCVR_ADC_CTRL_ADC_COMP_ON_SHIFT), XCVR_ADC_CTRL_ADC_COMP_ON_SHIFT, XCVR_ADC_CTRL_ADC_COMP_ON_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_ADC_TUNE - ADC Tuning |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_ADC_TUNE - ADC Tuning (RW) |
| * |
| * Reset value: 0x00880033U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_ADC_TUNE register |
| */ |
| /*@{*/ |
| #define XCVR_RD_ADC_TUNE(base) (XCVR_ADC_TUNE_REG(base)) |
| #define XCVR_WR_ADC_TUNE(base, value) (XCVR_ADC_TUNE_REG(base) = (value)) |
| #define XCVR_RMW_ADC_TUNE(base, mask, value) (XCVR_WR_ADC_TUNE(base, (XCVR_RD_ADC_TUNE(base) & ~(mask)) | (value))) |
| #define XCVR_SET_ADC_TUNE(base, value) (BME_OR32(&XCVR_ADC_TUNE_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_ADC_TUNE(base, value) (BME_AND32(&XCVR_ADC_TUNE_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_ADC_TUNE(base, value) (BME_XOR32(&XCVR_ADC_TUNE_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_ADC_TUNE bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_ADC_TUNE, field ADC_R1_TUNE[2:0] (RW) |
| * |
| * Allows to tune the resistor values of the first integrator +/- 15%. Default |
| * setting is 0b011. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TUNE_ADC_R1_TUNE field. */ |
| #define XCVR_RD_ADC_TUNE_ADC_R1_TUNE(base) ((XCVR_ADC_TUNE_REG(base) & XCVR_ADC_TUNE_ADC_R1_TUNE_MASK) >> XCVR_ADC_TUNE_ADC_R1_TUNE_SHIFT) |
| #define XCVR_BRD_ADC_TUNE_ADC_R1_TUNE(base) (BME_UBFX32(&XCVR_ADC_TUNE_REG(base), XCVR_ADC_TUNE_ADC_R1_TUNE_SHIFT, XCVR_ADC_TUNE_ADC_R1_TUNE_WIDTH)) |
| |
| /*! @brief Set the ADC_R1_TUNE field to a new value. */ |
| #define XCVR_WR_ADC_TUNE_ADC_R1_TUNE(base, value) (XCVR_RMW_ADC_TUNE(base, XCVR_ADC_TUNE_ADC_R1_TUNE_MASK, XCVR_ADC_TUNE_ADC_R1_TUNE(value))) |
| #define XCVR_BWR_ADC_TUNE_ADC_R1_TUNE(base, value) (BME_BFI32(&XCVR_ADC_TUNE_REG(base), ((uint32_t)(value) << XCVR_ADC_TUNE_ADC_R1_TUNE_SHIFT), XCVR_ADC_TUNE_ADC_R1_TUNE_SHIFT, XCVR_ADC_TUNE_ADC_R1_TUNE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_TUNE, field ADC_R2_TUNE[6:4] (RW) |
| * |
| * Allows to tune the resistor values of the second integrator +/- 15%. Default |
| * setting is 0b011. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TUNE_ADC_R2_TUNE field. */ |
| #define XCVR_RD_ADC_TUNE_ADC_R2_TUNE(base) ((XCVR_ADC_TUNE_REG(base) & XCVR_ADC_TUNE_ADC_R2_TUNE_MASK) >> XCVR_ADC_TUNE_ADC_R2_TUNE_SHIFT) |
| #define XCVR_BRD_ADC_TUNE_ADC_R2_TUNE(base) (BME_UBFX32(&XCVR_ADC_TUNE_REG(base), XCVR_ADC_TUNE_ADC_R2_TUNE_SHIFT, XCVR_ADC_TUNE_ADC_R2_TUNE_WIDTH)) |
| |
| /*! @brief Set the ADC_R2_TUNE field to a new value. */ |
| #define XCVR_WR_ADC_TUNE_ADC_R2_TUNE(base, value) (XCVR_RMW_ADC_TUNE(base, XCVR_ADC_TUNE_ADC_R2_TUNE_MASK, XCVR_ADC_TUNE_ADC_R2_TUNE(value))) |
| #define XCVR_BWR_ADC_TUNE_ADC_R2_TUNE(base, value) (BME_BFI32(&XCVR_ADC_TUNE_REG(base), ((uint32_t)(value) << XCVR_ADC_TUNE_ADC_R2_TUNE_SHIFT), XCVR_ADC_TUNE_ADC_R2_TUNE_SHIFT, XCVR_ADC_TUNE_ADC_R2_TUNE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_TUNE, field ADC_C1_TUNE[19:16] (RW) |
| * |
| * Allows to tune the capacitor values of the first integrator +/- 15%. Default |
| * setting is 0b1000. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TUNE_ADC_C1_TUNE field. */ |
| #define XCVR_RD_ADC_TUNE_ADC_C1_TUNE(base) ((XCVR_ADC_TUNE_REG(base) & XCVR_ADC_TUNE_ADC_C1_TUNE_MASK) >> XCVR_ADC_TUNE_ADC_C1_TUNE_SHIFT) |
| #define XCVR_BRD_ADC_TUNE_ADC_C1_TUNE(base) (BME_UBFX32(&XCVR_ADC_TUNE_REG(base), XCVR_ADC_TUNE_ADC_C1_TUNE_SHIFT, XCVR_ADC_TUNE_ADC_C1_TUNE_WIDTH)) |
| |
| /*! @brief Set the ADC_C1_TUNE field to a new value. */ |
| #define XCVR_WR_ADC_TUNE_ADC_C1_TUNE(base, value) (XCVR_RMW_ADC_TUNE(base, XCVR_ADC_TUNE_ADC_C1_TUNE_MASK, XCVR_ADC_TUNE_ADC_C1_TUNE(value))) |
| #define XCVR_BWR_ADC_TUNE_ADC_C1_TUNE(base, value) (BME_BFI32(&XCVR_ADC_TUNE_REG(base), ((uint32_t)(value) << XCVR_ADC_TUNE_ADC_C1_TUNE_SHIFT), XCVR_ADC_TUNE_ADC_C1_TUNE_SHIFT, XCVR_ADC_TUNE_ADC_C1_TUNE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_TUNE, field ADC_C2_TUNE[23:20] (RW) |
| * |
| * Allows to tune the capacitor values of the second integrator +/- 15%. Default |
| * setting is 0b1000. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TUNE_ADC_C2_TUNE field. */ |
| #define XCVR_RD_ADC_TUNE_ADC_C2_TUNE(base) ((XCVR_ADC_TUNE_REG(base) & XCVR_ADC_TUNE_ADC_C2_TUNE_MASK) >> XCVR_ADC_TUNE_ADC_C2_TUNE_SHIFT) |
| #define XCVR_BRD_ADC_TUNE_ADC_C2_TUNE(base) (BME_UBFX32(&XCVR_ADC_TUNE_REG(base), XCVR_ADC_TUNE_ADC_C2_TUNE_SHIFT, XCVR_ADC_TUNE_ADC_C2_TUNE_WIDTH)) |
| |
| /*! @brief Set the ADC_C2_TUNE field to a new value. */ |
| #define XCVR_WR_ADC_TUNE_ADC_C2_TUNE(base, value) (XCVR_RMW_ADC_TUNE(base, XCVR_ADC_TUNE_ADC_C2_TUNE_MASK, XCVR_ADC_TUNE_ADC_C2_TUNE(value))) |
| #define XCVR_BWR_ADC_TUNE_ADC_C2_TUNE(base, value) (BME_BFI32(&XCVR_ADC_TUNE_REG(base), ((uint32_t)(value) << XCVR_ADC_TUNE_ADC_C2_TUNE_SHIFT), XCVR_ADC_TUNE_ADC_C2_TUNE_SHIFT, XCVR_ADC_TUNE_ADC_C2_TUNE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_ADC_ADJ - ADC Adjustment |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_ADC_ADJ - ADC Adjustment (RW) |
| * |
| * Reset value: 0x43033033U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_ADC_ADJ register |
| */ |
| /*@{*/ |
| #define XCVR_RD_ADC_ADJ(base) (XCVR_ADC_ADJ_REG(base)) |
| #define XCVR_WR_ADC_ADJ(base, value) (XCVR_ADC_ADJ_REG(base) = (value)) |
| #define XCVR_RMW_ADC_ADJ(base, mask, value) (XCVR_WR_ADC_ADJ(base, (XCVR_RD_ADC_ADJ(base) & ~(mask)) | (value))) |
| #define XCVR_SET_ADC_ADJ(base, value) (BME_OR32(&XCVR_ADC_ADJ_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_ADC_ADJ(base, value) (BME_AND32(&XCVR_ADC_ADJ_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_ADC_ADJ(base, value) (BME_XOR32(&XCVR_ADC_ADJ_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_ADC_ADJ bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_ADC_ADJ, field ADC_IB_OPAMP1_ADJ[2:0] (RW) |
| * |
| * Adjusts the 1st integrator operational amplifier reference current +/-30%. |
| * Default setting is 0b011. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_ADJ_ADC_IB_OPAMP1_ADJ field. */ |
| #define XCVR_RD_ADC_ADJ_ADC_IB_OPAMP1_ADJ(base) ((XCVR_ADC_ADJ_REG(base) & XCVR_ADC_ADJ_ADC_IB_OPAMP1_ADJ_MASK) >> XCVR_ADC_ADJ_ADC_IB_OPAMP1_ADJ_SHIFT) |
| #define XCVR_BRD_ADC_ADJ_ADC_IB_OPAMP1_ADJ(base) (BME_UBFX32(&XCVR_ADC_ADJ_REG(base), XCVR_ADC_ADJ_ADC_IB_OPAMP1_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_IB_OPAMP1_ADJ_WIDTH)) |
| |
| /*! @brief Set the ADC_IB_OPAMP1_ADJ field to a new value. */ |
| #define XCVR_WR_ADC_ADJ_ADC_IB_OPAMP1_ADJ(base, value) (XCVR_RMW_ADC_ADJ(base, XCVR_ADC_ADJ_ADC_IB_OPAMP1_ADJ_MASK, XCVR_ADC_ADJ_ADC_IB_OPAMP1_ADJ(value))) |
| #define XCVR_BWR_ADC_ADJ_ADC_IB_OPAMP1_ADJ(base, value) (BME_BFI32(&XCVR_ADC_ADJ_REG(base), ((uint32_t)(value) << XCVR_ADC_ADJ_ADC_IB_OPAMP1_ADJ_SHIFT), XCVR_ADC_ADJ_ADC_IB_OPAMP1_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_IB_OPAMP1_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_ADJ, field ADC_IB_OPAMP2_ADJ[6:4] (RW) |
| * |
| * Adjusts the 2nd integrator operational amplifier reference current +/-30%. |
| * Default setting is 0b011. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_ADJ_ADC_IB_OPAMP2_ADJ field. */ |
| #define XCVR_RD_ADC_ADJ_ADC_IB_OPAMP2_ADJ(base) ((XCVR_ADC_ADJ_REG(base) & XCVR_ADC_ADJ_ADC_IB_OPAMP2_ADJ_MASK) >> XCVR_ADC_ADJ_ADC_IB_OPAMP2_ADJ_SHIFT) |
| #define XCVR_BRD_ADC_ADJ_ADC_IB_OPAMP2_ADJ(base) (BME_UBFX32(&XCVR_ADC_ADJ_REG(base), XCVR_ADC_ADJ_ADC_IB_OPAMP2_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_IB_OPAMP2_ADJ_WIDTH)) |
| |
| /*! @brief Set the ADC_IB_OPAMP2_ADJ field to a new value. */ |
| #define XCVR_WR_ADC_ADJ_ADC_IB_OPAMP2_ADJ(base, value) (XCVR_RMW_ADC_ADJ(base, XCVR_ADC_ADJ_ADC_IB_OPAMP2_ADJ_MASK, XCVR_ADC_ADJ_ADC_IB_OPAMP2_ADJ(value))) |
| #define XCVR_BWR_ADC_ADJ_ADC_IB_OPAMP2_ADJ(base, value) (BME_BFI32(&XCVR_ADC_ADJ_REG(base), ((uint32_t)(value) << XCVR_ADC_ADJ_ADC_IB_OPAMP2_ADJ_SHIFT), XCVR_ADC_ADJ_ADC_IB_OPAMP2_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_IB_OPAMP2_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_ADJ, field ADC_IB_DAC1_ADJ[14:12] (RW) |
| * |
| * Adjusts the DAC 1 current +/-30%. Default setting is 0b011. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_ADJ_ADC_IB_DAC1_ADJ field. */ |
| #define XCVR_RD_ADC_ADJ_ADC_IB_DAC1_ADJ(base) ((XCVR_ADC_ADJ_REG(base) & XCVR_ADC_ADJ_ADC_IB_DAC1_ADJ_MASK) >> XCVR_ADC_ADJ_ADC_IB_DAC1_ADJ_SHIFT) |
| #define XCVR_BRD_ADC_ADJ_ADC_IB_DAC1_ADJ(base) (BME_UBFX32(&XCVR_ADC_ADJ_REG(base), XCVR_ADC_ADJ_ADC_IB_DAC1_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_IB_DAC1_ADJ_WIDTH)) |
| |
| /*! @brief Set the ADC_IB_DAC1_ADJ field to a new value. */ |
| #define XCVR_WR_ADC_ADJ_ADC_IB_DAC1_ADJ(base, value) (XCVR_RMW_ADC_ADJ(base, XCVR_ADC_ADJ_ADC_IB_DAC1_ADJ_MASK, XCVR_ADC_ADJ_ADC_IB_DAC1_ADJ(value))) |
| #define XCVR_BWR_ADC_ADJ_ADC_IB_DAC1_ADJ(base, value) (BME_BFI32(&XCVR_ADC_ADJ_REG(base), ((uint32_t)(value) << XCVR_ADC_ADJ_ADC_IB_DAC1_ADJ_SHIFT), XCVR_ADC_ADJ_ADC_IB_DAC1_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_IB_DAC1_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_ADJ, field ADC_IB_DAC2_ADJ[18:16] (RW) |
| * |
| * Adjusts the DAC 2 current +/-30%. Default setting is 0b011. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_ADJ_ADC_IB_DAC2_ADJ field. */ |
| #define XCVR_RD_ADC_ADJ_ADC_IB_DAC2_ADJ(base) ((XCVR_ADC_ADJ_REG(base) & XCVR_ADC_ADJ_ADC_IB_DAC2_ADJ_MASK) >> XCVR_ADC_ADJ_ADC_IB_DAC2_ADJ_SHIFT) |
| #define XCVR_BRD_ADC_ADJ_ADC_IB_DAC2_ADJ(base) (BME_UBFX32(&XCVR_ADC_ADJ_REG(base), XCVR_ADC_ADJ_ADC_IB_DAC2_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_IB_DAC2_ADJ_WIDTH)) |
| |
| /*! @brief Set the ADC_IB_DAC2_ADJ field to a new value. */ |
| #define XCVR_WR_ADC_ADJ_ADC_IB_DAC2_ADJ(base, value) (XCVR_RMW_ADC_ADJ(base, XCVR_ADC_ADJ_ADC_IB_DAC2_ADJ_MASK, XCVR_ADC_ADJ_ADC_IB_DAC2_ADJ(value))) |
| #define XCVR_BWR_ADC_ADJ_ADC_IB_DAC2_ADJ(base, value) (BME_BFI32(&XCVR_ADC_ADJ_REG(base), ((uint32_t)(value) << XCVR_ADC_ADJ_ADC_IB_DAC2_ADJ_SHIFT), XCVR_ADC_ADJ_ADC_IB_DAC2_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_IB_DAC2_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_ADJ, field ADC_IB_FLSH_ADJ[26:24] (RW) |
| * |
| * Adjusts the quantizer preamplifier current plus/minus 30 percent. Default |
| * setting is 0b011. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_ADJ_ADC_IB_FLSH_ADJ field. */ |
| #define XCVR_RD_ADC_ADJ_ADC_IB_FLSH_ADJ(base) ((XCVR_ADC_ADJ_REG(base) & XCVR_ADC_ADJ_ADC_IB_FLSH_ADJ_MASK) >> XCVR_ADC_ADJ_ADC_IB_FLSH_ADJ_SHIFT) |
| #define XCVR_BRD_ADC_ADJ_ADC_IB_FLSH_ADJ(base) (BME_UBFX32(&XCVR_ADC_ADJ_REG(base), XCVR_ADC_ADJ_ADC_IB_FLSH_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_IB_FLSH_ADJ_WIDTH)) |
| |
| /*! @brief Set the ADC_IB_FLSH_ADJ field to a new value. */ |
| #define XCVR_WR_ADC_ADJ_ADC_IB_FLSH_ADJ(base, value) (XCVR_RMW_ADC_ADJ(base, XCVR_ADC_ADJ_ADC_IB_FLSH_ADJ_MASK, XCVR_ADC_ADJ_ADC_IB_FLSH_ADJ(value))) |
| #define XCVR_BWR_ADC_ADJ_ADC_IB_FLSH_ADJ(base, value) (BME_BFI32(&XCVR_ADC_ADJ_REG(base), ((uint32_t)(value) << XCVR_ADC_ADJ_ADC_IB_FLSH_ADJ_SHIFT), XCVR_ADC_ADJ_ADC_IB_FLSH_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_IB_FLSH_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_ADJ, field ADC_FLSH_RES_ADJ[30:28] (RW) |
| * |
| * Allows to adjust the value of the resistor ladder that is used to generate |
| * the reference voltages for the quantizer. The defualt value is 100 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_ADJ_ADC_FLSH_RES_ADJ field. */ |
| #define XCVR_RD_ADC_ADJ_ADC_FLSH_RES_ADJ(base) ((XCVR_ADC_ADJ_REG(base) & XCVR_ADC_ADJ_ADC_FLSH_RES_ADJ_MASK) >> XCVR_ADC_ADJ_ADC_FLSH_RES_ADJ_SHIFT) |
| #define XCVR_BRD_ADC_ADJ_ADC_FLSH_RES_ADJ(base) (BME_UBFX32(&XCVR_ADC_ADJ_REG(base), XCVR_ADC_ADJ_ADC_FLSH_RES_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_FLSH_RES_ADJ_WIDTH)) |
| |
| /*! @brief Set the ADC_FLSH_RES_ADJ field to a new value. */ |
| #define XCVR_WR_ADC_ADJ_ADC_FLSH_RES_ADJ(base, value) (XCVR_RMW_ADC_ADJ(base, XCVR_ADC_ADJ_ADC_FLSH_RES_ADJ_MASK, XCVR_ADC_ADJ_ADC_FLSH_RES_ADJ(value))) |
| #define XCVR_BWR_ADC_ADJ_ADC_FLSH_RES_ADJ(base, value) (BME_BFI32(&XCVR_ADC_ADJ_REG(base), ((uint32_t)(value) << XCVR_ADC_ADJ_ADC_FLSH_RES_ADJ_SHIFT), XCVR_ADC_ADJ_ADC_FLSH_RES_ADJ_SHIFT, XCVR_ADC_ADJ_ADC_FLSH_RES_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_ADC_REGS - ADC Regulators |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_ADC_REGS - ADC Regulators (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_ADC_REGS register |
| */ |
| /*@{*/ |
| #define XCVR_RD_ADC_REGS(base) (XCVR_ADC_REGS_REG(base)) |
| #define XCVR_WR_ADC_REGS(base, value) (XCVR_ADC_REGS_REG(base) = (value)) |
| #define XCVR_RMW_ADC_REGS(base, mask, value) (XCVR_WR_ADC_REGS(base, (XCVR_RD_ADC_REGS(base) & ~(mask)) | (value))) |
| #define XCVR_SET_ADC_REGS(base, value) (BME_OR32(&XCVR_ADC_REGS_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_ADC_REGS(base, value) (BME_AND32(&XCVR_ADC_REGS_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_ADC_REGS(base, value) (BME_XOR32(&XCVR_ADC_REGS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_ADC_REGS bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_ADC_REGS, field ADC_ANA_REG_SUPPLY[3:0] (RW) |
| * |
| * Regulator trim bits to change the output voltage from 1.05 to 1.4V |
| * |
| * Values: |
| * - 0b0000 - 1.2V |
| * - 0b0001 - 1.05V |
| * - 0b0010 - 1.275V |
| * - 0b0011 - 1.3V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_REGS_ADC_ANA_REG_SUPPLY field. */ |
| #define XCVR_RD_ADC_REGS_ADC_ANA_REG_SUPPLY(base) ((XCVR_ADC_REGS_REG(base) & XCVR_ADC_REGS_ADC_ANA_REG_SUPPLY_MASK) >> XCVR_ADC_REGS_ADC_ANA_REG_SUPPLY_SHIFT) |
| #define XCVR_BRD_ADC_REGS_ADC_ANA_REG_SUPPLY(base) (BME_UBFX32(&XCVR_ADC_REGS_REG(base), XCVR_ADC_REGS_ADC_ANA_REG_SUPPLY_SHIFT, XCVR_ADC_REGS_ADC_ANA_REG_SUPPLY_WIDTH)) |
| |
| /*! @brief Set the ADC_ANA_REG_SUPPLY field to a new value. */ |
| #define XCVR_WR_ADC_REGS_ADC_ANA_REG_SUPPLY(base, value) (XCVR_RMW_ADC_REGS(base, XCVR_ADC_REGS_ADC_ANA_REG_SUPPLY_MASK, XCVR_ADC_REGS_ADC_ANA_REG_SUPPLY(value))) |
| #define XCVR_BWR_ADC_REGS_ADC_ANA_REG_SUPPLY(base, value) (BME_BFI32(&XCVR_ADC_REGS_REG(base), ((uint32_t)(value) << XCVR_ADC_REGS_ADC_ANA_REG_SUPPLY_SHIFT), XCVR_ADC_REGS_ADC_ANA_REG_SUPPLY_SHIFT, XCVR_ADC_REGS_ADC_ANA_REG_SUPPLY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_REGS, field ADC_REG_DIG_SUPPLY[7:4] (RW) |
| * |
| * Regulator trim bits to change the output voltage from 1.05 to 1.4V |
| * |
| * Values: |
| * - 0b0000 - 1.2V |
| * - 0b0001 - 1.05V |
| * - 0b0010 - 1.275V |
| * - 0b0011 - 1.3V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_REGS_ADC_REG_DIG_SUPPLY field. */ |
| #define XCVR_RD_ADC_REGS_ADC_REG_DIG_SUPPLY(base) ((XCVR_ADC_REGS_REG(base) & XCVR_ADC_REGS_ADC_REG_DIG_SUPPLY_MASK) >> XCVR_ADC_REGS_ADC_REG_DIG_SUPPLY_SHIFT) |
| #define XCVR_BRD_ADC_REGS_ADC_REG_DIG_SUPPLY(base) (BME_UBFX32(&XCVR_ADC_REGS_REG(base), XCVR_ADC_REGS_ADC_REG_DIG_SUPPLY_SHIFT, XCVR_ADC_REGS_ADC_REG_DIG_SUPPLY_WIDTH)) |
| |
| /*! @brief Set the ADC_REG_DIG_SUPPLY field to a new value. */ |
| #define XCVR_WR_ADC_REGS_ADC_REG_DIG_SUPPLY(base, value) (XCVR_RMW_ADC_REGS(base, XCVR_ADC_REGS_ADC_REG_DIG_SUPPLY_MASK, XCVR_ADC_REGS_ADC_REG_DIG_SUPPLY(value))) |
| #define XCVR_BWR_ADC_REGS_ADC_REG_DIG_SUPPLY(base, value) (BME_BFI32(&XCVR_ADC_REGS_REG(base), ((uint32_t)(value) << XCVR_ADC_REGS_ADC_REG_DIG_SUPPLY_SHIFT), XCVR_ADC_REGS_ADC_REG_DIG_SUPPLY_SHIFT, XCVR_ADC_REGS_ADC_REG_DIG_SUPPLY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_REGS, field ADC_ANA_REG_BYPASS_ON[8] (RW) |
| * |
| * This register bit determines if the regulator is in bypass mode. When in |
| * bypass mode, the external voltage applied to the input of the regulator is |
| * presented at the regulator output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_REGS_ADC_ANA_REG_BYPASS_ON field. */ |
| #define XCVR_RD_ADC_REGS_ADC_ANA_REG_BYPASS_ON(base) ((XCVR_ADC_REGS_REG(base) & XCVR_ADC_REGS_ADC_ANA_REG_BYPASS_ON_MASK) >> XCVR_ADC_REGS_ADC_ANA_REG_BYPASS_ON_SHIFT) |
| #define XCVR_BRD_ADC_REGS_ADC_ANA_REG_BYPASS_ON(base) (BME_UBFX32(&XCVR_ADC_REGS_REG(base), XCVR_ADC_REGS_ADC_ANA_REG_BYPASS_ON_SHIFT, XCVR_ADC_REGS_ADC_ANA_REG_BYPASS_ON_WIDTH)) |
| |
| /*! @brief Set the ADC_ANA_REG_BYPASS_ON field to a new value. */ |
| #define XCVR_WR_ADC_REGS_ADC_ANA_REG_BYPASS_ON(base, value) (XCVR_RMW_ADC_REGS(base, XCVR_ADC_REGS_ADC_ANA_REG_BYPASS_ON_MASK, XCVR_ADC_REGS_ADC_ANA_REG_BYPASS_ON(value))) |
| #define XCVR_BWR_ADC_REGS_ADC_ANA_REG_BYPASS_ON(base, value) (BME_BFI32(&XCVR_ADC_REGS_REG(base), ((uint32_t)(value) << XCVR_ADC_REGS_ADC_ANA_REG_BYPASS_ON_SHIFT), XCVR_ADC_REGS_ADC_ANA_REG_BYPASS_ON_SHIFT, XCVR_ADC_REGS_ADC_ANA_REG_BYPASS_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_REGS, field ADC_DIG_REG_BYPASS_ON[9] (RW) |
| * |
| * This register bit determines if the regulator is in bypass mode. When in |
| * bypass mode, the external voltage applied to the input of the regulator is |
| * presented at the regulator output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_REGS_ADC_DIG_REG_BYPASS_ON field. */ |
| #define XCVR_RD_ADC_REGS_ADC_DIG_REG_BYPASS_ON(base) ((XCVR_ADC_REGS_REG(base) & XCVR_ADC_REGS_ADC_DIG_REG_BYPASS_ON_MASK) >> XCVR_ADC_REGS_ADC_DIG_REG_BYPASS_ON_SHIFT) |
| #define XCVR_BRD_ADC_REGS_ADC_DIG_REG_BYPASS_ON(base) (BME_UBFX32(&XCVR_ADC_REGS_REG(base), XCVR_ADC_REGS_ADC_DIG_REG_BYPASS_ON_SHIFT, XCVR_ADC_REGS_ADC_DIG_REG_BYPASS_ON_WIDTH)) |
| |
| /*! @brief Set the ADC_DIG_REG_BYPASS_ON field to a new value. */ |
| #define XCVR_WR_ADC_REGS_ADC_DIG_REG_BYPASS_ON(base, value) (XCVR_RMW_ADC_REGS(base, XCVR_ADC_REGS_ADC_DIG_REG_BYPASS_ON_MASK, XCVR_ADC_REGS_ADC_DIG_REG_BYPASS_ON(value))) |
| #define XCVR_BWR_ADC_REGS_ADC_DIG_REG_BYPASS_ON(base, value) (BME_BFI32(&XCVR_ADC_REGS_REG(base), ((uint32_t)(value) << XCVR_ADC_REGS_ADC_DIG_REG_BYPASS_ON_SHIFT), XCVR_ADC_REGS_ADC_DIG_REG_BYPASS_ON_SHIFT, XCVR_ADC_REGS_ADC_DIG_REG_BYPASS_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_REGS, field ADC_VCMREF_BYPASS_ON[15] (RW) |
| * |
| * Allows to use an external 0.6V reference instead of the internally generated |
| * 0.6V. This mode should be used only in combination with analog test mode for |
| * the ADC enabled and when supplying an external 0.6V reference voltage through |
| * the test mux.This function is not used in this version of the chip |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_REGS_ADC_VCMREF_BYPASS_ON field. */ |
| #define XCVR_RD_ADC_REGS_ADC_VCMREF_BYPASS_ON(base) ((XCVR_ADC_REGS_REG(base) & XCVR_ADC_REGS_ADC_VCMREF_BYPASS_ON_MASK) >> XCVR_ADC_REGS_ADC_VCMREF_BYPASS_ON_SHIFT) |
| #define XCVR_BRD_ADC_REGS_ADC_VCMREF_BYPASS_ON(base) (BME_UBFX32(&XCVR_ADC_REGS_REG(base), XCVR_ADC_REGS_ADC_VCMREF_BYPASS_ON_SHIFT, XCVR_ADC_REGS_ADC_VCMREF_BYPASS_ON_WIDTH)) |
| |
| /*! @brief Set the ADC_VCMREF_BYPASS_ON field to a new value. */ |
| #define XCVR_WR_ADC_REGS_ADC_VCMREF_BYPASS_ON(base, value) (XCVR_RMW_ADC_REGS(base, XCVR_ADC_REGS_ADC_VCMREF_BYPASS_ON_MASK, XCVR_ADC_REGS_ADC_VCMREF_BYPASS_ON(value))) |
| #define XCVR_BWR_ADC_REGS_ADC_VCMREF_BYPASS_ON(base, value) (BME_BFI32(&XCVR_ADC_REGS_REG(base), ((uint32_t)(value) << XCVR_ADC_REGS_ADC_VCMREF_BYPASS_ON_SHIFT), XCVR_ADC_REGS_ADC_VCMREF_BYPASS_ON_SHIFT, XCVR_ADC_REGS_ADC_VCMREF_BYPASS_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_REGS, field ADC_INTERNAL_IREF_BYPASS_ON[17] (RW) |
| * |
| * Bypass the internally generated 5uA reference current that is used for the |
| * ADC to generate all the other reference currents for the ADC and use an external |
| * reference current. This mode should be used only in combination with analog |
| * test mode for the ADC enabled and when supplying an external current reference |
| * through the test mux. This function is not used in this version of the chip |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON field. */ |
| #define XCVR_RD_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON(base) ((XCVR_ADC_REGS_REG(base) & XCVR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON_MASK) >> XCVR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON_SHIFT) |
| #define XCVR_BRD_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON(base) (BME_UBFX32(&XCVR_ADC_REGS_REG(base), XCVR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON_SHIFT, XCVR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON_WIDTH)) |
| |
| /*! @brief Set the ADC_INTERNAL_IREF_BYPASS_ON field to a new value. */ |
| #define XCVR_WR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON(base, value) (XCVR_RMW_ADC_REGS(base, XCVR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON_MASK, XCVR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON(value))) |
| #define XCVR_BWR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON(base, value) (BME_BFI32(&XCVR_ADC_REGS_REG(base), ((uint32_t)(value) << XCVR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON_SHIFT), XCVR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON_SHIFT, XCVR_ADC_REGS_ADC_INTERNAL_IREF_BYPASS_ON_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_ADC_TRIMS - ADC Regulator Trims |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_ADC_TRIMS - ADC Regulator Trims (RW) |
| * |
| * Reset value: 0x00000444U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_ADC_TRIMS register |
| */ |
| /*@{*/ |
| #define XCVR_RD_ADC_TRIMS(base) (XCVR_ADC_TRIMS_REG(base)) |
| #define XCVR_WR_ADC_TRIMS(base, value) (XCVR_ADC_TRIMS_REG(base) = (value)) |
| #define XCVR_RMW_ADC_TRIMS(base, mask, value) (XCVR_WR_ADC_TRIMS(base, (XCVR_RD_ADC_TRIMS(base) & ~(mask)) | (value))) |
| #define XCVR_SET_ADC_TRIMS(base, value) (BME_OR32(&XCVR_ADC_TRIMS_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_ADC_TRIMS(base, value) (BME_AND32(&XCVR_ADC_TRIMS_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_ADC_TRIMS(base, value) (BME_XOR32(&XCVR_ADC_TRIMS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_ADC_TRIMS bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_ADC_TRIMS, field ADC_IREF_OPAMPS_RES_TRIM[2:0] (RW) |
| * |
| * This allows to trim the resistor value used to generate the reference current |
| * for the integrator's operational amplifiers. The resistor values can be |
| * trimmed by plus/minus 15 percent. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM field. */ |
| #define XCVR_RD_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM(base) ((XCVR_ADC_TRIMS_REG(base) & XCVR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM_MASK) >> XCVR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM_SHIFT) |
| #define XCVR_BRD_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM(base) (BME_UBFX32(&XCVR_ADC_TRIMS_REG(base), XCVR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM_SHIFT, XCVR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM_WIDTH)) |
| |
| /*! @brief Set the ADC_IREF_OPAMPS_RES_TRIM field to a new value. */ |
| #define XCVR_WR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM(base, value) (XCVR_RMW_ADC_TRIMS(base, XCVR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM_MASK, XCVR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM(value))) |
| #define XCVR_BWR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM(base, value) (BME_BFI32(&XCVR_ADC_TRIMS_REG(base), ((uint32_t)(value) << XCVR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM_SHIFT), XCVR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM_SHIFT, XCVR_ADC_TRIMS_ADC_IREF_OPAMPS_RES_TRIM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_TRIMS, field ADC_IREF_FLSH_RES_TRIM[6:4] (RW) |
| * |
| * This allows to trim the resistor value used to generate the reference current |
| * for the quantizer. The resistor values can be trimmed by +/-15%. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM field. */ |
| #define XCVR_RD_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM(base) ((XCVR_ADC_TRIMS_REG(base) & XCVR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM_MASK) >> XCVR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM_SHIFT) |
| #define XCVR_BRD_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM(base) (BME_UBFX32(&XCVR_ADC_TRIMS_REG(base), XCVR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM_SHIFT, XCVR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM_WIDTH)) |
| |
| /*! @brief Set the ADC_IREF_FLSH_RES_TRIM field to a new value. */ |
| #define XCVR_WR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM(base, value) (XCVR_RMW_ADC_TRIMS(base, XCVR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM_MASK, XCVR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM(value))) |
| #define XCVR_BWR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM(base, value) (BME_BFI32(&XCVR_ADC_TRIMS_REG(base), ((uint32_t)(value) << XCVR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM_SHIFT), XCVR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM_SHIFT, XCVR_ADC_TRIMS_ADC_IREF_FLSH_RES_TRIM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_TRIMS, field ADC_VCM_TRIM[10:8] (RW) |
| * |
| * This allows to trim the resistor value used to generate the reference current |
| * for the DACs. These bits are mislabeled and should be called |
| * ADC_IREF_DAC_RES_TRIM. The resistor values can be trimmed by +/-15%. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TRIMS_ADC_VCM_TRIM field. */ |
| #define XCVR_RD_ADC_TRIMS_ADC_VCM_TRIM(base) ((XCVR_ADC_TRIMS_REG(base) & XCVR_ADC_TRIMS_ADC_VCM_TRIM_MASK) >> XCVR_ADC_TRIMS_ADC_VCM_TRIM_SHIFT) |
| #define XCVR_BRD_ADC_TRIMS_ADC_VCM_TRIM(base) (BME_UBFX32(&XCVR_ADC_TRIMS_REG(base), XCVR_ADC_TRIMS_ADC_VCM_TRIM_SHIFT, XCVR_ADC_TRIMS_ADC_VCM_TRIM_WIDTH)) |
| |
| /*! @brief Set the ADC_VCM_TRIM field to a new value. */ |
| #define XCVR_WR_ADC_TRIMS_ADC_VCM_TRIM(base, value) (XCVR_RMW_ADC_TRIMS(base, XCVR_ADC_TRIMS_ADC_VCM_TRIM_MASK, XCVR_ADC_TRIMS_ADC_VCM_TRIM(value))) |
| #define XCVR_BWR_ADC_TRIMS_ADC_VCM_TRIM(base, value) (BME_BFI32(&XCVR_ADC_TRIMS_REG(base), ((uint32_t)(value) << XCVR_ADC_TRIMS_ADC_VCM_TRIM_SHIFT), XCVR_ADC_TRIMS_ADC_VCM_TRIM_SHIFT, XCVR_ADC_TRIMS_ADC_VCM_TRIM_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_ADC_TEST_CTRL - ADC Test Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_ADC_TEST_CTRL - ADC Test Control (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_ADC_TEST_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_ADC_TEST_CTRL(base) (XCVR_ADC_TEST_CTRL_REG(base)) |
| #define XCVR_WR_ADC_TEST_CTRL(base, value) (XCVR_ADC_TEST_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_ADC_TEST_CTRL(base, mask, value) (XCVR_WR_ADC_TEST_CTRL(base, (XCVR_RD_ADC_TEST_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_ADC_TEST_CTRL(base, value) (BME_OR32(&XCVR_ADC_TEST_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_ADC_TEST_CTRL(base, value) (BME_AND32(&XCVR_ADC_TEST_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_ADC_TEST_CTRL(base, value) (BME_XOR32(&XCVR_ADC_TEST_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_ADC_TEST_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_ADC_TEST_CTRL, field ADC_ATST_SEL[4:0] (RW) |
| * |
| * Allows to slect between the different ADC analog test modes.All other values |
| * are reserved. |
| * |
| * Values: |
| * - 0b00000 - Inject 5uA refrence current on ATST0 ,Inject 0.6V reference |
| * voltage on ATST1 |
| * - 0b00001 - Monitor Flash refrence currents on ATST3 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TEST_CTRL_ADC_ATST_SEL field. */ |
| #define XCVR_RD_ADC_TEST_CTRL_ADC_ATST_SEL(base) ((XCVR_ADC_TEST_CTRL_REG(base) & XCVR_ADC_TEST_CTRL_ADC_ATST_SEL_MASK) >> XCVR_ADC_TEST_CTRL_ADC_ATST_SEL_SHIFT) |
| #define XCVR_BRD_ADC_TEST_CTRL_ADC_ATST_SEL(base) (BME_UBFX32(&XCVR_ADC_TEST_CTRL_REG(base), XCVR_ADC_TEST_CTRL_ADC_ATST_SEL_SHIFT, XCVR_ADC_TEST_CTRL_ADC_ATST_SEL_WIDTH)) |
| |
| /*! @brief Set the ADC_ATST_SEL field to a new value. */ |
| #define XCVR_WR_ADC_TEST_CTRL_ADC_ATST_SEL(base, value) (XCVR_RMW_ADC_TEST_CTRL(base, XCVR_ADC_TEST_CTRL_ADC_ATST_SEL_MASK, XCVR_ADC_TEST_CTRL_ADC_ATST_SEL(value))) |
| #define XCVR_BWR_ADC_TEST_CTRL_ADC_ATST_SEL(base, value) (BME_BFI32(&XCVR_ADC_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_ADC_TEST_CTRL_ADC_ATST_SEL_SHIFT), XCVR_ADC_TEST_CTRL_ADC_ATST_SEL_SHIFT, XCVR_ADC_TEST_CTRL_ADC_ATST_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_TEST_CTRL, field ADC_DIG_REG_ATST_SEL[9:8] (RW) |
| * |
| * These bits control the what internal regualtor signals are connected to the |
| * ATST bus. register setting ATST0 00 No Connect 01 vout 10 vin feedback 11 vbias |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL field. */ |
| #define XCVR_RD_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL(base) ((XCVR_ADC_TEST_CTRL_REG(base) & XCVR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL_MASK) >> XCVR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL_SHIFT) |
| #define XCVR_BRD_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL(base) (BME_UBFX32(&XCVR_ADC_TEST_CTRL_REG(base), XCVR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL_SHIFT, XCVR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL_WIDTH)) |
| |
| /*! @brief Set the ADC_DIG_REG_ATST_SEL field to a new value. */ |
| #define XCVR_WR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL(base, value) (XCVR_RMW_ADC_TEST_CTRL(base, XCVR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL_MASK, XCVR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL(value))) |
| #define XCVR_BWR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL(base, value) (BME_BFI32(&XCVR_ADC_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL_SHIFT), XCVR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL_SHIFT, XCVR_ADC_TEST_CTRL_ADC_DIG_REG_ATST_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_TEST_CTRL, field ADC_ANA_REG_ATST_SEL[13:12] (RW) |
| * |
| * These bits control what internal signals are connected to the ATST bus. |
| * register setting ATST0 00 No Connect 01 vout 10 vin feedback 11 vbias |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL field. */ |
| #define XCVR_RD_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL(base) ((XCVR_ADC_TEST_CTRL_REG(base) & XCVR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL_MASK) >> XCVR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL_SHIFT) |
| #define XCVR_BRD_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL(base) (BME_UBFX32(&XCVR_ADC_TEST_CTRL_REG(base), XCVR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL_SHIFT, XCVR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL_WIDTH)) |
| |
| /*! @brief Set the ADC_ANA_REG_ATST_SEL field to a new value. */ |
| #define XCVR_WR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL(base, value) (XCVR_RMW_ADC_TEST_CTRL(base, XCVR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL_MASK, XCVR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL(value))) |
| #define XCVR_BWR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL(base, value) (BME_BFI32(&XCVR_ADC_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL_SHIFT), XCVR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL_SHIFT, XCVR_ADC_TEST_CTRL_ADC_ANA_REG_ATST_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_TEST_CTRL, field DCOC_ALPHA_RADIUS_GS_IDX[26:24] (RW) |
| * |
| * DCOC Alpha-R Scaling. This has the same definition as DCOC_ALPHA_RADIUS_IDX. |
| * The tracking estimator will switch from DCOC_ALPHA_RADIUS_IDX to |
| * DCOC_ALPHA_RADIUS_GS_IDX at the time specified by the DCOC_TRK_EST_GS_CNT. |
| * |
| * Values: |
| * - 0b000 - 1 |
| * - 0b001 - 1/2 |
| * - 0b010 - 1/4 |
| * - 0b011 - 1/8 |
| * - 0b100 - 1/16 |
| * - 0b101 - 1/32 |
| * - 0b110 - 1/64 |
| * - 0b111 - Reserved |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX field. */ |
| #define XCVR_RD_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX(base) ((XCVR_ADC_TEST_CTRL_REG(base) & XCVR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX_MASK) >> XCVR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX_SHIFT) |
| #define XCVR_BRD_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX(base) (BME_UBFX32(&XCVR_ADC_TEST_CTRL_REG(base), XCVR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX_SHIFT, XCVR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX_WIDTH)) |
| |
| /*! @brief Set the DCOC_ALPHA_RADIUS_GS_IDX field to a new value. */ |
| #define XCVR_WR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX(base, value) (XCVR_RMW_ADC_TEST_CTRL(base, XCVR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX_MASK, XCVR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX(value))) |
| #define XCVR_BWR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX(base, value) (BME_BFI32(&XCVR_ADC_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX_SHIFT), XCVR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX_SHIFT, XCVR_ADC_TEST_CTRL_DCOC_ALPHA_RADIUS_GS_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ADC_TEST_CTRL, field ADC_SPARE3[27] (RW) |
| * |
| * Spare Bit for future use |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ADC_TEST_CTRL_ADC_SPARE3 field. */ |
| #define XCVR_RD_ADC_TEST_CTRL_ADC_SPARE3(base) ((XCVR_ADC_TEST_CTRL_REG(base) & XCVR_ADC_TEST_CTRL_ADC_SPARE3_MASK) >> XCVR_ADC_TEST_CTRL_ADC_SPARE3_SHIFT) |
| #define XCVR_BRD_ADC_TEST_CTRL_ADC_SPARE3(base) (BME_UBFX32(&XCVR_ADC_TEST_CTRL_REG(base), XCVR_ADC_TEST_CTRL_ADC_SPARE3_SHIFT, XCVR_ADC_TEST_CTRL_ADC_SPARE3_WIDTH)) |
| |
| /*! @brief Set the ADC_SPARE3 field to a new value. */ |
| #define XCVR_WR_ADC_TEST_CTRL_ADC_SPARE3(base, value) (XCVR_RMW_ADC_TEST_CTRL(base, XCVR_ADC_TEST_CTRL_ADC_SPARE3_MASK, XCVR_ADC_TEST_CTRL_ADC_SPARE3(value))) |
| #define XCVR_BWR_ADC_TEST_CTRL_ADC_SPARE3(base, value) (BME_BFI32(&XCVR_ADC_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_ADC_TEST_CTRL_ADC_SPARE3_SHIFT), XCVR_ADC_TEST_CTRL_ADC_SPARE3_SHIFT, XCVR_ADC_TEST_CTRL_ADC_SPARE3_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_BBF_CTRL - Baseband Filter Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_BBF_CTRL - Baseband Filter Control (RW) |
| * |
| * Reset value: 0x00000173U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_BBF_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_BBF_CTRL(base) (XCVR_BBF_CTRL_REG(base)) |
| #define XCVR_WR_BBF_CTRL(base, value) (XCVR_BBF_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_BBF_CTRL(base, mask, value) (XCVR_WR_BBF_CTRL(base, (XCVR_RD_BBF_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_BBF_CTRL(base, value) (BME_OR32(&XCVR_BBF_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_BBF_CTRL(base, value) (BME_AND32(&XCVR_BBF_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_BBF_CTRL(base, value) (BME_XOR32(&XCVR_BBF_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_BBF_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_BBF_CTRL, field BBF_CAP_TUNE[3:0] (RW) |
| * |
| * This is programmbale capacitor values to change the corner frequency of the |
| * first baseband filter. This bit in combination with bbf_res_tune and |
| * tza_cap_tune determine the baseband filter response. The following table illustrates the |
| * composite filter responces based on the bit settings tza_cap bba_cap bba_res2 |
| * f3db(KHz) 0 0 0 1180 0 0 2 1077 0 0 5 1007 0 0 7 873.1 0 2 0 1119 0 2 2 1030 |
| * 0 2 5 968 0 2 7 846.2 0 5 0 980.5 0 5 2 917.9 0 5 5 872.5 0 5 7 777.6 0 7 0 |
| * 836.8 0 7 2 795.8 0 7 5 764.3 0 7 7 695.3 2 0 0 1096 2 0 2 1009 2 0 5 949.8 2 0 |
| * 7 832.2 2 2 0 1044 2 2 2 968.6 2 2 5 915.7 2 2 7 808.3 2 5 0 924.9 2 5 2 871.2 |
| * 2 5 5 831.4 2 5 7 746.8 2 7 0 798.2 2 7 2 762.2 2 7 5 734.2 2 7 7 671.9 5 0 0 |
| * 934.5 5 0 2 875.7 5 0 5 833.6 5 0 7 745.9 5 2 0 898.9 5 2 2 846.7 5 2 5 808.5 |
| * 5 2 7 727.9 5 5 0 813.3 5 5 2 774.6 5 5 5 745 5 5 7 680 5 7 0 717.4 5 7 2 |
| * 690.4 5 7 5 669 5 7 7 619.7 7 0 0 788.5 7 0 2 750.1 7 0 5 721.3 7 0 7 658.5 7 2 0 |
| * 765 7 2 2 730.2 7 2 5 703.7 7 2 7 645.2 7 5 0 705.7 7 5 2 678.8 7 5 5 657.7 7 |
| * 5 7 609.4 7 7 0 635.6 7 7 2 616 7 7 5 600.2 7 7 7 562.6 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_CTRL_BBF_CAP_TUNE field. */ |
| #define XCVR_RD_BBF_CTRL_BBF_CAP_TUNE(base) ((XCVR_BBF_CTRL_REG(base) & XCVR_BBF_CTRL_BBF_CAP_TUNE_MASK) >> XCVR_BBF_CTRL_BBF_CAP_TUNE_SHIFT) |
| #define XCVR_BRD_BBF_CTRL_BBF_CAP_TUNE(base) (BME_UBFX32(&XCVR_BBF_CTRL_REG(base), XCVR_BBF_CTRL_BBF_CAP_TUNE_SHIFT, XCVR_BBF_CTRL_BBF_CAP_TUNE_WIDTH)) |
| |
| /*! @brief Set the BBF_CAP_TUNE field to a new value. */ |
| #define XCVR_WR_BBF_CTRL_BBF_CAP_TUNE(base, value) (XCVR_RMW_BBF_CTRL(base, XCVR_BBF_CTRL_BBF_CAP_TUNE_MASK, XCVR_BBF_CTRL_BBF_CAP_TUNE(value))) |
| #define XCVR_BWR_BBF_CTRL_BBF_CAP_TUNE(base, value) (BME_BFI32(&XCVR_BBF_CTRL_REG(base), ((uint32_t)(value) << XCVR_BBF_CTRL_BBF_CAP_TUNE_SHIFT), XCVR_BBF_CTRL_BBF_CAP_TUNE_SHIFT, XCVR_BBF_CTRL_BBF_CAP_TUNE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_CTRL, field BBF_RES_TUNE2[7:4] (RW) |
| * |
| * This is the programmable resistor to change the corner frquency of the |
| * passive pole. The total f3db filter corner is determined by bbf_cap_tune and |
| * tza_cap_tune.See the description for bbf_cap_tune BBF_CAP_TUNEBBF_CAP_TUNE for the |
| * corner frequency values. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_CTRL_BBF_RES_TUNE2 field. */ |
| #define XCVR_RD_BBF_CTRL_BBF_RES_TUNE2(base) ((XCVR_BBF_CTRL_REG(base) & XCVR_BBF_CTRL_BBF_RES_TUNE2_MASK) >> XCVR_BBF_CTRL_BBF_RES_TUNE2_SHIFT) |
| #define XCVR_BRD_BBF_CTRL_BBF_RES_TUNE2(base) (BME_UBFX32(&XCVR_BBF_CTRL_REG(base), XCVR_BBF_CTRL_BBF_RES_TUNE2_SHIFT, XCVR_BBF_CTRL_BBF_RES_TUNE2_WIDTH)) |
| |
| /*! @brief Set the BBF_RES_TUNE2 field to a new value. */ |
| #define XCVR_WR_BBF_CTRL_BBF_RES_TUNE2(base, value) (XCVR_RMW_BBF_CTRL(base, XCVR_BBF_CTRL_BBF_RES_TUNE2_MASK, XCVR_BBF_CTRL_BBF_RES_TUNE2(value))) |
| #define XCVR_BWR_BBF_CTRL_BBF_RES_TUNE2(base, value) (BME_BFI32(&XCVR_BBF_CTRL_REG(base), ((uint32_t)(value) << XCVR_BBF_CTRL_BBF_RES_TUNE2_SHIFT), XCVR_BBF_CTRL_BBF_RES_TUNE2_SHIFT, XCVR_BBF_CTRL_BBF_RES_TUNE2_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_CTRL, field BBF_CUR_CNTL[8] (RW) |
| * |
| * This bit controls the current in the BBF and default is 1. When the bit is |
| * unset the total BBF current decreases by 350uA. |
| * |
| * Values: |
| * - 0b0 - Low current setting. |
| * - 0b1 - High current setting. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_CTRL_BBF_CUR_CNTL field. */ |
| #define XCVR_RD_BBF_CTRL_BBF_CUR_CNTL(base) ((XCVR_BBF_CTRL_REG(base) & XCVR_BBF_CTRL_BBF_CUR_CNTL_MASK) >> XCVR_BBF_CTRL_BBF_CUR_CNTL_SHIFT) |
| #define XCVR_BRD_BBF_CTRL_BBF_CUR_CNTL(base) (BME_UBFX32(&XCVR_BBF_CTRL_REG(base), XCVR_BBF_CTRL_BBF_CUR_CNTL_SHIFT, XCVR_BBF_CTRL_BBF_CUR_CNTL_WIDTH)) |
| |
| /*! @brief Set the BBF_CUR_CNTL field to a new value. */ |
| #define XCVR_WR_BBF_CTRL_BBF_CUR_CNTL(base, value) (XCVR_RMW_BBF_CTRL(base, XCVR_BBF_CTRL_BBF_CUR_CNTL_MASK, XCVR_BBF_CTRL_BBF_CUR_CNTL(value))) |
| #define XCVR_BWR_BBF_CTRL_BBF_CUR_CNTL(base, value) (BME_BFI32(&XCVR_BBF_CTRL_REG(base), ((uint32_t)(value) << XCVR_BBF_CTRL_BBF_CUR_CNTL_SHIFT), XCVR_BBF_CTRL_BBF_CUR_CNTL_SHIFT, XCVR_BBF_CTRL_BBF_CUR_CNTL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_CTRL, field BBF_DCOC_ON[9] (RW) |
| * |
| * Not currently connected. Was intended to enable the DCOC at the output of BBF |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_CTRL_BBF_DCOC_ON field. */ |
| #define XCVR_RD_BBF_CTRL_BBF_DCOC_ON(base) ((XCVR_BBF_CTRL_REG(base) & XCVR_BBF_CTRL_BBF_DCOC_ON_MASK) >> XCVR_BBF_CTRL_BBF_DCOC_ON_SHIFT) |
| #define XCVR_BRD_BBF_CTRL_BBF_DCOC_ON(base) (BME_UBFX32(&XCVR_BBF_CTRL_REG(base), XCVR_BBF_CTRL_BBF_DCOC_ON_SHIFT, XCVR_BBF_CTRL_BBF_DCOC_ON_WIDTH)) |
| |
| /*! @brief Set the BBF_DCOC_ON field to a new value. */ |
| #define XCVR_WR_BBF_CTRL_BBF_DCOC_ON(base, value) (XCVR_RMW_BBF_CTRL(base, XCVR_BBF_CTRL_BBF_DCOC_ON_MASK, XCVR_BBF_CTRL_BBF_DCOC_ON(value))) |
| #define XCVR_BWR_BBF_CTRL_BBF_DCOC_ON(base, value) (BME_BFI32(&XCVR_BBF_CTRL_REG(base), ((uint32_t)(value) << XCVR_BBF_CTRL_BBF_DCOC_ON_SHIFT), XCVR_BBF_CTRL_BBF_DCOC_ON_SHIFT, XCVR_BBF_CTRL_BBF_DCOC_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_CTRL, field BBF_TMUX_ON[11] (RW) |
| * |
| * This bit enables the test mode for the baseband filter block. The internal |
| * signals are brought to the the ATST bus based on the values of the rx_atst_sel. |
| * Refer to the description in the rx_atst_sel field. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_CTRL_BBF_TMUX_ON field. */ |
| #define XCVR_RD_BBF_CTRL_BBF_TMUX_ON(base) ((XCVR_BBF_CTRL_REG(base) & XCVR_BBF_CTRL_BBF_TMUX_ON_MASK) >> XCVR_BBF_CTRL_BBF_TMUX_ON_SHIFT) |
| #define XCVR_BRD_BBF_CTRL_BBF_TMUX_ON(base) (BME_UBFX32(&XCVR_BBF_CTRL_REG(base), XCVR_BBF_CTRL_BBF_TMUX_ON_SHIFT, XCVR_BBF_CTRL_BBF_TMUX_ON_WIDTH)) |
| |
| /*! @brief Set the BBF_TMUX_ON field to a new value. */ |
| #define XCVR_WR_BBF_CTRL_BBF_TMUX_ON(base, value) (XCVR_RMW_BBF_CTRL(base, XCVR_BBF_CTRL_BBF_TMUX_ON_MASK, XCVR_BBF_CTRL_BBF_TMUX_ON(value))) |
| #define XCVR_BWR_BBF_CTRL_BBF_TMUX_ON(base, value) (BME_BFI32(&XCVR_BBF_CTRL_REG(base), ((uint32_t)(value) << XCVR_BBF_CTRL_BBF_TMUX_ON_SHIFT), XCVR_BBF_CTRL_BBF_TMUX_ON_SHIFT, XCVR_BBF_CTRL_BBF_TMUX_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_CTRL, field DCOC_ALPHAC_SCALE_GS_IDX[13:12] (RW) |
| * |
| * DCOC Alpha-C Scaling. This has the same definition as DCOC_ALPHAC_SCALE_IDX. |
| * The tracking estimator will switch from DCOC_ALPHAC_SCALE_IDX to |
| * DCOC_ALPHAC_SCALE_GS_IDX at the time specified by the DCOC_TRK_EST_GS_CNT. |
| * |
| * Values: |
| * - 0b00 - 1/2 |
| * - 0b01 - 1/4 |
| * - 0b10 - 1/8 |
| * - 0b11 - 1/16 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX field. */ |
| #define XCVR_RD_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX(base) ((XCVR_BBF_CTRL_REG(base) & XCVR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX_MASK) >> XCVR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX_SHIFT) |
| #define XCVR_BRD_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX(base) (BME_UBFX32(&XCVR_BBF_CTRL_REG(base), XCVR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX_SHIFT, XCVR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX_WIDTH)) |
| |
| /*! @brief Set the DCOC_ALPHAC_SCALE_GS_IDX field to a new value. */ |
| #define XCVR_WR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX(base, value) (XCVR_RMW_BBF_CTRL(base, XCVR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX_MASK, XCVR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX(value))) |
| #define XCVR_BWR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX(base, value) (BME_BFI32(&XCVR_BBF_CTRL_REG(base), ((uint32_t)(value) << XCVR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX_SHIFT), XCVR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX_SHIFT, XCVR_BBF_CTRL_DCOC_ALPHAC_SCALE_GS_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BBF_CTRL, field BBF_SPARE_3_2[15:14] (RW) |
| * |
| * Spare Bits for future use |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BBF_CTRL_BBF_SPARE_3_2 field. */ |
| #define XCVR_RD_BBF_CTRL_BBF_SPARE_3_2(base) ((XCVR_BBF_CTRL_REG(base) & XCVR_BBF_CTRL_BBF_SPARE_3_2_MASK) >> XCVR_BBF_CTRL_BBF_SPARE_3_2_SHIFT) |
| #define XCVR_BRD_BBF_CTRL_BBF_SPARE_3_2(base) (BME_UBFX32(&XCVR_BBF_CTRL_REG(base), XCVR_BBF_CTRL_BBF_SPARE_3_2_SHIFT, XCVR_BBF_CTRL_BBF_SPARE_3_2_WIDTH)) |
| |
| /*! @brief Set the BBF_SPARE_3_2 field to a new value. */ |
| #define XCVR_WR_BBF_CTRL_BBF_SPARE_3_2(base, value) (XCVR_RMW_BBF_CTRL(base, XCVR_BBF_CTRL_BBF_SPARE_3_2_MASK, XCVR_BBF_CTRL_BBF_SPARE_3_2(value))) |
| #define XCVR_BWR_BBF_CTRL_BBF_SPARE_3_2(base, value) (BME_BFI32(&XCVR_BBF_CTRL_REG(base), ((uint32_t)(value) << XCVR_BBF_CTRL_BBF_SPARE_3_2_SHIFT), XCVR_BBF_CTRL_BBF_SPARE_3_2_SHIFT, XCVR_BBF_CTRL_BBF_SPARE_3_2_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_RX_ANA_CTRL - RX Analog Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_RX_ANA_CTRL - RX Analog Control (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_RX_ANA_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_RX_ANA_CTRL(base) (XCVR_RX_ANA_CTRL_REG(base)) |
| #define XCVR_WR_RX_ANA_CTRL(base, value) (XCVR_RX_ANA_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_RX_ANA_CTRL(base, mask, value) (XCVR_WR_RX_ANA_CTRL(base, (XCVR_RD_RX_ANA_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_RX_ANA_CTRL(base, value) (BME_OR32(&XCVR_RX_ANA_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_RX_ANA_CTRL(base, value) (BME_AND32(&XCVR_RX_ANA_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_RX_ANA_CTRL(base, value) (BME_XOR32(&XCVR_RX_ANA_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_RX_ANA_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_RX_ANA_CTRL, field RX_ATST_SEL[3:0] (RW) |
| * |
| * These bits select the different internal baseband signals to be made |
| * available on the ATST bus. The following table indicates the specific connection. All |
| * other combinations are not defined. The bit bbf_tmux_on BBF_TMUX_ONBBF_TMUX_ON |
| * needs to be enabled for the test mode to work. rx_atst_sel ATST0 ATST1 ATST2 |
| * ATST3 0000 half supply voltage bbf opamp common mode voltatge bbf_I_out |
| * bbf_I_ouxt 0001 bba_dcoc_I bba_dcoc_Ix bba_dcoc_Q bba_dcoc_Qx 0010 tza_out_I |
| * tza_out_Ix tza_out_Q tza_out_Qx 0011 peak det ref hi peak det ref lo peak det bias |
| * check tza common mode 0100 bbf_out_I bbf_out_Ix bbf_out_Q bbf_out_Qx 0101 |
| * tza_dcoc_I tza_dcoc_Ix tza_dcoc_Q tza_dcoc_Qx 0101 tza_in_I tza_in_Ix tza_out_I |
| * tza_out_Ix |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_ANA_CTRL_RX_ATST_SEL field. */ |
| #define XCVR_RD_RX_ANA_CTRL_RX_ATST_SEL(base) ((XCVR_RX_ANA_CTRL_REG(base) & XCVR_RX_ANA_CTRL_RX_ATST_SEL_MASK) >> XCVR_RX_ANA_CTRL_RX_ATST_SEL_SHIFT) |
| #define XCVR_BRD_RX_ANA_CTRL_RX_ATST_SEL(base) (BME_UBFX32(&XCVR_RX_ANA_CTRL_REG(base), XCVR_RX_ANA_CTRL_RX_ATST_SEL_SHIFT, XCVR_RX_ANA_CTRL_RX_ATST_SEL_WIDTH)) |
| |
| /*! @brief Set the RX_ATST_SEL field to a new value. */ |
| #define XCVR_WR_RX_ANA_CTRL_RX_ATST_SEL(base, value) (XCVR_RMW_RX_ANA_CTRL(base, XCVR_RX_ANA_CTRL_RX_ATST_SEL_MASK, XCVR_RX_ANA_CTRL_RX_ATST_SEL(value))) |
| #define XCVR_BWR_RX_ANA_CTRL_RX_ATST_SEL(base, value) (BME_BFI32(&XCVR_RX_ANA_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_ANA_CTRL_RX_ATST_SEL_SHIFT), XCVR_RX_ANA_CTRL_RX_ATST_SEL_SHIFT, XCVR_RX_ANA_CTRL_RX_ATST_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_ANA_CTRL, field IQMC_DC_GAIN_ADJ_EN[4] (RW) |
| * |
| * If set, the I/Q mismatch uses IQMC_DC_GAIN_ADJ during DCOC calibration. If |
| * clear, the I/Q mismatch uses IQMC_GAIN_ADJ. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN field. */ |
| #define XCVR_RD_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN(base) ((XCVR_RX_ANA_CTRL_REG(base) & XCVR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN_MASK) >> XCVR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN_SHIFT) |
| #define XCVR_BRD_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN(base) (BME_UBFX32(&XCVR_RX_ANA_CTRL_REG(base), XCVR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN_SHIFT, XCVR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN_WIDTH)) |
| |
| /*! @brief Set the IQMC_DC_GAIN_ADJ_EN field to a new value. */ |
| #define XCVR_WR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN(base, value) (XCVR_RMW_RX_ANA_CTRL(base, XCVR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN_MASK, XCVR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN(value))) |
| #define XCVR_BWR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN(base, value) (BME_BFI32(&XCVR_RX_ANA_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN_SHIFT), XCVR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN_SHIFT, XCVR_RX_ANA_CTRL_IQMC_DC_GAIN_ADJ_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_RX_ANA_CTRL, field LNM_SPARE_3_2_1[7:5] (RW) |
| * |
| * Spare Bits for future use |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_RX_ANA_CTRL_LNM_SPARE_3_2_1 field. */ |
| #define XCVR_RD_RX_ANA_CTRL_LNM_SPARE_3_2_1(base) ((XCVR_RX_ANA_CTRL_REG(base) & XCVR_RX_ANA_CTRL_LNM_SPARE_3_2_1_MASK) >> XCVR_RX_ANA_CTRL_LNM_SPARE_3_2_1_SHIFT) |
| #define XCVR_BRD_RX_ANA_CTRL_LNM_SPARE_3_2_1(base) (BME_UBFX32(&XCVR_RX_ANA_CTRL_REG(base), XCVR_RX_ANA_CTRL_LNM_SPARE_3_2_1_SHIFT, XCVR_RX_ANA_CTRL_LNM_SPARE_3_2_1_WIDTH)) |
| |
| /*! @brief Set the LNM_SPARE_3_2_1 field to a new value. */ |
| #define XCVR_WR_RX_ANA_CTRL_LNM_SPARE_3_2_1(base, value) (XCVR_RMW_RX_ANA_CTRL(base, XCVR_RX_ANA_CTRL_LNM_SPARE_3_2_1_MASK, XCVR_RX_ANA_CTRL_LNM_SPARE_3_2_1(value))) |
| #define XCVR_BWR_RX_ANA_CTRL_LNM_SPARE_3_2_1(base, value) (BME_BFI32(&XCVR_RX_ANA_CTRL_REG(base), ((uint32_t)(value) << XCVR_RX_ANA_CTRL_LNM_SPARE_3_2_1_SHIFT), XCVR_RX_ANA_CTRL_LNM_SPARE_3_2_1_SHIFT, XCVR_RX_ANA_CTRL_LNM_SPARE_3_2_1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_XTAL_CTRL - Crystal Oscillator Control Register 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_XTAL_CTRL - Crystal Oscillator Control Register 1 (RW) |
| * |
| * Reset value: 0x0ACAC177U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_XTAL_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_XTAL_CTRL(base) (XCVR_XTAL_CTRL_REG(base)) |
| #define XCVR_WR_XTAL_CTRL(base, value) (XCVR_XTAL_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_XTAL_CTRL(base, mask, value) (XCVR_WR_XTAL_CTRL(base, (XCVR_RD_XTAL_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_XTAL_CTRL(base, value) (BME_OR32(&XCVR_XTAL_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_XTAL_CTRL(base, value) (BME_AND32(&XCVR_XTAL_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_XTAL_CTRL(base, value) (BME_XOR32(&XCVR_XTAL_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_XTAL_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL, field XTAL_TRIM[7:0] (RW) |
| * |
| * Program the internal capacitor banks to trim the 32M Crytstal frequency. It |
| * has a trim range of ~2Khz |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL_XTAL_TRIM field. */ |
| #define XCVR_RD_XTAL_CTRL_XTAL_TRIM(base) ((XCVR_XTAL_CTRL_REG(base) & XCVR_XTAL_CTRL_XTAL_TRIM_MASK) >> XCVR_XTAL_CTRL_XTAL_TRIM_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL_XTAL_TRIM(base) (BME_UBFX32(&XCVR_XTAL_CTRL_REG(base), XCVR_XTAL_CTRL_XTAL_TRIM_SHIFT, XCVR_XTAL_CTRL_XTAL_TRIM_WIDTH)) |
| |
| /*! @brief Set the XTAL_TRIM field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL_XTAL_TRIM(base, value) (XCVR_RMW_XTAL_CTRL(base, XCVR_XTAL_CTRL_XTAL_TRIM_MASK, XCVR_XTAL_CTRL_XTAL_TRIM(value))) |
| #define XCVR_BWR_XTAL_CTRL_XTAL_TRIM(base, value) (BME_BFI32(&XCVR_XTAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL_XTAL_TRIM_SHIFT), XCVR_XTAL_CTRL_XTAL_TRIM_SHIFT, XCVR_XTAL_CTRL_XTAL_TRIM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL, field XTAL_GM[12:8] (RW) |
| * |
| * This is used adjust the gm of the Crystal core. All 0's is minimum gm and all |
| * 1's is maximum gm |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL_XTAL_GM field. */ |
| #define XCVR_RD_XTAL_CTRL_XTAL_GM(base) ((XCVR_XTAL_CTRL_REG(base) & XCVR_XTAL_CTRL_XTAL_GM_MASK) >> XCVR_XTAL_CTRL_XTAL_GM_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL_XTAL_GM(base) (BME_UBFX32(&XCVR_XTAL_CTRL_REG(base), XCVR_XTAL_CTRL_XTAL_GM_SHIFT, XCVR_XTAL_CTRL_XTAL_GM_WIDTH)) |
| |
| /*! @brief Set the XTAL_GM field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL_XTAL_GM(base, value) (XCVR_RMW_XTAL_CTRL(base, XCVR_XTAL_CTRL_XTAL_GM_MASK, XCVR_XTAL_CTRL_XTAL_GM(value))) |
| #define XCVR_BWR_XTAL_CTRL_XTAL_GM(base, value) (BME_BFI32(&XCVR_XTAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL_XTAL_GM_SHIFT), XCVR_XTAL_CTRL_XTAL_GM_SHIFT, XCVR_XTAL_CTRL_XTAL_GM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL, field XTAL_BYPASS[13] (RW) |
| * |
| * When this bit is set, the Crystal Oscillator is disabled and an external |
| * clock signal applied on the EXTAL pin is selected as the clock source. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL_XTAL_BYPASS field. */ |
| #define XCVR_RD_XTAL_CTRL_XTAL_BYPASS(base) ((XCVR_XTAL_CTRL_REG(base) & XCVR_XTAL_CTRL_XTAL_BYPASS_MASK) >> XCVR_XTAL_CTRL_XTAL_BYPASS_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL_XTAL_BYPASS(base) (BME_UBFX32(&XCVR_XTAL_CTRL_REG(base), XCVR_XTAL_CTRL_XTAL_BYPASS_SHIFT, XCVR_XTAL_CTRL_XTAL_BYPASS_WIDTH)) |
| |
| /*! @brief Set the XTAL_BYPASS field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL_XTAL_BYPASS(base, value) (XCVR_RMW_XTAL_CTRL(base, XCVR_XTAL_CTRL_XTAL_BYPASS_MASK, XCVR_XTAL_CTRL_XTAL_BYPASS(value))) |
| #define XCVR_BWR_XTAL_CTRL_XTAL_BYPASS(base, value) (BME_BFI32(&XCVR_XTAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL_XTAL_BYPASS_SHIFT), XCVR_XTAL_CTRL_XTAL_BYPASS_SHIFT, XCVR_XTAL_CTRL_XTAL_BYPASS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL, field XTAL_READY_COUNT_SEL[15:14] (RW) |
| * |
| * This selects the number of count cycles before xtal_ready goes high |
| * |
| * Values: |
| * - 0b00 - 1024 clock cycles |
| * - 0b01 - 2048 clock cycles |
| * - 0b10 - 4096 clock cycles |
| * - 0b11 - 8192 clock cycles |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL_XTAL_READY_COUNT_SEL field. */ |
| #define XCVR_RD_XTAL_CTRL_XTAL_READY_COUNT_SEL(base) ((XCVR_XTAL_CTRL_REG(base) & XCVR_XTAL_CTRL_XTAL_READY_COUNT_SEL_MASK) >> XCVR_XTAL_CTRL_XTAL_READY_COUNT_SEL_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL_XTAL_READY_COUNT_SEL(base) (BME_UBFX32(&XCVR_XTAL_CTRL_REG(base), XCVR_XTAL_CTRL_XTAL_READY_COUNT_SEL_SHIFT, XCVR_XTAL_CTRL_XTAL_READY_COUNT_SEL_WIDTH)) |
| |
| /*! @brief Set the XTAL_READY_COUNT_SEL field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL_XTAL_READY_COUNT_SEL(base, value) (XCVR_RMW_XTAL_CTRL(base, XCVR_XTAL_CTRL_XTAL_READY_COUNT_SEL_MASK, XCVR_XTAL_CTRL_XTAL_READY_COUNT_SEL(value))) |
| #define XCVR_BWR_XTAL_CTRL_XTAL_READY_COUNT_SEL(base, value) (BME_BFI32(&XCVR_XTAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL_XTAL_READY_COUNT_SEL_SHIFT), XCVR_XTAL_CTRL_XTAL_READY_COUNT_SEL_SHIFT, XCVR_XTAL_CTRL_XTAL_READY_COUNT_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL, field XTAL_COMP_BIAS_LO[20:16] (RW) |
| * |
| * These bits used to adjust the bias of the crystal Comparator when the |
| * transceiver is IDLE |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL_XTAL_COMP_BIAS_LO field. */ |
| #define XCVR_RD_XTAL_CTRL_XTAL_COMP_BIAS_LO(base) ((XCVR_XTAL_CTRL_REG(base) & XCVR_XTAL_CTRL_XTAL_COMP_BIAS_LO_MASK) >> XCVR_XTAL_CTRL_XTAL_COMP_BIAS_LO_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL_XTAL_COMP_BIAS_LO(base) (BME_UBFX32(&XCVR_XTAL_CTRL_REG(base), XCVR_XTAL_CTRL_XTAL_COMP_BIAS_LO_SHIFT, XCVR_XTAL_CTRL_XTAL_COMP_BIAS_LO_WIDTH)) |
| |
| /*! @brief Set the XTAL_COMP_BIAS_LO field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL_XTAL_COMP_BIAS_LO(base, value) (XCVR_RMW_XTAL_CTRL(base, XCVR_XTAL_CTRL_XTAL_COMP_BIAS_LO_MASK, XCVR_XTAL_CTRL_XTAL_COMP_BIAS_LO(value))) |
| #define XCVR_BWR_XTAL_CTRL_XTAL_COMP_BIAS_LO(base, value) (BME_BFI32(&XCVR_XTAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL_XTAL_COMP_BIAS_LO_SHIFT), XCVR_XTAL_CTRL_XTAL_COMP_BIAS_LO_SHIFT, XCVR_XTAL_CTRL_XTAL_COMP_BIAS_LO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL, field XTAL_ALC_START_512U[22] (RW) |
| * |
| * Values: |
| * - 0b0 - Start XTAL ALC at 256usec |
| * - 0b1 - Start XTAL ALC at 512usec |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL_XTAL_ALC_START_512U field. */ |
| #define XCVR_RD_XTAL_CTRL_XTAL_ALC_START_512U(base) ((XCVR_XTAL_CTRL_REG(base) & XCVR_XTAL_CTRL_XTAL_ALC_START_512U_MASK) >> XCVR_XTAL_CTRL_XTAL_ALC_START_512U_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL_XTAL_ALC_START_512U(base) (BME_UBFX32(&XCVR_XTAL_CTRL_REG(base), XCVR_XTAL_CTRL_XTAL_ALC_START_512U_SHIFT, XCVR_XTAL_CTRL_XTAL_ALC_START_512U_WIDTH)) |
| |
| /*! @brief Set the XTAL_ALC_START_512U field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL_XTAL_ALC_START_512U(base, value) (XCVR_RMW_XTAL_CTRL(base, XCVR_XTAL_CTRL_XTAL_ALC_START_512U_MASK, XCVR_XTAL_CTRL_XTAL_ALC_START_512U(value))) |
| #define XCVR_BWR_XTAL_CTRL_XTAL_ALC_START_512U(base, value) (BME_BFI32(&XCVR_XTAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL_XTAL_ALC_START_512U_SHIFT), XCVR_XTAL_CTRL_XTAL_ALC_START_512U_SHIFT, XCVR_XTAL_CTRL_XTAL_ALC_START_512U_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL, field XTAL_ALC_ON[23] (RW) |
| * |
| * enable the ALC for the xtal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL_XTAL_ALC_ON field. */ |
| #define XCVR_RD_XTAL_CTRL_XTAL_ALC_ON(base) ((XCVR_XTAL_CTRL_REG(base) & XCVR_XTAL_CTRL_XTAL_ALC_ON_MASK) >> XCVR_XTAL_CTRL_XTAL_ALC_ON_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL_XTAL_ALC_ON(base) (BME_UBFX32(&XCVR_XTAL_CTRL_REG(base), XCVR_XTAL_CTRL_XTAL_ALC_ON_SHIFT, XCVR_XTAL_CTRL_XTAL_ALC_ON_WIDTH)) |
| |
| /*! @brief Set the XTAL_ALC_ON field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL_XTAL_ALC_ON(base, value) (XCVR_RMW_XTAL_CTRL(base, XCVR_XTAL_CTRL_XTAL_ALC_ON_MASK, XCVR_XTAL_CTRL_XTAL_ALC_ON(value))) |
| #define XCVR_BWR_XTAL_CTRL_XTAL_ALC_ON(base, value) (BME_BFI32(&XCVR_XTAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL_XTAL_ALC_ON_SHIFT), XCVR_XTAL_CTRL_XTAL_ALC_ON_SHIFT, XCVR_XTAL_CTRL_XTAL_ALC_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL, field XTAL_COMP_BIAS_HI[28:24] (RW) |
| * |
| * These bits used to adjust the bias of the crystal Comparator when the |
| * transceiver is ACTIVE |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL_XTAL_COMP_BIAS_HI field. */ |
| #define XCVR_RD_XTAL_CTRL_XTAL_COMP_BIAS_HI(base) ((XCVR_XTAL_CTRL_REG(base) & XCVR_XTAL_CTRL_XTAL_COMP_BIAS_HI_MASK) >> XCVR_XTAL_CTRL_XTAL_COMP_BIAS_HI_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL_XTAL_COMP_BIAS_HI(base) (BME_UBFX32(&XCVR_XTAL_CTRL_REG(base), XCVR_XTAL_CTRL_XTAL_COMP_BIAS_HI_SHIFT, XCVR_XTAL_CTRL_XTAL_COMP_BIAS_HI_WIDTH)) |
| |
| /*! @brief Set the XTAL_COMP_BIAS_HI field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL_XTAL_COMP_BIAS_HI(base, value) (XCVR_RMW_XTAL_CTRL(base, XCVR_XTAL_CTRL_XTAL_COMP_BIAS_HI_MASK, XCVR_XTAL_CTRL_XTAL_COMP_BIAS_HI(value))) |
| #define XCVR_BWR_XTAL_CTRL_XTAL_COMP_BIAS_HI(base, value) (BME_BFI32(&XCVR_XTAL_CTRL_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL_XTAL_COMP_BIAS_HI_SHIFT), XCVR_XTAL_CTRL_XTAL_COMP_BIAS_HI_SHIFT, XCVR_XTAL_CTRL_XTAL_COMP_BIAS_HI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL, field XTAL_READY[31] (RO) |
| * |
| * The signal goes high after a number of cycles determined by |
| * xtal_ready_count_sel |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL_XTAL_READY field. */ |
| #define XCVR_RD_XTAL_CTRL_XTAL_READY(base) ((XCVR_XTAL_CTRL_REG(base) & XCVR_XTAL_CTRL_XTAL_READY_MASK) >> XCVR_XTAL_CTRL_XTAL_READY_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL_XTAL_READY(base) (BME_UBFX32(&XCVR_XTAL_CTRL_REG(base), XCVR_XTAL_CTRL_XTAL_READY_SHIFT, XCVR_XTAL_CTRL_XTAL_READY_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_XTAL_CTRL2 - Crystal Oscillator Control Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_XTAL_CTRL2 - Crystal Oscillator Control Register 2 (RW) |
| * |
| * Reset value: 0x00001000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_XTAL_CTRL2 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_XTAL_CTRL2(base) (XCVR_XTAL_CTRL2_REG(base)) |
| #define XCVR_WR_XTAL_CTRL2(base, value) (XCVR_XTAL_CTRL2_REG(base) = (value)) |
| #define XCVR_RMW_XTAL_CTRL2(base, mask, value) (XCVR_WR_XTAL_CTRL2(base, (XCVR_RD_XTAL_CTRL2(base) & ~(mask)) | (value))) |
| #define XCVR_SET_XTAL_CTRL2(base, value) (BME_OR32(&XCVR_XTAL_CTRL2_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_XTAL_CTRL2(base, value) (BME_AND32(&XCVR_XTAL_CTRL2_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_XTAL_CTRL2(base, value) (BME_XOR32(&XCVR_XTAL_CTRL2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_XTAL_CTRL2 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_REG_SUPPLY[3:0] (RW) |
| * |
| * Regulator trim bit to change the outputvoltage from 1.05 to 1.4V |
| * |
| * Values: |
| * - 0b0000 - 1.2V |
| * - 0b0001 - 1.05V |
| * - 0b0010 - 1.275V |
| * - 0b0011 - 1.3V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_REG_SUPPLY field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_REG_SUPPLY(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_REG_SUPPLY_MASK) >> XCVR_XTAL_CTRL2_XTAL_REG_SUPPLY_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_REG_SUPPLY(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_REG_SUPPLY_SHIFT, XCVR_XTAL_CTRL2_XTAL_REG_SUPPLY_WIDTH)) |
| |
| /*! @brief Set the XTAL_REG_SUPPLY field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_REG_SUPPLY(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_REG_SUPPLY_MASK, XCVR_XTAL_CTRL2_XTAL_REG_SUPPLY(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_REG_SUPPLY(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_REG_SUPPLY_SHIFT), XCVR_XTAL_CTRL2_XTAL_REG_SUPPLY_SHIFT, XCVR_XTAL_CTRL2_XTAL_REG_SUPPLY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_REG_BYPASS_ON[4] (RW) |
| * |
| * This register bit determines if the regulator is in bypass mode. When in |
| * bypass mode, the external voltage applied to the input of the regulator is |
| * presented at the regulator output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_REG_BYPASS_ON field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_REG_BYPASS_ON(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_REG_BYPASS_ON_MASK) >> XCVR_XTAL_CTRL2_XTAL_REG_BYPASS_ON_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_REG_BYPASS_ON(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_REG_BYPASS_ON_SHIFT, XCVR_XTAL_CTRL2_XTAL_REG_BYPASS_ON_WIDTH)) |
| |
| /*! @brief Set the XTAL_REG_BYPASS_ON field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_REG_BYPASS_ON(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_REG_BYPASS_ON_MASK, XCVR_XTAL_CTRL2_XTAL_REG_BYPASS_ON(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_REG_BYPASS_ON(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_REG_BYPASS_ON_SHIFT), XCVR_XTAL_CTRL2_XTAL_REG_BYPASS_ON_SHIFT, XCVR_XTAL_CTRL2_XTAL_REG_BYPASS_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_REG_ON_OVRD_ON[8] (RW) |
| * |
| * Mux select for the crystal regulator enable between normal operation (0) and |
| * test mode (1). The test signal is called xtal_reg_on_ovrd |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON_MASK) >> XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON_SHIFT, XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON_WIDTH)) |
| |
| /*! @brief Set the XTAL_REG_ON_OVRD_ON field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON_MASK, XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON_SHIFT), XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON_SHIFT, XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_REG_ON_OVRD[9] (RW) |
| * |
| * Enable for the xtal regulator in test mode (XTAL_REG_ON_OVRD_ON=1) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_REG_ON_OVRD(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_MASK) >> XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_REG_ON_OVRD(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_SHIFT, XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_WIDTH)) |
| |
| /*! @brief Set the XTAL_REG_ON_OVRD field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_REG_ON_OVRD(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_MASK, XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_REG_ON_OVRD(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_SHIFT), XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_SHIFT, XCVR_XTAL_CTRL2_XTAL_REG_ON_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_ON_OVRD_ON[10] (RW) |
| * |
| * mux select for the crystal enable between normal operation (0) and test mode |
| * (1) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_ON_OVRD_ON field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_ON_OVRD_ON(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_ON_OVRD_ON_MASK) >> XCVR_XTAL_CTRL2_XTAL_ON_OVRD_ON_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_ON_OVRD_ON(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_ON_OVRD_ON_SHIFT, XCVR_XTAL_CTRL2_XTAL_ON_OVRD_ON_WIDTH)) |
| |
| /*! @brief Set the XTAL_ON_OVRD_ON field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_ON_OVRD_ON(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_ON_OVRD_ON_MASK, XCVR_XTAL_CTRL2_XTAL_ON_OVRD_ON(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_ON_OVRD_ON(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_ON_OVRD_ON_SHIFT), XCVR_XTAL_CTRL2_XTAL_ON_OVRD_ON_SHIFT, XCVR_XTAL_CTRL2_XTAL_ON_OVRD_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_ON_OVRD[11] (RW) |
| * |
| * enable for the xtal in test mode (XTAL_ON_OVRD_ON=1) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_ON_OVRD field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_ON_OVRD(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_ON_OVRD_MASK) >> XCVR_XTAL_CTRL2_XTAL_ON_OVRD_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_ON_OVRD(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_ON_OVRD_SHIFT, XCVR_XTAL_CTRL2_XTAL_ON_OVRD_WIDTH)) |
| |
| /*! @brief Set the XTAL_ON_OVRD field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_ON_OVRD(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_ON_OVRD_MASK, XCVR_XTAL_CTRL2_XTAL_ON_OVRD(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_ON_OVRD(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_ON_OVRD_SHIFT), XCVR_XTAL_CTRL2_XTAL_ON_OVRD_SHIFT, XCVR_XTAL_CTRL2_XTAL_ON_OVRD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_DIG_CLK_OUT_ON[12] (RW) |
| * |
| * This bit gates the Crystal clock output |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON_MASK) >> XCVR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON_SHIFT, XCVR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON_WIDTH)) |
| |
| /*! @brief Set the XTAL_DIG_CLK_OUT_ON field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON_MASK, XCVR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON_SHIFT), XCVR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON_SHIFT, XCVR_XTAL_CTRL2_XTAL_DIG_CLK_OUT_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_REG_ATST_SEL[17:16] (RW) |
| * |
| * These bits control the what internal regualtor signals are connected to the |
| * ATST bus. register setting ATST0 00 No Connect 01 vout 10 vin feedback 11 vbias |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_REG_ATST_SEL field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_REG_ATST_SEL(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_REG_ATST_SEL_MASK) >> XCVR_XTAL_CTRL2_XTAL_REG_ATST_SEL_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_REG_ATST_SEL(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_REG_ATST_SEL_SHIFT, XCVR_XTAL_CTRL2_XTAL_REG_ATST_SEL_WIDTH)) |
| |
| /*! @brief Set the XTAL_REG_ATST_SEL field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_REG_ATST_SEL(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_REG_ATST_SEL_MASK, XCVR_XTAL_CTRL2_XTAL_REG_ATST_SEL(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_REG_ATST_SEL(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_REG_ATST_SEL_SHIFT), XCVR_XTAL_CTRL2_XTAL_REG_ATST_SEL_SHIFT, XCVR_XTAL_CTRL2_XTAL_REG_ATST_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_ATST_SEL[25:24] (RW) |
| * |
| * These bits are not used in this version of the chip. Since only one signal is |
| * brought out for test purposes, xtal_atst_on is used as the enable and sel |
| * signal |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_ATST_SEL field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_ATST_SEL(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_ATST_SEL_MASK) >> XCVR_XTAL_CTRL2_XTAL_ATST_SEL_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_ATST_SEL(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_ATST_SEL_SHIFT, XCVR_XTAL_CTRL2_XTAL_ATST_SEL_WIDTH)) |
| |
| /*! @brief Set the XTAL_ATST_SEL field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_ATST_SEL(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_ATST_SEL_MASK, XCVR_XTAL_CTRL2_XTAL_ATST_SEL(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_ATST_SEL(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_ATST_SEL_SHIFT), XCVR_XTAL_CTRL2_XTAL_ATST_SEL_SHIFT, XCVR_XTAL_CTRL2_XTAL_ATST_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_ATST_ON[26] (RW) |
| * |
| * This is the test mode for the xtal block. When this bit is set 32M clock is |
| * put on ATST2 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_ATST_ON field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_ATST_ON(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_ATST_ON_MASK) >> XCVR_XTAL_CTRL2_XTAL_ATST_ON_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_ATST_ON(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_ATST_ON_SHIFT, XCVR_XTAL_CTRL2_XTAL_ATST_ON_WIDTH)) |
| |
| /*! @brief Set the XTAL_ATST_ON field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_ATST_ON(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_ATST_ON_MASK, XCVR_XTAL_CTRL2_XTAL_ATST_ON(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_ATST_ON(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_ATST_ON_SHIFT), XCVR_XTAL_CTRL2_XTAL_ATST_ON_SHIFT, XCVR_XTAL_CTRL2_XTAL_ATST_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_XTAL_CTRL2, field XTAL_SPARE[31:28] (RW) |
| * |
| * Spare Bits for future use |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_XTAL_CTRL2_XTAL_SPARE field. */ |
| #define XCVR_RD_XTAL_CTRL2_XTAL_SPARE(base) ((XCVR_XTAL_CTRL2_REG(base) & XCVR_XTAL_CTRL2_XTAL_SPARE_MASK) >> XCVR_XTAL_CTRL2_XTAL_SPARE_SHIFT) |
| #define XCVR_BRD_XTAL_CTRL2_XTAL_SPARE(base) (BME_UBFX32(&XCVR_XTAL_CTRL2_REG(base), XCVR_XTAL_CTRL2_XTAL_SPARE_SHIFT, XCVR_XTAL_CTRL2_XTAL_SPARE_WIDTH)) |
| |
| /*! @brief Set the XTAL_SPARE field to a new value. */ |
| #define XCVR_WR_XTAL_CTRL2_XTAL_SPARE(base, value) (XCVR_RMW_XTAL_CTRL2(base, XCVR_XTAL_CTRL2_XTAL_SPARE_MASK, XCVR_XTAL_CTRL2_XTAL_SPARE(value))) |
| #define XCVR_BWR_XTAL_CTRL2_XTAL_SPARE(base, value) (BME_BFI32(&XCVR_XTAL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_XTAL_CTRL2_XTAL_SPARE_SHIFT), XCVR_XTAL_CTRL2_XTAL_SPARE_SHIFT, XCVR_XTAL_CTRL2_XTAL_SPARE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_BGAP_CTRL - Bandgap Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_BGAP_CTRL - Bandgap Control (RW) |
| * |
| * Reset value: 0x00000087U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_BGAP_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_BGAP_CTRL(base) (XCVR_BGAP_CTRL_REG(base)) |
| #define XCVR_WR_BGAP_CTRL(base, value) (XCVR_BGAP_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_BGAP_CTRL(base, mask, value) (XCVR_WR_BGAP_CTRL(base, (XCVR_RD_BGAP_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_BGAP_CTRL(base, value) (BME_OR32(&XCVR_BGAP_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_BGAP_CTRL(base, value) (BME_AND32(&XCVR_BGAP_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_BGAP_CTRL(base, value) (BME_XOR32(&XCVR_BGAP_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_BGAP_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_BGAP_CTRL, field BGAP_CURRENT_TRIM[3:0] (RW) |
| * |
| * Trim the 1uA bandgap current |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BGAP_CTRL_BGAP_CURRENT_TRIM field. */ |
| #define XCVR_RD_BGAP_CTRL_BGAP_CURRENT_TRIM(base) ((XCVR_BGAP_CTRL_REG(base) & XCVR_BGAP_CTRL_BGAP_CURRENT_TRIM_MASK) >> XCVR_BGAP_CTRL_BGAP_CURRENT_TRIM_SHIFT) |
| #define XCVR_BRD_BGAP_CTRL_BGAP_CURRENT_TRIM(base) (BME_UBFX32(&XCVR_BGAP_CTRL_REG(base), XCVR_BGAP_CTRL_BGAP_CURRENT_TRIM_SHIFT, XCVR_BGAP_CTRL_BGAP_CURRENT_TRIM_WIDTH)) |
| |
| /*! @brief Set the BGAP_CURRENT_TRIM field to a new value. */ |
| #define XCVR_WR_BGAP_CTRL_BGAP_CURRENT_TRIM(base, value) (XCVR_RMW_BGAP_CTRL(base, XCVR_BGAP_CTRL_BGAP_CURRENT_TRIM_MASK, XCVR_BGAP_CTRL_BGAP_CURRENT_TRIM(value))) |
| #define XCVR_BWR_BGAP_CTRL_BGAP_CURRENT_TRIM(base, value) (BME_BFI32(&XCVR_BGAP_CTRL_REG(base), ((uint32_t)(value) << XCVR_BGAP_CTRL_BGAP_CURRENT_TRIM_SHIFT), XCVR_BGAP_CTRL_BGAP_CURRENT_TRIM_SHIFT, XCVR_BGAP_CTRL_BGAP_CURRENT_TRIM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BGAP_CTRL, field BGAP_VOLTAGE_TRIM[7:4] (RW) |
| * |
| * Trim the bandgap voltage to 1V in 4mV steps |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BGAP_CTRL_BGAP_VOLTAGE_TRIM field. */ |
| #define XCVR_RD_BGAP_CTRL_BGAP_VOLTAGE_TRIM(base) ((XCVR_BGAP_CTRL_REG(base) & XCVR_BGAP_CTRL_BGAP_VOLTAGE_TRIM_MASK) >> XCVR_BGAP_CTRL_BGAP_VOLTAGE_TRIM_SHIFT) |
| #define XCVR_BRD_BGAP_CTRL_BGAP_VOLTAGE_TRIM(base) (BME_UBFX32(&XCVR_BGAP_CTRL_REG(base), XCVR_BGAP_CTRL_BGAP_VOLTAGE_TRIM_SHIFT, XCVR_BGAP_CTRL_BGAP_VOLTAGE_TRIM_WIDTH)) |
| |
| /*! @brief Set the BGAP_VOLTAGE_TRIM field to a new value. */ |
| #define XCVR_WR_BGAP_CTRL_BGAP_VOLTAGE_TRIM(base, value) (XCVR_RMW_BGAP_CTRL(base, XCVR_BGAP_CTRL_BGAP_VOLTAGE_TRIM_MASK, XCVR_BGAP_CTRL_BGAP_VOLTAGE_TRIM(value))) |
| #define XCVR_BWR_BGAP_CTRL_BGAP_VOLTAGE_TRIM(base, value) (BME_BFI32(&XCVR_BGAP_CTRL_REG(base), ((uint32_t)(value) << XCVR_BGAP_CTRL_BGAP_VOLTAGE_TRIM_SHIFT), XCVR_BGAP_CTRL_BGAP_VOLTAGE_TRIM_SHIFT, XCVR_BGAP_CTRL_BGAP_VOLTAGE_TRIM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BGAP_CTRL, field BGAP_ATST_SEL[11:8] (RW) |
| * |
| * Select what internal signals to bring out to ATST bus. bgap_atst_sel ATST2 |
| * ATST3 0000 1ua Unfiltered bgap Output 0001 2uA Internal X1 node of Bgap 0010 5uA |
| * Internal X2 node of Bgap 0011 10uA No Connect 0100 1uA ptat No Connect |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BGAP_CTRL_BGAP_ATST_SEL field. */ |
| #define XCVR_RD_BGAP_CTRL_BGAP_ATST_SEL(base) ((XCVR_BGAP_CTRL_REG(base) & XCVR_BGAP_CTRL_BGAP_ATST_SEL_MASK) >> XCVR_BGAP_CTRL_BGAP_ATST_SEL_SHIFT) |
| #define XCVR_BRD_BGAP_CTRL_BGAP_ATST_SEL(base) (BME_UBFX32(&XCVR_BGAP_CTRL_REG(base), XCVR_BGAP_CTRL_BGAP_ATST_SEL_SHIFT, XCVR_BGAP_CTRL_BGAP_ATST_SEL_WIDTH)) |
| |
| /*! @brief Set the BGAP_ATST_SEL field to a new value. */ |
| #define XCVR_WR_BGAP_CTRL_BGAP_ATST_SEL(base, value) (XCVR_RMW_BGAP_CTRL(base, XCVR_BGAP_CTRL_BGAP_ATST_SEL_MASK, XCVR_BGAP_CTRL_BGAP_ATST_SEL(value))) |
| #define XCVR_BWR_BGAP_CTRL_BGAP_ATST_SEL(base, value) (BME_BFI32(&XCVR_BGAP_CTRL_REG(base), ((uint32_t)(value) << XCVR_BGAP_CTRL_BGAP_ATST_SEL_SHIFT), XCVR_BGAP_CTRL_BGAP_ATST_SEL_SHIFT, XCVR_BGAP_CTRL_BGAP_ATST_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_BGAP_CTRL, field BGAP_ATST_ON[12] (RW) |
| * |
| * This bit enables the test mux for the bangap block. The different internal |
| * nodes of bandgap are connected to the ATST bus based on bgap_atst_sel bits. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_BGAP_CTRL_BGAP_ATST_ON field. */ |
| #define XCVR_RD_BGAP_CTRL_BGAP_ATST_ON(base) ((XCVR_BGAP_CTRL_REG(base) & XCVR_BGAP_CTRL_BGAP_ATST_ON_MASK) >> XCVR_BGAP_CTRL_BGAP_ATST_ON_SHIFT) |
| #define XCVR_BRD_BGAP_CTRL_BGAP_ATST_ON(base) (BME_UBFX32(&XCVR_BGAP_CTRL_REG(base), XCVR_BGAP_CTRL_BGAP_ATST_ON_SHIFT, XCVR_BGAP_CTRL_BGAP_ATST_ON_WIDTH)) |
| |
| /*! @brief Set the BGAP_ATST_ON field to a new value. */ |
| #define XCVR_WR_BGAP_CTRL_BGAP_ATST_ON(base, value) (XCVR_RMW_BGAP_CTRL(base, XCVR_BGAP_CTRL_BGAP_ATST_ON_MASK, XCVR_BGAP_CTRL_BGAP_ATST_ON(value))) |
| #define XCVR_BWR_BGAP_CTRL_BGAP_ATST_ON(base, value) (BME_BFI32(&XCVR_BGAP_CTRL_REG(base), ((uint32_t)(value) << XCVR_BGAP_CTRL_BGAP_ATST_ON_SHIFT), XCVR_BGAP_CTRL_BGAP_ATST_ON_SHIFT, XCVR_BGAP_CTRL_BGAP_ATST_ON_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_CTRL - PLL Control Register |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_CTRL - PLL Control Register (RW) |
| * |
| * Reset value: 0x00000023U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_CTRL(base) (XCVR_PLL_CTRL_REG(base)) |
| #define XCVR_WR_PLL_CTRL(base, value) (XCVR_PLL_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_PLL_CTRL(base, mask, value) (XCVR_WR_PLL_CTRL(base, (XCVR_RD_PLL_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_CTRL(base, value) (BME_OR32(&XCVR_PLL_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_CTRL(base, value) (BME_AND32(&XCVR_PLL_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_CTRL(base, value) (BME_XOR32(&XCVR_PLL_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL, field PLL_VCO_BIAS[2:0] (RW) |
| * |
| * Progammable current control for the VCO. The VCO current varies from 1.5mA to |
| * 2.1mA |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL_PLL_VCO_BIAS field. */ |
| #define XCVR_RD_PLL_CTRL_PLL_VCO_BIAS(base) ((XCVR_PLL_CTRL_REG(base) & XCVR_PLL_CTRL_PLL_VCO_BIAS_MASK) >> XCVR_PLL_CTRL_PLL_VCO_BIAS_SHIFT) |
| #define XCVR_BRD_PLL_CTRL_PLL_VCO_BIAS(base) (BME_UBFX32(&XCVR_PLL_CTRL_REG(base), XCVR_PLL_CTRL_PLL_VCO_BIAS_SHIFT, XCVR_PLL_CTRL_PLL_VCO_BIAS_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_BIAS field to a new value. */ |
| #define XCVR_WR_PLL_CTRL_PLL_VCO_BIAS(base, value) (XCVR_RMW_PLL_CTRL(base, XCVR_PLL_CTRL_PLL_VCO_BIAS_MASK, XCVR_PLL_CTRL_PLL_VCO_BIAS(value))) |
| #define XCVR_BWR_PLL_CTRL_PLL_VCO_BIAS(base, value) (BME_BFI32(&XCVR_PLL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL_PLL_VCO_BIAS_SHIFT), XCVR_PLL_CTRL_PLL_VCO_BIAS_SHIFT, XCVR_PLL_CTRL_PLL_VCO_BIAS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL, field PLL_LFILT_CNTL[6:4] (RW) |
| * |
| * Program the resistors in the loop filter to control the bandwith. |
| * Pll_lfilt_cntl First Pole Resistor Second Pole Resistor 000 25.6K 26K 001 20.8K 26K 010 |
| * 15.4K 26K 011 10.3K 26K 100 25.6K 100 101 20.8K 100 110 15.4K 100 111 10.3K 100 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL_PLL_LFILT_CNTL field. */ |
| #define XCVR_RD_PLL_CTRL_PLL_LFILT_CNTL(base) ((XCVR_PLL_CTRL_REG(base) & XCVR_PLL_CTRL_PLL_LFILT_CNTL_MASK) >> XCVR_PLL_CTRL_PLL_LFILT_CNTL_SHIFT) |
| #define XCVR_BRD_PLL_CTRL_PLL_LFILT_CNTL(base) (BME_UBFX32(&XCVR_PLL_CTRL_REG(base), XCVR_PLL_CTRL_PLL_LFILT_CNTL_SHIFT, XCVR_PLL_CTRL_PLL_LFILT_CNTL_WIDTH)) |
| |
| /*! @brief Set the PLL_LFILT_CNTL field to a new value. */ |
| #define XCVR_WR_PLL_CTRL_PLL_LFILT_CNTL(base, value) (XCVR_RMW_PLL_CTRL(base, XCVR_PLL_CTRL_PLL_LFILT_CNTL_MASK, XCVR_PLL_CTRL_PLL_LFILT_CNTL(value))) |
| #define XCVR_BWR_PLL_CTRL_PLL_LFILT_CNTL(base, value) (BME_BFI32(&XCVR_PLL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL_PLL_LFILT_CNTL_SHIFT), XCVR_PLL_CTRL_PLL_LFILT_CNTL_SHIFT, XCVR_PLL_CTRL_PLL_LFILT_CNTL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL, field PLL_REG_SUPPLY[11:8] (RW) |
| * |
| * Regulator trim bit to change the outputvoltage from 1.05 to 1.4V |
| * |
| * Values: |
| * - 0b0000 - 1.2V |
| * - 0b0001 - 1.05V |
| * - 0b0010 - 1.275V |
| * - 0b0011 - 1.3V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL_PLL_REG_SUPPLY field. */ |
| #define XCVR_RD_PLL_CTRL_PLL_REG_SUPPLY(base) ((XCVR_PLL_CTRL_REG(base) & XCVR_PLL_CTRL_PLL_REG_SUPPLY_MASK) >> XCVR_PLL_CTRL_PLL_REG_SUPPLY_SHIFT) |
| #define XCVR_BRD_PLL_CTRL_PLL_REG_SUPPLY(base) (BME_UBFX32(&XCVR_PLL_CTRL_REG(base), XCVR_PLL_CTRL_PLL_REG_SUPPLY_SHIFT, XCVR_PLL_CTRL_PLL_REG_SUPPLY_WIDTH)) |
| |
| /*! @brief Set the PLL_REG_SUPPLY field to a new value. */ |
| #define XCVR_WR_PLL_CTRL_PLL_REG_SUPPLY(base, value) (XCVR_RMW_PLL_CTRL(base, XCVR_PLL_CTRL_PLL_REG_SUPPLY_MASK, XCVR_PLL_CTRL_PLL_REG_SUPPLY(value))) |
| #define XCVR_BWR_PLL_CTRL_PLL_REG_SUPPLY(base, value) (BME_BFI32(&XCVR_PLL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL_PLL_REG_SUPPLY_SHIFT), XCVR_PLL_CTRL_PLL_REG_SUPPLY_SHIFT, XCVR_PLL_CTRL_PLL_REG_SUPPLY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL, field PLL_REG_BYPASS_ON[16] (RW) |
| * |
| * This register bit determines if the regulator is in bypass mode. When in |
| * bypass mode, the external voltage applied to the input of the regulator is |
| * presented at the regulator output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL_PLL_REG_BYPASS_ON field. */ |
| #define XCVR_RD_PLL_CTRL_PLL_REG_BYPASS_ON(base) ((XCVR_PLL_CTRL_REG(base) & XCVR_PLL_CTRL_PLL_REG_BYPASS_ON_MASK) >> XCVR_PLL_CTRL_PLL_REG_BYPASS_ON_SHIFT) |
| #define XCVR_BRD_PLL_CTRL_PLL_REG_BYPASS_ON(base) (BME_UBFX32(&XCVR_PLL_CTRL_REG(base), XCVR_PLL_CTRL_PLL_REG_BYPASS_ON_SHIFT, XCVR_PLL_CTRL_PLL_REG_BYPASS_ON_WIDTH)) |
| |
| /*! @brief Set the PLL_REG_BYPASS_ON field to a new value. */ |
| #define XCVR_WR_PLL_CTRL_PLL_REG_BYPASS_ON(base, value) (XCVR_RMW_PLL_CTRL(base, XCVR_PLL_CTRL_PLL_REG_BYPASS_ON_MASK, XCVR_PLL_CTRL_PLL_REG_BYPASS_ON(value))) |
| #define XCVR_BWR_PLL_CTRL_PLL_REG_BYPASS_ON(base, value) (BME_BFI32(&XCVR_PLL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL_PLL_REG_BYPASS_ON_SHIFT), XCVR_PLL_CTRL_PLL_REG_BYPASS_ON_SHIFT, XCVR_PLL_CTRL_PLL_REG_BYPASS_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL, field PLL_VCO_LDO_BYPASS[17] (RW) |
| * |
| * This register bit determines if the regulator is in bypass mode. When in |
| * bypass mode, the external voltage applied to the input of the regulator is |
| * presented at the regulator output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL_PLL_VCO_LDO_BYPASS field. */ |
| #define XCVR_RD_PLL_CTRL_PLL_VCO_LDO_BYPASS(base) ((XCVR_PLL_CTRL_REG(base) & XCVR_PLL_CTRL_PLL_VCO_LDO_BYPASS_MASK) >> XCVR_PLL_CTRL_PLL_VCO_LDO_BYPASS_SHIFT) |
| #define XCVR_BRD_PLL_CTRL_PLL_VCO_LDO_BYPASS(base) (BME_UBFX32(&XCVR_PLL_CTRL_REG(base), XCVR_PLL_CTRL_PLL_VCO_LDO_BYPASS_SHIFT, XCVR_PLL_CTRL_PLL_VCO_LDO_BYPASS_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_LDO_BYPASS field to a new value. */ |
| #define XCVR_WR_PLL_CTRL_PLL_VCO_LDO_BYPASS(base, value) (XCVR_RMW_PLL_CTRL(base, XCVR_PLL_CTRL_PLL_VCO_LDO_BYPASS_MASK, XCVR_PLL_CTRL_PLL_VCO_LDO_BYPASS(value))) |
| #define XCVR_BWR_PLL_CTRL_PLL_VCO_LDO_BYPASS(base, value) (BME_BFI32(&XCVR_PLL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL_PLL_VCO_LDO_BYPASS_SHIFT), XCVR_PLL_CTRL_PLL_VCO_LDO_BYPASS_SHIFT, XCVR_PLL_CTRL_PLL_VCO_LDO_BYPASS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL, field HPM_BIAS[30:24] (RW) |
| * |
| * Provides a (-64/+63 x 976.56 Hz) range of steps to adjust the HPM Array |
| * Mid-Point during modulation |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL_HPM_BIAS field. */ |
| #define XCVR_RD_PLL_CTRL_HPM_BIAS(base) ((XCVR_PLL_CTRL_REG(base) & XCVR_PLL_CTRL_HPM_BIAS_MASK) >> XCVR_PLL_CTRL_HPM_BIAS_SHIFT) |
| #define XCVR_BRD_PLL_CTRL_HPM_BIAS(base) (BME_UBFX32(&XCVR_PLL_CTRL_REG(base), XCVR_PLL_CTRL_HPM_BIAS_SHIFT, XCVR_PLL_CTRL_HPM_BIAS_WIDTH)) |
| |
| /*! @brief Set the HPM_BIAS field to a new value. */ |
| #define XCVR_WR_PLL_CTRL_HPM_BIAS(base, value) (XCVR_RMW_PLL_CTRL(base, XCVR_PLL_CTRL_HPM_BIAS_MASK, XCVR_PLL_CTRL_HPM_BIAS(value))) |
| #define XCVR_BWR_PLL_CTRL_HPM_BIAS(base, value) (BME_BFI32(&XCVR_PLL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL_HPM_BIAS_SHIFT), XCVR_PLL_CTRL_HPM_BIAS_SHIFT, XCVR_PLL_CTRL_HPM_BIAS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL, field PLL_VCO_SPARE7[31] (RW) |
| * |
| * Spare Bit for future use |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL_PLL_VCO_SPARE7 field. */ |
| #define XCVR_RD_PLL_CTRL_PLL_VCO_SPARE7(base) ((XCVR_PLL_CTRL_REG(base) & XCVR_PLL_CTRL_PLL_VCO_SPARE7_MASK) >> XCVR_PLL_CTRL_PLL_VCO_SPARE7_SHIFT) |
| #define XCVR_BRD_PLL_CTRL_PLL_VCO_SPARE7(base) (BME_UBFX32(&XCVR_PLL_CTRL_REG(base), XCVR_PLL_CTRL_PLL_VCO_SPARE7_SHIFT, XCVR_PLL_CTRL_PLL_VCO_SPARE7_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_SPARE7 field to a new value. */ |
| #define XCVR_WR_PLL_CTRL_PLL_VCO_SPARE7(base, value) (XCVR_RMW_PLL_CTRL(base, XCVR_PLL_CTRL_PLL_VCO_SPARE7_MASK, XCVR_PLL_CTRL_PLL_VCO_SPARE7(value))) |
| #define XCVR_BWR_PLL_CTRL_PLL_VCO_SPARE7(base, value) (BME_BFI32(&XCVR_PLL_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL_PLL_VCO_SPARE7_SHIFT), XCVR_PLL_CTRL_PLL_VCO_SPARE7_SHIFT, XCVR_PLL_CTRL_PLL_VCO_SPARE7_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_CTRL2 - PLL Control Register 2 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_CTRL2 - PLL Control Register 2 (RW) |
| * |
| * Reset value: 0x00000004U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_CTRL2 register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_CTRL2(base) (XCVR_PLL_CTRL2_REG(base)) |
| #define XCVR_WR_PLL_CTRL2(base, value) (XCVR_PLL_CTRL2_REG(base) = (value)) |
| #define XCVR_RMW_PLL_CTRL2(base, mask, value) (XCVR_WR_PLL_CTRL2(base, (XCVR_RD_PLL_CTRL2(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_CTRL2(base, value) (BME_OR32(&XCVR_PLL_CTRL2_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_CTRL2(base, value) (BME_AND32(&XCVR_PLL_CTRL2_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_CTRL2(base, value) (BME_XOR32(&XCVR_PLL_CTRL2_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_CTRL2 bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL2, field PLL_VCO_KV[2:0] (RW) |
| * |
| * These bits control the gain of the VCO. This is an additioanl knob to control |
| * the loop bandwitch of the PLL. All 0's correspond to minimum KV and all 1's |
| * correspond to max KV programmable |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL2_PLL_VCO_KV field. */ |
| #define XCVR_RD_PLL_CTRL2_PLL_VCO_KV(base) ((XCVR_PLL_CTRL2_REG(base) & XCVR_PLL_CTRL2_PLL_VCO_KV_MASK) >> XCVR_PLL_CTRL2_PLL_VCO_KV_SHIFT) |
| #define XCVR_BRD_PLL_CTRL2_PLL_VCO_KV(base) (BME_UBFX32(&XCVR_PLL_CTRL2_REG(base), XCVR_PLL_CTRL2_PLL_VCO_KV_SHIFT, XCVR_PLL_CTRL2_PLL_VCO_KV_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_KV field to a new value. */ |
| #define XCVR_WR_PLL_CTRL2_PLL_VCO_KV(base, value) (XCVR_RMW_PLL_CTRL2(base, XCVR_PLL_CTRL2_PLL_VCO_KV_MASK, XCVR_PLL_CTRL2_PLL_VCO_KV(value))) |
| #define XCVR_BWR_PLL_CTRL2_PLL_VCO_KV(base, value) (BME_BFI32(&XCVR_PLL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL2_PLL_VCO_KV_SHIFT), XCVR_PLL_CTRL2_PLL_VCO_KV_SHIFT, XCVR_PLL_CTRL2_PLL_VCO_KV_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL2, field PLL_KMOD_SLOPE[3] (RW) |
| * |
| * This bit controls the slope of the highport capacitor bank. When this bit is |
| * set the Kmod slope changes from 10Khz to 15Khz |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL2_PLL_KMOD_SLOPE field. */ |
| #define XCVR_RD_PLL_CTRL2_PLL_KMOD_SLOPE(base) ((XCVR_PLL_CTRL2_REG(base) & XCVR_PLL_CTRL2_PLL_KMOD_SLOPE_MASK) >> XCVR_PLL_CTRL2_PLL_KMOD_SLOPE_SHIFT) |
| #define XCVR_BRD_PLL_CTRL2_PLL_KMOD_SLOPE(base) (BME_UBFX32(&XCVR_PLL_CTRL2_REG(base), XCVR_PLL_CTRL2_PLL_KMOD_SLOPE_SHIFT, XCVR_PLL_CTRL2_PLL_KMOD_SLOPE_WIDTH)) |
| |
| /*! @brief Set the PLL_KMOD_SLOPE field to a new value. */ |
| #define XCVR_WR_PLL_CTRL2_PLL_KMOD_SLOPE(base, value) (XCVR_RMW_PLL_CTRL2(base, XCVR_PLL_CTRL2_PLL_KMOD_SLOPE_MASK, XCVR_PLL_CTRL2_PLL_KMOD_SLOPE(value))) |
| #define XCVR_BWR_PLL_CTRL2_PLL_KMOD_SLOPE(base, value) (BME_BFI32(&XCVR_PLL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL2_PLL_KMOD_SLOPE_SHIFT), XCVR_PLL_CTRL2_PLL_KMOD_SLOPE_SHIFT, XCVR_PLL_CTRL2_PLL_KMOD_SLOPE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL2, field PLL_VCO_REG_SUPPLY[5:4] (RW) |
| * |
| * Regulator trim bits to change the outputvoltage from 1.15 to 1.3V |
| * |
| * Values: |
| * - 0b00 - 1.15V |
| * - 0b01 - 1.2V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL2_PLL_VCO_REG_SUPPLY field. */ |
| #define XCVR_RD_PLL_CTRL2_PLL_VCO_REG_SUPPLY(base) ((XCVR_PLL_CTRL2_REG(base) & XCVR_PLL_CTRL2_PLL_VCO_REG_SUPPLY_MASK) >> XCVR_PLL_CTRL2_PLL_VCO_REG_SUPPLY_SHIFT) |
| #define XCVR_BRD_PLL_CTRL2_PLL_VCO_REG_SUPPLY(base) (BME_UBFX32(&XCVR_PLL_CTRL2_REG(base), XCVR_PLL_CTRL2_PLL_VCO_REG_SUPPLY_SHIFT, XCVR_PLL_CTRL2_PLL_VCO_REG_SUPPLY_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_REG_SUPPLY field to a new value. */ |
| #define XCVR_WR_PLL_CTRL2_PLL_VCO_REG_SUPPLY(base, value) (XCVR_RMW_PLL_CTRL2(base, XCVR_PLL_CTRL2_PLL_VCO_REG_SUPPLY_MASK, XCVR_PLL_CTRL2_PLL_VCO_REG_SUPPLY(value))) |
| #define XCVR_BWR_PLL_CTRL2_PLL_VCO_REG_SUPPLY(base, value) (BME_BFI32(&XCVR_PLL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL2_PLL_VCO_REG_SUPPLY_SHIFT), XCVR_PLL_CTRL2_PLL_VCO_REG_SUPPLY_SHIFT, XCVR_PLL_CTRL2_PLL_VCO_REG_SUPPLY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_CTRL2, field PLL_TMUX_ON[8] (RW) |
| * |
| * This bit enables the testmux inside the PLL and the different internal nodes |
| * are connected to ATST bus based on the pll_tmux_sel settings |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_CTRL2_PLL_TMUX_ON field. */ |
| #define XCVR_RD_PLL_CTRL2_PLL_TMUX_ON(base) ((XCVR_PLL_CTRL2_REG(base) & XCVR_PLL_CTRL2_PLL_TMUX_ON_MASK) >> XCVR_PLL_CTRL2_PLL_TMUX_ON_SHIFT) |
| #define XCVR_BRD_PLL_CTRL2_PLL_TMUX_ON(base) (BME_UBFX32(&XCVR_PLL_CTRL2_REG(base), XCVR_PLL_CTRL2_PLL_TMUX_ON_SHIFT, XCVR_PLL_CTRL2_PLL_TMUX_ON_WIDTH)) |
| |
| /*! @brief Set the PLL_TMUX_ON field to a new value. */ |
| #define XCVR_WR_PLL_CTRL2_PLL_TMUX_ON(base, value) (XCVR_RMW_PLL_CTRL2(base, XCVR_PLL_CTRL2_PLL_TMUX_ON_MASK, XCVR_PLL_CTRL2_PLL_TMUX_ON(value))) |
| #define XCVR_BWR_PLL_CTRL2_PLL_TMUX_ON(base, value) (BME_BFI32(&XCVR_PLL_CTRL2_REG(base), ((uint32_t)(value) << XCVR_PLL_CTRL2_PLL_TMUX_ON_SHIFT), XCVR_PLL_CTRL2_PLL_TMUX_ON_SHIFT, XCVR_PLL_CTRL2_PLL_TMUX_ON_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_PLL_TEST_CTRL - PLL Test Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_PLL_TEST_CTRL - PLL Test Control (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_PLL_TEST_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_PLL_TEST_CTRL(base) (XCVR_PLL_TEST_CTRL_REG(base)) |
| #define XCVR_WR_PLL_TEST_CTRL(base, value) (XCVR_PLL_TEST_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_PLL_TEST_CTRL(base, mask, value) (XCVR_WR_PLL_TEST_CTRL(base, (XCVR_RD_PLL_TEST_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_PLL_TEST_CTRL(base, value) (BME_OR32(&XCVR_PLL_TEST_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_PLL_TEST_CTRL(base, value) (BME_AND32(&XCVR_PLL_TEST_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_PLL_TEST_CTRL(base, value) (BME_XOR32(&XCVR_PLL_TEST_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_PLL_TEST_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_PLL_TEST_CTRL, field PLL_TMUX_SEL[1:0] (RW) |
| * |
| * Select what internal signals to bring out to ATST pins. PLL_TMUX_ON needs to |
| * be set. register setting ATST0 ATST1 ATST2 ATST3 00 precharge_filt xor_out |
| * pll_ref_xtal pll_ref_xtal_b 01 pll_sigma_delta_clk pll_loop_div_count[0] |
| * pll_loop_div_count[1] pll_loop_div_count[2] 10 pll_loop_div_count[3] |
| * pll_loop_div_count[4] pll_loop_div_count[8] No Connect 11 pll_ripple_counter_override_clk No |
| * Connect No Connect No Connect |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_TEST_CTRL_PLL_TMUX_SEL field. */ |
| #define XCVR_RD_PLL_TEST_CTRL_PLL_TMUX_SEL(base) ((XCVR_PLL_TEST_CTRL_REG(base) & XCVR_PLL_TEST_CTRL_PLL_TMUX_SEL_MASK) >> XCVR_PLL_TEST_CTRL_PLL_TMUX_SEL_SHIFT) |
| #define XCVR_BRD_PLL_TEST_CTRL_PLL_TMUX_SEL(base) (BME_UBFX32(&XCVR_PLL_TEST_CTRL_REG(base), XCVR_PLL_TEST_CTRL_PLL_TMUX_SEL_SHIFT, XCVR_PLL_TEST_CTRL_PLL_TMUX_SEL_WIDTH)) |
| |
| /*! @brief Set the PLL_TMUX_SEL field to a new value. */ |
| #define XCVR_WR_PLL_TEST_CTRL_PLL_TMUX_SEL(base, value) (XCVR_RMW_PLL_TEST_CTRL(base, XCVR_PLL_TEST_CTRL_PLL_TMUX_SEL_MASK, XCVR_PLL_TEST_CTRL_PLL_TMUX_SEL(value))) |
| #define XCVR_BWR_PLL_TEST_CTRL_PLL_TMUX_SEL(base, value) (BME_BFI32(&XCVR_PLL_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_TEST_CTRL_PLL_TMUX_SEL_SHIFT), XCVR_PLL_TEST_CTRL_PLL_TMUX_SEL_SHIFT, XCVR_PLL_TEST_CTRL_PLL_TMUX_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_TEST_CTRL, field PLL_VCO_REG_ATST[5:4] (RW) |
| * |
| * These bits determine what internal signals are connected to the ATST bus |
| * register setting ATST0 00 No Connect 01 vout 10 vin feedback 11 vbias |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_TEST_CTRL_PLL_VCO_REG_ATST field. */ |
| #define XCVR_RD_PLL_TEST_CTRL_PLL_VCO_REG_ATST(base) ((XCVR_PLL_TEST_CTRL_REG(base) & XCVR_PLL_TEST_CTRL_PLL_VCO_REG_ATST_MASK) >> XCVR_PLL_TEST_CTRL_PLL_VCO_REG_ATST_SHIFT) |
| #define XCVR_BRD_PLL_TEST_CTRL_PLL_VCO_REG_ATST(base) (BME_UBFX32(&XCVR_PLL_TEST_CTRL_REG(base), XCVR_PLL_TEST_CTRL_PLL_VCO_REG_ATST_SHIFT, XCVR_PLL_TEST_CTRL_PLL_VCO_REG_ATST_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_REG_ATST field to a new value. */ |
| #define XCVR_WR_PLL_TEST_CTRL_PLL_VCO_REG_ATST(base, value) (XCVR_RMW_PLL_TEST_CTRL(base, XCVR_PLL_TEST_CTRL_PLL_VCO_REG_ATST_MASK, XCVR_PLL_TEST_CTRL_PLL_VCO_REG_ATST(value))) |
| #define XCVR_BWR_PLL_TEST_CTRL_PLL_VCO_REG_ATST(base, value) (BME_BFI32(&XCVR_PLL_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_TEST_CTRL_PLL_VCO_REG_ATST_SHIFT), XCVR_PLL_TEST_CTRL_PLL_VCO_REG_ATST_SHIFT, XCVR_PLL_TEST_CTRL_PLL_VCO_REG_ATST_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_TEST_CTRL, field PLL_REG_ATST_SEL[9:8] (RW) |
| * |
| * These bits control the what internal regualtor signals are connected to the |
| * ATST bus. register setting ATST0 00 No Connect 01 vout 10 vin feedback 11 vbias |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_TEST_CTRL_PLL_REG_ATST_SEL field. */ |
| #define XCVR_RD_PLL_TEST_CTRL_PLL_REG_ATST_SEL(base) ((XCVR_PLL_TEST_CTRL_REG(base) & XCVR_PLL_TEST_CTRL_PLL_REG_ATST_SEL_MASK) >> XCVR_PLL_TEST_CTRL_PLL_REG_ATST_SEL_SHIFT) |
| #define XCVR_BRD_PLL_TEST_CTRL_PLL_REG_ATST_SEL(base) (BME_UBFX32(&XCVR_PLL_TEST_CTRL_REG(base), XCVR_PLL_TEST_CTRL_PLL_REG_ATST_SEL_SHIFT, XCVR_PLL_TEST_CTRL_PLL_REG_ATST_SEL_WIDTH)) |
| |
| /*! @brief Set the PLL_REG_ATST_SEL field to a new value. */ |
| #define XCVR_WR_PLL_TEST_CTRL_PLL_REG_ATST_SEL(base, value) (XCVR_RMW_PLL_TEST_CTRL(base, XCVR_PLL_TEST_CTRL_PLL_REG_ATST_SEL_MASK, XCVR_PLL_TEST_CTRL_PLL_REG_ATST_SEL(value))) |
| #define XCVR_BWR_PLL_TEST_CTRL_PLL_REG_ATST_SEL(base, value) (BME_BFI32(&XCVR_PLL_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_TEST_CTRL_PLL_REG_ATST_SEL_SHIFT), XCVR_PLL_TEST_CTRL_PLL_REG_ATST_SEL_SHIFT, XCVR_PLL_TEST_CTRL_PLL_REG_ATST_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_TEST_CTRL, field PLL_VCO_TEST_CLK_MODE[12] (RW) |
| * |
| * test mode for the VCO |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE field. */ |
| #define XCVR_RD_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE(base) ((XCVR_PLL_TEST_CTRL_REG(base) & XCVR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE_MASK) >> XCVR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE_SHIFT) |
| #define XCVR_BRD_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE(base) (BME_UBFX32(&XCVR_PLL_TEST_CTRL_REG(base), XCVR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE_SHIFT, XCVR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE_WIDTH)) |
| |
| /*! @brief Set the PLL_VCO_TEST_CLK_MODE field to a new value. */ |
| #define XCVR_WR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE(base, value) (XCVR_RMW_PLL_TEST_CTRL(base, XCVR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE_MASK, XCVR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE(value))) |
| #define XCVR_BWR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE(base, value) (BME_BFI32(&XCVR_PLL_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE_SHIFT), XCVR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE_SHIFT, XCVR_PLL_TEST_CTRL_PLL_VCO_TEST_CLK_MODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_TEST_CTRL, field PLL_FORCE_VTUNE_EXTERNALLY[13] (RW) |
| * |
| * Force VTUNE externally |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY field. */ |
| #define XCVR_RD_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY(base) ((XCVR_PLL_TEST_CTRL_REG(base) & XCVR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY_MASK) >> XCVR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY_SHIFT) |
| #define XCVR_BRD_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY(base) (BME_UBFX32(&XCVR_PLL_TEST_CTRL_REG(base), XCVR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY_SHIFT, XCVR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY_WIDTH)) |
| |
| /*! @brief Set the PLL_FORCE_VTUNE_EXTERNALLY field to a new value. */ |
| #define XCVR_WR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY(base, value) (XCVR_RMW_PLL_TEST_CTRL(base, XCVR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY_MASK, XCVR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY(value))) |
| #define XCVR_BWR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY(base, value) (BME_BFI32(&XCVR_PLL_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY_SHIFT), XCVR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY_SHIFT, XCVR_PLL_TEST_CTRL_PLL_FORCE_VTUNE_EXTERNALLY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_PLL_TEST_CTRL, field PLL_RIPPLE_COUNTER_TEST_MODE[14] (RW) |
| * |
| * PLL Ripple Counter Test Mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE field. */ |
| #define XCVR_RD_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE(base) ((XCVR_PLL_TEST_CTRL_REG(base) & XCVR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE_MASK) >> XCVR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE_SHIFT) |
| #define XCVR_BRD_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE(base) (BME_UBFX32(&XCVR_PLL_TEST_CTRL_REG(base), XCVR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE_SHIFT, XCVR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE_WIDTH)) |
| |
| /*! @brief Set the PLL_RIPPLE_COUNTER_TEST_MODE field to a new value. */ |
| #define XCVR_WR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE(base, value) (XCVR_RMW_PLL_TEST_CTRL(base, XCVR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE_MASK, XCVR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE(value))) |
| #define XCVR_BWR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE(base, value) (BME_BFI32(&XCVR_PLL_TEST_CTRL_REG(base), ((uint32_t)(value) << XCVR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE_SHIFT), XCVR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE_SHIFT, XCVR_PLL_TEST_CTRL_PLL_RIPPLE_COUNTER_TEST_MODE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_QGEN_CTRL - QGEN Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_QGEN_CTRL - QGEN Control (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_QGEN_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_QGEN_CTRL(base) (XCVR_QGEN_CTRL_REG(base)) |
| #define XCVR_WR_QGEN_CTRL(base, value) (XCVR_QGEN_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_QGEN_CTRL(base, mask, value) (XCVR_WR_QGEN_CTRL(base, (XCVR_RD_QGEN_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_QGEN_CTRL(base, value) (BME_OR32(&XCVR_QGEN_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_QGEN_CTRL(base, value) (BME_AND32(&XCVR_QGEN_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_QGEN_CTRL(base, value) (BME_XOR32(&XCVR_QGEN_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_QGEN_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_QGEN_CTRL, field QGEN_REG_SUPPLY[3:0] (RW) |
| * |
| * Regulator trim bits to change the output voltage from 1.05 to 1.4V |
| * |
| * Values: |
| * - 0b0000 - 1.2V |
| * - 0b0001 - 1.05V |
| * - 0b0010 - 1.275V |
| * - 0b0011 - 1.3V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_QGEN_CTRL_QGEN_REG_SUPPLY field. */ |
| #define XCVR_RD_QGEN_CTRL_QGEN_REG_SUPPLY(base) ((XCVR_QGEN_CTRL_REG(base) & XCVR_QGEN_CTRL_QGEN_REG_SUPPLY_MASK) >> XCVR_QGEN_CTRL_QGEN_REG_SUPPLY_SHIFT) |
| #define XCVR_BRD_QGEN_CTRL_QGEN_REG_SUPPLY(base) (BME_UBFX32(&XCVR_QGEN_CTRL_REG(base), XCVR_QGEN_CTRL_QGEN_REG_SUPPLY_SHIFT, XCVR_QGEN_CTRL_QGEN_REG_SUPPLY_WIDTH)) |
| |
| /*! @brief Set the QGEN_REG_SUPPLY field to a new value. */ |
| #define XCVR_WR_QGEN_CTRL_QGEN_REG_SUPPLY(base, value) (XCVR_RMW_QGEN_CTRL(base, XCVR_QGEN_CTRL_QGEN_REG_SUPPLY_MASK, XCVR_QGEN_CTRL_QGEN_REG_SUPPLY(value))) |
| #define XCVR_BWR_QGEN_CTRL_QGEN_REG_SUPPLY(base, value) (BME_BFI32(&XCVR_QGEN_CTRL_REG(base), ((uint32_t)(value) << XCVR_QGEN_CTRL_QGEN_REG_SUPPLY_SHIFT), XCVR_QGEN_CTRL_QGEN_REG_SUPPLY_SHIFT, XCVR_QGEN_CTRL_QGEN_REG_SUPPLY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_QGEN_CTRL, field QGEN_REG_ATST_SEL[7:4] (RW) |
| * |
| * These bits control the what internal regualtor signals are connected to the |
| * ATST bus. register setting ATST0 00 No Connect 01 vout 10 vin feedback 11 vbias |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_QGEN_CTRL_QGEN_REG_ATST_SEL field. */ |
| #define XCVR_RD_QGEN_CTRL_QGEN_REG_ATST_SEL(base) ((XCVR_QGEN_CTRL_REG(base) & XCVR_QGEN_CTRL_QGEN_REG_ATST_SEL_MASK) >> XCVR_QGEN_CTRL_QGEN_REG_ATST_SEL_SHIFT) |
| #define XCVR_BRD_QGEN_CTRL_QGEN_REG_ATST_SEL(base) (BME_UBFX32(&XCVR_QGEN_CTRL_REG(base), XCVR_QGEN_CTRL_QGEN_REG_ATST_SEL_SHIFT, XCVR_QGEN_CTRL_QGEN_REG_ATST_SEL_WIDTH)) |
| |
| /*! @brief Set the QGEN_REG_ATST_SEL field to a new value. */ |
| #define XCVR_WR_QGEN_CTRL_QGEN_REG_ATST_SEL(base, value) (XCVR_RMW_QGEN_CTRL(base, XCVR_QGEN_CTRL_QGEN_REG_ATST_SEL_MASK, XCVR_QGEN_CTRL_QGEN_REG_ATST_SEL(value))) |
| #define XCVR_BWR_QGEN_CTRL_QGEN_REG_ATST_SEL(base, value) (BME_BFI32(&XCVR_QGEN_CTRL_REG(base), ((uint32_t)(value) << XCVR_QGEN_CTRL_QGEN_REG_ATST_SEL_SHIFT), XCVR_QGEN_CTRL_QGEN_REG_ATST_SEL_SHIFT, XCVR_QGEN_CTRL_QGEN_REG_ATST_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_QGEN_CTRL, field QGEN_REG_BYPASS_ON[8] (RW) |
| * |
| * This register bit determines if the regulator is in bypass mode. When in |
| * bypass mode, the external voltage applied to the input of the regulator is |
| * presented at the regulator output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_QGEN_CTRL_QGEN_REG_BYPASS_ON field. */ |
| #define XCVR_RD_QGEN_CTRL_QGEN_REG_BYPASS_ON(base) ((XCVR_QGEN_CTRL_REG(base) & XCVR_QGEN_CTRL_QGEN_REG_BYPASS_ON_MASK) >> XCVR_QGEN_CTRL_QGEN_REG_BYPASS_ON_SHIFT) |
| #define XCVR_BRD_QGEN_CTRL_QGEN_REG_BYPASS_ON(base) (BME_UBFX32(&XCVR_QGEN_CTRL_REG(base), XCVR_QGEN_CTRL_QGEN_REG_BYPASS_ON_SHIFT, XCVR_QGEN_CTRL_QGEN_REG_BYPASS_ON_WIDTH)) |
| |
| /*! @brief Set the QGEN_REG_BYPASS_ON field to a new value. */ |
| #define XCVR_WR_QGEN_CTRL_QGEN_REG_BYPASS_ON(base, value) (XCVR_RMW_QGEN_CTRL(base, XCVR_QGEN_CTRL_QGEN_REG_BYPASS_ON_MASK, XCVR_QGEN_CTRL_QGEN_REG_BYPASS_ON(value))) |
| #define XCVR_BWR_QGEN_CTRL_QGEN_REG_BYPASS_ON(base, value) (BME_BFI32(&XCVR_QGEN_CTRL_REG(base), ((uint32_t)(value) << XCVR_QGEN_CTRL_QGEN_REG_BYPASS_ON_SHIFT), XCVR_QGEN_CTRL_QGEN_REG_BYPASS_ON_SHIFT, XCVR_QGEN_CTRL_QGEN_REG_BYPASS_ON_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TCA_CTRL - TCA Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TCA_CTRL - TCA Control (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TCA_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TCA_CTRL(base) (XCVR_TCA_CTRL_REG(base)) |
| #define XCVR_WR_TCA_CTRL(base, value) (XCVR_TCA_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_TCA_CTRL(base, mask, value) (XCVR_WR_TCA_CTRL(base, (XCVR_RD_TCA_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TCA_CTRL(base, value) (BME_OR32(&XCVR_TCA_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TCA_CTRL(base, value) (BME_AND32(&XCVR_TCA_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TCA_CTRL(base, value) (BME_XOR32(&XCVR_TCA_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TCA_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TCA_CTRL, field TCA_BIAS_CURR[1:0] (RW) |
| * |
| * Programmable bias currrent for the TCA |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_CTRL_TCA_BIAS_CURR field. */ |
| #define XCVR_RD_TCA_CTRL_TCA_BIAS_CURR(base) ((XCVR_TCA_CTRL_REG(base) & XCVR_TCA_CTRL_TCA_BIAS_CURR_MASK) >> XCVR_TCA_CTRL_TCA_BIAS_CURR_SHIFT) |
| #define XCVR_BRD_TCA_CTRL_TCA_BIAS_CURR(base) (BME_UBFX32(&XCVR_TCA_CTRL_REG(base), XCVR_TCA_CTRL_TCA_BIAS_CURR_SHIFT, XCVR_TCA_CTRL_TCA_BIAS_CURR_WIDTH)) |
| |
| /*! @brief Set the TCA_BIAS_CURR field to a new value. */ |
| #define XCVR_WR_TCA_CTRL_TCA_BIAS_CURR(base, value) (XCVR_RMW_TCA_CTRL(base, XCVR_TCA_CTRL_TCA_BIAS_CURR_MASK, XCVR_TCA_CTRL_TCA_BIAS_CURR(value))) |
| #define XCVR_BWR_TCA_CTRL_TCA_BIAS_CURR(base, value) (BME_BFI32(&XCVR_TCA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TCA_CTRL_TCA_BIAS_CURR_SHIFT), XCVR_TCA_CTRL_TCA_BIAS_CURR_SHIFT, XCVR_TCA_CTRL_TCA_BIAS_CURR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_CTRL, field TCA_LOW_PWR_ON[2] (RW) |
| * |
| * Enable the tca low power mode |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_CTRL_TCA_LOW_PWR_ON field. */ |
| #define XCVR_RD_TCA_CTRL_TCA_LOW_PWR_ON(base) ((XCVR_TCA_CTRL_REG(base) & XCVR_TCA_CTRL_TCA_LOW_PWR_ON_MASK) >> XCVR_TCA_CTRL_TCA_LOW_PWR_ON_SHIFT) |
| #define XCVR_BRD_TCA_CTRL_TCA_LOW_PWR_ON(base) (BME_UBFX32(&XCVR_TCA_CTRL_REG(base), XCVR_TCA_CTRL_TCA_LOW_PWR_ON_SHIFT, XCVR_TCA_CTRL_TCA_LOW_PWR_ON_WIDTH)) |
| |
| /*! @brief Set the TCA_LOW_PWR_ON field to a new value. */ |
| #define XCVR_WR_TCA_CTRL_TCA_LOW_PWR_ON(base, value) (XCVR_RMW_TCA_CTRL(base, XCVR_TCA_CTRL_TCA_LOW_PWR_ON_MASK, XCVR_TCA_CTRL_TCA_LOW_PWR_ON(value))) |
| #define XCVR_BWR_TCA_CTRL_TCA_LOW_PWR_ON(base, value) (BME_BFI32(&XCVR_TCA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TCA_CTRL_TCA_LOW_PWR_ON_SHIFT), XCVR_TCA_CTRL_TCA_LOW_PWR_ON_SHIFT, XCVR_TCA_CTRL_TCA_LOW_PWR_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_CTRL, field TCA_TX_REG_BYPASS_ON[3] (RW) |
| * |
| * This register bit determines if the regulator is in bypass mode. When in |
| * bypass mode, the external voltage applied to the input of the regulator is |
| * presented at the regulator output. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_CTRL_TCA_TX_REG_BYPASS_ON field. */ |
| #define XCVR_RD_TCA_CTRL_TCA_TX_REG_BYPASS_ON(base) ((XCVR_TCA_CTRL_REG(base) & XCVR_TCA_CTRL_TCA_TX_REG_BYPASS_ON_MASK) >> XCVR_TCA_CTRL_TCA_TX_REG_BYPASS_ON_SHIFT) |
| #define XCVR_BRD_TCA_CTRL_TCA_TX_REG_BYPASS_ON(base) (BME_UBFX32(&XCVR_TCA_CTRL_REG(base), XCVR_TCA_CTRL_TCA_TX_REG_BYPASS_ON_SHIFT, XCVR_TCA_CTRL_TCA_TX_REG_BYPASS_ON_WIDTH)) |
| |
| /*! @brief Set the TCA_TX_REG_BYPASS_ON field to a new value. */ |
| #define XCVR_WR_TCA_CTRL_TCA_TX_REG_BYPASS_ON(base, value) (XCVR_RMW_TCA_CTRL(base, XCVR_TCA_CTRL_TCA_TX_REG_BYPASS_ON_MASK, XCVR_TCA_CTRL_TCA_TX_REG_BYPASS_ON(value))) |
| #define XCVR_BWR_TCA_CTRL_TCA_TX_REG_BYPASS_ON(base, value) (BME_BFI32(&XCVR_TCA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TCA_CTRL_TCA_TX_REG_BYPASS_ON_SHIFT), XCVR_TCA_CTRL_TCA_TX_REG_BYPASS_ON_SHIFT, XCVR_TCA_CTRL_TCA_TX_REG_BYPASS_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_CTRL, field TCA_TX_REG_SUPPLY[7:4] (RW) |
| * |
| * Regulator trim bit to change the outputvoltage from 1.05 to 1.4V |
| * |
| * Values: |
| * - 0b0000 - 1.2V |
| * - 0b0001 - 1.05V |
| * - 0b0010 - 1.275V |
| * - 0b0011 - 1.3V |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_CTRL_TCA_TX_REG_SUPPLY field. */ |
| #define XCVR_RD_TCA_CTRL_TCA_TX_REG_SUPPLY(base) ((XCVR_TCA_CTRL_REG(base) & XCVR_TCA_CTRL_TCA_TX_REG_SUPPLY_MASK) >> XCVR_TCA_CTRL_TCA_TX_REG_SUPPLY_SHIFT) |
| #define XCVR_BRD_TCA_CTRL_TCA_TX_REG_SUPPLY(base) (BME_UBFX32(&XCVR_TCA_CTRL_REG(base), XCVR_TCA_CTRL_TCA_TX_REG_SUPPLY_SHIFT, XCVR_TCA_CTRL_TCA_TX_REG_SUPPLY_WIDTH)) |
| |
| /*! @brief Set the TCA_TX_REG_SUPPLY field to a new value. */ |
| #define XCVR_WR_TCA_CTRL_TCA_TX_REG_SUPPLY(base, value) (XCVR_RMW_TCA_CTRL(base, XCVR_TCA_CTRL_TCA_TX_REG_SUPPLY_MASK, XCVR_TCA_CTRL_TCA_TX_REG_SUPPLY(value))) |
| #define XCVR_BWR_TCA_CTRL_TCA_TX_REG_SUPPLY(base, value) (BME_BFI32(&XCVR_TCA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TCA_CTRL_TCA_TX_REG_SUPPLY_SHIFT), XCVR_TCA_CTRL_TCA_TX_REG_SUPPLY_SHIFT, XCVR_TCA_CTRL_TCA_TX_REG_SUPPLY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TCA_CTRL, field TCA_TX_REG_ATST_SEL[9:8] (RW) |
| * |
| * These bits determine what internal signals to connect to ATST bus register |
| * setting ATST0 00 No Connect 01 vout 10 vin feedback 11 vbias |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TCA_CTRL_TCA_TX_REG_ATST_SEL field. */ |
| #define XCVR_RD_TCA_CTRL_TCA_TX_REG_ATST_SEL(base) ((XCVR_TCA_CTRL_REG(base) & XCVR_TCA_CTRL_TCA_TX_REG_ATST_SEL_MASK) >> XCVR_TCA_CTRL_TCA_TX_REG_ATST_SEL_SHIFT) |
| #define XCVR_BRD_TCA_CTRL_TCA_TX_REG_ATST_SEL(base) (BME_UBFX32(&XCVR_TCA_CTRL_REG(base), XCVR_TCA_CTRL_TCA_TX_REG_ATST_SEL_SHIFT, XCVR_TCA_CTRL_TCA_TX_REG_ATST_SEL_WIDTH)) |
| |
| /*! @brief Set the TCA_TX_REG_ATST_SEL field to a new value. */ |
| #define XCVR_WR_TCA_CTRL_TCA_TX_REG_ATST_SEL(base, value) (XCVR_RMW_TCA_CTRL(base, XCVR_TCA_CTRL_TCA_TX_REG_ATST_SEL_MASK, XCVR_TCA_CTRL_TCA_TX_REG_ATST_SEL(value))) |
| #define XCVR_BWR_TCA_CTRL_TCA_TX_REG_ATST_SEL(base, value) (BME_BFI32(&XCVR_TCA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TCA_CTRL_TCA_TX_REG_ATST_SEL_SHIFT), XCVR_TCA_CTRL_TCA_TX_REG_ATST_SEL_SHIFT, XCVR_TCA_CTRL_TCA_TX_REG_ATST_SEL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TZA_CTRL - TZA Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TZA_CTRL - TZA Control (RW) |
| * |
| * Reset value: 0x00000044U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TZA_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TZA_CTRL(base) (XCVR_TZA_CTRL_REG(base)) |
| #define XCVR_WR_TZA_CTRL(base, value) (XCVR_TZA_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_TZA_CTRL(base, mask, value) (XCVR_WR_TZA_CTRL(base, (XCVR_RD_TZA_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TZA_CTRL(base, value) (BME_OR32(&XCVR_TZA_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TZA_CTRL(base, value) (BME_AND32(&XCVR_TZA_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TZA_CTRL(base, value) (BME_XOR32(&XCVR_TZA_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TZA_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TZA_CTRL, field TZA_CAP_TUNE[3:0] (RW) |
| * |
| * The bits sets the f3dB filter corner for the TZA block. This in combination |
| * with bbf_cap_tune and bbf_res_tune2 determine the baseband filter response.Look |
| * for the f3db corner here BBF_CAP_TUNEBBF_CAP_TUNE |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TZA_CTRL_TZA_CAP_TUNE field. */ |
| #define XCVR_RD_TZA_CTRL_TZA_CAP_TUNE(base) ((XCVR_TZA_CTRL_REG(base) & XCVR_TZA_CTRL_TZA_CAP_TUNE_MASK) >> XCVR_TZA_CTRL_TZA_CAP_TUNE_SHIFT) |
| #define XCVR_BRD_TZA_CTRL_TZA_CAP_TUNE(base) (BME_UBFX32(&XCVR_TZA_CTRL_REG(base), XCVR_TZA_CTRL_TZA_CAP_TUNE_SHIFT, XCVR_TZA_CTRL_TZA_CAP_TUNE_WIDTH)) |
| |
| /*! @brief Set the TZA_CAP_TUNE field to a new value. */ |
| #define XCVR_WR_TZA_CTRL_TZA_CAP_TUNE(base, value) (XCVR_RMW_TZA_CTRL(base, XCVR_TZA_CTRL_TZA_CAP_TUNE_MASK, XCVR_TZA_CTRL_TZA_CAP_TUNE(value))) |
| #define XCVR_BWR_TZA_CTRL_TZA_CAP_TUNE(base, value) (BME_BFI32(&XCVR_TZA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TZA_CTRL_TZA_CAP_TUNE_SHIFT), XCVR_TZA_CTRL_TZA_CAP_TUNE_SHIFT, XCVR_TZA_CTRL_TZA_CAP_TUNE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TZA_CTRL, field TZA_GAIN[4] (RW) |
| * |
| * Change the TZA gain. It is not used in this version of silicon. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TZA_CTRL_TZA_GAIN field. */ |
| #define XCVR_RD_TZA_CTRL_TZA_GAIN(base) ((XCVR_TZA_CTRL_REG(base) & XCVR_TZA_CTRL_TZA_GAIN_MASK) >> XCVR_TZA_CTRL_TZA_GAIN_SHIFT) |
| #define XCVR_BRD_TZA_CTRL_TZA_GAIN(base) (BME_UBFX32(&XCVR_TZA_CTRL_REG(base), XCVR_TZA_CTRL_TZA_GAIN_SHIFT, XCVR_TZA_CTRL_TZA_GAIN_WIDTH)) |
| |
| /*! @brief Set the TZA_GAIN field to a new value. */ |
| #define XCVR_WR_TZA_CTRL_TZA_GAIN(base, value) (XCVR_RMW_TZA_CTRL(base, XCVR_TZA_CTRL_TZA_GAIN_MASK, XCVR_TZA_CTRL_TZA_GAIN(value))) |
| #define XCVR_BWR_TZA_CTRL_TZA_GAIN(base, value) (BME_BFI32(&XCVR_TZA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TZA_CTRL_TZA_GAIN_SHIFT), XCVR_TZA_CTRL_TZA_GAIN_SHIFT, XCVR_TZA_CTRL_TZA_GAIN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TZA_CTRL, field TZA_DCOC_ON[5] (RW) |
| * |
| * Not currently connected. Was intended to enable the DCOC DAC at the output of |
| * the TZA |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TZA_CTRL_TZA_DCOC_ON field. */ |
| #define XCVR_RD_TZA_CTRL_TZA_DCOC_ON(base) ((XCVR_TZA_CTRL_REG(base) & XCVR_TZA_CTRL_TZA_DCOC_ON_MASK) >> XCVR_TZA_CTRL_TZA_DCOC_ON_SHIFT) |
| #define XCVR_BRD_TZA_CTRL_TZA_DCOC_ON(base) (BME_UBFX32(&XCVR_TZA_CTRL_REG(base), XCVR_TZA_CTRL_TZA_DCOC_ON_SHIFT, XCVR_TZA_CTRL_TZA_DCOC_ON_WIDTH)) |
| |
| /*! @brief Set the TZA_DCOC_ON field to a new value. */ |
| #define XCVR_WR_TZA_CTRL_TZA_DCOC_ON(base, value) (XCVR_RMW_TZA_CTRL(base, XCVR_TZA_CTRL_TZA_DCOC_ON_MASK, XCVR_TZA_CTRL_TZA_DCOC_ON(value))) |
| #define XCVR_BWR_TZA_CTRL_TZA_DCOC_ON(base, value) (BME_BFI32(&XCVR_TZA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TZA_CTRL_TZA_DCOC_ON_SHIFT), XCVR_TZA_CTRL_TZA_DCOC_ON_SHIFT, XCVR_TZA_CTRL_TZA_DCOC_ON_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TZA_CTRL, field TZA_CUR_CNTL[7:6] (RW) |
| * |
| * Program the current in TZA. The TZA current is varied from 510uA to 2.1mA |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TZA_CTRL_TZA_CUR_CNTL field. */ |
| #define XCVR_RD_TZA_CTRL_TZA_CUR_CNTL(base) ((XCVR_TZA_CTRL_REG(base) & XCVR_TZA_CTRL_TZA_CUR_CNTL_MASK) >> XCVR_TZA_CTRL_TZA_CUR_CNTL_SHIFT) |
| #define XCVR_BRD_TZA_CTRL_TZA_CUR_CNTL(base) (BME_UBFX32(&XCVR_TZA_CTRL_REG(base), XCVR_TZA_CTRL_TZA_CUR_CNTL_SHIFT, XCVR_TZA_CTRL_TZA_CUR_CNTL_WIDTH)) |
| |
| /*! @brief Set the TZA_CUR_CNTL field to a new value. */ |
| #define XCVR_WR_TZA_CTRL_TZA_CUR_CNTL(base, value) (XCVR_RMW_TZA_CTRL(base, XCVR_TZA_CTRL_TZA_CUR_CNTL_MASK, XCVR_TZA_CTRL_TZA_CUR_CNTL(value))) |
| #define XCVR_BWR_TZA_CTRL_TZA_CUR_CNTL(base, value) (BME_BFI32(&XCVR_TZA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TZA_CTRL_TZA_CUR_CNTL_SHIFT), XCVR_TZA_CTRL_TZA_CUR_CNTL_SHIFT, XCVR_TZA_CTRL_TZA_CUR_CNTL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_TZA_CTRL, field TZA_SPARE[23:20] (RW) |
| * |
| * Spare Bits for future use |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TZA_CTRL_TZA_SPARE field. */ |
| #define XCVR_RD_TZA_CTRL_TZA_SPARE(base) ((XCVR_TZA_CTRL_REG(base) & XCVR_TZA_CTRL_TZA_SPARE_MASK) >> XCVR_TZA_CTRL_TZA_SPARE_SHIFT) |
| #define XCVR_BRD_TZA_CTRL_TZA_SPARE(base) (BME_UBFX32(&XCVR_TZA_CTRL_REG(base), XCVR_TZA_CTRL_TZA_SPARE_SHIFT, XCVR_TZA_CTRL_TZA_SPARE_WIDTH)) |
| |
| /*! @brief Set the TZA_SPARE field to a new value. */ |
| #define XCVR_WR_TZA_CTRL_TZA_SPARE(base, value) (XCVR_RMW_TZA_CTRL(base, XCVR_TZA_CTRL_TZA_SPARE_MASK, XCVR_TZA_CTRL_TZA_SPARE(value))) |
| #define XCVR_BWR_TZA_CTRL_TZA_SPARE(base, value) (BME_BFI32(&XCVR_TZA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TZA_CTRL_TZA_SPARE_SHIFT), XCVR_TZA_CTRL_TZA_SPARE_SHIFT, XCVR_TZA_CTRL_TZA_SPARE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_TX_ANA_CTRL - TX Analog Control |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_TX_ANA_CTRL - TX Analog Control (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_TX_ANA_CTRL register |
| */ |
| /*@{*/ |
| #define XCVR_RD_TX_ANA_CTRL(base) (XCVR_TX_ANA_CTRL_REG(base)) |
| #define XCVR_WR_TX_ANA_CTRL(base, value) (XCVR_TX_ANA_CTRL_REG(base) = (value)) |
| #define XCVR_RMW_TX_ANA_CTRL(base, mask, value) (XCVR_WR_TX_ANA_CTRL(base, (XCVR_RD_TX_ANA_CTRL(base) & ~(mask)) | (value))) |
| #define XCVR_SET_TX_ANA_CTRL(base, value) (BME_OR32(&XCVR_TX_ANA_CTRL_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_TX_ANA_CTRL(base, value) (BME_AND32(&XCVR_TX_ANA_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_TX_ANA_CTRL(base, value) (BME_XOR32(&XCVR_TX_ANA_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_TX_ANA_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_TX_ANA_CTRL, field HPM_CAL_ADJUST[3:0] (RW) |
| * |
| * Provides a (-8/+7) range of adjustment to the HPM Calibration Count |
| * Difference for the HPM Calibration lookup table |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_TX_ANA_CTRL_HPM_CAL_ADJUST field. */ |
| #define XCVR_RD_TX_ANA_CTRL_HPM_CAL_ADJUST(base) ((XCVR_TX_ANA_CTRL_REG(base) & XCVR_TX_ANA_CTRL_HPM_CAL_ADJUST_MASK) >> XCVR_TX_ANA_CTRL_HPM_CAL_ADJUST_SHIFT) |
| #define XCVR_BRD_TX_ANA_CTRL_HPM_CAL_ADJUST(base) (BME_UBFX32(&XCVR_TX_ANA_CTRL_REG(base), XCVR_TX_ANA_CTRL_HPM_CAL_ADJUST_SHIFT, XCVR_TX_ANA_CTRL_HPM_CAL_ADJUST_WIDTH)) |
| |
| /*! @brief Set the HPM_CAL_ADJUST field to a new value. */ |
| #define XCVR_WR_TX_ANA_CTRL_HPM_CAL_ADJUST(base, value) (XCVR_RMW_TX_ANA_CTRL(base, XCVR_TX_ANA_CTRL_HPM_CAL_ADJUST_MASK, XCVR_TX_ANA_CTRL_HPM_CAL_ADJUST(value))) |
| #define XCVR_BWR_TX_ANA_CTRL_HPM_CAL_ADJUST(base, value) (BME_BFI32(&XCVR_TX_ANA_CTRL_REG(base), ((uint32_t)(value) << XCVR_TX_ANA_CTRL_HPM_CAL_ADJUST_SHIFT), XCVR_TX_ANA_CTRL_HPM_CAL_ADJUST_SHIFT, XCVR_TX_ANA_CTRL_HPM_CAL_ADJUST_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * XCVR_ANA_SPARE - Analog Spare |
| ******************************************************************************/ |
| |
| /*! |
| * @brief XCVR_ANA_SPARE - Analog Spare (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire XCVR_ANA_SPARE register |
| */ |
| /*@{*/ |
| #define XCVR_RD_ANA_SPARE(base) (XCVR_ANA_SPARE_REG(base)) |
| #define XCVR_WR_ANA_SPARE(base, value) (XCVR_ANA_SPARE_REG(base) = (value)) |
| #define XCVR_RMW_ANA_SPARE(base, mask, value) (XCVR_WR_ANA_SPARE(base, (XCVR_RD_ANA_SPARE(base) & ~(mask)) | (value))) |
| #define XCVR_SET_ANA_SPARE(base, value) (BME_OR32(&XCVR_ANA_SPARE_REG(base), (uint32_t)(value))) |
| #define XCVR_CLR_ANA_SPARE(base, value) (BME_AND32(&XCVR_ANA_SPARE_REG(base), (uint32_t)(~(value)))) |
| #define XCVR_TOG_ANA_SPARE(base, value) (BME_XOR32(&XCVR_ANA_SPARE_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual XCVR_ANA_SPARE bitfields |
| */ |
| |
| /*! |
| * @name Register XCVR_ANA_SPARE, field IQMC_DC_GAIN_ADJ[10:0] (RW) |
| * |
| * I/Q mismatch correction DC gain coefficient. This is the value by which the Q |
| * channel data is multiplied during DCOC calibration if the IQMC_DC_GAIN_ADJ_EN |
| * bit is set; otherwise IQMC_GAIN_ADJ is used during DCOC calibration. Format |
| * is u1.10 so e.g. 11'h400 (the reset value) corresponds to a value of 1.0, |
| * 11'h200 corresponds to 0.5, 11'h600 corresponds to 1.5. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ANA_SPARE_IQMC_DC_GAIN_ADJ field. */ |
| #define XCVR_RD_ANA_SPARE_IQMC_DC_GAIN_ADJ(base) ((XCVR_ANA_SPARE_REG(base) & XCVR_ANA_SPARE_IQMC_DC_GAIN_ADJ_MASK) >> XCVR_ANA_SPARE_IQMC_DC_GAIN_ADJ_SHIFT) |
| #define XCVR_BRD_ANA_SPARE_IQMC_DC_GAIN_ADJ(base) (BME_UBFX32(&XCVR_ANA_SPARE_REG(base), XCVR_ANA_SPARE_IQMC_DC_GAIN_ADJ_SHIFT, XCVR_ANA_SPARE_IQMC_DC_GAIN_ADJ_WIDTH)) |
| |
| /*! @brief Set the IQMC_DC_GAIN_ADJ field to a new value. */ |
| #define XCVR_WR_ANA_SPARE_IQMC_DC_GAIN_ADJ(base, value) (XCVR_RMW_ANA_SPARE(base, XCVR_ANA_SPARE_IQMC_DC_GAIN_ADJ_MASK, XCVR_ANA_SPARE_IQMC_DC_GAIN_ADJ(value))) |
| #define XCVR_BWR_ANA_SPARE_IQMC_DC_GAIN_ADJ(base, value) (BME_BFI32(&XCVR_ANA_SPARE_REG(base), ((uint32_t)(value) << XCVR_ANA_SPARE_IQMC_DC_GAIN_ADJ_SHIFT), XCVR_ANA_SPARE_IQMC_DC_GAIN_ADJ_SHIFT, XCVR_ANA_SPARE_IQMC_DC_GAIN_ADJ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ANA_SPARE, field DCOC_TRK_EST_GS_CNT[13:11] (RW) |
| * |
| * Indicates the number of tracking update corrections after an AGC gain change |
| * before the tracking estimator switches from parameters {dcoc_alpha_radius_idx, |
| * dcoc_alphac_scaling_idx, dcoc_sign_scaling_idx} to the set of gearshift |
| * parameters {dcoc_alpha_radius_gs_idx, dcoc_alphac_scaling_gs_idx, |
| * dcoc_sign_scaling_idx}. Note that dcoc_sign_scaling_idx is used in both configurations. |
| * |
| * Values: |
| * - 0b000 - Only use {dcoc_alpha_radius_idx, dcoc_alphac_scaling_idx, |
| * dcoc_sign_scaling_idx} |
| * - 0b001 - Switch from {dcoc_alpha_radius_idx, dcoc_alphac_scaling_idx, |
| * dcoc_sign_scaling_idx} to {dcoc_alpha_radius_gs_idx, dcoc_alphac_scaling_gs_idx, |
| * dcoc_sign_scaling_idx} after the 1 update correction. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ANA_SPARE_DCOC_TRK_EST_GS_CNT field. */ |
| #define XCVR_RD_ANA_SPARE_DCOC_TRK_EST_GS_CNT(base) ((XCVR_ANA_SPARE_REG(base) & XCVR_ANA_SPARE_DCOC_TRK_EST_GS_CNT_MASK) >> XCVR_ANA_SPARE_DCOC_TRK_EST_GS_CNT_SHIFT) |
| #define XCVR_BRD_ANA_SPARE_DCOC_TRK_EST_GS_CNT(base) (BME_UBFX32(&XCVR_ANA_SPARE_REG(base), XCVR_ANA_SPARE_DCOC_TRK_EST_GS_CNT_SHIFT, XCVR_ANA_SPARE_DCOC_TRK_EST_GS_CNT_WIDTH)) |
| |
| /*! @brief Set the DCOC_TRK_EST_GS_CNT field to a new value. */ |
| #define XCVR_WR_ANA_SPARE_DCOC_TRK_EST_GS_CNT(base, value) (XCVR_RMW_ANA_SPARE(base, XCVR_ANA_SPARE_DCOC_TRK_EST_GS_CNT_MASK, XCVR_ANA_SPARE_DCOC_TRK_EST_GS_CNT(value))) |
| #define XCVR_BWR_ANA_SPARE_DCOC_TRK_EST_GS_CNT(base, value) (BME_BFI32(&XCVR_ANA_SPARE_REG(base), ((uint32_t)(value) << XCVR_ANA_SPARE_DCOC_TRK_EST_GS_CNT_SHIFT), XCVR_ANA_SPARE_DCOC_TRK_EST_GS_CNT_SHIFT, XCVR_ANA_SPARE_DCOC_TRK_EST_GS_CNT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ANA_SPARE, field HPM_LSB_INVERT[15:14] (RW) |
| * |
| * Provides individual inversion settings for the two HPM LSB Array Units |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ANA_SPARE_HPM_LSB_INVERT field. */ |
| #define XCVR_RD_ANA_SPARE_HPM_LSB_INVERT(base) ((XCVR_ANA_SPARE_REG(base) & XCVR_ANA_SPARE_HPM_LSB_INVERT_MASK) >> XCVR_ANA_SPARE_HPM_LSB_INVERT_SHIFT) |
| #define XCVR_BRD_ANA_SPARE_HPM_LSB_INVERT(base) (BME_UBFX32(&XCVR_ANA_SPARE_REG(base), XCVR_ANA_SPARE_HPM_LSB_INVERT_SHIFT, XCVR_ANA_SPARE_HPM_LSB_INVERT_WIDTH)) |
| |
| /*! @brief Set the HPM_LSB_INVERT field to a new value. */ |
| #define XCVR_WR_ANA_SPARE_HPM_LSB_INVERT(base, value) (XCVR_RMW_ANA_SPARE(base, XCVR_ANA_SPARE_HPM_LSB_INVERT_MASK, XCVR_ANA_SPARE_HPM_LSB_INVERT(value))) |
| #define XCVR_BWR_ANA_SPARE_HPM_LSB_INVERT(base, value) (BME_BFI32(&XCVR_ANA_SPARE_REG(base), ((uint32_t)(value) << XCVR_ANA_SPARE_HPM_LSB_INVERT_SHIFT), XCVR_ANA_SPARE_HPM_LSB_INVERT_SHIFT, XCVR_ANA_SPARE_HPM_LSB_INVERT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register XCVR_ANA_SPARE, field ANA_DTEST[21:16] (RO) |
| * |
| * Not currently implemented, reads back zero. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the XCVR_ANA_SPARE_ANA_DTEST field. */ |
| #define XCVR_RD_ANA_SPARE_ANA_DTEST(base) ((XCVR_ANA_SPARE_REG(base) & XCVR_ANA_SPARE_ANA_DTEST_MASK) >> XCVR_ANA_SPARE_ANA_DTEST_SHIFT) |
| #define XCVR_BRD_ANA_SPARE_ANA_DTEST(base) (BME_UBFX32(&XCVR_ANA_SPARE_REG(base), XCVR_ANA_SPARE_ANA_DTEST_SHIFT, XCVR_ANA_SPARE_ANA_DTEST_WIDTH)) |
| /*@}*/ |
| |
| /* |
| * MKW40Z4 ZLL |
| * |
| * Zigbee Link Layer |
| * |
| * Registers defined in this header file: |
| * - ZLL_IRQSTS - INTERRUPT REQUEST STATUS |
| * - ZLL_PHY_CTRL - PHY CONTROL |
| * - ZLL_EVENT_TMR - EVENT TIMER |
| * - ZLL_TIMESTAMP - TIMESTAMP |
| * - ZLL_T1CMP - T1 COMPARE |
| * - ZLL_T2CMP - T2 COMPARE |
| * - ZLL_T2PRIMECMP - T2 PRIME COMPARE |
| * - ZLL_T3CMP - T3 COMPARE |
| * - ZLL_T4CMP - T4 COMPARE |
| * - ZLL_PA_PWR - PA POWER |
| * - ZLL_CHANNEL_NUM0 - CHANNEL NUMBER 0 |
| * - ZLL_LQI_AND_RSSI - LQI AND RSSI |
| * - ZLL_MACSHORTADDRS0 - MAC SHORT ADDRESS 0 |
| * - ZLL_MACLONGADDRS0_LSB - MAC LONG ADDRESS 0 LSB |
| * - ZLL_MACLONGADDRS0_MSB - MAC LONG ADDRESS 0 MSB |
| * - ZLL_RX_FRAME_FILTER - RECEIVE FRAME FILTER |
| * - ZLL_CCA_LQI_CTRL - CCA AND LQI CONTROL |
| * - ZLL_CCA2_CTRL - CCA2 CONTROL |
| * - ZLL_FAD_CTRL - FAD CONTROL |
| * - ZLL_SNF_CTRL - SNF CONTROL |
| * - ZLL_BSM_CTRL - BSM CONTROL |
| * - ZLL_MACSHORTADDRS1 - MAC SHORT ADDRESS 1 |
| * - ZLL_MACLONGADDRS1_LSB - MAC LONG ADDRESS 1 LSB |
| * - ZLL_MACLONGADDRS1_MSB - MAC LONG ADDRESS 1 MSB |
| * - ZLL_DUAL_PAN_CTRL - DUAL PAN CONTROL |
| * - ZLL_CHANNEL_NUM1 - CHANNEL NUMBER 1 |
| * - ZLL_SAM_CTRL - SAM CONTROL |
| * - ZLL_SAM_TABLE - SOURCE ADDRESS MANAGEMENT TABLE |
| * - ZLL_SAM_MATCH - SAM MATCH |
| * - ZLL_SAM_FREE_IDX - SAM FREE INDEX |
| * - ZLL_SEQ_CTRL_STS - SEQUENCE CONTROL AND STATUS |
| * - ZLL_ACKDELAY - ACK DELAY |
| * - ZLL_FILTERFAIL_CODE - FILTER FAIL CODE |
| * - ZLL_RX_WTR_MARK - RECEIVE WATER MARK |
| * - ZLL_SLOT_PRELOAD - SLOT PRELOAD |
| * - ZLL_SEQ_STATE - ZIGBEE SEQUENCE STATE |
| * - ZLL_TMR_PRESCALE - TIMER PRESCALER |
| * - ZLL_LENIENCY_LSB - LENIENCY LSB |
| * - ZLL_LENIENCY_MSB - LENIENCY MSB |
| * - ZLL_PART_ID - PART ID |
| * - ZLL_PKT_BUFFER - PACKET BUFFER |
| */ |
| |
| #define ZLL_INSTANCE_COUNT (1U) /*!< Number of instances of the ZLL module. */ |
| #define ZLL_IDX (0U) /*!< Instance number for ZLL. */ |
| |
| /******************************************************************************* |
| * ZLL_IRQSTS - INTERRUPT REQUEST STATUS |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_IRQSTS - INTERRUPT REQUEST STATUS (RW) |
| * |
| * Reset value: 0x00F00000U |
| * |
| * Zigbee Interrupt Request Status |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_IRQSTS register |
| */ |
| /*@{*/ |
| #define ZLL_RD_IRQSTS(base) (ZLL_IRQSTS_REG(base)) |
| #define ZLL_WR_IRQSTS(base, value) (ZLL_IRQSTS_REG(base) = (value)) |
| #define ZLL_RMW_IRQSTS(base, mask, value) (ZLL_WR_IRQSTS(base, (ZLL_RD_IRQSTS(base) & ~(mask)) | (value))) |
| #define ZLL_SET_IRQSTS(base, value) (BME_OR32(&ZLL_IRQSTS_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_IRQSTS(base, value) (BME_AND32(&ZLL_IRQSTS_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_IRQSTS(base, value) (BME_XOR32(&ZLL_IRQSTS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_IRQSTS bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field SEQIRQ[0] (W1C) |
| * |
| * Values: |
| * - 0b0 - A Sequencer Interrupt has not occurred |
| * - 0b1 - A Sequencer Interrupt has occurred |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_SEQIRQ field. */ |
| #define ZLL_RD_IRQSTS_SEQIRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_SEQIRQ_MASK) >> ZLL_IRQSTS_SEQIRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_SEQIRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_SEQIRQ_SHIFT, ZLL_IRQSTS_SEQIRQ_WIDTH)) |
| |
| /*! @brief Set the SEQIRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_SEQIRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_SEQIRQ(value))) |
| #define ZLL_BWR_IRQSTS_SEQIRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_SEQIRQ_SHIFT), ZLL_IRQSTS_SEQIRQ_SHIFT, ZLL_IRQSTS_SEQIRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field TXIRQ[1] (W1C) |
| * |
| * Values: |
| * - 0b0 - A TX Interrupt has not occurred |
| * - 0b1 - A TX Interrupt has occurred |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_TXIRQ field. */ |
| #define ZLL_RD_IRQSTS_TXIRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_TXIRQ_MASK) >> ZLL_IRQSTS_TXIRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_TXIRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_TXIRQ_SHIFT, ZLL_IRQSTS_TXIRQ_WIDTH)) |
| |
| /*! @brief Set the TXIRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_TXIRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_TXIRQ(value))) |
| #define ZLL_BWR_IRQSTS_TXIRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_TXIRQ_SHIFT), ZLL_IRQSTS_TXIRQ_SHIFT, ZLL_IRQSTS_TXIRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field RXIRQ[2] (W1C) |
| * |
| * Values: |
| * - 0b0 - A RX Interrupt has not occurred |
| * - 0b1 - A RX Interrupt has occurred |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_RXIRQ field. */ |
| #define ZLL_RD_IRQSTS_RXIRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_RXIRQ_MASK) >> ZLL_IRQSTS_RXIRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_RXIRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_RXIRQ_SHIFT, ZLL_IRQSTS_RXIRQ_WIDTH)) |
| |
| /*! @brief Set the RXIRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_RXIRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_RXIRQ(value))) |
| #define ZLL_BWR_IRQSTS_RXIRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_RXIRQ_SHIFT), ZLL_IRQSTS_RXIRQ_SHIFT, ZLL_IRQSTS_RXIRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field CCAIRQ[3] (W1C) |
| * |
| * Values: |
| * - 0b0 - A CCA Interrupt has not occurred |
| * - 0b1 - A CCA Interrupt has occurred |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_CCAIRQ field. */ |
| #define ZLL_RD_IRQSTS_CCAIRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_CCAIRQ_MASK) >> ZLL_IRQSTS_CCAIRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_CCAIRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_CCAIRQ_SHIFT, ZLL_IRQSTS_CCAIRQ_WIDTH)) |
| |
| /*! @brief Set the CCAIRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_CCAIRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_CCAIRQ(value))) |
| #define ZLL_BWR_IRQSTS_CCAIRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_CCAIRQ_SHIFT), ZLL_IRQSTS_CCAIRQ_SHIFT, ZLL_IRQSTS_CCAIRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field RXWTRMRKIRQ[4] (W1C) |
| * |
| * Values: |
| * - 0b0 - A RX Watermark Interrupt has not occurred |
| * - 0b1 - A RX Watermark Interrupt has occurred |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_RXWTRMRKIRQ field. */ |
| #define ZLL_RD_IRQSTS_RXWTRMRKIRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_RXWTRMRKIRQ_MASK) >> ZLL_IRQSTS_RXWTRMRKIRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_RXWTRMRKIRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_RXWTRMRKIRQ_SHIFT, ZLL_IRQSTS_RXWTRMRKIRQ_WIDTH)) |
| |
| /*! @brief Set the RXWTRMRKIRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_RXWTRMRKIRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_RXWTRMRKIRQ(value))) |
| #define ZLL_BWR_IRQSTS_RXWTRMRKIRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_RXWTRMRKIRQ_SHIFT), ZLL_IRQSTS_RXWTRMRKIRQ_SHIFT, ZLL_IRQSTS_RXWTRMRKIRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field FILTERFAIL_IRQ[5] (W1C) |
| * |
| * Values: |
| * - 0b0 - A Filter Fail Interrupt has not occurred |
| * - 0b1 - A Filter Fail Interrupt has occurred |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_FILTERFAIL_IRQ field. */ |
| #define ZLL_RD_IRQSTS_FILTERFAIL_IRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_FILTERFAIL_IRQ_MASK) >> ZLL_IRQSTS_FILTERFAIL_IRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_FILTERFAIL_IRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_FILTERFAIL_IRQ_SHIFT, ZLL_IRQSTS_FILTERFAIL_IRQ_WIDTH)) |
| |
| /*! @brief Set the FILTERFAIL_IRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_FILTERFAIL_IRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_FILTERFAIL_IRQ(value))) |
| #define ZLL_BWR_IRQSTS_FILTERFAIL_IRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_FILTERFAIL_IRQ_SHIFT), ZLL_IRQSTS_FILTERFAIL_IRQ_SHIFT, ZLL_IRQSTS_FILTERFAIL_IRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field PLL_UNLOCK_IRQ[6] (W1C) |
| * |
| * Values: |
| * - 0b0 - A PLL Unlock Interrupt has not occurred |
| * - 0b1 - A PLL Unlock Interrupt has occurred |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_PLL_UNLOCK_IRQ field. */ |
| #define ZLL_RD_IRQSTS_PLL_UNLOCK_IRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK) >> ZLL_IRQSTS_PLL_UNLOCK_IRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_PLL_UNLOCK_IRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_PLL_UNLOCK_IRQ_SHIFT, ZLL_IRQSTS_PLL_UNLOCK_IRQ_WIDTH)) |
| |
| /*! @brief Set the PLL_UNLOCK_IRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_PLL_UNLOCK_IRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_PLL_UNLOCK_IRQ(value))) |
| #define ZLL_BWR_IRQSTS_PLL_UNLOCK_IRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_PLL_UNLOCK_IRQ_SHIFT), ZLL_IRQSTS_PLL_UNLOCK_IRQ_SHIFT, ZLL_IRQSTS_PLL_UNLOCK_IRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field RX_FRM_PEND[7] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_RX_FRM_PEND field. */ |
| #define ZLL_RD_IRQSTS_RX_FRM_PEND(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_RX_FRM_PEND_MASK) >> ZLL_IRQSTS_RX_FRM_PEND_SHIFT) |
| #define ZLL_BRD_IRQSTS_RX_FRM_PEND(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_RX_FRM_PEND_SHIFT, ZLL_IRQSTS_RX_FRM_PEND_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field PB_ERR_IRQ[9] (W1C) |
| * |
| * Values: |
| * - 0b0 - A Packet Buffer Underrun Error Interrupt has not occurred |
| * - 0b1 - A Packet Buffer Underrun Error Interrupt has occurred |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_PB_ERR_IRQ field. */ |
| #define ZLL_RD_IRQSTS_PB_ERR_IRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_PB_ERR_IRQ_MASK) >> ZLL_IRQSTS_PB_ERR_IRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_PB_ERR_IRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_PB_ERR_IRQ_SHIFT, ZLL_IRQSTS_PB_ERR_IRQ_WIDTH)) |
| |
| /*! @brief Set the PB_ERR_IRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_PB_ERR_IRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_PB_ERR_IRQ(value))) |
| #define ZLL_BWR_IRQSTS_PB_ERR_IRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_PB_ERR_IRQ_SHIFT), ZLL_IRQSTS_PB_ERR_IRQ_SHIFT, ZLL_IRQSTS_PB_ERR_IRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field TMRSTATUS[11] (RO) |
| * |
| * Values: |
| * - 0b0 - no TMRxIRQ is asserted |
| * - 0b1 - At least one of the TMRxIRQ is asserted (TMR1IRQ, TMR2IRQ, TMR3IRQ, |
| * or TMR4IRQ) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_TMRSTATUS field. */ |
| #define ZLL_RD_IRQSTS_TMRSTATUS(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_TMRSTATUS_MASK) >> ZLL_IRQSTS_TMRSTATUS_SHIFT) |
| #define ZLL_BRD_IRQSTS_TMRSTATUS(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_TMRSTATUS_SHIFT, ZLL_IRQSTS_TMRSTATUS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field PI[12] (RO) |
| * |
| * Values: |
| * - 0b0 - the received packet was not a data request |
| * - 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 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_PI field. */ |
| #define ZLL_RD_IRQSTS_PI(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_PI_MASK) >> ZLL_IRQSTS_PI_SHIFT) |
| #define ZLL_BRD_IRQSTS_PI(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_PI_SHIFT, ZLL_IRQSTS_PI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field SRCADDR[13] (RO) |
| * |
| * If Source Address Management is engaged, meaning at least one of the |
| * following bits is set: SAP0_EN SAA0_EN SAP1_EN SAA1_EN Then SRCADDR will be set to 1 |
| * if the packet just received is a poll request (PI=1), and at least one of the |
| * following conditions is met: SAP0_EN and SAP0_ADDR_PRESENT SAA0_EN and |
| * SAA0_ADDR_ABSENT SAP1_EN and SAP1_ADDR_PRESENT SAA1_EN and SAA1_ADDR_ABSENT If |
| * SRCADDR=1, this indicates to SW that the Packet Processor has determined that an |
| * auto-TxACK frame must be transmitted with the FramePending subfield of the |
| * FrameControlField set to 1. HW will assemble and transmit this Ack packet. If the |
| * above conditions are not met, SRCADDR will be cleared to 0. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_SRCADDR field. */ |
| #define ZLL_RD_IRQSTS_SRCADDR(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_SRCADDR_MASK) >> ZLL_IRQSTS_SRCADDR_SHIFT) |
| #define ZLL_BRD_IRQSTS_SRCADDR(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_SRCADDR_SHIFT, ZLL_IRQSTS_SRCADDR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field CCA[14] (RO) |
| * |
| * Channel IDLE/BUSY indicator. This indicator is valid at CCAIRQ and also at |
| * SEQIRQ. This flag is cleared at next receiver warm up. |
| * |
| * Values: |
| * - 0b0 - IDLE |
| * - 0b1 - BUSY |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_CCA field. */ |
| #define ZLL_RD_IRQSTS_CCA(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_CCA_MASK) >> ZLL_IRQSTS_CCA_SHIFT) |
| #define ZLL_BRD_IRQSTS_CCA(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_CCA_SHIFT, ZLL_IRQSTS_CCA_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field CRCVALID[15] (RO) |
| * |
| * Code Redundancy Check Valid: This flag indicates the compare result between |
| * the FCS field, in the most-recently received frame, and the internally |
| * calculated CRC value. This flag is cleared at next receiver warm up. |
| * |
| * Values: |
| * - 0b0 - Rx FCS != calculated CRC (incorrect) |
| * - 0b1 - Rx FCS = calculated CRC (correct) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_CRCVALID field. */ |
| #define ZLL_RD_IRQSTS_CRCVALID(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_CRCVALID_MASK) >> ZLL_IRQSTS_CRCVALID_SHIFT) |
| #define ZLL_BRD_IRQSTS_CRCVALID(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_CRCVALID_SHIFT, ZLL_IRQSTS_CRCVALID_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field TMR1IRQ[16] (W1C) |
| * |
| * Timer Comparator 1 Interrupt Status bit: Indiates T1CMP comparator value |
| * matched event timer counter. This is write '1' to clear bit |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_TMR1IRQ field. */ |
| #define ZLL_RD_IRQSTS_TMR1IRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_TMR1IRQ_MASK) >> ZLL_IRQSTS_TMR1IRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_TMR1IRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_TMR1IRQ_SHIFT, ZLL_IRQSTS_TMR1IRQ_WIDTH)) |
| |
| /*! @brief Set the TMR1IRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_TMR1IRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_TMR1IRQ(value))) |
| #define ZLL_BWR_IRQSTS_TMR1IRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_TMR1IRQ_SHIFT), ZLL_IRQSTS_TMR1IRQ_SHIFT, ZLL_IRQSTS_TMR1IRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field TMR2IRQ[17] (W1C) |
| * |
| * Timer Comparator 2 Interrupt Status bit: Indiates comparator value matched |
| * event timer counter. This flag is shared between the T2CMP (24-bit) and |
| * T2PRIMECMP (16-bit) compare registers. This is write '1' to clear bit |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_TMR2IRQ field. */ |
| #define ZLL_RD_IRQSTS_TMR2IRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_TMR2IRQ_MASK) >> ZLL_IRQSTS_TMR2IRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_TMR2IRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_TMR2IRQ_SHIFT, ZLL_IRQSTS_TMR2IRQ_WIDTH)) |
| |
| /*! @brief Set the TMR2IRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_TMR2IRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_TMR2IRQ(value))) |
| #define ZLL_BWR_IRQSTS_TMR2IRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_TMR2IRQ_SHIFT), ZLL_IRQSTS_TMR2IRQ_SHIFT, ZLL_IRQSTS_TMR2IRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field TMR3IRQ[18] (W1C) |
| * |
| * Timer Comparator 3 Interrupt Status bit: Indiates T3CMP comparator value |
| * matched event timer counter. This is write '1' to clear bit |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_TMR3IRQ field. */ |
| #define ZLL_RD_IRQSTS_TMR3IRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_TMR3IRQ_MASK) >> ZLL_IRQSTS_TMR3IRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_TMR3IRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_TMR3IRQ_SHIFT, ZLL_IRQSTS_TMR3IRQ_WIDTH)) |
| |
| /*! @brief Set the TMR3IRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_TMR3IRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_TMR3IRQ(value))) |
| #define ZLL_BWR_IRQSTS_TMR3IRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_TMR3IRQ_SHIFT), ZLL_IRQSTS_TMR3IRQ_SHIFT, ZLL_IRQSTS_TMR3IRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field TMR4IRQ[19] (W1C) |
| * |
| * Timer Comparator 4 Interrupt Status bit: Indiates T4CMP comparator value |
| * matched event timer counter. This is write '1' to clear bit |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_TMR4IRQ field. */ |
| #define ZLL_RD_IRQSTS_TMR4IRQ(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_TMR4IRQ_MASK) >> ZLL_IRQSTS_TMR4IRQ_SHIFT) |
| #define ZLL_BRD_IRQSTS_TMR4IRQ(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_TMR4IRQ_SHIFT, ZLL_IRQSTS_TMR4IRQ_WIDTH)) |
| |
| /*! @brief Set the TMR4IRQ field to a new value. */ |
| #define ZLL_WR_IRQSTS_TMR4IRQ(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_TMR4IRQ_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK), ZLL_IRQSTS_TMR4IRQ(value))) |
| #define ZLL_BWR_IRQSTS_TMR4IRQ(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_TMR4IRQ_SHIFT), ZLL_IRQSTS_TMR4IRQ_SHIFT, ZLL_IRQSTS_TMR4IRQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field TMR1MSK[20] (RW) |
| * |
| * Values: |
| * - 0b0 - allows interrupt when comparator matches event timer count |
| * - 0b1 - Interrupt generation is disabled, but a TMR1IRQ flag can be set |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_TMR1MSK field. */ |
| #define ZLL_RD_IRQSTS_TMR1MSK(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_TMR1MSK_MASK) >> ZLL_IRQSTS_TMR1MSK_SHIFT) |
| #define ZLL_BRD_IRQSTS_TMR1MSK(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_TMR1MSK_SHIFT, ZLL_IRQSTS_TMR1MSK_WIDTH)) |
| |
| /*! @brief Set the TMR1MSK field to a new value. */ |
| #define ZLL_WR_IRQSTS_TMR1MSK(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_TMR1MSK_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_TMR1MSK(value))) |
| #define ZLL_BWR_IRQSTS_TMR1MSK(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_TMR1MSK_SHIFT), ZLL_IRQSTS_TMR1MSK_SHIFT, ZLL_IRQSTS_TMR1MSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field TMR2MSK[21] (RW) |
| * |
| * Values: |
| * - 0b0 - allows interrupt when comparator matches event timer count |
| * - 0b1 - Interrupt generation is disabled, but a TMR2IRQ flag can be set |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_TMR2MSK field. */ |
| #define ZLL_RD_IRQSTS_TMR2MSK(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_TMR2MSK_MASK) >> ZLL_IRQSTS_TMR2MSK_SHIFT) |
| #define ZLL_BRD_IRQSTS_TMR2MSK(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_TMR2MSK_SHIFT, ZLL_IRQSTS_TMR2MSK_WIDTH)) |
| |
| /*! @brief Set the TMR2MSK field to a new value. */ |
| #define ZLL_WR_IRQSTS_TMR2MSK(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_TMR2MSK_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_TMR2MSK(value))) |
| #define ZLL_BWR_IRQSTS_TMR2MSK(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_TMR2MSK_SHIFT), ZLL_IRQSTS_TMR2MSK_SHIFT, ZLL_IRQSTS_TMR2MSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field TMR3MSK[22] (RW) |
| * |
| * Values: |
| * - 0b0 - allows interrupt when comparator matches event timer count |
| * - 0b1 - Interrupt generation is disabled, but a TMR3IRQ flag can be set |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_TMR3MSK field. */ |
| #define ZLL_RD_IRQSTS_TMR3MSK(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_TMR3MSK_MASK) >> ZLL_IRQSTS_TMR3MSK_SHIFT) |
| #define ZLL_BRD_IRQSTS_TMR3MSK(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_TMR3MSK_SHIFT, ZLL_IRQSTS_TMR3MSK_WIDTH)) |
| |
| /*! @brief Set the TMR3MSK field to a new value. */ |
| #define ZLL_WR_IRQSTS_TMR3MSK(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_TMR3MSK_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_TMR3MSK(value))) |
| #define ZLL_BWR_IRQSTS_TMR3MSK(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_TMR3MSK_SHIFT), ZLL_IRQSTS_TMR3MSK_SHIFT, ZLL_IRQSTS_TMR3MSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field TMR4MSK[23] (RW) |
| * |
| * Values: |
| * - 0b0 - allows interrupt when comparator matches event timer count |
| * - 0b1 - Interrupt generation is disabled, but a TMR4IRQ flag can be set |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_TMR4MSK field. */ |
| #define ZLL_RD_IRQSTS_TMR4MSK(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_TMR4MSK_MASK) >> ZLL_IRQSTS_TMR4MSK_SHIFT) |
| #define ZLL_BRD_IRQSTS_TMR4MSK(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_TMR4MSK_SHIFT, ZLL_IRQSTS_TMR4MSK_WIDTH)) |
| |
| /*! @brief Set the TMR4MSK field to a new value. */ |
| #define ZLL_WR_IRQSTS_TMR4MSK(base, value) (ZLL_RMW_IRQSTS(base, (ZLL_IRQSTS_TMR4MSK_MASK | ZLL_IRQSTS_SEQIRQ_MASK | ZLL_IRQSTS_TXIRQ_MASK | ZLL_IRQSTS_RXIRQ_MASK | ZLL_IRQSTS_CCAIRQ_MASK | ZLL_IRQSTS_RXWTRMRKIRQ_MASK | ZLL_IRQSTS_FILTERFAIL_IRQ_MASK | ZLL_IRQSTS_PLL_UNLOCK_IRQ_MASK | ZLL_IRQSTS_PB_ERR_IRQ_MASK | ZLL_IRQSTS_TMR1IRQ_MASK | ZLL_IRQSTS_TMR2IRQ_MASK | ZLL_IRQSTS_TMR3IRQ_MASK | ZLL_IRQSTS_TMR4IRQ_MASK), ZLL_IRQSTS_TMR4MSK(value))) |
| #define ZLL_BWR_IRQSTS_TMR4MSK(base, value) (BME_BFI32(&ZLL_IRQSTS_REG(base), ((uint32_t)(value) << ZLL_IRQSTS_TMR4MSK_SHIFT), ZLL_IRQSTS_TMR4MSK_SHIFT, ZLL_IRQSTS_TMR4MSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_IRQSTS, field RX_FRAME_LENGTH[30:24] (RO) |
| * |
| * Contents of the PHR (PHY header), or FrameLength field, of the most recently |
| * received packet. Read-only. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_IRQSTS_RX_FRAME_LENGTH field. */ |
| #define ZLL_RD_IRQSTS_RX_FRAME_LENGTH(base) ((ZLL_IRQSTS_REG(base) & ZLL_IRQSTS_RX_FRAME_LENGTH_MASK) >> ZLL_IRQSTS_RX_FRAME_LENGTH_SHIFT) |
| #define ZLL_BRD_IRQSTS_RX_FRAME_LENGTH(base) (BME_UBFX32(&ZLL_IRQSTS_REG(base), ZLL_IRQSTS_RX_FRAME_LENGTH_SHIFT, ZLL_IRQSTS_RX_FRAME_LENGTH_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_PHY_CTRL - PHY CONTROL |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_PHY_CTRL - PHY CONTROL (RW) |
| * |
| * Reset value: 0x0802FF00U |
| * |
| * PHY Control Register |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_PHY_CTRL register |
| */ |
| /*@{*/ |
| #define ZLL_RD_PHY_CTRL(base) (ZLL_PHY_CTRL_REG(base)) |
| #define ZLL_WR_PHY_CTRL(base, value) (ZLL_PHY_CTRL_REG(base) = (value)) |
| #define ZLL_RMW_PHY_CTRL(base, mask, value) (ZLL_WR_PHY_CTRL(base, (ZLL_RD_PHY_CTRL(base) & ~(mask)) | (value))) |
| #define ZLL_SET_PHY_CTRL(base, value) (BME_OR32(&ZLL_PHY_CTRL_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_PHY_CTRL(base, value) (BME_AND32(&ZLL_PHY_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_PHY_CTRL(base, value) (BME_XOR32(&ZLL_PHY_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_PHY_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field XCVSEQ[2:0] (RW) |
| * |
| * The Transceiver Sequence Selector register selects an autosequence for the |
| * sequence manager to execute. Sequence initiation can be immediate, or scheduled |
| * (see TMRTRIGEN). A write of XCVSEQ=IDLE will abort any ongoing sequence. A |
| * write of XCVSEQ=IDLE must always be performed after a sequence is complete, and |
| * before a new sequence is programmed. Any write to XCVSEQ other than XCVSEQ=IDLE |
| * during an ongoing sequence, shall be ignored. The mapping of XCVSEQ to |
| * sequence types is as follows: |
| * |
| * Values: |
| * - 0b000 - I (IDLE) |
| * - 0b001 - R (RECEIVE) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_XCVSEQ field. */ |
| #define ZLL_RD_PHY_CTRL_XCVSEQ(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_XCVSEQ_MASK) >> ZLL_PHY_CTRL_XCVSEQ_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_XCVSEQ(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_XCVSEQ_SHIFT, ZLL_PHY_CTRL_XCVSEQ_WIDTH)) |
| |
| /*! @brief Set the XCVSEQ field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_XCVSEQ(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_XCVSEQ_MASK, ZLL_PHY_CTRL_XCVSEQ(value))) |
| #define ZLL_BWR_PHY_CTRL_XCVSEQ(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_XCVSEQ_SHIFT), ZLL_PHY_CTRL_XCVSEQ_SHIFT, ZLL_PHY_CTRL_XCVSEQ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field AUTOACK[3] (RW) |
| * |
| * Applies only to Sequence R and Sequence TR, ignored during other sequences |
| * |
| * Values: |
| * - 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. |
| * - 0b1 - sequence manager will follow a receive frame with an automatic |
| * hardware-generated Tx Ack frame, assuming other necessary conditions are met. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_AUTOACK field. */ |
| #define ZLL_RD_PHY_CTRL_AUTOACK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_AUTOACK_MASK) >> ZLL_PHY_CTRL_AUTOACK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_AUTOACK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_AUTOACK_SHIFT, ZLL_PHY_CTRL_AUTOACK_WIDTH)) |
| |
| /*! @brief Set the AUTOACK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_AUTOACK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_AUTOACK_MASK, ZLL_PHY_CTRL_AUTOACK(value))) |
| #define ZLL_BWR_PHY_CTRL_AUTOACK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_AUTOACK_SHIFT), ZLL_PHY_CTRL_AUTOACK_SHIFT, ZLL_PHY_CTRL_AUTOACK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field RXACKRQD[4] (RW) |
| * |
| * Applies only to Sequence TR, ignored during all other sequences. |
| * |
| * Values: |
| * - 0b0 - An ordinary receive frame (any type of frame) follows the transmit |
| * frame. |
| * - 0b1 - A receive Ack frame is expected to follow the transmit frame (non-Ack |
| * frames are rejected). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_RXACKRQD field. */ |
| #define ZLL_RD_PHY_CTRL_RXACKRQD(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_RXACKRQD_MASK) >> ZLL_PHY_CTRL_RXACKRQD_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_RXACKRQD(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_RXACKRQD_SHIFT, ZLL_PHY_CTRL_RXACKRQD_WIDTH)) |
| |
| /*! @brief Set the RXACKRQD field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_RXACKRQD(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_RXACKRQD_MASK, ZLL_PHY_CTRL_RXACKRQD(value))) |
| #define ZLL_BWR_PHY_CTRL_RXACKRQD(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_RXACKRQD_SHIFT), ZLL_PHY_CTRL_RXACKRQD_SHIFT, ZLL_PHY_CTRL_RXACKRQD_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field CCABFRTX[5] (RW) |
| * |
| * Applies only to Sequences T and TR, ignored during all other sequences. |
| * |
| * Values: |
| * - 0b0 - no CCA required, transmit operation begins immediately. |
| * - 0b1 - at least one CCA measurement is required prior to the transmit |
| * operation (see also SLOTTED). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_CCABFRTX field. */ |
| #define ZLL_RD_PHY_CTRL_CCABFRTX(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_CCABFRTX_MASK) >> ZLL_PHY_CTRL_CCABFRTX_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_CCABFRTX(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_CCABFRTX_SHIFT, ZLL_PHY_CTRL_CCABFRTX_WIDTH)) |
| |
| /*! @brief Set the CCABFRTX field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_CCABFRTX(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_CCABFRTX_MASK, ZLL_PHY_CTRL_CCABFRTX(value))) |
| #define ZLL_BWR_PHY_CTRL_CCABFRTX(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_CCABFRTX_SHIFT), ZLL_PHY_CTRL_CCABFRTX_SHIFT, ZLL_PHY_CTRL_CCABFRTX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field SLOTTED[6] (RW) |
| * |
| * Slotted Mode, for beacon-enabled networks. Applies only to Sequences T, TR, |
| * and R, ignored during all other sequences. Used, in concert with CCABFRTX, to |
| * determine how many CCA measurements are required prior to a transmit operation. |
| * Also used during R sequence to determine whether the ensuing transmit |
| * acknowledge frame (if any) needs to be synchronized to a backoff slot boundary. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_SLOTTED field. */ |
| #define ZLL_RD_PHY_CTRL_SLOTTED(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_SLOTTED_MASK) >> ZLL_PHY_CTRL_SLOTTED_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_SLOTTED(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_SLOTTED_SHIFT, ZLL_PHY_CTRL_SLOTTED_WIDTH)) |
| |
| /*! @brief Set the SLOTTED field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_SLOTTED(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_SLOTTED_MASK, ZLL_PHY_CTRL_SLOTTED(value))) |
| #define ZLL_BWR_PHY_CTRL_SLOTTED(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_SLOTTED_SHIFT), ZLL_PHY_CTRL_SLOTTED_SHIFT, ZLL_PHY_CTRL_SLOTTED_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field TMRTRIGEN[7] (RW) |
| * |
| * Values: |
| * - 0b0 - programmed sequence initiates immediately upon write to XCVSEQ. |
| * - 0b1 - allow timer TC2 (or TC2') to initiate a preprogrammed sequence (see |
| * XCVSEQ register). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_TMRTRIGEN field. */ |
| #define ZLL_RD_PHY_CTRL_TMRTRIGEN(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_TMRTRIGEN_MASK) >> ZLL_PHY_CTRL_TMRTRIGEN_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_TMRTRIGEN(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_TMRTRIGEN_SHIFT, ZLL_PHY_CTRL_TMRTRIGEN_WIDTH)) |
| |
| /*! @brief Set the TMRTRIGEN field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_TMRTRIGEN(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_TMRTRIGEN_MASK, ZLL_PHY_CTRL_TMRTRIGEN(value))) |
| #define ZLL_BWR_PHY_CTRL_TMRTRIGEN(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_TMRTRIGEN_SHIFT), ZLL_PHY_CTRL_TMRTRIGEN_SHIFT, ZLL_PHY_CTRL_TMRTRIGEN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field SEQMSK[8] (RW) |
| * |
| * Values: |
| * - 0b0 - allows completion of an autosequence to generate a zigbee interrupt |
| * - 0b1 - Completion of an autosequence will set the SEQIRQ status bit, but a |
| * zigbee interrupt is not generated |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_SEQMSK field. */ |
| #define ZLL_RD_PHY_CTRL_SEQMSK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_SEQMSK_MASK) >> ZLL_PHY_CTRL_SEQMSK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_SEQMSK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_SEQMSK_SHIFT, ZLL_PHY_CTRL_SEQMSK_WIDTH)) |
| |
| /*! @brief Set the SEQMSK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_SEQMSK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_SEQMSK_MASK, ZLL_PHY_CTRL_SEQMSK(value))) |
| #define ZLL_BWR_PHY_CTRL_SEQMSK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_SEQMSK_SHIFT), ZLL_PHY_CTRL_SEQMSK_SHIFT, ZLL_PHY_CTRL_SEQMSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field TXMSK[9] (RW) |
| * |
| * Values: |
| * - 0b0 - allows completion of a TX operation to generate a zigbee interrupt |
| * - 0b1 - Completion of a TX operation will set the TXIRQ status bit, but a |
| * zigbee interrupt is not generated |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_TXMSK field. */ |
| #define ZLL_RD_PHY_CTRL_TXMSK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_TXMSK_MASK) >> ZLL_PHY_CTRL_TXMSK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_TXMSK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_TXMSK_SHIFT, ZLL_PHY_CTRL_TXMSK_WIDTH)) |
| |
| /*! @brief Set the TXMSK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_TXMSK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_TXMSK_MASK, ZLL_PHY_CTRL_TXMSK(value))) |
| #define ZLL_BWR_PHY_CTRL_TXMSK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_TXMSK_SHIFT), ZLL_PHY_CTRL_TXMSK_SHIFT, ZLL_PHY_CTRL_TXMSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field RXMSK[10] (RW) |
| * |
| * Values: |
| * - 0b0 - allows completion of a RX operation to generate a zigbee interrupt |
| * - 0b1 - Completion of a RX operation will set the RXIRQ status bit, but a |
| * zigbee interrupt is not generated |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_RXMSK field. */ |
| #define ZLL_RD_PHY_CTRL_RXMSK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_RXMSK_MASK) >> ZLL_PHY_CTRL_RXMSK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_RXMSK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_RXMSK_SHIFT, ZLL_PHY_CTRL_RXMSK_WIDTH)) |
| |
| /*! @brief Set the RXMSK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_RXMSK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_RXMSK_MASK, ZLL_PHY_CTRL_RXMSK(value))) |
| #define ZLL_BWR_PHY_CTRL_RXMSK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_RXMSK_SHIFT), ZLL_PHY_CTRL_RXMSK_SHIFT, ZLL_PHY_CTRL_RXMSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field CCAMSK[11] (RW) |
| * |
| * CCA Interrupt Mask |
| * |
| * Values: |
| * - 0b0 - allows completion of a CCA operation to generate a zigbee interrupt |
| * - 0b1 - Completion of a CCA operation will set the CCAIRQ status bit, but an |
| * zigbee interrupt |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_CCAMSK field. */ |
| #define ZLL_RD_PHY_CTRL_CCAMSK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_CCAMSK_MASK) >> ZLL_PHY_CTRL_CCAMSK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_CCAMSK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_CCAMSK_SHIFT, ZLL_PHY_CTRL_CCAMSK_WIDTH)) |
| |
| /*! @brief Set the CCAMSK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_CCAMSK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_CCAMSK_MASK, ZLL_PHY_CTRL_CCAMSK(value))) |
| #define ZLL_BWR_PHY_CTRL_CCAMSK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_CCAMSK_SHIFT), ZLL_PHY_CTRL_CCAMSK_SHIFT, ZLL_PHY_CTRL_CCAMSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field RX_WMRK_MSK[12] (RW) |
| * |
| * RX Watermark Interrupt Mask |
| * |
| * Values: |
| * - 0b0 - allows a Received Byte Count match to the RX_WTR_MARK threshold |
| * register to generate a zigbee interrupt |
| * - 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 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_RX_WMRK_MSK field. */ |
| #define ZLL_RD_PHY_CTRL_RX_WMRK_MSK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_RX_WMRK_MSK_MASK) >> ZLL_PHY_CTRL_RX_WMRK_MSK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_RX_WMRK_MSK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_RX_WMRK_MSK_SHIFT, ZLL_PHY_CTRL_RX_WMRK_MSK_WIDTH)) |
| |
| /*! @brief Set the RX_WMRK_MSK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_RX_WMRK_MSK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_RX_WMRK_MSK_MASK, ZLL_PHY_CTRL_RX_WMRK_MSK(value))) |
| #define ZLL_BWR_PHY_CTRL_RX_WMRK_MSK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_RX_WMRK_MSK_SHIFT), ZLL_PHY_CTRL_RX_WMRK_MSK_SHIFT, ZLL_PHY_CTRL_RX_WMRK_MSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field FILTERFAIL_MSK[13] (RW) |
| * |
| * FilterFail Interrupt Mask |
| * |
| * Values: |
| * - 0b0 - allows Packet Processor Filtering Failure to generate a zigbee |
| * interrupt |
| * - 0b1 - A Packet Processor Filtering Failure will set the FILTERFAIL_IRQ |
| * status bit, but a zigbee interrupt is not generated |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_FILTERFAIL_MSK field. */ |
| #define ZLL_RD_PHY_CTRL_FILTERFAIL_MSK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_FILTERFAIL_MSK_MASK) >> ZLL_PHY_CTRL_FILTERFAIL_MSK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_FILTERFAIL_MSK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_FILTERFAIL_MSK_SHIFT, ZLL_PHY_CTRL_FILTERFAIL_MSK_WIDTH)) |
| |
| /*! @brief Set the FILTERFAIL_MSK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_FILTERFAIL_MSK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_FILTERFAIL_MSK_MASK, ZLL_PHY_CTRL_FILTERFAIL_MSK(value))) |
| #define ZLL_BWR_PHY_CTRL_FILTERFAIL_MSK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_FILTERFAIL_MSK_SHIFT), ZLL_PHY_CTRL_FILTERFAIL_MSK_SHIFT, ZLL_PHY_CTRL_FILTERFAIL_MSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field PLL_UNLOCK_MSK[14] (RW) |
| * |
| * Values: |
| * - 0b0 - allows PLL unlock event to generate a zigbee interrupt |
| * - 0b1 - A PLL unlock event will set the PLL_UNLOCK_IRQ status bit, but a |
| * zigbee interrupt is not generated |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_PLL_UNLOCK_MSK field. */ |
| #define ZLL_RD_PHY_CTRL_PLL_UNLOCK_MSK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_PLL_UNLOCK_MSK_MASK) >> ZLL_PHY_CTRL_PLL_UNLOCK_MSK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_PLL_UNLOCK_MSK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_PLL_UNLOCK_MSK_SHIFT, ZLL_PHY_CTRL_PLL_UNLOCK_MSK_WIDTH)) |
| |
| /*! @brief Set the PLL_UNLOCK_MSK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_PLL_UNLOCK_MSK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_PLL_UNLOCK_MSK_MASK, ZLL_PHY_CTRL_PLL_UNLOCK_MSK(value))) |
| #define ZLL_BWR_PHY_CTRL_PLL_UNLOCK_MSK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_PLL_UNLOCK_MSK_SHIFT), ZLL_PHY_CTRL_PLL_UNLOCK_MSK_SHIFT, ZLL_PHY_CTRL_PLL_UNLOCK_MSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field CRC_MSK[15] (RW) |
| * |
| * CRC Mask |
| * |
| * Values: |
| * - 0b0 - sequence manager ignores CRCVALID and considers the receive operation |
| * complete after the last octet of the frame has been received. |
| * - 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. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_CRC_MSK field. */ |
| #define ZLL_RD_PHY_CTRL_CRC_MSK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_CRC_MSK_MASK) >> ZLL_PHY_CTRL_CRC_MSK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_CRC_MSK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_CRC_MSK_SHIFT, ZLL_PHY_CTRL_CRC_MSK_WIDTH)) |
| |
| /*! @brief Set the CRC_MSK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_CRC_MSK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_CRC_MSK_MASK, ZLL_PHY_CTRL_CRC_MSK(value))) |
| #define ZLL_BWR_PHY_CTRL_CRC_MSK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_CRC_MSK_SHIFT), ZLL_PHY_CTRL_CRC_MSK_SHIFT, ZLL_PHY_CTRL_CRC_MSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field PB_ERR_MSK[17] (RW) |
| * |
| * Values: |
| * - 0b0 - Enable Packet Buffer Error to assert a zigbee interrupt |
| * - 0b1 - Mask Packet Buffer Error from generating a zigbee interrupt |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_PB_ERR_MSK field. */ |
| #define ZLL_RD_PHY_CTRL_PB_ERR_MSK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_PB_ERR_MSK_MASK) >> ZLL_PHY_CTRL_PB_ERR_MSK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_PB_ERR_MSK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_PB_ERR_MSK_SHIFT, ZLL_PHY_CTRL_PB_ERR_MSK_WIDTH)) |
| |
| /*! @brief Set the PB_ERR_MSK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_PB_ERR_MSK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_PB_ERR_MSK_MASK, ZLL_PHY_CTRL_PB_ERR_MSK(value))) |
| #define ZLL_BWR_PHY_CTRL_PB_ERR_MSK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_PB_ERR_MSK_SHIFT), ZLL_PHY_CTRL_PB_ERR_MSK_SHIFT, ZLL_PHY_CTRL_PB_ERR_MSK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field TMR1CMP_EN[20] (RW) |
| * |
| * Values: |
| * - 0b0 - Don't allow an Event Timer Match to T1CMP to set TMR1IRQ |
| * - 0b1 - Allow an Event Timer Match to T1CMP to set TMR1IRQ |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_TMR1CMP_EN field. */ |
| #define ZLL_RD_PHY_CTRL_TMR1CMP_EN(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_TMR1CMP_EN_MASK) >> ZLL_PHY_CTRL_TMR1CMP_EN_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_TMR1CMP_EN(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_TMR1CMP_EN_SHIFT, ZLL_PHY_CTRL_TMR1CMP_EN_WIDTH)) |
| |
| /*! @brief Set the TMR1CMP_EN field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_TMR1CMP_EN(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_TMR1CMP_EN_MASK, ZLL_PHY_CTRL_TMR1CMP_EN(value))) |
| #define ZLL_BWR_PHY_CTRL_TMR1CMP_EN(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_TMR1CMP_EN_SHIFT), ZLL_PHY_CTRL_TMR1CMP_EN_SHIFT, ZLL_PHY_CTRL_TMR1CMP_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field TMR2CMP_EN[21] (RW) |
| * |
| * Values: |
| * - 0b0 - Don't allow an Event Timer Match to T2CMP or T2PRIMECMP to set TMR2IRQ |
| * - 0b1 - Allow an Event Timer Match to T2CMP or T2PRIMECMP to set TMR2IRQ |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_TMR2CMP_EN field. */ |
| #define ZLL_RD_PHY_CTRL_TMR2CMP_EN(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_TMR2CMP_EN_MASK) >> ZLL_PHY_CTRL_TMR2CMP_EN_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_TMR2CMP_EN(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_TMR2CMP_EN_SHIFT, ZLL_PHY_CTRL_TMR2CMP_EN_WIDTH)) |
| |
| /*! @brief Set the TMR2CMP_EN field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_TMR2CMP_EN(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_TMR2CMP_EN_MASK, ZLL_PHY_CTRL_TMR2CMP_EN(value))) |
| #define ZLL_BWR_PHY_CTRL_TMR2CMP_EN(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_TMR2CMP_EN_SHIFT), ZLL_PHY_CTRL_TMR2CMP_EN_SHIFT, ZLL_PHY_CTRL_TMR2CMP_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field TMR3CMP_EN[22] (RW) |
| * |
| * Values: |
| * - 0b0 - Don't allow an Event Timer Match to T3CMP to set TMR3IRQ |
| * - 0b1 - Allow an Event Timer Match to T3CMP to set TMR3IRQ |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_TMR3CMP_EN field. */ |
| #define ZLL_RD_PHY_CTRL_TMR3CMP_EN(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_TMR3CMP_EN_MASK) >> ZLL_PHY_CTRL_TMR3CMP_EN_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_TMR3CMP_EN(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_TMR3CMP_EN_SHIFT, ZLL_PHY_CTRL_TMR3CMP_EN_WIDTH)) |
| |
| /*! @brief Set the TMR3CMP_EN field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_TMR3CMP_EN(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_TMR3CMP_EN_MASK, ZLL_PHY_CTRL_TMR3CMP_EN(value))) |
| #define ZLL_BWR_PHY_CTRL_TMR3CMP_EN(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_TMR3CMP_EN_SHIFT), ZLL_PHY_CTRL_TMR3CMP_EN_SHIFT, ZLL_PHY_CTRL_TMR3CMP_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field TMR4CMP_EN[23] (RW) |
| * |
| * Values: |
| * - 0b0 - Don't allow an Event Timer Match to T4CMP to set TMR4IRQ |
| * - 0b1 - Allow an Event Timer Match to T4CMP to set TMR4IRQ |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_TMR4CMP_EN field. */ |
| #define ZLL_RD_PHY_CTRL_TMR4CMP_EN(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_TMR4CMP_EN_MASK) >> ZLL_PHY_CTRL_TMR4CMP_EN_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_TMR4CMP_EN(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_TMR4CMP_EN_SHIFT, ZLL_PHY_CTRL_TMR4CMP_EN_WIDTH)) |
| |
| /*! @brief Set the TMR4CMP_EN field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_TMR4CMP_EN(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_TMR4CMP_EN_MASK, ZLL_PHY_CTRL_TMR4CMP_EN(value))) |
| #define ZLL_BWR_PHY_CTRL_TMR4CMP_EN(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_TMR4CMP_EN_SHIFT), ZLL_PHY_CTRL_TMR4CMP_EN_SHIFT, ZLL_PHY_CTRL_TMR4CMP_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field TC2PRIME_EN[24] (RW) |
| * |
| * Values: |
| * - 0b0 - Don't allow a match of the lower 16 bits of Event Timer to T2PRIMECMP |
| * to set TMR2IRQ |
| * - 0b1 - Allow a match of the lower 16 bits of Event Timer to T2PRIMECMP to |
| * set TMR2IRQ |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_TC2PRIME_EN field. */ |
| #define ZLL_RD_PHY_CTRL_TC2PRIME_EN(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_TC2PRIME_EN_MASK) >> ZLL_PHY_CTRL_TC2PRIME_EN_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_TC2PRIME_EN(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_TC2PRIME_EN_SHIFT, ZLL_PHY_CTRL_TC2PRIME_EN_WIDTH)) |
| |
| /*! @brief Set the TC2PRIME_EN field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_TC2PRIME_EN(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_TC2PRIME_EN_MASK, ZLL_PHY_CTRL_TC2PRIME_EN(value))) |
| #define ZLL_BWR_PHY_CTRL_TC2PRIME_EN(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_TC2PRIME_EN_SHIFT), ZLL_PHY_CTRL_TC2PRIME_EN_SHIFT, ZLL_PHY_CTRL_TC2PRIME_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field PROMISCUOUS[25] (RW) |
| * |
| * Bypasses most packet filtering. |
| * |
| * Values: |
| * - 0b0 - normal mode |
| * - 0b1 - all packet filtering except frame length checking (FrameLength>=5 and |
| * FrameLength<=127) is bypassed. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_PROMISCUOUS field. */ |
| #define ZLL_RD_PHY_CTRL_PROMISCUOUS(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_PROMISCUOUS_MASK) >> ZLL_PHY_CTRL_PROMISCUOUS_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_PROMISCUOUS(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_PROMISCUOUS_SHIFT, ZLL_PHY_CTRL_PROMISCUOUS_WIDTH)) |
| |
| /*! @brief Set the PROMISCUOUS field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_PROMISCUOUS(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_PROMISCUOUS_MASK, ZLL_PHY_CTRL_PROMISCUOUS(value))) |
| #define ZLL_BWR_PHY_CTRL_PROMISCUOUS(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_PROMISCUOUS_SHIFT), ZLL_PHY_CTRL_PROMISCUOUS_SHIFT, ZLL_PHY_CTRL_PROMISCUOUS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field TMRLOAD[26] (WO) |
| * |
| * A low to high transition of this bit causes the contents of register |
| * T1CMP[23:0] to be loaded into the Event Timer.This is a self clearing bit, always |
| * reads zero. Note: the TMRLOAD feature requires the Apache RF Oscillator to be |
| * running; TMRLOAD should not be attempted in the Apache radio gasket-bypass mode. |
| */ |
| /*@{*/ |
| /*! @brief Set the TMRLOAD field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_TMRLOAD(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_TMRLOAD_MASK, ZLL_PHY_CTRL_TMRLOAD(value))) |
| #define ZLL_BWR_PHY_CTRL_TMRLOAD(base, value) (ZLL_WR_PHY_CTRL_TMRLOAD(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field CCATYPE[28:27] (RW) |
| * |
| * Clear Channel Assessment Type. Selects one of four possible functions for CCA |
| * or Energy Detect, per below. |
| * |
| * Values: |
| * - 0b00 - ENERGY DETECT |
| * - 0b01 - CCA MODE 1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_CCATYPE field. */ |
| #define ZLL_RD_PHY_CTRL_CCATYPE(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_CCATYPE_MASK) >> ZLL_PHY_CTRL_CCATYPE_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_CCATYPE(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_CCATYPE_SHIFT, ZLL_PHY_CTRL_CCATYPE_WIDTH)) |
| |
| /*! @brief Set the CCATYPE field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_CCATYPE(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_CCATYPE_MASK, ZLL_PHY_CTRL_CCATYPE(value))) |
| #define ZLL_BWR_PHY_CTRL_CCATYPE(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_CCATYPE_SHIFT), ZLL_PHY_CTRL_CCATYPE_SHIFT, ZLL_PHY_CTRL_CCATYPE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field PANCORDNTR0[29] (RW) |
| * |
| * Device is a PAN Coordinator on PAN0. Allows device to receive packets with no |
| * destination address, if Source PAN ID matches. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_PANCORDNTR0 field. */ |
| #define ZLL_RD_PHY_CTRL_PANCORDNTR0(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_PANCORDNTR0_MASK) >> ZLL_PHY_CTRL_PANCORDNTR0_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_PANCORDNTR0(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_PANCORDNTR0_SHIFT, ZLL_PHY_CTRL_PANCORDNTR0_WIDTH)) |
| |
| /*! @brief Set the PANCORDNTR0 field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_PANCORDNTR0(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_PANCORDNTR0_MASK, ZLL_PHY_CTRL_PANCORDNTR0(value))) |
| #define ZLL_BWR_PHY_CTRL_PANCORDNTR0(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_PANCORDNTR0_SHIFT), ZLL_PHY_CTRL_PANCORDNTR0_SHIFT, ZLL_PHY_CTRL_PANCORDNTR0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field TC3TMOUT[30] (RW) |
| * |
| * TMR3 Timeout Enable |
| * |
| * Values: |
| * - 0b0 - TMR3 is a software timer only |
| * - 0b1 - Enable TMR3 to abort Rx or CCCA operations. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_TC3TMOUT field. */ |
| #define ZLL_RD_PHY_CTRL_TC3TMOUT(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_TC3TMOUT_MASK) >> ZLL_PHY_CTRL_TC3TMOUT_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_TC3TMOUT(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_TC3TMOUT_SHIFT, ZLL_PHY_CTRL_TC3TMOUT_WIDTH)) |
| |
| /*! @brief Set the TC3TMOUT field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_TC3TMOUT(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_TC3TMOUT_MASK, ZLL_PHY_CTRL_TC3TMOUT(value))) |
| #define ZLL_BWR_PHY_CTRL_TC3TMOUT(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_TC3TMOUT_SHIFT), ZLL_PHY_CTRL_TC3TMOUT_SHIFT, ZLL_PHY_CTRL_TC3TMOUT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_PHY_CTRL, field TRCV_MSK[31] (RW) |
| * |
| * Transceiver Global Interrupt Mask |
| * |
| * Values: |
| * - 0b0 - Enable any unmasked interrupt source to assert zigbee interrupt |
| * - 0b1 - Mask all interrupt sources from asserting zigbee interrupt |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PHY_CTRL_TRCV_MSK field. */ |
| #define ZLL_RD_PHY_CTRL_TRCV_MSK(base) ((ZLL_PHY_CTRL_REG(base) & ZLL_PHY_CTRL_TRCV_MSK_MASK) >> ZLL_PHY_CTRL_TRCV_MSK_SHIFT) |
| #define ZLL_BRD_PHY_CTRL_TRCV_MSK(base) (BME_UBFX32(&ZLL_PHY_CTRL_REG(base), ZLL_PHY_CTRL_TRCV_MSK_SHIFT, ZLL_PHY_CTRL_TRCV_MSK_WIDTH)) |
| |
| /*! @brief Set the TRCV_MSK field to a new value. */ |
| #define ZLL_WR_PHY_CTRL_TRCV_MSK(base, value) (ZLL_RMW_PHY_CTRL(base, ZLL_PHY_CTRL_TRCV_MSK_MASK, ZLL_PHY_CTRL_TRCV_MSK(value))) |
| #define ZLL_BWR_PHY_CTRL_TRCV_MSK(base, value) (BME_BFI32(&ZLL_PHY_CTRL_REG(base), ((uint32_t)(value) << ZLL_PHY_CTRL_TRCV_MSK_SHIFT), ZLL_PHY_CTRL_TRCV_MSK_SHIFT, ZLL_PHY_CTRL_TRCV_MSK_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_EVENT_TMR - EVENT TIMER |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_EVENT_TMR - EVENT TIMER (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Holds the current value of the 24-bit event timer. The hardware latches the |
| * upper 2 bytes of EVENT_TMR on each read of least signficant byte. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_EVENT_TMR register |
| */ |
| /*@{*/ |
| #define ZLL_RD_EVENT_TMR(base) (ZLL_EVENT_TMR_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_EVENT_TMR bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_EVENT_TMR, field EVENT_TMR[23:0] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_EVENT_TMR_EVENT_TMR field. */ |
| #define ZLL_RD_EVENT_TMR_EVENT_TMR(base) ((ZLL_EVENT_TMR_REG(base) & ZLL_EVENT_TMR_EVENT_TMR_MASK) >> ZLL_EVENT_TMR_EVENT_TMR_SHIFT) |
| #define ZLL_BRD_EVENT_TMR_EVENT_TMR(base) (ZLL_RD_EVENT_TMR_EVENT_TMR(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_TIMESTAMP - TIMESTAMP |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_TIMESTAMP - TIMESTAMP (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Holds the latched value of the Event Timer current time corresponding to the |
| * beginning of the just received Rx packet, at SFD detect. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_TIMESTAMP register |
| */ |
| /*@{*/ |
| #define ZLL_RD_TIMESTAMP(base) (ZLL_TIMESTAMP_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_TIMESTAMP bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_TIMESTAMP, field TIMESTAMP[23:0] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_TIMESTAMP_TIMESTAMP field. */ |
| #define ZLL_RD_TIMESTAMP_TIMESTAMP(base) ((ZLL_TIMESTAMP_REG(base) & ZLL_TIMESTAMP_TIMESTAMP_MASK) >> ZLL_TIMESTAMP_TIMESTAMP_SHIFT) |
| #define ZLL_BRD_TIMESTAMP_TIMESTAMP(base) (ZLL_RD_TIMESTAMP_TIMESTAMP(base)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_T1CMP - T1 COMPARE |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_T1CMP - T1 COMPARE (RW) |
| * |
| * Reset value: 0x00FFFFFFU |
| * |
| * TMR1 compare value. If TMR1CMP_EN=1 and the Event Timer matches this value, |
| * TMR1IRQ is set. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_T1CMP register |
| */ |
| /*@{*/ |
| #define ZLL_RD_T1CMP(base) (ZLL_T1CMP_REG(base)) |
| #define ZLL_WR_T1CMP(base, value) (ZLL_T1CMP_REG(base) = (value)) |
| #define ZLL_RMW_T1CMP(base, mask, value) (ZLL_WR_T1CMP(base, (ZLL_RD_T1CMP(base) & ~(mask)) | (value))) |
| #define ZLL_SET_T1CMP(base, value) (BME_OR32(&ZLL_T1CMP_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_T1CMP(base, value) (BME_AND32(&ZLL_T1CMP_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_T1CMP(base, value) (BME_XOR32(&ZLL_T1CMP_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_T1CMP bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_T1CMP, field T1CMP[23:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_T1CMP_T1CMP field. */ |
| #define ZLL_RD_T1CMP_T1CMP(base) ((ZLL_T1CMP_REG(base) & ZLL_T1CMP_T1CMP_MASK) >> ZLL_T1CMP_T1CMP_SHIFT) |
| #define ZLL_BRD_T1CMP_T1CMP(base) (ZLL_RD_T1CMP_T1CMP(base)) |
| |
| /*! @brief Set the T1CMP field to a new value. */ |
| #define ZLL_WR_T1CMP_T1CMP(base, value) (ZLL_RMW_T1CMP(base, ZLL_T1CMP_T1CMP_MASK, ZLL_T1CMP_T1CMP(value))) |
| #define ZLL_BWR_T1CMP_T1CMP(base, value) (ZLL_WR_T1CMP_T1CMP(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_T2CMP - T2 COMPARE |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_T2CMP - T2 COMPARE (RW) |
| * |
| * Reset value: 0x00FFFFFFU |
| * |
| * TMR2 compare value. If TMR2CMP_EN=1 and TC2PRIME_EN=0 and the Event Timer |
| * matches this value, TMR2IRQ is set. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_T2CMP register |
| */ |
| /*@{*/ |
| #define ZLL_RD_T2CMP(base) (ZLL_T2CMP_REG(base)) |
| #define ZLL_WR_T2CMP(base, value) (ZLL_T2CMP_REG(base) = (value)) |
| #define ZLL_RMW_T2CMP(base, mask, value) (ZLL_WR_T2CMP(base, (ZLL_RD_T2CMP(base) & ~(mask)) | (value))) |
| #define ZLL_SET_T2CMP(base, value) (BME_OR32(&ZLL_T2CMP_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_T2CMP(base, value) (BME_AND32(&ZLL_T2CMP_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_T2CMP(base, value) (BME_XOR32(&ZLL_T2CMP_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_T2CMP bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_T2CMP, field T2CMP[23:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_T2CMP_T2CMP field. */ |
| #define ZLL_RD_T2CMP_T2CMP(base) ((ZLL_T2CMP_REG(base) & ZLL_T2CMP_T2CMP_MASK) >> ZLL_T2CMP_T2CMP_SHIFT) |
| #define ZLL_BRD_T2CMP_T2CMP(base) (ZLL_RD_T2CMP_T2CMP(base)) |
| |
| /*! @brief Set the T2CMP field to a new value. */ |
| #define ZLL_WR_T2CMP_T2CMP(base, value) (ZLL_RMW_T2CMP(base, ZLL_T2CMP_T2CMP_MASK, ZLL_T2CMP_T2CMP(value))) |
| #define ZLL_BWR_T2CMP_T2CMP(base, value) (ZLL_WR_T2CMP_T2CMP(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_T2PRIMECMP - T2 PRIME COMPARE |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_T2PRIMECMP - T2 PRIME COMPARE (RW) |
| * |
| * Reset value: 0x0000FFFFU |
| * |
| * TMR2 compare value. If TMR2CMP_EN=1 and TC2PRIME_EN=1 and the Event Timer |
| * matches this value, TMR2IRQ is set. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_T2PRIMECMP register |
| */ |
| /*@{*/ |
| #define ZLL_RD_T2PRIMECMP(base) (ZLL_T2PRIMECMP_REG(base)) |
| #define ZLL_WR_T2PRIMECMP(base, value) (ZLL_T2PRIMECMP_REG(base) = (value)) |
| #define ZLL_RMW_T2PRIMECMP(base, mask, value) (ZLL_WR_T2PRIMECMP(base, (ZLL_RD_T2PRIMECMP(base) & ~(mask)) | (value))) |
| #define ZLL_SET_T2PRIMECMP(base, value) (BME_OR32(&ZLL_T2PRIMECMP_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_T2PRIMECMP(base, value) (BME_AND32(&ZLL_T2PRIMECMP_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_T2PRIMECMP(base, value) (BME_XOR32(&ZLL_T2PRIMECMP_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_T2PRIMECMP bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_T2PRIMECMP, field T2PRIMECMP[15:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_T2PRIMECMP_T2PRIMECMP field. */ |
| #define ZLL_RD_T2PRIMECMP_T2PRIMECMP(base) ((ZLL_T2PRIMECMP_REG(base) & ZLL_T2PRIMECMP_T2PRIMECMP_MASK) >> ZLL_T2PRIMECMP_T2PRIMECMP_SHIFT) |
| #define ZLL_BRD_T2PRIMECMP_T2PRIMECMP(base) (BME_UBFX32(&ZLL_T2PRIMECMP_REG(base), ZLL_T2PRIMECMP_T2PRIMECMP_SHIFT, ZLL_T2PRIMECMP_T2PRIMECMP_WIDTH)) |
| |
| /*! @brief Set the T2PRIMECMP field to a new value. */ |
| #define ZLL_WR_T2PRIMECMP_T2PRIMECMP(base, value) (ZLL_RMW_T2PRIMECMP(base, ZLL_T2PRIMECMP_T2PRIMECMP_MASK, ZLL_T2PRIMECMP_T2PRIMECMP(value))) |
| #define ZLL_BWR_T2PRIMECMP_T2PRIMECMP(base, value) (BME_BFI32(&ZLL_T2PRIMECMP_REG(base), ((uint32_t)(value) << ZLL_T2PRIMECMP_T2PRIMECMP_SHIFT), ZLL_T2PRIMECMP_T2PRIMECMP_SHIFT, ZLL_T2PRIMECMP_T2PRIMECMP_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_T3CMP - T3 COMPARE |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_T3CMP - T3 COMPARE (RW) |
| * |
| * Reset value: 0x00FFFFFFU |
| * |
| * TMR3 compare value. If TMR3CMP_EN=1 and the Event Timer matches this value, |
| * TMR3IRQ is set. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_T3CMP register |
| */ |
| /*@{*/ |
| #define ZLL_RD_T3CMP(base) (ZLL_T3CMP_REG(base)) |
| #define ZLL_WR_T3CMP(base, value) (ZLL_T3CMP_REG(base) = (value)) |
| #define ZLL_RMW_T3CMP(base, mask, value) (ZLL_WR_T3CMP(base, (ZLL_RD_T3CMP(base) & ~(mask)) | (value))) |
| #define ZLL_SET_T3CMP(base, value) (BME_OR32(&ZLL_T3CMP_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_T3CMP(base, value) (BME_AND32(&ZLL_T3CMP_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_T3CMP(base, value) (BME_XOR32(&ZLL_T3CMP_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_T3CMP bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_T3CMP, field T3CMP[23:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_T3CMP_T3CMP field. */ |
| #define ZLL_RD_T3CMP_T3CMP(base) ((ZLL_T3CMP_REG(base) & ZLL_T3CMP_T3CMP_MASK) >> ZLL_T3CMP_T3CMP_SHIFT) |
| #define ZLL_BRD_T3CMP_T3CMP(base) (ZLL_RD_T3CMP_T3CMP(base)) |
| |
| /*! @brief Set the T3CMP field to a new value. */ |
| #define ZLL_WR_T3CMP_T3CMP(base, value) (ZLL_RMW_T3CMP(base, ZLL_T3CMP_T3CMP_MASK, ZLL_T3CMP_T3CMP(value))) |
| #define ZLL_BWR_T3CMP_T3CMP(base, value) (ZLL_WR_T3CMP_T3CMP(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_T4CMP - T4 COMPARE |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_T4CMP - T4 COMPARE (RW) |
| * |
| * Reset value: 0x00FFFFFFU |
| * |
| * TMR4 compare value. If TMR4CMP_EN=1 and the Event Timer matches this value, |
| * TMR4IRQ is set. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_T4CMP register |
| */ |
| /*@{*/ |
| #define ZLL_RD_T4CMP(base) (ZLL_T4CMP_REG(base)) |
| #define ZLL_WR_T4CMP(base, value) (ZLL_T4CMP_REG(base) = (value)) |
| #define ZLL_RMW_T4CMP(base, mask, value) (ZLL_WR_T4CMP(base, (ZLL_RD_T4CMP(base) & ~(mask)) | (value))) |
| #define ZLL_SET_T4CMP(base, value) (BME_OR32(&ZLL_T4CMP_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_T4CMP(base, value) (BME_AND32(&ZLL_T4CMP_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_T4CMP(base, value) (BME_XOR32(&ZLL_T4CMP_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_T4CMP bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_T4CMP, field T4CMP[23:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_T4CMP_T4CMP field. */ |
| #define ZLL_RD_T4CMP_T4CMP(base) ((ZLL_T4CMP_REG(base) & ZLL_T4CMP_T4CMP_MASK) >> ZLL_T4CMP_T4CMP_SHIFT) |
| #define ZLL_BRD_T4CMP_T4CMP(base) (ZLL_RD_T4CMP_T4CMP(base)) |
| |
| /*! @brief Set the T4CMP field to a new value. */ |
| #define ZLL_WR_T4CMP_T4CMP(base, value) (ZLL_RMW_T4CMP(base, ZLL_T4CMP_T4CMP_MASK, ZLL_T4CMP_T4CMP(value))) |
| #define ZLL_BWR_T4CMP_T4CMP(base, value) (ZLL_WR_T4CMP_T4CMP(base, value)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_PA_PWR - PA POWER |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_PA_PWR - PA POWER (RW) |
| * |
| * Reset value: 0x00000008U |
| * |
| * PA Target Power used to transmit Zigbee packets |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_PA_PWR register |
| */ |
| /*@{*/ |
| #define ZLL_RD_PA_PWR(base) (ZLL_PA_PWR_REG(base)) |
| #define ZLL_WR_PA_PWR(base, value) (ZLL_PA_PWR_REG(base) = (value)) |
| #define ZLL_RMW_PA_PWR(base, mask, value) (ZLL_WR_PA_PWR(base, (ZLL_RD_PA_PWR(base) & ~(mask)) | (value))) |
| #define ZLL_SET_PA_PWR(base, value) (BME_OR32(&ZLL_PA_PWR_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_PA_PWR(base, value) (BME_AND32(&ZLL_PA_PWR_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_PA_PWR(base, value) (BME_XOR32(&ZLL_PA_PWR_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_PA_PWR bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_PA_PWR, field PA_PWR[3:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PA_PWR_PA_PWR field. */ |
| #define ZLL_RD_PA_PWR_PA_PWR(base) ((ZLL_PA_PWR_REG(base) & ZLL_PA_PWR_PA_PWR_MASK) >> ZLL_PA_PWR_PA_PWR_SHIFT) |
| #define ZLL_BRD_PA_PWR_PA_PWR(base) (BME_UBFX32(&ZLL_PA_PWR_REG(base), ZLL_PA_PWR_PA_PWR_SHIFT, ZLL_PA_PWR_PA_PWR_WIDTH)) |
| |
| /*! @brief Set the PA_PWR field to a new value. */ |
| #define ZLL_WR_PA_PWR_PA_PWR(base, value) (ZLL_RMW_PA_PWR(base, ZLL_PA_PWR_PA_PWR_MASK, ZLL_PA_PWR_PA_PWR(value))) |
| #define ZLL_BWR_PA_PWR_PA_PWR(base, value) (BME_BFI32(&ZLL_PA_PWR_REG(base), ((uint32_t)(value) << ZLL_PA_PWR_PA_PWR_SHIFT), ZLL_PA_PWR_PA_PWR_SHIFT, ZLL_PA_PWR_PA_PWR_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_CHANNEL_NUM0 - CHANNEL NUMBER 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_CHANNEL_NUM0 - CHANNEL NUMBER 0 (RW) |
| * |
| * Reset value: 0x00000012U |
| * |
| * This is the mapped channel number used to transmit and receive Zigbee |
| * packets. If Dual PAN is engaged, this register applies to PAN0. CHANNEL_NUM0 should |
| * be in the range: 11 <= CHANNEL_NUM0 <= 26 |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_CHANNEL_NUM0 register |
| */ |
| /*@{*/ |
| #define ZLL_RD_CHANNEL_NUM0(base) (ZLL_CHANNEL_NUM0_REG(base)) |
| #define ZLL_WR_CHANNEL_NUM0(base, value) (ZLL_CHANNEL_NUM0_REG(base) = (value)) |
| #define ZLL_RMW_CHANNEL_NUM0(base, mask, value) (ZLL_WR_CHANNEL_NUM0(base, (ZLL_RD_CHANNEL_NUM0(base) & ~(mask)) | (value))) |
| #define ZLL_SET_CHANNEL_NUM0(base, value) (BME_OR32(&ZLL_CHANNEL_NUM0_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_CHANNEL_NUM0(base, value) (BME_AND32(&ZLL_CHANNEL_NUM0_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_CHANNEL_NUM0(base, value) (BME_XOR32(&ZLL_CHANNEL_NUM0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_CHANNEL_NUM0 bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_CHANNEL_NUM0, field CHANNEL_NUM0[6:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_CHANNEL_NUM0_CHANNEL_NUM0 field. */ |
| #define ZLL_RD_CHANNEL_NUM0_CHANNEL_NUM0(base) ((ZLL_CHANNEL_NUM0_REG(base) & ZLL_CHANNEL_NUM0_CHANNEL_NUM0_MASK) >> ZLL_CHANNEL_NUM0_CHANNEL_NUM0_SHIFT) |
| #define ZLL_BRD_CHANNEL_NUM0_CHANNEL_NUM0(base) (BME_UBFX32(&ZLL_CHANNEL_NUM0_REG(base), ZLL_CHANNEL_NUM0_CHANNEL_NUM0_SHIFT, ZLL_CHANNEL_NUM0_CHANNEL_NUM0_WIDTH)) |
| |
| /*! @brief Set the CHANNEL_NUM0 field to a new value. */ |
| #define ZLL_WR_CHANNEL_NUM0_CHANNEL_NUM0(base, value) (ZLL_RMW_CHANNEL_NUM0(base, ZLL_CHANNEL_NUM0_CHANNEL_NUM0_MASK, ZLL_CHANNEL_NUM0_CHANNEL_NUM0(value))) |
| #define ZLL_BWR_CHANNEL_NUM0_CHANNEL_NUM0(base, value) (BME_BFI32(&ZLL_CHANNEL_NUM0_REG(base), ((uint32_t)(value) << ZLL_CHANNEL_NUM0_CHANNEL_NUM0_SHIFT), ZLL_CHANNEL_NUM0_CHANNEL_NUM0_SHIFT, ZLL_CHANNEL_NUM0_CHANNEL_NUM0_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_LQI_AND_RSSI - LQI AND RSSI |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_LQI_AND_RSSI - LQI AND RSSI (RO) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_LQI_AND_RSSI register |
| */ |
| /*@{*/ |
| #define ZLL_RD_LQI_AND_RSSI(base) (ZLL_LQI_AND_RSSI_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_LQI_AND_RSSI bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_LQI_AND_RSSI, field LQI_VALUE[7:0] (RO) |
| * |
| * Link Quality Indicator for the most recently received packet. (LQI is also |
| * available in the Packet Buffer, at the end of the received packet data) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_LQI_AND_RSSI_LQI_VALUE field. */ |
| #define ZLL_RD_LQI_AND_RSSI_LQI_VALUE(base) ((ZLL_LQI_AND_RSSI_REG(base) & ZLL_LQI_AND_RSSI_LQI_VALUE_MASK) >> ZLL_LQI_AND_RSSI_LQI_VALUE_SHIFT) |
| #define ZLL_BRD_LQI_AND_RSSI_LQI_VALUE(base) (BME_UBFX32(&ZLL_LQI_AND_RSSI_REG(base), ZLL_LQI_AND_RSSI_LQI_VALUE_SHIFT, ZLL_LQI_AND_RSSI_LQI_VALUE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_LQI_AND_RSSI, field RSSI[15:8] (RO) |
| * |
| * RSSI Output |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_LQI_AND_RSSI_RSSI field. */ |
| #define ZLL_RD_LQI_AND_RSSI_RSSI(base) ((ZLL_LQI_AND_RSSI_REG(base) & ZLL_LQI_AND_RSSI_RSSI_MASK) >> ZLL_LQI_AND_RSSI_RSSI_SHIFT) |
| #define ZLL_BRD_LQI_AND_RSSI_RSSI(base) (BME_UBFX32(&ZLL_LQI_AND_RSSI_REG(base), ZLL_LQI_AND_RSSI_RSSI_SHIFT, ZLL_LQI_AND_RSSI_RSSI_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_LQI_AND_RSSI, field CCA1_ED_FNL[23:16] (RO) |
| * |
| * Output register to show final averaged RSSI value or compensated value of the |
| * same at the end of a CCA Mode1 or Energy Detect computation. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_LQI_AND_RSSI_CCA1_ED_FNL field. */ |
| #define ZLL_RD_LQI_AND_RSSI_CCA1_ED_FNL(base) ((ZLL_LQI_AND_RSSI_REG(base) & ZLL_LQI_AND_RSSI_CCA1_ED_FNL_MASK) >> ZLL_LQI_AND_RSSI_CCA1_ED_FNL_SHIFT) |
| #define ZLL_BRD_LQI_AND_RSSI_CCA1_ED_FNL(base) (BME_UBFX32(&ZLL_LQI_AND_RSSI_REG(base), ZLL_LQI_AND_RSSI_CCA1_ED_FNL_SHIFT, ZLL_LQI_AND_RSSI_CCA1_ED_FNL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_MACSHORTADDRS0 - MAC SHORT ADDRESS 0 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_MACSHORTADDRS0 - MAC SHORT ADDRESS 0 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_MACSHORTADDRS0 register |
| */ |
| /*@{*/ |
| #define ZLL_RD_MACSHORTADDRS0(base) (ZLL_MACSHORTADDRS0_REG(base)) |
| #define ZLL_WR_MACSHORTADDRS0(base, value) (ZLL_MACSHORTADDRS0_REG(base) = (value)) |
| #define ZLL_RMW_MACSHORTADDRS0(base, mask, value) (ZLL_WR_MACSHORTADDRS0(base, (ZLL_RD_MACSHORTADDRS0(base) & ~(mask)) | (value))) |
| #define ZLL_SET_MACSHORTADDRS0(base, value) (BME_OR32(&ZLL_MACSHORTADDRS0_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_MACSHORTADDRS0(base, value) (BME_AND32(&ZLL_MACSHORTADDRS0_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_MACSHORTADDRS0(base, value) (BME_XOR32(&ZLL_MACSHORTADDRS0_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_MACSHORTADDRS0 bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_MACSHORTADDRS0, field MACPANID0[15:0] (RW) |
| * |
| * MAC PAN ID for PAN0. The packet processor compares the incoming packet's |
| * Destination PAN ID against the contents of this register to determine if the |
| * packet is addressed to this device; or if the incoming packet is a Beacon frame, |
| * the packet processor compares the incoming packet Source PAN ID against this |
| * register. Also, if PANCORDNTR0=1, and the incoming packet has no Destination |
| * Address field, and if the incoming packet is a Data or MAC Command frame, the |
| * packet processor compares the incoming packet Source PAN ID against this register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_MACSHORTADDRS0_MACPANID0 field. */ |
| #define ZLL_RD_MACSHORTADDRS0_MACPANID0(base) ((ZLL_MACSHORTADDRS0_REG(base) & ZLL_MACSHORTADDRS0_MACPANID0_MASK) >> ZLL_MACSHORTADDRS0_MACPANID0_SHIFT) |
| #define ZLL_BRD_MACSHORTADDRS0_MACPANID0(base) (BME_UBFX32(&ZLL_MACSHORTADDRS0_REG(base), ZLL_MACSHORTADDRS0_MACPANID0_SHIFT, ZLL_MACSHORTADDRS0_MACPANID0_WIDTH)) |
| |
| /*! @brief Set the MACPANID0 field to a new value. */ |
| #define ZLL_WR_MACSHORTADDRS0_MACPANID0(base, value) (ZLL_RMW_MACSHORTADDRS0(base, ZLL_MACSHORTADDRS0_MACPANID0_MASK, ZLL_MACSHORTADDRS0_MACPANID0(value))) |
| #define ZLL_BWR_MACSHORTADDRS0_MACPANID0(base, value) (BME_BFI32(&ZLL_MACSHORTADDRS0_REG(base), ((uint32_t)(value) << ZLL_MACSHORTADDRS0_MACPANID0_SHIFT), ZLL_MACSHORTADDRS0_MACPANID0_SHIFT, ZLL_MACSHORTADDRS0_MACPANID0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_MACSHORTADDRS0, field MACSHORTADDRS0[31:16] (RW) |
| * |
| * MAC Short Address for PAN0, for 16-bit destination addressing mode. The |
| * packet processor compares the incoming packet's Destination Address against the |
| * contents of this register to determine if the packet is addressed to this device. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_MACSHORTADDRS0_MACSHORTADDRS0 field. */ |
| #define ZLL_RD_MACSHORTADDRS0_MACSHORTADDRS0(base) ((ZLL_MACSHORTADDRS0_REG(base) & ZLL_MACSHORTADDRS0_MACSHORTADDRS0_MASK) >> ZLL_MACSHORTADDRS0_MACSHORTADDRS0_SHIFT) |
| #define ZLL_BRD_MACSHORTADDRS0_MACSHORTADDRS0(base) (BME_UBFX32(&ZLL_MACSHORTADDRS0_REG(base), ZLL_MACSHORTADDRS0_MACSHORTADDRS0_SHIFT, ZLL_MACSHORTADDRS0_MACSHORTADDRS0_WIDTH)) |
| |
| /*! @brief Set the MACSHORTADDRS0 field to a new value. */ |
| #define ZLL_WR_MACSHORTADDRS0_MACSHORTADDRS0(base, value) (ZLL_RMW_MACSHORTADDRS0(base, ZLL_MACSHORTADDRS0_MACSHORTADDRS0_MASK, ZLL_MACSHORTADDRS0_MACSHORTADDRS0(value))) |
| #define ZLL_BWR_MACSHORTADDRS0_MACSHORTADDRS0(base, value) (BME_BFI32(&ZLL_MACSHORTADDRS0_REG(base), ((uint32_t)(value) << ZLL_MACSHORTADDRS0_MACSHORTADDRS0_SHIFT), ZLL_MACSHORTADDRS0_MACSHORTADDRS0_SHIFT, ZLL_MACSHORTADDRS0_MACSHORTADDRS0_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_MACLONGADDRS0_LSB - MAC LONG ADDRESS 0 LSB |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_MACLONGADDRS0_LSB - MAC LONG ADDRESS 0 LSB (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * MAC Long Address for PAN0, for 64-bit destination addressing mode. The packet |
| * processor compares the incoming packet's Destination Address against the |
| * contents of this register to determine if the packet is addressed to this device. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_MACLONGADDRS0_LSB register |
| */ |
| /*@{*/ |
| #define ZLL_RD_MACLONGADDRS0_LSB(base) (ZLL_MACLONGADDRS0_LSB_REG(base)) |
| #define ZLL_WR_MACLONGADDRS0_LSB(base, value) (ZLL_MACLONGADDRS0_LSB_REG(base) = (value)) |
| #define ZLL_RMW_MACLONGADDRS0_LSB(base, mask, value) (ZLL_WR_MACLONGADDRS0_LSB(base, (ZLL_RD_MACLONGADDRS0_LSB(base) & ~(mask)) | (value))) |
| #define ZLL_SET_MACLONGADDRS0_LSB(base, value) (BME_OR32(&ZLL_MACLONGADDRS0_LSB_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_MACLONGADDRS0_LSB(base, value) (BME_AND32(&ZLL_MACLONGADDRS0_LSB_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_MACLONGADDRS0_LSB(base, value) (BME_XOR32(&ZLL_MACLONGADDRS0_LSB_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_MACLONGADDRS0_MSB - MAC LONG ADDRESS 0 MSB |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_MACLONGADDRS0_MSB - MAC LONG ADDRESS 0 MSB (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * MAC Long Address for PAN0, for 64-bit destination addressing mode. The packet |
| * processor compares the incoming packet's Destination Address against the |
| * contents of this register to determine if the packet is addressed to this device. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_MACLONGADDRS0_MSB register |
| */ |
| /*@{*/ |
| #define ZLL_RD_MACLONGADDRS0_MSB(base) (ZLL_MACLONGADDRS0_MSB_REG(base)) |
| #define ZLL_WR_MACLONGADDRS0_MSB(base, value) (ZLL_MACLONGADDRS0_MSB_REG(base) = (value)) |
| #define ZLL_RMW_MACLONGADDRS0_MSB(base, mask, value) (ZLL_WR_MACLONGADDRS0_MSB(base, (ZLL_RD_MACLONGADDRS0_MSB(base) & ~(mask)) | (value))) |
| #define ZLL_SET_MACLONGADDRS0_MSB(base, value) (BME_OR32(&ZLL_MACLONGADDRS0_MSB_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_MACLONGADDRS0_MSB(base, value) (BME_AND32(&ZLL_MACLONGADDRS0_MSB_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_MACLONGADDRS0_MSB(base, value) (BME_XOR32(&ZLL_MACLONGADDRS0_MSB_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_RX_FRAME_FILTER - RECEIVE FRAME FILTER |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_RX_FRAME_FILTER - RECEIVE FRAME FILTER (RW) |
| * |
| * Reset value: 0x0000000FU |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_RX_FRAME_FILTER register |
| */ |
| /*@{*/ |
| #define ZLL_RD_RX_FRAME_FILTER(base) (ZLL_RX_FRAME_FILTER_REG(base)) |
| #define ZLL_WR_RX_FRAME_FILTER(base, value) (ZLL_RX_FRAME_FILTER_REG(base) = (value)) |
| #define ZLL_RMW_RX_FRAME_FILTER(base, mask, value) (ZLL_WR_RX_FRAME_FILTER(base, (ZLL_RD_RX_FRAME_FILTER(base) & ~(mask)) | (value))) |
| #define ZLL_SET_RX_FRAME_FILTER(base, value) (BME_OR32(&ZLL_RX_FRAME_FILTER_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_RX_FRAME_FILTER(base, value) (BME_AND32(&ZLL_RX_FRAME_FILTER_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_RX_FRAME_FILTER(base, value) (BME_XOR32(&ZLL_RX_FRAME_FILTER_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_RX_FRAME_FILTER bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_RX_FRAME_FILTER, field BEACON_FT[0] (RW) |
| * |
| * Values: |
| * - 0b0 - reject all Beacon frames |
| * - 0b1 - Beacon frame type enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_RX_FRAME_FILTER_BEACON_FT field. */ |
| #define ZLL_RD_RX_FRAME_FILTER_BEACON_FT(base) ((ZLL_RX_FRAME_FILTER_REG(base) & ZLL_RX_FRAME_FILTER_BEACON_FT_MASK) >> ZLL_RX_FRAME_FILTER_BEACON_FT_SHIFT) |
| #define ZLL_BRD_RX_FRAME_FILTER_BEACON_FT(base) (BME_UBFX32(&ZLL_RX_FRAME_FILTER_REG(base), ZLL_RX_FRAME_FILTER_BEACON_FT_SHIFT, ZLL_RX_FRAME_FILTER_BEACON_FT_WIDTH)) |
| |
| /*! @brief Set the BEACON_FT field to a new value. */ |
| #define ZLL_WR_RX_FRAME_FILTER_BEACON_FT(base, value) (ZLL_RMW_RX_FRAME_FILTER(base, ZLL_RX_FRAME_FILTER_BEACON_FT_MASK, ZLL_RX_FRAME_FILTER_BEACON_FT(value))) |
| #define ZLL_BWR_RX_FRAME_FILTER_BEACON_FT(base, value) (BME_BFI32(&ZLL_RX_FRAME_FILTER_REG(base), ((uint32_t)(value) << ZLL_RX_FRAME_FILTER_BEACON_FT_SHIFT), ZLL_RX_FRAME_FILTER_BEACON_FT_SHIFT, ZLL_RX_FRAME_FILTER_BEACON_FT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_RX_FRAME_FILTER, field DATA_FT[1] (RW) |
| * |
| * Values: |
| * - 0b0 - reject all Data frames |
| * - 0b1 - Data frame type enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_RX_FRAME_FILTER_DATA_FT field. */ |
| #define ZLL_RD_RX_FRAME_FILTER_DATA_FT(base) ((ZLL_RX_FRAME_FILTER_REG(base) & ZLL_RX_FRAME_FILTER_DATA_FT_MASK) >> ZLL_RX_FRAME_FILTER_DATA_FT_SHIFT) |
| #define ZLL_BRD_RX_FRAME_FILTER_DATA_FT(base) (BME_UBFX32(&ZLL_RX_FRAME_FILTER_REG(base), ZLL_RX_FRAME_FILTER_DATA_FT_SHIFT, ZLL_RX_FRAME_FILTER_DATA_FT_WIDTH)) |
| |
| /*! @brief Set the DATA_FT field to a new value. */ |
| #define ZLL_WR_RX_FRAME_FILTER_DATA_FT(base, value) (ZLL_RMW_RX_FRAME_FILTER(base, ZLL_RX_FRAME_FILTER_DATA_FT_MASK, ZLL_RX_FRAME_FILTER_DATA_FT(value))) |
| #define ZLL_BWR_RX_FRAME_FILTER_DATA_FT(base, value) (BME_BFI32(&ZLL_RX_FRAME_FILTER_REG(base), ((uint32_t)(value) << ZLL_RX_FRAME_FILTER_DATA_FT_SHIFT), ZLL_RX_FRAME_FILTER_DATA_FT_SHIFT, ZLL_RX_FRAME_FILTER_DATA_FT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_RX_FRAME_FILTER, field ACK_FT[2] (RW) |
| * |
| * Values: |
| * - 0b0 - reject all Acknowledge frames |
| * - 0b1 - Acknowledge frame type enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_RX_FRAME_FILTER_ACK_FT field. */ |
| #define ZLL_RD_RX_FRAME_FILTER_ACK_FT(base) ((ZLL_RX_FRAME_FILTER_REG(base) & ZLL_RX_FRAME_FILTER_ACK_FT_MASK) >> ZLL_RX_FRAME_FILTER_ACK_FT_SHIFT) |
| #define ZLL_BRD_RX_FRAME_FILTER_ACK_FT(base) (BME_UBFX32(&ZLL_RX_FRAME_FILTER_REG(base), ZLL_RX_FRAME_FILTER_ACK_FT_SHIFT, ZLL_RX_FRAME_FILTER_ACK_FT_WIDTH)) |
| |
| /*! @brief Set the ACK_FT field to a new value. */ |
| #define ZLL_WR_RX_FRAME_FILTER_ACK_FT(base, value) (ZLL_RMW_RX_FRAME_FILTER(base, ZLL_RX_FRAME_FILTER_ACK_FT_MASK, ZLL_RX_FRAME_FILTER_ACK_FT(value))) |
| #define ZLL_BWR_RX_FRAME_FILTER_ACK_FT(base, value) (BME_BFI32(&ZLL_RX_FRAME_FILTER_REG(base), ((uint32_t)(value) << ZLL_RX_FRAME_FILTER_ACK_FT_SHIFT), ZLL_RX_FRAME_FILTER_ACK_FT_SHIFT, ZLL_RX_FRAME_FILTER_ACK_FT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_RX_FRAME_FILTER, field CMD_FT[3] (RW) |
| * |
| * Values: |
| * - 0b0 - reject all MAC Command frames |
| * - 0b1 - MAC Command frame type enabled. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_RX_FRAME_FILTER_CMD_FT field. */ |
| #define ZLL_RD_RX_FRAME_FILTER_CMD_FT(base) ((ZLL_RX_FRAME_FILTER_REG(base) & ZLL_RX_FRAME_FILTER_CMD_FT_MASK) >> ZLL_RX_FRAME_FILTER_CMD_FT_SHIFT) |
| #define ZLL_BRD_RX_FRAME_FILTER_CMD_FT(base) (BME_UBFX32(&ZLL_RX_FRAME_FILTER_REG(base), ZLL_RX_FRAME_FILTER_CMD_FT_SHIFT, ZLL_RX_FRAME_FILTER_CMD_FT_WIDTH)) |
| |
| /*! @brief Set the CMD_FT field to a new value. */ |
| #define ZLL_WR_RX_FRAME_FILTER_CMD_FT(base, value) (ZLL_RMW_RX_FRAME_FILTER(base, ZLL_RX_FRAME_FILTER_CMD_FT_MASK, ZLL_RX_FRAME_FILTER_CMD_FT(value))) |
| #define ZLL_BWR_RX_FRAME_FILTER_CMD_FT(base, value) (BME_BFI32(&ZLL_RX_FRAME_FILTER_REG(base), ((uint32_t)(value) << ZLL_RX_FRAME_FILTER_CMD_FT_SHIFT), ZLL_RX_FRAME_FILTER_CMD_FT_SHIFT, ZLL_RX_FRAME_FILTER_CMD_FT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_RX_FRAME_FILTER, field NS_FT[4] (RW) |
| * |
| * Values: |
| * - 0b0 - reject all reserved frame types |
| * - 0b1 - Not-specified (reserved) frame type enabled. No packet filtering is |
| * performed, except for frame length checking (FrameLength>=5 and |
| * FrameLength<=127). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_RX_FRAME_FILTER_NS_FT field. */ |
| #define ZLL_RD_RX_FRAME_FILTER_NS_FT(base) ((ZLL_RX_FRAME_FILTER_REG(base) & ZLL_RX_FRAME_FILTER_NS_FT_MASK) >> ZLL_RX_FRAME_FILTER_NS_FT_SHIFT) |
| #define ZLL_BRD_RX_FRAME_FILTER_NS_FT(base) (BME_UBFX32(&ZLL_RX_FRAME_FILTER_REG(base), ZLL_RX_FRAME_FILTER_NS_FT_SHIFT, ZLL_RX_FRAME_FILTER_NS_FT_WIDTH)) |
| |
| /*! @brief Set the NS_FT field to a new value. */ |
| #define ZLL_WR_RX_FRAME_FILTER_NS_FT(base, value) (ZLL_RMW_RX_FRAME_FILTER(base, ZLL_RX_FRAME_FILTER_NS_FT_MASK, ZLL_RX_FRAME_FILTER_NS_FT(value))) |
| #define ZLL_BWR_RX_FRAME_FILTER_NS_FT(base, value) (BME_BFI32(&ZLL_RX_FRAME_FILTER_REG(base), ((uint32_t)(value) << ZLL_RX_FRAME_FILTER_NS_FT_SHIFT), ZLL_RX_FRAME_FILTER_NS_FT_SHIFT, ZLL_RX_FRAME_FILTER_NS_FT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_RX_FRAME_FILTER, field ACTIVE_PROMISCUOUS[5] (RW) |
| * |
| * Values: |
| * - 0b0 - normal operation |
| * - 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 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS field. */ |
| #define ZLL_RD_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS(base) ((ZLL_RX_FRAME_FILTER_REG(base) & ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_MASK) >> ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_SHIFT) |
| #define ZLL_BRD_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS(base) (BME_UBFX32(&ZLL_RX_FRAME_FILTER_REG(base), ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_SHIFT, ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_WIDTH)) |
| |
| /*! @brief Set the ACTIVE_PROMISCUOUS field to a new value. */ |
| #define ZLL_WR_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS(base, value) (ZLL_RMW_RX_FRAME_FILTER(base, ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_MASK, ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS(value))) |
| #define ZLL_BWR_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS(base, value) (BME_BFI32(&ZLL_RX_FRAME_FILTER_REG(base), ((uint32_t)(value) << ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_SHIFT), ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_SHIFT, ZLL_RX_FRAME_FILTER_ACTIVE_PROMISCUOUS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_RX_FRAME_FILTER, field FRM_VER[7:6] (RW) |
| * |
| * Frame Version selector. The incoming packet's Frame Control Field is parsed |
| * to obtain the FrameVersion subfield, and that value is compared against this |
| * register, in accordance with the following: 00: Any FrameVersion accepted (0,1,2 |
| * or 3) 01: Only accept FrameVersion 0 packets (2003 compliant) 10: Only accept |
| * FrameVersion 1 packets (2006 compliant) 11: Accept FrameVersion 0 and 1 |
| * packets, reject all others Frames received with FrameVersion 2 or 3 will be treated |
| * identically to FrameVersion 1, with respect to parsing of the Auxiliary |
| * Security Header. Other than this Header, all 4 frame versions will be treated |
| * identically |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_RX_FRAME_FILTER_FRM_VER field. */ |
| #define ZLL_RD_RX_FRAME_FILTER_FRM_VER(base) ((ZLL_RX_FRAME_FILTER_REG(base) & ZLL_RX_FRAME_FILTER_FRM_VER_MASK) >> ZLL_RX_FRAME_FILTER_FRM_VER_SHIFT) |
| #define ZLL_BRD_RX_FRAME_FILTER_FRM_VER(base) (BME_UBFX32(&ZLL_RX_FRAME_FILTER_REG(base), ZLL_RX_FRAME_FILTER_FRM_VER_SHIFT, ZLL_RX_FRAME_FILTER_FRM_VER_WIDTH)) |
| |
| /*! @brief Set the FRM_VER field to a new value. */ |
| #define ZLL_WR_RX_FRAME_FILTER_FRM_VER(base, value) (ZLL_RMW_RX_FRAME_FILTER(base, ZLL_RX_FRAME_FILTER_FRM_VER_MASK, ZLL_RX_FRAME_FILTER_FRM_VER(value))) |
| #define ZLL_BWR_RX_FRAME_FILTER_FRM_VER(base, value) (BME_BFI32(&ZLL_RX_FRAME_FILTER_REG(base), ((uint32_t)(value) << ZLL_RX_FRAME_FILTER_FRM_VER_SHIFT), ZLL_RX_FRAME_FILTER_FRM_VER_SHIFT, ZLL_RX_FRAME_FILTER_FRM_VER_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_CCA_LQI_CTRL - CCA AND LQI CONTROL |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_CCA_LQI_CTRL - CCA AND LQI CONTROL (RW) |
| * |
| * Reset value: 0x0866004BU |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_CCA_LQI_CTRL register |
| */ |
| /*@{*/ |
| #define ZLL_RD_CCA_LQI_CTRL(base) (ZLL_CCA_LQI_CTRL_REG(base)) |
| #define ZLL_WR_CCA_LQI_CTRL(base, value) (ZLL_CCA_LQI_CTRL_REG(base) = (value)) |
| #define ZLL_RMW_CCA_LQI_CTRL(base, mask, value) (ZLL_WR_CCA_LQI_CTRL(base, (ZLL_RD_CCA_LQI_CTRL(base) & ~(mask)) | (value))) |
| #define ZLL_SET_CCA_LQI_CTRL(base, value) (BME_OR32(&ZLL_CCA_LQI_CTRL_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_CCA_LQI_CTRL(base, value) (BME_AND32(&ZLL_CCA_LQI_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_CCA_LQI_CTRL(base, value) (BME_XOR32(&ZLL_CCA_LQI_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_CCA_LQI_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_CCA_LQI_CTRL, field CCA1_THRESH[7:0] (RW) |
| * |
| * Programmable energy threshold register for CCA mode 1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_CCA_LQI_CTRL_CCA1_THRESH field. */ |
| #define ZLL_RD_CCA_LQI_CTRL_CCA1_THRESH(base) ((ZLL_CCA_LQI_CTRL_REG(base) & ZLL_CCA_LQI_CTRL_CCA1_THRESH_MASK) >> ZLL_CCA_LQI_CTRL_CCA1_THRESH_SHIFT) |
| #define ZLL_BRD_CCA_LQI_CTRL_CCA1_THRESH(base) (BME_UBFX32(&ZLL_CCA_LQI_CTRL_REG(base), ZLL_CCA_LQI_CTRL_CCA1_THRESH_SHIFT, ZLL_CCA_LQI_CTRL_CCA1_THRESH_WIDTH)) |
| |
| /*! @brief Set the CCA1_THRESH field to a new value. */ |
| #define ZLL_WR_CCA_LQI_CTRL_CCA1_THRESH(base, value) (ZLL_RMW_CCA_LQI_CTRL(base, ZLL_CCA_LQI_CTRL_CCA1_THRESH_MASK, ZLL_CCA_LQI_CTRL_CCA1_THRESH(value))) |
| #define ZLL_BWR_CCA_LQI_CTRL_CCA1_THRESH(base, value) (BME_BFI32(&ZLL_CCA_LQI_CTRL_REG(base), ((uint32_t)(value) << ZLL_CCA_LQI_CTRL_CCA1_THRESH_SHIFT), ZLL_CCA_LQI_CTRL_CCA1_THRESH_SHIFT, ZLL_CCA_LQI_CTRL_CCA1_THRESH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_CCA_LQI_CTRL, field LQI_OFFSET_COMP[23:16] (RW) |
| * |
| * Programmable amount to offset RSSI based LQI value |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP field. */ |
| #define ZLL_RD_CCA_LQI_CTRL_LQI_OFFSET_COMP(base) ((ZLL_CCA_LQI_CTRL_REG(base) & ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_MASK) >> ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_SHIFT) |
| #define ZLL_BRD_CCA_LQI_CTRL_LQI_OFFSET_COMP(base) (BME_UBFX32(&ZLL_CCA_LQI_CTRL_REG(base), ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_SHIFT, ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_WIDTH)) |
| |
| /*! @brief Set the LQI_OFFSET_COMP field to a new value. */ |
| #define ZLL_WR_CCA_LQI_CTRL_LQI_OFFSET_COMP(base, value) (ZLL_RMW_CCA_LQI_CTRL(base, ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_MASK, ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP(value))) |
| #define ZLL_BWR_CCA_LQI_CTRL_LQI_OFFSET_COMP(base, value) (BME_BFI32(&ZLL_CCA_LQI_CTRL_REG(base), ((uint32_t)(value) << ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_SHIFT), ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_SHIFT, ZLL_CCA_LQI_CTRL_LQI_OFFSET_COMP_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_CCA_LQI_CTRL, field CCA3_AND_NOT_OR[27] (RW) |
| * |
| * Determines the way CCA3 is required to be detected |
| * |
| * Values: |
| * - 0b0 - CCA1 or CCA2 |
| * - 0b1 - CCA1 and CCA2 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR field. */ |
| #define ZLL_RD_CCA_LQI_CTRL_CCA3_AND_NOT_OR(base) ((ZLL_CCA_LQI_CTRL_REG(base) & ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_MASK) >> ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_SHIFT) |
| #define ZLL_BRD_CCA_LQI_CTRL_CCA3_AND_NOT_OR(base) (BME_UBFX32(&ZLL_CCA_LQI_CTRL_REG(base), ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_SHIFT, ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_WIDTH)) |
| |
| /*! @brief Set the CCA3_AND_NOT_OR field to a new value. */ |
| #define ZLL_WR_CCA_LQI_CTRL_CCA3_AND_NOT_OR(base, value) (ZLL_RMW_CCA_LQI_CTRL(base, ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_MASK, ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR(value))) |
| #define ZLL_BWR_CCA_LQI_CTRL_CCA3_AND_NOT_OR(base, value) (BME_BFI32(&ZLL_CCA_LQI_CTRL_REG(base), ((uint32_t)(value) << ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_SHIFT), ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_SHIFT, ZLL_CCA_LQI_CTRL_CCA3_AND_NOT_OR_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_CCA2_CTRL - CCA2 CONTROL |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_CCA2_CTRL - CCA2 CONTROL (RW) |
| * |
| * Reset value: 0x00008230U |
| * |
| * CCA Mode 2 Control Register |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_CCA2_CTRL register |
| */ |
| /*@{*/ |
| #define ZLL_RD_CCA2_CTRL(base) (ZLL_CCA2_CTRL_REG(base)) |
| #define ZLL_WR_CCA2_CTRL(base, value) (ZLL_CCA2_CTRL_REG(base) = (value)) |
| #define ZLL_RMW_CCA2_CTRL(base, mask, value) (ZLL_WR_CCA2_CTRL(base, (ZLL_RD_CCA2_CTRL(base) & ~(mask)) | (value))) |
| #define ZLL_SET_CCA2_CTRL(base, value) (BME_OR32(&ZLL_CCA2_CTRL_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_CCA2_CTRL(base, value) (BME_AND32(&ZLL_CCA2_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_CCA2_CTRL(base, value) (BME_XOR32(&ZLL_CCA2_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_CCA2_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_CCA2_CTRL, field CCA2_NUM_CORR_PEAKS[3:0] (RO) |
| * |
| * Counts of number of peaks that crossed cca2_corr_thresh in CCA Mode 2 |
| * operation |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS field. */ |
| #define ZLL_RD_CCA2_CTRL_CCA2_NUM_CORR_PEAKS(base) ((ZLL_CCA2_CTRL_REG(base) & ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS_MASK) >> ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS_SHIFT) |
| #define ZLL_BRD_CCA2_CTRL_CCA2_NUM_CORR_PEAKS(base) (BME_UBFX32(&ZLL_CCA2_CTRL_REG(base), ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS_SHIFT, ZLL_CCA2_CTRL_CCA2_NUM_CORR_PEAKS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_CCA2_CTRL, field CCA2_MIN_NUM_CORR_TH[6:4] (RW) |
| * |
| * Programmable threshold to be compared against number of correlation peaks |
| * that exceeded cca2_corr_thresh for detecting CCA mode 2. Number of peaks detected |
| * = cca2_min_num_corr_th + 1; Example: If it is programmed to 3, CCA2 logic |
| * looks for at least 4 correlation peaks that crossed the threshold, to indicate |
| * channel is idle or busy. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH field. */ |
| #define ZLL_RD_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH(base) ((ZLL_CCA2_CTRL_REG(base) & ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_MASK) >> ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_SHIFT) |
| #define ZLL_BRD_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH(base) (BME_UBFX32(&ZLL_CCA2_CTRL_REG(base), ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_SHIFT, ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_WIDTH)) |
| |
| /*! @brief Set the CCA2_MIN_NUM_CORR_TH field to a new value. */ |
| #define ZLL_WR_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH(base, value) (ZLL_RMW_CCA2_CTRL(base, ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_MASK, ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH(value))) |
| #define ZLL_BWR_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH(base, value) (BME_BFI32(&ZLL_CCA2_CTRL_REG(base), ((uint32_t)(value) << ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_SHIFT), ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_SHIFT, ZLL_CCA2_CTRL_CCA2_MIN_NUM_CORR_TH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_CCA2_CTRL, field CCA2_CORR_THRESH[15:8] (RW) |
| * |
| * Programmable threshold to be compared against number of correlation peaks |
| * that exceeded cca2_corr_thresh for detecting CCA mode 2. Number of peaks detected |
| * = cca2_min_num_corr_th + 1; Example: If it is programmed to 3, CCA2 logic |
| * looks for at least 4 correlation peaks that crossed the threshold, to indicate |
| * channel is idle or busy. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_CCA2_CTRL_CCA2_CORR_THRESH field. */ |
| #define ZLL_RD_CCA2_CTRL_CCA2_CORR_THRESH(base) ((ZLL_CCA2_CTRL_REG(base) & ZLL_CCA2_CTRL_CCA2_CORR_THRESH_MASK) >> ZLL_CCA2_CTRL_CCA2_CORR_THRESH_SHIFT) |
| #define ZLL_BRD_CCA2_CTRL_CCA2_CORR_THRESH(base) (BME_UBFX32(&ZLL_CCA2_CTRL_REG(base), ZLL_CCA2_CTRL_CCA2_CORR_THRESH_SHIFT, ZLL_CCA2_CTRL_CCA2_CORR_THRESH_WIDTH)) |
| |
| /*! @brief Set the CCA2_CORR_THRESH field to a new value. */ |
| #define ZLL_WR_CCA2_CTRL_CCA2_CORR_THRESH(base, value) (ZLL_RMW_CCA2_CTRL(base, ZLL_CCA2_CTRL_CCA2_CORR_THRESH_MASK, ZLL_CCA2_CTRL_CCA2_CORR_THRESH(value))) |
| #define ZLL_BWR_CCA2_CTRL_CCA2_CORR_THRESH(base, value) (BME_BFI32(&ZLL_CCA2_CTRL_REG(base), ((uint32_t)(value) << ZLL_CCA2_CTRL_CCA2_CORR_THRESH_SHIFT), ZLL_CCA2_CTRL_CCA2_CORR_THRESH_SHIFT, ZLL_CCA2_CTRL_CCA2_CORR_THRESH_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_FAD_CTRL - FAD CONTROL |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_FAD_CTRL - FAD CONTROL (RW) |
| * |
| * Reset value: 0x00000804U |
| * |
| * Fast Antenna Diversity Control Register |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_FAD_CTRL register |
| */ |
| /*@{*/ |
| #define ZLL_RD_FAD_CTRL(base) (ZLL_FAD_CTRL_REG(base)) |
| #define ZLL_WR_FAD_CTRL(base, value) (ZLL_FAD_CTRL_REG(base) = (value)) |
| #define ZLL_RMW_FAD_CTRL(base, mask, value) (ZLL_WR_FAD_CTRL(base, (ZLL_RD_FAD_CTRL(base) & ~(mask)) | (value))) |
| #define ZLL_SET_FAD_CTRL(base, value) (BME_OR32(&ZLL_FAD_CTRL_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_FAD_CTRL(base, value) (BME_AND32(&ZLL_FAD_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_FAD_CTRL(base, value) (BME_XOR32(&ZLL_FAD_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_FAD_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_FAD_CTRL, field FAD_EN[0] (RW) |
| * |
| * Enable Fast Antenna Diversity for Zigbee |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_FAD_CTRL_FAD_EN field. */ |
| #define ZLL_RD_FAD_CTRL_FAD_EN(base) ((ZLL_FAD_CTRL_REG(base) & ZLL_FAD_CTRL_FAD_EN_MASK) >> ZLL_FAD_CTRL_FAD_EN_SHIFT) |
| #define ZLL_BRD_FAD_CTRL_FAD_EN(base) (BME_UBFX32(&ZLL_FAD_CTRL_REG(base), ZLL_FAD_CTRL_FAD_EN_SHIFT, ZLL_FAD_CTRL_FAD_EN_WIDTH)) |
| |
| /*! @brief Set the FAD_EN field to a new value. */ |
| #define ZLL_WR_FAD_CTRL_FAD_EN(base, value) (ZLL_RMW_FAD_CTRL(base, ZLL_FAD_CTRL_FAD_EN_MASK, ZLL_FAD_CTRL_FAD_EN(value))) |
| #define ZLL_BWR_FAD_CTRL_FAD_EN(base, value) (BME_BFI32(&ZLL_FAD_CTRL_REG(base), ((uint32_t)(value) << ZLL_FAD_CTRL_FAD_EN_SHIFT), ZLL_FAD_CTRL_FAD_EN_SHIFT, ZLL_FAD_CTRL_FAD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_FAD_CTRL, field ANTX[1] (RW) |
| * |
| * If FAD_EN=0, the ANTX bit is used to take manual (software) control of the |
| * antenna selection, overriding the FAD state machine; in this case, the readback |
| * value of ANTX is whatever was last written by the host. If FAD_EN=1, the FAD |
| * state machine controls antenna selection, and the readback value of ANTX |
| * reflects the machine-selected antenna. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_FAD_CTRL_ANTX field. */ |
| #define ZLL_RD_FAD_CTRL_ANTX(base) ((ZLL_FAD_CTRL_REG(base) & ZLL_FAD_CTRL_ANTX_MASK) >> ZLL_FAD_CTRL_ANTX_SHIFT) |
| #define ZLL_BRD_FAD_CTRL_ANTX(base) (BME_UBFX32(&ZLL_FAD_CTRL_REG(base), ZLL_FAD_CTRL_ANTX_SHIFT, ZLL_FAD_CTRL_ANTX_WIDTH)) |
| |
| /*! @brief Set the ANTX field to a new value. */ |
| #define ZLL_WR_FAD_CTRL_ANTX(base, value) (ZLL_RMW_FAD_CTRL(base, ZLL_FAD_CTRL_ANTX_MASK, ZLL_FAD_CTRL_ANTX(value))) |
| #define ZLL_BWR_FAD_CTRL_ANTX(base, value) (BME_BFI32(&ZLL_FAD_CTRL_REG(base), ((uint32_t)(value) << ZLL_FAD_CTRL_ANTX_SHIFT), ZLL_FAD_CTRL_ANTX_SHIFT, ZLL_FAD_CTRL_ANTX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_FAD_CTRL, field FAD_NOT_GPIO[2] (RW) |
| * |
| * This bit FAD_NOT_GPIO determines whether the 4 FAD-related pads function in |
| * FAD mode or in TSM/GPIO mode. The 4 FAD-related pads are: ANT_A, ANT_B, |
| * TX_SWITCH, and RX_SWITCH. If FAD_NOT_GPIO=1, these pads assume their Zigbee FAD |
| * functionality If FAD_NOT_GPIO=0, these pads are assigned as TSM GPIO outputs, as |
| * shown: ANT_A -> GPIO0_TRIG_EN ANT_B -> GPIO1_TRIG_EN TX_SWITCH -> GPIO2_TRIG_EN |
| * RX_SWITCH -> GPIO3_TRIG_EN To use these pads in TSM GPIO mode, the TSM timing |
| * registers associated with GPIO0-3 should be programmed with the desired |
| * timings. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_FAD_CTRL_FAD_NOT_GPIO field. */ |
| #define ZLL_RD_FAD_CTRL_FAD_NOT_GPIO(base) ((ZLL_FAD_CTRL_REG(base) & ZLL_FAD_CTRL_FAD_NOT_GPIO_MASK) >> ZLL_FAD_CTRL_FAD_NOT_GPIO_SHIFT) |
| #define ZLL_BRD_FAD_CTRL_FAD_NOT_GPIO(base) (BME_UBFX32(&ZLL_FAD_CTRL_REG(base), ZLL_FAD_CTRL_FAD_NOT_GPIO_SHIFT, ZLL_FAD_CTRL_FAD_NOT_GPIO_WIDTH)) |
| |
| /*! @brief Set the FAD_NOT_GPIO field to a new value. */ |
| #define ZLL_WR_FAD_CTRL_FAD_NOT_GPIO(base, value) (ZLL_RMW_FAD_CTRL(base, ZLL_FAD_CTRL_FAD_NOT_GPIO_MASK, ZLL_FAD_CTRL_FAD_NOT_GPIO(value))) |
| #define ZLL_BWR_FAD_CTRL_FAD_NOT_GPIO(base, value) (BME_BFI32(&ZLL_FAD_CTRL_REG(base), ((uint32_t)(value) << ZLL_FAD_CTRL_FAD_NOT_GPIO_SHIFT), ZLL_FAD_CTRL_FAD_NOT_GPIO_SHIFT, ZLL_FAD_CTRL_FAD_NOT_GPIO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_FAD_CTRL, field ANTX_EN[9:8] (RW) |
| * |
| * When FAD_NOT_GPIO=1, ANTX_EN[1:0] determines which pairs of FAD related |
| * outputs are enabled: |
| * |
| * Values: |
| * - 0b00 - all disabled (held low) |
| * - 0b01 - only RX/TX_SWITCH enabled |
| * - 0b10 - only ANT_A/B enabled |
| * - 0b11 - all enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_FAD_CTRL_ANTX_EN field. */ |
| #define ZLL_RD_FAD_CTRL_ANTX_EN(base) ((ZLL_FAD_CTRL_REG(base) & ZLL_FAD_CTRL_ANTX_EN_MASK) >> ZLL_FAD_CTRL_ANTX_EN_SHIFT) |
| #define ZLL_BRD_FAD_CTRL_ANTX_EN(base) (BME_UBFX32(&ZLL_FAD_CTRL_REG(base), ZLL_FAD_CTRL_ANTX_EN_SHIFT, ZLL_FAD_CTRL_ANTX_EN_WIDTH)) |
| |
| /*! @brief Set the ANTX_EN field to a new value. */ |
| #define ZLL_WR_FAD_CTRL_ANTX_EN(base, value) (ZLL_RMW_FAD_CTRL(base, ZLL_FAD_CTRL_ANTX_EN_MASK, ZLL_FAD_CTRL_ANTX_EN(value))) |
| #define ZLL_BWR_FAD_CTRL_ANTX_EN(base, value) (BME_BFI32(&ZLL_FAD_CTRL_REG(base), ((uint32_t)(value) << ZLL_FAD_CTRL_ANTX_EN_SHIFT), ZLL_FAD_CTRL_ANTX_EN_SHIFT, ZLL_FAD_CTRL_ANTX_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_FAD_CTRL, field ANTX_HZ[10] (RW) |
| * |
| * Values: |
| * - 0b0 - ANT_A, ANT_B, RX_SWITCH and TX_SWITCH are actively driven outputs. |
| * - 0b1 - Antenna controls high impedance- Set ANT_A, ANT_B, RX_SWITCH and |
| * TX_SWITCH in high impedance. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_FAD_CTRL_ANTX_HZ field. */ |
| #define ZLL_RD_FAD_CTRL_ANTX_HZ(base) ((ZLL_FAD_CTRL_REG(base) & ZLL_FAD_CTRL_ANTX_HZ_MASK) >> ZLL_FAD_CTRL_ANTX_HZ_SHIFT) |
| #define ZLL_BRD_FAD_CTRL_ANTX_HZ(base) (BME_UBFX32(&ZLL_FAD_CTRL_REG(base), ZLL_FAD_CTRL_ANTX_HZ_SHIFT, ZLL_FAD_CTRL_ANTX_HZ_WIDTH)) |
| |
| /*! @brief Set the ANTX_HZ field to a new value. */ |
| #define ZLL_WR_FAD_CTRL_ANTX_HZ(base, value) (ZLL_RMW_FAD_CTRL(base, ZLL_FAD_CTRL_ANTX_HZ_MASK, ZLL_FAD_CTRL_ANTX_HZ(value))) |
| #define ZLL_BWR_FAD_CTRL_ANTX_HZ(base, value) (BME_BFI32(&ZLL_FAD_CTRL_REG(base), ((uint32_t)(value) << ZLL_FAD_CTRL_ANTX_HZ_SHIFT), ZLL_FAD_CTRL_ANTX_HZ_SHIFT, ZLL_FAD_CTRL_ANTX_HZ_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_FAD_CTRL, field ANTX_CTRLMODE[11] (RW) |
| * |
| * When ANTX_CTRLMODE=1 (dual mode): ANT_A=NOT(ANTX) AND (GPIO3_TRIG_EN OR |
| * GPIO2_TRIG_EN) ANT_B=ANTX AND (GPIO3_TRIG_EN OR GPIO2_TRIG_EN) |
| * TX_SWITCH=GPIO2_TRIG_EN RX_SWITCH=GPIO3_TRIG_EN When ANTX_CTRLMODE=0 (single mode): |
| * ANT_A=NOT(ANTX) AND (GPIO3_TRIG_EN OR GPIO2_TRIG_EN) ANT_B=ANTX AND (GPIO3_TRIG_EN OR |
| * GPIO2_TRIG_EN) TX_SWITCH=GPIO2_TRIG_EN RX_SWITCH=(GPIO3_TRIG_EN OR GPIO2_TRIG_EN) |
| * GPIO2_TRIG_EN and GPIO3_TRIG_EN are outputs of the Transceiver Sequence Manager |
| * (TSM). The TSM timing registers associated with GPIO2_TRIG_EN and |
| * GPIO3_TRIG_EN should be programmed with the desired TX_SWITCH and RX_SWITCH timing, before |
| * enabling Fast Antenna Diversity. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_FAD_CTRL_ANTX_CTRLMODE field. */ |
| #define ZLL_RD_FAD_CTRL_ANTX_CTRLMODE(base) ((ZLL_FAD_CTRL_REG(base) & ZLL_FAD_CTRL_ANTX_CTRLMODE_MASK) >> ZLL_FAD_CTRL_ANTX_CTRLMODE_SHIFT) |
| #define ZLL_BRD_FAD_CTRL_ANTX_CTRLMODE(base) (BME_UBFX32(&ZLL_FAD_CTRL_REG(base), ZLL_FAD_CTRL_ANTX_CTRLMODE_SHIFT, ZLL_FAD_CTRL_ANTX_CTRLMODE_WIDTH)) |
| |
| /*! @brief Set the ANTX_CTRLMODE field to a new value. */ |
| #define ZLL_WR_FAD_CTRL_ANTX_CTRLMODE(base, value) (ZLL_RMW_FAD_CTRL(base, ZLL_FAD_CTRL_ANTX_CTRLMODE_MASK, ZLL_FAD_CTRL_ANTX_CTRLMODE(value))) |
| #define ZLL_BWR_FAD_CTRL_ANTX_CTRLMODE(base, value) (BME_BFI32(&ZLL_FAD_CTRL_REG(base), ((uint32_t)(value) << ZLL_FAD_CTRL_ANTX_CTRLMODE_SHIFT), ZLL_FAD_CTRL_ANTX_CTRLMODE_SHIFT, ZLL_FAD_CTRL_ANTX_CTRLMODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_FAD_CTRL, field ANTX_POL[15:12] (RW) |
| * |
| * Control the polarity of the Antenna or Switch control pins: ANTX_POL[0]=0 : |
| * don't invert the ANT_A output ANTX_POL[1]=0 : don't invert the ANT_B output |
| * ANTX_POL[2]=0 : don't invert the TX_SWITCH output ANTX_POL[3]=0 : don't invert |
| * the RX_SWITCH output ANTX_POL[0]=1 : invert the ANT_A output ANTX_POL[1]=1 : |
| * invert the ANT_B output ANTX_POL[2]=1 : invert the TX_SWITCH output ANTX_POL[3]=1 |
| * : invert the RX_SWITCH output |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_FAD_CTRL_ANTX_POL field. */ |
| #define ZLL_RD_FAD_CTRL_ANTX_POL(base) ((ZLL_FAD_CTRL_REG(base) & ZLL_FAD_CTRL_ANTX_POL_MASK) >> ZLL_FAD_CTRL_ANTX_POL_SHIFT) |
| #define ZLL_BRD_FAD_CTRL_ANTX_POL(base) (BME_UBFX32(&ZLL_FAD_CTRL_REG(base), ZLL_FAD_CTRL_ANTX_POL_SHIFT, ZLL_FAD_CTRL_ANTX_POL_WIDTH)) |
| |
| /*! @brief Set the ANTX_POL field to a new value. */ |
| #define ZLL_WR_FAD_CTRL_ANTX_POL(base, value) (ZLL_RMW_FAD_CTRL(base, ZLL_FAD_CTRL_ANTX_POL_MASK, ZLL_FAD_CTRL_ANTX_POL(value))) |
| #define ZLL_BWR_FAD_CTRL_ANTX_POL(base, value) (BME_BFI32(&ZLL_FAD_CTRL_REG(base), ((uint32_t)(value) << ZLL_FAD_CTRL_ANTX_POL_SHIFT), ZLL_FAD_CTRL_ANTX_POL_SHIFT, ZLL_FAD_CTRL_ANTX_POL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_SNF_CTRL - SNF CONTROL |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_SNF_CTRL - SNF CONTROL (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * SNIFF Mode Control Register |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_SNF_CTRL register |
| */ |
| /*@{*/ |
| #define ZLL_RD_SNF_CTRL(base) (ZLL_SNF_CTRL_REG(base)) |
| #define ZLL_WR_SNF_CTRL(base, value) (ZLL_SNF_CTRL_REG(base) = (value)) |
| #define ZLL_RMW_SNF_CTRL(base, mask, value) (ZLL_WR_SNF_CTRL(base, (ZLL_RD_SNF_CTRL(base) & ~(mask)) | (value))) |
| #define ZLL_SET_SNF_CTRL(base, value) (BME_OR32(&ZLL_SNF_CTRL_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_SNF_CTRL(base, value) (BME_AND32(&ZLL_SNF_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_SNF_CTRL(base, value) (BME_XOR32(&ZLL_SNF_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_SNF_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_SNF_CTRL, field SNF_EN[0] (RW) |
| * |
| * SNIFF Mode Enable. Note: SNIFF Mode not currently supported. SNF_EN has no |
| * effect |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SNF_CTRL_SNF_EN field. */ |
| #define ZLL_RD_SNF_CTRL_SNF_EN(base) ((ZLL_SNF_CTRL_REG(base) & ZLL_SNF_CTRL_SNF_EN_MASK) >> ZLL_SNF_CTRL_SNF_EN_SHIFT) |
| #define ZLL_BRD_SNF_CTRL_SNF_EN(base) (BME_UBFX32(&ZLL_SNF_CTRL_REG(base), ZLL_SNF_CTRL_SNF_EN_SHIFT, ZLL_SNF_CTRL_SNF_EN_WIDTH)) |
| |
| /*! @brief Set the SNF_EN field to a new value. */ |
| #define ZLL_WR_SNF_CTRL_SNF_EN(base, value) (ZLL_RMW_SNF_CTRL(base, ZLL_SNF_CTRL_SNF_EN_MASK, ZLL_SNF_CTRL_SNF_EN(value))) |
| #define ZLL_BWR_SNF_CTRL_SNF_EN(base, value) (BME_BFI32(&ZLL_SNF_CTRL_REG(base), ((uint32_t)(value) << ZLL_SNF_CTRL_SNF_EN_SHIFT), ZLL_SNF_CTRL_SNF_EN_SHIFT, ZLL_SNF_CTRL_SNF_EN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_BSM_CTRL - BSM CONTROL |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_BSM_CTRL - BSM CONTROL (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Bit Streaming Mode Control Register |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_BSM_CTRL register |
| */ |
| /*@{*/ |
| #define ZLL_RD_BSM_CTRL(base) (ZLL_BSM_CTRL_REG(base)) |
| #define ZLL_WR_BSM_CTRL(base, value) (ZLL_BSM_CTRL_REG(base) = (value)) |
| #define ZLL_RMW_BSM_CTRL(base, mask, value) (ZLL_WR_BSM_CTRL(base, (ZLL_RD_BSM_CTRL(base) & ~(mask)) | (value))) |
| #define ZLL_SET_BSM_CTRL(base, value) (BME_OR32(&ZLL_BSM_CTRL_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_BSM_CTRL(base, value) (BME_AND32(&ZLL_BSM_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_BSM_CTRL(base, value) (BME_XOR32(&ZLL_BSM_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_BSM_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_BSM_CTRL, field BSM_EN[0] (RW) |
| * |
| * Values: |
| * - 0b0 - Zigbee Bit Streaming Mode Disabled |
| * - 0b1 - Zigbee Bit Streaming Mode Enabled |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_BSM_CTRL_BSM_EN field. */ |
| #define ZLL_RD_BSM_CTRL_BSM_EN(base) ((ZLL_BSM_CTRL_REG(base) & ZLL_BSM_CTRL_BSM_EN_MASK) >> ZLL_BSM_CTRL_BSM_EN_SHIFT) |
| #define ZLL_BRD_BSM_CTRL_BSM_EN(base) (BME_UBFX32(&ZLL_BSM_CTRL_REG(base), ZLL_BSM_CTRL_BSM_EN_SHIFT, ZLL_BSM_CTRL_BSM_EN_WIDTH)) |
| |
| /*! @brief Set the BSM_EN field to a new value. */ |
| #define ZLL_WR_BSM_CTRL_BSM_EN(base, value) (ZLL_RMW_BSM_CTRL(base, ZLL_BSM_CTRL_BSM_EN_MASK, ZLL_BSM_CTRL_BSM_EN(value))) |
| #define ZLL_BWR_BSM_CTRL_BSM_EN(base, value) (BME_BFI32(&ZLL_BSM_CTRL_REG(base), ((uint32_t)(value) << ZLL_BSM_CTRL_BSM_EN_SHIFT), ZLL_BSM_CTRL_BSM_EN_SHIFT, ZLL_BSM_CTRL_BSM_EN_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_MACSHORTADDRS1 - MAC SHORT ADDRESS 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_MACSHORTADDRS1 - MAC SHORT ADDRESS 1 (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_MACSHORTADDRS1 register |
| */ |
| /*@{*/ |
| #define ZLL_RD_MACSHORTADDRS1(base) (ZLL_MACSHORTADDRS1_REG(base)) |
| #define ZLL_WR_MACSHORTADDRS1(base, value) (ZLL_MACSHORTADDRS1_REG(base) = (value)) |
| #define ZLL_RMW_MACSHORTADDRS1(base, mask, value) (ZLL_WR_MACSHORTADDRS1(base, (ZLL_RD_MACSHORTADDRS1(base) & ~(mask)) | (value))) |
| #define ZLL_SET_MACSHORTADDRS1(base, value) (BME_OR32(&ZLL_MACSHORTADDRS1_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_MACSHORTADDRS1(base, value) (BME_AND32(&ZLL_MACSHORTADDRS1_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_MACSHORTADDRS1(base, value) (BME_XOR32(&ZLL_MACSHORTADDRS1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_MACSHORTADDRS1 bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_MACSHORTADDRS1, field MACPANID1[15:0] (RW) |
| * |
| * MAC PAN ID for PAN1. The packet processor compares the incoming packet's |
| * Destination PAN ID against the contents of this register to determine if the |
| * packet is addressed to this device; or if the incoming packet is a Beacon frame, |
| * the packet processor compares the incoming packet Source PAN ID against this |
| * register. Also, if PANCORDNTR1=1, and the incoming packet has no Destination |
| * Address field, and if the incoming packet is a Data or MAC Command frame, the |
| * packet processor compares the incoming packet Source PAN ID against this register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_MACSHORTADDRS1_MACPANID1 field. */ |
| #define ZLL_RD_MACSHORTADDRS1_MACPANID1(base) ((ZLL_MACSHORTADDRS1_REG(base) & ZLL_MACSHORTADDRS1_MACPANID1_MASK) >> ZLL_MACSHORTADDRS1_MACPANID1_SHIFT) |
| #define ZLL_BRD_MACSHORTADDRS1_MACPANID1(base) (BME_UBFX32(&ZLL_MACSHORTADDRS1_REG(base), ZLL_MACSHORTADDRS1_MACPANID1_SHIFT, ZLL_MACSHORTADDRS1_MACPANID1_WIDTH)) |
| |
| /*! @brief Set the MACPANID1 field to a new value. */ |
| #define ZLL_WR_MACSHORTADDRS1_MACPANID1(base, value) (ZLL_RMW_MACSHORTADDRS1(base, ZLL_MACSHORTADDRS1_MACPANID1_MASK, ZLL_MACSHORTADDRS1_MACPANID1(value))) |
| #define ZLL_BWR_MACSHORTADDRS1_MACPANID1(base, value) (BME_BFI32(&ZLL_MACSHORTADDRS1_REG(base), ((uint32_t)(value) << ZLL_MACSHORTADDRS1_MACPANID1_SHIFT), ZLL_MACSHORTADDRS1_MACPANID1_SHIFT, ZLL_MACSHORTADDRS1_MACPANID1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_MACSHORTADDRS1, field MACSHORTADDRS1[31:16] (RW) |
| * |
| * MAC Short Address for PAN1, for 16-bit destination addressing mode. The |
| * packet processor compares the incoming packet's Destination Address against the |
| * contents of this register to determine if the packet is addressed to this device. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_MACSHORTADDRS1_MACSHORTADDRS1 field. */ |
| #define ZLL_RD_MACSHORTADDRS1_MACSHORTADDRS1(base) ((ZLL_MACSHORTADDRS1_REG(base) & ZLL_MACSHORTADDRS1_MACSHORTADDRS1_MASK) >> ZLL_MACSHORTADDRS1_MACSHORTADDRS1_SHIFT) |
| #define ZLL_BRD_MACSHORTADDRS1_MACSHORTADDRS1(base) (BME_UBFX32(&ZLL_MACSHORTADDRS1_REG(base), ZLL_MACSHORTADDRS1_MACSHORTADDRS1_SHIFT, ZLL_MACSHORTADDRS1_MACSHORTADDRS1_WIDTH)) |
| |
| /*! @brief Set the MACSHORTADDRS1 field to a new value. */ |
| #define ZLL_WR_MACSHORTADDRS1_MACSHORTADDRS1(base, value) (ZLL_RMW_MACSHORTADDRS1(base, ZLL_MACSHORTADDRS1_MACSHORTADDRS1_MASK, ZLL_MACSHORTADDRS1_MACSHORTADDRS1(value))) |
| #define ZLL_BWR_MACSHORTADDRS1_MACSHORTADDRS1(base, value) (BME_BFI32(&ZLL_MACSHORTADDRS1_REG(base), ((uint32_t)(value) << ZLL_MACSHORTADDRS1_MACSHORTADDRS1_SHIFT), ZLL_MACSHORTADDRS1_MACSHORTADDRS1_SHIFT, ZLL_MACSHORTADDRS1_MACSHORTADDRS1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_MACLONGADDRS1_LSB - MAC LONG ADDRESS 1 LSB |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_MACLONGADDRS1_LSB - MAC LONG ADDRESS 1 LSB (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * MAC Long Address for PAN1, for 64-bit destination addressing mode. The packet |
| * processor compares the incoming packet's Destination Address against the |
| * contents of this register to determine if the packet is addressed to this device. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_MACLONGADDRS1_LSB register |
| */ |
| /*@{*/ |
| #define ZLL_RD_MACLONGADDRS1_LSB(base) (ZLL_MACLONGADDRS1_LSB_REG(base)) |
| #define ZLL_WR_MACLONGADDRS1_LSB(base, value) (ZLL_MACLONGADDRS1_LSB_REG(base) = (value)) |
| #define ZLL_RMW_MACLONGADDRS1_LSB(base, mask, value) (ZLL_WR_MACLONGADDRS1_LSB(base, (ZLL_RD_MACLONGADDRS1_LSB(base) & ~(mask)) | (value))) |
| #define ZLL_SET_MACLONGADDRS1_LSB(base, value) (BME_OR32(&ZLL_MACLONGADDRS1_LSB_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_MACLONGADDRS1_LSB(base, value) (BME_AND32(&ZLL_MACLONGADDRS1_LSB_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_MACLONGADDRS1_LSB(base, value) (BME_XOR32(&ZLL_MACLONGADDRS1_LSB_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_MACLONGADDRS1_MSB - MAC LONG ADDRESS 1 MSB |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_MACLONGADDRS1_MSB - MAC LONG ADDRESS 1 MSB (RW) |
| * |
| * Reset value: 0xFFFFFFFFU |
| * |
| * MAC Long Address for PAN1, for 64-bit destination addressing mode. The packet |
| * processor compares the incoming packet's Destination Address against the |
| * contents of this register to determine if the packet is addressed to this device. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_MACLONGADDRS1_MSB register |
| */ |
| /*@{*/ |
| #define ZLL_RD_MACLONGADDRS1_MSB(base) (ZLL_MACLONGADDRS1_MSB_REG(base)) |
| #define ZLL_WR_MACLONGADDRS1_MSB(base, value) (ZLL_MACLONGADDRS1_MSB_REG(base) = (value)) |
| #define ZLL_RMW_MACLONGADDRS1_MSB(base, mask, value) (ZLL_WR_MACLONGADDRS1_MSB(base, (ZLL_RD_MACLONGADDRS1_MSB(base) & ~(mask)) | (value))) |
| #define ZLL_SET_MACLONGADDRS1_MSB(base, value) (BME_OR32(&ZLL_MACLONGADDRS1_MSB_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_MACLONGADDRS1_MSB(base, value) (BME_AND32(&ZLL_MACLONGADDRS1_MSB_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_MACLONGADDRS1_MSB(base, value) (BME_XOR32(&ZLL_MACLONGADDRS1_MSB_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_DUAL_PAN_CTRL - DUAL PAN CONTROL |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_DUAL_PAN_CTRL - DUAL PAN CONTROL (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_DUAL_PAN_CTRL register |
| */ |
| /*@{*/ |
| #define ZLL_RD_DUAL_PAN_CTRL(base) (ZLL_DUAL_PAN_CTRL_REG(base)) |
| #define ZLL_WR_DUAL_PAN_CTRL(base, value) (ZLL_DUAL_PAN_CTRL_REG(base) = (value)) |
| #define ZLL_RMW_DUAL_PAN_CTRL(base, mask, value) (ZLL_WR_DUAL_PAN_CTRL(base, (ZLL_RD_DUAL_PAN_CTRL(base) & ~(mask)) | (value))) |
| #define ZLL_SET_DUAL_PAN_CTRL(base, value) (BME_OR32(&ZLL_DUAL_PAN_CTRL_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_DUAL_PAN_CTRL(base, value) (BME_AND32(&ZLL_DUAL_PAN_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_DUAL_PAN_CTRL(base, value) (BME_XOR32(&ZLL_DUAL_PAN_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_DUAL_PAN_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_DUAL_PAN_CTRL, field ACTIVE_NETWORK[0] (RW) |
| * |
| * Selects the PAN on which to transceive, by activating a PAN parameter set |
| * (PAN0 or PAN1). In Manual Dual PAN mode (or Single PAN mode), this bit selects |
| * the active PAN parameter set (channel and addressing parameters) which governs |
| * all autosequences. In Auto Dual PAN mode, this bit selects the PAN on which to |
| * begin transceiving, latched at the point at which DUAL_PAN_DWELL register is |
| * written. |
| * |
| * Values: |
| * - 0b0 - Select PAN0 |
| * - 0b1 - Select PAN1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK field. */ |
| #define ZLL_RD_DUAL_PAN_CTRL_ACTIVE_NETWORK(base) ((ZLL_DUAL_PAN_CTRL_REG(base) & ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_MASK) >> ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_SHIFT) |
| #define ZLL_BRD_DUAL_PAN_CTRL_ACTIVE_NETWORK(base) (BME_UBFX32(&ZLL_DUAL_PAN_CTRL_REG(base), ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_SHIFT, ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_WIDTH)) |
| |
| /*! @brief Set the ACTIVE_NETWORK field to a new value. */ |
| #define ZLL_WR_DUAL_PAN_CTRL_ACTIVE_NETWORK(base, value) (ZLL_RMW_DUAL_PAN_CTRL(base, ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_MASK, ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK(value))) |
| #define ZLL_BWR_DUAL_PAN_CTRL_ACTIVE_NETWORK(base, value) (BME_BFI32(&ZLL_DUAL_PAN_CTRL_REG(base), ((uint32_t)(value) << ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_SHIFT), ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_SHIFT, ZLL_DUAL_PAN_CTRL_ACTIVE_NETWORK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_DUAL_PAN_CTRL, field DUAL_PAN_AUTO[1] (RW) |
| * |
| * Activates automatic Dual PAN operating mode. In this mode, PAN-switching is |
| * controlled by hardware at a pre-programmed rate, determined by DUAL_PAN_DWELL. |
| * 0: Manual Dual PAN mode (or Single PAN mode). 1: Auto Dual PAN Mode Whenever |
| * DUAL_PAN_AUTO=0, CURRENT_NETWORK=ACTIVE_NETWORK at all times. In other words, |
| * software directly controls which PAN is selected. Whenever DUAL_PAN_AUTO=1, |
| * CURRENT_NETWORK is controlled by hardware. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO field. */ |
| #define ZLL_RD_DUAL_PAN_CTRL_DUAL_PAN_AUTO(base) ((ZLL_DUAL_PAN_CTRL_REG(base) & ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_MASK) >> ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_SHIFT) |
| #define ZLL_BRD_DUAL_PAN_CTRL_DUAL_PAN_AUTO(base) (BME_UBFX32(&ZLL_DUAL_PAN_CTRL_REG(base), ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_SHIFT, ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_WIDTH)) |
| |
| /*! @brief Set the DUAL_PAN_AUTO field to a new value. */ |
| #define ZLL_WR_DUAL_PAN_CTRL_DUAL_PAN_AUTO(base, value) (ZLL_RMW_DUAL_PAN_CTRL(base, ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_MASK, ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO(value))) |
| #define ZLL_BWR_DUAL_PAN_CTRL_DUAL_PAN_AUTO(base, value) (BME_BFI32(&ZLL_DUAL_PAN_CTRL_REG(base), ((uint32_t)(value) << ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_SHIFT), ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_SHIFT, ZLL_DUAL_PAN_CTRL_DUAL_PAN_AUTO_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_DUAL_PAN_CTRL, field PANCORDNTR1[2] (RW) |
| * |
| * Device is a PAN Coordinator on PAN1. Allows device to receive packets with no |
| * destination address, if Source PAN ID matches. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_DUAL_PAN_CTRL_PANCORDNTR1 field. */ |
| #define ZLL_RD_DUAL_PAN_CTRL_PANCORDNTR1(base) ((ZLL_DUAL_PAN_CTRL_REG(base) & ZLL_DUAL_PAN_CTRL_PANCORDNTR1_MASK) >> ZLL_DUAL_PAN_CTRL_PANCORDNTR1_SHIFT) |
| #define ZLL_BRD_DUAL_PAN_CTRL_PANCORDNTR1(base) (BME_UBFX32(&ZLL_DUAL_PAN_CTRL_REG(base), ZLL_DUAL_PAN_CTRL_PANCORDNTR1_SHIFT, ZLL_DUAL_PAN_CTRL_PANCORDNTR1_WIDTH)) |
| |
| /*! @brief Set the PANCORDNTR1 field to a new value. */ |
| #define ZLL_WR_DUAL_PAN_CTRL_PANCORDNTR1(base, value) (ZLL_RMW_DUAL_PAN_CTRL(base, ZLL_DUAL_PAN_CTRL_PANCORDNTR1_MASK, ZLL_DUAL_PAN_CTRL_PANCORDNTR1(value))) |
| #define ZLL_BWR_DUAL_PAN_CTRL_PANCORDNTR1(base, value) (BME_BFI32(&ZLL_DUAL_PAN_CTRL_REG(base), ((uint32_t)(value) << ZLL_DUAL_PAN_CTRL_PANCORDNTR1_SHIFT), ZLL_DUAL_PAN_CTRL_PANCORDNTR1_SHIFT, ZLL_DUAL_PAN_CTRL_PANCORDNTR1_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_DUAL_PAN_CTRL, field CURRENT_NETWORK[3] (RO) |
| * |
| * This read-only bit indicates which PAN is currently selected by hardware in |
| * automatic Dual PAN mode |
| * |
| * Values: |
| * - 0b0 - PAN0 is selected |
| * - 0b1 - PAN1 is selected |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK field. */ |
| #define ZLL_RD_DUAL_PAN_CTRL_CURRENT_NETWORK(base) ((ZLL_DUAL_PAN_CTRL_REG(base) & ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK_MASK) >> ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK_SHIFT) |
| #define ZLL_BRD_DUAL_PAN_CTRL_CURRENT_NETWORK(base) (BME_UBFX32(&ZLL_DUAL_PAN_CTRL_REG(base), ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK_SHIFT, ZLL_DUAL_PAN_CTRL_CURRENT_NETWORK_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_DUAL_PAN_CTRL, field ZB_DP_CHAN_OVRD_EN[4] (RW) |
| * |
| * In Dual PAN mode, in case there is a need to generate a frequency which may |
| * be offset from the 16 prescribed 5MHz-spaced channels, to, for example, avoid |
| * interference on one of the Dual PAN channels, a method has been provided to do |
| * that on Apache, by designating one of the two PAN channels to use the Apache |
| * transceiver's set of direct frequency-programming registers, instead of |
| * CHANNEL_NUMx. Programming the direct frequency-programming registers -- integer, |
| * numerator, and denominator, allows an RF frequency to be selected with much more |
| * precision than the 5MHz granularity of the Zigbee mapped-channel registers, |
| * CHANNEL_NUM0 and CHANNEL_NUM1. Two bits have been provided in Zigbee space to |
| * realize this feature: ZB_DP_CHAN_OVRD_SEL and ZB_DP_CHAN_OVRD_EN. When |
| * ZB_DP_CHAN_OVRD_EN=1, this enables one of the Dual PAN channels to use the direct |
| * frequency programming. The ZB_DP_CHAN_OVRD_SEL bit determines which channel uses the |
| * direct programming, according to the following table: ZB_DP_CHAN_OVRD_EN |
| * ZB_DP_CHAN_OVRD_SEL PAN0 Frequency Determined by … PAN1 Frequency Determined by |
| * … 0 X CHANNEL_NUM0[6:0] CHANNEL_NUM1[6:0] 1 0 DIRECT FREQUENCY PROGRAMMING |
| * CHANNEL_NUM1[6:0] 1 1 CHANNEL_NUM0[6:0] DIRECT FREQUENCY PROGRAMMING Direct |
| * Frequency Programming is accomplished by setting the PLL's Integer, Numerator, |
| * and Denominator registers to the appropriate values for the desired RF frequency. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN field. */ |
| #define ZLL_RD_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN(base) ((ZLL_DUAL_PAN_CTRL_REG(base) & ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_MASK) >> ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_SHIFT) |
| #define ZLL_BRD_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN(base) (BME_UBFX32(&ZLL_DUAL_PAN_CTRL_REG(base), ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_SHIFT, ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_WIDTH)) |
| |
| /*! @brief Set the ZB_DP_CHAN_OVRD_EN field to a new value. */ |
| #define ZLL_WR_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN(base, value) (ZLL_RMW_DUAL_PAN_CTRL(base, ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_MASK, ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN(value))) |
| #define ZLL_BWR_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN(base, value) (BME_BFI32(&ZLL_DUAL_PAN_CTRL_REG(base), ((uint32_t)(value) << ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_SHIFT), ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_SHIFT, ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_DUAL_PAN_CTRL, field ZB_DP_CHAN_OVRD_SEL[5] (RW) |
| * |
| * This bit works with ZB_DP_CHAN_OVRD_EN to allow one of the two Dual PAN |
| * channels to use Direct Frequency programming. See description for |
| * ZB_DP_CHAN_OVRD_EN. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL field. */ |
| #define ZLL_RD_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL(base) ((ZLL_DUAL_PAN_CTRL_REG(base) & ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_MASK) >> ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_SHIFT) |
| #define ZLL_BRD_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL(base) (BME_UBFX32(&ZLL_DUAL_PAN_CTRL_REG(base), ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_SHIFT, ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_WIDTH)) |
| |
| /*! @brief Set the ZB_DP_CHAN_OVRD_SEL field to a new value. */ |
| #define ZLL_WR_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL(base, value) (ZLL_RMW_DUAL_PAN_CTRL(base, ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_MASK, ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL(value))) |
| #define ZLL_BWR_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL(base, value) (BME_BFI32(&ZLL_DUAL_PAN_CTRL_REG(base), ((uint32_t)(value) << ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_SHIFT), ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_SHIFT, ZLL_DUAL_PAN_CTRL_ZB_DP_CHAN_OVRD_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_DUAL_PAN_CTRL, field DUAL_PAN_DWELL[15:8] (RW) |
| * |
| * Channel Frequency Dwell Time. In Auto Dual PAN mode, hardware will toggle the |
| * PAN, after dwelling on the current PAN for the interval described below |
| * (assuming Preamble/SFD not detected). A write to DUAL_PAN_DWELL, always |
| * re-initilizes the DWELL TIMER to the programmed value. If a write to DUAL_PAN_DWELL |
| * occurs during an autosequence, the DWELL TIMER will begin counting down |
| * immediately. If a write to DUAL_PAN_DWELL occurs when there is no autosequence underway, |
| * the DWELL TIMER will not begin counting until the next autosequence begins; it |
| * will begin counting at the start of the sequence warmup. PRESCALER (bits |
| * [1:0]) TIMEBASE (bits [7:2]) RANGE (min) - (max) 00 0.5ms 0.5 - 32ms 01 2.5ms 2.5 |
| * - 160ms 10 10ms 10 - 640ms 11 50ms 50ms - 3.2seconds A write to DUAL_PAN_DWELL |
| * also causes the value of ACTIVE_NETWORK to get latched into the hardware. |
| * This latched value will be the starting point for the automatic dual-pan mode |
| * (i.e., start on PAN0 or on PAN1). The starting value takes effect immediately (if |
| * sequence is underway and DUAL_PAN_AUTO=1), or is otherwise delayed until |
| * sequence starts and DUAL_PAN_AUTO=1. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL field. */ |
| #define ZLL_RD_DUAL_PAN_CTRL_DUAL_PAN_DWELL(base) ((ZLL_DUAL_PAN_CTRL_REG(base) & ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_MASK) >> ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_SHIFT) |
| #define ZLL_BRD_DUAL_PAN_CTRL_DUAL_PAN_DWELL(base) (BME_UBFX32(&ZLL_DUAL_PAN_CTRL_REG(base), ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_SHIFT, ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_WIDTH)) |
| |
| /*! @brief Set the DUAL_PAN_DWELL field to a new value. */ |
| #define ZLL_WR_DUAL_PAN_CTRL_DUAL_PAN_DWELL(base, value) (ZLL_RMW_DUAL_PAN_CTRL(base, ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_MASK, ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL(value))) |
| #define ZLL_BWR_DUAL_PAN_CTRL_DUAL_PAN_DWELL(base, value) (BME_BFI32(&ZLL_DUAL_PAN_CTRL_REG(base), ((uint32_t)(value) << ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_SHIFT), ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_SHIFT, ZLL_DUAL_PAN_CTRL_DUAL_PAN_DWELL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_DUAL_PAN_CTRL, field DUAL_PAN_REMAIN[21:16] (RO) |
| * |
| * This read-only register indicates time remaining before next PAN switch in |
| * auto Dual PAN mode. The units for this register, depend on the PRESCALER setting |
| * (bits [1:0]) in the DUAL_PAN_DWELL register, according to the following |
| * table: DUAL_PAN_DWELL PRESCALER DUAL_PAN_REMAIN UNITS 00 0.5ms 01 2.5ms 10 10ms 11 |
| * 50ms The readback value indicates that between N-1 and N timebase units remain |
| * until the next PAN switch. For example, a DUAL_PAN_REMAIN readback value of |
| * 3, with a DUAL_PAN_DWELL PRESCALER setting of 2 (10ms), indicates that between |
| * 20ms (2*10ms) and 30ms (3*10ms), remain until the next automatic PAN switch. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN field. */ |
| #define ZLL_RD_DUAL_PAN_CTRL_DUAL_PAN_REMAIN(base) ((ZLL_DUAL_PAN_CTRL_REG(base) & ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN_MASK) >> ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN_SHIFT) |
| #define ZLL_BRD_DUAL_PAN_CTRL_DUAL_PAN_REMAIN(base) (BME_UBFX32(&ZLL_DUAL_PAN_CTRL_REG(base), ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN_SHIFT, ZLL_DUAL_PAN_CTRL_DUAL_PAN_REMAIN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_DUAL_PAN_CTRL, field RECD_ON_PAN0[22] (RO) |
| * |
| * Indicates the packet which was just received, was received on PAN0. In Dual |
| * PAN mode operating on 2 different channels, RECD_ON_PAN0 will be set if |
| * CURRENT_NETWORK=0 when the packet was received, regardless of FILTERFAIL status. In |
| * DUAL PAN mode operating with same channel on both networks, CURRENT_NETWORK |
| * will be ignored and RECD_ON_PAN0 will be set only if a valid packet was received |
| * on PAN0 (PAN0's FILTERFAIL_FLAG is deasserted). RECD_ON_PAN0 remains valid |
| * until the start of the next autoseqeuence. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0 field. */ |
| #define ZLL_RD_DUAL_PAN_CTRL_RECD_ON_PAN0(base) ((ZLL_DUAL_PAN_CTRL_REG(base) & ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0_MASK) >> ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0_SHIFT) |
| #define ZLL_BRD_DUAL_PAN_CTRL_RECD_ON_PAN0(base) (BME_UBFX32(&ZLL_DUAL_PAN_CTRL_REG(base), ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0_SHIFT, ZLL_DUAL_PAN_CTRL_RECD_ON_PAN0_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_DUAL_PAN_CTRL, field RECD_ON_PAN1[23] (RO) |
| * |
| * Indicates the packet which was just received, was received on PAN1. In Dual |
| * PAN mode operating on 2 different channels, RECD_ON_PAN1 will be set if |
| * CURRENT_NETWORK=1 when the packet was received, regardless of FILTERFAIL status. In |
| * DUAL PAN mode operating with same channel on both networks, CURRENT_NETWORK |
| * will be ignored and RECD_ON_PAN1 will be set only if a valid packet was received |
| * on PAN1 (PAN1's FILTERFAIL_FLAG is deasserted). RECD_ON_PAN1 remains valid |
| * until the start of the next autoseqeuence. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1 field. */ |
| #define ZLL_RD_DUAL_PAN_CTRL_RECD_ON_PAN1(base) ((ZLL_DUAL_PAN_CTRL_REG(base) & ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1_MASK) >> ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1_SHIFT) |
| #define ZLL_BRD_DUAL_PAN_CTRL_RECD_ON_PAN1(base) (BME_UBFX32(&ZLL_DUAL_PAN_CTRL_REG(base), ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1_SHIFT, ZLL_DUAL_PAN_CTRL_RECD_ON_PAN1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_CHANNEL_NUM1 - CHANNEL NUMBER 1 |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_CHANNEL_NUM1 - CHANNEL NUMBER 1 (RW) |
| * |
| * Reset value: 0x0000007FU |
| * |
| * This is the mapped channel number used to transmit and receive Zigbee |
| * packets. This register applies to PAN1 only. CHANNEL_NUM1 should be in the range: 11 |
| * <= CHANNEL_NUM1 <= 26 Note: This register should not be programmed, and left |
| * in its default state, if Dual PAN mode is not in use. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_CHANNEL_NUM1 register |
| */ |
| /*@{*/ |
| #define ZLL_RD_CHANNEL_NUM1(base) (ZLL_CHANNEL_NUM1_REG(base)) |
| #define ZLL_WR_CHANNEL_NUM1(base, value) (ZLL_CHANNEL_NUM1_REG(base) = (value)) |
| #define ZLL_RMW_CHANNEL_NUM1(base, mask, value) (ZLL_WR_CHANNEL_NUM1(base, (ZLL_RD_CHANNEL_NUM1(base) & ~(mask)) | (value))) |
| #define ZLL_SET_CHANNEL_NUM1(base, value) (BME_OR32(&ZLL_CHANNEL_NUM1_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_CHANNEL_NUM1(base, value) (BME_AND32(&ZLL_CHANNEL_NUM1_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_CHANNEL_NUM1(base, value) (BME_XOR32(&ZLL_CHANNEL_NUM1_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_CHANNEL_NUM1 bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_CHANNEL_NUM1, field CHANNEL_NUM1[6:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_CHANNEL_NUM1_CHANNEL_NUM1 field. */ |
| #define ZLL_RD_CHANNEL_NUM1_CHANNEL_NUM1(base) ((ZLL_CHANNEL_NUM1_REG(base) & ZLL_CHANNEL_NUM1_CHANNEL_NUM1_MASK) >> ZLL_CHANNEL_NUM1_CHANNEL_NUM1_SHIFT) |
| #define ZLL_BRD_CHANNEL_NUM1_CHANNEL_NUM1(base) (BME_UBFX32(&ZLL_CHANNEL_NUM1_REG(base), ZLL_CHANNEL_NUM1_CHANNEL_NUM1_SHIFT, ZLL_CHANNEL_NUM1_CHANNEL_NUM1_WIDTH)) |
| |
| /*! @brief Set the CHANNEL_NUM1 field to a new value. */ |
| #define ZLL_WR_CHANNEL_NUM1_CHANNEL_NUM1(base, value) (ZLL_RMW_CHANNEL_NUM1(base, ZLL_CHANNEL_NUM1_CHANNEL_NUM1_MASK, ZLL_CHANNEL_NUM1_CHANNEL_NUM1(value))) |
| #define ZLL_BWR_CHANNEL_NUM1_CHANNEL_NUM1(base, value) (BME_BFI32(&ZLL_CHANNEL_NUM1_REG(base), ((uint32_t)(value) << ZLL_CHANNEL_NUM1_CHANNEL_NUM1_SHIFT), ZLL_CHANNEL_NUM1_CHANNEL_NUM1_SHIFT, ZLL_CHANNEL_NUM1_CHANNEL_NUM1_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_SAM_CTRL - SAM CONTROL |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_SAM_CTRL - SAM CONTROL (RW) |
| * |
| * Reset value: 0x80804000U |
| * |
| * Source Address Management Control Register |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_SAM_CTRL register |
| */ |
| /*@{*/ |
| #define ZLL_RD_SAM_CTRL(base) (ZLL_SAM_CTRL_REG(base)) |
| #define ZLL_WR_SAM_CTRL(base, value) (ZLL_SAM_CTRL_REG(base) = (value)) |
| #define ZLL_RMW_SAM_CTRL(base, mask, value) (ZLL_WR_SAM_CTRL(base, (ZLL_RD_SAM_CTRL(base) & ~(mask)) | (value))) |
| #define ZLL_SET_SAM_CTRL(base, value) (BME_OR32(&ZLL_SAM_CTRL_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_SAM_CTRL(base, value) (BME_AND32(&ZLL_SAM_CTRL_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_SAM_CTRL(base, value) (BME_XOR32(&ZLL_SAM_CTRL_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_SAM_CTRL bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_SAM_CTRL, field SAP0_EN[0] (RW) |
| * |
| * Values: |
| * - 0b0 - Disables SAP0 Partition |
| * - 0b1 - Enables SAP0 Partition |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_CTRL_SAP0_EN field. */ |
| #define ZLL_RD_SAM_CTRL_SAP0_EN(base) ((ZLL_SAM_CTRL_REG(base) & ZLL_SAM_CTRL_SAP0_EN_MASK) >> ZLL_SAM_CTRL_SAP0_EN_SHIFT) |
| #define ZLL_BRD_SAM_CTRL_SAP0_EN(base) (BME_UBFX32(&ZLL_SAM_CTRL_REG(base), ZLL_SAM_CTRL_SAP0_EN_SHIFT, ZLL_SAM_CTRL_SAP0_EN_WIDTH)) |
| |
| /*! @brief Set the SAP0_EN field to a new value. */ |
| #define ZLL_WR_SAM_CTRL_SAP0_EN(base, value) (ZLL_RMW_SAM_CTRL(base, ZLL_SAM_CTRL_SAP0_EN_MASK, ZLL_SAM_CTRL_SAP0_EN(value))) |
| #define ZLL_BWR_SAM_CTRL_SAP0_EN(base, value) (BME_BFI32(&ZLL_SAM_CTRL_REG(base), ((uint32_t)(value) << ZLL_SAM_CTRL_SAP0_EN_SHIFT), ZLL_SAM_CTRL_SAP0_EN_SHIFT, ZLL_SAM_CTRL_SAP0_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_CTRL, field SAA0_EN[1] (RW) |
| * |
| * Values: |
| * - 0b0 - Disables SAA0 Partition |
| * - 0b1 - Enables SAA0 Partition |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_CTRL_SAA0_EN field. */ |
| #define ZLL_RD_SAM_CTRL_SAA0_EN(base) ((ZLL_SAM_CTRL_REG(base) & ZLL_SAM_CTRL_SAA0_EN_MASK) >> ZLL_SAM_CTRL_SAA0_EN_SHIFT) |
| #define ZLL_BRD_SAM_CTRL_SAA0_EN(base) (BME_UBFX32(&ZLL_SAM_CTRL_REG(base), ZLL_SAM_CTRL_SAA0_EN_SHIFT, ZLL_SAM_CTRL_SAA0_EN_WIDTH)) |
| |
| /*! @brief Set the SAA0_EN field to a new value. */ |
| #define ZLL_WR_SAM_CTRL_SAA0_EN(base, value) (ZLL_RMW_SAM_CTRL(base, ZLL_SAM_CTRL_SAA0_EN_MASK, ZLL_SAM_CTRL_SAA0_EN(value))) |
| #define ZLL_BWR_SAM_CTRL_SAA0_EN(base, value) (BME_BFI32(&ZLL_SAM_CTRL_REG(base), ((uint32_t)(value) << ZLL_SAM_CTRL_SAA0_EN_SHIFT), ZLL_SAM_CTRL_SAA0_EN_SHIFT, ZLL_SAM_CTRL_SAA0_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_CTRL, field SAP1_EN[2] (RW) |
| * |
| * Values: |
| * - 0b0 - Disables SAP1 Partition |
| * - 0b1 - Enables SAP1 Partition |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_CTRL_SAP1_EN field. */ |
| #define ZLL_RD_SAM_CTRL_SAP1_EN(base) ((ZLL_SAM_CTRL_REG(base) & ZLL_SAM_CTRL_SAP1_EN_MASK) >> ZLL_SAM_CTRL_SAP1_EN_SHIFT) |
| #define ZLL_BRD_SAM_CTRL_SAP1_EN(base) (BME_UBFX32(&ZLL_SAM_CTRL_REG(base), ZLL_SAM_CTRL_SAP1_EN_SHIFT, ZLL_SAM_CTRL_SAP1_EN_WIDTH)) |
| |
| /*! @brief Set the SAP1_EN field to a new value. */ |
| #define ZLL_WR_SAM_CTRL_SAP1_EN(base, value) (ZLL_RMW_SAM_CTRL(base, ZLL_SAM_CTRL_SAP1_EN_MASK, ZLL_SAM_CTRL_SAP1_EN(value))) |
| #define ZLL_BWR_SAM_CTRL_SAP1_EN(base, value) (BME_BFI32(&ZLL_SAM_CTRL_REG(base), ((uint32_t)(value) << ZLL_SAM_CTRL_SAP1_EN_SHIFT), ZLL_SAM_CTRL_SAP1_EN_SHIFT, ZLL_SAM_CTRL_SAP1_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_CTRL, field SAA1_EN[3] (RW) |
| * |
| * Values: |
| * - 0b0 - Disables SAA1 Partition |
| * - 0b1 - Enables SAA1 Partition |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_CTRL_SAA1_EN field. */ |
| #define ZLL_RD_SAM_CTRL_SAA1_EN(base) ((ZLL_SAM_CTRL_REG(base) & ZLL_SAM_CTRL_SAA1_EN_MASK) >> ZLL_SAM_CTRL_SAA1_EN_SHIFT) |
| #define ZLL_BRD_SAM_CTRL_SAA1_EN(base) (BME_UBFX32(&ZLL_SAM_CTRL_REG(base), ZLL_SAM_CTRL_SAA1_EN_SHIFT, ZLL_SAM_CTRL_SAA1_EN_WIDTH)) |
| |
| /*! @brief Set the SAA1_EN field to a new value. */ |
| #define ZLL_WR_SAM_CTRL_SAA1_EN(base, value) (ZLL_RMW_SAM_CTRL(base, ZLL_SAM_CTRL_SAA1_EN_MASK, ZLL_SAM_CTRL_SAA1_EN(value))) |
| #define ZLL_BWR_SAM_CTRL_SAA1_EN(base, value) (BME_BFI32(&ZLL_SAM_CTRL_REG(base), ((uint32_t)(value) << ZLL_SAM_CTRL_SAA1_EN_SHIFT), ZLL_SAM_CTRL_SAA1_EN_SHIFT, ZLL_SAM_CTRL_SAA1_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_CTRL, field SAA0_START[15:8] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_CTRL_SAA0_START field. */ |
| #define ZLL_RD_SAM_CTRL_SAA0_START(base) ((ZLL_SAM_CTRL_REG(base) & ZLL_SAM_CTRL_SAA0_START_MASK) >> ZLL_SAM_CTRL_SAA0_START_SHIFT) |
| #define ZLL_BRD_SAM_CTRL_SAA0_START(base) (BME_UBFX32(&ZLL_SAM_CTRL_REG(base), ZLL_SAM_CTRL_SAA0_START_SHIFT, ZLL_SAM_CTRL_SAA0_START_WIDTH)) |
| |
| /*! @brief Set the SAA0_START field to a new value. */ |
| #define ZLL_WR_SAM_CTRL_SAA0_START(base, value) (ZLL_RMW_SAM_CTRL(base, ZLL_SAM_CTRL_SAA0_START_MASK, ZLL_SAM_CTRL_SAA0_START(value))) |
| #define ZLL_BWR_SAM_CTRL_SAA0_START(base, value) (BME_BFI32(&ZLL_SAM_CTRL_REG(base), ((uint32_t)(value) << ZLL_SAM_CTRL_SAA0_START_SHIFT), ZLL_SAM_CTRL_SAA0_START_SHIFT, ZLL_SAM_CTRL_SAA0_START_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_CTRL, field SAP1_START[23:16] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_CTRL_SAP1_START field. */ |
| #define ZLL_RD_SAM_CTRL_SAP1_START(base) ((ZLL_SAM_CTRL_REG(base) & ZLL_SAM_CTRL_SAP1_START_MASK) >> ZLL_SAM_CTRL_SAP1_START_SHIFT) |
| #define ZLL_BRD_SAM_CTRL_SAP1_START(base) (BME_UBFX32(&ZLL_SAM_CTRL_REG(base), ZLL_SAM_CTRL_SAP1_START_SHIFT, ZLL_SAM_CTRL_SAP1_START_WIDTH)) |
| |
| /*! @brief Set the SAP1_START field to a new value. */ |
| #define ZLL_WR_SAM_CTRL_SAP1_START(base, value) (ZLL_RMW_SAM_CTRL(base, ZLL_SAM_CTRL_SAP1_START_MASK, ZLL_SAM_CTRL_SAP1_START(value))) |
| #define ZLL_BWR_SAM_CTRL_SAP1_START(base, value) (BME_BFI32(&ZLL_SAM_CTRL_REG(base), ((uint32_t)(value) << ZLL_SAM_CTRL_SAP1_START_SHIFT), ZLL_SAM_CTRL_SAP1_START_SHIFT, ZLL_SAM_CTRL_SAP1_START_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_CTRL, field SAA1_START[31:24] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_CTRL_SAA1_START field. */ |
| #define ZLL_RD_SAM_CTRL_SAA1_START(base) ((ZLL_SAM_CTRL_REG(base) & ZLL_SAM_CTRL_SAA1_START_MASK) >> ZLL_SAM_CTRL_SAA1_START_SHIFT) |
| #define ZLL_BRD_SAM_CTRL_SAA1_START(base) (BME_UBFX32(&ZLL_SAM_CTRL_REG(base), ZLL_SAM_CTRL_SAA1_START_SHIFT, ZLL_SAM_CTRL_SAA1_START_WIDTH)) |
| |
| /*! @brief Set the SAA1_START field to a new value. */ |
| #define ZLL_WR_SAM_CTRL_SAA1_START(base, value) (ZLL_RMW_SAM_CTRL(base, ZLL_SAM_CTRL_SAA1_START_MASK, ZLL_SAM_CTRL_SAA1_START(value))) |
| #define ZLL_BWR_SAM_CTRL_SAA1_START(base, value) (BME_BFI32(&ZLL_SAM_CTRL_REG(base), ((uint32_t)(value) << ZLL_SAM_CTRL_SAA1_START_SHIFT), ZLL_SAM_CTRL_SAA1_START_SHIFT, ZLL_SAM_CTRL_SAA1_START_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_SAM_TABLE - SOURCE ADDRESS MANAGEMENT TABLE |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_SAM_TABLE - SOURCE ADDRESS MANAGEMENT TABLE (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Source Address Management Table |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_SAM_TABLE register |
| */ |
| /*@{*/ |
| #define ZLL_RD_SAM_TABLE(base) (ZLL_SAM_TABLE_REG(base)) |
| #define ZLL_WR_SAM_TABLE(base, value) (ZLL_SAM_TABLE_REG(base) = (value)) |
| #define ZLL_RMW_SAM_TABLE(base, mask, value) (ZLL_WR_SAM_TABLE(base, (ZLL_RD_SAM_TABLE(base) & ~(mask)) | (value))) |
| #define ZLL_SET_SAM_TABLE(base, value) (BME_OR32(&ZLL_SAM_TABLE_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_SAM_TABLE(base, value) (BME_AND32(&ZLL_SAM_TABLE_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_SAM_TABLE(base, value) (BME_XOR32(&ZLL_SAM_TABLE_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_SAM_TABLE bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_SAM_TABLE, field SAM_INDEX[6:0] (RW) |
| * |
| * Contains the table index to be enabled or invalidated. Software must ensure |
| * that the index is within the range of the desired partition. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_TABLE_SAM_INDEX field. */ |
| #define ZLL_RD_SAM_TABLE_SAM_INDEX(base) ((ZLL_SAM_TABLE_REG(base) & ZLL_SAM_TABLE_SAM_INDEX_MASK) >> ZLL_SAM_TABLE_SAM_INDEX_SHIFT) |
| #define ZLL_BRD_SAM_TABLE_SAM_INDEX(base) (BME_UBFX32(&ZLL_SAM_TABLE_REG(base), ZLL_SAM_TABLE_SAM_INDEX_SHIFT, ZLL_SAM_TABLE_SAM_INDEX_WIDTH)) |
| |
| /*! @brief Set the SAM_INDEX field to a new value. */ |
| #define ZLL_WR_SAM_TABLE_SAM_INDEX(base, value) (ZLL_RMW_SAM_TABLE(base, ZLL_SAM_TABLE_SAM_INDEX_MASK, ZLL_SAM_TABLE_SAM_INDEX(value))) |
| #define ZLL_BWR_SAM_TABLE_SAM_INDEX(base, value) (BME_BFI32(&ZLL_SAM_TABLE_REG(base), ((uint32_t)(value) << ZLL_SAM_TABLE_SAM_INDEX_SHIFT), ZLL_SAM_TABLE_SAM_INDEX_SHIFT, ZLL_SAM_TABLE_SAM_INDEX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_TABLE, field SAM_INDEX_WR[7] (WO) |
| * |
| * For 32-bit writes, SAM_INDEX_WR must be set to indicate that the table entry |
| * specified by SAM_INDEX[6:0] is to be written; if SAM_INDEX_WR=0, the table |
| * entry is not written, but the SAM_INDEX[6:0] register is updated. For 8-bit |
| * writes, this bit is ignored. |
| */ |
| /*@{*/ |
| /*! @brief Set the SAM_INDEX_WR field to a new value. */ |
| #define ZLL_WR_SAM_TABLE_SAM_INDEX_WR(base, value) (ZLL_RMW_SAM_TABLE(base, ZLL_SAM_TABLE_SAM_INDEX_WR_MASK, ZLL_SAM_TABLE_SAM_INDEX_WR(value))) |
| #define ZLL_BWR_SAM_TABLE_SAM_INDEX_WR(base, value) (ZLL_WR_SAM_TABLE_SAM_INDEX_WR(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_TABLE, field SAM_CHECKSUM[23:8] (RW) |
| * |
| * Software-computed source address checksum, to be installed into a table |
| * index. The value on SAM_CHECKSUM[15:0] can be installed into the table with a |
| * single, atomic 32-bit write; in that case, the write data would contain the desired |
| * SAM_INDEX[6:0] and SAM_CHECKSUM[15:0], and SAM_INDEX_WR=1.If SAM_INDEX_WR=0, |
| * then the SAM_INDEX[6:0] register is written, but the checksum is not written |
| * to the table.The readback value of SAM_CHECKSUM[15:0] is the contents of the |
| * SAM Table at the location pointed to by SAM_INDEX[6:0]. To readback from a |
| * specific table index, software should first write the desired index to |
| * SAM_INDEX[6:0], and then read back the checksum from the table on SAM_CHECKSUM[15:0]. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_TABLE_SAM_CHECKSUM field. */ |
| #define ZLL_RD_SAM_TABLE_SAM_CHECKSUM(base) ((ZLL_SAM_TABLE_REG(base) & ZLL_SAM_TABLE_SAM_CHECKSUM_MASK) >> ZLL_SAM_TABLE_SAM_CHECKSUM_SHIFT) |
| #define ZLL_BRD_SAM_TABLE_SAM_CHECKSUM(base) (BME_UBFX32(&ZLL_SAM_TABLE_REG(base), ZLL_SAM_TABLE_SAM_CHECKSUM_SHIFT, ZLL_SAM_TABLE_SAM_CHECKSUM_WIDTH)) |
| |
| /*! @brief Set the SAM_CHECKSUM field to a new value. */ |
| #define ZLL_WR_SAM_TABLE_SAM_CHECKSUM(base, value) (ZLL_RMW_SAM_TABLE(base, ZLL_SAM_TABLE_SAM_CHECKSUM_MASK, ZLL_SAM_TABLE_SAM_CHECKSUM(value))) |
| #define ZLL_BWR_SAM_TABLE_SAM_CHECKSUM(base, value) (BME_BFI32(&ZLL_SAM_TABLE_REG(base), ((uint32_t)(value) << ZLL_SAM_TABLE_SAM_CHECKSUM_SHIFT), ZLL_SAM_TABLE_SAM_CHECKSUM_SHIFT, ZLL_SAM_TABLE_SAM_CHECKSUM_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_TABLE, field SAM_INDEX_INV[24] (WO) |
| */ |
| /*@{*/ |
| /*! @brief Set the SAM_INDEX_INV field to a new value. */ |
| #define ZLL_WR_SAM_TABLE_SAM_INDEX_INV(base, value) (ZLL_RMW_SAM_TABLE(base, ZLL_SAM_TABLE_SAM_INDEX_INV_MASK, ZLL_SAM_TABLE_SAM_INDEX_INV(value))) |
| #define ZLL_BWR_SAM_TABLE_SAM_INDEX_INV(base, value) (ZLL_WR_SAM_TABLE_SAM_INDEX_INV(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_TABLE, field SAM_INDEX_EN[25] (WO) |
| */ |
| /*@{*/ |
| /*! @brief Set the SAM_INDEX_EN field to a new value. */ |
| #define ZLL_WR_SAM_TABLE_SAM_INDEX_EN(base, value) (ZLL_RMW_SAM_TABLE(base, ZLL_SAM_TABLE_SAM_INDEX_EN_MASK, ZLL_SAM_TABLE_SAM_INDEX_EN(value))) |
| #define ZLL_BWR_SAM_TABLE_SAM_INDEX_EN(base, value) (ZLL_WR_SAM_TABLE_SAM_INDEX_EN(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_TABLE, field ACK_FRM_PND[26] (RW) |
| * |
| * Software can take manual control of the FramePending field of the Frame |
| * Control Field of the next automatic TX acknowledge packet, by setting |
| * ACK_FRM_PND_CTRL=1; in that case FramePending will track the state of this bit. The |
| * FramePending field also tracks this bit if Source Address Management is comletely |
| * disabled, i.e., SAP0_EN=SAA0_EN=SAP1_EN=SAA1_EN=0 Otherwise, the FramePending |
| * field is determined by Source Address Management (SAM) hardware. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_TABLE_ACK_FRM_PND field. */ |
| #define ZLL_RD_SAM_TABLE_ACK_FRM_PND(base) ((ZLL_SAM_TABLE_REG(base) & ZLL_SAM_TABLE_ACK_FRM_PND_MASK) >> ZLL_SAM_TABLE_ACK_FRM_PND_SHIFT) |
| #define ZLL_BRD_SAM_TABLE_ACK_FRM_PND(base) (BME_UBFX32(&ZLL_SAM_TABLE_REG(base), ZLL_SAM_TABLE_ACK_FRM_PND_SHIFT, ZLL_SAM_TABLE_ACK_FRM_PND_WIDTH)) |
| |
| /*! @brief Set the ACK_FRM_PND field to a new value. */ |
| #define ZLL_WR_SAM_TABLE_ACK_FRM_PND(base, value) (ZLL_RMW_SAM_TABLE(base, ZLL_SAM_TABLE_ACK_FRM_PND_MASK, ZLL_SAM_TABLE_ACK_FRM_PND(value))) |
| #define ZLL_BWR_SAM_TABLE_ACK_FRM_PND(base, value) (BME_BFI32(&ZLL_SAM_TABLE_REG(base), ((uint32_t)(value) << ZLL_SAM_TABLE_ACK_FRM_PND_SHIFT), ZLL_SAM_TABLE_ACK_FRM_PND_SHIFT, ZLL_SAM_TABLE_ACK_FRM_PND_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_TABLE, field ACK_FRM_PND_CTRL[27] (RW) |
| * |
| * Values: |
| * - 0b0 - the FramePending field of the Frame Control Field of the next |
| * automatic TX acknowledge packet is determined by hardware |
| * - 0b1 - the FramePending field of the Frame Control Field of the next |
| * automatic TX acknowledge packet tracks ACK_FRM_PEND |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_TABLE_ACK_FRM_PND_CTRL field. */ |
| #define ZLL_RD_SAM_TABLE_ACK_FRM_PND_CTRL(base) ((ZLL_SAM_TABLE_REG(base) & ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_MASK) >> ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_SHIFT) |
| #define ZLL_BRD_SAM_TABLE_ACK_FRM_PND_CTRL(base) (BME_UBFX32(&ZLL_SAM_TABLE_REG(base), ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_SHIFT, ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_WIDTH)) |
| |
| /*! @brief Set the ACK_FRM_PND_CTRL field to a new value. */ |
| #define ZLL_WR_SAM_TABLE_ACK_FRM_PND_CTRL(base, value) (ZLL_RMW_SAM_TABLE(base, ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_MASK, ZLL_SAM_TABLE_ACK_FRM_PND_CTRL(value))) |
| #define ZLL_BWR_SAM_TABLE_ACK_FRM_PND_CTRL(base, value) (BME_BFI32(&ZLL_SAM_TABLE_REG(base), ((uint32_t)(value) << ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_SHIFT), ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_SHIFT, ZLL_SAM_TABLE_ACK_FRM_PND_CTRL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_TABLE, field FIND_FREE_IDX[28] (WO) |
| * |
| * After modifying Valid bits (enabling or invalidating), write this bit to 1 to |
| * force hardware to update the "First Free Index" registers to account for the |
| * changed Valid bits. This hardware update process takes 4us. Software can poll |
| * SAM_BUSY to determine when the table update is complete. Write-only bit. |
| * Writing 0 to this bit has no effect. Readback value is indeterminate. |
| */ |
| /*@{*/ |
| /*! @brief Set the FIND_FREE_IDX field to a new value. */ |
| #define ZLL_WR_SAM_TABLE_FIND_FREE_IDX(base, value) (ZLL_RMW_SAM_TABLE(base, ZLL_SAM_TABLE_FIND_FREE_IDX_MASK, ZLL_SAM_TABLE_FIND_FREE_IDX(value))) |
| #define ZLL_BWR_SAM_TABLE_FIND_FREE_IDX(base, value) (ZLL_WR_SAM_TABLE_FIND_FREE_IDX(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_TABLE, field INVALIDATE_ALL[29] (WO) |
| * |
| * Writing a 1 to this bit clears all 128 Valid bits. Invalidates the entire |
| * table. Write-only bit. Writing 0 to this bit has no effect. Readback value is |
| * indeterminate. |
| */ |
| /*@{*/ |
| /*! @brief Set the INVALIDATE_ALL field to a new value. */ |
| #define ZLL_WR_SAM_TABLE_INVALIDATE_ALL(base, value) (ZLL_RMW_SAM_TABLE(base, ZLL_SAM_TABLE_INVALIDATE_ALL_MASK, ZLL_SAM_TABLE_INVALIDATE_ALL(value))) |
| #define ZLL_BWR_SAM_TABLE_INVALIDATE_ALL(base, value) (ZLL_WR_SAM_TABLE_INVALIDATE_ALL(base, value)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_TABLE, field SAM_BUSY[31] (RO) |
| * |
| * Hardware is in the process of updating the Source Address table, either in |
| * response to a poll indication from the packet processor, or due to software |
| * setting FIND_FREE_IDX=1. In the latter case, software should poll SAM_BUSY until |
| * low before accessing the "First Free Index" registers. Read-only bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_TABLE_SAM_BUSY field. */ |
| #define ZLL_RD_SAM_TABLE_SAM_BUSY(base) ((ZLL_SAM_TABLE_REG(base) & ZLL_SAM_TABLE_SAM_BUSY_MASK) >> ZLL_SAM_TABLE_SAM_BUSY_SHIFT) |
| #define ZLL_BRD_SAM_TABLE_SAM_BUSY(base) (BME_UBFX32(&ZLL_SAM_TABLE_REG(base), ZLL_SAM_TABLE_SAM_BUSY_SHIFT, ZLL_SAM_TABLE_SAM_BUSY_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_SAM_MATCH - SAM MATCH |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_SAM_MATCH - SAM MATCH (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Source Address Management Match Register |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_SAM_MATCH register |
| */ |
| /*@{*/ |
| #define ZLL_RD_SAM_MATCH(base) (ZLL_SAM_MATCH_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_SAM_MATCH bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_SAM_MATCH, field SAP0_MATCH[6:0] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_MATCH_SAP0_MATCH field. */ |
| #define ZLL_RD_SAM_MATCH_SAP0_MATCH(base) ((ZLL_SAM_MATCH_REG(base) & ZLL_SAM_MATCH_SAP0_MATCH_MASK) >> ZLL_SAM_MATCH_SAP0_MATCH_SHIFT) |
| #define ZLL_BRD_SAM_MATCH_SAP0_MATCH(base) (BME_UBFX32(&ZLL_SAM_MATCH_REG(base), ZLL_SAM_MATCH_SAP0_MATCH_SHIFT, ZLL_SAM_MATCH_SAP0_MATCH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_MATCH, field SAP0_ADDR_PRESENT[7] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_MATCH_SAP0_ADDR_PRESENT field. */ |
| #define ZLL_RD_SAM_MATCH_SAP0_ADDR_PRESENT(base) ((ZLL_SAM_MATCH_REG(base) & ZLL_SAM_MATCH_SAP0_ADDR_PRESENT_MASK) >> ZLL_SAM_MATCH_SAP0_ADDR_PRESENT_SHIFT) |
| #define ZLL_BRD_SAM_MATCH_SAP0_ADDR_PRESENT(base) (BME_UBFX32(&ZLL_SAM_MATCH_REG(base), ZLL_SAM_MATCH_SAP0_ADDR_PRESENT_SHIFT, ZLL_SAM_MATCH_SAP0_ADDR_PRESENT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_MATCH, field SAA0_MATCH[14:8] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_MATCH_SAA0_MATCH field. */ |
| #define ZLL_RD_SAM_MATCH_SAA0_MATCH(base) ((ZLL_SAM_MATCH_REG(base) & ZLL_SAM_MATCH_SAA0_MATCH_MASK) >> ZLL_SAM_MATCH_SAA0_MATCH_SHIFT) |
| #define ZLL_BRD_SAM_MATCH_SAA0_MATCH(base) (BME_UBFX32(&ZLL_SAM_MATCH_REG(base), ZLL_SAM_MATCH_SAA0_MATCH_SHIFT, ZLL_SAM_MATCH_SAA0_MATCH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_MATCH, field SAA0_ADDR_ABSENT[15] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_MATCH_SAA0_ADDR_ABSENT field. */ |
| #define ZLL_RD_SAM_MATCH_SAA0_ADDR_ABSENT(base) ((ZLL_SAM_MATCH_REG(base) & ZLL_SAM_MATCH_SAA0_ADDR_ABSENT_MASK) >> ZLL_SAM_MATCH_SAA0_ADDR_ABSENT_SHIFT) |
| #define ZLL_BRD_SAM_MATCH_SAA0_ADDR_ABSENT(base) (BME_UBFX32(&ZLL_SAM_MATCH_REG(base), ZLL_SAM_MATCH_SAA0_ADDR_ABSENT_SHIFT, ZLL_SAM_MATCH_SAA0_ADDR_ABSENT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_MATCH, field SAP1_MATCH[22:16] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_MATCH_SAP1_MATCH field. */ |
| #define ZLL_RD_SAM_MATCH_SAP1_MATCH(base) ((ZLL_SAM_MATCH_REG(base) & ZLL_SAM_MATCH_SAP1_MATCH_MASK) >> ZLL_SAM_MATCH_SAP1_MATCH_SHIFT) |
| #define ZLL_BRD_SAM_MATCH_SAP1_MATCH(base) (BME_UBFX32(&ZLL_SAM_MATCH_REG(base), ZLL_SAM_MATCH_SAP1_MATCH_SHIFT, ZLL_SAM_MATCH_SAP1_MATCH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_MATCH, field SAP1_ADDR_PRESENT[23] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_MATCH_SAP1_ADDR_PRESENT field. */ |
| #define ZLL_RD_SAM_MATCH_SAP1_ADDR_PRESENT(base) ((ZLL_SAM_MATCH_REG(base) & ZLL_SAM_MATCH_SAP1_ADDR_PRESENT_MASK) >> ZLL_SAM_MATCH_SAP1_ADDR_PRESENT_SHIFT) |
| #define ZLL_BRD_SAM_MATCH_SAP1_ADDR_PRESENT(base) (BME_UBFX32(&ZLL_SAM_MATCH_REG(base), ZLL_SAM_MATCH_SAP1_ADDR_PRESENT_SHIFT, ZLL_SAM_MATCH_SAP1_ADDR_PRESENT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_MATCH, field SAA1_MATCH[30:24] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_MATCH_SAA1_MATCH field. */ |
| #define ZLL_RD_SAM_MATCH_SAA1_MATCH(base) ((ZLL_SAM_MATCH_REG(base) & ZLL_SAM_MATCH_SAA1_MATCH_MASK) >> ZLL_SAM_MATCH_SAA1_MATCH_SHIFT) |
| #define ZLL_BRD_SAM_MATCH_SAA1_MATCH(base) (BME_UBFX32(&ZLL_SAM_MATCH_REG(base), ZLL_SAM_MATCH_SAA1_MATCH_SHIFT, ZLL_SAM_MATCH_SAA1_MATCH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_MATCH, field SAA1_ADDR_ABSENT[31] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_MATCH_SAA1_ADDR_ABSENT field. */ |
| #define ZLL_RD_SAM_MATCH_SAA1_ADDR_ABSENT(base) ((ZLL_SAM_MATCH_REG(base) & ZLL_SAM_MATCH_SAA1_ADDR_ABSENT_MASK) >> ZLL_SAM_MATCH_SAA1_ADDR_ABSENT_SHIFT) |
| #define ZLL_BRD_SAM_MATCH_SAA1_ADDR_ABSENT(base) (BME_UBFX32(&ZLL_SAM_MATCH_REG(base), ZLL_SAM_MATCH_SAA1_ADDR_ABSENT_SHIFT, ZLL_SAM_MATCH_SAA1_ADDR_ABSENT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_SAM_FREE_IDX - SAM FREE INDEX |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_SAM_FREE_IDX - SAM FREE INDEX (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Source Address Management Free Index Register |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_SAM_FREE_IDX register |
| */ |
| /*@{*/ |
| #define ZLL_RD_SAM_FREE_IDX(base) (ZLL_SAM_FREE_IDX_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_SAM_FREE_IDX bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_SAM_FREE_IDX, field SAP0_1ST_FREE_IDX[7:0] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX field. */ |
| #define ZLL_RD_SAM_FREE_IDX_SAP0_1ST_FREE_IDX(base) ((ZLL_SAM_FREE_IDX_REG(base) & ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX_MASK) >> ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX_SHIFT) |
| #define ZLL_BRD_SAM_FREE_IDX_SAP0_1ST_FREE_IDX(base) (BME_UBFX32(&ZLL_SAM_FREE_IDX_REG(base), ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX_SHIFT, ZLL_SAM_FREE_IDX_SAP0_1ST_FREE_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_FREE_IDX, field SAA0_1ST_FREE_IDX[15:8] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX field. */ |
| #define ZLL_RD_SAM_FREE_IDX_SAA0_1ST_FREE_IDX(base) ((ZLL_SAM_FREE_IDX_REG(base) & ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX_MASK) >> ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX_SHIFT) |
| #define ZLL_BRD_SAM_FREE_IDX_SAA0_1ST_FREE_IDX(base) (BME_UBFX32(&ZLL_SAM_FREE_IDX_REG(base), ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX_SHIFT, ZLL_SAM_FREE_IDX_SAA0_1ST_FREE_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_FREE_IDX, field SAP1_1ST_FREE_IDX[23:16] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX field. */ |
| #define ZLL_RD_SAM_FREE_IDX_SAP1_1ST_FREE_IDX(base) ((ZLL_SAM_FREE_IDX_REG(base) & ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX_MASK) >> ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX_SHIFT) |
| #define ZLL_BRD_SAM_FREE_IDX_SAP1_1ST_FREE_IDX(base) (BME_UBFX32(&ZLL_SAM_FREE_IDX_REG(base), ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX_SHIFT, ZLL_SAM_FREE_IDX_SAP1_1ST_FREE_IDX_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SAM_FREE_IDX, field SAA1_1ST_FREE_IDX[31:24] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX field. */ |
| #define ZLL_RD_SAM_FREE_IDX_SAA1_1ST_FREE_IDX(base) ((ZLL_SAM_FREE_IDX_REG(base) & ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX_MASK) >> ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX_SHIFT) |
| #define ZLL_BRD_SAM_FREE_IDX_SAA1_1ST_FREE_IDX(base) (BME_UBFX32(&ZLL_SAM_FREE_IDX_REG(base), ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX_SHIFT, ZLL_SAM_FREE_IDX_SAA1_1ST_FREE_IDX_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_SEQ_CTRL_STS - SEQUENCE CONTROL AND STATUS |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_SEQ_CTRL_STS - SEQUENCE CONTROL AND STATUS (RW) |
| * |
| * Reset value: 0x00000008U |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_SEQ_CTRL_STS register |
| */ |
| /*@{*/ |
| #define ZLL_RD_SEQ_CTRL_STS(base) (ZLL_SEQ_CTRL_STS_REG(base)) |
| #define ZLL_WR_SEQ_CTRL_STS(base, value) (ZLL_SEQ_CTRL_STS_REG(base) = (value)) |
| #define ZLL_RMW_SEQ_CTRL_STS(base, mask, value) (ZLL_WR_SEQ_CTRL_STS(base, (ZLL_RD_SEQ_CTRL_STS(base) & ~(mask)) | (value))) |
| #define ZLL_SET_SEQ_CTRL_STS(base, value) (BME_OR32(&ZLL_SEQ_CTRL_STS_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_SEQ_CTRL_STS(base, value) (BME_AND32(&ZLL_SEQ_CTRL_STS_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_SEQ_CTRL_STS(base, value) (BME_XOR32(&ZLL_SEQ_CTRL_STS_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_SEQ_CTRL_STS bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field CLR_NEW_SEQ_INHIBIT[2] (RW) |
| * |
| * when asserted, overrides the automatic hardware locking of the programmed |
| * XCVSEQ while an autosequence is underway. Asserting this feature will allow |
| * software to change the programmed autosequence "on-the-fly", without aborting and |
| * returning to idle between sequences. Overriding the hardware lockout of XCVSEQ |
| * should be used with caution, since the Sequence Manager is not designed (or |
| * verified) for manual state transitions between one type of autosequence and |
| * other (i.e., Sequence T -> Sequence R). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_MASK) >> ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_SHIFT, ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_WIDTH)) |
| |
| /*! @brief Set the CLR_NEW_SEQ_INHIBIT field to a new value. */ |
| #define ZLL_WR_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT(base, value) (ZLL_RMW_SEQ_CTRL_STS(base, ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_MASK, ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT(value))) |
| #define ZLL_BWR_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT(base, value) (BME_BFI32(&ZLL_SEQ_CTRL_STS_REG(base), ((uint32_t)(value) << ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_SHIFT), ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_SHIFT, ZLL_SEQ_CTRL_STS_CLR_NEW_SEQ_INHIBIT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field EVENT_TMR_DO_NOT_LATCH[3] (RW) |
| * |
| * when asserted, overrides the automatic hardware latching of the Event Timer |
| * that prevents the timer from updating while software reads the 3 Event Timer |
| * bytes. This allows the Event Timer LS byte to continue to update without reading |
| * the upper 2 bytes. Overriding the automatic latching of the Event Timer |
| * should be used with caution, as it can allow the Event Timer lower bytes to get |
| * out-of-sync with the upper bytes. However, it can be useful when polling the |
| * Event Timer LS byte for a value that is just a few counts in the future. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_MASK) >> ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_SHIFT, ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_WIDTH)) |
| |
| /*! @brief Set the EVENT_TMR_DO_NOT_LATCH field to a new value. */ |
| #define ZLL_WR_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH(base, value) (ZLL_RMW_SEQ_CTRL_STS(base, ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_MASK, ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH(value))) |
| #define ZLL_BWR_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH(base, value) (BME_BFI32(&ZLL_SEQ_CTRL_STS_REG(base), ((uint32_t)(value) << ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_SHIFT), ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_SHIFT, ZLL_SEQ_CTRL_STS_EVENT_TMR_DO_NOT_LATCH_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field LATCH_PREAMBLE[4] (RW) |
| * |
| * Values: |
| * - 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 |
| * - 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 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_LATCH_PREAMBLE(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_MASK) >> ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_LATCH_PREAMBLE(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_SHIFT, ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_WIDTH)) |
| |
| /*! @brief Set the LATCH_PREAMBLE field to a new value. */ |
| #define ZLL_WR_SEQ_CTRL_STS_LATCH_PREAMBLE(base, value) (ZLL_RMW_SEQ_CTRL_STS(base, ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_MASK, ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE(value))) |
| #define ZLL_BWR_SEQ_CTRL_STS_LATCH_PREAMBLE(base, value) (BME_BFI32(&ZLL_SEQ_CTRL_STS_REG(base), ((uint32_t)(value) << ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_SHIFT), ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_SHIFT, ZLL_SEQ_CTRL_STS_LATCH_PREAMBLE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field NO_RX_RECYCLE[5] (RW) |
| * |
| * when asserted, prevents the Zigbee Sequence Manager (ZSM) from automatically |
| * re-starting (recycling) the receiver when a packet is received which results |
| * in a FilterFail or CRC failure. Normally, on a RX recycle, the ZSM returns to |
| * the RX_WU (warmup) state, and then resumes from there with a new, |
| * foreshortened, Rx warmup, in search of a new preamble. When this bit is set, the Sequence |
| * Manager will instead return to idle state, and issue a SEQIRQ, after a |
| * FilterFail or CRC failure. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_NO_RX_RECYCLE(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_MASK) >> ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_NO_RX_RECYCLE(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_SHIFT, ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_WIDTH)) |
| |
| /*! @brief Set the NO_RX_RECYCLE field to a new value. */ |
| #define ZLL_WR_SEQ_CTRL_STS_NO_RX_RECYCLE(base, value) (ZLL_RMW_SEQ_CTRL_STS(base, ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_MASK, ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE(value))) |
| #define ZLL_BWR_SEQ_CTRL_STS_NO_RX_RECYCLE(base, value) (BME_BFI32(&ZLL_SEQ_CTRL_STS_REG(base), ((uint32_t)(value) << ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_SHIFT), ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_SHIFT, ZLL_SEQ_CTRL_STS_NO_RX_RECYCLE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field FORCE_CRC_ERROR[6] (RW) |
| * |
| * Values: |
| * - 0b0 - normal operation |
| * - 0b1 - Force the next transmitted packet to have a CRC error |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_FORCE_CRC_ERROR(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_MASK) >> ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_FORCE_CRC_ERROR(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_SHIFT, ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_WIDTH)) |
| |
| /*! @brief Set the FORCE_CRC_ERROR field to a new value. */ |
| #define ZLL_WR_SEQ_CTRL_STS_FORCE_CRC_ERROR(base, value) (ZLL_RMW_SEQ_CTRL_STS(base, ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_MASK, ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR(value))) |
| #define ZLL_BWR_SEQ_CTRL_STS_FORCE_CRC_ERROR(base, value) (BME_BFI32(&ZLL_SEQ_CTRL_STS_REG(base), ((uint32_t)(value) << ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_SHIFT), ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_SHIFT, ZLL_SEQ_CTRL_STS_FORCE_CRC_ERROR_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field CONTINUOUS_EN[7] (RW) |
| * |
| * Continuous Mode Enable (Continuous TX or RX). Note: Dual PAN mode should not |
| * be engaged in Continuous TX or RX modes. |
| * |
| * Values: |
| * - 0b0 - normal operation |
| * - 0b1 - Continuous TX or RX mode is enabled (depending on XCVSEQ setting). |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_CONTINUOUS_EN field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_CONTINUOUS_EN(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_MASK) >> ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_CONTINUOUS_EN(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_SHIFT, ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_WIDTH)) |
| |
| /*! @brief Set the CONTINUOUS_EN field to a new value. */ |
| #define ZLL_WR_SEQ_CTRL_STS_CONTINUOUS_EN(base, value) (ZLL_RMW_SEQ_CTRL_STS(base, ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_MASK, ZLL_SEQ_CTRL_STS_CONTINUOUS_EN(value))) |
| #define ZLL_BWR_SEQ_CTRL_STS_CONTINUOUS_EN(base, value) (BME_BFI32(&ZLL_SEQ_CTRL_STS_REG(base), ((uint32_t)(value) << ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_SHIFT), ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_SHIFT, ZLL_SEQ_CTRL_STS_CONTINUOUS_EN_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field XCVSEQ_ACTUAL[10:8] (RO) |
| * |
| * Reflects the programmed sequence that has been recognized by the Zigbee |
| * Sequence Manager. Takes into account the fact that sequence-change commands from |
| * software are ignored while a sequence is underway (see NEW_SEQ_INHIBIT). |
| * Read-only bits. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_XCVSEQ_ACTUAL(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL_MASK) >> ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_XCVSEQ_ACTUAL(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL_SHIFT, ZLL_SEQ_CTRL_STS_XCVSEQ_ACTUAL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field SEQ_IDLE[11] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_SEQ_IDLE field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_SEQ_IDLE(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_SEQ_IDLE_MASK) >> ZLL_SEQ_CTRL_STS_SEQ_IDLE_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_SEQ_IDLE(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_SEQ_IDLE_SHIFT, ZLL_SEQ_CTRL_STS_SEQ_IDLE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field NEW_SEQ_INHIBIT[12] (RO) |
| * |
| * When asserted, indicates that a new programmed autosequence has commenced |
| * (TMR2 match has occurred if TMRTRIGEN=1). Once this bit is asserted, software is |
| * blocked from commanding any "new" autosequences (other than Sequence I to |
| * abort the current sequence), until the current sequence completes. Hardware will |
| * ignore a sequence-change command from software while this bit is asserted. |
| * Hardware will automatically deassert this bit once the sequence completes. |
| * Read-only bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_NEW_SEQ_INHIBIT(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT_MASK) >> ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_NEW_SEQ_INHIBIT(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT_SHIFT, ZLL_SEQ_CTRL_STS_NEW_SEQ_INHIBIT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field RX_TIMEOUT_PENDING[13] (RO) |
| * |
| * when asserted, indicates that a TMR3 timeout (RX timeout) flag has been set |
| * by Hardware, but the Sequence Manager has not yet aborted because an RX |
| * operation is not currently underway. This would be the case, for example, during a |
| * Sequence TR, if a TMR3 timeout were to occur during the transmit operation of |
| * this sequence; the sequence would not be aborted by Hardware until the receive |
| * operation begins. This bit will always be 0 if TC3TMOUT=0. Read-only bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_RX_TIMEOUT_PENDING(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING_MASK) >> ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_RX_TIMEOUT_PENDING(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING_SHIFT, ZLL_SEQ_CTRL_STS_RX_TIMEOUT_PENDING_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field RX_MODE[14] (RO) |
| * |
| * when asserted, this Sequence Manager Output indicates that an RX operation is |
| * in progress. An RX operation can be part of a complex transmit autosequence |
| * such as a Sequence TR. CCA and ED operations are considered RX operations, |
| * during which rx_mode is asserted. Read-only bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_RX_MODE field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_RX_MODE(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_RX_MODE_MASK) >> ZLL_SEQ_CTRL_STS_RX_MODE_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_RX_MODE(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_RX_MODE_SHIFT, ZLL_SEQ_CTRL_STS_RX_MODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field TMR2_SEQ_TRIG_ARMED[15] (RO) |
| * |
| * when asserted, indicates that TMR2 has been programmed and is "armed" to |
| * trigger a new autosequence, when Zigbee Sequence Manager timer-triggering mode is |
| * selected (i.e., TMRTRIGEN=1). When timer-triggering mode is selected, TMR2 |
| * must be re-programmed (using either T2CMP or T2PRIMECMP), in advance of each new |
| * sequence. Once TMR2 is programmed, this bit will be asserted, and will remain |
| * asserted until the new sequence commences (at TMR2 match). Hardware will |
| * deassert this bit when the new sequence starts. When TMRTRIGEN=0, this bit should |
| * be ignored. Read-only bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED_MASK) >> ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED_SHIFT, ZLL_SEQ_CTRL_STS_TMR2_SEQ_TRIG_ARMED_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field SEQ_T_STATUS[21:16] (RO) |
| * |
| * Status of the just-completed (or ongoing) Sequence T or Sequence TR |
| * autosequence. This register is valid at all times during, and after, the Sequence T or |
| * Sequence TR. Not valid for other types of autosequences. This is a read-only |
| * register. The bits of this register map to status, according to the following |
| * table: [0] 1st CCA complete (CCABFRTX=1) [1] 2nd CCA complete (SLOTTED=1) [2] |
| * Tx operation complete [3] Rx Rec ycle occurred (Sequence TR only) [4] Rx |
| * operation complete (Sequence TR only) [5] TxAck operation complete(Sequence TR only) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_SEQ_T_STATUS field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_SEQ_T_STATUS(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_SEQ_T_STATUS_MASK) >> ZLL_SEQ_CTRL_STS_SEQ_T_STATUS_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_SEQ_T_STATUS(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_SEQ_T_STATUS_SHIFT, ZLL_SEQ_CTRL_STS_SEQ_T_STATUS_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field SW_ABORTED[24] (RO) |
| * |
| * when asserted, indicates that the autosequence has terminated due to an |
| * Software abort. Software can abort any programmed autosequence by writing Sequence |
| * I to XCVSEQ. This bit is valid at the SEQIRQ interrupt. Hardware will maintain |
| * this bit asserted until the next autosequence commences. Read-only bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_SW_ABORTED field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_SW_ABORTED(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_SW_ABORTED_MASK) >> ZLL_SEQ_CTRL_STS_SW_ABORTED_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_SW_ABORTED(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_SW_ABORTED_SHIFT, ZLL_SEQ_CTRL_STS_SW_ABORTED_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field TC3_ABORTED[25] (RO) |
| * |
| * when asserted, indicates that the autosequence has terminated due to an TC3 |
| * (TMR3) timeout during a receive operation. This bit is valid at the SEQIRQ |
| * interrupt. Hardware will maintain this bit asserted until the next autosequence |
| * commences. Read-only bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_TC3_ABORTED field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_TC3_ABORTED(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_TC3_ABORTED_MASK) >> ZLL_SEQ_CTRL_STS_TC3_ABORTED_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_TC3_ABORTED(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_TC3_ABORTED_SHIFT, ZLL_SEQ_CTRL_STS_TC3_ABORTED_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_CTRL_STS, field PLL_ABORTED[26] (RO) |
| * |
| * when asserted, indicates that the autosequence has terminated due to an PLL |
| * unlock event. This bit is valid at the SEQIRQ interrupt. Hardware will maintain |
| * this bit asserted until the next autosequence commences. Read-only bit. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_CTRL_STS_PLL_ABORTED field. */ |
| #define ZLL_RD_SEQ_CTRL_STS_PLL_ABORTED(base) ((ZLL_SEQ_CTRL_STS_REG(base) & ZLL_SEQ_CTRL_STS_PLL_ABORTED_MASK) >> ZLL_SEQ_CTRL_STS_PLL_ABORTED_SHIFT) |
| #define ZLL_BRD_SEQ_CTRL_STS_PLL_ABORTED(base) (BME_UBFX32(&ZLL_SEQ_CTRL_STS_REG(base), ZLL_SEQ_CTRL_STS_PLL_ABORTED_SHIFT, ZLL_SEQ_CTRL_STS_PLL_ABORTED_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_ACKDELAY - ACK DELAY |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_ACKDELAY - ACK DELAY (RW) |
| * |
| * Reset value: 0x00000007U |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_ACKDELAY register |
| */ |
| /*@{*/ |
| #define ZLL_RD_ACKDELAY(base) (ZLL_ACKDELAY_REG(base)) |
| #define ZLL_WR_ACKDELAY(base, value) (ZLL_ACKDELAY_REG(base) = (value)) |
| #define ZLL_RMW_ACKDELAY(base, mask, value) (ZLL_WR_ACKDELAY(base, (ZLL_RD_ACKDELAY(base) & ~(mask)) | (value))) |
| #define ZLL_SET_ACKDELAY(base, value) (BME_OR32(&ZLL_ACKDELAY_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_ACKDELAY(base, value) (BME_AND32(&ZLL_ACKDELAY_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_ACKDELAY(base, value) (BME_XOR32(&ZLL_ACKDELAY_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_ACKDELAY bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_ACKDELAY, field ACKDELAY[5:0] (RW) |
| * |
| * Provides a fine-tune adjustment of the time delay between Rx warmdown and the |
| * beginning of Tx warmup for an Tx Acknowledge packet. ACKDELAY register will |
| * apply to both SLOTTED and UNSLOTTED TxAck, but only to TxAck (not T sequences). |
| * This is a two's complement value. The minimum permissible value is -19 |
| * (0x2D). Values less than -19 will lead to unexpected results. Resolution = 2us. |
| * Range = +/- 62us. Max ACKDELAY = 0x1F.Min ACKDELAY = 0x2D. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_ACKDELAY_ACKDELAY field. */ |
| #define ZLL_RD_ACKDELAY_ACKDELAY(base) ((ZLL_ACKDELAY_REG(base) & ZLL_ACKDELAY_ACKDELAY_MASK) >> ZLL_ACKDELAY_ACKDELAY_SHIFT) |
| #define ZLL_BRD_ACKDELAY_ACKDELAY(base) (BME_UBFX32(&ZLL_ACKDELAY_REG(base), ZLL_ACKDELAY_ACKDELAY_SHIFT, ZLL_ACKDELAY_ACKDELAY_WIDTH)) |
| |
| /*! @brief Set the ACKDELAY field to a new value. */ |
| #define ZLL_WR_ACKDELAY_ACKDELAY(base, value) (ZLL_RMW_ACKDELAY(base, ZLL_ACKDELAY_ACKDELAY_MASK, ZLL_ACKDELAY_ACKDELAY(value))) |
| #define ZLL_BWR_ACKDELAY_ACKDELAY(base, value) (BME_BFI32(&ZLL_ACKDELAY_REG(base), ((uint32_t)(value) << ZLL_ACKDELAY_ACKDELAY_SHIFT), ZLL_ACKDELAY_ACKDELAY_SHIFT, ZLL_ACKDELAY_ACKDELAY_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_ACKDELAY, field TXDELAY[13:8] (RW) |
| * |
| * Provides a fine-tune adjustment of the time delay between post-CCA Rx |
| * warm-down and the beginning of Tx warm-up for an Tx (non-Ack) packet. TXDELAY |
| * register will apply in both SLOTTED and UNSLOTTED modes, but only to T sequences |
| * (e.g., T, TR, and T(R) ), not TxAck operations. This is a two's complement value. |
| * The minimum permissible value is -19 (0x2D). Values less than -19 will lead to |
| * unexpected results. Resolution = 2us. Range = +/- 62us. Max TXDELAY = |
| * 0x1F.Min TXDELAY = 0x2D. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_ACKDELAY_TXDELAY field. */ |
| #define ZLL_RD_ACKDELAY_TXDELAY(base) ((ZLL_ACKDELAY_REG(base) & ZLL_ACKDELAY_TXDELAY_MASK) >> ZLL_ACKDELAY_TXDELAY_SHIFT) |
| #define ZLL_BRD_ACKDELAY_TXDELAY(base) (BME_UBFX32(&ZLL_ACKDELAY_REG(base), ZLL_ACKDELAY_TXDELAY_SHIFT, ZLL_ACKDELAY_TXDELAY_WIDTH)) |
| |
| /*! @brief Set the TXDELAY field to a new value. */ |
| #define ZLL_WR_ACKDELAY_TXDELAY(base, value) (ZLL_RMW_ACKDELAY(base, ZLL_ACKDELAY_TXDELAY_MASK, ZLL_ACKDELAY_TXDELAY(value))) |
| #define ZLL_BWR_ACKDELAY_TXDELAY(base, value) (BME_BFI32(&ZLL_ACKDELAY_REG(base), ((uint32_t)(value) << ZLL_ACKDELAY_TXDELAY_SHIFT), ZLL_ACKDELAY_TXDELAY_SHIFT, ZLL_ACKDELAY_TXDELAY_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_FILTERFAIL_CODE - FILTER FAIL CODE |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_FILTERFAIL_CODE - FILTER FAIL CODE (RW) |
| * |
| * Reset value: 0x00000000U |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_FILTERFAIL_CODE register |
| */ |
| /*@{*/ |
| #define ZLL_RD_FILTERFAIL_CODE(base) (ZLL_FILTERFAIL_CODE_REG(base)) |
| #define ZLL_WR_FILTERFAIL_CODE(base, value) (ZLL_FILTERFAIL_CODE_REG(base) = (value)) |
| #define ZLL_RMW_FILTERFAIL_CODE(base, mask, value) (ZLL_WR_FILTERFAIL_CODE(base, (ZLL_RD_FILTERFAIL_CODE(base) & ~(mask)) | (value))) |
| #define ZLL_SET_FILTERFAIL_CODE(base, value) (BME_OR32(&ZLL_FILTERFAIL_CODE_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_FILTERFAIL_CODE(base, value) (BME_AND32(&ZLL_FILTERFAIL_CODE_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_FILTERFAIL_CODE(base, value) (BME_XOR32(&ZLL_FILTERFAIL_CODE_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_FILTERFAIL_CODE bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_FILTERFAIL_CODE, field FILTERFAIL_CODE[9:0] (RO) |
| * |
| * Code inidicating what condition, or conditions, caused the Packet Processor |
| * to reject the just-received packet. The bits of FILTERFAIL_CODE indicate the |
| * reason for packet rejection according to the table below: FILTERFAIL CODE BIT |
| * REASON FOR FILTERFAIL [0] Fails Stage 1 Frame Length Checking (FL < 5 or FL > |
| * MAXFRAMELENGTH) Note: FL < 3 will not generate an SFD, so this bit will not be |
| * set [1] Fails Stage 1 Section 7.2.1.1.6 or Section 7.2.1.1.8 Checking |
| * (DST_ADDR_MODE or SRC_ADDR_MODE = 1) [2] Fails Stage 1 Section 7.2.1.1.5 Checking |
| * (Illegal PAN_ID_COMPRESSION Usage) [3] Fails Stage 1 Frame Version Checking [4] |
| * Fails Stage 2 Auto-RxAck Checking (Illegal Ack Frame Format in Sequence TR) [5] |
| * Fails Stage 2 Frame Type Checking (Incorrect Frame Filter Bit setting) [6] |
| * Fails Stage 2 Frame Length Checking (Illegal Beacon, Data, or Cmd FL) [7] Fails |
| * Stage 2 Addressing Mode Checking (Illegal Addressing Mode for Beacon, Data, OR |
| * Cmd) [8] Fails Stage 2 Sequence Number Matching (Sequence TR Only) [9] Fails |
| * Stage 2 PAN ID or Address Checking (Beacon, Data, or Cmd) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE field. */ |
| #define ZLL_RD_FILTERFAIL_CODE_FILTERFAIL_CODE(base) ((ZLL_FILTERFAIL_CODE_REG(base) & ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_MASK) >> ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_SHIFT) |
| #define ZLL_BRD_FILTERFAIL_CODE_FILTERFAIL_CODE(base) (BME_UBFX32(&ZLL_FILTERFAIL_CODE_REG(base), ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_SHIFT, ZLL_FILTERFAIL_CODE_FILTERFAIL_CODE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_FILTERFAIL_CODE, field FILTERFAIL_PAN_SEL[15] (RW) |
| * |
| * Values: |
| * - 0b0 - FILTERFAIL_CODE[9:0] will report the FILTERFAIL status of PAN0 |
| * - 0b1 - FILTERFAIL_CODE[9:0] will report the FILTERFAIL status of PAN1 |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL field. */ |
| #define ZLL_RD_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL(base) ((ZLL_FILTERFAIL_CODE_REG(base) & ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_MASK) >> ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_SHIFT) |
| #define ZLL_BRD_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL(base) (BME_UBFX32(&ZLL_FILTERFAIL_CODE_REG(base), ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_SHIFT, ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_WIDTH)) |
| |
| /*! @brief Set the FILTERFAIL_PAN_SEL field to a new value. */ |
| #define ZLL_WR_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL(base, value) (ZLL_RMW_FILTERFAIL_CODE(base, ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_MASK, ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL(value))) |
| #define ZLL_BWR_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL(base, value) (BME_BFI32(&ZLL_FILTERFAIL_CODE_REG(base), ((uint32_t)(value) << ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_SHIFT), ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_SHIFT, ZLL_FILTERFAIL_CODE_FILTERFAIL_PAN_SEL_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_RX_WTR_MARK - RECEIVE WATER MARK |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_RX_WTR_MARK - RECEIVE WATER MARK (RW) |
| * |
| * Reset value: 0x000000FFU |
| * |
| * Receive byte count (octets) needed to trigger a RXWTRMRKIRQ interrupt . A |
| * setting of 0 generates an interrupt at end of the Frame Length field (first byte |
| * after SFD). A setting of 1 generates an interrupt after the first byte of |
| * Frame Control Field, etc. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_RX_WTR_MARK register |
| */ |
| /*@{*/ |
| #define ZLL_RD_RX_WTR_MARK(base) (ZLL_RX_WTR_MARK_REG(base)) |
| #define ZLL_WR_RX_WTR_MARK(base, value) (ZLL_RX_WTR_MARK_REG(base) = (value)) |
| #define ZLL_RMW_RX_WTR_MARK(base, mask, value) (ZLL_WR_RX_WTR_MARK(base, (ZLL_RD_RX_WTR_MARK(base) & ~(mask)) | (value))) |
| #define ZLL_SET_RX_WTR_MARK(base, value) (BME_OR32(&ZLL_RX_WTR_MARK_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_RX_WTR_MARK(base, value) (BME_AND32(&ZLL_RX_WTR_MARK_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_RX_WTR_MARK(base, value) (BME_XOR32(&ZLL_RX_WTR_MARK_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_RX_WTR_MARK bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_RX_WTR_MARK, field RX_WTR_MARK[7:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_RX_WTR_MARK_RX_WTR_MARK field. */ |
| #define ZLL_RD_RX_WTR_MARK_RX_WTR_MARK(base) ((ZLL_RX_WTR_MARK_REG(base) & ZLL_RX_WTR_MARK_RX_WTR_MARK_MASK) >> ZLL_RX_WTR_MARK_RX_WTR_MARK_SHIFT) |
| #define ZLL_BRD_RX_WTR_MARK_RX_WTR_MARK(base) (BME_UBFX32(&ZLL_RX_WTR_MARK_REG(base), ZLL_RX_WTR_MARK_RX_WTR_MARK_SHIFT, ZLL_RX_WTR_MARK_RX_WTR_MARK_WIDTH)) |
| |
| /*! @brief Set the RX_WTR_MARK field to a new value. */ |
| #define ZLL_WR_RX_WTR_MARK_RX_WTR_MARK(base, value) (ZLL_RMW_RX_WTR_MARK(base, ZLL_RX_WTR_MARK_RX_WTR_MARK_MASK, ZLL_RX_WTR_MARK_RX_WTR_MARK(value))) |
| #define ZLL_BWR_RX_WTR_MARK_RX_WTR_MARK(base, value) (BME_BFI32(&ZLL_RX_WTR_MARK_REG(base), ((uint32_t)(value) << ZLL_RX_WTR_MARK_RX_WTR_MARK_SHIFT), ZLL_RX_WTR_MARK_RX_WTR_MARK_SHIFT, ZLL_RX_WTR_MARK_RX_WTR_MARK_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_SLOT_PRELOAD - SLOT PRELOAD |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_SLOT_PRELOAD - SLOT PRELOAD (RW) |
| * |
| * Reset value: 0x00000074U |
| * |
| * This register represents the number that gets loaded into the slot_timer at |
| * SFD detect, which ultimately determines when the next slot boundary will occur. |
| * Due to processing delays within the analog front-end and digital modem, the |
| * point at which SFD is detected by the modem, is delayed relative to |
| * over-the-air timing. Since this timing may not be known for coconino until actual |
| * silicon, and since this is such a critical timing parameter for slotted operations, |
| * it has been made programmable. This timing parameter is critical for the |
| * Sequence R autosequence in slotted mode, when an automatic TxAck is required. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_SLOT_PRELOAD register |
| */ |
| /*@{*/ |
| #define ZLL_RD_SLOT_PRELOAD(base) (ZLL_SLOT_PRELOAD_REG(base)) |
| #define ZLL_WR_SLOT_PRELOAD(base, value) (ZLL_SLOT_PRELOAD_REG(base) = (value)) |
| #define ZLL_RMW_SLOT_PRELOAD(base, mask, value) (ZLL_WR_SLOT_PRELOAD(base, (ZLL_RD_SLOT_PRELOAD(base) & ~(mask)) | (value))) |
| #define ZLL_SET_SLOT_PRELOAD(base, value) (BME_OR32(&ZLL_SLOT_PRELOAD_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_SLOT_PRELOAD(base, value) (BME_AND32(&ZLL_SLOT_PRELOAD_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_SLOT_PRELOAD(base, value) (BME_XOR32(&ZLL_SLOT_PRELOAD_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_SLOT_PRELOAD bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_SLOT_PRELOAD, field SLOT_PRELOAD[7:0] (RW) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SLOT_PRELOAD_SLOT_PRELOAD field. */ |
| #define ZLL_RD_SLOT_PRELOAD_SLOT_PRELOAD(base) ((ZLL_SLOT_PRELOAD_REG(base) & ZLL_SLOT_PRELOAD_SLOT_PRELOAD_MASK) >> ZLL_SLOT_PRELOAD_SLOT_PRELOAD_SHIFT) |
| #define ZLL_BRD_SLOT_PRELOAD_SLOT_PRELOAD(base) (BME_UBFX32(&ZLL_SLOT_PRELOAD_REG(base), ZLL_SLOT_PRELOAD_SLOT_PRELOAD_SHIFT, ZLL_SLOT_PRELOAD_SLOT_PRELOAD_WIDTH)) |
| |
| /*! @brief Set the SLOT_PRELOAD field to a new value. */ |
| #define ZLL_WR_SLOT_PRELOAD_SLOT_PRELOAD(base, value) (ZLL_RMW_SLOT_PRELOAD(base, ZLL_SLOT_PRELOAD_SLOT_PRELOAD_MASK, ZLL_SLOT_PRELOAD_SLOT_PRELOAD(value))) |
| #define ZLL_BWR_SLOT_PRELOAD_SLOT_PRELOAD(base, value) (BME_BFI32(&ZLL_SLOT_PRELOAD_REG(base), ((uint32_t)(value) << ZLL_SLOT_PRELOAD_SLOT_PRELOAD_SHIFT), ZLL_SLOT_PRELOAD_SLOT_PRELOAD_SHIFT, ZLL_SLOT_PRELOAD_SLOT_PRELOAD_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_SEQ_STATE - ZIGBEE SEQUENCE STATE |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_SEQ_STATE - ZIGBEE SEQUENCE STATE (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Zigbee Sequence State Register |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_SEQ_STATE register |
| */ |
| /*@{*/ |
| #define ZLL_RD_SEQ_STATE(base) (ZLL_SEQ_STATE_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_SEQ_STATE bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_SEQ_STATE, field SEQ_STATE[4:0] (RO) |
| * |
| * This read-only register reflects the instantaneous state of the Zigbee |
| * Sequence Manager |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_STATE_SEQ_STATE field. */ |
| #define ZLL_RD_SEQ_STATE_SEQ_STATE(base) ((ZLL_SEQ_STATE_REG(base) & ZLL_SEQ_STATE_SEQ_STATE_MASK) >> ZLL_SEQ_STATE_SEQ_STATE_SHIFT) |
| #define ZLL_BRD_SEQ_STATE_SEQ_STATE(base) (BME_UBFX32(&ZLL_SEQ_STATE_REG(base), ZLL_SEQ_STATE_SEQ_STATE_SHIFT, ZLL_SEQ_STATE_SEQ_STATE_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_STATE, field PREAMBLE_DET[8] (RO) |
| * |
| * 0: an 802.15.4 preamble has not been detected. 1: An 802.15.4 preamble has |
| * been detected. The function of this read-only bit depends on the setting of the |
| * LATCH_PREAMBLE bit of the SEQ_MGR_CTRL register. If LATCH_PREAMBLE=1, any |
| * preamble detection during a Sequence R (even false detections), will set this bit, |
| * and it will remain set (sticky) until the start of the next autosequence. If |
| * LATCH_PREAMBLE=0, this bit is not sticky, and reflects the instantaneous state |
| * of the preamble-detection circuit; for false preambles, the bit will clear |
| * when the false nature of the preamble is recognized. When LATCH_PREAMBLE=0, |
| * PREAMBLE_DET should be considered valid only while an autosequence is underway. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_STATE_PREAMBLE_DET field. */ |
| #define ZLL_RD_SEQ_STATE_PREAMBLE_DET(base) ((ZLL_SEQ_STATE_REG(base) & ZLL_SEQ_STATE_PREAMBLE_DET_MASK) >> ZLL_SEQ_STATE_PREAMBLE_DET_SHIFT) |
| #define ZLL_BRD_SEQ_STATE_PREAMBLE_DET(base) (BME_UBFX32(&ZLL_SEQ_STATE_REG(base), ZLL_SEQ_STATE_PREAMBLE_DET_SHIFT, ZLL_SEQ_STATE_PREAMBLE_DET_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_STATE, field SFD_DET[9] (RO) |
| * |
| * 0: an 802.15.4 preamble-and-SFD have not been detected. 1: An 802.15.4 |
| * preamble-and-SFD have been detected. The function of this read-only bit depends on |
| * the setting of the LATCH_PREAMBLE bit of the SEQ_MGR_CTRL register. If |
| * LATCH_PREAMBLE=1, any preamble-and-SFD detection during a Sequence R (even false |
| * detections), will set this bit, and it will remain set (sticky) until the start of |
| * the next autosequence. If LATCH_PREAMBLE=0, this bit is not sticky, and |
| * reflects the instantaneous state of the SFD-detection circuit; for false SFD, the |
| * bit will clear when the false nature of the SFD is recognized (i.e., an RX |
| * recycle). When LATCH_PREAMBLE=0, SFD_DET should be considered valid only while an |
| * autosequence is underway. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_STATE_SFD_DET field. */ |
| #define ZLL_RD_SEQ_STATE_SFD_DET(base) ((ZLL_SEQ_STATE_REG(base) & ZLL_SEQ_STATE_SFD_DET_MASK) >> ZLL_SEQ_STATE_SFD_DET_SHIFT) |
| #define ZLL_BRD_SEQ_STATE_SFD_DET(base) (BME_UBFX32(&ZLL_SEQ_STATE_REG(base), ZLL_SEQ_STATE_SFD_DET_SHIFT, ZLL_SEQ_STATE_SFD_DET_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_STATE, field FILTERFAIL_FLAG_SEL[10] (RO) |
| * |
| * 0: The incoming, or just-received packet, passed packet filtering rules. 1: |
| * The incoming, or just-received packet, failed packet filtering rules When |
| * FILTERFAIL_FLAG_SEL=1, a non-zero FILTERFAIL_CODE is present (see FILTERFAIL_CODE |
| * registers). In Dual PAN mode, FILTERFAIL_FLAG_SEL applies to either or both |
| * networks, as follows: A: If PAN0 and PAN1 occupy different channels and |
| * CURRENT_NETWORK=0, FILTERFAIL_FLAG_SEL applies to PAN0. B: If PAN0 and PAN1 occupy |
| * different channels and CURRENT_NETWORK=1, FILTERFAIL_FLAG_SEL applies to PAN1. C: |
| * If PAN0 and PAN1 occupy the same channel, FILTERFAIL_FLAG_SEL is the logical |
| * 'AND' of the individual PANs' FILTERFAIL_FLAG bits. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL field. */ |
| #define ZLL_RD_SEQ_STATE_FILTERFAIL_FLAG_SEL(base) ((ZLL_SEQ_STATE_REG(base) & ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL_MASK) >> ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL_SHIFT) |
| #define ZLL_BRD_SEQ_STATE_FILTERFAIL_FLAG_SEL(base) (BME_UBFX32(&ZLL_SEQ_STATE_REG(base), ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL_SHIFT, ZLL_SEQ_STATE_FILTERFAIL_FLAG_SEL_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_STATE, field CRCVALID[11] (RO) |
| * |
| * Code Redundancy Check Valid: This flag indicates the compare result between |
| * the FCS field, in the most-recently received frame, and the internally |
| * calculated CRC value. This flag is cleared at next receiver warm up. |
| * |
| * Values: |
| * - 0b0 - Rx FCS != calculated CRC (incorrect) |
| * - 0b1 - Rx FCS = calculated CRC (correct) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_STATE_CRCVALID field. */ |
| #define ZLL_RD_SEQ_STATE_CRCVALID(base) ((ZLL_SEQ_STATE_REG(base) & ZLL_SEQ_STATE_CRCVALID_MASK) >> ZLL_SEQ_STATE_CRCVALID_SHIFT) |
| #define ZLL_BRD_SEQ_STATE_CRCVALID(base) (BME_UBFX32(&ZLL_SEQ_STATE_REG(base), ZLL_SEQ_STATE_CRCVALID_SHIFT, ZLL_SEQ_STATE_CRCVALID_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_STATE, field PLL_ABORT[12] (RO) |
| * |
| * This bit reflects the instantaneous, consolidated status of the PLL unlock |
| * detection circuits; if asserted high, indicates that at least one of the three |
| * PLL unlock detect mechanisms is currently reporting an unlocked condition. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_STATE_PLL_ABORT field. */ |
| #define ZLL_RD_SEQ_STATE_PLL_ABORT(base) ((ZLL_SEQ_STATE_REG(base) & ZLL_SEQ_STATE_PLL_ABORT_MASK) >> ZLL_SEQ_STATE_PLL_ABORT_SHIFT) |
| #define ZLL_BRD_SEQ_STATE_PLL_ABORT(base) (BME_UBFX32(&ZLL_SEQ_STATE_REG(base), ZLL_SEQ_STATE_PLL_ABORT_SHIFT, ZLL_SEQ_STATE_PLL_ABORT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_STATE, field PLL_ABORTED[13] (RO) |
| * |
| * when asserted, indicates that the autosequence has terminated due to an PLL |
| * unlock event. This bit is valid at the SEQIRQ interrupt. Hardware will maintain |
| * this bit asserted until the next autosequence commences. This bit is a |
| * read-only mirror of the register bit of the same name in the ABORT_STS |
| * (SEQ_CTRL_STS) register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_STATE_PLL_ABORTED field. */ |
| #define ZLL_RD_SEQ_STATE_PLL_ABORTED(base) ((ZLL_SEQ_STATE_REG(base) & ZLL_SEQ_STATE_PLL_ABORTED_MASK) >> ZLL_SEQ_STATE_PLL_ABORTED_SHIFT) |
| #define ZLL_BRD_SEQ_STATE_PLL_ABORTED(base) (BME_UBFX32(&ZLL_SEQ_STATE_REG(base), ZLL_SEQ_STATE_PLL_ABORTED_SHIFT, ZLL_SEQ_STATE_PLL_ABORTED_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_STATE, field RX_BYTE_COUNT[23:16] (RO) |
| * |
| * During packet reception, this read-only register is a real-time indicator of |
| * the number of bytes that have been received. This register will read 0 until |
| * SFD and PHR have been received. It will read 1 after the first byte of Frame |
| * Control Field has been received, etc. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_STATE_RX_BYTE_COUNT field. */ |
| #define ZLL_RD_SEQ_STATE_RX_BYTE_COUNT(base) ((ZLL_SEQ_STATE_REG(base) & ZLL_SEQ_STATE_RX_BYTE_COUNT_MASK) >> ZLL_SEQ_STATE_RX_BYTE_COUNT_SHIFT) |
| #define ZLL_BRD_SEQ_STATE_RX_BYTE_COUNT(base) (BME_UBFX32(&ZLL_SEQ_STATE_REG(base), ZLL_SEQ_STATE_RX_BYTE_COUNT_SHIFT, ZLL_SEQ_STATE_RX_BYTE_COUNT_WIDTH)) |
| /*@}*/ |
| |
| /*! |
| * @name Register ZLL_SEQ_STATE, field CCCA_BUSY_CNT[29:24] (RO) |
| * |
| * For Sequence CCCA mode only, this register indicates the number of "busy" CCA |
| * attempts which occurred during the autosequence, before the channel was |
| * detected to be idle. This register can also be read in real-time (during the |
| * autosequence) to determine how many busy CCA attempts have occurred to that point. |
| * The register saturates at 63 (i.e, if there are more than 63 busy attempts, the |
| * register will continue to read 63). This register is automatically cleared to |
| * zero by hardware when the next autosequence commences. Read-only register. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_SEQ_STATE_CCCA_BUSY_CNT field. */ |
| #define ZLL_RD_SEQ_STATE_CCCA_BUSY_CNT(base) ((ZLL_SEQ_STATE_REG(base) & ZLL_SEQ_STATE_CCCA_BUSY_CNT_MASK) >> ZLL_SEQ_STATE_CCCA_BUSY_CNT_SHIFT) |
| #define ZLL_BRD_SEQ_STATE_CCCA_BUSY_CNT(base) (BME_UBFX32(&ZLL_SEQ_STATE_REG(base), ZLL_SEQ_STATE_CCCA_BUSY_CNT_SHIFT, ZLL_SEQ_STATE_CCCA_BUSY_CNT_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_TMR_PRESCALE - TIMER PRESCALER |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_TMR_PRESCALE - TIMER PRESCALER (RW) |
| * |
| * Reset value: 0x00000003U |
| * |
| * Timer Prescaler |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_TMR_PRESCALE register |
| */ |
| /*@{*/ |
| #define ZLL_RD_TMR_PRESCALE(base) (ZLL_TMR_PRESCALE_REG(base)) |
| #define ZLL_WR_TMR_PRESCALE(base, value) (ZLL_TMR_PRESCALE_REG(base) = (value)) |
| #define ZLL_RMW_TMR_PRESCALE(base, mask, value) (ZLL_WR_TMR_PRESCALE(base, (ZLL_RD_TMR_PRESCALE(base) & ~(mask)) | (value))) |
| #define ZLL_SET_TMR_PRESCALE(base, value) (BME_OR32(&ZLL_TMR_PRESCALE_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_TMR_PRESCALE(base, value) (BME_AND32(&ZLL_TMR_PRESCALE_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_TMR_PRESCALE(base, value) (BME_XOR32(&ZLL_TMR_PRESCALE_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_TMR_PRESCALE bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_TMR_PRESCALE, field TMR_PRESCALE[2:0] (RW) |
| * |
| * Timer Prescaler. Establishes the Event Timer clock rate, (maximum timer |
| * duration) |
| * |
| * Values: |
| * - 0b000 - Reserved |
| * - 0b001 - Reserved |
| * - 0b010 - 500kHz (33.55 S) |
| * - 0b011 - 250kHz (67.11 S) -- default |
| * - 0b100 - 125kHz (134.22 S) |
| * - 0b101 - 62.5kHz (268.44 S) |
| * - 0b110 - 31.25kHz (536.87 S) |
| * - 0b111 - 15.625kHz (1073.74 S) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_TMR_PRESCALE_TMR_PRESCALE field. */ |
| #define ZLL_RD_TMR_PRESCALE_TMR_PRESCALE(base) ((ZLL_TMR_PRESCALE_REG(base) & ZLL_TMR_PRESCALE_TMR_PRESCALE_MASK) >> ZLL_TMR_PRESCALE_TMR_PRESCALE_SHIFT) |
| #define ZLL_BRD_TMR_PRESCALE_TMR_PRESCALE(base) (BME_UBFX32(&ZLL_TMR_PRESCALE_REG(base), ZLL_TMR_PRESCALE_TMR_PRESCALE_SHIFT, ZLL_TMR_PRESCALE_TMR_PRESCALE_WIDTH)) |
| |
| /*! @brief Set the TMR_PRESCALE field to a new value. */ |
| #define ZLL_WR_TMR_PRESCALE_TMR_PRESCALE(base, value) (ZLL_RMW_TMR_PRESCALE(base, ZLL_TMR_PRESCALE_TMR_PRESCALE_MASK, ZLL_TMR_PRESCALE_TMR_PRESCALE(value))) |
| #define ZLL_BWR_TMR_PRESCALE_TMR_PRESCALE(base, value) (BME_BFI32(&ZLL_TMR_PRESCALE_REG(base), ((uint32_t)(value) << ZLL_TMR_PRESCALE_TMR_PRESCALE_SHIFT), ZLL_TMR_PRESCALE_TMR_PRESCALE_SHIFT, ZLL_TMR_PRESCALE_TMR_PRESCALE_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_LENIENCY_LSB - LENIENCY LSB |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_LENIENCY_LSB - LENIENCY LSB (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Packet Processor performs filtering on all received packets, in order to |
| * determine whether the packet is intended for the device. The packet filtering |
| * is based on rules. In case any of the packet filtering rules need to be |
| * overriden, a 40-bit "leniency register" has been provided. When the leniency |
| * register is programmed to its default value (0), all hardware packet filtering rules |
| * are in effect, and if an incoming packet violates any rule, a "Filter Fail" |
| * will occur (packet will be rejected). When a given leniency register bit is |
| * asserted, the packet filtering rule assigned to that bit will not be in effect, |
| * and if any incoming packet violates that rule (but no other rules), then a |
| * "Filter Fail" will not occur, the packet will not be rejected, the packet will be |
| * treated as "intended for the device", and software will be notified of the |
| * incoming packet. The table below shows the assignment of leniency bits to packet |
| * filtering rules. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_LENIENCY_LSB register |
| */ |
| /*@{*/ |
| #define ZLL_RD_LENIENCY_LSB(base) (ZLL_LENIENCY_LSB_REG(base)) |
| #define ZLL_WR_LENIENCY_LSB(base, value) (ZLL_LENIENCY_LSB_REG(base) = (value)) |
| #define ZLL_RMW_LENIENCY_LSB(base, mask, value) (ZLL_WR_LENIENCY_LSB(base, (ZLL_RD_LENIENCY_LSB(base) & ~(mask)) | (value))) |
| #define ZLL_SET_LENIENCY_LSB(base, value) (BME_OR32(&ZLL_LENIENCY_LSB_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_LENIENCY_LSB(base, value) (BME_AND32(&ZLL_LENIENCY_LSB_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_LENIENCY_LSB(base, value) (BME_XOR32(&ZLL_LENIENCY_LSB_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_LENIENCY_MSB - LENIENCY MSB |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_LENIENCY_MSB - LENIENCY MSB (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * The Packet Processor performs filtering on all received packets, in order to |
| * determine whether the packet is intended for the device. The packet filtering |
| * is based on rules. In case any of the packet filtering rules need to be |
| * overriden, a 40-bit "leniency register" has been provided. When the leniency |
| * register is programmed to its default value (0), all hardware packet filtering rules |
| * are in effect, and if an incoming packet violates any rule, a "Filter Fail" |
| * will occur (packet will be rejected). When a given leniency register bit is |
| * asserted, the packet filtering rule assigned to that bit will not be in effect, |
| * and if any incoming packet violates that rule (but no other rules), then a |
| * "Filter Fail" will not occur, the packet will not be rejected, the packet will be |
| * treated as "intended for the device", and software will be notified of the |
| * incoming packet. The table below shows the assignment of leniency bits to packet |
| * filtering rules. |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_LENIENCY_MSB register |
| */ |
| /*@{*/ |
| #define ZLL_RD_LENIENCY_MSB(base) (ZLL_LENIENCY_MSB_REG(base)) |
| #define ZLL_WR_LENIENCY_MSB(base, value) (ZLL_LENIENCY_MSB_REG(base) = (value)) |
| #define ZLL_RMW_LENIENCY_MSB(base, mask, value) (ZLL_WR_LENIENCY_MSB(base, (ZLL_RD_LENIENCY_MSB(base) & ~(mask)) | (value))) |
| #define ZLL_SET_LENIENCY_MSB(base, value) (BME_OR32(&ZLL_LENIENCY_MSB_REG(base), (uint32_t)(value))) |
| #define ZLL_CLR_LENIENCY_MSB(base, value) (BME_AND32(&ZLL_LENIENCY_MSB_REG(base), (uint32_t)(~(value)))) |
| #define ZLL_TOG_LENIENCY_MSB(base, value) (BME_XOR32(&ZLL_LENIENCY_MSB_REG(base), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_LENIENCY_MSB bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_LENIENCY_MSB, field LENIENCY_REGISTER[7:0] (RW) |
| * |
| * LENIENCY BIT PACKET FILTERING RULE OVERRIDDEN leniency[32] Override Stage 2 |
| * Short Addr Filter for |
| * DST_ADDR_MODE_SHORT/SRC_ADDR_MODE_LONG/NO_PAN_ID_COMPRESSION (Data and MAC Command Only) leniency[33] Override Stage 2 PAN ID Filter |
| * for DST_ADDR_MODE_LONG/SRC_ADDR_MODE_SHORT/NO_PAN_ID_COMPRESSION (Beacon Only) |
| * leniency[34] Override Stage 2 PAN ID Filter for |
| * DST_ADDR_MODE_LONG/SRC_ADDR_MODE_SHORT/NO_PAN_ID_COMPRESSI ON (Data and MAC Command Only) leniency[35] |
| * Override Stage 2 Long Addr Filter for |
| * DST_ADDR_MODE_LONG/SRC_ADDR_MODE_SHORT/NO_PAN_ID_COMPRESSION (Data and MAC Command Only) leniency[36] Override Stage 2 PAN |
| * ID Filter for DST_ADDR_MODE_LONG/SRC_ADDR_MODE_LONG (Beacon Only) leniency[37] |
| * Override Stage 2 PAN ID Filter for DST_ADDR_MODE_LONG/SRC_ADDR_MODE_LONG (Data |
| * and MAC Command Only) leniency[38] Override Stage 2 Long Addr Filter for |
| * DST_ADDR_MODE_LONG/SRC_ADDR_MODE_LONG (Data and MAC Command Only) leniency[39] |
| * Allow an auto-TxAck frame to be sent, after a receive frame which has all of the |
| * following parameters: 1. Destination PAN ID = Broadcast (0xFFFF) 2. |
| * Destination Address = !Broadcast (not 0xFFFF) 3. Destination Address Mode = Short |
| * Nominally, the SEQ_MGR inhibits auto-TxAck on such frames. |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_LENIENCY_MSB_LENIENCY_REGISTER field. */ |
| #define ZLL_RD_LENIENCY_MSB_LENIENCY_REGISTER(base) ((ZLL_LENIENCY_MSB_REG(base) & ZLL_LENIENCY_MSB_LENIENCY_REGISTER_MASK) >> ZLL_LENIENCY_MSB_LENIENCY_REGISTER_SHIFT) |
| #define ZLL_BRD_LENIENCY_MSB_LENIENCY_REGISTER(base) (BME_UBFX32(&ZLL_LENIENCY_MSB_REG(base), ZLL_LENIENCY_MSB_LENIENCY_REGISTER_SHIFT, ZLL_LENIENCY_MSB_LENIENCY_REGISTER_WIDTH)) |
| |
| /*! @brief Set the LENIENCY_REGISTER field to a new value. */ |
| #define ZLL_WR_LENIENCY_MSB_LENIENCY_REGISTER(base, value) (ZLL_RMW_LENIENCY_MSB(base, ZLL_LENIENCY_MSB_LENIENCY_REGISTER_MASK, ZLL_LENIENCY_MSB_LENIENCY_REGISTER(value))) |
| #define ZLL_BWR_LENIENCY_MSB_LENIENCY_REGISTER(base, value) (BME_BFI32(&ZLL_LENIENCY_MSB_REG(base), ((uint32_t)(value) << ZLL_LENIENCY_MSB_LENIENCY_REGISTER_SHIFT), ZLL_LENIENCY_MSB_LENIENCY_REGISTER_SHIFT, ZLL_LENIENCY_MSB_LENIENCY_REGISTER_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_PART_ID - PART ID |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_PART_ID - PART ID (RO) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Zigbee Part ID |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_PART_ID register |
| */ |
| /*@{*/ |
| #define ZLL_RD_PART_ID(base) (ZLL_PART_ID_REG(base)) |
| /*@}*/ |
| |
| /* |
| * Constants & macros for individual ZLL_PART_ID bitfields |
| */ |
| |
| /*! |
| * @name Register ZLL_PART_ID, field PART_ID[7:0] (RO) |
| */ |
| /*@{*/ |
| /*! @brief Read current value of the ZLL_PART_ID_PART_ID field. */ |
| #define ZLL_RD_PART_ID_PART_ID(base) ((ZLL_PART_ID_REG(base) & ZLL_PART_ID_PART_ID_MASK) >> ZLL_PART_ID_PART_ID_SHIFT) |
| #define ZLL_BRD_PART_ID_PART_ID(base) (BME_UBFX32(&ZLL_PART_ID_REG(base), ZLL_PART_ID_PART_ID_SHIFT, ZLL_PART_ID_PART_ID_WIDTH)) |
| /*@}*/ |
| |
| /******************************************************************************* |
| * ZLL_PKT_BUFFER - PACKET BUFFER |
| ******************************************************************************/ |
| |
| /*! |
| * @brief ZLL_PKT_BUFFER - PACKET BUFFER (RW) |
| * |
| * Reset value: 0x00000000U |
| * |
| * Packet Buffer |
| */ |
| /*! |
| * @name Constants and macros for entire ZLL_PKT_BUFFER register |
| */ |
| /*@{*/ |
| #define ZLL_RD_PKT_BUFFER(base, index) (ZLL_PKT_BUFFER_REG(base, index)) |
| #define ZLL_WR_PKT_BUFFER(base, index, value) (ZLL_PKT_BUFFER_REG(base, index) = (value)) |
| #define ZLL_RMW_PKT_BUFFER(base, index, mask, value) (ZLL_WR_PKT_BUFFER(base, index, (ZLL_RD_PKT_BUFFER(base, index) & ~(mask)) | (value))) |
| #define ZLL_SET_PKT_BUFFER(base, index, value) (BME_OR32(&ZLL_PKT_BUFFER_REG(base, index), (uint32_t)(value))) |
| #define ZLL_CLR_PKT_BUFFER(base, index, value) (BME_AND32(&ZLL_PKT_BUFFER_REG(base, index), (uint32_t)(~(value)))) |
| #define ZLL_TOG_PKT_BUFFER(base, index, value) (BME_XOR32(&ZLL_PKT_BUFFER_REG(base, index), (uint32_t)(value))) |
| /*@}*/ |
| |
| /* Instance numbers for core modules */ |
| #define JTAG_IDX (0) /*!< Instance number for JTAG. */ |
| #define TPIU_IDX (0) /*!< Instance number for TPIU. */ |
| #define SCB_IDX (0) /*!< Instance number for SCB. */ |
| #define SWD_IDX (0) /*!< Instance number for SWD. */ |
| #define RADIO_IDX (0) /*!< Instance number for RADIO. */ |
| #define ZigBee_IDX (0) /*!< Instance number for ZigBee. */ |
| #define CoreDebug_IDX (0) /*!< Instance number for CoreDebug. */ |
| |
| #if defined(__IAR_SYSTEMS_ICC__) |
| /* Restore checking of "Error[Pm008]: sections of code should not be 'commented out' (MISRA C 2004 rule 2.4)" */ |
| #pragma diag_default=pm008 |
| #endif |
| |
| #endif /* __MKW40Z4_EXTENSION_H__ */ |
| /* EOF */ |