mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Revision:
149:1fb5f62b92bd
Parent:
146:f64d43ff0c18
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/targets/hal/TARGET_Freescale/TARGET_KPSDK_MCUS/TARGET_K64F/device/MK64F12/MK64F12_rcm.h	Thu Apr 03 11:45:06 2014 +0100
@@ -0,0 +1,730 @@
+/*
+ * Copyright (c) 2014, 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_RCM_REGISTERS_H__
+#define __HW_RCM_REGISTERS_H__
+
+#include "regs.h"
+
+/*
+ * MK64F12 RCM
+ *
+ * Reset Control Module
+ *
+ * Registers defined in this header file:
+ * - HW_RCM_SRS0 - System Reset Status Register 0
+ * - HW_RCM_SRS1 - System Reset Status Register 1
+ * - HW_RCM_RPFC - Reset Pin Filter Control register
+ * - HW_RCM_RPFW - Reset Pin Filter Width register
+ * - HW_RCM_MR - Mode Register
+ *
+ * - hw_rcm_t - Struct containing all module registers.
+ */
+
+//! @name Module base addresses
+//@{
+#ifndef REGS_RCM_BASE
+#define HW_RCM_INSTANCE_COUNT (1U) //!< Number of instances of the RCM module.
+#define REGS_RCM_BASE (0x4007F000U) //!< Base address for RCM.
+#endif
+//@}
+
+//-------------------------------------------------------------------------------------------
+// HW_RCM_SRS0 - System Reset Status Register 0
+//-------------------------------------------------------------------------------------------
+
+#ifndef __LANGUAGE_ASM__
+/*!
+ * @brief HW_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
+ */
+typedef union _hw_rcm_srs0
+{
+    uint8_t U;
+    struct _hw_rcm_srs0_bitfields
+    {
+        uint8_t WAKEUP : 1;            //!< [0] Low Leakage Wakeup Reset
+        uint8_t LVD : 1;               //!< [1] Low-Voltage Detect Reset
+        uint8_t LOC : 1;               //!< [2] Loss-of-Clock Reset
+        uint8_t LOL : 1;               //!< [3] Loss-of-Lock Reset
+        uint8_t RESERVED0 : 1;         //!< [4]
+        uint8_t WDOGb : 1;             //!< [5] Watchdog
+        uint8_t PIN : 1;               //!< [6] External Reset Pin
+        uint8_t POR : 1;               //!< [7] Power-On Reset
+    } B;
+} hw_rcm_srs0_t;
+#endif
+
+/*!
+ * @name Constants and macros for entire RCM_SRS0 register
+ */
+//@{
+#define HW_RCM_SRS0_ADDR         (REGS_RCM_BASE + 0x0U)
+
+#ifndef __LANGUAGE_ASM__
+#define HW_RCM_SRS0              (*(__I hw_rcm_srs0_t *) HW_RCM_SRS0_ADDR)
+#define HW_RCM_SRS0_RD()         (HW_RCM_SRS0.U)
+#endif
+//@}
+
+/*
+ * 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:
+ * - 0 - Reset not caused by LLWU module wakeup source
+ * - 1 - Reset caused by LLWU module wakeup source
+ */
+//@{
+#define BP_RCM_SRS0_WAKEUP   (0U)          //!< Bit position for RCM_SRS0_WAKEUP.
+#define BM_RCM_SRS0_WAKEUP   (0x01U)       //!< Bit mask for RCM_SRS0_WAKEUP.
+#define BS_RCM_SRS0_WAKEUP   (1U)          //!< Bit field size in bits for RCM_SRS0_WAKEUP.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS0_WAKEUP field.
+#define BR_RCM_SRS0_WAKEUP   (BITBAND_ACCESS8(HW_RCM_SRS0_ADDR, BP_RCM_SRS0_WAKEUP))
+#endif
+//@}
+
+/*!
+ * @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:
+ * - 0 - Reset not caused by LVD trip or POR
+ * - 1 - Reset caused by LVD trip or POR
+ */
+//@{
+#define BP_RCM_SRS0_LVD      (1U)          //!< Bit position for RCM_SRS0_LVD.
+#define BM_RCM_SRS0_LVD      (0x02U)       //!< Bit mask for RCM_SRS0_LVD.
+#define BS_RCM_SRS0_LVD      (1U)          //!< Bit field size in bits for RCM_SRS0_LVD.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS0_LVD field.
+#define BR_RCM_SRS0_LVD      (BITBAND_ACCESS8(HW_RCM_SRS0_ADDR, BP_RCM_SRS0_LVD))
+#endif
+//@}
+
+/*!
+ * @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:
+ * - 0 - Reset not caused by a loss of external clock.
+ * - 1 - Reset caused by a loss of external clock.
+ */
+//@{
+#define BP_RCM_SRS0_LOC      (2U)          //!< Bit position for RCM_SRS0_LOC.
+#define BM_RCM_SRS0_LOC      (0x04U)       //!< Bit mask for RCM_SRS0_LOC.
+#define BS_RCM_SRS0_LOC      (1U)          //!< Bit field size in bits for RCM_SRS0_LOC.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS0_LOC field.
+#define BR_RCM_SRS0_LOC      (BITBAND_ACCESS8(HW_RCM_SRS0_ADDR, BP_RCM_SRS0_LOC))
+#endif
+//@}
+
+/*!
+ * @name Register RCM_SRS0, field LOL[3] (RO)
+ *
+ * Indicates a reset has been caused by a loss of lock in the MCG PLL. See the
+ * MCG description for information on the loss-of-clock event.
+ *
+ * Values:
+ * - 0 - Reset not caused by a loss of lock in the PLL
+ * - 1 - Reset caused by a loss of lock in the PLL
+ */
+//@{
+#define BP_RCM_SRS0_LOL      (3U)          //!< Bit position for RCM_SRS0_LOL.
+#define BM_RCM_SRS0_LOL      (0x08U)       //!< Bit mask for RCM_SRS0_LOL.
+#define BS_RCM_SRS0_LOL      (1U)          //!< Bit field size in bits for RCM_SRS0_LOL.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS0_LOL field.
+#define BR_RCM_SRS0_LOL      (BITBAND_ACCESS8(HW_RCM_SRS0_ADDR, BP_RCM_SRS0_LOL))
+#endif
+//@}
+
+/*!
+ * @name Register RCM_SRS0, field WDOG[5] (RO)
+ *
+ * Indicates a reset has been caused by the watchdog timer Computer Operating
+ * Properly (COP) timing out. This reset source can be blocked by disabling the COP
+ * watchdog: write 00 to SIM_COPCTRL[COPT].
+ *
+ * Values:
+ * - 0 - Reset not caused by watchdog timeout
+ * - 1 - Reset caused by watchdog timeout
+ */
+//@{
+#define BP_RCM_SRS0_WDOG     (5U)          //!< Bit position for RCM_SRS0_WDOG.
+#define BM_RCM_SRS0_WDOG     (0x20U)       //!< Bit mask for RCM_SRS0_WDOG.
+#define BS_RCM_SRS0_WDOG     (1U)          //!< Bit field size in bits for RCM_SRS0_WDOG.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS0_WDOG field.
+#define BR_RCM_SRS0_WDOG     (BITBAND_ACCESS8(HW_RCM_SRS0_ADDR, BP_RCM_SRS0_WDOG))
+#endif
+//@}
+
+/*!
+ * @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:
+ * - 0 - Reset not caused by external reset pin
+ * - 1 - Reset caused by external reset pin
+ */
+//@{
+#define BP_RCM_SRS0_PIN      (6U)          //!< Bit position for RCM_SRS0_PIN.
+#define BM_RCM_SRS0_PIN      (0x40U)       //!< Bit mask for RCM_SRS0_PIN.
+#define BS_RCM_SRS0_PIN      (1U)          //!< Bit field size in bits for RCM_SRS0_PIN.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS0_PIN field.
+#define BR_RCM_SRS0_PIN      (BITBAND_ACCESS8(HW_RCM_SRS0_ADDR, BP_RCM_SRS0_PIN))
+#endif
+//@}
+
+/*!
+ * @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:
+ * - 0 - Reset not caused by POR
+ * - 1 - Reset caused by POR
+ */
+//@{
+#define BP_RCM_SRS0_POR      (7U)          //!< Bit position for RCM_SRS0_POR.
+#define BM_RCM_SRS0_POR      (0x80U)       //!< Bit mask for RCM_SRS0_POR.
+#define BS_RCM_SRS0_POR      (1U)          //!< Bit field size in bits for RCM_SRS0_POR.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS0_POR field.
+#define BR_RCM_SRS0_POR      (BITBAND_ACCESS8(HW_RCM_SRS0_ADDR, BP_RCM_SRS0_POR))
+#endif
+//@}
+
+//-------------------------------------------------------------------------------------------
+// HW_RCM_SRS1 - System Reset Status Register 1
+//-------------------------------------------------------------------------------------------
+
+#ifndef __LANGUAGE_ASM__
+/*!
+ * @brief HW_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
+ */
+typedef union _hw_rcm_srs1
+{
+    uint8_t U;
+    struct _hw_rcm_srs1_bitfields
+    {
+        uint8_t JTAG : 1;              //!< [0] JTAG Generated Reset
+        uint8_t LOCKUP : 1;            //!< [1] Core Lockup
+        uint8_t SW : 1;                //!< [2] Software
+        uint8_t MDM_AP : 1;            //!< [3] MDM-AP System Reset Request
+        uint8_t EZPT : 1;              //!< [4] EzPort Reset
+        uint8_t SACKERR : 1;           //!< [5] Stop Mode Acknowledge Error Reset
+        uint8_t RESERVED0 : 2;         //!< [7:6]
+    } B;
+} hw_rcm_srs1_t;
+#endif
+
+/*!
+ * @name Constants and macros for entire RCM_SRS1 register
+ */
+//@{
+#define HW_RCM_SRS1_ADDR         (REGS_RCM_BASE + 0x1U)
+
+#ifndef __LANGUAGE_ASM__
+#define HW_RCM_SRS1              (*(__I hw_rcm_srs1_t *) HW_RCM_SRS1_ADDR)
+#define HW_RCM_SRS1_RD()         (HW_RCM_SRS1.U)
+#endif
+//@}
+
+/*
+ * Constants & macros for individual RCM_SRS1 bitfields
+ */
+
+/*!
+ * @name Register RCM_SRS1, field JTAG[0] (RO)
+ *
+ * Indicates a reset has been caused by JTAG selection of certain IR codes:
+ * EZPORT, EXTEST, HIGHZ, and CLAMP.
+ *
+ * Values:
+ * - 0 - Reset not caused by JTAG
+ * - 1 - Reset caused by JTAG
+ */
+//@{
+#define BP_RCM_SRS1_JTAG     (0U)          //!< Bit position for RCM_SRS1_JTAG.
+#define BM_RCM_SRS1_JTAG     (0x01U)       //!< Bit mask for RCM_SRS1_JTAG.
+#define BS_RCM_SRS1_JTAG     (1U)          //!< Bit field size in bits for RCM_SRS1_JTAG.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS1_JTAG field.
+#define BR_RCM_SRS1_JTAG     (BITBAND_ACCESS8(HW_RCM_SRS1_ADDR, BP_RCM_SRS1_JTAG))
+#endif
+//@}
+
+/*!
+ * @name Register RCM_SRS1, field LOCKUP[1] (RO)
+ *
+ * Indicates a reset has been caused by the ARM core indication of a LOCKUP
+ * event.
+ *
+ * Values:
+ * - 0 - Reset not caused by core LOCKUP event
+ * - 1 - Reset caused by core LOCKUP event
+ */
+//@{
+#define BP_RCM_SRS1_LOCKUP   (1U)          //!< Bit position for RCM_SRS1_LOCKUP.
+#define BM_RCM_SRS1_LOCKUP   (0x02U)       //!< Bit mask for RCM_SRS1_LOCKUP.
+#define BS_RCM_SRS1_LOCKUP   (1U)          //!< Bit field size in bits for RCM_SRS1_LOCKUP.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS1_LOCKUP field.
+#define BR_RCM_SRS1_LOCKUP   (BITBAND_ACCESS8(HW_RCM_SRS1_ADDR, BP_RCM_SRS1_LOCKUP))
+#endif
+//@}
+
+/*!
+ * @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:
+ * - 0 - Reset not caused by software setting of SYSRESETREQ bit
+ * - 1 - Reset caused by software setting of SYSRESETREQ bit
+ */
+//@{
+#define BP_RCM_SRS1_SW       (2U)          //!< Bit position for RCM_SRS1_SW.
+#define BM_RCM_SRS1_SW       (0x04U)       //!< Bit mask for RCM_SRS1_SW.
+#define BS_RCM_SRS1_SW       (1U)          //!< Bit field size in bits for RCM_SRS1_SW.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS1_SW field.
+#define BR_RCM_SRS1_SW       (BITBAND_ACCESS8(HW_RCM_SRS1_ADDR, BP_RCM_SRS1_SW))
+#endif
+//@}
+
+/*!
+ * @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:
+ * - 0 - Reset not caused by host debugger system setting of the System Reset
+ *     Request bit
+ * - 1 - Reset caused by host debugger system setting of the System Reset
+ *     Request bit
+ */
+//@{
+#define BP_RCM_SRS1_MDM_AP   (3U)          //!< Bit position for RCM_SRS1_MDM_AP.
+#define BM_RCM_SRS1_MDM_AP   (0x08U)       //!< Bit mask for RCM_SRS1_MDM_AP.
+#define BS_RCM_SRS1_MDM_AP   (1U)          //!< Bit field size in bits for RCM_SRS1_MDM_AP.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS1_MDM_AP field.
+#define BR_RCM_SRS1_MDM_AP   (BITBAND_ACCESS8(HW_RCM_SRS1_ADDR, BP_RCM_SRS1_MDM_AP))
+#endif
+//@}
+
+/*!
+ * @name Register RCM_SRS1, field EZPT[4] (RO)
+ *
+ * Indicates a reset has been caused by EzPort receiving the RESET command while
+ * the device is in EzPort mode.
+ *
+ * Values:
+ * - 0 - Reset not caused by EzPort receiving the RESET command while the device
+ *     is in EzPort mode
+ * - 1 - Reset caused by EzPort receiving the RESET command while the device is
+ *     in EzPort mode
+ */
+//@{
+#define BP_RCM_SRS1_EZPT     (4U)          //!< Bit position for RCM_SRS1_EZPT.
+#define BM_RCM_SRS1_EZPT     (0x10U)       //!< Bit mask for RCM_SRS1_EZPT.
+#define BS_RCM_SRS1_EZPT     (1U)          //!< Bit field size in bits for RCM_SRS1_EZPT.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS1_EZPT field.
+#define BR_RCM_SRS1_EZPT     (BITBAND_ACCESS8(HW_RCM_SRS1_ADDR, BP_RCM_SRS1_EZPT))
+#endif
+//@}
+
+/*!
+ * @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:
+ * - 0 - Reset not caused by peripheral failure to acknowledge attempt to enter
+ *     stop mode
+ * - 1 - Reset caused by peripheral failure to acknowledge attempt to enter stop
+ *     mode
+ */
+//@{
+#define BP_RCM_SRS1_SACKERR  (5U)          //!< Bit position for RCM_SRS1_SACKERR.
+#define BM_RCM_SRS1_SACKERR  (0x20U)       //!< Bit mask for RCM_SRS1_SACKERR.
+#define BS_RCM_SRS1_SACKERR  (1U)          //!< Bit field size in bits for RCM_SRS1_SACKERR.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_SRS1_SACKERR field.
+#define BR_RCM_SRS1_SACKERR  (BITBAND_ACCESS8(HW_RCM_SRS1_ADDR, BP_RCM_SRS1_SACKERR))
+#endif
+//@}
+
+//-------------------------------------------------------------------------------------------
+// HW_RCM_RPFC - Reset Pin Filter Control register
+//-------------------------------------------------------------------------------------------
+
+#ifndef __LANGUAGE_ASM__
+/*!
+ * @brief HW_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 or when entering any low
+ * leakage stop mode .
+ */
+typedef union _hw_rcm_rpfc
+{
+    uint8_t U;
+    struct _hw_rcm_rpfc_bitfields
+    {
+        uint8_t RSTFLTSRW : 2;         //!< [1:0] Reset Pin Filter Select in Run and
+                                       //! Wait Modes
+        uint8_t RSTFLTSS : 1;          //!< [2] Reset Pin Filter Select in Stop Mode
+        uint8_t RESERVED0 : 5;         //!< [7:3]
+    } B;
+} hw_rcm_rpfc_t;
+#endif
+
+/*!
+ * @name Constants and macros for entire RCM_RPFC register
+ */
+//@{
+#define HW_RCM_RPFC_ADDR         (REGS_RCM_BASE + 0x4U)
+
+#ifndef __LANGUAGE_ASM__
+#define HW_RCM_RPFC              (*(__IO hw_rcm_rpfc_t *) HW_RCM_RPFC_ADDR)
+#define HW_RCM_RPFC_RD()         (HW_RCM_RPFC.U)
+#define HW_RCM_RPFC_WR(v)        (HW_RCM_RPFC.U = (v))
+#define HW_RCM_RPFC_SET(v)       (HW_RCM_RPFC_WR(HW_RCM_RPFC_RD() |  (v)))
+#define HW_RCM_RPFC_CLR(v)       (HW_RCM_RPFC_WR(HW_RCM_RPFC_RD() & ~(v)))
+#define HW_RCM_RPFC_TOG(v)       (HW_RCM_RPFC_WR(HW_RCM_RPFC_RD() ^  (v)))
+#endif
+//@}
+
+/*
+ * 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:
+ * - 00 - All filtering disabled
+ * - 01 - Bus clock filter enabled for normal operation
+ * - 10 - LPO clock filter enabled for normal operation
+ * - 11 - Reserved
+ */
+//@{
+#define BP_RCM_RPFC_RSTFLTSRW (0U)         //!< Bit position for RCM_RPFC_RSTFLTSRW.
+#define BM_RCM_RPFC_RSTFLTSRW (0x03U)      //!< Bit mask for RCM_RPFC_RSTFLTSRW.
+#define BS_RCM_RPFC_RSTFLTSRW (2U)         //!< Bit field size in bits for RCM_RPFC_RSTFLTSRW.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_RPFC_RSTFLTSRW field.
+#define BR_RCM_RPFC_RSTFLTSRW (HW_RCM_RPFC.B.RSTFLTSRW)
+#endif
+
+//! @brief Format value for bitfield RCM_RPFC_RSTFLTSRW.
+#define BF_RCM_RPFC_RSTFLTSRW(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_RCM_RPFC_RSTFLTSRW), uint8_t) & BM_RCM_RPFC_RSTFLTSRW)
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Set the RSTFLTSRW field to a new value.
+#define BW_RCM_RPFC_RSTFLTSRW(v) (HW_RCM_RPFC_WR((HW_RCM_RPFC_RD() & ~BM_RCM_RPFC_RSTFLTSRW) | BF_RCM_RPFC_RSTFLTSRW(v)))
+#endif
+//@}
+
+/*!
+ * @name Register RCM_RPFC, field RSTFLTSS[2] (RW)
+ *
+ * Selects how the reset pin filter is enabled in Stop and VLPS modes
+ *
+ * Values:
+ * - 0 - All filtering disabled
+ * - 1 - LPO clock filter enabled
+ */
+//@{
+#define BP_RCM_RPFC_RSTFLTSS (2U)          //!< Bit position for RCM_RPFC_RSTFLTSS.
+#define BM_RCM_RPFC_RSTFLTSS (0x04U)       //!< Bit mask for RCM_RPFC_RSTFLTSS.
+#define BS_RCM_RPFC_RSTFLTSS (1U)          //!< Bit field size in bits for RCM_RPFC_RSTFLTSS.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_RPFC_RSTFLTSS field.
+#define BR_RCM_RPFC_RSTFLTSS (BITBAND_ACCESS8(HW_RCM_RPFC_ADDR, BP_RCM_RPFC_RSTFLTSS))
+#endif
+
+//! @brief Format value for bitfield RCM_RPFC_RSTFLTSS.
+#define BF_RCM_RPFC_RSTFLTSS(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_RCM_RPFC_RSTFLTSS), uint8_t) & BM_RCM_RPFC_RSTFLTSS)
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Set the RSTFLTSS field to a new value.
+#define BW_RCM_RPFC_RSTFLTSS(v) (BITBAND_ACCESS8(HW_RCM_RPFC_ADDR, BP_RCM_RPFC_RSTFLTSS) = (v))
+#endif
+//@}
+
+//-------------------------------------------------------------------------------------------
+// HW_RCM_RPFW - Reset Pin Filter Width register
+//-------------------------------------------------------------------------------------------
+
+#ifndef __LANGUAGE_ASM__
+/*!
+ * @brief HW_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.
+ */
+typedef union _hw_rcm_rpfw
+{
+    uint8_t U;
+    struct _hw_rcm_rpfw_bitfields
+    {
+        uint8_t RSTFLTSEL : 5;         //!< [4:0] Reset Pin Filter Bus Clock Select
+        uint8_t RESERVED0 : 3;         //!< [7:5]
+    } B;
+} hw_rcm_rpfw_t;
+#endif
+
+/*!
+ * @name Constants and macros for entire RCM_RPFW register
+ */
+//@{
+#define HW_RCM_RPFW_ADDR         (REGS_RCM_BASE + 0x5U)
+
+#ifndef __LANGUAGE_ASM__
+#define HW_RCM_RPFW              (*(__IO hw_rcm_rpfw_t *) HW_RCM_RPFW_ADDR)
+#define HW_RCM_RPFW_RD()         (HW_RCM_RPFW.U)
+#define HW_RCM_RPFW_WR(v)        (HW_RCM_RPFW.U = (v))
+#define HW_RCM_RPFW_SET(v)       (HW_RCM_RPFW_WR(HW_RCM_RPFW_RD() |  (v)))
+#define HW_RCM_RPFW_CLR(v)       (HW_RCM_RPFW_WR(HW_RCM_RPFW_RD() & ~(v)))
+#define HW_RCM_RPFW_TOG(v)       (HW_RCM_RPFW_WR(HW_RCM_RPFW_RD() ^  (v)))
+#endif
+//@}
+
+/*
+ * 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:
+ * - 00000 - Bus clock filter count is 1
+ * - 00001 - Bus clock filter count is 2
+ * - 00010 - Bus clock filter count is 3
+ * - 00011 - Bus clock filter count is 4
+ * - 00100 - Bus clock filter count is 5
+ * - 00101 - Bus clock filter count is 6
+ * - 00110 - Bus clock filter count is 7
+ * - 00111 - Bus clock filter count is 8
+ * - 01000 - Bus clock filter count is 9
+ * - 01001 - Bus clock filter count is 10
+ * - 01010 - Bus clock filter count is 11
+ * - 01011 - Bus clock filter count is 12
+ * - 01100 - Bus clock filter count is 13
+ * - 01101 - Bus clock filter count is 14
+ * - 01110 - Bus clock filter count is 15
+ * - 01111 - Bus clock filter count is 16
+ * - 10000 - Bus clock filter count is 17
+ * - 10001 - Bus clock filter count is 18
+ * - 10010 - Bus clock filter count is 19
+ * - 10011 - Bus clock filter count is 20
+ * - 10100 - Bus clock filter count is 21
+ * - 10101 - Bus clock filter count is 22
+ * - 10110 - Bus clock filter count is 23
+ * - 10111 - Bus clock filter count is 24
+ * - 11000 - Bus clock filter count is 25
+ * - 11001 - Bus clock filter count is 26
+ * - 11010 - Bus clock filter count is 27
+ * - 11011 - Bus clock filter count is 28
+ * - 11100 - Bus clock filter count is 29
+ * - 11101 - Bus clock filter count is 30
+ * - 11110 - Bus clock filter count is 31
+ * - 11111 - Bus clock filter count is 32
+ */
+//@{
+#define BP_RCM_RPFW_RSTFLTSEL (0U)         //!< Bit position for RCM_RPFW_RSTFLTSEL.
+#define BM_RCM_RPFW_RSTFLTSEL (0x1FU)      //!< Bit mask for RCM_RPFW_RSTFLTSEL.
+#define BS_RCM_RPFW_RSTFLTSEL (5U)         //!< Bit field size in bits for RCM_RPFW_RSTFLTSEL.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_RPFW_RSTFLTSEL field.
+#define BR_RCM_RPFW_RSTFLTSEL (HW_RCM_RPFW.B.RSTFLTSEL)
+#endif
+
+//! @brief Format value for bitfield RCM_RPFW_RSTFLTSEL.
+#define BF_RCM_RPFW_RSTFLTSEL(v) (__REG_VALUE_TYPE((__REG_VALUE_TYPE((v), uint8_t) << BP_RCM_RPFW_RSTFLTSEL), uint8_t) & BM_RCM_RPFW_RSTFLTSEL)
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Set the RSTFLTSEL field to a new value.
+#define BW_RCM_RPFW_RSTFLTSEL(v) (HW_RCM_RPFW_WR((HW_RCM_RPFW_RD() & ~BM_RCM_RPFW_RSTFLTSEL) | BF_RCM_RPFW_RSTFLTSEL(v)))
+#endif
+//@}
+
+//-------------------------------------------------------------------------------------------
+// HW_RCM_MR - Mode Register
+//-------------------------------------------------------------------------------------------
+
+#ifndef __LANGUAGE_ASM__
+/*!
+ * @brief HW_RCM_MR - Mode Register (RO)
+ *
+ * Reset value: 0x00U
+ *
+ * This register includes read-only status flags to indicate the state of the
+ * mode pins during the last Chip Reset.
+ */
+typedef union _hw_rcm_mr
+{
+    uint8_t U;
+    struct _hw_rcm_mr_bitfields
+    {
+        uint8_t RESERVED0 : 1;         //!< [0]
+        uint8_t EZP_MS : 1;            //!< [1] EZP_MS_B pin state
+        uint8_t RESERVED1 : 6;         //!< [7:2]
+    } B;
+} hw_rcm_mr_t;
+#endif
+
+/*!
+ * @name Constants and macros for entire RCM_MR register
+ */
+//@{
+#define HW_RCM_MR_ADDR           (REGS_RCM_BASE + 0x7U)
+
+#ifndef __LANGUAGE_ASM__
+#define HW_RCM_MR                (*(__I hw_rcm_mr_t *) HW_RCM_MR_ADDR)
+#define HW_RCM_MR_RD()           (HW_RCM_MR.U)
+#endif
+//@}
+
+/*
+ * Constants & macros for individual RCM_MR bitfields
+ */
+
+/*!
+ * @name Register RCM_MR, field EZP_MS[1] (RO)
+ *
+ * Reflects the state of the EZP_MS pin during the last Chip Reset
+ *
+ * Values:
+ * - 0 - Pin deasserted (logic 1)
+ * - 1 - Pin asserted (logic 0)
+ */
+//@{
+#define BP_RCM_MR_EZP_MS     (1U)          //!< Bit position for RCM_MR_EZP_MS.
+#define BM_RCM_MR_EZP_MS     (0x02U)       //!< Bit mask for RCM_MR_EZP_MS.
+#define BS_RCM_MR_EZP_MS     (1U)          //!< Bit field size in bits for RCM_MR_EZP_MS.
+
+#ifndef __LANGUAGE_ASM__
+//! @brief Read current value of the RCM_MR_EZP_MS field.
+#define BR_RCM_MR_EZP_MS     (BITBAND_ACCESS8(HW_RCM_MR_ADDR, BP_RCM_MR_EZP_MS))
+#endif
+//@}
+
+//-------------------------------------------------------------------------------------------
+// hw_rcm_t - module struct
+//-------------------------------------------------------------------------------------------
+/*!
+ * @brief All RCM module registers.
+ */
+#ifndef __LANGUAGE_ASM__
+#pragma pack(1)
+typedef struct _hw_rcm
+{
+    __I hw_rcm_srs0_t SRS0;                //!< [0x0] System Reset Status Register 0
+    __I hw_rcm_srs1_t SRS1;                //!< [0x1] System Reset Status Register 1
+    uint8_t _reserved0[2];
+    __IO hw_rcm_rpfc_t RPFC;               //!< [0x4] Reset Pin Filter Control register
+    __IO hw_rcm_rpfw_t RPFW;               //!< [0x5] Reset Pin Filter Width register
+    uint8_t _reserved1[1];
+    __I hw_rcm_mr_t MR;                    //!< [0x7] Mode Register
+} hw_rcm_t;
+#pragma pack()
+
+//! @brief Macro to access all RCM registers.
+//! @return Reference (not a pointer) to the registers struct. To get a pointer to the struct,
+//!     use the '&' operator, like <code>&HW_RCM</code>.
+#define HW_RCM         (*(hw_rcm_t *) REGS_RCM_BASE)
+#endif
+
+#endif // __HW_RCM_REGISTERS_H__
+// v22/130726/0.9
+// EOF