/* * Copyright (c) 2012, Freescale Semiconductor, Inc. * All rights reserved. * * THIS SOFTWARE IS PROVIDED BY FREESCALE "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 FREESCALE 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. */ /* * WARNING! DO NOT EDIT THIS FILE DIRECTLY! * * This file was generated automatically and any changes may be lost. */ #ifndef __HW_XTALOSC24M_REGISTERS_H__ #define __HW_XTALOSC24M_REGISTERS_H__ #include "regs.h" /* * i.MX6DQ XTALOSC24M * * XTALOSC24M * * Registers defined in this header file: * - HW_XTALOSC24M_MISC0 - Miscellaneous Register 0 * * - hw_xtalosc24m_t - Struct containing all module registers. */ //! @name Module base addresses //@{ #ifndef REGS_XTALOSC24M_BASE #define HW_XTALOSC24M_INSTANCE_COUNT (1) //!< Number of instances of the XTALOSC24M module. #define REGS_XTALOSC24M_BASE (0x020c8000) //!< Base address for XTALOSC24M. #endif //@} //------------------------------------------------------------------------------------------- // HW_XTALOSC24M_MISC0 - Miscellaneous Register 0 //------------------------------------------------------------------------------------------- #ifndef __LANGUAGE_ASM__ /*! * @brief HW_XTALOSC24M_MISC0 - Miscellaneous Register 0 (RW) * * Reset value: 0x04000000 * * This register defines the control and status bits for miscellaneous analog blocks. */ typedef union _hw_xtalosc24m_misc0 { reg32_t U; struct _hw_xtalosc24m_misc0_bitfields { unsigned REFTOP_PWD : 1; //!< [0] Control bit to power-down the analog bandgap reference circuitry. unsigned RESERVED0 : 2; //!< [2:1] Reserved unsigned REFTOP_SELFBIASOFF : 1; //!< [3] Control bit to disable the self-bias circuit in the analog bandgap. unsigned REFTOP_VBGADJ : 3; //!< [6:4] Not related to oscillator. unsigned REFTOP_VBGUP : 1; //!< [7] Status bit which signals that the analog bandgap voltage is up and stable. unsigned RESERVED1 : 4; //!< [11:8] Reserved unsigned STOP_MODE_CONFIG : 1; //!< [12] Configure the analog behavior in stop mode. unsigned RESERVED2 : 1; //!< [13] Reserved. unsigned OSC_I : 2; //!< [15:14] This bit field determines the bias current in the 24MHz oscillator. unsigned OSC_XTALOK : 1; //!< [16] Status bit which signals that the output of the 24MHz crystal oscillator is stable. unsigned OSC_XTALOK_EN : 1; //!< [17] Enable bit for the xtal_ok module(24 MHz) unsigned WBCP_VPW_THRESH : 2; //!< [19:18] This signal alters the voltage that the pwell is charged pumped to. unsigned RESERVED3 : 5; //!< [24:20] Reserved. unsigned CLKGATE_CTRL : 1; //!< [25] This bit allows disabling the clock gate (always un-gated) for the xtal 24MHz clock that clocks the digital logic in the analog block. unsigned CLKGATE_DELAY : 3; //!< [28:26] This field specifies the delay between powering up the XTAL 24MHz clock and release the clock to the digital logic inside the analog block. unsigned RESERVED4 : 3; //!< [31:29] Reserved } B; } hw_xtalosc24m_misc0_t; #endif /*! * @name Constants and macros for entire XTALOSC24M_MISC0 register */ //@{ #define HW_XTALOSC24M_MISC0_ADDR (REGS_XTALOSC24M_BASE + 0x150) #ifndef __LANGUAGE_ASM__ #define HW_XTALOSC24M_MISC0 (*(volatile hw_xtalosc24m_misc0_t *) HW_XTALOSC24M_MISC0_ADDR) #define HW_XTALOSC24M_MISC0_RD() (HW_XTALOSC24M_MISC0.U) #define HW_XTALOSC24M_MISC0_WR(v) (HW_XTALOSC24M_MISC0.U = (v)) #define HW_XTALOSC24M_MISC0_SET(v) (HW_XTALOSC24M_MISC0_WR(HW_XTALOSC24M_MISC0_RD() | (v))) #define HW_XTALOSC24M_MISC0_CLR(v) (HW_XTALOSC24M_MISC0_WR(HW_XTALOSC24M_MISC0_RD() & ~(v))) #define HW_XTALOSC24M_MISC0_TOG(v) (HW_XTALOSC24M_MISC0_WR(HW_XTALOSC24M_MISC0_RD() ^ (v))) #endif //@} /* * constants & macros for individual XTALOSC24M_MISC0 bitfields */ /*! @name Register XTALOSC24M_MISC0, field REFTOP_PWD[0] (RW) * * Control bit to power-down the analog bandgap reference circuitry. Not related to oscillator. * CAUTION - The bandgap reference is necessary for correct operation of most of the LDOs, PLLs, and * other analog functions on the die. * * Values: * - 0 - Bandgap reference is enabled. * - 1 - Bandgap reference is disabled. Current consumption is removed from the supply via internal * configuration. */ //@{ #define BP_XTALOSC24M_MISC0_REFTOP_PWD (0) //!< Bit position for XTALOSC24M_MISC0_REFTOP_PWD. #define BM_XTALOSC24M_MISC0_REFTOP_PWD (0x00000001) //!< Bit mask for XTALOSC24M_MISC0_REFTOP_PWD. //! @brief Get value of XTALOSC24M_MISC0_REFTOP_PWD from a register value. #define BG_XTALOSC24M_MISC0_REFTOP_PWD(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_REFTOP_PWD) >> BP_XTALOSC24M_MISC0_REFTOP_PWD) //! @brief Format value for bitfield XTALOSC24M_MISC0_REFTOP_PWD. #define BF_XTALOSC24M_MISC0_REFTOP_PWD(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_XTALOSC24M_MISC0_REFTOP_PWD) & BM_XTALOSC24M_MISC0_REFTOP_PWD) #ifndef __LANGUAGE_ASM__ //! @brief Set the REFTOP_PWD field to a new value. #define BW_XTALOSC24M_MISC0_REFTOP_PWD(v) (HW_XTALOSC24M_MISC0_WR((HW_XTALOSC24M_MISC0_RD() & ~BM_XTALOSC24M_MISC0_REFTOP_PWD) | BF_XTALOSC24M_MISC0_REFTOP_PWD(v))) #endif //@} /*! @name Register XTALOSC24M_MISC0, field REFTOP_SELFBIASOFF[3] (RW) * * Control bit to disable the self-bias circuit in the analog bandgap. The self-bias circuit is used * by the bandgap during startup. This bit should be set after the bandgap has stabilized and is * necessary for best noise performance of analog blocks using the outputs of the bandgap. Not * related to oscillator. Value should be returned to zero before removing vddhigh_in or asserting * bit 0 of this register (REFTOP_PWD) to assure proper restart of the circuit. * * Values: * - 0 - Uses coarse bias currents for startup * - 1 - Uses bandgap based bias currents for best performance. */ //@{ #define BP_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF (3) //!< Bit position for XTALOSC24M_MISC0_REFTOP_SELFBIASOFF. #define BM_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF (0x00000008) //!< Bit mask for XTALOSC24M_MISC0_REFTOP_SELFBIASOFF. //! @brief Get value of XTALOSC24M_MISC0_REFTOP_SELFBIASOFF from a register value. #define BG_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF) >> BP_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF) //! @brief Format value for bitfield XTALOSC24M_MISC0_REFTOP_SELFBIASOFF. #define BF_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF) & BM_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF) #ifndef __LANGUAGE_ASM__ //! @brief Set the REFTOP_SELFBIASOFF field to a new value. #define BW_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF(v) (HW_XTALOSC24M_MISC0_WR((HW_XTALOSC24M_MISC0_RD() & ~BM_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF) | BF_XTALOSC24M_MISC0_REFTOP_SELFBIASOFF(v))) #endif //@} /*! @name Register XTALOSC24M_MISC0, field REFTOP_VBGADJ[6:4] (RW) * * Not related to oscillator. * * Values: * - 000 - Nominal VBG * - 001 - VBG+0.78% * - 010 - VBG+1.56% * - 011 - VBG+2.34% * - 100 - VBG-0.78% * - 101 - VBG-1.56% * - 110 - VBG-2.34% * - 111 - VBG-3.12% */ //@{ #define BP_XTALOSC24M_MISC0_REFTOP_VBGADJ (4) //!< Bit position for XTALOSC24M_MISC0_REFTOP_VBGADJ. #define BM_XTALOSC24M_MISC0_REFTOP_VBGADJ (0x00000070) //!< Bit mask for XTALOSC24M_MISC0_REFTOP_VBGADJ. //! @brief Get value of XTALOSC24M_MISC0_REFTOP_VBGADJ from a register value. #define BG_XTALOSC24M_MISC0_REFTOP_VBGADJ(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_REFTOP_VBGADJ) >> BP_XTALOSC24M_MISC0_REFTOP_VBGADJ) //! @brief Format value for bitfield XTALOSC24M_MISC0_REFTOP_VBGADJ. #define BF_XTALOSC24M_MISC0_REFTOP_VBGADJ(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_XTALOSC24M_MISC0_REFTOP_VBGADJ) & BM_XTALOSC24M_MISC0_REFTOP_VBGADJ) #ifndef __LANGUAGE_ASM__ //! @brief Set the REFTOP_VBGADJ field to a new value. #define BW_XTALOSC24M_MISC0_REFTOP_VBGADJ(v) (HW_XTALOSC24M_MISC0_WR((HW_XTALOSC24M_MISC0_RD() & ~BM_XTALOSC24M_MISC0_REFTOP_VBGADJ) | BF_XTALOSC24M_MISC0_REFTOP_VBGADJ(v))) #endif //@} /*! @name Register XTALOSC24M_MISC0, field REFTOP_VBGUP[7] (RW) * * Status bit which signals that the analog bandgap voltage is up and stable. 0 - Bandgap voltage * not stable 1- Bandgap voltage stable Not related to oscillator. */ //@{ #define BP_XTALOSC24M_MISC0_REFTOP_VBGUP (7) //!< Bit position for XTALOSC24M_MISC0_REFTOP_VBGUP. #define BM_XTALOSC24M_MISC0_REFTOP_VBGUP (0x00000080) //!< Bit mask for XTALOSC24M_MISC0_REFTOP_VBGUP. //! @brief Get value of XTALOSC24M_MISC0_REFTOP_VBGUP from a register value. #define BG_XTALOSC24M_MISC0_REFTOP_VBGUP(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_REFTOP_VBGUP) >> BP_XTALOSC24M_MISC0_REFTOP_VBGUP) //! @brief Format value for bitfield XTALOSC24M_MISC0_REFTOP_VBGUP. #define BF_XTALOSC24M_MISC0_REFTOP_VBGUP(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_XTALOSC24M_MISC0_REFTOP_VBGUP) & BM_XTALOSC24M_MISC0_REFTOP_VBGUP) #ifndef __LANGUAGE_ASM__ //! @brief Set the REFTOP_VBGUP field to a new value. #define BW_XTALOSC24M_MISC0_REFTOP_VBGUP(v) (HW_XTALOSC24M_MISC0_WR((HW_XTALOSC24M_MISC0_RD() & ~BM_XTALOSC24M_MISC0_REFTOP_VBGUP) | BF_XTALOSC24M_MISC0_REFTOP_VBGUP(v))) #endif //@} /*! @name Register XTALOSC24M_MISC0, field STOP_MODE_CONFIG[12] (RW) * * Configure the analog behavior in stop mode. * * Values: * - 0 - All the analog domain except the RTC is powered down on STOP mode assertion * - 1 - All the analog domain except the LDO_1P1 and LDO_2P5 regulators are powered down on STOP mode * assertion. If required the CCM can be configured to not power down the oscillator (XTALOSC). */ //@{ #define BP_XTALOSC24M_MISC0_STOP_MODE_CONFIG (12) //!< Bit position for XTALOSC24M_MISC0_STOP_MODE_CONFIG. #define BM_XTALOSC24M_MISC0_STOP_MODE_CONFIG (0x00001000) //!< Bit mask for XTALOSC24M_MISC0_STOP_MODE_CONFIG. //! @brief Get value of XTALOSC24M_MISC0_STOP_MODE_CONFIG from a register value. #define BG_XTALOSC24M_MISC0_STOP_MODE_CONFIG(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_STOP_MODE_CONFIG) >> BP_XTALOSC24M_MISC0_STOP_MODE_CONFIG) //! @brief Format value for bitfield XTALOSC24M_MISC0_STOP_MODE_CONFIG. #define BF_XTALOSC24M_MISC0_STOP_MODE_CONFIG(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_XTALOSC24M_MISC0_STOP_MODE_CONFIG) & BM_XTALOSC24M_MISC0_STOP_MODE_CONFIG) #ifndef __LANGUAGE_ASM__ //! @brief Set the STOP_MODE_CONFIG field to a new value. #define BW_XTALOSC24M_MISC0_STOP_MODE_CONFIG(v) (HW_XTALOSC24M_MISC0_WR((HW_XTALOSC24M_MISC0_RD() & ~BM_XTALOSC24M_MISC0_STOP_MODE_CONFIG) | BF_XTALOSC24M_MISC0_STOP_MODE_CONFIG(v))) #endif //@} /*! @name Register XTALOSC24M_MISC0, field OSC_I[15:14] (RW) * * This bit field determines the bias current in the 24MHz oscillator. The idea is to start up with * the highest bias current which can be decreased after startup if determined to be acceptable. * Acceptable meaning that the oscillation signal amplitudes are still substantially full scale over * the product operating conditions. It only makes sense to lower the current to the oscillator if * the oscillator's power consumption is significant relative to the consumption of the system as a * whole. If the oscillator is subsequently powered down by programming or removal of its supply, * this field must be returned to the nominal value to guarantee proper startup. * * Values: * - 00 - Nominal * - 01 - Decrease current by 12.5% * - 10 - Decrease current by 25.0% * - 11 - Decrease current by 37.5% */ //@{ #define BP_XTALOSC24M_MISC0_OSC_I (14) //!< Bit position for XTALOSC24M_MISC0_OSC_I. #define BM_XTALOSC24M_MISC0_OSC_I (0x0000c000) //!< Bit mask for XTALOSC24M_MISC0_OSC_I. //! @brief Get value of XTALOSC24M_MISC0_OSC_I from a register value. #define BG_XTALOSC24M_MISC0_OSC_I(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_OSC_I) >> BP_XTALOSC24M_MISC0_OSC_I) //! @brief Format value for bitfield XTALOSC24M_MISC0_OSC_I. #define BF_XTALOSC24M_MISC0_OSC_I(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_XTALOSC24M_MISC0_OSC_I) & BM_XTALOSC24M_MISC0_OSC_I) #ifndef __LANGUAGE_ASM__ //! @brief Set the OSC_I field to a new value. #define BW_XTALOSC24M_MISC0_OSC_I(v) (HW_XTALOSC24M_MISC0_WR((HW_XTALOSC24M_MISC0_RD() & ~BM_XTALOSC24M_MISC0_OSC_I) | BF_XTALOSC24M_MISC0_OSC_I(v))) #endif //@} /*! @name Register XTALOSC24M_MISC0, field OSC_XTALOK[16] (RO) * * Status bit which signals that the output of the 24MHz crystal oscillator is stable. Generated * from a timer and active detection of the actual frequency. * * Values: * - 0 - Xtal clock not ok for use. * - 1 - Xtal clock ok for use. */ //@{ #define BP_XTALOSC24M_MISC0_OSC_XTALOK (16) //!< Bit position for XTALOSC24M_MISC0_OSC_XTALOK. #define BM_XTALOSC24M_MISC0_OSC_XTALOK (0x00010000) //!< Bit mask for XTALOSC24M_MISC0_OSC_XTALOK. //! @brief Get value of XTALOSC24M_MISC0_OSC_XTALOK from a register value. #define BG_XTALOSC24M_MISC0_OSC_XTALOK(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_OSC_XTALOK) >> BP_XTALOSC24M_MISC0_OSC_XTALOK) //@} /*! @name Register XTALOSC24M_MISC0, field OSC_XTALOK_EN[17] (RW) * * Enable bit for the xtal_ok module(24 MHz) * * Values: * - 0 - Xtal_ok function disabled * - 1 - Xtal_ok function enabled */ //@{ #define BP_XTALOSC24M_MISC0_OSC_XTALOK_EN (17) //!< Bit position for XTALOSC24M_MISC0_OSC_XTALOK_EN. #define BM_XTALOSC24M_MISC0_OSC_XTALOK_EN (0x00020000) //!< Bit mask for XTALOSC24M_MISC0_OSC_XTALOK_EN. //! @brief Get value of XTALOSC24M_MISC0_OSC_XTALOK_EN from a register value. #define BG_XTALOSC24M_MISC0_OSC_XTALOK_EN(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_OSC_XTALOK_EN) >> BP_XTALOSC24M_MISC0_OSC_XTALOK_EN) //! @brief Format value for bitfield XTALOSC24M_MISC0_OSC_XTALOK_EN. #define BF_XTALOSC24M_MISC0_OSC_XTALOK_EN(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_XTALOSC24M_MISC0_OSC_XTALOK_EN) & BM_XTALOSC24M_MISC0_OSC_XTALOK_EN) #ifndef __LANGUAGE_ASM__ //! @brief Set the OSC_XTALOK_EN field to a new value. #define BW_XTALOSC24M_MISC0_OSC_XTALOK_EN(v) (HW_XTALOSC24M_MISC0_WR((HW_XTALOSC24M_MISC0_RD() & ~BM_XTALOSC24M_MISC0_OSC_XTALOK_EN) | BF_XTALOSC24M_MISC0_OSC_XTALOK_EN(v))) #endif //@} /*! @name Register XTALOSC24M_MISC0, field WBCP_VPW_THRESH[19:18] (RW) * * This signal alters the voltage that the pwell is charged pumped to. Default value should not be * changed without guidance from Freescale Not related to oscillator. * * Values: * - 00 - Nominal output pwell bias voltage. * - 01 - Increase pwell output voltage by 25mV. * - 10 - Decrease pwell output pwell voltage by 25mV. * - 11 - Decrease pwell output pwell voltage by 50mV. */ //@{ #define BP_XTALOSC24M_MISC0_WBCP_VPW_THRESH (18) //!< Bit position for XTALOSC24M_MISC0_WBCP_VPW_THRESH. #define BM_XTALOSC24M_MISC0_WBCP_VPW_THRESH (0x000c0000) //!< Bit mask for XTALOSC24M_MISC0_WBCP_VPW_THRESH. //! @brief Get value of XTALOSC24M_MISC0_WBCP_VPW_THRESH from a register value. #define BG_XTALOSC24M_MISC0_WBCP_VPW_THRESH(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_WBCP_VPW_THRESH) >> BP_XTALOSC24M_MISC0_WBCP_VPW_THRESH) //! @brief Format value for bitfield XTALOSC24M_MISC0_WBCP_VPW_THRESH. #define BF_XTALOSC24M_MISC0_WBCP_VPW_THRESH(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_XTALOSC24M_MISC0_WBCP_VPW_THRESH) & BM_XTALOSC24M_MISC0_WBCP_VPW_THRESH) #ifndef __LANGUAGE_ASM__ //! @brief Set the WBCP_VPW_THRESH field to a new value. #define BW_XTALOSC24M_MISC0_WBCP_VPW_THRESH(v) (HW_XTALOSC24M_MISC0_WR((HW_XTALOSC24M_MISC0_RD() & ~BM_XTALOSC24M_MISC0_WBCP_VPW_THRESH) | BF_XTALOSC24M_MISC0_WBCP_VPW_THRESH(v))) #endif //@} /*! @name Register XTALOSC24M_MISC0, field CLKGATE_CTRL[25] (RW) * * This bit allows disabling the clock gate (always un-gated) for the xtal 24MHz clock that clocks * the digital logic in the analog block. Do not change the field during a low power event. This is * not a field that the user would normally need to modify * * Values: * - 0 - Allow the logic to automatically gate the clock when the XTAL is powered down. * - 1 - Prevent the logic from ever gating off the clock. */ //@{ #define BP_XTALOSC24M_MISC0_CLKGATE_CTRL (25) //!< Bit position for XTALOSC24M_MISC0_CLKGATE_CTRL. #define BM_XTALOSC24M_MISC0_CLKGATE_CTRL (0x02000000) //!< Bit mask for XTALOSC24M_MISC0_CLKGATE_CTRL. //! @brief Get value of XTALOSC24M_MISC0_CLKGATE_CTRL from a register value. #define BG_XTALOSC24M_MISC0_CLKGATE_CTRL(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_CLKGATE_CTRL) >> BP_XTALOSC24M_MISC0_CLKGATE_CTRL) //! @brief Format value for bitfield XTALOSC24M_MISC0_CLKGATE_CTRL. #define BF_XTALOSC24M_MISC0_CLKGATE_CTRL(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_XTALOSC24M_MISC0_CLKGATE_CTRL) & BM_XTALOSC24M_MISC0_CLKGATE_CTRL) #ifndef __LANGUAGE_ASM__ //! @brief Set the CLKGATE_CTRL field to a new value. #define BW_XTALOSC24M_MISC0_CLKGATE_CTRL(v) (HW_XTALOSC24M_MISC0_WR((HW_XTALOSC24M_MISC0_RD() & ~BM_XTALOSC24M_MISC0_CLKGATE_CTRL) | BF_XTALOSC24M_MISC0_CLKGATE_CTRL(v))) #endif //@} /*! @name Register XTALOSC24M_MISC0, field CLKGATE_DELAY[28:26] (RW) * * This field specifies the delay between powering up the XTAL 24MHz clock and release the clock to * the digital logic inside the analog block. Do not change the field during a low power event. This * is not a field that the user would normally need to modify * * Values: * - 000 - 0.5ms * - 001 - 1.0ms * - 010 - 2.0ms * - 011 - 3.0ms * - 100 - 4.0ms * - 101 - 5.0ms * - 110 - 6.0ms * - 111 - 7.0ms */ //@{ #define BP_XTALOSC24M_MISC0_CLKGATE_DELAY (26) //!< Bit position for XTALOSC24M_MISC0_CLKGATE_DELAY. #define BM_XTALOSC24M_MISC0_CLKGATE_DELAY (0x1c000000) //!< Bit mask for XTALOSC24M_MISC0_CLKGATE_DELAY. //! @brief Get value of XTALOSC24M_MISC0_CLKGATE_DELAY from a register value. #define BG_XTALOSC24M_MISC0_CLKGATE_DELAY(r) ((__REG_VALUE_TYPE((r), reg32_t) & BM_XTALOSC24M_MISC0_CLKGATE_DELAY) >> BP_XTALOSC24M_MISC0_CLKGATE_DELAY) //! @brief Format value for bitfield XTALOSC24M_MISC0_CLKGATE_DELAY. #define BF_XTALOSC24M_MISC0_CLKGATE_DELAY(v) ((__REG_VALUE_TYPE((v), reg32_t) << BP_XTALOSC24M_MISC0_CLKGATE_DELAY) & BM_XTALOSC24M_MISC0_CLKGATE_DELAY) #ifndef __LANGUAGE_ASM__ //! @brief Set the CLKGATE_DELAY field to a new value. #define BW_XTALOSC24M_MISC0_CLKGATE_DELAY(v) (HW_XTALOSC24M_MISC0_WR((HW_XTALOSC24M_MISC0_RD() & ~BM_XTALOSC24M_MISC0_CLKGATE_DELAY) | BF_XTALOSC24M_MISC0_CLKGATE_DELAY(v))) #endif //@} //------------------------------------------------------------------------------------------- // hw_xtalosc24m_t - module struct //------------------------------------------------------------------------------------------- /*! * @brief All XTALOSC24M module registers. */ #ifndef __LANGUAGE_ASM__ #pragma pack(1) typedef struct _hw_xtalosc24m { reg32_t _reserved0[84]; volatile hw_xtalosc24m_misc0_t MISC0; //!< Miscellaneous Register 0 } hw_xtalosc24m_t; #pragma pack() //! @brief Macro to access all XTALOSC24M registers. //! @return Reference (not a pointer) to the registers struct. To get a pointer to the struct, //! use the '&' operator, like &HW_XTALOSC24M. #define HW_XTALOSC24M (*(hw_xtalosc24m_t *) REGS_XTALOSC24M_BASE) #endif #endif // __HW_XTALOSC24M_REGISTERS_H__ // v18/121106/1.2.2 // EOF