/*******************************************************************************
* @file: K1921VK035.h
* @author NIIET
* @version: V2.3
* @date: 31.05.2018
* @brief: K1921VK035 header file
*******************************************************************************
*
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, NIIET NOT BE HELD LIABLE FOR ANY DIRECT,
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
*
© COPYRIGHT 2018 NIIET
*******************************************************************************
* FILE K1921VK035.h
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __K1921VK035_H
#define __K1921VK035_H
#define __I volatile const /*!< defines 'read only' permissions */
#define __O volatile /*!< defines 'write only' permissions */
#define __IO volatile /*!< defines 'read / write' permissions */
/* Start of section using anonymous unions */
#if defined (__CC_ARM)
#pragma push
#pragma anon_unions
#elif defined (__ICCARM__)
#pragma language=extended
#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wc11-extensions"
#pragma clang diagnostic ignored "-Wreserved-id-macro"
#elif defined (__GNUC__)
/* anonymous unions are enabled by default */
#elif defined (__TMS470__)
/* anonymous unions are enabled by default */
#elif defined (__TASKING__)
#pragma warning 586
#elif defined (__CSMC__)
/* anonymous unions are enabled by default */
#elif defined (__CMCPPARM__)
/* anonymous unions are enabled by default */
#else
#warning Not supported compiler type
#endif
/* Configuration of the Cortex-M4F Processor and Core Peripherals */
#define __CM4_REV 0x0001 /*!< Cortex-M4F Core Revision r0p1 */
#define __MPU_PRESENT 1 /*!< MPU present or not */
#define __NVIC_PRIO_BITS 3 /*!< Number of Bits used for Priority Levels */
#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
#define __FPU_PRESENT 1 /*!< FPU present or not */
#include "stdint.h"
#ifdef __cplusplus
extern "C" {
#endif
/******************************************************************************/
/* Interrupt Number Definition */
/******************************************************************************/
typedef enum IRQn
{
/*-- Cortex-M4F Processor Exceptions Numbers ---------------------------------*/
NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */
HardFault_IRQn = -13, /*!< 3 Hard Fault Interrupt */
SVCall_IRQn = -5, /*!< 11 SV Call Interrupt */
PendSV_IRQn = -2, /*!< 14 Pend SV Interrupt */
SysTick_IRQn = -1, /*!< 15 System Tick Timer Interrupt */
/*-- Device specific Interrupt Numbers ---------------------------------------*/
WDT_IRQn = 0, /*!< Watchdog timer interrupt */
RCU_IRQn = 1, /*!< Reset and clock unit interrupt */
MFLASH_IRQn = 2, /*!< MFLASH interrupt */
GPIOA_IRQn = 3, /*!< GPIO A interrupt */
GPIOB_IRQn = 4, /*!< GPIO B interrupt */
DMA_CH0_IRQn = 5, /*!< DMA channel 0 interrupt */
DMA_CH1_IRQn = 6, /*!< DMA channel 1 interrupt */
DMA_CH2_IRQn = 7, /*!< DMA channel 2 interrupt */
DMA_CH3_IRQn = 8, /*!< DMA channel 3 interrupt */
DMA_CH4_IRQn = 9, /*!< DMA channel 4 interrupt */
DMA_CH5_IRQn = 10, /*!< DMA channel 5 interrupt */
DMA_CH6_IRQn = 11, /*!< DMA channel 6 interrupt */
DMA_CH7_IRQn = 12, /*!< DMA channel 7 interrupt */
DMA_CH8_IRQn = 13, /*!< DMA channel 8 interrupt */
DMA_CH9_IRQn = 14, /*!< DMA channel 9 interrupt */
DMA_CH10_IRQn = 15, /*!< DMA channel 10 interrupt */
DMA_CH11_IRQn = 16, /*!< DMA channel 11 interrupt */
DMA_CH12_IRQn = 17, /*!< DMA channel 12 interrupt */
DMA_CH13_IRQn = 18, /*!< DMA channel 13 interrupt */
DMA_CH14_IRQn = 19, /*!< DMA channel 14 interrupt */
DMA_CH15_IRQn = 20, /*!< DMA channel 15 interrupt */
TMR0_IRQn = 21, /*!< Timer 0 interrupt */
TMR1_IRQn = 22, /*!< Timer 1 interrupt */
TMR2_IRQn = 23, /*!< Timer 2 interrupt */
TMR3_IRQn = 24, /*!< Timer 3 interrupt */
UART0_TD_IRQn = 25, /*!< UART0 Transmit Done interrupt */
UART0_RX_IRQn = 26, /*!< UART0 Recieve interrupt */
UART0_TX_IRQn = 27, /*!< UART0 Transmit interrupt */
UART0_E_RT_IRQn = 28, /*!< UART0 Error and Receive Timeout interrupt*/
UART1_TD_IRQn = 29, /*!< UART1 Transmit Done interrupt */
UART1_RX_IRQn = 30, /*!< UART1 Recieve interrupt */
UART1_TX_IRQn = 31, /*!< UART1 Transmit interrupt */
UART1_E_RT_IRQn = 32, /*!< UART1 Error and Receive Timeout interrupt*/
SPI_RO_RT_IRQn = 33, /*!< SPI RX FIFO overrun and Receive Timeout interrupt*/
SPI_RX_IRQn = 34, /*!< SPI Receive interrupt */
SPI_TX_IRQn = 35, /*!< SPI Transmit interrupt */
I2C_IRQn = 36, /*!< I2C interrupt */
ECAP0_IRQn = 37, /*!< ECAP0 interrupt */
ECAP1_IRQn = 38, /*!< ECAP1 interrupt */
ECAP2_IRQn = 39, /*!< ECAP2 interrupt */
PWM0_IRQn = 40, /*!< PWM0 interrupt */
PWM0_HD_IRQn = 41, /*!< PWM0 HD interrupt */
PWM0_TZ_IRQn = 42, /*!< PWM0 TZ interrupt */
PWM1_IRQn = 43, /*!< PWM1 interrupt */
PWM1_HD_IRQn = 44, /*!< PWM1 HD interrupt */
PWM1_TZ_IRQn = 45, /*!< PWM1 TZ interrupt */
PWM2_IRQn = 46, /*!< PWM2 interrupt */
PWM2_HD_IRQn = 47, /*!< PWM2 HD interrupt */
PWM2_TZ_IRQn = 48, /*!< PWM2 TZ interrupt */
QEP_IRQn = 49, /*!< QEP interrupt */
ADC_SEQ0_IRQn = 50, /*!< ADC Sequencer 0 interrupt */
ADC_SEQ1_IRQn = 51, /*!< ADC Sequencer 1 interrupt */
ADC_DC_IRQn = 52, /*!< ADC Digital Comparator interrupt */
CAN0_IRQn = 53, /*!< CAN0 interrupt */
CAN1_IRQn = 54, /*!< CAN1 interrupt */
CAN2_IRQn = 55, /*!< CAN2 interrupt */
CAN3_IRQn = 56, /*!< CAN3 interrupt */
CAN4_IRQn = 57, /*!< CAN4 interrupt */
CAN5_IRQn = 58, /*!< CAN5 interrupt */
CAN6_IRQn = 59, /*!< CAN6 interrupt */
CAN7_IRQn = 60, /*!< CAN7 interrupt */
CAN8_IRQn = 61, /*!< CAN8 interrupt */
CAN9_IRQn = 62, /*!< CAN9 interrupt */
CAN10_IRQn = 63, /*!< CAN10 interrupt */
CAN11_IRQn = 64, /*!< CAN11 interrupt */
CAN12_IRQn = 65, /*!< CAN12 interrupt */
CAN13_IRQn = 66, /*!< CAN13 interrupt */
CAN14_IRQn = 67, /*!< CAN14 interrupt */
CAN15_IRQn = 68, /*!< CAN15 interrupt */
FPU_IRQn = 69, /*!< FPU exception interrupt */
} IRQn_Type;
#include /* Cortex-M4 processor and core peripherals */
#include /* System initialization */
/******************************************************************************/
/* System Specific Defenitions */
/******************************************************************************/
/*-- System memory ----------------------------------------------------------*/
#define MEM_MFLASH_BASE 0x00000000UL
#define MEM_MFLASH_BUS_WIDTH_WORDS 2UL
#define MEM_MFLASH_PAGE_SIZE 1024UL
#define MEM_MFLASH_PAGE_SIZE_LOG2 10UL
#define MEM_MFLASH_PAGE_TOTAL 64UL
#define MEM_MFLASH_SIZE (MEM_MFLASH_PAGE_TOTAL*MEM_MFLASH_PAGE_SIZE)
#define MEM_MFLASH_NVR_PAGE_SIZE (MEM_MFLASH_PAGE_SIZE)
#define MEM_MFLASH_NVR_PAGE_SIZE_LOG2 (MEM_MFLASH_PAGE_SIZE_LOG2)
#define MEM_MFLASH_NVR_PAGE_TOTAL 4UL
#define MEM_MFLASH_NVR_SIZE (MEM_MFLASH_NVR_PAGE_TOTAL*MEM_MFLASH_NVR_PAGE_SIZE)
#define MEM_RAM_BASE 0x20000000UL
#define MEM_RAM_SIZE 0x4000UL
/*-- CFGWORD: System configure word -----------------------------------------*/
#define CFGWORD_BASE 0x00000C00UL
typedef struct {
uint32_t JTAGEN : 1; /*!< Enable JTAG pins (default 1 - enabled) */
uint32_t DEBUGEN : 1; /*!< Enable core debug (default 1 - enabled) */
uint32_t NVRWE : 1; /*!< NVR flash region write enable (default 1 - enabled) */
uint32_t FLASHWE : 1; /*!< Main flash region write enable (default 1 - enabled) */
uint32_t BMODEDIS : 1; /*!< Bootloader disable (default 1 - disabled) */
} CFGWORD_bits;
/* Bit field positions: */
#define CFGWORD_JTAGEN_Pos 0 /*!< Enable JTAG pins (default 1 - enabled) */
#define CFGWORD_DEBUGEN_Pos 1 /*!< Enable core debug (default 1 - enabled) */
#define CFGWORD_NVRWE_Pos 2 /*!< NVR flash region write enable (default 1 - enabled) */
#define CFGWORD_FLASHWE_Pos 3 /*!< Main flash region write enable (default 1 - enabled) */
#define CFGWORD_BMODEDIS_Pos 4 /*!< Bootloader disable (default 1 - disabled) */
/* Bit field masks: */
#define CFGWORD_JTAGEN_Msk 0x00000001UL /*!< Enable JTAG pins (default 1 - enabled) */
#define CFGWORD_DEBUGEN_Msk 0x00000002UL /*!< Enable core debug (default 1 - enabled) */
#define CFGWORD_NVRWE_Msk 0x00000004UL /*!< NVR flash region write enable (default 1 - enabled) */
#define CFGWORD_FLASHWE_Msk 0x00000008UL /*!< Main flash region write enable (default 1 - enabled) */
#define CFGWORD_BMODEDIS_Msk 0x00000010UL /*!< Bootloader disable (default 1 - disabled) */
/*-- CHANNEL_CFG: DMA channel configure word --------------------------------*/
typedef struct {
uint32_t CYCLE_CTRL : 3; /*!< The operating mode of the DMA cycle */
uint32_t NEXT_USEBURST : 1; /*!< Controls if the DMA->USEBURSTSET bit is set to a 1 */
uint32_t N_MINUS_1 : 10; /*!< The total number of DMA transfers that the DMA cycle contains */
uint32_t R_POWER : 4; /*!< Control how many DMA transfers can occur before the controller rearbitrates (2^R_POWER, 1024 max) */
uint32_t SRC_PROT_PRIV : 1; /*!< Bus protection when the controller reads the source data: privileged access */
uint32_t SRC_PROT_BUFF : 1; /*!< Bus protection when the controller reads the source data: bufferable access */
uint32_t SRC_PROT_CACHE : 1; /*!< Bus protection when the controller reads the source data: cacheable access */
uint32_t DST_PROT_PRIV : 1; /*!< Bus protection when the controller writes the destination data: privileged access */
uint32_t DST_PROT_BUFF : 1; /*!< Bus protection when the controller writes the destination data: bufferable access */
uint32_t DST_PROT_CACHE : 1; /*!< Bus protection when the controller writes the destination data: cacheable access */
uint32_t SRC_SIZE : 2; /*!< Size of the source data */
uint32_t SRC_INC : 2; /*!< Source address increment */
uint32_t DST_SIZE : 2; /*!< Destination data size */
uint32_t DST_INC : 2; /*!< Destination address increment */
} _CHANNEL_CFG_bits;
/* Bit field positions: */
#define DMA_CHANNEL_CFG_CYCLE_CTRL_Pos 0 /*!< The operating mode of the DMA cycle */
#define DMA_CHANNEL_CFG_NEXT_USEBURST_Pos 3 /*!< Controls if the DMA->USEBURSTSET bit is set to a 1 */
#define DMA_CHANNEL_CFG_N_MINUS_1_Pos 4 /*!< The total number of DMA transfers that the DMA cycle contains */
#define DMA_CHANNEL_CFG_R_POWER_Pos 14 /*!< Control how many DMA transfers can occur before the controller rearbitrates */
#define DMA_CHANNEL_CFG_SRC_PROT_PRIV_Pos 18 /*!< Bus protection when the controller reads the source data: privileged access */
#define DMA_CHANNEL_CFG_SRC_PROT_BUFF_Pos 19 /*!< Bus protection when the controller reads the source data: bufferable access */
#define DMA_CHANNEL_CFG_SRC_PROT_CACHE_Pos 20 /*!< Bus protection when the controller reads the source data: cacheable access */
#define DMA_CHANNEL_CFG_DST_PROT_PRIV_Pos 21 /*!< Bus protection when the controller writes the destination data: privileged access */
#define DMA_CHANNEL_CFG_DST_PROT_BUFF_Pos 22 /*!< Bus protection when the controller writes the destination data: bufferable access */
#define DMA_CHANNEL_CFG_DST_PROT_CACHE_Pos 23 /*!< Bus protection when the controller writes the destination data: cacheable access */
#define DMA_CHANNEL_CFG_SRC_SIZE_Pos 24 /*!< Size of the source data */
#define DMA_CHANNEL_CFG_SRC_INC_Pos 26 /*!< Source address increment */
#define DMA_CHANNEL_CFG_DST_SIZE_Pos 28 /*!< Destination data size */
#define DMA_CHANNEL_CFG_DST_INC_Pos 30 /*!< Destination address increment */
/* Bit field masks: */
#define DMA_CHANNEL_CFG_CYCLE_CTRL_Msk 0x00000007UL /*!< The operating mode of the DMA cycle */
#define DMA_CHANNEL_CFG_NEXT_USEBURST_Msk 0x00000008UL /*!< Controls if the DMA->USEBURSTSET bit is set to a 1 */
#define DMA_CHANNEL_CFG_N_MINUS_1_Msk 0x00003FF0UL /*!< The total number of DMA transfers that the DMA cycle contains */
#define DMA_CHANNEL_CFG_R_POWER_Msk 0x0003C000UL /*!< Control how many DMA transfers can occur before the controller rearbitrates */
#define DMA_CHANNEL_CFG_SRC_PROT_PRIV_Msk 0x00040000UL /*!< Bus protection when the controller reads the source data: privileged access */
#define DMA_CHANNEL_CFG_SRC_PROT_BUFF_Msk 0x00080000UL /*!< Bus protection when the controller reads the source data: bufferable access */
#define DMA_CHANNEL_CFG_SRC_PROT_CACHE_Msk 0x00100000UL /*!< Bus protection when the controller reads the source data: cacheable access */
#define DMA_CHANNEL_CFG_DST_PROT_PRIV_Msk 0x00200000UL /*!< Bus protection when the controller writes the destination data: privileged access */
#define DMA_CHANNEL_CFG_DST_PROT_BUFF_Msk 0x00400000UL /*!< Bus protection when the controller writes the destination data: bufferable access */
#define DMA_CHANNEL_CFG_DST_PROT_CACHE_Msk 0x00800000UL /*!< Bus protection when the controller writes the destination data: cacheable access */
#define DMA_CHANNEL_CFG_SRC_SIZE_Msk 0x03000000UL /*!< Size of the source data */
#define DMA_CHANNEL_CFG_SRC_INC_Msk 0x0C000000UL /*!< Source address increment */
#define DMA_CHANNEL_CFG_DST_SIZE_Msk 0x30000000UL /*!< Destination data size */
#define DMA_CHANNEL_CFG_DST_INC_Msk 0xC0000000UL /*!< Destination address increment */
/* Bit field enums: */
typedef enum {
DMA_CHANNEL_CFG_CYCLE_CTRL_Stop = 0x0UL, /*!< Stop */
DMA_CHANNEL_CFG_CYCLE_CTRL_Basic = 0x1UL, /*!< Basic */
DMA_CHANNEL_CFG_CYCLE_CTRL_AutoReq = 0x2UL, /*!< Auto-request */
DMA_CHANNEL_CFG_CYCLE_CTRL_PingPong = 0x3UL, /*!< Ping-pong */
DMA_CHANNEL_CFG_CYCLE_CTRL_MemScatGathPrim = 0x4UL, /*!< Memory scatter-gather for primary structure */
DMA_CHANNEL_CFG_CYCLE_CTRL_MemScatGathAlt = 0x5UL, /*!< Memory scatter-gather for alternative structure */
DMA_CHANNEL_CFG_CYCLE_CTRL_PeriphScatGathPrim = 0x6UL, /*!< Peripheral scatter-gather for primary structure */
DMA_CHANNEL_CFG_CYCLE_CTRL_PeriphScatGathAlt = 0x7UL, /*!< Peripheral scatter-gather for alternative structure */
} DMA_CHANNEL_CFG_CYCLE_CTRL_Enum;
typedef enum {
DMA_CHANNEL_CFG_SRC_SIZE_Byte = 0x0UL, /*!< 8 bit */
DMA_CHANNEL_CFG_SRC_SIZE_Halfword = 0x1UL, /*!< 16 bit */
DMA_CHANNEL_CFG_SRC_SIZE_Word = 0x2UL, /*!< 32 bit */
} DMA_CHANNEL_CFG_SRC_SIZE_Enum;
typedef enum {
DMA_CHANNEL_CFG_SRC_INC_Byte = 0x0UL, /*!< 8 bit */
DMA_CHANNEL_CFG_SRC_INC_Halfword = 0x1UL, /*!< 16 bit */
DMA_CHANNEL_CFG_SRC_INC_Word = 0x2UL, /*!< 32 bit */
DMA_CHANNEL_CFG_SRC_INC_None = 0x3UL, /*!< No increment */
} DMA_CHANNEL_CFG_SRC_INC_Enum;
typedef enum {
DMA_CHANNEL_CFG_DST_SIZE_Byte = 0x0UL, /*!< 8 bit */
DMA_CHANNEL_CFG_DST_SIZE_Halfword = 0x1UL, /*!< 16 bit */
DMA_CHANNEL_CFG_DST_SIZE_Word = 0x2UL, /*!< 32 bit */
} DMA_CHANNEL_CFG_DST_SIZE_Enum;
typedef enum {
DMA_CHANNEL_CFG_DST_INC_Byte = 0x0UL, /*!< 8 bit */
DMA_CHANNEL_CFG_DST_INC_Halfword = 0x1UL, /*!< 16 bit */
DMA_CHANNEL_CFG_DST_INC_Word = 0x2UL, /*!< 32 bit */
DMA_CHANNEL_CFG_DST_INC_None = 0x3UL, /*!< No increment */
} DMA_CHANNEL_CFG_DST_INC_Enum;
/*-- DMA channel structure --------------------------------------------------*/
typedef struct
{
__IO uint32_t SRC_DATA_END_PTR; /*!< Source data end pointer */
__IO uint32_t DST_DATA_END_PTR; /*!< Destination data end pointer */
union {
__IO uint32_t CHANNEL_CFG; /*!< Channel configure word */
__IO _CHANNEL_CFG_bits CHANNEL_CFG_bit; /*!< channel configure word: bit access */
};
__IO uint32_t RESERVED;
} DMA_Channel_TypeDef;
/*-- DMA control structure --------------------------------------------------*/
typedef struct
{
DMA_Channel_TypeDef CH[16]; /*!< Control structure channels */
} DMA_CtrlStruct_TypeDef;
#define DMA_CH_UART0TX 0 /*!< UART0 TX DMA channel */
#define DMA_CH_UART1TX 1 /*!< UART1 TX DMA channel */
#define DMA_CH_UART0RX 2 /*!< UART0 RX DMA channel */
#define DMA_CH_UART1RX 3 /*!< UART1 RX DMA channel */
#define DMA_CH_ADCSEQ0 4 /*!< ADC sequencer 0 DMA channel */
#define DMA_CH_ADCSEQ1 5 /*!< ADC sequencer 1 DMA channel */
#define DMA_CH_SPITX 6 /*!< SPI TX DMA channel */
#define DMA_CH_SPIRX 7 /*!< SPI RX DMA channel */
#define DMA_CH_QEP 8 /*!< QEP DMA channel */
#define DMA_CH_GPIOA 8 /*!< GPIOA DMA channel */
#define DMA_CH_GPIOB 9 /*!< GPIOB DMA channel */
#define DMA_CH_TMR0 9 /*!< TMR0 DMA channel */
#define DMA_CH_TMR1 10 /*!< TMR1 DMA channel */
#define DMA_CH_TMR2 11 /*!< TMR2 DMA channel */
#define DMA_CH_TMR3 12 /*!< TMR3 DMA channel */
#define DMA_CH_PWM0B 10 /*!< PWM0B DMA channel */
#define DMA_CH_PWM1B 11 /*!< PWM1B DMA channel */
#define DMA_CH_PWM2B 12 /*!< PWM2B DMA channel */
#define DMA_CH_PWM0A 13 /*!< PWM0A DMA channel */
#define DMA_CH_PWM1A 14 /*!< PWM1A DMA channel */
#define DMA_CH_PWM2A 15 /*!< PWM2A DMA channel */
/*-- DMA control data summary -----------------------------------------------*/
/*!< WARNING: struct should be 512 byte aligned! Allowed addresses 0xXXXXX000, 0xXXXXX200, 0xXXXXX400, etc */
typedef struct
{
DMA_CtrlStruct_TypeDef PRM_DATA; /*!< Primary control structure */
DMA_CtrlStruct_TypeDef ALT_DATA; /*!< Alternative control structure */
} DMA_CtrlData_TypeDef;
/******************************************************************************/
/* SIU registers */
/******************************************************************************/
/*-- PWMSYNC: PWM syncronization control register ------------------------------------------------------------*/
typedef struct {
uint32_t :8; /*!< RESERVED */
uint32_t PRESCRST :3; /*!< PWM prescalers reset control */
} _SIU_PWMSYNC_bits;
/* Bit field positions: */
#define SIU_PWMSYNC_PRESCRST_Pos 8 /*!< PWM prescalers reset control */
/* Bit field masks: */
#define SIU_PWMSYNC_PRESCRST_Msk 0x00000700UL /*!< PWM prescalers reset control */
/*-- SERVCTL: Service mode control register ------------------------------------------------------------------*/
typedef struct {
uint32_t CHIPCLR :1; /*!< On-chip memories full clear task start */
uint32_t DONE :1; /*!< Status of clear task */
uint32_t :29; /*!< RESERVED */
uint32_t SERVEN :1; /*!< */
} _SIU_SERVCTL_bits;
/* Bit field positions: */
#define SIU_SERVCTL_CHIPCLR_Pos 0 /*!< On-chip memories full clear task start */
#define SIU_SERVCTL_DONE_Pos 1 /*!< Status of clear task */
#define SIU_SERVCTL_SERVEN_Pos 31 /*!< */
/* Bit field masks: */
#define SIU_SERVCTL_CHIPCLR_Msk 0x00000001UL /*!< On-chip memories full clear task start */
#define SIU_SERVCTL_DONE_Msk 0x00000002UL /*!< Status of clear task */
#define SIU_SERVCTL_SERVEN_Msk 0x80000000UL /*!< */
/*-- CLKOUTCTL: Clock out control register -------------------------------------------------------------------*/
typedef struct {
uint32_t CLKOUTEN :1; /*!< Enable clockout pin */
} _SIU_CLKOUTCTL_bits;
/* Bit field positions: */
#define SIU_CLKOUTCTL_CLKOUTEN_Pos 0 /*!< Enable clockout pin */
/* Bit field masks: */
#define SIU_CLKOUTCTL_CLKOUTEN_Msk 0x00000001UL /*!< Enable clockout pin */
/*-- REMAPAF: QEP altfunc control ----------------------------------------------------------------------------*/
typedef struct {
uint32_t QEPEN :1; /*!< Enable QEP altfunc */
uint32_t ECAP0EN :1; /*!< Enable ECAP0 altfunc */
uint32_t ECAP1EN :1; /*!< Enable ECAP1 altfunc */
uint32_t ECAP2EN :1; /*!< Enable ECAP2 altfunc */
} _SIU_REMAPAF_bits;
/* Bit field positions: */
#define SIU_REMAPAF_QEPEN_Pos 0 /*!< Enable QEP altfunc */
#define SIU_REMAPAF_ECAP0EN_Pos 1 /*!< Enable ECAP0 altfunc */
#define SIU_REMAPAF_ECAP1EN_Pos 2 /*!< Enable ECAP1 altfunc */
#define SIU_REMAPAF_ECAP2EN_Pos 3 /*!< Enable ECAP2 altfunc */
/* Bit field masks: */
#define SIU_REMAPAF_QEPEN_Msk 0x00000001UL /*!< Enable QEP altfunc */
#define SIU_REMAPAF_ECAP0EN_Msk 0x00000002UL /*!< Enable ECAP0 altfunc */
#define SIU_REMAPAF_ECAP1EN_Msk 0x00000004UL /*!< Enable ECAP1 altfunc */
#define SIU_REMAPAF_ECAP2EN_Msk 0x00000008UL /*!< Enable ECAP2 altfunc */
/*-- DMAMUX: DMA external requests mux control register ------------------------------------------------------*/
typedef struct {
uint32_t SRCSEL8 :1; /*!< Request source select for DMA channel 8 */
uint32_t :3; /*!< RESERVED */
uint32_t SRCSEL9 :1; /*!< Request source select for DMA channel 9 */
uint32_t :3; /*!< RESERVED */
uint32_t SRCSEL10 :1; /*!< Request source select for DMA channel 10 */
uint32_t :3; /*!< RESERVED */
uint32_t SRCSEL11 :1; /*!< Request source select for DMA channel 11 */
uint32_t :3; /*!< RESERVED */
uint32_t SRCSEL12 :1; /*!< Request source select for DMA channel 12 */
uint32_t :3; /*!< RESERVED */
uint32_t SRCSEL13 :1; /*!< Request source select for DMA channel 13 */
uint32_t :3; /*!< RESERVED */
uint32_t SRCSEL14 :1; /*!< Request source select for DMA channel 14 */
uint32_t :3; /*!< RESERVED */
uint32_t SRCSEL15 :1; /*!< Request source select for DMA channel 15 */
} _SIU_DMAMUX_bits;
/* Bit field positions: */
#define SIU_DMAMUX_SRCSEL8_Pos 0 /*!< Request source select for DMA channel 8 */
#define SIU_DMAMUX_SRCSEL9_Pos 4 /*!< Request source select for DMA channel 9 */
#define SIU_DMAMUX_SRCSEL10_Pos 8 /*!< Request source select for DMA channel 10 */
#define SIU_DMAMUX_SRCSEL11_Pos 12 /*!< Request source select for DMA channel 11 */
#define SIU_DMAMUX_SRCSEL12_Pos 16 /*!< Request source select for DMA channel 12 */
#define SIU_DMAMUX_SRCSEL13_Pos 20 /*!< Request source select for DMA channel 13 */
#define SIU_DMAMUX_SRCSEL14_Pos 24 /*!< Request source select for DMA channel 14 */
#define SIU_DMAMUX_SRCSEL15_Pos 28 /*!< Request source select for DMA channel 15 */
/* Bit field masks: */
#define SIU_DMAMUX_SRCSEL8_Msk 0x00000001UL /*!< Request source select for DMA channel 8 */
#define SIU_DMAMUX_SRCSEL9_Msk 0x00000010UL /*!< Request source select for DMA channel 9 */
#define SIU_DMAMUX_SRCSEL10_Msk 0x00000100UL /*!< Request source select for DMA channel 10 */
#define SIU_DMAMUX_SRCSEL11_Msk 0x00001000UL /*!< Request source select for DMA channel 11 */
#define SIU_DMAMUX_SRCSEL12_Msk 0x00010000UL /*!< Request source select for DMA channel 12 */
#define SIU_DMAMUX_SRCSEL13_Msk 0x00100000UL /*!< Request source select for DMA channel 13 */
#define SIU_DMAMUX_SRCSEL14_Msk 0x01000000UL /*!< Request source select for DMA channel 14 */
#define SIU_DMAMUX_SRCSEL15_Msk 0x10000000UL /*!< Request source select for DMA channel 15 */
/* Bit field enums: */
typedef enum {
SIU_DMAMUX_SRCSEL8_QEP = 0x0UL, /*!< request by QEP */
SIU_DMAMUX_SRCSEL8_GPIOA = 0x1UL, /*!< request by GPIOA */
} SIU_DMAMUX_SRCSEL8_Enum;
typedef enum {
SIU_DMAMUX_SRCSEL9_TMR0 = 0x0UL, /*!< request by TMR0 */
SIU_DMAMUX_SRCSEL9_GPIOB = 0x1UL, /*!< request by GPIOB */
} SIU_DMAMUX_SRCSEL9_Enum;
typedef enum {
SIU_DMAMUX_SRCSEL10_TMR1 = 0x0UL, /*!< request by TMR1 */
SIU_DMAMUX_SRCSEL10_PWM0B = 0x1UL, /*!< request by PWM0B */
} SIU_DMAMUX_SRCSEL10_Enum;
typedef enum {
SIU_DMAMUX_SRCSEL11_TMR2 = 0x0UL, /*!< request by TMR2 */
SIU_DMAMUX_SRCSEL11_PWM1B = 0x1UL, /*!< request by PWM1B */
} SIU_DMAMUX_SRCSEL11_Enum;
typedef enum {
SIU_DMAMUX_SRCSEL12_TMR3 = 0x0UL, /*!< request by TMR3 */
SIU_DMAMUX_SRCSEL12_PWM2B = 0x1UL, /*!< request by PWM2B */
} SIU_DMAMUX_SRCSEL12_Enum;
typedef enum {
SIU_DMAMUX_SRCSEL13_PWM0A = 0x0UL, /*!< request by PWM0A */
SIU_DMAMUX_SRCSEL13_Reserved = 0x1UL, /*!< no source */
} SIU_DMAMUX_SRCSEL13_Enum;
typedef enum {
SIU_DMAMUX_SRCSEL14_PWM1A = 0x0UL, /*!< request by PWM1A */
SIU_DMAMUX_SRCSEL14_Reserved = 0x1UL, /*!< no source */
} SIU_DMAMUX_SRCSEL14_Enum;
typedef enum {
SIU_DMAMUX_SRCSEL15_PWM2A = 0x0UL, /*!< request by PWM2A */
SIU_DMAMUX_SRCSEL15_Reserved = 0x1UL, /*!< no source */
} SIU_DMAMUX_SRCSEL15_Enum;
/*-- CHIPID: Chip identifier ---------------------------------------------------------------------------------*/
typedef struct {
uint32_t REV :4; /*!< Revision number */
uint32_t ID :28; /*!< Model ID */
} _SIU_CHIPID_bits;
/* Bit field positions: */
#define SIU_CHIPID_REV_Pos 0 /*!< Revision number */
#define SIU_CHIPID_ID_Pos 4 /*!< Model ID */
/* Bit field masks: */
#define SIU_CHIPID_REV_Msk 0x0000000FUL /*!< Revision number */
#define SIU_CHIPID_ID_Msk 0xFFFFFFF0UL /*!< Model ID */
typedef struct {
__IO uint32_t Reserved0[4];
union { /*!< PWM syncronization control register */
__IO uint32_t PWMSYNC; /*!< PWMSYNC : type used for word access */
__IO _SIU_PWMSYNC_bits PWMSYNC_bit; /*!< PWMSYNC_bit: structure used for bit access */
};
union { /*!< Service mode control register */
__IO uint32_t SERVCTL; /*!< SERVCTL : type used for word access */
__IO _SIU_SERVCTL_bits SERVCTL_bit; /*!< SERVCTL_bit: structure used for bit access */
};
union { /*!< Clock out control register */
__IO uint32_t CLKOUTCTL; /*!< CLKOUTCTL : type used for word access */
__IO _SIU_CLKOUTCTL_bits CLKOUTCTL_bit; /*!< CLKOUTCTL_bit: structure used for bit access */
};
union { /*!< QEP altfunc control */
__IO uint32_t REMAPAF; /*!< REMAPAF : type used for word access */
__IO _SIU_REMAPAF_bits REMAPAF_bit; /*!< REMAPAF_bit: structure used for bit access */
};
union { /*!< DMA external requests mux control register */
__IO uint32_t DMAMUX; /*!< DMAMUX : type used for word access */
__IO _SIU_DMAMUX_bits DMAMUX_bit; /*!< DMAMUX_bit: structure used for bit access */
};
__IO uint32_t Reserved1[1014];
union { /*!< Chip identifier */
__I uint32_t CHIPID; /*!< CHIPID : type used for word access */
__I _SIU_CHIPID_bits CHIPID_bit; /*!< CHIPID_bit: structure used for bit access */
};
} SIU_TypeDef;
/******************************************************************************/
/* RCU registers */
/******************************************************************************/
/*-- OSICFG: Internal oscillator configuration register ------------------------------------------------------*/
typedef struct {
uint32_t EN :1; /*!< Oscillator 8MHz enable */
uint32_t :15; /*!< RESERVED */
uint32_t CAL :10; /*!< Oscillator 8MHz calibration value */
} _RCU_OSICFG_bits;
/* Bit field positions: */
#define RCU_OSICFG_EN_Pos 0 /*!< Oscillator 8MHz enable */
#define RCU_OSICFG_CAL_Pos 16 /*!< Oscillator 8MHz calibration value */
/* Bit field masks: */
#define RCU_OSICFG_EN_Msk 0x00000001UL /*!< Oscillator 8MHz enable */
#define RCU_OSICFG_CAL_Msk 0x03FF0000UL /*!< Oscillator 8MHz calibration value */
/*-- OSECFG: External oscillator configuration register ------------------------------------------------------*/
typedef struct {
uint32_t XOEN :1; /*!< Enable output XO_OSC from external oscillator */
uint32_t EN :1; /*!< Enable external oscallator */
} _RCU_OSECFG_bits;
/* Bit field positions: */
#define RCU_OSECFG_XOEN_Pos 0 /*!< Enable output XO_OSC from external oscillator */
#define RCU_OSECFG_EN_Pos 1 /*!< Enable external oscallator */
/* Bit field masks: */
#define RCU_OSECFG_XOEN_Msk 0x00000001UL /*!< Enable output XO_OSC from external oscillator */
#define RCU_OSECFG_EN_Msk 0x00000002UL /*!< Enable external oscallator */
/*-- PLLCFG: PLL configuration register ----------------------------------------------------------------------*/
typedef struct {
uint32_t M :6; /*!< PLL M Coefficient */
uint32_t :2; /*!< RESERVED */
uint32_t N :6; /*!< PLL N Coefficient */
uint32_t :2; /*!< RESERVED */
uint32_t OD :2; /*!< PLL OD Coefficient */
uint32_t :2; /*!< RESERVED */
uint32_t REFSRC :1; /*!< PLL Reference source select bit */
uint32_t :3; /*!< RESERVED */
uint32_t BYPASS :1; /*!< PLL Bypass enable */
uint32_t :1; /*!< RESERVED */
uint32_t OUTEN :1; /*!< Enable PLL out */
uint32_t :1; /*!< RESERVED */
uint32_t LOCK :1; /*!< PLL status lock */
} _RCU_PLLCFG_bits;
/* Bit field positions: */
#define RCU_PLLCFG_M_Pos 0 /*!< PLL M Coefficient */
#define RCU_PLLCFG_N_Pos 8 /*!< PLL N Coefficient */
#define RCU_PLLCFG_OD_Pos 16 /*!< PLL OD Coefficient */
#define RCU_PLLCFG_REFSRC_Pos 20 /*!< PLL Reference source select bit */
#define RCU_PLLCFG_BYPASS_Pos 24 /*!< PLL Bypass enable */
#define RCU_PLLCFG_OUTEN_Pos 26 /*!< Enable PLL out */
#define RCU_PLLCFG_LOCK_Pos 28 /*!< PLL status lock */
/* Bit field masks: */
#define RCU_PLLCFG_M_Msk 0x0000003FUL /*!< PLL M Coefficient */
#define RCU_PLLCFG_N_Msk 0x00003F00UL /*!< PLL N Coefficient */
#define RCU_PLLCFG_OD_Msk 0x00030000UL /*!< PLL OD Coefficient */
#define RCU_PLLCFG_REFSRC_Msk 0x00100000UL /*!< PLL Reference source select bit */
#define RCU_PLLCFG_BYPASS_Msk 0x01000000UL /*!< PLL Bypass enable */
#define RCU_PLLCFG_OUTEN_Msk 0x04000000UL /*!< Enable PLL out */
#define RCU_PLLCFG_LOCK_Msk 0x10000000UL /*!< PLL status lock */
/* Bit field enums: */
typedef enum {
RCU_PLLCFG_OD_Disable = 0x0UL, /*!< disabled */
RCU_PLLCFG_OD_Div2 = 0x1UL, /*!< divide by 2 */
RCU_PLLCFG_OD_Div4 = 0x2UL, /*!< divide by 4 */
RCU_PLLCFG_OD_Div8 = 0x3UL, /*!< divide by 8 */
} RCU_PLLCFG_OD_Enum;
typedef enum {
RCU_PLLCFG_REFSRC_OSECLK = 0x0UL, /*!< external oscillator */
RCU_PLLCFG_REFSRC_OSICLK = 0x1UL, /*!< internal oscillator */
} RCU_PLLCFG_REFSRC_Enum;
/*-- PLLDIV: PLL divider register ----------------------------------------------------------------------------*/
typedef struct {
uint32_t DIVEN :1; /*!< PLL Divider enable bit */
uint32_t :7; /*!< RESERVED */
uint32_t DIV :6; /*!< PLL divider coefficent */
} _RCU_PLLDIV_bits;
/* Bit field positions: */
#define RCU_PLLDIV_DIVEN_Pos 0 /*!< PLL Divider enable bit */
#define RCU_PLLDIV_DIV_Pos 8 /*!< PLL divider coefficent */
/* Bit field masks: */
#define RCU_PLLDIV_DIVEN_Msk 0x00000001UL /*!< PLL Divider enable bit */
#define RCU_PLLDIV_DIV_Msk 0x00003F00UL /*!< PLL divider coefficent */
/*-- SYSCLKCFG: System clock configuration register ----------------------------------------------------------*/
typedef struct {
uint32_t SYSSEL :2; /*!< System clock source selection */
uint32_t :14; /*!< RESERVED */
uint32_t SECEN :1; /*!< Enable clock security system */
} _RCU_SYSCLKCFG_bits;
/* Bit field positions: */
#define RCU_SYSCLKCFG_SYSSEL_Pos 0 /*!< System clock source selection */
#define RCU_SYSCLKCFG_SECEN_Pos 16 /*!< Enable clock security system */
/* Bit field masks: */
#define RCU_SYSCLKCFG_SYSSEL_Msk 0x00000003UL /*!< System clock source selection */
#define RCU_SYSCLKCFG_SECEN_Msk 0x00010000UL /*!< Enable clock security system */
/* Bit field enums: */
typedef enum {
RCU_SYSCLKCFG_SYSSEL_OSICLK = 0x0UL, /*!< internal oscillator */
RCU_SYSCLKCFG_SYSSEL_OSECLK = 0x1UL, /*!< external oscillator */
RCU_SYSCLKCFG_SYSSEL_PLLCLK = 0x2UL, /*!< PLL output clock */
RCU_SYSCLKCFG_SYSSEL_PLLDIVCLK = 0x3UL, /*!< PLL divided clock */
} RCU_SYSCLKCFG_SYSSEL_Enum;
/*-- SYSCLKSTAT: System clock status register ----------------------------------------------------------------*/
typedef struct {
uint32_t SYSSTAT :2; /*!< Current system source clock */
uint32_t :2; /*!< RESERVED */
uint32_t BUSY :1; /*!< Clock manager is busy, for example, when change clock source */
uint32_t :3; /*!< RESERVED */
uint32_t SYSFAIL :1; /*!< Error in current clock was detected */
uint32_t :8; /*!< RESERVED */
uint32_t OSECLKFAIL :1; /*!< External oscillator clock fail */
uint32_t PLLCLKFAIL :1; /*!< PLL source clock fail */
uint32_t PLLDIVCLKFAIL :1; /*!< PLL divided clock fail */
uint32_t :5; /*!< RESERVED */
uint32_t OSECLKGOOD :1; /*!< External oscillator clock good */
uint32_t PLLCLKGOOD :1; /*!< PLL clock good */
uint32_t PLLDIVCLKGOOD :1; /*!< PLL divided clock good */
} _RCU_SYSCLKSTAT_bits;
/* Bit field positions: */
#define RCU_SYSCLKSTAT_SYSSTAT_Pos 0 /*!< Current system source clock */
#define RCU_SYSCLKSTAT_BUSY_Pos 4 /*!< Clock manager is busy, for example, when change clock source */
#define RCU_SYSCLKSTAT_SYSFAIL_Pos 8 /*!< Error in current clock was detected */
#define RCU_SYSCLKSTAT_OSECLKFAIL_Pos 17 /*!< External oscillator clock fail */
#define RCU_SYSCLKSTAT_PLLCLKFAIL_Pos 18 /*!< PLL source clock fail */
#define RCU_SYSCLKSTAT_PLLDIVCLKFAIL_Pos 19 /*!< PLL divided clock fail */
#define RCU_SYSCLKSTAT_OSECLKGOOD_Pos 25 /*!< External oscillator clock good */
#define RCU_SYSCLKSTAT_PLLCLKGOOD_Pos 26 /*!< PLL clock good */
#define RCU_SYSCLKSTAT_PLLDIVCLKGOOD_Pos 27 /*!< PLL divided clock good */
/* Bit field masks: */
#define RCU_SYSCLKSTAT_SYSSTAT_Msk 0x00000003UL /*!< Current system source clock */
#define RCU_SYSCLKSTAT_BUSY_Msk 0x00000010UL /*!< Clock manager is busy, for example, when change clock source */
#define RCU_SYSCLKSTAT_SYSFAIL_Msk 0x00000100UL /*!< Error in current clock was detected */
#define RCU_SYSCLKSTAT_OSECLKFAIL_Msk 0x00020000UL /*!< External oscillator clock fail */
#define RCU_SYSCLKSTAT_PLLCLKFAIL_Msk 0x00040000UL /*!< PLL source clock fail */
#define RCU_SYSCLKSTAT_PLLDIVCLKFAIL_Msk 0x00080000UL /*!< PLL divided clock fail */
#define RCU_SYSCLKSTAT_OSECLKGOOD_Msk 0x02000000UL /*!< External oscillator clock good */
#define RCU_SYSCLKSTAT_PLLCLKGOOD_Msk 0x04000000UL /*!< PLL clock good */
#define RCU_SYSCLKSTAT_PLLDIVCLKGOOD_Msk 0x08000000UL /*!< PLL divided clock good */
/* Bit field enums: */
typedef enum {
RCU_SYSCLKSTAT_SYSSTAT_OSICLK = 0x0UL, /*!< internal oscillator */
RCU_SYSCLKSTAT_SYSSTAT_OSECLK = 0x1UL, /*!< external oscillator */
RCU_SYSCLKSTAT_SYSSTAT_PLLCLK = 0x2UL, /*!< PLL output clock */
RCU_SYSCLKSTAT_SYSSTAT_PLLDIVCLK = 0x3UL, /*!< PLL divided clock */
} RCU_SYSCLKSTAT_SYSSTAT_Enum;
/*-- SECPRD: Security sysytem clock period register ----------------------------------------------------------*/
typedef struct {
uint32_t :8; /*!< RESERVED */
uint32_t OSECLK :8; /*!< Max counter value for external oscillator clock fail detection */
uint32_t PLLCLK :8; /*!< Max counter value for PLL clock fail detection */
uint32_t PLLDIVCLK :8; /*!< Max counter value for PLL clock fail detection */
} _RCU_SECPRD_bits;
/* Bit field positions: */
#define RCU_SECPRD_OSECLK_Pos 8 /*!< Max counter value for external oscillator clock fail detection */
#define RCU_SECPRD_PLLCLK_Pos 16 /*!< Max counter value for PLL clock fail detection */
#define RCU_SECPRD_PLLDIVCLK_Pos 24 /*!< Max counter value for PLL clock fail detection */
/* Bit field masks: */
#define RCU_SECPRD_OSECLK_Msk 0x0000FF00UL /*!< Max counter value for external oscillator clock fail detection */
#define RCU_SECPRD_PLLCLK_Msk 0x00FF0000UL /*!< Max counter value for PLL clock fail detection */
#define RCU_SECPRD_PLLDIVCLK_Msk 0xFF000000UL /*!< Max counter value for PLL clock fail detection */
/*-- SYSRSTCFG: System reset configuration register ----------------------------------------------------------*/
typedef struct {
uint32_t LOCKUPEN :1; /*!< Enable reset when processor in LOCKUP state */
} _RCU_SYSRSTCFG_bits;
/* Bit field positions: */
#define RCU_SYSRSTCFG_LOCKUPEN_Pos 0 /*!< Enable reset when processor in LOCKUP state */
/* Bit field masks: */
#define RCU_SYSRSTCFG_LOCKUPEN_Msk 0x00000001UL /*!< Enable reset when processor in LOCKUP state */
/*-- SYSRSTSTAT: Reset status register -----------------------------------------------------------------------*/
typedef struct {
uint32_t POR :1; /*!< PowerOn Reset status */
uint32_t WDOG :1; /*!< WatchDog Reset status */
uint32_t SYSRST :1; /*!< System Reset Status */
uint32_t LOCKUP :1; /*!< Lockup Reset Status */
} _RCU_SYSRSTSTAT_bits;
/* Bit field positions: */
#define RCU_SYSRSTSTAT_POR_Pos 0 /*!< PowerOn Reset status */
#define RCU_SYSRSTSTAT_WDOG_Pos 1 /*!< WatchDog Reset status */
#define RCU_SYSRSTSTAT_SYSRST_Pos 2 /*!< System Reset Status */
#define RCU_SYSRSTSTAT_LOCKUP_Pos 3 /*!< Lockup Reset Status */
/* Bit field masks: */
#define RCU_SYSRSTSTAT_POR_Msk 0x00000001UL /*!< PowerOn Reset status */
#define RCU_SYSRSTSTAT_WDOG_Msk 0x00000002UL /*!< WatchDog Reset status */
#define RCU_SYSRSTSTAT_SYSRST_Msk 0x00000004UL /*!< System Reset Status */
#define RCU_SYSRSTSTAT_LOCKUP_Msk 0x00000008UL /*!< Lockup Reset Status */
/*-- INTEN: Interrupt enable register ------------------------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t OSECLKFAIL :1; /*!< Enable OSECLK fail interrupt */
uint32_t PLLCLKFAIL :1; /*!< Enable PLLCLK fail interrupt */
uint32_t PLLDIVCLKFAIL :1; /*!< Enable PLLDIVCLK fail interrupt */
uint32_t :5; /*!< RESERVED */
uint32_t OSECLKGOOD :1; /*!< Enable OSECLK good interrupt */
uint32_t PLLCLKGOOD :1; /*!< Enable PLLCLK good interrupt */
uint32_t PLLDIVCLKGOOD :1; /*!< Enable PLLDIVCLK good interrupt */
uint32_t :4; /*!< RESERVED */
uint32_t PLLLOCK :1; /*!< Enable int from pll lock signal */
} _RCU_INTEN_bits;
/* Bit field positions: */
#define RCU_INTEN_OSECLKFAIL_Pos 1 /*!< Enable OSECLK fail interrupt */
#define RCU_INTEN_PLLCLKFAIL_Pos 2 /*!< Enable PLLCLK fail interrupt */
#define RCU_INTEN_PLLDIVCLKFAIL_Pos 3 /*!< Enable PLLDIVCLK fail interrupt */
#define RCU_INTEN_OSECLKGOOD_Pos 9 /*!< Enable OSECLK good interrupt */
#define RCU_INTEN_PLLCLKGOOD_Pos 10 /*!< Enable PLLCLK good interrupt */
#define RCU_INTEN_PLLDIVCLKGOOD_Pos 11 /*!< Enable PLLDIVCLK good interrupt */
#define RCU_INTEN_PLLLOCK_Pos 16 /*!< Enable int from pll lock signal */
/* Bit field masks: */
#define RCU_INTEN_OSECLKFAIL_Msk 0x00000002UL /*!< Enable OSECLK fail interrupt */
#define RCU_INTEN_PLLCLKFAIL_Msk 0x00000004UL /*!< Enable PLLCLK fail interrupt */
#define RCU_INTEN_PLLDIVCLKFAIL_Msk 0x00000008UL /*!< Enable PLLDIVCLK fail interrupt */
#define RCU_INTEN_OSECLKGOOD_Msk 0x00000200UL /*!< Enable OSECLK good interrupt */
#define RCU_INTEN_PLLCLKGOOD_Msk 0x00000400UL /*!< Enable PLLCLK good interrupt */
#define RCU_INTEN_PLLDIVCLKGOOD_Msk 0x00000800UL /*!< Enable PLLDIVCLK good interrupt */
#define RCU_INTEN_PLLLOCK_Msk 0x00010000UL /*!< Enable int from pll lock signal */
/*-- INTSTAT: Interrupt status register ----------------------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t OSECLKFAIL :1; /*!< Status external oscillator clock fail signal */
uint32_t PLLCLKFAIL :1; /*!< Status PLL clock fail signal */
uint32_t PLLDIVCLKFAIL :1; /*!< Status PLLDIV clock fail signal */
uint32_t :5; /*!< RESERVED */
uint32_t OSECLKGOOD :1; /*!< Status external oscillator clock good signal */
uint32_t PLLCLKGOOD :1; /*!< Status PLL clock good signal */
uint32_t PLLDIVCLKGOOD :1; /*!< Status PLLDIV clock good signal */
uint32_t :4; /*!< RESERVED */
uint32_t PLLLOCK :1; /*!< Status pll lock signal */
uint32_t :3; /*!< RESERVED */
uint32_t SYSFAIL :1; /*!< Current clock failed status */
} _RCU_INTSTAT_bits;
/* Bit field positions: */
#define RCU_INTSTAT_OSECLKFAIL_Pos 1 /*!< Status external oscillator clock fail signal */
#define RCU_INTSTAT_PLLCLKFAIL_Pos 2 /*!< Status PLL clock fail signal */
#define RCU_INTSTAT_PLLDIVCLKFAIL_Pos 3 /*!< Status PLLDIV clock fail signal */
#define RCU_INTSTAT_OSECLKGOOD_Pos 9 /*!< Status external oscillator clock good signal */
#define RCU_INTSTAT_PLLCLKGOOD_Pos 10 /*!< Status PLL clock good signal */
#define RCU_INTSTAT_PLLDIVCLKGOOD_Pos 11 /*!< Status PLLDIV clock good signal */
#define RCU_INTSTAT_PLLLOCK_Pos 16 /*!< Status pll lock signal */
#define RCU_INTSTAT_SYSFAIL_Pos 20 /*!< Current clock failed status */
/* Bit field masks: */
#define RCU_INTSTAT_OSECLKFAIL_Msk 0x00000002UL /*!< Status external oscillator clock fail signal */
#define RCU_INTSTAT_PLLCLKFAIL_Msk 0x00000004UL /*!< Status PLL clock fail signal */
#define RCU_INTSTAT_PLLDIVCLKFAIL_Msk 0x00000008UL /*!< Status PLLDIV clock fail signal */
#define RCU_INTSTAT_OSECLKGOOD_Msk 0x00000200UL /*!< Status external oscillator clock good signal */
#define RCU_INTSTAT_PLLCLKGOOD_Msk 0x00000400UL /*!< Status PLL clock good signal */
#define RCU_INTSTAT_PLLDIVCLKGOOD_Msk 0x00000800UL /*!< Status PLLDIV clock good signal */
#define RCU_INTSTAT_PLLLOCK_Msk 0x00010000UL /*!< Status pll lock signal */
#define RCU_INTSTAT_SYSFAIL_Msk 0x00100000UL /*!< Current clock failed status */
/*-- TRACECFG: Trace clock configuration register ------------------------------------------------------------*/
typedef struct {
uint32_t CLKEN :1; /*!< Clock enable */
uint32_t :7; /*!< RESERVED */
uint32_t CLKSEL :2; /*!< Clock source select */
uint32_t :6; /*!< RESERVED */
uint32_t DIVEN :1; /*!< Enable divider */
uint32_t :7; /*!< RESERVED */
uint32_t DIVN :6; /*!< Divider coefficient */
} _RCU_TRACECFG_bits;
/* Bit field positions: */
#define RCU_TRACECFG_CLKEN_Pos 0 /*!< Clock enable */
#define RCU_TRACECFG_CLKSEL_Pos 8 /*!< Clock source select */
#define RCU_TRACECFG_DIVEN_Pos 16 /*!< Enable divider */
#define RCU_TRACECFG_DIVN_Pos 24 /*!< Divider coefficient */
/* Bit field masks: */
#define RCU_TRACECFG_CLKEN_Msk 0x00000001UL /*!< Clock enable */
#define RCU_TRACECFG_CLKSEL_Msk 0x00000300UL /*!< Clock source select */
#define RCU_TRACECFG_DIVEN_Msk 0x00010000UL /*!< Enable divider */
#define RCU_TRACECFG_DIVN_Msk 0x3F000000UL /*!< Divider coefficient */
/* Bit field enums: */
typedef enum {
RCU_TRACECFG_CLKSEL_OSICLK = 0x0UL, /*!< internal oscillator */
RCU_TRACECFG_CLKSEL_OSECLK = 0x1UL, /*!< external oscillator */
RCU_TRACECFG_CLKSEL_PLLCLK = 0x2UL, /*!< PLL output clock */
RCU_TRACECFG_CLKSEL_PLLDIVCLK = 0x3UL, /*!< PLL divided clock */
} RCU_TRACECFG_CLKSEL_Enum;
/*-- CLKOUTCFG: Clockout configuration register --------------------------------------------------------------*/
typedef struct {
uint32_t CLKEN :1; /*!< Clock enable */
uint32_t :7; /*!< RESERVED */
uint32_t CLKSEL :2; /*!< Clock source select */
uint32_t :6; /*!< RESERVED */
uint32_t DIVEN :1; /*!< Enable divider */
uint32_t :7; /*!< RESERVED */
uint32_t DIVN :3; /*!< Divider coefficient */
} _RCU_CLKOUTCFG_bits;
/* Bit field positions: */
#define RCU_CLKOUTCFG_CLKEN_Pos 0 /*!< Clock enable */
#define RCU_CLKOUTCFG_CLKSEL_Pos 8 /*!< Clock source select */
#define RCU_CLKOUTCFG_DIVEN_Pos 16 /*!< Enable divider */
#define RCU_CLKOUTCFG_DIVN_Pos 24 /*!< Divider coefficient */
/* Bit field masks: */
#define RCU_CLKOUTCFG_CLKEN_Msk 0x00000001UL /*!< Clock enable */
#define RCU_CLKOUTCFG_CLKSEL_Msk 0x00000300UL /*!< Clock source select */
#define RCU_CLKOUTCFG_DIVEN_Msk 0x00010000UL /*!< Enable divider */
#define RCU_CLKOUTCFG_DIVN_Msk 0x07000000UL /*!< Divider coefficient */
/* Bit field enums: */
typedef enum {
RCU_CLKOUTCFG_CLKSEL_OSICLK = 0x0UL, /*!< internal oscillator */
RCU_CLKOUTCFG_CLKSEL_OSECLK = 0x1UL, /*!< external oscillator */
RCU_CLKOUTCFG_CLKSEL_PLLCLK = 0x2UL, /*!< PLL output clock */
RCU_CLKOUTCFG_CLKSEL_PLLDIVCLK = 0x3UL, /*!< PLL divided clock */
} RCU_CLKOUTCFG_CLKSEL_Enum;
/*-- WDTCFG: WatchDog configuration register -----------------------------------------------------------------*/
typedef struct {
uint32_t CLKEN :1; /*!< Clock enable */
uint32_t :3; /*!< RESERVED */
uint32_t RSTDIS :1; /*!< Reset disable */
uint32_t :3; /*!< RESERVED */
uint32_t CLKSEL :2; /*!< Clock source select */
uint32_t :6; /*!< RESERVED */
uint32_t DIVEN :1; /*!< Enable divider */
uint32_t :7; /*!< RESERVED */
uint32_t DIVN :6; /*!< Divider coefficient */
} _RCU_WDTCFG_bits;
/* Bit field positions: */
#define RCU_WDTCFG_CLKEN_Pos 0 /*!< Clock enable */
#define RCU_WDTCFG_RSTDIS_Pos 4 /*!< Reset disable */
#define RCU_WDTCFG_CLKSEL_Pos 8 /*!< Clock source select */
#define RCU_WDTCFG_DIVEN_Pos 16 /*!< Enable divider */
#define RCU_WDTCFG_DIVN_Pos 24 /*!< Divider coefficient */
/* Bit field masks: */
#define RCU_WDTCFG_CLKEN_Msk 0x00000001UL /*!< Clock enable */
#define RCU_WDTCFG_RSTDIS_Msk 0x00000010UL /*!< Reset disable */
#define RCU_WDTCFG_CLKSEL_Msk 0x00000300UL /*!< Clock source select */
#define RCU_WDTCFG_DIVEN_Msk 0x00010000UL /*!< Enable divider */
#define RCU_WDTCFG_DIVN_Msk 0x3F000000UL /*!< Divider coefficient */
/* Bit field enums: */
typedef enum {
RCU_WDTCFG_CLKSEL_OSICLK = 0x0UL, /*!< internal oscillator */
RCU_WDTCFG_CLKSEL_OSECLK = 0x1UL, /*!< external oscillator */
RCU_WDTCFG_CLKSEL_PLLCLK = 0x2UL, /*!< PLL output clock */
RCU_WDTCFG_CLKSEL_PLLDIVCLK = 0x3UL, /*!< PLL divided clock */
} RCU_WDTCFG_CLKSEL_Enum;
/*-- UARTCFG: UARTCFG: UART clock and reset configuration register --------------------------------------------*/
typedef struct {
uint32_t CLKEN :1; /*!< Clock enable */
uint32_t :3; /*!< RESERVED */
uint32_t RSTDIS :1; /*!< Reset disable */
uint32_t :3; /*!< RESERVED */
uint32_t CLKSEL :2; /*!< Clock source select */
uint32_t :6; /*!< RESERVED */
uint32_t DIVEN :1; /*!< Enable divider */
uint32_t :7; /*!< RESERVED */
uint32_t DIVN :6; /*!< Divider coefficient */
} _RCU_UARTCFG_UARTCFG_bits;
/* Bit field positions: */
#define RCU_UARTCFG_UARTCFG_CLKEN_Pos 0 /*!< Clock enable */
#define RCU_UARTCFG_UARTCFG_RSTDIS_Pos 4 /*!< Reset disable */
#define RCU_UARTCFG_UARTCFG_CLKSEL_Pos 8 /*!< Clock source select */
#define RCU_UARTCFG_UARTCFG_DIVEN_Pos 16 /*!< Enable divider */
#define RCU_UARTCFG_UARTCFG_DIVN_Pos 24 /*!< Divider coefficient */
/* Bit field masks: */
#define RCU_UARTCFG_UARTCFG_CLKEN_Msk 0x00000001UL /*!< Clock enable */
#define RCU_UARTCFG_UARTCFG_RSTDIS_Msk 0x00000010UL /*!< Reset disable */
#define RCU_UARTCFG_UARTCFG_CLKSEL_Msk 0x00000300UL /*!< Clock source select */
#define RCU_UARTCFG_UARTCFG_DIVEN_Msk 0x00010000UL /*!< Enable divider */
#define RCU_UARTCFG_UARTCFG_DIVN_Msk 0x3F000000UL /*!< Divider coefficient */
/* Bit field enums: */
typedef enum {
RCU_UARTCFG_UARTCFG_CLKSEL_OSECLK = 0x0UL, /*!< external oscillator */
RCU_UARTCFG_UARTCFG_CLKSEL_PLLCLK = 0x1UL, /*!< PLL output clock */
RCU_UARTCFG_UARTCFG_CLKSEL_PLLDIVCLK = 0x2UL, /*!< PLL divided clock */
RCU_UARTCFG_UARTCFG_CLKSEL_OSICLK = 0x3UL, /*!< internal oscillator */
} RCU_UARTCFG_UARTCFG_CLKSEL_Enum;
/*-- SPICFG: SPI clock and reset configuration register ------------------------------------------------------*/
typedef struct {
uint32_t CLKEN :1; /*!< Clock enable */
uint32_t :3; /*!< RESERVED */
uint32_t RSTDIS :1; /*!< Reset disable */
uint32_t :3; /*!< RESERVED */
uint32_t CLKSEL :2; /*!< Clock source select */
uint32_t :6; /*!< RESERVED */
uint32_t DIVEN :1; /*!< Enable divider */
uint32_t :7; /*!< RESERVED */
uint32_t DIVN :6; /*!< Divider coefficient */
} _RCU_SPICFG_bits;
/* Bit field positions: */
#define RCU_SPICFG_CLKEN_Pos 0 /*!< Clock enable */
#define RCU_SPICFG_RSTDIS_Pos 4 /*!< Reset disable */
#define RCU_SPICFG_CLKSEL_Pos 8 /*!< Clock source select */
#define RCU_SPICFG_DIVEN_Pos 16 /*!< Enable divider */
#define RCU_SPICFG_DIVN_Pos 24 /*!< Divider coefficient */
/* Bit field masks: */
#define RCU_SPICFG_CLKEN_Msk 0x00000001UL /*!< Clock enable */
#define RCU_SPICFG_RSTDIS_Msk 0x00000010UL /*!< Reset disable */
#define RCU_SPICFG_CLKSEL_Msk 0x00000300UL /*!< Clock source select */
#define RCU_SPICFG_DIVEN_Msk 0x00010000UL /*!< Enable divider */
#define RCU_SPICFG_DIVN_Msk 0x3F000000UL /*!< Divider coefficient */
/* Bit field enums: */
typedef enum {
RCU_SPICFG_CLKSEL_OSECLK = 0x0UL, /*!< external oscillator */
RCU_SPICFG_CLKSEL_PLLCLK = 0x1UL, /*!< PLL output clock */
RCU_SPICFG_CLKSEL_PLLDIVCLK = 0x2UL, /*!< PLL divided clock */
RCU_SPICFG_CLKSEL_OSICLK = 0x3UL, /*!< internal oscillator */
} RCU_SPICFG_CLKSEL_Enum;
/*-- ADCCFG: ADC clock and reset configuration register ------------------------------------------------------*/
typedef struct {
uint32_t CLKEN :1; /*!< Clock enable */
uint32_t :3; /*!< RESERVED */
uint32_t RSTDIS :1; /*!< Reset disable */
uint32_t :3; /*!< RESERVED */
uint32_t CLKSEL :2; /*!< Clock source select */
uint32_t :6; /*!< RESERVED */
uint32_t DIVEN :1; /*!< Enable divider */
uint32_t :7; /*!< RESERVED */
uint32_t DIVN :6; /*!< Divider coefficient */
} _RCU_ADCCFG_bits;
/* Bit field positions: */
#define RCU_ADCCFG_CLKEN_Pos 0 /*!< Clock enable */
#define RCU_ADCCFG_RSTDIS_Pos 4 /*!< Reset disable */
#define RCU_ADCCFG_CLKSEL_Pos 8 /*!< Clock source select */
#define RCU_ADCCFG_DIVEN_Pos 16 /*!< Enable divider */
#define RCU_ADCCFG_DIVN_Pos 24 /*!< Divider coefficient */
/* Bit field masks: */
#define RCU_ADCCFG_CLKEN_Msk 0x00000001UL /*!< Clock enable */
#define RCU_ADCCFG_RSTDIS_Msk 0x00000010UL /*!< Reset disable */
#define RCU_ADCCFG_CLKSEL_Msk 0x00000300UL /*!< Clock source select */
#define RCU_ADCCFG_DIVEN_Msk 0x00010000UL /*!< Enable divider */
#define RCU_ADCCFG_DIVN_Msk 0x3F000000UL /*!< Divider coefficient */
/* Bit field enums: */
typedef enum {
RCU_ADCCFG_CLKSEL_OSECLK = 0x0UL, /*!< external oscillator */
RCU_ADCCFG_CLKSEL_PLLCLK = 0x1UL, /*!< PLL output clock */
RCU_ADCCFG_CLKSEL_PLLDIVCLK = 0x2UL, /*!< PLL divided clock */
RCU_ADCCFG_CLKSEL_OSICLK = 0x3UL, /*!< internal oscillator */
} RCU_ADCCFG_CLKSEL_Enum;
/*-- PCLKCFG: APB clock configuration register ---------------------------------------------------------------*/
typedef struct {
uint32_t TMR0EN :1; /*!< Enable clock for TMR0 */
uint32_t TMR1EN :1; /*!< Enable clock for TMR1 */
uint32_t TMR2EN :1; /*!< Enable clock for TMR2 */
uint32_t TMR3EN :1; /*!< Enable clock for TMR3 */
uint32_t PWM0EN :1; /*!< Enable clock for PWM0 */
uint32_t PWM1EN :1; /*!< Enable clock for PWM1 */
uint32_t PWM2EN :1; /*!< Enable clock for PWM2 */
uint32_t I2CEN :1; /*!< Enable clock for I2C */
uint32_t QEPEN :1; /*!< Enable clock for QEP */
uint32_t ECAP0EN :1; /*!< Enable clock for ECAP0 */
uint32_t ECAP1EN :1; /*!< Enable clock for ECAP1 */
uint32_t ECAP2EN :1; /*!< Enable clock for ECAP2 */
} _RCU_PCLKCFG_bits;
/* Bit field positions: */
#define RCU_PCLKCFG_TMR0EN_Pos 0 /*!< Enable clock for TMR0 */
#define RCU_PCLKCFG_TMR1EN_Pos 1 /*!< Enable clock for TMR1 */
#define RCU_PCLKCFG_TMR2EN_Pos 2 /*!< Enable clock for TMR2 */
#define RCU_PCLKCFG_TMR3EN_Pos 3 /*!< Enable clock for TMR3 */
#define RCU_PCLKCFG_PWM0EN_Pos 4 /*!< Enable clock for PWM0 */
#define RCU_PCLKCFG_PWM1EN_Pos 5 /*!< Enable clock for PWM1 */
#define RCU_PCLKCFG_PWM2EN_Pos 6 /*!< Enable clock for PWM2 */
#define RCU_PCLKCFG_I2CEN_Pos 7 /*!< Enable clock for I2C */
#define RCU_PCLKCFG_QEPEN_Pos 8 /*!< Enable clock for QEP */
#define RCU_PCLKCFG_ECAP0EN_Pos 9 /*!< Enable clock for ECAP0 */
#define RCU_PCLKCFG_ECAP1EN_Pos 10 /*!< Enable clock for ECAP1 */
#define RCU_PCLKCFG_ECAP2EN_Pos 11 /*!< Enable clock for ECAP2 */
/* Bit field masks: */
#define RCU_PCLKCFG_TMR0EN_Msk 0x00000001UL /*!< Enable clock for TMR0 */
#define RCU_PCLKCFG_TMR1EN_Msk 0x00000002UL /*!< Enable clock for TMR1 */
#define RCU_PCLKCFG_TMR2EN_Msk 0x00000004UL /*!< Enable clock for TMR2 */
#define RCU_PCLKCFG_TMR3EN_Msk 0x00000008UL /*!< Enable clock for TMR3 */
#define RCU_PCLKCFG_PWM0EN_Msk 0x00000010UL /*!< Enable clock for PWM0 */
#define RCU_PCLKCFG_PWM1EN_Msk 0x00000020UL /*!< Enable clock for PWM1 */
#define RCU_PCLKCFG_PWM2EN_Msk 0x00000040UL /*!< Enable clock for PWM2 */
#define RCU_PCLKCFG_I2CEN_Msk 0x00000080UL /*!< Enable clock for I2C */
#define RCU_PCLKCFG_QEPEN_Msk 0x00000100UL /*!< Enable clock for QEP */
#define RCU_PCLKCFG_ECAP0EN_Msk 0x00000200UL /*!< Enable clock for ECAP0 */
#define RCU_PCLKCFG_ECAP1EN_Msk 0x00000400UL /*!< Enable clock for ECAP1 */
#define RCU_PCLKCFG_ECAP2EN_Msk 0x00000800UL /*!< Enable clock for ECAP2 */
/*-- PRSTCFG: APB reset configuration register ---------------------------------------------------------------*/
typedef struct {
uint32_t TMR0EN :1; /*!< Disable reset from TMR0 */
uint32_t TMR1EN :1; /*!< Disable reset from TMR1 */
uint32_t TMR2EN :1; /*!< Disable reset from TMR2 */
uint32_t TMR3EN :1; /*!< Disable reset from TMR3 */
uint32_t PWM0EN :1; /*!< Disable reset from PWM0 */
uint32_t PWM1EN :1; /*!< Disable reset from PWM1 */
uint32_t PWM2EN :1; /*!< Disable reset from PWM2 */
uint32_t I2CEN :1; /*!< Disable reset from I2C */
uint32_t QEPEN :1; /*!< Disable reset from QEP */
uint32_t ECAP0EN :1; /*!< Disable reset from ECAP0 */
uint32_t ECAP1EN :1; /*!< Disable reset from ECAP1 */
uint32_t ECAP2EN :1; /*!< Disable reset from ECAP2 */
} _RCU_PRSTCFG_bits;
/* Bit field positions: */
#define RCU_PRSTCFG_TMR0EN_Pos 0 /*!< Disable reset from TMR0 */
#define RCU_PRSTCFG_TMR1EN_Pos 1 /*!< Disable reset from TMR1 */
#define RCU_PRSTCFG_TMR2EN_Pos 2 /*!< Disable reset from TMR2 */
#define RCU_PRSTCFG_TMR3EN_Pos 3 /*!< Disable reset from TMR3 */
#define RCU_PRSTCFG_PWM0EN_Pos 4 /*!< Disable reset from PWM0 */
#define RCU_PRSTCFG_PWM1EN_Pos 5 /*!< Disable reset from PWM1 */
#define RCU_PRSTCFG_PWM2EN_Pos 6 /*!< Disable reset from PWM2 */
#define RCU_PRSTCFG_I2CEN_Pos 7 /*!< Disable reset from I2C */
#define RCU_PRSTCFG_QEPEN_Pos 8 /*!< Disable reset from QEP */
#define RCU_PRSTCFG_ECAP0EN_Pos 9 /*!< Disable reset from ECAP0 */
#define RCU_PRSTCFG_ECAP1EN_Pos 10 /*!< Disable reset from ECAP1 */
#define RCU_PRSTCFG_ECAP2EN_Pos 11 /*!< Disable reset from ECAP2 */
/* Bit field masks: */
#define RCU_PRSTCFG_TMR0EN_Msk 0x00000001UL /*!< Disable reset from TMR0 */
#define RCU_PRSTCFG_TMR1EN_Msk 0x00000002UL /*!< Disable reset from TMR1 */
#define RCU_PRSTCFG_TMR2EN_Msk 0x00000004UL /*!< Disable reset from TMR2 */
#define RCU_PRSTCFG_TMR3EN_Msk 0x00000008UL /*!< Disable reset from TMR3 */
#define RCU_PRSTCFG_PWM0EN_Msk 0x00000010UL /*!< Disable reset from PWM0 */
#define RCU_PRSTCFG_PWM1EN_Msk 0x00000020UL /*!< Disable reset from PWM1 */
#define RCU_PRSTCFG_PWM2EN_Msk 0x00000040UL /*!< Disable reset from PWM2 */
#define RCU_PRSTCFG_I2CEN_Msk 0x00000080UL /*!< Disable reset from I2C */
#define RCU_PRSTCFG_QEPEN_Msk 0x00000100UL /*!< Disable reset from QEP */
#define RCU_PRSTCFG_ECAP0EN_Msk 0x00000200UL /*!< Disable reset from ECAP0 */
#define RCU_PRSTCFG_ECAP1EN_Msk 0x00000400UL /*!< Disable reset from ECAP1 */
#define RCU_PRSTCFG_ECAP2EN_Msk 0x00000800UL /*!< Disable reset from ECAP2 */
/*-- HCLKCFG: AHB clock configuration register ---------------------------------------------------------------*/
typedef struct {
uint32_t GPIOAEN :1; /*!< Enable clock for GPIOA port */
uint32_t GPIOBEN :1; /*!< Enable clock for GPIOB port */
uint32_t CANEN :1; /*!< Enable clock for CAN */
} _RCU_HCLKCFG_bits;
/* Bit field positions: */
#define RCU_HCLKCFG_GPIOAEN_Pos 0 /*!< Enable clock for GPIOA port */
#define RCU_HCLKCFG_GPIOBEN_Pos 1 /*!< Enable clock for GPIOB port */
#define RCU_HCLKCFG_CANEN_Pos 2 /*!< Enable clock for CAN */
/* Bit field masks: */
#define RCU_HCLKCFG_GPIOAEN_Msk 0x00000001UL /*!< Enable clock for GPIOA port */
#define RCU_HCLKCFG_GPIOBEN_Msk 0x00000002UL /*!< Enable clock for GPIOB port */
#define RCU_HCLKCFG_CANEN_Msk 0x00000004UL /*!< Enable clock for CAN */
/*-- HRSTCFG: AHB reset configuration register ---------------------------------------------------------------*/
typedef struct {
uint32_t GPIOAEN :1; /*!< Disable reset from GPIOA port */
uint32_t GPIOBEN :1; /*!< Disable reset from GPIOB port */
uint32_t CANEN :1; /*!< Disable reset from CAN */
} _RCU_HRSTCFG_bits;
/* Bit field positions: */
#define RCU_HRSTCFG_GPIOAEN_Pos 0 /*!< Disable reset from GPIOA port */
#define RCU_HRSTCFG_GPIOBEN_Pos 1 /*!< Disable reset from GPIOB port */
#define RCU_HRSTCFG_CANEN_Pos 2 /*!< Disable reset from CAN */
/* Bit field masks: */
#define RCU_HRSTCFG_GPIOAEN_Msk 0x00000001UL /*!< Disable reset from GPIOA port */
#define RCU_HRSTCFG_GPIOBEN_Msk 0x00000002UL /*!< Disable reset from GPIOB port */
#define RCU_HRSTCFG_CANEN_Msk 0x00000004UL /*!< Disable reset from CAN */
//Cluster UARTCFG:
typedef struct {
union {
/*!< UART clock and reset configuration register */
__IO uint32_t UARTCFG; /*!< UARTCFG : type used for word access */
__IO _RCU_UARTCFG_UARTCFG_bits UARTCFG_bit; /*!< UARTCFG_bit: structure used for bit access */
};
} _RCU_UARTCFG_TypeDef;
typedef struct {
union { /*!< Internal oscillator configuration register */
__IO uint32_t OSICFG; /*!< OSICFG : type used for word access */
__IO _RCU_OSICFG_bits OSICFG_bit; /*!< OSICFG_bit: structure used for bit access */
};
union { /*!< External oscillator configuration register */
__IO uint32_t OSECFG; /*!< OSECFG : type used for word access */
__IO _RCU_OSECFG_bits OSECFG_bit; /*!< OSECFG_bit: structure used for bit access */
};
union { /*!< PLL configuration register */
__IO uint32_t PLLCFG; /*!< PLLCFG : type used for word access */
__IO _RCU_PLLCFG_bits PLLCFG_bit; /*!< PLLCFG_bit: structure used for bit access */
};
union { /*!< PLL divider register */
__IO uint32_t PLLDIV; /*!< PLLDIV : type used for word access */
__IO _RCU_PLLDIV_bits PLLDIV_bit; /*!< PLLDIV_bit: structure used for bit access */
};
union { /*!< System clock configuration register */
__IO uint32_t SYSCLKCFG; /*!< SYSCLKCFG : type used for word access */
__IO _RCU_SYSCLKCFG_bits SYSCLKCFG_bit; /*!< SYSCLKCFG_bit: structure used for bit access */
};
union { /*!< System clock status register */
__I uint32_t SYSCLKSTAT; /*!< SYSCLKSTAT : type used for word access */
__I _RCU_SYSCLKSTAT_bits SYSCLKSTAT_bit; /*!< SYSCLKSTAT_bit: structure used for bit access */
};
union { /*!< Security sysytem clock period register */
__IO uint32_t SECPRD; /*!< SECPRD : type used for word access */
__IO _RCU_SECPRD_bits SECPRD_bit; /*!< SECPRD_bit: structure used for bit access */
};
union { /*!< System reset configuration register */
__IO uint32_t SYSRSTCFG; /*!< SYSRSTCFG : type used for word access */
__IO _RCU_SYSRSTCFG_bits SYSRSTCFG_bit; /*!< SYSRSTCFG_bit: structure used for bit access */
};
union { /*!< Reset status register */
__IO uint32_t SYSRSTSTAT; /*!< SYSRSTSTAT : type used for word access */
__IO _RCU_SYSRSTSTAT_bits SYSRSTSTAT_bit; /*!< SYSRSTSTAT_bit: structure used for bit access */
};
union { /*!< Interrupt enable register */
__IO uint32_t INTEN; /*!< INTEN : type used for word access */
__IO _RCU_INTEN_bits INTEN_bit; /*!< INTEN_bit: structure used for bit access */
};
union { /*!< Interrupt status register */
__IO uint32_t INTSTAT; /*!< INTSTAT : type used for word access */
__IO _RCU_INTSTAT_bits INTSTAT_bit; /*!< INTSTAT_bit: structure used for bit access */
};
union { /*!< Trace clock configuration register */
__IO uint32_t TRACECFG; /*!< TRACECFG : type used for word access */
__IO _RCU_TRACECFG_bits TRACECFG_bit; /*!< TRACECFG_bit: structure used for bit access */
};
union { /*!< Clockout configuration register */
__IO uint32_t CLKOUTCFG; /*!< CLKOUTCFG : type used for word access */
__IO _RCU_CLKOUTCFG_bits CLKOUTCFG_bit; /*!< CLKOUTCFG_bit: structure used for bit access */
};
union { /*!< WatchDog configuration register */
__IO uint32_t WDTCFG; /*!< WDTCFG : type used for word access */
__IO _RCU_WDTCFG_bits WDTCFG_bit; /*!< WDTCFG_bit: structure used for bit access */
};
__IO uint32_t Reserved0[10];
_RCU_UARTCFG_TypeDef UARTCFG[2];
__IO uint32_t Reserved1[6];
union { /*!< SPI clock and reset configuration register */
__IO uint32_t SPICFG; /*!< SPICFG : type used for word access */
__IO _RCU_SPICFG_bits SPICFG_bit; /*!< SPICFG_bit: structure used for bit access */
};
__IO uint32_t Reserved2[7];
union { /*!< ADC clock and reset configuration register */
__IO uint32_t ADCCFG; /*!< ADCCFG : type used for word access */
__IO _RCU_ADCCFG_bits ADCCFG_bit; /*!< ADCCFG_bit: structure used for bit access */
};
__IO uint32_t Reserved3[15];
union { /*!< APB clock configuration register */
__IO uint32_t PCLKCFG; /*!< PCLKCFG : type used for word access */
__IO _RCU_PCLKCFG_bits PCLKCFG_bit; /*!< PCLKCFG_bit: structure used for bit access */
};
__IO uint32_t Reserved4[3];
union { /*!< APB reset configuration register */
__IO uint32_t PRSTCFG; /*!< PRSTCFG : type used for word access */
__IO _RCU_PRSTCFG_bits PRSTCFG_bit; /*!< PRSTCFG_bit: structure used for bit access */
};
__IO uint32_t Reserved5[3];
union { /*!< AHB clock configuration register */
__IO uint32_t HCLKCFG; /*!< HCLKCFG : type used for word access */
__IO _RCU_HCLKCFG_bits HCLKCFG_bit; /*!< HCLKCFG_bit: structure used for bit access */
};
union { /*!< AHB reset configuration register */
__IO uint32_t HRSTCFG; /*!< HRSTCFG : type used for word access */
__IO _RCU_HRSTCFG_bits HRSTCFG_bit; /*!< HRSTCFG_bit: structure used for bit access */
};
} RCU_TypeDef;
/******************************************************************************/
/* PMU registers */
/******************************************************************************/
/*-- CFG: PMU Configuration Register -------------------------------------------------------------------------*/
typedef struct {
uint32_t EN :1; /*!< Enable PMU */
} _PMU_CFG_bits;
/* Bit field positions: */
#define PMU_CFG_EN_Pos 0 /*!< Enable PMU */
/* Bit field masks: */
#define PMU_CFG_EN_Msk 0x00000001UL /*!< Enable PMU */
/*-- PUDEL: PMU Powerup Delay Value --------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :16; /*!< Delay value for powerup peripheral blocks (in OSICLK ticks) */
} _PMU_PUDEL_bits;
/* Bit field positions: */
#define PMU_PUDEL_VAL_Pos 0 /*!< Delay value for powerup peripheral blocks (in OSICLK ticks) */
/* Bit field masks: */
#define PMU_PUDEL_VAL_Msk 0x0000FFFFUL /*!< Delay value for powerup peripheral blocks (in OSICLK ticks) */
/*-- PDEN: PMU Enable Powerdown for peripheral ---------------------------------------------------------------*/
typedef struct {
uint32_t PLLPD :1; /*!< Enable powerdown for PLL */
uint32_t MFLASHPD :1; /*!< Enable powerdown for MFLASH */
uint32_t OSEPD :1; /*!< Enable powerdown for external oscillator */
} _PMU_PDEN_bits;
/* Bit field positions: */
#define PMU_PDEN_PLLPD_Pos 0 /*!< Enable powerdown for PLL */
#define PMU_PDEN_MFLASHPD_Pos 1 /*!< Enable powerdown for MFLASH */
#define PMU_PDEN_OSEPD_Pos 2 /*!< Enable powerdown for external oscillator */
/* Bit field masks: */
#define PMU_PDEN_PLLPD_Msk 0x00000001UL /*!< Enable powerdown for PLL */
#define PMU_PDEN_MFLASHPD_Msk 0x00000002UL /*!< Enable powerdown for MFLASH */
#define PMU_PDEN_OSEPD_Msk 0x00000004UL /*!< Enable powerdown for external oscillator */
/*-- RXEVEN: PMU RX Event generation enable register ---------------------------------------------------------*/
typedef struct {
uint32_t GPIOAEV :1; /*!< Enable RX event from GPIOA pins */
uint32_t GPIOBEV :1; /*!< Enable RX event from GPIOB pins */
} _PMU_RXEVEN_bits;
/* Bit field positions: */
#define PMU_RXEVEN_GPIOAEV_Pos 0 /*!< Enable RX event from GPIOA pins */
#define PMU_RXEVEN_GPIOBEV_Pos 1 /*!< Enable RX event from GPIOB pins */
/* Bit field masks: */
#define PMU_RXEVEN_GPIOAEV_Msk 0x00000001UL /*!< Enable RX event from GPIOA pins */
#define PMU_RXEVEN_GPIOBEV_Msk 0x00000002UL /*!< Enable RX event from GPIOB pins */
typedef struct {
union { /*!< PMU Configuration Register */
__IO uint32_t CFG; /*!< CFG : type used for word access */
__IO _PMU_CFG_bits CFG_bit; /*!< CFG_bit: structure used for bit access */
};
union { /*!< PMU Powerup Delay Value */
__IO uint32_t PUDEL; /*!< PUDEL : type used for word access */
__IO _PMU_PUDEL_bits PUDEL_bit; /*!< PUDEL_bit: structure used for bit access */
};
union { /*!< PMU Enable Powerdown for peripheral */
__IO uint32_t PDEN; /*!< PDEN : type used for word access */
__IO _PMU_PDEN_bits PDEN_bit; /*!< PDEN_bit: structure used for bit access */
};
union { /*!< PMU RX Event generation enable register */
__IO uint32_t RXEVEN; /*!< RXEVEN : type used for word access */
__IO _PMU_RXEVEN_bits RXEVEN_bit; /*!< RXEVEN_bit: structure used for bit access */
};
} PMU_TypeDef;
/******************************************************************************/
/* WDT registers */
/******************************************************************************/
/*-- LOAD: Watchdog Load Register ----------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Begin value counter */
} _WDT_LOAD_bits;
/* Bit field positions: */
#define WDT_LOAD_VAL_Pos 0 /*!< Begin value counter */
/* Bit field masks: */
#define WDT_LOAD_VAL_Msk 0xFFFFFFFFUL /*!< Begin value counter */
/*-- VALUE: Watchdog Value Register --------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Current value counter */
} _WDT_VALUE_bits;
/* Bit field positions: */
#define WDT_VALUE_VAL_Pos 0 /*!< Current value counter */
/* Bit field masks: */
#define WDT_VALUE_VAL_Msk 0xFFFFFFFFUL /*!< Current value counter */
/*-- CTRL: Watchdog Control Register -------------------------------------------------------------------------*/
typedef struct {
uint32_t INTEN :1; /*!< Enable the interrupt event */
uint32_t RESEN :1; /*!< Enable watchdog reset output */
} _WDT_CTRL_bits;
/* Bit field positions: */
#define WDT_CTRL_INTEN_Pos 0 /*!< Enable the interrupt event */
#define WDT_CTRL_RESEN_Pos 1 /*!< Enable watchdog reset output */
/* Bit field masks: */
#define WDT_CTRL_INTEN_Msk 0x00000001UL /*!< Enable the interrupt event */
#define WDT_CTRL_RESEN_Msk 0x00000002UL /*!< Enable watchdog reset output */
/*-- INTCLR: Watchdog Clear Interrupt Register ---------------------------------------------------------------*/
typedef struct {
uint32_t WDTCLR :32; /*!< Reset interrupt WDT */
} _WDT_INTCLR_bits;
/* Bit field positions: */
#define WDT_INTCLR_WDTCLR_Pos 0 /*!< Reset interrupt WDT */
/* Bit field masks: */
#define WDT_INTCLR_WDTCLR_Msk 0xFFFFFFFFUL /*!< Reset interrupt WDT */
/*-- RIS: Watchdog Raw Interrupt Status Register -------------------------------------------------------------*/
typedef struct {
uint32_t RAWWDTINT :1; /*!< Raw interrupt status from the counter */
} _WDT_RIS_bits;
/* Bit field positions: */
#define WDT_RIS_RAWWDTINT_Pos 0 /*!< Raw interrupt status from the counter */
/* Bit field masks: */
#define WDT_RIS_RAWWDTINT_Msk 0x00000001UL /*!< Raw interrupt status from the counter */
/*-- MIS: Watchdog Interrupt Status Register -----------------------------------------------------------------*/
typedef struct {
uint32_t WDTINT :1; /*!< Enabled interrupt status from the counter */
} _WDT_MIS_bits;
/* Bit field positions: */
#define WDT_MIS_WDTINT_Pos 0 /*!< Enabled interrupt status from the counter */
/* Bit field masks: */
#define WDT_MIS_WDTINT_Msk 0x00000001UL /*!< Enabled interrupt status from the counter */
/*-- LOCK: Watchdog Lock Register ----------------------------------------------------------------------------*/
typedef struct {
uint32_t REGWRDIS :1; /*!< Disable write to all registers Watchdog */
} _WDT_LOCK_bits;
/* Bit field positions: */
#define WDT_LOCK_REGWRDIS_Pos 0 /*!< Disable write to all registers Watchdog */
/* Bit field masks: */
#define WDT_LOCK_REGWRDIS_Msk 0x00000001UL /*!< Disable write to all registers Watchdog */
typedef struct {
union { /*!< Watchdog Load Register */
__IO uint32_t LOAD; /*!< LOAD : type used for word access */
__IO _WDT_LOAD_bits LOAD_bit; /*!< LOAD_bit: structure used for bit access */
};
union { /*!< Watchdog Value Register */
__I uint32_t VALUE; /*!< VALUE : type used for word access */
__I _WDT_VALUE_bits VALUE_bit; /*!< VALUE_bit: structure used for bit access */
};
union { /*!< Watchdog Control Register */
__IO uint32_t CTRL; /*!< CTRL : type used for word access */
__IO _WDT_CTRL_bits CTRL_bit; /*!< CTRL_bit: structure used for bit access */
};
union { /*!< Watchdog Clear Interrupt Register */
__O uint32_t INTCLR; /*!< INTCLR : type used for word access */
__O _WDT_INTCLR_bits INTCLR_bit; /*!< INTCLR_bit: structure used for bit access */
};
union { /*!< Watchdog Raw Interrupt Status Register */
__I uint32_t RIS; /*!< RIS : type used for word access */
__I _WDT_RIS_bits RIS_bit; /*!< RIS_bit: structure used for bit access */
};
union { /*!< Watchdog Interrupt Status Register */
__I uint32_t MIS; /*!< MIS : type used for word access */
__I _WDT_MIS_bits MIS_bit; /*!< MIS_bit: structure used for bit access */
};
__IO uint32_t Reserved0[762];
union { /*!< Watchdog Lock Register */
__O uint32_t LOCK; /*!< LOCK : type used for word access */
__O _WDT_LOCK_bits LOCK_bit; /*!< LOCK_bit: structure used for bit access */
};
} WDT_TypeDef;
/******************************************************************************/
/* TMR registers */
/******************************************************************************/
/*-- CTRL: Control Timer register ----------------------------------------------------------------------------*/
typedef struct {
uint32_t ON :1; /*!< Enable Timer */
uint32_t EXTINEN :1; /*!< Enable external input as ENABLE */
uint32_t EXTINCLK :1; /*!< Enable external input as CLK */
uint32_t INTEN :1; /*!< Enable Timer interrupt */
} _TMR_CTRL_bits;
/* Bit field positions: */
#define TMR_CTRL_ON_Pos 0 /*!< Enable Timer */
#define TMR_CTRL_EXTINEN_Pos 1 /*!< Enable external input as ENABLE */
#define TMR_CTRL_EXTINCLK_Pos 2 /*!< Enable external input as CLK */
#define TMR_CTRL_INTEN_Pos 3 /*!< Enable Timer interrupt */
/* Bit field masks: */
#define TMR_CTRL_ON_Msk 0x00000001UL /*!< Enable Timer */
#define TMR_CTRL_EXTINEN_Msk 0x00000002UL /*!< Enable external input as ENABLE */
#define TMR_CTRL_EXTINCLK_Msk 0x00000004UL /*!< Enable external input as CLK */
#define TMR_CTRL_INTEN_Msk 0x00000008UL /*!< Enable Timer interrupt */
/*-- VALUE: Current value timer register ---------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Current value timer */
} _TMR_VALUE_bits;
/* Bit field positions: */
#define TMR_VALUE_VAL_Pos 0 /*!< Current value timer */
/* Bit field masks: */
#define TMR_VALUE_VAL_Msk 0xFFFFFFFFUL /*!< Current value timer */
/*-- LOAD: Reload value timer register -----------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Reload value. A write to this register sets the current value */
} _TMR_LOAD_bits;
/* Bit field positions: */
#define TMR_LOAD_VAL_Pos 0 /*!< Reload value. A write to this register sets the current value */
/* Bit field masks: */
#define TMR_LOAD_VAL_Msk 0xFFFFFFFFUL /*!< Reload value. A write to this register sets the current value */
/*-- INTSTATUS: Interrupt status register --------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Timer interrupt flag */
} _TMR_INTSTATUS_bits;
/* Bit field positions: */
#define TMR_INTSTATUS_INT_Pos 0 /*!< Timer interrupt flag */
/* Bit field masks: */
#define TMR_INTSTATUS_INT_Msk 0x00000001UL /*!< Timer interrupt flag */
/*-- DMAREQ: DMA request register ----------------------------------------------------------------------------*/
typedef struct {
uint32_t EN :1; /*!< */
} _TMR_DMAREQ_bits;
/* Bit field positions: */
#define TMR_DMAREQ_EN_Pos 0 /*!< */
/* Bit field masks: */
#define TMR_DMAREQ_EN_Msk 0x00000001UL /*!< */
/*-- ADCSOC: ADC start of conversion register ----------------------------------------------------------------*/
typedef struct {
uint32_t EN :1; /*!< */
} _TMR_ADCSOC_bits;
/* Bit field positions: */
#define TMR_ADCSOC_EN_Pos 0 /*!< */
/* Bit field masks: */
#define TMR_ADCSOC_EN_Msk 0x00000001UL /*!< */
typedef struct {
union { /*!< Control Timer register */
__IO uint32_t CTRL; /*!< CTRL : type used for word access */
__IO _TMR_CTRL_bits CTRL_bit; /*!< CTRL_bit: structure used for bit access */
};
union { /*!< Current value timer register */
__IO uint32_t VALUE; /*!< VALUE : type used for word access */
__IO _TMR_VALUE_bits VALUE_bit; /*!< VALUE_bit: structure used for bit access */
};
union { /*!< Reload value timer register */
__IO uint32_t LOAD; /*!< LOAD : type used for word access */
__IO _TMR_LOAD_bits LOAD_bit; /*!< LOAD_bit: structure used for bit access */
};
union { /*!< Interrupt status register */
__IO uint32_t INTSTATUS; /*!< INTSTATUS : type used for word access */
__IO _TMR_INTSTATUS_bits INTSTATUS_bit; /*!< INTSTATUS_bit: structure used for bit access */
};
union { /*!< DMA request register */
__IO uint32_t DMAREQ; /*!< DMAREQ : type used for word access */
__IO _TMR_DMAREQ_bits DMAREQ_bit; /*!< DMAREQ_bit: structure used for bit access */
};
union { /*!< ADC start of conversion register */
__IO uint32_t ADCSOC; /*!< ADCSOC : type used for word access */
__IO _TMR_ADCSOC_bits ADCSOC_bit; /*!< ADCSOC_bit: structure used for bit access */
};
} TMR_TypeDef;
/******************************************************************************/
/* ADC registers */
/******************************************************************************/
/*-- SEQEN: Enable sequencer register ------------------------------------------------------------------------*/
typedef struct {
uint32_t SEQEN0 :1; /*!< Enable sequencer 0 */
uint32_t SEQEN1 :1; /*!< Enable sequencer 1 */
} _ADC_SEQEN_bits;
/* Bit field positions: */
#define ADC_SEQEN_SEQEN0_Pos 0 /*!< Enable sequencer 0 */
#define ADC_SEQEN_SEQEN1_Pos 1 /*!< Enable sequencer 1 */
/* Bit field masks: */
#define ADC_SEQEN_SEQEN0_Msk 0x00000001UL /*!< Enable sequencer 0 */
#define ADC_SEQEN_SEQEN1_Msk 0x00000002UL /*!< Enable sequencer 1 */
/*-- SEQSYNC: Sequencer sync register ------------------------------------------------------------------------*/
typedef struct {
uint32_t SYNC0 :1; /*!< Enable sequencer 0 software sync */
uint32_t SYNC1 :1; /*!< Enable sequencer 1 software sync */
uint32_t :29; /*!< RESERVED */
uint32_t GSYNC :1; /*!< Sync all sequencers */
} _ADC_SEQSYNC_bits;
/* Bit field positions: */
#define ADC_SEQSYNC_SYNC0_Pos 0 /*!< Enable sequencer 0 software sync */
#define ADC_SEQSYNC_SYNC1_Pos 1 /*!< Enable sequencer 1 software sync */
#define ADC_SEQSYNC_GSYNC_Pos 31 /*!< Sync all sequencers */
/* Bit field masks: */
#define ADC_SEQSYNC_SYNC0_Msk 0x00000001UL /*!< Enable sequencer 0 software sync */
#define ADC_SEQSYNC_SYNC1_Msk 0x00000002UL /*!< Enable sequencer 1 software sync */
#define ADC_SEQSYNC_GSYNC_Msk 0x80000000UL /*!< Sync all sequencers */
/*-- FSTAT: FIFO overflow status register --------------------------------------------------------------------*/
typedef struct {
uint32_t OV0 :1; /*!< Sequencer 0 FIFO overflow */
uint32_t OV1 :1; /*!< Sequencer 1 FIFO overflow */
uint32_t :6; /*!< RESERVED */
uint32_t UN0 :1; /*!< Sequencer 0 FIFO underflow */
uint32_t UN1 :1; /*!< Sequencer 1 FIFO underflow */
uint32_t :6; /*!< RESERVED */
uint32_t DOV0 :1; /*!< Sequencer 0 FIFO DMA request overflow */
uint32_t DOV1 :1; /*!< Sequencer 1 FIFO DMA request overflow */
} _ADC_FSTAT_bits;
/* Bit field positions: */
#define ADC_FSTAT_OV0_Pos 0 /*!< Sequencer 0 FIFO overflow */
#define ADC_FSTAT_OV1_Pos 1 /*!< Sequencer 1 FIFO overflow */
#define ADC_FSTAT_UN0_Pos 8 /*!< Sequencer 0 FIFO underflow */
#define ADC_FSTAT_UN1_Pos 9 /*!< Sequencer 1 FIFO underflow */
#define ADC_FSTAT_DOV0_Pos 16 /*!< Sequencer 0 FIFO DMA request overflow */
#define ADC_FSTAT_DOV1_Pos 17 /*!< Sequencer 1 FIFO DMA request overflow */
/* Bit field masks: */
#define ADC_FSTAT_OV0_Msk 0x00000001UL /*!< Sequencer 0 FIFO overflow */
#define ADC_FSTAT_OV1_Msk 0x00000002UL /*!< Sequencer 1 FIFO overflow */
#define ADC_FSTAT_UN0_Msk 0x00000100UL /*!< Sequencer 0 FIFO underflow */
#define ADC_FSTAT_UN1_Msk 0x00000200UL /*!< Sequencer 1 FIFO underflow */
#define ADC_FSTAT_DOV0_Msk 0x00010000UL /*!< Sequencer 0 FIFO DMA request overflow */
#define ADC_FSTAT_DOV1_Msk 0x00020000UL /*!< Sequencer 1 FIFO DMA request overflow */
/*-- BSTAT: Busy status register -----------------------------------------------------------------------------*/
typedef struct {
uint32_t SEQBUSY0 :1; /*!< Sequencer 0 busy */
uint32_t SEQBUSY1 :1; /*!< Sequencer 1 busy */
uint32_t :14; /*!< RESERVED */
uint32_t ADCBUSY :1; /*!< ADC module conversion busy */
} _ADC_BSTAT_bits;
/* Bit field positions: */
#define ADC_BSTAT_SEQBUSY0_Pos 0 /*!< Sequencer 0 busy */
#define ADC_BSTAT_SEQBUSY1_Pos 1 /*!< Sequencer 1 busy */
#define ADC_BSTAT_ADCBUSY_Pos 16 /*!< ADC module conversion busy */
/* Bit field masks: */
#define ADC_BSTAT_SEQBUSY0_Msk 0x00000001UL /*!< Sequencer 0 busy */
#define ADC_BSTAT_SEQBUSY1_Msk 0x00000002UL /*!< Sequencer 1 busy */
#define ADC_BSTAT_ADCBUSY_Msk 0x00010000UL /*!< ADC module conversion busy */
/*-- DCTRIG: Digital comparator output trigger status register -----------------------------------------------*/
typedef struct {
uint32_t TOS0 :1; /*!< DC 0 output trigger status */
uint32_t TOS1 :1; /*!< DC 1 output trigger status */
uint32_t TOS2 :1; /*!< DC 2 output trigger status */
uint32_t TOS3 :1; /*!< DC 3 output trigger status */
uint32_t :12; /*!< RESERVED */
uint32_t DCEV0 :1; /*!< Digital compare event 0 */
uint32_t DCEV1 :1; /*!< Digital compare event 1 */
uint32_t DCEV2 :1; /*!< Digital compare event 2 */
uint32_t DCEV3 :1; /*!< Digital compare event 3 */
} _ADC_DCTRIG_bits;
/* Bit field positions: */
#define ADC_DCTRIG_TOS0_Pos 0 /*!< DC 0 output trigger status */
#define ADC_DCTRIG_TOS1_Pos 1 /*!< DC 1 output trigger status */
#define ADC_DCTRIG_TOS2_Pos 2 /*!< DC 2 output trigger status */
#define ADC_DCTRIG_TOS3_Pos 3 /*!< DC 3 output trigger status */
#define ADC_DCTRIG_DCEV0_Pos 16 /*!< Digital compare event 0 */
#define ADC_DCTRIG_DCEV1_Pos 17 /*!< Digital compare event 1 */
#define ADC_DCTRIG_DCEV2_Pos 18 /*!< Digital compare event 2 */
#define ADC_DCTRIG_DCEV3_Pos 19 /*!< Digital compare event 3 */
/* Bit field masks: */
#define ADC_DCTRIG_TOS0_Msk 0x00000001UL /*!< DC 0 output trigger status */
#define ADC_DCTRIG_TOS1_Msk 0x00000002UL /*!< DC 1 output trigger status */
#define ADC_DCTRIG_TOS2_Msk 0x00000004UL /*!< DC 2 output trigger status */
#define ADC_DCTRIG_TOS3_Msk 0x00000008UL /*!< DC 3 output trigger status */
#define ADC_DCTRIG_DCEV0_Msk 0x00010000UL /*!< Digital compare event 0 */
#define ADC_DCTRIG_DCEV1_Msk 0x00020000UL /*!< Digital compare event 1 */
#define ADC_DCTRIG_DCEV2_Msk 0x00040000UL /*!< Digital compare event 2 */
#define ADC_DCTRIG_DCEV3_Msk 0x00080000UL /*!< Digital compare event 3 */
/*-- CICNT: Interrupt counter clear control ------------------------------------------------------------------*/
typedef struct {
uint32_t ICNT0 :1; /*!< Clear interrupt counter on sequencer 0 start */
uint32_t ICNT1 :1; /*!< Clear interrupt counter on sequencer 1 start */
} _ADC_CICNT_bits;
/* Bit field positions: */
#define ADC_CICNT_ICNT0_Pos 0 /*!< Clear interrupt counter on sequencer 0 start */
#define ADC_CICNT_ICNT1_Pos 1 /*!< Clear interrupt counter on sequencer 1 start */
/* Bit field masks: */
#define ADC_CICNT_ICNT0_Msk 0x00000001UL /*!< Clear interrupt counter on sequencer 0 start */
#define ADC_CICNT_ICNT1_Msk 0x00000002UL /*!< Clear interrupt counter on sequencer 1 start */
/*-- EMUX: Sequencer start event selection register ----------------------------------------------------------*/
typedef struct {
uint32_t EM0 :4; /*!< Select start event for sequencer 0 */
uint32_t EM1 :4; /*!< Select start event for sequencer 1 */
} _ADC_EMUX_bits;
/* Bit field positions: */
#define ADC_EMUX_EM0_Pos 0 /*!< Select start event for sequencer 0 */
#define ADC_EMUX_EM1_Pos 4 /*!< Select start event for sequencer 1 */
/* Bit field masks: */
#define ADC_EMUX_EM0_Msk 0x0000000FUL /*!< Select start event for sequencer 0 */
#define ADC_EMUX_EM1_Msk 0x000000F0UL /*!< Select start event for sequencer 1 */
/* Bit field enums: */
typedef enum {
ADC_EMUX_EM0_SwReq = 0x0UL, /*!< software request by GSYNC bit */
ADC_EMUX_EM0_GPIOA = 0x1UL, /*!< GPIOA interrupt */
ADC_EMUX_EM0_GPIOB = 0x2UL, /*!< GPIOB interrupt */
ADC_EMUX_EM0_TMR0 = 0x3UL, /*!< Timer 0 request */
ADC_EMUX_EM0_TMR1 = 0x4UL, /*!< Timer 1 request */
ADC_EMUX_EM0_TMR2 = 0x5UL, /*!< Timer 2 request */
ADC_EMUX_EM0_TMR3 = 0x6UL, /*!< Timer 3 request */
ADC_EMUX_EM0_PWM012A = 0x7UL, /*!< PWM0,1,2 A channel request */
ADC_EMUX_EM0_PWM012B = 0x8UL, /*!< PWM0,1,2 B channel request */
ADC_EMUX_EM0_Cycle = 0xFUL, /*!< Cycle mode */
} ADC_EMUX_EM0_Enum;
typedef enum {
ADC_EMUX_EM1_SwReq = 0x0UL, /*!< software request by GSYNC bit */
ADC_EMUX_EM1_GPIOA = 0x1UL, /*!< GPIOA interrupt */
ADC_EMUX_EM1_GPIOB = 0x2UL, /*!< GPIOB interrupt */
ADC_EMUX_EM1_TMR0 = 0x3UL, /*!< Timer 0 request */
ADC_EMUX_EM1_TMR1 = 0x4UL, /*!< Timer 1 request */
ADC_EMUX_EM1_TMR2 = 0x5UL, /*!< Timer 2 request */
ADC_EMUX_EM1_TMR3 = 0x6UL, /*!< Timer 3 request */
ADC_EMUX_EM1_PWM012A = 0x7UL, /*!< PWM0,1,2 A channel request */
ADC_EMUX_EM1_PWM012B = 0x8UL, /*!< PWM0,1,2 B channel request */
ADC_EMUX_EM1_Cycle = 0xFUL, /*!< Cycle mode */
} ADC_EMUX_EM1_Enum;
/*-- RIS: Raw interrupt status register ----------------------------------------------------------------------*/
typedef struct {
uint32_t SEQRIS0 :1; /*!< Sequencer 0 raw interrupt status */
uint32_t SEQRIS1 :1; /*!< Sequencer 1 raw interrupt status */
uint32_t :6; /*!< RESERVED */
uint32_t DCRIS0 :1; /*!< Raw interrupt status of Digital Comparator 0 */
uint32_t DCRIS1 :1; /*!< Raw interrupt status of Digital Comparator 1 */
uint32_t DCRIS2 :1; /*!< Raw interrupt status of Digital Comparator 2 */
uint32_t DCRIS3 :1; /*!< Raw interrupt status of Digital Comparator 3 */
} _ADC_RIS_bits;
/* Bit field positions: */
#define ADC_RIS_SEQRIS0_Pos 0 /*!< Sequencer 0 raw interrupt status */
#define ADC_RIS_SEQRIS1_Pos 1 /*!< Sequencer 1 raw interrupt status */
#define ADC_RIS_DCRIS0_Pos 8 /*!< Raw interrupt status of Digital Comparator 0 */
#define ADC_RIS_DCRIS1_Pos 9 /*!< Raw interrupt status of Digital Comparator 1 */
#define ADC_RIS_DCRIS2_Pos 10 /*!< Raw interrupt status of Digital Comparator 2 */
#define ADC_RIS_DCRIS3_Pos 11 /*!< Raw interrupt status of Digital Comparator 3 */
/* Bit field masks: */
#define ADC_RIS_SEQRIS0_Msk 0x00000001UL /*!< Sequencer 0 raw interrupt status */
#define ADC_RIS_SEQRIS1_Msk 0x00000002UL /*!< Sequencer 1 raw interrupt status */
#define ADC_RIS_DCRIS0_Msk 0x00000100UL /*!< Raw interrupt status of Digital Comparator 0 */
#define ADC_RIS_DCRIS1_Msk 0x00000200UL /*!< Raw interrupt status of Digital Comparator 1 */
#define ADC_RIS_DCRIS2_Msk 0x00000400UL /*!< Raw interrupt status of Digital Comparator 2 */
#define ADC_RIS_DCRIS3_Msk 0x00000800UL /*!< Raw interrupt status of Digital Comparator 3 */
/*-- IM: Interrupt mask register -----------------------------------------------------------------------------*/
typedef struct {
uint32_t SEQIM0 :1; /*!< Sequencer 0 interrupt mask */
uint32_t SEQIM1 :1; /*!< Sequencer 1 interrupt mask */
uint32_t :6; /*!< RESERVED */
uint32_t DCIM0 :1; /*!< Interrupt mask of Digital Comparator 0 */
uint32_t DCIM1 :1; /*!< Interrupt mask of Digital Comparator 1 */
uint32_t DCIM2 :1; /*!< Interrupt mask of Digital Comparator 2 */
uint32_t DCIM3 :1; /*!< Interrupt mask of Digital Comparator 3 */
} _ADC_IM_bits;
/* Bit field positions: */
#define ADC_IM_SEQIM0_Pos 0 /*!< Sequencer 0 interrupt mask */
#define ADC_IM_SEQIM1_Pos 1 /*!< Sequencer 1 interrupt mask */
#define ADC_IM_DCIM0_Pos 8 /*!< Interrupt mask of Digital Comparator 0 */
#define ADC_IM_DCIM1_Pos 9 /*!< Interrupt mask of Digital Comparator 1 */
#define ADC_IM_DCIM2_Pos 10 /*!< Interrupt mask of Digital Comparator 2 */
#define ADC_IM_DCIM3_Pos 11 /*!< Interrupt mask of Digital Comparator 3 */
/* Bit field masks: */
#define ADC_IM_SEQIM0_Msk 0x00000001UL /*!< Sequencer 0 interrupt mask */
#define ADC_IM_SEQIM1_Msk 0x00000002UL /*!< Sequencer 1 interrupt mask */
#define ADC_IM_DCIM0_Msk 0x00000100UL /*!< Interrupt mask of Digital Comparator 0 */
#define ADC_IM_DCIM1_Msk 0x00000200UL /*!< Interrupt mask of Digital Comparator 1 */
#define ADC_IM_DCIM2_Msk 0x00000400UL /*!< Interrupt mask of Digital Comparator 2 */
#define ADC_IM_DCIM3_Msk 0x00000800UL /*!< Interrupt mask of Digital Comparator 3 */
/*-- MIS: Masked interrupt status and clear register ---------------------------------------------------------*/
typedef struct {
uint32_t SEQMIS0 :1; /*!< Sequencer 0 masked interrupt status */
uint32_t SEQMIS1 :1; /*!< Sequencer 1 masked interrupt status */
uint32_t :6; /*!< RESERVED */
uint32_t DCMIS0 :1; /*!< DC 0 masked interrupt status */
uint32_t DCMIS1 :1; /*!< DC 1 masked interrupt status */
uint32_t DCMIS2 :1; /*!< DC 2 masked interrupt status */
uint32_t DCMIS3 :1; /*!< DC 3 masked interrupt status */
} _ADC_MIS_bits;
/* Bit field positions: */
#define ADC_MIS_SEQMIS0_Pos 0 /*!< Sequencer 0 masked interrupt status */
#define ADC_MIS_SEQMIS1_Pos 1 /*!< Sequencer 1 masked interrupt status */
#define ADC_MIS_DCMIS0_Pos 8 /*!< DC 0 masked interrupt status */
#define ADC_MIS_DCMIS1_Pos 9 /*!< DC 1 masked interrupt status */
#define ADC_MIS_DCMIS2_Pos 10 /*!< DC 2 masked interrupt status */
#define ADC_MIS_DCMIS3_Pos 11 /*!< DC 3 masked interrupt status */
/* Bit field masks: */
#define ADC_MIS_SEQMIS0_Msk 0x00000001UL /*!< Sequencer 0 masked interrupt status */
#define ADC_MIS_SEQMIS1_Msk 0x00000002UL /*!< Sequencer 1 masked interrupt status */
#define ADC_MIS_DCMIS0_Msk 0x00000100UL /*!< DC 0 masked interrupt status */
#define ADC_MIS_DCMIS1_Msk 0x00000200UL /*!< DC 1 masked interrupt status */
#define ADC_MIS_DCMIS2_Msk 0x00000400UL /*!< DC 2 masked interrupt status */
#define ADC_MIS_DCMIS3_Msk 0x00000800UL /*!< DC 3 masked interrupt status */
/*-- IC: Interrupt clear register ----------------------------------------------------------------------------*/
typedef struct {
uint32_t SEQIC0 :1; /*!< Sequencer 0 interrupt status clear */
uint32_t SEQIC1 :1; /*!< Sequencer 1 interrupt status clear */
uint32_t :6; /*!< RESERVED */
uint32_t DCIC0 :1; /*!< DC 0 interrupt status clear */
uint32_t DCIC1 :1; /*!< DC 1 interrupt status clear */
uint32_t DCIC2 :1; /*!< DC 2 interrupt status clear */
uint32_t DCIC3 :1; /*!< DC 3 interrupt status clear */
} _ADC_IC_bits;
/* Bit field positions: */
#define ADC_IC_SEQIC0_Pos 0 /*!< Sequencer 0 interrupt status clear */
#define ADC_IC_SEQIC1_Pos 1 /*!< Sequencer 1 interrupt status clear */
#define ADC_IC_DCIC0_Pos 8 /*!< DC 0 interrupt status clear */
#define ADC_IC_DCIC1_Pos 9 /*!< DC 1 interrupt status clear */
#define ADC_IC_DCIC2_Pos 10 /*!< DC 2 interrupt status clear */
#define ADC_IC_DCIC3_Pos 11 /*!< DC 3 interrupt status clear */
/* Bit field masks: */
#define ADC_IC_SEQIC0_Msk 0x00000001UL /*!< Sequencer 0 interrupt status clear */
#define ADC_IC_SEQIC1_Msk 0x00000002UL /*!< Sequencer 1 interrupt status clear */
#define ADC_IC_DCIC0_Msk 0x00000100UL /*!< DC 0 interrupt status clear */
#define ADC_IC_DCIC1_Msk 0x00000200UL /*!< DC 1 interrupt status clear */
#define ADC_IC_DCIC2_Msk 0x00000400UL /*!< DC 2 interrupt status clear */
#define ADC_IC_DCIC3_Msk 0x00000800UL /*!< DC 3 interrupt status clear */
/*-- SEQ: SRQSEL: Sequencer request ADC channels selection register -------------------------------------------*/
typedef struct {
uint32_t RQ0 :2; /*!< Select ADC channel for request 0 */
uint32_t :2; /*!< RESERVED */
uint32_t RQ1 :2; /*!< Select ADC channel for request 1 */
uint32_t :2; /*!< RESERVED */
uint32_t RQ2 :2; /*!< Select ADC channel for request 2 */
uint32_t :2; /*!< RESERVED */
uint32_t RQ3 :2; /*!< Select ADC channel for request 3 */
} _ADC_SEQ_SRQSEL_bits;
/* Bit field positions: */
#define ADC_SEQ_SRQSEL_RQ0_Pos 0 /*!< Select ADC channel for request 0 */
#define ADC_SEQ_SRQSEL_RQ1_Pos 4 /*!< Select ADC channel for request 1 */
#define ADC_SEQ_SRQSEL_RQ2_Pos 8 /*!< Select ADC channel for request 2 */
#define ADC_SEQ_SRQSEL_RQ3_Pos 12 /*!< Select ADC channel for request 3 */
/* Bit field masks: */
#define ADC_SEQ_SRQSEL_RQ0_Msk 0x00000003UL /*!< Select ADC channel for request 0 */
#define ADC_SEQ_SRQSEL_RQ1_Msk 0x00000030UL /*!< Select ADC channel for request 1 */
#define ADC_SEQ_SRQSEL_RQ2_Msk 0x00000300UL /*!< Select ADC channel for request 2 */
#define ADC_SEQ_SRQSEL_RQ3_Msk 0x00003000UL /*!< Select ADC channel for request 3 */
/*-- SEQ: SRQCTL: Sequencer request control register ----------------------------------------------------------*/
typedef struct {
uint32_t RQMAX :2; /*!< Request queue max depth */
uint32_t :6; /*!< RESERVED */
uint32_t QAVGEN :1; /*!< Queue avearage (scanning) enable */
uint32_t QAVGVAL :3; /*!< Queue average value */
} _ADC_SEQ_SRQCTL_bits;
/* Bit field positions: */
#define ADC_SEQ_SRQCTL_RQMAX_Pos 0 /*!< Request queue max depth */
#define ADC_SEQ_SRQCTL_QAVGEN_Pos 8 /*!< Queue avearage (scanning) enable */
#define ADC_SEQ_SRQCTL_QAVGVAL_Pos 9 /*!< Queue average value */
/* Bit field masks: */
#define ADC_SEQ_SRQCTL_RQMAX_Msk 0x00000003UL /*!< Request queue max depth */
#define ADC_SEQ_SRQCTL_QAVGEN_Msk 0x00000100UL /*!< Queue avearage (scanning) enable */
#define ADC_SEQ_SRQCTL_QAVGVAL_Msk 0x00000E00UL /*!< Queue average value */
/* Bit field enums: */
typedef enum {
ADC_SEQ_SRQCTL_QAVGVAL_Disable = 0x0UL, /*!< Average disabled */
ADC_SEQ_SRQCTL_QAVGVAL_Average2 = 0x1UL, /*!< Average with 2 measures */
ADC_SEQ_SRQCTL_QAVGVAL_Average4 = 0x2UL, /*!< Average with 4 measures */
ADC_SEQ_SRQCTL_QAVGVAL_Average8 = 0x3UL, /*!< Average with 8 measures */
ADC_SEQ_SRQCTL_QAVGVAL_Average16 = 0x4UL, /*!< Average with 16 measures */
ADC_SEQ_SRQCTL_QAVGVAL_Average32 = 0x5UL, /*!< Average with 32 measures */
ADC_SEQ_SRQCTL_QAVGVAL_Average64 = 0x6UL, /*!< Average with 64 measures */
} ADC_SEQ_SRQCTL_QAVGVAL_Enum;
/*-- SEQ: SRQSTAT: Sequencer request status register ----------------------------------------------------------*/
typedef struct {
uint32_t RQPTR :2; /*!< Pointer to queue current request */
uint32_t :6; /*!< RESERVED */
uint32_t RQBUSY :1; /*!< Active request status */
} _ADC_SEQ_SRQSTAT_bits;
/* Bit field positions: */
#define ADC_SEQ_SRQSTAT_RQPTR_Pos 0 /*!< Pointer to queue current request */
#define ADC_SEQ_SRQSTAT_RQBUSY_Pos 8 /*!< Active request status */
/* Bit field masks: */
#define ADC_SEQ_SRQSTAT_RQPTR_Msk 0x00000003UL /*!< Pointer to queue current request */
#define ADC_SEQ_SRQSTAT_RQBUSY_Msk 0x00000100UL /*!< Active request status */
/*-- SEQ: SDMACTL: Sequencer DMA control register -------------------------------------------------------------*/
typedef struct {
uint32_t DMAEN :1; /*!< Enable DMA use */
uint32_t :7; /*!< RESERVED */
uint32_t WMARK :3; /*!< FIFO load threshold for DMA request generation */
} _ADC_SEQ_SDMACTL_bits;
/* Bit field positions: */
#define ADC_SEQ_SDMACTL_DMAEN_Pos 0 /*!< Enable DMA use */
#define ADC_SEQ_SDMACTL_WMARK_Pos 8 /*!< FIFO load threshold for DMA request generation */
/* Bit field masks: */
#define ADC_SEQ_SDMACTL_DMAEN_Msk 0x00000001UL /*!< Enable DMA use */
#define ADC_SEQ_SDMACTL_WMARK_Msk 0x00000700UL /*!< FIFO load threshold for DMA request generation */
/* Bit field enums: */
typedef enum {
ADC_SEQ_SDMACTL_WMARK_Level1 = 0x1UL, /*!< 1 measure for dma request */
ADC_SEQ_SDMACTL_WMARK_Level2 = 0x2UL, /*!< 2 measures for dma request */
ADC_SEQ_SDMACTL_WMARK_Level4 = 0x3UL, /*!< 4 measures for dma request */
ADC_SEQ_SDMACTL_WMARK_Level8 = 0x4UL, /*!< 8 measures for dma request */
ADC_SEQ_SDMACTL_WMARK_Level16 = 0x5UL, /*!< 16 measures for dma request */
ADC_SEQ_SDMACTL_WMARK_Level32 = 0x6UL, /*!< 32 measures for dma request */
} ADC_SEQ_SDMACTL_WMARK_Enum;
/*-- SEQ: SCCTL: Sequencer ADC interrupt and restart counter control register ---------------------------------*/
typedef struct {
uint32_t RCNT :8; /*!< Current number of ADC restarts by sequencer */
uint32_t RAVGEN :1; /*!< Average of ADC restarts enable */
uint32_t :7; /*!< RESERVED */
uint32_t ICNT :8; /*!< Number of ADC requests for interrupt generation */
} _ADC_SEQ_SCCTL_bits;
/* Bit field positions: */
#define ADC_SEQ_SCCTL_RCNT_Pos 0 /*!< Current number of ADC restarts by sequencer */
#define ADC_SEQ_SCCTL_RAVGEN_Pos 8 /*!< Average of ADC restarts enable */
#define ADC_SEQ_SCCTL_ICNT_Pos 16 /*!< Number of ADC requests for interrupt generation */
/* Bit field masks: */
#define ADC_SEQ_SCCTL_RCNT_Msk 0x000000FFUL /*!< Current number of ADC restarts by sequencer */
#define ADC_SEQ_SCCTL_RAVGEN_Msk 0x00000100UL /*!< Average of ADC restarts enable */
#define ADC_SEQ_SCCTL_ICNT_Msk 0x00FF0000UL /*!< Number of ADC requests for interrupt generation */
/*-- SEQ: SCVAL: Sequencer ADC interrupt and restart counter current value register ---------------------------------*/
typedef struct {
uint32_t RCNT :8; /*!< Current number of ADC restarts by sequencer */
uint32_t :8; /*!< RESERVED */
uint32_t ICNT :8; /*!< Current number of ADC requests for interrupt generation */
uint32_t ICLR :1; /*!< Clear interrupt counter */
} _ADC_SEQ_SCVAL_bits;
/* Bit field positions: */
#define ADC_SEQ_SCVAL_RCNT_Pos 0 /*!< Current number of ADC restarts by sequencer */
#define ADC_SEQ_SCVAL_ICNT_Pos 16 /*!< Current number of ADC requests for interrupt generation */
#define ADC_SEQ_SCVAL_ICLR_Pos 24 /*!< Clear interrupt counter */
/* Bit field masks: */
#define ADC_SEQ_SCVAL_RCNT_Msk 0x000000FFUL /*!< Current number of ADC restarts by sequencer */
#define ADC_SEQ_SCVAL_ICNT_Msk 0x00FF0000UL /*!< Current number of ADC requests for interrupt generation */
#define ADC_SEQ_SCVAL_ICLR_Msk 0x01000000UL /*!< Clear interrupt counter */
/*-- SEQ: SDC: Sequencer digital comparator selection register ------------------------------------------------*/
typedef struct {
uint32_t DC0 :1; /*!< Enable DC 0 */
uint32_t DC1 :1; /*!< Enable DC 1 */
uint32_t DC2 :1; /*!< Enable DC 2 */
uint32_t DC3 :1; /*!< Enable DC 3 */
} _ADC_SEQ_SDC_bits;
/* Bit field positions: */
#define ADC_SEQ_SDC_DC0_Pos 0 /*!< Enable DC 0 */
#define ADC_SEQ_SDC_DC1_Pos 1 /*!< Enable DC 1 */
#define ADC_SEQ_SDC_DC2_Pos 2 /*!< Enable DC 2 */
#define ADC_SEQ_SDC_DC3_Pos 3 /*!< Enable DC 3 */
/* Bit field masks: */
#define ADC_SEQ_SDC_DC0_Msk 0x00000001UL /*!< Enable DC 0 */
#define ADC_SEQ_SDC_DC1_Msk 0x00000002UL /*!< Enable DC 1 */
#define ADC_SEQ_SDC_DC2_Msk 0x00000004UL /*!< Enable DC 2 */
#define ADC_SEQ_SDC_DC3_Msk 0x00000008UL /*!< Enable DC 3 */
/*-- SEQ: SRTMR: Sequencer ADC restart timer register ---------------------------------------------------------*/
typedef struct {
uint32_t VAL :24; /*!< Sequencer ADC restart timer value */
uint32_t :7; /*!< RESERVED */
uint32_t NOWAIT :1; /*!< Timer update with no waiting the end of current seq task */
} _ADC_SEQ_SRTMR_bits;
/* Bit field positions: */
#define ADC_SEQ_SRTMR_VAL_Pos 0 /*!< Sequencer ADC restart timer value */
#define ADC_SEQ_SRTMR_NOWAIT_Pos 31 /*!< Timer update with no waiting the end of current seq task */
/* Bit field masks: */
#define ADC_SEQ_SRTMR_VAL_Msk 0x00FFFFFFUL /*!< Sequencer ADC restart timer value */
#define ADC_SEQ_SRTMR_NOWAIT_Msk 0x80000000UL /*!< Timer update with no waiting the end of current seq task */
/*-- SEQ: SFLOAD: Sequencer FIFO load status register ---------------------------------------------------------*/
typedef struct {
uint32_t VAL :6; /*!< Sequencer FIFO current load value */
} _ADC_SEQ_SFLOAD_bits;
/* Bit field positions: */
#define ADC_SEQ_SFLOAD_VAL_Pos 0 /*!< Sequencer FIFO current load value */
/* Bit field masks: */
#define ADC_SEQ_SFLOAD_VAL_Msk 0x0000003FUL /*!< Sequencer FIFO current load value */
/*-- SEQ: SFIFO: Sequencer FIFO register ----------------------------------------------------------------------*/
typedef struct {
uint32_t DATA :12; /*!< AD conversion value */
} _ADC_SEQ_SFIFO_bits;
/* Bit field positions: */
#define ADC_SEQ_SFIFO_DATA_Pos 0 /*!< AD conversion value */
/* Bit field masks: */
#define ADC_SEQ_SFIFO_DATA_Msk 0x00000FFFUL /*!< AD conversion value */
/*-- DC: DCTL: Digital comparator control register ------------------------------------------------------------*/
typedef struct {
uint32_t CIM :2; /*!< DC interrupt generation mode */
uint32_t CIC :2; /*!< DC interrupt generation compare conditions */
uint32_t CIE :1; /*!< Enable DC interrupt generation */
uint32_t :3; /*!< RESERVED */
uint32_t CTM :2; /*!< DC output trigger mode */
uint32_t CTC :2; /*!< DC output trigger compare conditions */
uint32_t CTE :1; /*!< Enable DC output trigger */
uint32_t :3; /*!< RESERVED */
uint32_t CHNL :2; /*!< ADC channel selection */
uint32_t :6; /*!< RESERVED */
uint32_t SRC :1; /*!< Select data source for comparation: ADC module (0) or sequencer(1) */
} _ADC_DC_DCTL_bits;
/* Bit field positions: */
#define ADC_DC_DCTL_CIM_Pos 0 /*!< DC interrupt generation mode */
#define ADC_DC_DCTL_CIC_Pos 2 /*!< DC interrupt generation compare conditions */
#define ADC_DC_DCTL_CIE_Pos 4 /*!< Enable DC interrupt generation */
#define ADC_DC_DCTL_CTM_Pos 8 /*!< DC output trigger mode */
#define ADC_DC_DCTL_CTC_Pos 10 /*!< DC output trigger compare conditions */
#define ADC_DC_DCTL_CTE_Pos 12 /*!< Enable DC output trigger */
#define ADC_DC_DCTL_CHNL_Pos 16 /*!< ADC channel selection */
#define ADC_DC_DCTL_SRC_Pos 24 /*!< Select data source for comparation: ADC module (0) or sequencer(1) */
/* Bit field masks: */
#define ADC_DC_DCTL_CIM_Msk 0x00000003UL /*!< DC interrupt generation mode */
#define ADC_DC_DCTL_CIC_Msk 0x0000000CUL /*!< DC interrupt generation compare conditions */
#define ADC_DC_DCTL_CIE_Msk 0x00000010UL /*!< Enable DC interrupt generation */
#define ADC_DC_DCTL_CTM_Msk 0x00000300UL /*!< DC output trigger mode */
#define ADC_DC_DCTL_CTC_Msk 0x00000C00UL /*!< DC output trigger compare conditions */
#define ADC_DC_DCTL_CTE_Msk 0x00001000UL /*!< Enable DC output trigger */
#define ADC_DC_DCTL_CHNL_Msk 0x00030000UL /*!< ADC channel selection */
#define ADC_DC_DCTL_SRC_Msk 0x01000000UL /*!< Select data source for comparation: ADC module (0) or sequencer(1) */
/* Bit field enums: */
typedef enum {
ADC_DC_DCTL_CIM_Multiple = 0x0UL, /*!< multiple trigger mode */
ADC_DC_DCTL_CIM_Single = 0x1UL, /*!< single trigger mode */
ADC_DC_DCTL_CIM_MultipleHyst = 0x2UL, /*!< multiple trigger mode with hysteresis */
ADC_DC_DCTL_CIM_SingleHyst = 0x3UL, /*!< single trigger mode with hysteresis */
} ADC_DC_DCTL_CIM_Enum;
typedef enum {
ADC_DC_DCTL_CIC_Low = 0x0UL, /*!< result lower or equal COMP0 */
ADC_DC_DCTL_CIC_Window = 0x1UL, /*!< result between COMP0 and COMP1 or equal any of them */
ADC_DC_DCTL_CIC_High = 0x2UL, /*!< result higher or equal COMP1 */
} ADC_DC_DCTL_CIC_Enum;
typedef enum {
ADC_DC_DCTL_CTM_Multiple = 0x0UL, /*!< multiple trigger mode */
ADC_DC_DCTL_CTM_Single = 0x1UL, /*!< single trigger mode */
ADC_DC_DCTL_CTM_MultipleHyst = 0x2UL, /*!< multiple trigger mode with hysteresis */
ADC_DC_DCTL_CTM_SingleHyst = 0x3UL, /*!< single trigger mode with hysteresis */
} ADC_DC_DCTL_CTM_Enum;
typedef enum {
ADC_DC_DCTL_CTC_Low = 0x0UL, /*!< result lower or equal COMP0 */
ADC_DC_DCTL_CTC_Window = 0x1UL, /*!< result between COMP0 and COMP1 or equal any of them */
ADC_DC_DCTL_CTC_High = 0x2UL, /*!< result higher or equal COMP1 */
} ADC_DC_DCTL_CTC_Enum;
/*-- DC: DCMP: Digital comparator range register --------------------------------------------------------------*/
typedef struct {
uint32_t CMPL :12; /*!< Low threshold compare value */
uint32_t :4; /*!< RESERVED */
uint32_t CMPH :12; /*!< High threshold compare value */
} _ADC_DC_DCMP_bits;
/* Bit field positions: */
#define ADC_DC_DCMP_CMPL_Pos 0 /*!< Low threshold compare value */
#define ADC_DC_DCMP_CMPH_Pos 16 /*!< High threshold compare value */
/* Bit field masks: */
#define ADC_DC_DCMP_CMPL_Msk 0x00000FFFUL /*!< Low threshold compare value */
#define ADC_DC_DCMP_CMPH_Msk 0x0FFF0000UL /*!< High threshold compare value */
/*-- DC: DDATA: Digital comparator last compared data register ------------------------------------------------*/
typedef struct {
uint32_t VAL :12; /*!< Value of last compared AD conversion result */
} _ADC_DC_DDATA_bits;
/* Bit field positions: */
#define ADC_DC_DDATA_VAL_Pos 0 /*!< Value of last compared AD conversion result */
/* Bit field masks: */
#define ADC_DC_DDATA_VAL_Msk 0x00000FFFUL /*!< Value of last compared AD conversion result */
/*-- ACTL: ADC module control register -----------------------------------------------------------------------*/
typedef struct {
uint32_t ADCEN :1; /*!< Enable ADC module */
uint32_t ADCRDY :1; /*!< ADC ready for conversions */
} _ADC_ACTL_bits;
/* Bit field positions: */
#define ADC_ACTL_ADCEN_Pos 0 /*!< Enable ADC module */
#define ADC_ACTL_ADCRDY_Pos 1 /*!< ADC ready for conversions */
/* Bit field masks: */
#define ADC_ACTL_ADCEN_Msk 0x00000001UL /*!< Enable ADC module */
#define ADC_ACTL_ADCRDY_Msk 0x00000002UL /*!< ADC ready for conversions */
/*-- CHCTL: CHCTL: ADC channel control register ---------------------------------------------------------------*/
typedef struct {
uint32_t OFFTRIM :9; /*!< ADC channel offset trimm value */
uint32_t :7; /*!< RESERVED */
uint32_t GAINTRIM :9; /*!< ADC channel gain trimm value */
uint32_t :3; /*!< RESERVED */
uint32_t PRIORITY :1; /*!< ADC channel priority level */
} _ADC_CHCTL_CHCTL_bits;
/* Bit field positions: */
#define ADC_CHCTL_CHCTL_OFFTRIM_Pos 0 /*!< ADC channel offset trimm value */
#define ADC_CHCTL_CHCTL_GAINTRIM_Pos 16 /*!< ADC channel gain trimm value */
#define ADC_CHCTL_CHCTL_PRIORITY_Pos 28 /*!< ADC channel priority level */
/* Bit field masks: */
#define ADC_CHCTL_CHCTL_OFFTRIM_Msk 0x000001FFUL /*!< ADC channel offset trimm value */
#define ADC_CHCTL_CHCTL_GAINTRIM_Msk 0x01FF0000UL /*!< ADC channel gain trimm value */
#define ADC_CHCTL_CHCTL_PRIORITY_Msk 0x10000000UL /*!< ADC channel priority level */
//Cluster SEQ:
typedef struct {
union {
/*!< Sequencer request ADC channels selection register */
__IO uint32_t SRQSEL; /*!< SRQSEL : type used for word access */
__IO _ADC_SEQ_SRQSEL_bits SRQSEL_bit; /*!< SRQSEL_bit: structure used for bit access */
};
__IO uint32_t Reserved0[3];
union {
/*!< Sequencer request control register */
__IO uint32_t SRQCTL; /*!< SRQCTL : type used for word access */
__IO _ADC_SEQ_SRQCTL_bits SRQCTL_bit; /*!< SRQCTL_bit: structure used for bit access */
};
union {
/*!< Sequencer request status register */
__I uint32_t SRQSTAT; /*!< SRQSTAT : type used for word access */
__I _ADC_SEQ_SRQSTAT_bits SRQSTAT_bit; /*!< SRQSTAT_bit: structure used for bit access */
};
union {
/*!< Sequencer DMA control register */
__IO uint32_t SDMACTL; /*!< SDMACTL : type used for word access */
__IO _ADC_SEQ_SDMACTL_bits SDMACTL_bit; /*!< SDMACTL_bit: structure used for bit access */
};
union {
/*!< Sequencer ADC interrupt and restart counter control register */
__IO uint32_t SCCTL; /*!< SCCTL : type used for word access */
__IO _ADC_SEQ_SCCTL_bits SCCTL_bit; /*!< SCCTL_bit: structure used for bit access */
};
union {
/*!< Sequencer ADC interrupt and restart counter current value register */
__O uint32_t SCVAL; /*!< SCVAL : type used for word access */
__O _ADC_SEQ_SCVAL_bits SCVAL_bit; /*!< SCVAL_bit: structure used for bit access */
};
union {
/*!< Sequencer digital comparator selection register */
__IO uint32_t SDC; /*!< SDC : type used for word access */
__IO _ADC_SEQ_SDC_bits SDC_bit; /*!< SDC_bit: structure used for bit access */
};
union {
/*!< Sequencer ADC restart timer register */
__IO uint32_t SRTMR; /*!< SRTMR : type used for word access */
__IO _ADC_SEQ_SRTMR_bits SRTMR_bit; /*!< SRTMR_bit: structure used for bit access */
};
union {
/*!< Sequencer FIFO load status register */
__I uint32_t SFLOAD; /*!< SFLOAD : type used for word access */
__I _ADC_SEQ_SFLOAD_bits SFLOAD_bit; /*!< SFLOAD_bit: structure used for bit access */
};
union {
/*!< Sequencer FIFO register */
__I uint32_t SFIFO; /*!< SFIFO : type used for word access */
__I _ADC_SEQ_SFIFO_bits SFIFO_bit; /*!< SFIFO_bit: structure used for bit access */
};
} _ADC_SEQ_TypeDef;
//Cluster DC:
typedef struct {
union {
/*!< Digital comparator control register */
__IO uint32_t DCTL; /*!< DCTL : type used for word access */
__IO _ADC_DC_DCTL_bits DCTL_bit; /*!< DCTL_bit: structure used for bit access */
};
union {
/*!< Digital comparator range register */
__IO uint32_t DCMP; /*!< DCMP : type used for word access */
__IO _ADC_DC_DCMP_bits DCMP_bit; /*!< DCMP_bit: structure used for bit access */
};
union {
/*!< Digital comparator last compared data register */
__I uint32_t DDATA; /*!< DDATA : type used for word access */
__I _ADC_DC_DDATA_bits DDATA_bit; /*!< DDATA_bit: structure used for bit access */
};
} _ADC_DC_TypeDef;
//Cluster CHCTL:
typedef struct {
union {
/*!< ADC channel control register */
__IO uint32_t CHCTL; /*!< CHCTL : type used for word access */
__IO _ADC_CHCTL_CHCTL_bits CHCTL_bit; /*!< CHCTL_bit: structure used for bit access */
};
} _ADC_CHCTL_TypeDef;
typedef struct {
union { /*!< Enable sequencer register */
__IO uint32_t SEQEN; /*!< SEQEN : type used for word access */
__IO _ADC_SEQEN_bits SEQEN_bit; /*!< SEQEN_bit: structure used for bit access */
};
union { /*!< Sequencer sync register */
__IO uint32_t SEQSYNC; /*!< SEQSYNC : type used for word access */
__IO _ADC_SEQSYNC_bits SEQSYNC_bit; /*!< SEQSYNC_bit: structure used for bit access */
};
union { /*!< FIFO overflow status register */
__IO uint32_t FSTAT; /*!< FSTAT : type used for word access */
__IO _ADC_FSTAT_bits FSTAT_bit; /*!< FSTAT_bit: structure used for bit access */
};
union { /*!< Busy status register */
__I uint32_t BSTAT; /*!< BSTAT : type used for word access */
__I _ADC_BSTAT_bits BSTAT_bit; /*!< BSTAT_bit: structure used for bit access */
};
union { /*!< Digital comparator output trigger status register */
__IO uint32_t DCTRIG; /*!< DCTRIG : type used for word access */
__IO _ADC_DCTRIG_bits DCTRIG_bit; /*!< DCTRIG_bit: structure used for bit access */
};
union { /*!< Interrupt counter clear control */
__IO uint32_t CICNT; /*!< CICNT : type used for word access */
__IO _ADC_CICNT_bits CICNT_bit; /*!< CICNT_bit: structure used for bit access */
};
union { /*!< Sequencer start event selection register */
__IO uint32_t EMUX; /*!< EMUX : type used for word access */
__IO _ADC_EMUX_bits EMUX_bit; /*!< EMUX_bit: structure used for bit access */
};
union { /*!< Raw interrupt status register */
__I uint32_t RIS; /*!< RIS : type used for word access */
__I _ADC_RIS_bits RIS_bit; /*!< RIS_bit: structure used for bit access */
};
union { /*!< Interrupt mask register */
__IO uint32_t IM; /*!< IM : type used for word access */
__IO _ADC_IM_bits IM_bit; /*!< IM_bit: structure used for bit access */
};
union { /*!< Masked interrupt status and clear register */
__I uint32_t MIS; /*!< MIS : type used for word access */
__I _ADC_MIS_bits MIS_bit; /*!< MIS_bit: structure used for bit access */
};
union { /*!< Interrupt clear register */
__O uint32_t IC; /*!< IC : type used for word access */
__O _ADC_IC_bits IC_bit; /*!< IC_bit: structure used for bit access */
};
__IO uint32_t Reserved0[5];
_ADC_SEQ_TypeDef SEQ[2];
__IO uint32_t Reserved1[86];
_ADC_DC_TypeDef DC[4];
__IO uint32_t Reserved2[116];
union { /*!< ADC module control register */
__IO uint32_t ACTL; /*!< ACTL : type used for word access */
__IO _ADC_ACTL_bits ACTL_bit; /*!< ACTL_bit: structure used for bit access */
};
__IO uint32_t Reserved3[63];
_ADC_CHCTL_TypeDef CHCTL[4];
} ADC_TypeDef;
/******************************************************************************/
/* GPIO registers */
/******************************************************************************/
/*-- DATA: Data Input register -------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :16; /*!< Data input */
} _GPIO_DATA_bits;
/* Bit field positions: */
#define GPIO_DATA_VAL_Pos 0 /*!< Data input */
/* Bit field masks: */
#define GPIO_DATA_VAL_Msk 0x0000FFFFUL /*!< Data input */
/*-- DATAOUT: Data output register ---------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :16; /*!< Data output */
} _GPIO_DATAOUT_bits;
/* Bit field positions: */
#define GPIO_DATAOUT_VAL_Pos 0 /*!< Data output */
/* Bit field masks: */
#define GPIO_DATAOUT_VAL_Msk 0x0000FFFFUL /*!< Data output */
/*-- DATAOUTSET: Data output set bits register ---------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Data output set bit 0 */
uint32_t PIN1 :1; /*!< Data output set bit 1 */
uint32_t PIN2 :1; /*!< Data output set bit 2 */
uint32_t PIN3 :1; /*!< Data output set bit 3 */
uint32_t PIN4 :1; /*!< Data output set bit 4 */
uint32_t PIN5 :1; /*!< Data output set bit 5 */
uint32_t PIN6 :1; /*!< Data output set bit 6 */
uint32_t PIN7 :1; /*!< Data output set bit 7 */
uint32_t PIN8 :1; /*!< Data output set bit 8 */
uint32_t PIN9 :1; /*!< Data output set bit 9 */
uint32_t PIN10 :1; /*!< Data output set bit 10 */
uint32_t PIN11 :1; /*!< Data output set bit 11 */
uint32_t PIN12 :1; /*!< Data output set bit 12 */
uint32_t PIN13 :1; /*!< Data output set bit 13 */
uint32_t PIN14 :1; /*!< Data output set bit 14 */
uint32_t PIN15 :1; /*!< Data output set bit 15 */
} _GPIO_DATAOUTSET_bits;
/* Bit field positions: */
#define GPIO_DATAOUTSET_PIN0_Pos 0 /*!< Data output set bit 0 */
#define GPIO_DATAOUTSET_PIN1_Pos 1 /*!< Data output set bit 1 */
#define GPIO_DATAOUTSET_PIN2_Pos 2 /*!< Data output set bit 2 */
#define GPIO_DATAOUTSET_PIN3_Pos 3 /*!< Data output set bit 3 */
#define GPIO_DATAOUTSET_PIN4_Pos 4 /*!< Data output set bit 4 */
#define GPIO_DATAOUTSET_PIN5_Pos 5 /*!< Data output set bit 5 */
#define GPIO_DATAOUTSET_PIN6_Pos 6 /*!< Data output set bit 6 */
#define GPIO_DATAOUTSET_PIN7_Pos 7 /*!< Data output set bit 7 */
#define GPIO_DATAOUTSET_PIN8_Pos 8 /*!< Data output set bit 8 */
#define GPIO_DATAOUTSET_PIN9_Pos 9 /*!< Data output set bit 9 */
#define GPIO_DATAOUTSET_PIN10_Pos 10 /*!< Data output set bit 10 */
#define GPIO_DATAOUTSET_PIN11_Pos 11 /*!< Data output set bit 11 */
#define GPIO_DATAOUTSET_PIN12_Pos 12 /*!< Data output set bit 12 */
#define GPIO_DATAOUTSET_PIN13_Pos 13 /*!< Data output set bit 13 */
#define GPIO_DATAOUTSET_PIN14_Pos 14 /*!< Data output set bit 14 */
#define GPIO_DATAOUTSET_PIN15_Pos 15 /*!< Data output set bit 15 */
/* Bit field masks: */
#define GPIO_DATAOUTSET_PIN0_Msk 0x00000001UL /*!< Data output set bit 0 */
#define GPIO_DATAOUTSET_PIN1_Msk 0x00000002UL /*!< Data output set bit 1 */
#define GPIO_DATAOUTSET_PIN2_Msk 0x00000004UL /*!< Data output set bit 2 */
#define GPIO_DATAOUTSET_PIN3_Msk 0x00000008UL /*!< Data output set bit 3 */
#define GPIO_DATAOUTSET_PIN4_Msk 0x00000010UL /*!< Data output set bit 4 */
#define GPIO_DATAOUTSET_PIN5_Msk 0x00000020UL /*!< Data output set bit 5 */
#define GPIO_DATAOUTSET_PIN6_Msk 0x00000040UL /*!< Data output set bit 6 */
#define GPIO_DATAOUTSET_PIN7_Msk 0x00000080UL /*!< Data output set bit 7 */
#define GPIO_DATAOUTSET_PIN8_Msk 0x00000100UL /*!< Data output set bit 8 */
#define GPIO_DATAOUTSET_PIN9_Msk 0x00000200UL /*!< Data output set bit 9 */
#define GPIO_DATAOUTSET_PIN10_Msk 0x00000400UL /*!< Data output set bit 10 */
#define GPIO_DATAOUTSET_PIN11_Msk 0x00000800UL /*!< Data output set bit 11 */
#define GPIO_DATAOUTSET_PIN12_Msk 0x00001000UL /*!< Data output set bit 12 */
#define GPIO_DATAOUTSET_PIN13_Msk 0x00002000UL /*!< Data output set bit 13 */
#define GPIO_DATAOUTSET_PIN14_Msk 0x00004000UL /*!< Data output set bit 14 */
#define GPIO_DATAOUTSET_PIN15_Msk 0x00008000UL /*!< Data output set bit 15 */
/*-- DATAOUTCLR: Data output clear bits register -------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Data output clear bit 0 */
uint32_t PIN1 :1; /*!< Data output clear bit 1 */
uint32_t PIN2 :1; /*!< Data output clear bit 2 */
uint32_t PIN3 :1; /*!< Data output clear bit 3 */
uint32_t PIN4 :1; /*!< Data output clear bit 4 */
uint32_t PIN5 :1; /*!< Data output clear bit 5 */
uint32_t PIN6 :1; /*!< Data output clear bit 6 */
uint32_t PIN7 :1; /*!< Data output clear bit 7 */
uint32_t PIN8 :1; /*!< Data output clear bit 8 */
uint32_t PIN9 :1; /*!< Data output clear bit 9 */
uint32_t PIN10 :1; /*!< Data output clear bit 10 */
uint32_t PIN11 :1; /*!< Data output clear bit 11 */
uint32_t PIN12 :1; /*!< Data output clear bit 12 */
uint32_t PIN13 :1; /*!< Data output clear bit 13 */
uint32_t PIN14 :1; /*!< Data output clear bit 14 */
uint32_t PIN15 :1; /*!< Data output clear bit 15 */
} _GPIO_DATAOUTCLR_bits;
/* Bit field positions: */
#define GPIO_DATAOUTCLR_PIN0_Pos 0 /*!< Data output clear bit 0 */
#define GPIO_DATAOUTCLR_PIN1_Pos 1 /*!< Data output clear bit 1 */
#define GPIO_DATAOUTCLR_PIN2_Pos 2 /*!< Data output clear bit 2 */
#define GPIO_DATAOUTCLR_PIN3_Pos 3 /*!< Data output clear bit 3 */
#define GPIO_DATAOUTCLR_PIN4_Pos 4 /*!< Data output clear bit 4 */
#define GPIO_DATAOUTCLR_PIN5_Pos 5 /*!< Data output clear bit 5 */
#define GPIO_DATAOUTCLR_PIN6_Pos 6 /*!< Data output clear bit 6 */
#define GPIO_DATAOUTCLR_PIN7_Pos 7 /*!< Data output clear bit 7 */
#define GPIO_DATAOUTCLR_PIN8_Pos 8 /*!< Data output clear bit 8 */
#define GPIO_DATAOUTCLR_PIN9_Pos 9 /*!< Data output clear bit 9 */
#define GPIO_DATAOUTCLR_PIN10_Pos 10 /*!< Data output clear bit 10 */
#define GPIO_DATAOUTCLR_PIN11_Pos 11 /*!< Data output clear bit 11 */
#define GPIO_DATAOUTCLR_PIN12_Pos 12 /*!< Data output clear bit 12 */
#define GPIO_DATAOUTCLR_PIN13_Pos 13 /*!< Data output clear bit 13 */
#define GPIO_DATAOUTCLR_PIN14_Pos 14 /*!< Data output clear bit 14 */
#define GPIO_DATAOUTCLR_PIN15_Pos 15 /*!< Data output clear bit 15 */
/* Bit field masks: */
#define GPIO_DATAOUTCLR_PIN0_Msk 0x00000001UL /*!< Data output clear bit 0 */
#define GPIO_DATAOUTCLR_PIN1_Msk 0x00000002UL /*!< Data output clear bit 1 */
#define GPIO_DATAOUTCLR_PIN2_Msk 0x00000004UL /*!< Data output clear bit 2 */
#define GPIO_DATAOUTCLR_PIN3_Msk 0x00000008UL /*!< Data output clear bit 3 */
#define GPIO_DATAOUTCLR_PIN4_Msk 0x00000010UL /*!< Data output clear bit 4 */
#define GPIO_DATAOUTCLR_PIN5_Msk 0x00000020UL /*!< Data output clear bit 5 */
#define GPIO_DATAOUTCLR_PIN6_Msk 0x00000040UL /*!< Data output clear bit 6 */
#define GPIO_DATAOUTCLR_PIN7_Msk 0x00000080UL /*!< Data output clear bit 7 */
#define GPIO_DATAOUTCLR_PIN8_Msk 0x00000100UL /*!< Data output clear bit 8 */
#define GPIO_DATAOUTCLR_PIN9_Msk 0x00000200UL /*!< Data output clear bit 9 */
#define GPIO_DATAOUTCLR_PIN10_Msk 0x00000400UL /*!< Data output clear bit 10 */
#define GPIO_DATAOUTCLR_PIN11_Msk 0x00000800UL /*!< Data output clear bit 11 */
#define GPIO_DATAOUTCLR_PIN12_Msk 0x00001000UL /*!< Data output clear bit 12 */
#define GPIO_DATAOUTCLR_PIN13_Msk 0x00002000UL /*!< Data output clear bit 13 */
#define GPIO_DATAOUTCLR_PIN14_Msk 0x00004000UL /*!< Data output clear bit 14 */
#define GPIO_DATAOUTCLR_PIN15_Msk 0x00008000UL /*!< Data output clear bit 15 */
/*-- DATAOUTTGL: Data output toogle bits register ------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Data output toogle bit 0 */
uint32_t PIN1 :1; /*!< Data output toogle bit 1 */
uint32_t PIN2 :1; /*!< Data output toogle bit 2 */
uint32_t PIN3 :1; /*!< Data output toogle bit 3 */
uint32_t PIN4 :1; /*!< Data output toogle bit 4 */
uint32_t PIN5 :1; /*!< Data output toogle bit 5 */
uint32_t PIN6 :1; /*!< Data output toogle bit 6 */
uint32_t PIN7 :1; /*!< Data output toogle bit 7 */
uint32_t PIN8 :1; /*!< Data output toogle bit 8 */
uint32_t PIN9 :1; /*!< Data output toogle bit 9 */
uint32_t PIN10 :1; /*!< Data output toogle bit 10 */
uint32_t PIN11 :1; /*!< Data output toogle bit 11 */
uint32_t PIN12 :1; /*!< Data output toogle bit 12 */
uint32_t PIN13 :1; /*!< Data output toogle bit 13 */
uint32_t PIN14 :1; /*!< Data output toogle bit 14 */
uint32_t PIN15 :1; /*!< Data output toogle bit 15 */
} _GPIO_DATAOUTTGL_bits;
/* Bit field positions: */
#define GPIO_DATAOUTTGL_PIN0_Pos 0 /*!< Data output toogle bit 0 */
#define GPIO_DATAOUTTGL_PIN1_Pos 1 /*!< Data output toogle bit 1 */
#define GPIO_DATAOUTTGL_PIN2_Pos 2 /*!< Data output toogle bit 2 */
#define GPIO_DATAOUTTGL_PIN3_Pos 3 /*!< Data output toogle bit 3 */
#define GPIO_DATAOUTTGL_PIN4_Pos 4 /*!< Data output toogle bit 4 */
#define GPIO_DATAOUTTGL_PIN5_Pos 5 /*!< Data output toogle bit 5 */
#define GPIO_DATAOUTTGL_PIN6_Pos 6 /*!< Data output toogle bit 6 */
#define GPIO_DATAOUTTGL_PIN7_Pos 7 /*!< Data output toogle bit 7 */
#define GPIO_DATAOUTTGL_PIN8_Pos 8 /*!< Data output toogle bit 8 */
#define GPIO_DATAOUTTGL_PIN9_Pos 9 /*!< Data output toogle bit 9 */
#define GPIO_DATAOUTTGL_PIN10_Pos 10 /*!< Data output toogle bit 10 */
#define GPIO_DATAOUTTGL_PIN11_Pos 11 /*!< Data output toogle bit 11 */
#define GPIO_DATAOUTTGL_PIN12_Pos 12 /*!< Data output toogle bit 12 */
#define GPIO_DATAOUTTGL_PIN13_Pos 13 /*!< Data output toogle bit 13 */
#define GPIO_DATAOUTTGL_PIN14_Pos 14 /*!< Data output toogle bit 14 */
#define GPIO_DATAOUTTGL_PIN15_Pos 15 /*!< Data output toogle bit 15 */
/* Bit field masks: */
#define GPIO_DATAOUTTGL_PIN0_Msk 0x00000001UL /*!< Data output toogle bit 0 */
#define GPIO_DATAOUTTGL_PIN1_Msk 0x00000002UL /*!< Data output toogle bit 1 */
#define GPIO_DATAOUTTGL_PIN2_Msk 0x00000004UL /*!< Data output toogle bit 2 */
#define GPIO_DATAOUTTGL_PIN3_Msk 0x00000008UL /*!< Data output toogle bit 3 */
#define GPIO_DATAOUTTGL_PIN4_Msk 0x00000010UL /*!< Data output toogle bit 4 */
#define GPIO_DATAOUTTGL_PIN5_Msk 0x00000020UL /*!< Data output toogle bit 5 */
#define GPIO_DATAOUTTGL_PIN6_Msk 0x00000040UL /*!< Data output toogle bit 6 */
#define GPIO_DATAOUTTGL_PIN7_Msk 0x00000080UL /*!< Data output toogle bit 7 */
#define GPIO_DATAOUTTGL_PIN8_Msk 0x00000100UL /*!< Data output toogle bit 8 */
#define GPIO_DATAOUTTGL_PIN9_Msk 0x00000200UL /*!< Data output toogle bit 9 */
#define GPIO_DATAOUTTGL_PIN10_Msk 0x00000400UL /*!< Data output toogle bit 10 */
#define GPIO_DATAOUTTGL_PIN11_Msk 0x00000800UL /*!< Data output toogle bit 11 */
#define GPIO_DATAOUTTGL_PIN12_Msk 0x00001000UL /*!< Data output toogle bit 12 */
#define GPIO_DATAOUTTGL_PIN13_Msk 0x00002000UL /*!< Data output toogle bit 13 */
#define GPIO_DATAOUTTGL_PIN14_Msk 0x00004000UL /*!< Data output toogle bit 14 */
#define GPIO_DATAOUTTGL_PIN15_Msk 0x00008000UL /*!< Data output toogle bit 15 */
/*-- DENSET: Digital function (PAD) enable register ----------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Digital function (PAD) enable on pin 0 */
uint32_t PIN1 :1; /*!< Digital function (PAD) enable on pin 1 */
uint32_t PIN2 :1; /*!< Digital function (PAD) enable on pin 2 */
uint32_t PIN3 :1; /*!< Digital function (PAD) enable on pin 3 */
uint32_t PIN4 :1; /*!< Digital function (PAD) enable on pin 4 */
uint32_t PIN5 :1; /*!< Digital function (PAD) enable on pin 5 */
uint32_t PIN6 :1; /*!< Digital function (PAD) enable on pin 6 */
uint32_t PIN7 :1; /*!< Digital function (PAD) enable on pin 7 */
uint32_t PIN8 :1; /*!< Digital function (PAD) enable on pin 8 */
uint32_t PIN9 :1; /*!< Digital function (PAD) enable on pin 9 */
uint32_t PIN10 :1; /*!< Digital function (PAD) enable on pin 10 */
uint32_t PIN11 :1; /*!< Digital function (PAD) enable on pin 11 */
uint32_t PIN12 :1; /*!< Digital function (PAD) enable on pin 12 */
uint32_t PIN13 :1; /*!< Digital function (PAD) enable on pin 13 */
uint32_t PIN14 :1; /*!< Digital function (PAD) enable on pin 14 */
uint32_t PIN15 :1; /*!< Digital function (PAD) enable on pin 15 */
} _GPIO_DENSET_bits;
/* Bit field positions: */
#define GPIO_DENSET_PIN0_Pos 0 /*!< Digital function (PAD) enable on pin 0 */
#define GPIO_DENSET_PIN1_Pos 1 /*!< Digital function (PAD) enable on pin 1 */
#define GPIO_DENSET_PIN2_Pos 2 /*!< Digital function (PAD) enable on pin 2 */
#define GPIO_DENSET_PIN3_Pos 3 /*!< Digital function (PAD) enable on pin 3 */
#define GPIO_DENSET_PIN4_Pos 4 /*!< Digital function (PAD) enable on pin 4 */
#define GPIO_DENSET_PIN5_Pos 5 /*!< Digital function (PAD) enable on pin 5 */
#define GPIO_DENSET_PIN6_Pos 6 /*!< Digital function (PAD) enable on pin 6 */
#define GPIO_DENSET_PIN7_Pos 7 /*!< Digital function (PAD) enable on pin 7 */
#define GPIO_DENSET_PIN8_Pos 8 /*!< Digital function (PAD) enable on pin 8 */
#define GPIO_DENSET_PIN9_Pos 9 /*!< Digital function (PAD) enable on pin 9 */
#define GPIO_DENSET_PIN10_Pos 10 /*!< Digital function (PAD) enable on pin 10 */
#define GPIO_DENSET_PIN11_Pos 11 /*!< Digital function (PAD) enable on pin 11 */
#define GPIO_DENSET_PIN12_Pos 12 /*!< Digital function (PAD) enable on pin 12 */
#define GPIO_DENSET_PIN13_Pos 13 /*!< Digital function (PAD) enable on pin 13 */
#define GPIO_DENSET_PIN14_Pos 14 /*!< Digital function (PAD) enable on pin 14 */
#define GPIO_DENSET_PIN15_Pos 15 /*!< Digital function (PAD) enable on pin 15 */
/* Bit field masks: */
#define GPIO_DENSET_PIN0_Msk 0x00000001UL /*!< Digital function (PAD) enable on pin 0 */
#define GPIO_DENSET_PIN1_Msk 0x00000002UL /*!< Digital function (PAD) enable on pin 1 */
#define GPIO_DENSET_PIN2_Msk 0x00000004UL /*!< Digital function (PAD) enable on pin 2 */
#define GPIO_DENSET_PIN3_Msk 0x00000008UL /*!< Digital function (PAD) enable on pin 3 */
#define GPIO_DENSET_PIN4_Msk 0x00000010UL /*!< Digital function (PAD) enable on pin 4 */
#define GPIO_DENSET_PIN5_Msk 0x00000020UL /*!< Digital function (PAD) enable on pin 5 */
#define GPIO_DENSET_PIN6_Msk 0x00000040UL /*!< Digital function (PAD) enable on pin 6 */
#define GPIO_DENSET_PIN7_Msk 0x00000080UL /*!< Digital function (PAD) enable on pin 7 */
#define GPIO_DENSET_PIN8_Msk 0x00000100UL /*!< Digital function (PAD) enable on pin 8 */
#define GPIO_DENSET_PIN9_Msk 0x00000200UL /*!< Digital function (PAD) enable on pin 9 */
#define GPIO_DENSET_PIN10_Msk 0x00000400UL /*!< Digital function (PAD) enable on pin 10 */
#define GPIO_DENSET_PIN11_Msk 0x00000800UL /*!< Digital function (PAD) enable on pin 11 */
#define GPIO_DENSET_PIN12_Msk 0x00001000UL /*!< Digital function (PAD) enable on pin 12 */
#define GPIO_DENSET_PIN13_Msk 0x00002000UL /*!< Digital function (PAD) enable on pin 13 */
#define GPIO_DENSET_PIN14_Msk 0x00004000UL /*!< Digital function (PAD) enable on pin 14 */
#define GPIO_DENSET_PIN15_Msk 0x00008000UL /*!< Digital function (PAD) enable on pin 15 */
/*-- DENCLR: Digital function (PAD) disable register ---------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Digital function (PAD) disable on pin 0 */
uint32_t PIN1 :1; /*!< Digital function (PAD) disable on pin 1 */
uint32_t PIN2 :1; /*!< Digital function (PAD) disable on pin 2 */
uint32_t PIN3 :1; /*!< Digital function (PAD) disable on pin 3 */
uint32_t PIN4 :1; /*!< Digital function (PAD) disable on pin 4 */
uint32_t PIN5 :1; /*!< Digital function (PAD) disable on pin 5 */
uint32_t PIN6 :1; /*!< Digital function (PAD) disable on pin 6 */
uint32_t PIN7 :1; /*!< Digital function (PAD) disable on pin 7 */
uint32_t PIN8 :1; /*!< Digital function (PAD) disable on pin 8 */
uint32_t PIN9 :1; /*!< Digital function (PAD) disable on pin 9 */
uint32_t PIN10 :1; /*!< Digital function (PAD) disable on pin 10 */
uint32_t PIN11 :1; /*!< Digital function (PAD) disable on pin 11 */
uint32_t PIN12 :1; /*!< Digital function (PAD) disable on pin 12 */
uint32_t PIN13 :1; /*!< Digital function (PAD) disable on pin 13 */
uint32_t PIN14 :1; /*!< Digital function (PAD) disable on pin 14 */
uint32_t PIN15 :1; /*!< Digital function (PAD) disable on pin 15 */
} _GPIO_DENCLR_bits;
/* Bit field positions: */
#define GPIO_DENCLR_PIN0_Pos 0 /*!< Digital function (PAD) disable on pin 0 */
#define GPIO_DENCLR_PIN1_Pos 1 /*!< Digital function (PAD) disable on pin 1 */
#define GPIO_DENCLR_PIN2_Pos 2 /*!< Digital function (PAD) disable on pin 2 */
#define GPIO_DENCLR_PIN3_Pos 3 /*!< Digital function (PAD) disable on pin 3 */
#define GPIO_DENCLR_PIN4_Pos 4 /*!< Digital function (PAD) disable on pin 4 */
#define GPIO_DENCLR_PIN5_Pos 5 /*!< Digital function (PAD) disable on pin 5 */
#define GPIO_DENCLR_PIN6_Pos 6 /*!< Digital function (PAD) disable on pin 6 */
#define GPIO_DENCLR_PIN7_Pos 7 /*!< Digital function (PAD) disable on pin 7 */
#define GPIO_DENCLR_PIN8_Pos 8 /*!< Digital function (PAD) disable on pin 8 */
#define GPIO_DENCLR_PIN9_Pos 9 /*!< Digital function (PAD) disable on pin 9 */
#define GPIO_DENCLR_PIN10_Pos 10 /*!< Digital function (PAD) disable on pin 10 */
#define GPIO_DENCLR_PIN11_Pos 11 /*!< Digital function (PAD) disable on pin 11 */
#define GPIO_DENCLR_PIN12_Pos 12 /*!< Digital function (PAD) disable on pin 12 */
#define GPIO_DENCLR_PIN13_Pos 13 /*!< Digital function (PAD) disable on pin 13 */
#define GPIO_DENCLR_PIN14_Pos 14 /*!< Digital function (PAD) disable on pin 14 */
#define GPIO_DENCLR_PIN15_Pos 15 /*!< Digital function (PAD) disable on pin 15 */
/* Bit field masks: */
#define GPIO_DENCLR_PIN0_Msk 0x00000001UL /*!< Digital function (PAD) disable on pin 0 */
#define GPIO_DENCLR_PIN1_Msk 0x00000002UL /*!< Digital function (PAD) disable on pin 1 */
#define GPIO_DENCLR_PIN2_Msk 0x00000004UL /*!< Digital function (PAD) disable on pin 2 */
#define GPIO_DENCLR_PIN3_Msk 0x00000008UL /*!< Digital function (PAD) disable on pin 3 */
#define GPIO_DENCLR_PIN4_Msk 0x00000010UL /*!< Digital function (PAD) disable on pin 4 */
#define GPIO_DENCLR_PIN5_Msk 0x00000020UL /*!< Digital function (PAD) disable on pin 5 */
#define GPIO_DENCLR_PIN6_Msk 0x00000040UL /*!< Digital function (PAD) disable on pin 6 */
#define GPIO_DENCLR_PIN7_Msk 0x00000080UL /*!< Digital function (PAD) disable on pin 7 */
#define GPIO_DENCLR_PIN8_Msk 0x00000100UL /*!< Digital function (PAD) disable on pin 8 */
#define GPIO_DENCLR_PIN9_Msk 0x00000200UL /*!< Digital function (PAD) disable on pin 9 */
#define GPIO_DENCLR_PIN10_Msk 0x00000400UL /*!< Digital function (PAD) disable on pin 10 */
#define GPIO_DENCLR_PIN11_Msk 0x00000800UL /*!< Digital function (PAD) disable on pin 11 */
#define GPIO_DENCLR_PIN12_Msk 0x00001000UL /*!< Digital function (PAD) disable on pin 12 */
#define GPIO_DENCLR_PIN13_Msk 0x00002000UL /*!< Digital function (PAD) disable on pin 13 */
#define GPIO_DENCLR_PIN14_Msk 0x00004000UL /*!< Digital function (PAD) disable on pin 14 */
#define GPIO_DENCLR_PIN15_Msk 0x00008000UL /*!< Digital function (PAD) disable on pin 15 */
/*-- INMODE: Select input mode register ----------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :2; /*!< Select input mode for pin 0 */
uint32_t PIN1 :2; /*!< Select input mode for pin 1 */
uint32_t PIN2 :2; /*!< Select input mode for pin 2 */
uint32_t PIN3 :2; /*!< Select input mode for pin 3 */
uint32_t PIN4 :2; /*!< Select input mode for pin 4 */
uint32_t PIN5 :2; /*!< Select input mode for pin 5 */
uint32_t PIN6 :2; /*!< Select input mode for pin 6 */
uint32_t PIN7 :2; /*!< Select input mode for pin 7 */
uint32_t PIN8 :2; /*!< Select input mode for pin 8 */
uint32_t PIN9 :2; /*!< Select input mode for pin 9 */
uint32_t PIN10 :2; /*!< Select input mode for pin 10 */
uint32_t PIN11 :2; /*!< Select input mode for pin 11 */
uint32_t PIN12 :2; /*!< Select input mode for pin 12 */
uint32_t PIN13 :2; /*!< Select input mode for pin 13 */
uint32_t PIN14 :2; /*!< Select input mode for pin 14 */
uint32_t PIN15 :2; /*!< Select input mode for pin 15 */
} _GPIO_INMODE_bits;
/* Bit field positions: */
#define GPIO_INMODE_PIN0_Pos 0 /*!< Select input mode for pin 0 */
#define GPIO_INMODE_PIN1_Pos 2 /*!< Select input mode for pin 1 */
#define GPIO_INMODE_PIN2_Pos 4 /*!< Select input mode for pin 2 */
#define GPIO_INMODE_PIN3_Pos 6 /*!< Select input mode for pin 3 */
#define GPIO_INMODE_PIN4_Pos 8 /*!< Select input mode for pin 4 */
#define GPIO_INMODE_PIN5_Pos 10 /*!< Select input mode for pin 5 */
#define GPIO_INMODE_PIN6_Pos 12 /*!< Select input mode for pin 6 */
#define GPIO_INMODE_PIN7_Pos 14 /*!< Select input mode for pin 7 */
#define GPIO_INMODE_PIN8_Pos 16 /*!< Select input mode for pin 8 */
#define GPIO_INMODE_PIN9_Pos 18 /*!< Select input mode for pin 9 */
#define GPIO_INMODE_PIN10_Pos 20 /*!< Select input mode for pin 10 */
#define GPIO_INMODE_PIN11_Pos 22 /*!< Select input mode for pin 11 */
#define GPIO_INMODE_PIN12_Pos 24 /*!< Select input mode for pin 12 */
#define GPIO_INMODE_PIN13_Pos 26 /*!< Select input mode for pin 13 */
#define GPIO_INMODE_PIN14_Pos 28 /*!< Select input mode for pin 14 */
#define GPIO_INMODE_PIN15_Pos 30 /*!< Select input mode for pin 15 */
/* Bit field masks: */
#define GPIO_INMODE_PIN0_Msk 0x00000003UL /*!< Select input mode for pin 0 */
#define GPIO_INMODE_PIN1_Msk 0x0000000CUL /*!< Select input mode for pin 1 */
#define GPIO_INMODE_PIN2_Msk 0x00000030UL /*!< Select input mode for pin 2 */
#define GPIO_INMODE_PIN3_Msk 0x000000C0UL /*!< Select input mode for pin 3 */
#define GPIO_INMODE_PIN4_Msk 0x00000300UL /*!< Select input mode for pin 4 */
#define GPIO_INMODE_PIN5_Msk 0x00000C00UL /*!< Select input mode for pin 5 */
#define GPIO_INMODE_PIN6_Msk 0x00003000UL /*!< Select input mode for pin 6 */
#define GPIO_INMODE_PIN7_Msk 0x0000C000UL /*!< Select input mode for pin 7 */
#define GPIO_INMODE_PIN8_Msk 0x00030000UL /*!< Select input mode for pin 8 */
#define GPIO_INMODE_PIN9_Msk 0x000C0000UL /*!< Select input mode for pin 9 */
#define GPIO_INMODE_PIN10_Msk 0x00300000UL /*!< Select input mode for pin 10 */
#define GPIO_INMODE_PIN11_Msk 0x00C00000UL /*!< Select input mode for pin 11 */
#define GPIO_INMODE_PIN12_Msk 0x03000000UL /*!< Select input mode for pin 12 */
#define GPIO_INMODE_PIN13_Msk 0x0C000000UL /*!< Select input mode for pin 13 */
#define GPIO_INMODE_PIN14_Msk 0x30000000UL /*!< Select input mode for pin 14 */
#define GPIO_INMODE_PIN15_Msk 0xC0000000UL /*!< Select input mode for pin 15 */
/* Bit field enums: */
typedef enum {
GPIO_INMODE_PIN0_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN0_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN0_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN0_Enum;
typedef enum {
GPIO_INMODE_PIN1_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN1_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN1_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN1_Enum;
typedef enum {
GPIO_INMODE_PIN2_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN2_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN2_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN2_Enum;
typedef enum {
GPIO_INMODE_PIN3_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN3_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN3_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN3_Enum;
typedef enum {
GPIO_INMODE_PIN4_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN4_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN4_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN4_Enum;
typedef enum {
GPIO_INMODE_PIN5_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN5_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN5_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN5_Enum;
typedef enum {
GPIO_INMODE_PIN6_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN6_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN6_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN6_Enum;
typedef enum {
GPIO_INMODE_PIN7_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN7_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN7_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN7_Enum;
typedef enum {
GPIO_INMODE_PIN8_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN8_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN8_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN8_Enum;
typedef enum {
GPIO_INMODE_PIN9_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN9_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN9_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN9_Enum;
typedef enum {
GPIO_INMODE_PIN10_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN10_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN10_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN10_Enum;
typedef enum {
GPIO_INMODE_PIN11_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN11_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN11_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN11_Enum;
typedef enum {
GPIO_INMODE_PIN12_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN12_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN12_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN12_Enum;
typedef enum {
GPIO_INMODE_PIN13_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN13_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN13_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN13_Enum;
typedef enum {
GPIO_INMODE_PIN14_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN14_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN14_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN14_Enum;
typedef enum {
GPIO_INMODE_PIN15_Schmitt = 0x0UL, /*!< Scmitt buffer */
GPIO_INMODE_PIN15_CMOS = 0x1UL, /*!< CMOS buffer */
GPIO_INMODE_PIN15_Disable = 0x3UL, /*!< Input buffer disabled */
} GPIO_INMODE_PIN15_Enum;
/*-- PULLMODE: Select pull mode register ---------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :2; /*!< Select pull mode for pin 0 */
uint32_t PIN1 :2; /*!< Select pull mode for pin 1 */
uint32_t PIN2 :2; /*!< Select pull mode for pin 2 */
uint32_t PIN3 :2; /*!< Select pull mode for pin 3 */
uint32_t PIN4 :2; /*!< Select pull mode for pin 4 */
uint32_t PIN5 :2; /*!< Select pull mode for pin 5 */
uint32_t PIN6 :2; /*!< Select pull mode for pin 6 */
uint32_t PIN7 :2; /*!< Select pull mode for pin 7 */
uint32_t PIN8 :2; /*!< Select pull mode for pin 8 */
uint32_t PIN9 :2; /*!< Select pull mode for pin 9 */
uint32_t PIN10 :2; /*!< Select pull mode for pin 10 */
uint32_t PIN11 :2; /*!< Select pull mode for pin 11 */
uint32_t PIN12 :2; /*!< Select pull mode for pin 12 */
uint32_t PIN13 :2; /*!< Select pull mode for pin 13 */
uint32_t PIN14 :2; /*!< Select pull mode for pin 14 */
uint32_t PIN15 :2; /*!< Select pull mode for pin 15 */
} _GPIO_PULLMODE_bits;
/* Bit field positions: */
#define GPIO_PULLMODE_PIN0_Pos 0 /*!< Select pull mode for pin 0 */
#define GPIO_PULLMODE_PIN1_Pos 2 /*!< Select pull mode for pin 1 */
#define GPIO_PULLMODE_PIN2_Pos 4 /*!< Select pull mode for pin 2 */
#define GPIO_PULLMODE_PIN3_Pos 6 /*!< Select pull mode for pin 3 */
#define GPIO_PULLMODE_PIN4_Pos 8 /*!< Select pull mode for pin 4 */
#define GPIO_PULLMODE_PIN5_Pos 10 /*!< Select pull mode for pin 5 */
#define GPIO_PULLMODE_PIN6_Pos 12 /*!< Select pull mode for pin 6 */
#define GPIO_PULLMODE_PIN7_Pos 14 /*!< Select pull mode for pin 7 */
#define GPIO_PULLMODE_PIN8_Pos 16 /*!< Select pull mode for pin 8 */
#define GPIO_PULLMODE_PIN9_Pos 18 /*!< Select pull mode for pin 9 */
#define GPIO_PULLMODE_PIN10_Pos 20 /*!< Select pull mode for pin 10 */
#define GPIO_PULLMODE_PIN11_Pos 22 /*!< Select pull mode for pin 11 */
#define GPIO_PULLMODE_PIN12_Pos 24 /*!< Select pull mode for pin 12 */
#define GPIO_PULLMODE_PIN13_Pos 26 /*!< Select pull mode for pin 13 */
#define GPIO_PULLMODE_PIN14_Pos 28 /*!< Select pull mode for pin 14 */
#define GPIO_PULLMODE_PIN15_Pos 30 /*!< Select pull mode for pin 15 */
/* Bit field masks: */
#define GPIO_PULLMODE_PIN0_Msk 0x00000003UL /*!< Select pull mode for pin 0 */
#define GPIO_PULLMODE_PIN1_Msk 0x0000000CUL /*!< Select pull mode for pin 1 */
#define GPIO_PULLMODE_PIN2_Msk 0x00000030UL /*!< Select pull mode for pin 2 */
#define GPIO_PULLMODE_PIN3_Msk 0x000000C0UL /*!< Select pull mode for pin 3 */
#define GPIO_PULLMODE_PIN4_Msk 0x00000300UL /*!< Select pull mode for pin 4 */
#define GPIO_PULLMODE_PIN5_Msk 0x00000C00UL /*!< Select pull mode for pin 5 */
#define GPIO_PULLMODE_PIN6_Msk 0x00003000UL /*!< Select pull mode for pin 6 */
#define GPIO_PULLMODE_PIN7_Msk 0x0000C000UL /*!< Select pull mode for pin 7 */
#define GPIO_PULLMODE_PIN8_Msk 0x00030000UL /*!< Select pull mode for pin 8 */
#define GPIO_PULLMODE_PIN9_Msk 0x000C0000UL /*!< Select pull mode for pin 9 */
#define GPIO_PULLMODE_PIN10_Msk 0x00300000UL /*!< Select pull mode for pin 10 */
#define GPIO_PULLMODE_PIN11_Msk 0x00C00000UL /*!< Select pull mode for pin 11 */
#define GPIO_PULLMODE_PIN12_Msk 0x03000000UL /*!< Select pull mode for pin 12 */
#define GPIO_PULLMODE_PIN13_Msk 0x0C000000UL /*!< Select pull mode for pin 13 */
#define GPIO_PULLMODE_PIN14_Msk 0x30000000UL /*!< Select pull mode for pin 14 */
#define GPIO_PULLMODE_PIN15_Msk 0xC0000000UL /*!< Select pull mode for pin 15 */
/* Bit field enums: */
typedef enum {
GPIO_PULLMODE_PIN0_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN0_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN0_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN0_Enum;
typedef enum {
GPIO_PULLMODE_PIN1_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN1_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN1_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN1_Enum;
typedef enum {
GPIO_PULLMODE_PIN2_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN2_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN2_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN2_Enum;
typedef enum {
GPIO_PULLMODE_PIN3_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN3_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN3_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN3_Enum;
typedef enum {
GPIO_PULLMODE_PIN4_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN4_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN4_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN4_Enum;
typedef enum {
GPIO_PULLMODE_PIN5_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN5_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN5_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN5_Enum;
typedef enum {
GPIO_PULLMODE_PIN6_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN6_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN6_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN6_Enum;
typedef enum {
GPIO_PULLMODE_PIN7_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN7_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN7_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN7_Enum;
typedef enum {
GPIO_PULLMODE_PIN8_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN8_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN8_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN8_Enum;
typedef enum {
GPIO_PULLMODE_PIN9_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN9_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN9_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN9_Enum;
typedef enum {
GPIO_PULLMODE_PIN10_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN10_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN10_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN10_Enum;
typedef enum {
GPIO_PULLMODE_PIN11_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN11_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN11_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN11_Enum;
typedef enum {
GPIO_PULLMODE_PIN12_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN12_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN12_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN12_Enum;
typedef enum {
GPIO_PULLMODE_PIN13_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN13_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN13_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN13_Enum;
typedef enum {
GPIO_PULLMODE_PIN14_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN14_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN14_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN14_Enum;
typedef enum {
GPIO_PULLMODE_PIN15_Disable = 0x0UL, /*!< Pull disabled */
GPIO_PULLMODE_PIN15_PU = 0x1UL, /*!< Pull-up */
GPIO_PULLMODE_PIN15_PD = 0x2UL, /*!< Pull-down */
} GPIO_PULLMODE_PIN15_Enum;
/*-- OUTMODE: Select output mode register --------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :2; /*!< Select output mode for pin 0 */
uint32_t PIN1 :2; /*!< Select output mode for pin 1 */
uint32_t PIN2 :2; /*!< Select output mode for pin 2 */
uint32_t PIN3 :2; /*!< Select output mode for pin 3 */
uint32_t PIN4 :2; /*!< Select output mode for pin 4 */
uint32_t PIN5 :2; /*!< Select output mode for pin 5 */
uint32_t PIN6 :2; /*!< Select output mode for pin 6 */
uint32_t PIN7 :2; /*!< Select output mode for pin 7 */
uint32_t PIN8 :2; /*!< Select output mode for pin 8 */
uint32_t PIN9 :2; /*!< Select output mode for pin 9 */
uint32_t PIN10 :2; /*!< Select output mode for pin 10 */
uint32_t PIN11 :2; /*!< Select output mode for pin 11 */
uint32_t PIN12 :2; /*!< Select output mode for pin 12 */
uint32_t PIN13 :2; /*!< Select output mode for pin 13 */
uint32_t PIN14 :2; /*!< Select output mode for pin 14 */
uint32_t PIN15 :2; /*!< Select output mode for pin 15 */
} _GPIO_OUTMODE_bits;
/* Bit field positions: */
#define GPIO_OUTMODE_PIN0_Pos 0 /*!< Select output mode for pin 0 */
#define GPIO_OUTMODE_PIN1_Pos 2 /*!< Select output mode for pin 1 */
#define GPIO_OUTMODE_PIN2_Pos 4 /*!< Select output mode for pin 2 */
#define GPIO_OUTMODE_PIN3_Pos 6 /*!< Select output mode for pin 3 */
#define GPIO_OUTMODE_PIN4_Pos 8 /*!< Select output mode for pin 4 */
#define GPIO_OUTMODE_PIN5_Pos 10 /*!< Select output mode for pin 5 */
#define GPIO_OUTMODE_PIN6_Pos 12 /*!< Select output mode for pin 6 */
#define GPIO_OUTMODE_PIN7_Pos 14 /*!< Select output mode for pin 7 */
#define GPIO_OUTMODE_PIN8_Pos 16 /*!< Select output mode for pin 8 */
#define GPIO_OUTMODE_PIN9_Pos 18 /*!< Select output mode for pin 9 */
#define GPIO_OUTMODE_PIN10_Pos 20 /*!< Select output mode for pin 10 */
#define GPIO_OUTMODE_PIN11_Pos 22 /*!< Select output mode for pin 11 */
#define GPIO_OUTMODE_PIN12_Pos 24 /*!< Select output mode for pin 12 */
#define GPIO_OUTMODE_PIN13_Pos 26 /*!< Select output mode for pin 13 */
#define GPIO_OUTMODE_PIN14_Pos 28 /*!< Select output mode for pin 14 */
#define GPIO_OUTMODE_PIN15_Pos 30 /*!< Select output mode for pin 15 */
/* Bit field masks: */
#define GPIO_OUTMODE_PIN0_Msk 0x00000003UL /*!< Select output mode for pin 0 */
#define GPIO_OUTMODE_PIN1_Msk 0x0000000CUL /*!< Select output mode for pin 1 */
#define GPIO_OUTMODE_PIN2_Msk 0x00000030UL /*!< Select output mode for pin 2 */
#define GPIO_OUTMODE_PIN3_Msk 0x000000C0UL /*!< Select output mode for pin 3 */
#define GPIO_OUTMODE_PIN4_Msk 0x00000300UL /*!< Select output mode for pin 4 */
#define GPIO_OUTMODE_PIN5_Msk 0x00000C00UL /*!< Select output mode for pin 5 */
#define GPIO_OUTMODE_PIN6_Msk 0x00003000UL /*!< Select output mode for pin 6 */
#define GPIO_OUTMODE_PIN7_Msk 0x0000C000UL /*!< Select output mode for pin 7 */
#define GPIO_OUTMODE_PIN8_Msk 0x00030000UL /*!< Select output mode for pin 8 */
#define GPIO_OUTMODE_PIN9_Msk 0x000C0000UL /*!< Select output mode for pin 9 */
#define GPIO_OUTMODE_PIN10_Msk 0x00300000UL /*!< Select output mode for pin 10 */
#define GPIO_OUTMODE_PIN11_Msk 0x00C00000UL /*!< Select output mode for pin 11 */
#define GPIO_OUTMODE_PIN12_Msk 0x03000000UL /*!< Select output mode for pin 12 */
#define GPIO_OUTMODE_PIN13_Msk 0x0C000000UL /*!< Select output mode for pin 13 */
#define GPIO_OUTMODE_PIN14_Msk 0x30000000UL /*!< Select output mode for pin 14 */
#define GPIO_OUTMODE_PIN15_Msk 0xC0000000UL /*!< Select output mode for pin 15 */
/* Bit field enums: */
typedef enum {
GPIO_OUTMODE_PIN0_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN0_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN0_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN0_Enum;
typedef enum {
GPIO_OUTMODE_PIN1_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN1_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN1_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN1_Enum;
typedef enum {
GPIO_OUTMODE_PIN2_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN2_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN2_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN2_Enum;
typedef enum {
GPIO_OUTMODE_PIN3_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN3_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN3_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN3_Enum;
typedef enum {
GPIO_OUTMODE_PIN4_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN4_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN4_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN4_Enum;
typedef enum {
GPIO_OUTMODE_PIN5_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN5_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN5_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN5_Enum;
typedef enum {
GPIO_OUTMODE_PIN6_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN6_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN6_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN6_Enum;
typedef enum {
GPIO_OUTMODE_PIN7_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN7_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN7_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN7_Enum;
typedef enum {
GPIO_OUTMODE_PIN8_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN8_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN8_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN8_Enum;
typedef enum {
GPIO_OUTMODE_PIN9_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN9_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN9_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN9_Enum;
typedef enum {
GPIO_OUTMODE_PIN10_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN10_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN10_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN10_Enum;
typedef enum {
GPIO_OUTMODE_PIN11_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN11_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN11_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN11_Enum;
typedef enum {
GPIO_OUTMODE_PIN12_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN12_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN12_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN12_Enum;
typedef enum {
GPIO_OUTMODE_PIN13_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN13_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN13_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN13_Enum;
typedef enum {
GPIO_OUTMODE_PIN14_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN14_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN14_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN14_Enum;
typedef enum {
GPIO_OUTMODE_PIN15_PP = 0x0UL, /*!< Push-pull output */
GPIO_OUTMODE_PIN15_OD = 0x1UL, /*!< Open drain output */
GPIO_OUTMODE_PIN15_OS = 0x2UL, /*!< Open source output */
} GPIO_OUTMODE_PIN15_Enum;
/*-- DRIVEMODE: Select drive mode register -------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :2; /*!< Select drive mode for pin 0 */
uint32_t PIN1 :2; /*!< Select drive mode for pin 1 */
uint32_t PIN2 :2; /*!< Select drive mode for pin 2 */
uint32_t PIN3 :2; /*!< Select drive mode for pin 3 */
uint32_t PIN4 :2; /*!< Select drive mode for pin 4 */
uint32_t PIN5 :2; /*!< Select drive mode for pin 5 */
uint32_t PIN6 :2; /*!< Select drive mode for pin 6 */
uint32_t PIN7 :2; /*!< Select drive mode for pin 7 */
uint32_t PIN8 :2; /*!< Select drive mode for pin 8 */
uint32_t PIN9 :2; /*!< Select drive mode for pin 9 */
uint32_t PIN10 :2; /*!< Select drive mode for pin 10 */
uint32_t PIN11 :2; /*!< Select drive mode for pin 11 */
uint32_t PIN12 :2; /*!< Select drive mode for pin 12 */
uint32_t PIN13 :2; /*!< Select drive mode for pin 13 */
uint32_t PIN14 :2; /*!< Select drive mode for pin 14 */
uint32_t PIN15 :2; /*!< Select drive mode for pin 15 */
} _GPIO_DRIVEMODE_bits;
/* Bit field positions: */
#define GPIO_DRIVEMODE_PIN0_Pos 0 /*!< Select drive mode for pin 0 */
#define GPIO_DRIVEMODE_PIN1_Pos 2 /*!< Select drive mode for pin 1 */
#define GPIO_DRIVEMODE_PIN2_Pos 4 /*!< Select drive mode for pin 2 */
#define GPIO_DRIVEMODE_PIN3_Pos 6 /*!< Select drive mode for pin 3 */
#define GPIO_DRIVEMODE_PIN4_Pos 8 /*!< Select drive mode for pin 4 */
#define GPIO_DRIVEMODE_PIN5_Pos 10 /*!< Select drive mode for pin 5 */
#define GPIO_DRIVEMODE_PIN6_Pos 12 /*!< Select drive mode for pin 6 */
#define GPIO_DRIVEMODE_PIN7_Pos 14 /*!< Select drive mode for pin 7 */
#define GPIO_DRIVEMODE_PIN8_Pos 16 /*!< Select drive mode for pin 8 */
#define GPIO_DRIVEMODE_PIN9_Pos 18 /*!< Select drive mode for pin 9 */
#define GPIO_DRIVEMODE_PIN10_Pos 20 /*!< Select drive mode for pin 10 */
#define GPIO_DRIVEMODE_PIN11_Pos 22 /*!< Select drive mode for pin 11 */
#define GPIO_DRIVEMODE_PIN12_Pos 24 /*!< Select drive mode for pin 12 */
#define GPIO_DRIVEMODE_PIN13_Pos 26 /*!< Select drive mode for pin 13 */
#define GPIO_DRIVEMODE_PIN14_Pos 28 /*!< Select drive mode for pin 14 */
#define GPIO_DRIVEMODE_PIN15_Pos 30 /*!< Select drive mode for pin 15 */
/* Bit field masks: */
#define GPIO_DRIVEMODE_PIN0_Msk 0x00000003UL /*!< Select drive mode for pin 0 */
#define GPIO_DRIVEMODE_PIN1_Msk 0x0000000CUL /*!< Select drive mode for pin 1 */
#define GPIO_DRIVEMODE_PIN2_Msk 0x00000030UL /*!< Select drive mode for pin 2 */
#define GPIO_DRIVEMODE_PIN3_Msk 0x000000C0UL /*!< Select drive mode for pin 3 */
#define GPIO_DRIVEMODE_PIN4_Msk 0x00000300UL /*!< Select drive mode for pin 4 */
#define GPIO_DRIVEMODE_PIN5_Msk 0x00000C00UL /*!< Select drive mode for pin 5 */
#define GPIO_DRIVEMODE_PIN6_Msk 0x00003000UL /*!< Select drive mode for pin 6 */
#define GPIO_DRIVEMODE_PIN7_Msk 0x0000C000UL /*!< Select drive mode for pin 7 */
#define GPIO_DRIVEMODE_PIN8_Msk 0x00030000UL /*!< Select drive mode for pin 8 */
#define GPIO_DRIVEMODE_PIN9_Msk 0x000C0000UL /*!< Select drive mode for pin 9 */
#define GPIO_DRIVEMODE_PIN10_Msk 0x00300000UL /*!< Select drive mode for pin 10 */
#define GPIO_DRIVEMODE_PIN11_Msk 0x00C00000UL /*!< Select drive mode for pin 11 */
#define GPIO_DRIVEMODE_PIN12_Msk 0x03000000UL /*!< Select drive mode for pin 12 */
#define GPIO_DRIVEMODE_PIN13_Msk 0x0C000000UL /*!< Select drive mode for pin 13 */
#define GPIO_DRIVEMODE_PIN14_Msk 0x30000000UL /*!< Select drive mode for pin 14 */
#define GPIO_DRIVEMODE_PIN15_Msk 0xC0000000UL /*!< Select drive mode for pin 15 */
/* Bit field enums: */
typedef enum {
GPIO_DRIVEMODE_PIN0_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN0_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN0_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN0_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN0_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN1_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN1_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN1_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN1_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN1_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN2_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN2_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN2_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN2_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN2_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN3_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN3_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN3_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN3_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN3_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN4_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN4_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN4_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN4_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN4_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN5_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN5_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN5_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN5_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN5_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN6_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN6_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN6_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN6_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN6_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN7_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN7_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN7_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN7_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN7_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN8_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN8_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN8_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN8_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN8_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN9_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN9_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN9_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN9_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN9_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN10_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN10_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN10_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN10_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN10_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN11_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN11_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN11_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN11_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN11_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN12_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN12_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN12_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN12_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN12_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN13_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN13_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN13_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN13_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN13_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN14_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN14_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN14_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN14_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN14_Enum;
typedef enum {
GPIO_DRIVEMODE_PIN15_HF = 0x0UL, /*!< High strength and Fast rate */
GPIO_DRIVEMODE_PIN15_HS = 0x1UL, /*!< High strength and Slow rate */
GPIO_DRIVEMODE_PIN15_LF = 0x2UL, /*!< Low strength and Fast rate */
GPIO_DRIVEMODE_PIN15_LS = 0x3UL, /*!< Low strength and Slow rate */
} GPIO_DRIVEMODE_PIN15_Enum;
/*-- OUTENSET: Output enable register ------------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Output enable for pin 0 */
uint32_t PIN1 :1; /*!< Output enable for pin 1 */
uint32_t PIN2 :1; /*!< Output enable for pin 2 */
uint32_t PIN3 :1; /*!< Output enable for pin 3 */
uint32_t PIN4 :1; /*!< Output enable for pin 4 */
uint32_t PIN5 :1; /*!< Output enable for pin 5 */
uint32_t PIN6 :1; /*!< Output enable for pin 6 */
uint32_t PIN7 :1; /*!< Output enable for pin 7 */
uint32_t PIN8 :1; /*!< Output enable for pin 8 */
uint32_t PIN9 :1; /*!< Output enable for pin 9 */
uint32_t PIN10 :1; /*!< Output enable for pin 10 */
uint32_t PIN11 :1; /*!< Output enable for pin 11 */
uint32_t PIN12 :1; /*!< Output enable for pin 12 */
uint32_t PIN13 :1; /*!< Output enable for pin 13 */
uint32_t PIN14 :1; /*!< Output enable for pin 14 */
uint32_t PIN15 :1; /*!< Output enable for pin 15 */
} _GPIO_OUTENSET_bits;
/* Bit field positions: */
#define GPIO_OUTENSET_PIN0_Pos 0 /*!< Output enable for pin 0 */
#define GPIO_OUTENSET_PIN1_Pos 1 /*!< Output enable for pin 1 */
#define GPIO_OUTENSET_PIN2_Pos 2 /*!< Output enable for pin 2 */
#define GPIO_OUTENSET_PIN3_Pos 3 /*!< Output enable for pin 3 */
#define GPIO_OUTENSET_PIN4_Pos 4 /*!< Output enable for pin 4 */
#define GPIO_OUTENSET_PIN5_Pos 5 /*!< Output enable for pin 5 */
#define GPIO_OUTENSET_PIN6_Pos 6 /*!< Output enable for pin 6 */
#define GPIO_OUTENSET_PIN7_Pos 7 /*!< Output enable for pin 7 */
#define GPIO_OUTENSET_PIN8_Pos 8 /*!< Output enable for pin 8 */
#define GPIO_OUTENSET_PIN9_Pos 9 /*!< Output enable for pin 9 */
#define GPIO_OUTENSET_PIN10_Pos 10 /*!< Output enable for pin 10 */
#define GPIO_OUTENSET_PIN11_Pos 11 /*!< Output enable for pin 11 */
#define GPIO_OUTENSET_PIN12_Pos 12 /*!< Output enable for pin 12 */
#define GPIO_OUTENSET_PIN13_Pos 13 /*!< Output enable for pin 13 */
#define GPIO_OUTENSET_PIN14_Pos 14 /*!< Output enable for pin 14 */
#define GPIO_OUTENSET_PIN15_Pos 15 /*!< Output enable for pin 15 */
/* Bit field masks: */
#define GPIO_OUTENSET_PIN0_Msk 0x00000001UL /*!< Output enable for pin 0 */
#define GPIO_OUTENSET_PIN1_Msk 0x00000002UL /*!< Output enable for pin 1 */
#define GPIO_OUTENSET_PIN2_Msk 0x00000004UL /*!< Output enable for pin 2 */
#define GPIO_OUTENSET_PIN3_Msk 0x00000008UL /*!< Output enable for pin 3 */
#define GPIO_OUTENSET_PIN4_Msk 0x00000010UL /*!< Output enable for pin 4 */
#define GPIO_OUTENSET_PIN5_Msk 0x00000020UL /*!< Output enable for pin 5 */
#define GPIO_OUTENSET_PIN6_Msk 0x00000040UL /*!< Output enable for pin 6 */
#define GPIO_OUTENSET_PIN7_Msk 0x00000080UL /*!< Output enable for pin 7 */
#define GPIO_OUTENSET_PIN8_Msk 0x00000100UL /*!< Output enable for pin 8 */
#define GPIO_OUTENSET_PIN9_Msk 0x00000200UL /*!< Output enable for pin 9 */
#define GPIO_OUTENSET_PIN10_Msk 0x00000400UL /*!< Output enable for pin 10 */
#define GPIO_OUTENSET_PIN11_Msk 0x00000800UL /*!< Output enable for pin 11 */
#define GPIO_OUTENSET_PIN12_Msk 0x00001000UL /*!< Output enable for pin 12 */
#define GPIO_OUTENSET_PIN13_Msk 0x00002000UL /*!< Output enable for pin 13 */
#define GPIO_OUTENSET_PIN14_Msk 0x00004000UL /*!< Output enable for pin 14 */
#define GPIO_OUTENSET_PIN15_Msk 0x00008000UL /*!< Output enable for pin 15 */
/*-- OUTENCLR: Output disable register -----------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Output disable for pin 0 */
uint32_t PIN1 :1; /*!< Output disable for pin 1 */
uint32_t PIN2 :1; /*!< Output disable for pin 2 */
uint32_t PIN3 :1; /*!< Output disable for pin 3 */
uint32_t PIN4 :1; /*!< Output disable for pin 4 */
uint32_t PIN5 :1; /*!< Output disable for pin 5 */
uint32_t PIN6 :1; /*!< Output disable for pin 6 */
uint32_t PIN7 :1; /*!< Output disable for pin 7 */
uint32_t PIN8 :1; /*!< Output disable for pin 8 */
uint32_t PIN9 :1; /*!< Output disable for pin 9 */
uint32_t PIN10 :1; /*!< Output disable for pin 10 */
uint32_t PIN11 :1; /*!< Output disable for pin 11 */
uint32_t PIN12 :1; /*!< Output disable for pin 12 */
uint32_t PIN13 :1; /*!< Output disable for pin 13 */
uint32_t PIN14 :1; /*!< Output disable for pin 14 */
uint32_t PIN15 :1; /*!< Output disable for pin 15 */
} _GPIO_OUTENCLR_bits;
/* Bit field positions: */
#define GPIO_OUTENCLR_PIN0_Pos 0 /*!< Output disable for pin 0 */
#define GPIO_OUTENCLR_PIN1_Pos 1 /*!< Output disable for pin 1 */
#define GPIO_OUTENCLR_PIN2_Pos 2 /*!< Output disable for pin 2 */
#define GPIO_OUTENCLR_PIN3_Pos 3 /*!< Output disable for pin 3 */
#define GPIO_OUTENCLR_PIN4_Pos 4 /*!< Output disable for pin 4 */
#define GPIO_OUTENCLR_PIN5_Pos 5 /*!< Output disable for pin 5 */
#define GPIO_OUTENCLR_PIN6_Pos 6 /*!< Output disable for pin 6 */
#define GPIO_OUTENCLR_PIN7_Pos 7 /*!< Output disable for pin 7 */
#define GPIO_OUTENCLR_PIN8_Pos 8 /*!< Output disable for pin 8 */
#define GPIO_OUTENCLR_PIN9_Pos 9 /*!< Output disable for pin 9 */
#define GPIO_OUTENCLR_PIN10_Pos 10 /*!< Output disable for pin 10 */
#define GPIO_OUTENCLR_PIN11_Pos 11 /*!< Output disable for pin 11 */
#define GPIO_OUTENCLR_PIN12_Pos 12 /*!< Output disable for pin 12 */
#define GPIO_OUTENCLR_PIN13_Pos 13 /*!< Output disable for pin 13 */
#define GPIO_OUTENCLR_PIN14_Pos 14 /*!< Output disable for pin 14 */
#define GPIO_OUTENCLR_PIN15_Pos 15 /*!< Output disable for pin 15 */
/* Bit field masks: */
#define GPIO_OUTENCLR_PIN0_Msk 0x00000001UL /*!< Output disable for pin 0 */
#define GPIO_OUTENCLR_PIN1_Msk 0x00000002UL /*!< Output disable for pin 1 */
#define GPIO_OUTENCLR_PIN2_Msk 0x00000004UL /*!< Output disable for pin 2 */
#define GPIO_OUTENCLR_PIN3_Msk 0x00000008UL /*!< Output disable for pin 3 */
#define GPIO_OUTENCLR_PIN4_Msk 0x00000010UL /*!< Output disable for pin 4 */
#define GPIO_OUTENCLR_PIN5_Msk 0x00000020UL /*!< Output disable for pin 5 */
#define GPIO_OUTENCLR_PIN6_Msk 0x00000040UL /*!< Output disable for pin 6 */
#define GPIO_OUTENCLR_PIN7_Msk 0x00000080UL /*!< Output disable for pin 7 */
#define GPIO_OUTENCLR_PIN8_Msk 0x00000100UL /*!< Output disable for pin 8 */
#define GPIO_OUTENCLR_PIN9_Msk 0x00000200UL /*!< Output disable for pin 9 */
#define GPIO_OUTENCLR_PIN10_Msk 0x00000400UL /*!< Output disable for pin 10 */
#define GPIO_OUTENCLR_PIN11_Msk 0x00000800UL /*!< Output disable for pin 11 */
#define GPIO_OUTENCLR_PIN12_Msk 0x00001000UL /*!< Output disable for pin 12 */
#define GPIO_OUTENCLR_PIN13_Msk 0x00002000UL /*!< Output disable for pin 13 */
#define GPIO_OUTENCLR_PIN14_Msk 0x00004000UL /*!< Output disable for pin 14 */
#define GPIO_OUTENCLR_PIN15_Msk 0x00008000UL /*!< Output disable for pin 15 */
/*-- ALTFUNCSET: Alternative function enable register --------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Alternative function enable for pin 0 */
uint32_t PIN1 :1; /*!< Alternative function enable for pin 1 */
uint32_t PIN2 :1; /*!< Alternative function enable for pin 2 */
uint32_t PIN3 :1; /*!< Alternative function enable for pin 3 */
uint32_t PIN4 :1; /*!< Alternative function enable for pin 4 */
uint32_t PIN5 :1; /*!< Alternative function enable for pin 5 */
uint32_t PIN6 :1; /*!< Alternative function enable for pin 6 */
uint32_t PIN7 :1; /*!< Alternative function enable for pin 7 */
uint32_t PIN8 :1; /*!< Alternative function enable for pin 8 */
uint32_t PIN9 :1; /*!< Alternative function enable for pin 9 */
uint32_t PIN10 :1; /*!< Alternative function enable for pin 10 */
uint32_t PIN11 :1; /*!< Alternative function enable for pin 11 */
uint32_t PIN12 :1; /*!< Alternative function enable for pin 12 */
uint32_t PIN13 :1; /*!< Alternative function enable for pin 13 */
uint32_t PIN14 :1; /*!< Alternative function enable for pin 14 */
uint32_t PIN15 :1; /*!< Alternative function enable for pin 15 */
} _GPIO_ALTFUNCSET_bits;
/* Bit field positions: */
#define GPIO_ALTFUNCSET_PIN0_Pos 0 /*!< Alternative function enable for pin 0 */
#define GPIO_ALTFUNCSET_PIN1_Pos 1 /*!< Alternative function enable for pin 1 */
#define GPIO_ALTFUNCSET_PIN2_Pos 2 /*!< Alternative function enable for pin 2 */
#define GPIO_ALTFUNCSET_PIN3_Pos 3 /*!< Alternative function enable for pin 3 */
#define GPIO_ALTFUNCSET_PIN4_Pos 4 /*!< Alternative function enable for pin 4 */
#define GPIO_ALTFUNCSET_PIN5_Pos 5 /*!< Alternative function enable for pin 5 */
#define GPIO_ALTFUNCSET_PIN6_Pos 6 /*!< Alternative function enable for pin 6 */
#define GPIO_ALTFUNCSET_PIN7_Pos 7 /*!< Alternative function enable for pin 7 */
#define GPIO_ALTFUNCSET_PIN8_Pos 8 /*!< Alternative function enable for pin 8 */
#define GPIO_ALTFUNCSET_PIN9_Pos 9 /*!< Alternative function enable for pin 9 */
#define GPIO_ALTFUNCSET_PIN10_Pos 10 /*!< Alternative function enable for pin 10 */
#define GPIO_ALTFUNCSET_PIN11_Pos 11 /*!< Alternative function enable for pin 11 */
#define GPIO_ALTFUNCSET_PIN12_Pos 12 /*!< Alternative function enable for pin 12 */
#define GPIO_ALTFUNCSET_PIN13_Pos 13 /*!< Alternative function enable for pin 13 */
#define GPIO_ALTFUNCSET_PIN14_Pos 14 /*!< Alternative function enable for pin 14 */
#define GPIO_ALTFUNCSET_PIN15_Pos 15 /*!< Alternative function enable for pin 15 */
/* Bit field masks: */
#define GPIO_ALTFUNCSET_PIN0_Msk 0x00000001UL /*!< Alternative function enable for pin 0 */
#define GPIO_ALTFUNCSET_PIN1_Msk 0x00000002UL /*!< Alternative function enable for pin 1 */
#define GPIO_ALTFUNCSET_PIN2_Msk 0x00000004UL /*!< Alternative function enable for pin 2 */
#define GPIO_ALTFUNCSET_PIN3_Msk 0x00000008UL /*!< Alternative function enable for pin 3 */
#define GPIO_ALTFUNCSET_PIN4_Msk 0x00000010UL /*!< Alternative function enable for pin 4 */
#define GPIO_ALTFUNCSET_PIN5_Msk 0x00000020UL /*!< Alternative function enable for pin 5 */
#define GPIO_ALTFUNCSET_PIN6_Msk 0x00000040UL /*!< Alternative function enable for pin 6 */
#define GPIO_ALTFUNCSET_PIN7_Msk 0x00000080UL /*!< Alternative function enable for pin 7 */
#define GPIO_ALTFUNCSET_PIN8_Msk 0x00000100UL /*!< Alternative function enable for pin 8 */
#define GPIO_ALTFUNCSET_PIN9_Msk 0x00000200UL /*!< Alternative function enable for pin 9 */
#define GPIO_ALTFUNCSET_PIN10_Msk 0x00000400UL /*!< Alternative function enable for pin 10 */
#define GPIO_ALTFUNCSET_PIN11_Msk 0x00000800UL /*!< Alternative function enable for pin 11 */
#define GPIO_ALTFUNCSET_PIN12_Msk 0x00001000UL /*!< Alternative function enable for pin 12 */
#define GPIO_ALTFUNCSET_PIN13_Msk 0x00002000UL /*!< Alternative function enable for pin 13 */
#define GPIO_ALTFUNCSET_PIN14_Msk 0x00004000UL /*!< Alternative function enable for pin 14 */
#define GPIO_ALTFUNCSET_PIN15_Msk 0x00008000UL /*!< Alternative function enable for pin 15 */
/*-- ALTFUNCCLR: Alternative function disable register -------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Alternative function disable for pin 0 */
uint32_t PIN1 :1; /*!< Alternative function disable for pin 1 */
uint32_t PIN2 :1; /*!< Alternative function disable for pin 2 */
uint32_t PIN3 :1; /*!< Alternative function disable for pin 3 */
uint32_t PIN4 :1; /*!< Alternative function disable for pin 4 */
uint32_t PIN5 :1; /*!< Alternative function disable for pin 5 */
uint32_t PIN6 :1; /*!< Alternative function disable for pin 6 */
uint32_t PIN7 :1; /*!< Alternative function disable for pin 7 */
uint32_t PIN8 :1; /*!< Alternative function disable for pin 8 */
uint32_t PIN9 :1; /*!< Alternative function disable for pin 9 */
uint32_t PIN10 :1; /*!< Alternative function disable for pin 10 */
uint32_t PIN11 :1; /*!< Alternative function disable for pin 11 */
uint32_t PIN12 :1; /*!< Alternative function disable for pin 12 */
uint32_t PIN13 :1; /*!< Alternative function disable for pin 13 */
uint32_t PIN14 :1; /*!< Alternative function disable for pin 14 */
uint32_t PIN15 :1; /*!< Alternative function disable for pin 15 */
} _GPIO_ALTFUNCCLR_bits;
/* Bit field positions: */
#define GPIO_ALTFUNCCLR_PIN0_Pos 0 /*!< Alternative function disable for pin 0 */
#define GPIO_ALTFUNCCLR_PIN1_Pos 1 /*!< Alternative function disable for pin 1 */
#define GPIO_ALTFUNCCLR_PIN2_Pos 2 /*!< Alternative function disable for pin 2 */
#define GPIO_ALTFUNCCLR_PIN3_Pos 3 /*!< Alternative function disable for pin 3 */
#define GPIO_ALTFUNCCLR_PIN4_Pos 4 /*!< Alternative function disable for pin 4 */
#define GPIO_ALTFUNCCLR_PIN5_Pos 5 /*!< Alternative function disable for pin 5 */
#define GPIO_ALTFUNCCLR_PIN6_Pos 6 /*!< Alternative function disable for pin 6 */
#define GPIO_ALTFUNCCLR_PIN7_Pos 7 /*!< Alternative function disable for pin 7 */
#define GPIO_ALTFUNCCLR_PIN8_Pos 8 /*!< Alternative function disable for pin 8 */
#define GPIO_ALTFUNCCLR_PIN9_Pos 9 /*!< Alternative function disable for pin 9 */
#define GPIO_ALTFUNCCLR_PIN10_Pos 10 /*!< Alternative function disable for pin 10 */
#define GPIO_ALTFUNCCLR_PIN11_Pos 11 /*!< Alternative function disable for pin 11 */
#define GPIO_ALTFUNCCLR_PIN12_Pos 12 /*!< Alternative function disable for pin 12 */
#define GPIO_ALTFUNCCLR_PIN13_Pos 13 /*!< Alternative function disable for pin 13 */
#define GPIO_ALTFUNCCLR_PIN14_Pos 14 /*!< Alternative function disable for pin 14 */
#define GPIO_ALTFUNCCLR_PIN15_Pos 15 /*!< Alternative function disable for pin 15 */
/* Bit field masks: */
#define GPIO_ALTFUNCCLR_PIN0_Msk 0x00000001UL /*!< Alternative function disable for pin 0 */
#define GPIO_ALTFUNCCLR_PIN1_Msk 0x00000002UL /*!< Alternative function disable for pin 1 */
#define GPIO_ALTFUNCCLR_PIN2_Msk 0x00000004UL /*!< Alternative function disable for pin 2 */
#define GPIO_ALTFUNCCLR_PIN3_Msk 0x00000008UL /*!< Alternative function disable for pin 3 */
#define GPIO_ALTFUNCCLR_PIN4_Msk 0x00000010UL /*!< Alternative function disable for pin 4 */
#define GPIO_ALTFUNCCLR_PIN5_Msk 0x00000020UL /*!< Alternative function disable for pin 5 */
#define GPIO_ALTFUNCCLR_PIN6_Msk 0x00000040UL /*!< Alternative function disable for pin 6 */
#define GPIO_ALTFUNCCLR_PIN7_Msk 0x00000080UL /*!< Alternative function disable for pin 7 */
#define GPIO_ALTFUNCCLR_PIN8_Msk 0x00000100UL /*!< Alternative function disable for pin 8 */
#define GPIO_ALTFUNCCLR_PIN9_Msk 0x00000200UL /*!< Alternative function disable for pin 9 */
#define GPIO_ALTFUNCCLR_PIN10_Msk 0x00000400UL /*!< Alternative function disable for pin 10 */
#define GPIO_ALTFUNCCLR_PIN11_Msk 0x00000800UL /*!< Alternative function disable for pin 11 */
#define GPIO_ALTFUNCCLR_PIN12_Msk 0x00001000UL /*!< Alternative function disable for pin 12 */
#define GPIO_ALTFUNCCLR_PIN13_Msk 0x00002000UL /*!< Alternative function disable for pin 13 */
#define GPIO_ALTFUNCCLR_PIN14_Msk 0x00004000UL /*!< Alternative function disable for pin 14 */
#define GPIO_ALTFUNCCLR_PIN15_Msk 0x00008000UL /*!< Alternative function disable for pin 15 */
/*-- SYNCSET: Additional double flip-flop syncronization enable register -------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 0 */
uint32_t PIN1 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 1 */
uint32_t PIN2 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 2 */
uint32_t PIN3 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 3 */
uint32_t PIN4 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 4 */
uint32_t PIN5 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 5 */
uint32_t PIN6 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 6 */
uint32_t PIN7 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 7 */
uint32_t PIN8 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 8 */
uint32_t PIN9 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 9 */
uint32_t PIN10 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 10 */
uint32_t PIN11 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 11 */
uint32_t PIN12 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 12 */
uint32_t PIN13 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 13 */
uint32_t PIN14 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 14 */
uint32_t PIN15 :1; /*!< Additional double flip-flop syncronization buffer enable for pin 15 */
} _GPIO_SYNCSET_bits;
/* Bit field positions: */
#define GPIO_SYNCSET_PIN0_Pos 0 /*!< Additional double flip-flop syncronization buffer enable for pin 0 */
#define GPIO_SYNCSET_PIN1_Pos 1 /*!< Additional double flip-flop syncronization buffer enable for pin 1 */
#define GPIO_SYNCSET_PIN2_Pos 2 /*!< Additional double flip-flop syncronization buffer enable for pin 2 */
#define GPIO_SYNCSET_PIN3_Pos 3 /*!< Additional double flip-flop syncronization buffer enable for pin 3 */
#define GPIO_SYNCSET_PIN4_Pos 4 /*!< Additional double flip-flop syncronization buffer enable for pin 4 */
#define GPIO_SYNCSET_PIN5_Pos 5 /*!< Additional double flip-flop syncronization buffer enable for pin 5 */
#define GPIO_SYNCSET_PIN6_Pos 6 /*!< Additional double flip-flop syncronization buffer enable for pin 6 */
#define GPIO_SYNCSET_PIN7_Pos 7 /*!< Additional double flip-flop syncronization buffer enable for pin 7 */
#define GPIO_SYNCSET_PIN8_Pos 8 /*!< Additional double flip-flop syncronization buffer enable for pin 8 */
#define GPIO_SYNCSET_PIN9_Pos 9 /*!< Additional double flip-flop syncronization buffer enable for pin 9 */
#define GPIO_SYNCSET_PIN10_Pos 10 /*!< Additional double flip-flop syncronization buffer enable for pin 10 */
#define GPIO_SYNCSET_PIN11_Pos 11 /*!< Additional double flip-flop syncronization buffer enable for pin 11 */
#define GPIO_SYNCSET_PIN12_Pos 12 /*!< Additional double flip-flop syncronization buffer enable for pin 12 */
#define GPIO_SYNCSET_PIN13_Pos 13 /*!< Additional double flip-flop syncronization buffer enable for pin 13 */
#define GPIO_SYNCSET_PIN14_Pos 14 /*!< Additional double flip-flop syncronization buffer enable for pin 14 */
#define GPIO_SYNCSET_PIN15_Pos 15 /*!< Additional double flip-flop syncronization buffer enable for pin 15 */
/* Bit field masks: */
#define GPIO_SYNCSET_PIN0_Msk 0x00000001UL /*!< Additional double flip-flop syncronization buffer enable for pin 0 */
#define GPIO_SYNCSET_PIN1_Msk 0x00000002UL /*!< Additional double flip-flop syncronization buffer enable for pin 1 */
#define GPIO_SYNCSET_PIN2_Msk 0x00000004UL /*!< Additional double flip-flop syncronization buffer enable for pin 2 */
#define GPIO_SYNCSET_PIN3_Msk 0x00000008UL /*!< Additional double flip-flop syncronization buffer enable for pin 3 */
#define GPIO_SYNCSET_PIN4_Msk 0x00000010UL /*!< Additional double flip-flop syncronization buffer enable for pin 4 */
#define GPIO_SYNCSET_PIN5_Msk 0x00000020UL /*!< Additional double flip-flop syncronization buffer enable for pin 5 */
#define GPIO_SYNCSET_PIN6_Msk 0x00000040UL /*!< Additional double flip-flop syncronization buffer enable for pin 6 */
#define GPIO_SYNCSET_PIN7_Msk 0x00000080UL /*!< Additional double flip-flop syncronization buffer enable for pin 7 */
#define GPIO_SYNCSET_PIN8_Msk 0x00000100UL /*!< Additional double flip-flop syncronization buffer enable for pin 8 */
#define GPIO_SYNCSET_PIN9_Msk 0x00000200UL /*!< Additional double flip-flop syncronization buffer enable for pin 9 */
#define GPIO_SYNCSET_PIN10_Msk 0x00000400UL /*!< Additional double flip-flop syncronization buffer enable for pin 10 */
#define GPIO_SYNCSET_PIN11_Msk 0x00000800UL /*!< Additional double flip-flop syncronization buffer enable for pin 11 */
#define GPIO_SYNCSET_PIN12_Msk 0x00001000UL /*!< Additional double flip-flop syncronization buffer enable for pin 12 */
#define GPIO_SYNCSET_PIN13_Msk 0x00002000UL /*!< Additional double flip-flop syncronization buffer enable for pin 13 */
#define GPIO_SYNCSET_PIN14_Msk 0x00004000UL /*!< Additional double flip-flop syncronization buffer enable for pin 14 */
#define GPIO_SYNCSET_PIN15_Msk 0x00008000UL /*!< Additional double flip-flop syncronization buffer enable for pin 15 */
/*-- SYNCCLR: Additional double flip-flop syncronization disable register ------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Additional double flip-flop syncronization disable for pin 0 */
uint32_t PIN1 :1; /*!< Additional double flip-flop syncronization disable for pin 1 */
uint32_t PIN2 :1; /*!< Additional double flip-flop syncronization disable for pin 2 */
uint32_t PIN3 :1; /*!< Additional double flip-flop syncronization disable for pin 3 */
uint32_t PIN4 :1; /*!< Additional double flip-flop syncronization disable for pin 4 */
uint32_t PIN5 :1; /*!< Additional double flip-flop syncronization disable for pin 5 */
uint32_t PIN6 :1; /*!< Additional double flip-flop syncronization disable for pin 6 */
uint32_t PIN7 :1; /*!< Additional double flip-flop syncronization disable for pin 7 */
uint32_t PIN8 :1; /*!< Additional double flip-flop syncronization disable for pin 8 */
uint32_t PIN9 :1; /*!< Additional double flip-flop syncronization disable for pin 9 */
uint32_t PIN10 :1; /*!< Additional double flip-flop syncronization disable for pin 10 */
uint32_t PIN11 :1; /*!< Additional double flip-flop syncronization disable for pin 11 */
uint32_t PIN12 :1; /*!< Additional double flip-flop syncronization disable for pin 12 */
uint32_t PIN13 :1; /*!< Additional double flip-flop syncronization disable for pin 13 */
uint32_t PIN14 :1; /*!< Additional double flip-flop syncronization disable for pin 14 */
uint32_t PIN15 :1; /*!< Additional double flip-flop syncronization disable for pin 15 */
} _GPIO_SYNCCLR_bits;
/* Bit field positions: */
#define GPIO_SYNCCLR_PIN0_Pos 0 /*!< Additional double flip-flop syncronization disable for pin 0 */
#define GPIO_SYNCCLR_PIN1_Pos 1 /*!< Additional double flip-flop syncronization disable for pin 1 */
#define GPIO_SYNCCLR_PIN2_Pos 2 /*!< Additional double flip-flop syncronization disable for pin 2 */
#define GPIO_SYNCCLR_PIN3_Pos 3 /*!< Additional double flip-flop syncronization disable for pin 3 */
#define GPIO_SYNCCLR_PIN4_Pos 4 /*!< Additional double flip-flop syncronization disable for pin 4 */
#define GPIO_SYNCCLR_PIN5_Pos 5 /*!< Additional double flip-flop syncronization disable for pin 5 */
#define GPIO_SYNCCLR_PIN6_Pos 6 /*!< Additional double flip-flop syncronization disable for pin 6 */
#define GPIO_SYNCCLR_PIN7_Pos 7 /*!< Additional double flip-flop syncronization disable for pin 7 */
#define GPIO_SYNCCLR_PIN8_Pos 8 /*!< Additional double flip-flop syncronization disable for pin 8 */
#define GPIO_SYNCCLR_PIN9_Pos 9 /*!< Additional double flip-flop syncronization disable for pin 9 */
#define GPIO_SYNCCLR_PIN10_Pos 10 /*!< Additional double flip-flop syncronization disable for pin 10 */
#define GPIO_SYNCCLR_PIN11_Pos 11 /*!< Additional double flip-flop syncronization disable for pin 11 */
#define GPIO_SYNCCLR_PIN12_Pos 12 /*!< Additional double flip-flop syncronization disable for pin 12 */
#define GPIO_SYNCCLR_PIN13_Pos 13 /*!< Additional double flip-flop syncronization disable for pin 13 */
#define GPIO_SYNCCLR_PIN14_Pos 14 /*!< Additional double flip-flop syncronization disable for pin 14 */
#define GPIO_SYNCCLR_PIN15_Pos 15 /*!< Additional double flip-flop syncronization disable for pin 15 */
/* Bit field masks: */
#define GPIO_SYNCCLR_PIN0_Msk 0x00000001UL /*!< Additional double flip-flop syncronization disable for pin 0 */
#define GPIO_SYNCCLR_PIN1_Msk 0x00000002UL /*!< Additional double flip-flop syncronization disable for pin 1 */
#define GPIO_SYNCCLR_PIN2_Msk 0x00000004UL /*!< Additional double flip-flop syncronization disable for pin 2 */
#define GPIO_SYNCCLR_PIN3_Msk 0x00000008UL /*!< Additional double flip-flop syncronization disable for pin 3 */
#define GPIO_SYNCCLR_PIN4_Msk 0x00000010UL /*!< Additional double flip-flop syncronization disable for pin 4 */
#define GPIO_SYNCCLR_PIN5_Msk 0x00000020UL /*!< Additional double flip-flop syncronization disable for pin 5 */
#define GPIO_SYNCCLR_PIN6_Msk 0x00000040UL /*!< Additional double flip-flop syncronization disable for pin 6 */
#define GPIO_SYNCCLR_PIN7_Msk 0x00000080UL /*!< Additional double flip-flop syncronization disable for pin 7 */
#define GPIO_SYNCCLR_PIN8_Msk 0x00000100UL /*!< Additional double flip-flop syncronization disable for pin 8 */
#define GPIO_SYNCCLR_PIN9_Msk 0x00000200UL /*!< Additional double flip-flop syncronization disable for pin 9 */
#define GPIO_SYNCCLR_PIN10_Msk 0x00000400UL /*!< Additional double flip-flop syncronization disable for pin 10 */
#define GPIO_SYNCCLR_PIN11_Msk 0x00000800UL /*!< Additional double flip-flop syncronization disable for pin 11 */
#define GPIO_SYNCCLR_PIN12_Msk 0x00001000UL /*!< Additional double flip-flop syncronization disable for pin 12 */
#define GPIO_SYNCCLR_PIN13_Msk 0x00002000UL /*!< Additional double flip-flop syncronization disable for pin 13 */
#define GPIO_SYNCCLR_PIN14_Msk 0x00004000UL /*!< Additional double flip-flop syncronization disable for pin 14 */
#define GPIO_SYNCCLR_PIN15_Msk 0x00008000UL /*!< Additional double flip-flop syncronization disable for pin 15 */
/*-- QUALSET: Qualifier enable register ----------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Qualifier enable for pin 0 */
uint32_t PIN1 :1; /*!< Qualifier enable for pin 1 */
uint32_t PIN2 :1; /*!< Qualifier enable for pin 2 */
uint32_t PIN3 :1; /*!< Qualifier enable for pin 3 */
uint32_t PIN4 :1; /*!< Qualifier enable for pin 4 */
uint32_t PIN5 :1; /*!< Qualifier enable for pin 5 */
uint32_t PIN6 :1; /*!< Qualifier enable for pin 6 */
uint32_t PIN7 :1; /*!< Qualifier enable for pin 7 */
uint32_t PIN8 :1; /*!< Qualifier enable for pin 8 */
uint32_t PIN9 :1; /*!< Qualifier enable for pin 9 */
uint32_t PIN10 :1; /*!< Qualifier enable for pin 10 */
uint32_t PIN11 :1; /*!< Qualifier enable for pin 11 */
uint32_t PIN12 :1; /*!< Qualifier enable for pin 12 */
uint32_t PIN13 :1; /*!< Qualifier enable for pin 13 */
uint32_t PIN14 :1; /*!< Qualifier enable for pin 14 */
uint32_t PIN15 :1; /*!< Qualifier enable for pin 15 */
} _GPIO_QUALSET_bits;
/* Bit field positions: */
#define GPIO_QUALSET_PIN0_Pos 0 /*!< Qualifier enable for pin 0 */
#define GPIO_QUALSET_PIN1_Pos 1 /*!< Qualifier enable for pin 1 */
#define GPIO_QUALSET_PIN2_Pos 2 /*!< Qualifier enable for pin 2 */
#define GPIO_QUALSET_PIN3_Pos 3 /*!< Qualifier enable for pin 3 */
#define GPIO_QUALSET_PIN4_Pos 4 /*!< Qualifier enable for pin 4 */
#define GPIO_QUALSET_PIN5_Pos 5 /*!< Qualifier enable for pin 5 */
#define GPIO_QUALSET_PIN6_Pos 6 /*!< Qualifier enable for pin 6 */
#define GPIO_QUALSET_PIN7_Pos 7 /*!< Qualifier enable for pin 7 */
#define GPIO_QUALSET_PIN8_Pos 8 /*!< Qualifier enable for pin 8 */
#define GPIO_QUALSET_PIN9_Pos 9 /*!< Qualifier enable for pin 9 */
#define GPIO_QUALSET_PIN10_Pos 10 /*!< Qualifier enable for pin 10 */
#define GPIO_QUALSET_PIN11_Pos 11 /*!< Qualifier enable for pin 11 */
#define GPIO_QUALSET_PIN12_Pos 12 /*!< Qualifier enable for pin 12 */
#define GPIO_QUALSET_PIN13_Pos 13 /*!< Qualifier enable for pin 13 */
#define GPIO_QUALSET_PIN14_Pos 14 /*!< Qualifier enable for pin 14 */
#define GPIO_QUALSET_PIN15_Pos 15 /*!< Qualifier enable for pin 15 */
/* Bit field masks: */
#define GPIO_QUALSET_PIN0_Msk 0x00000001UL /*!< Qualifier enable for pin 0 */
#define GPIO_QUALSET_PIN1_Msk 0x00000002UL /*!< Qualifier enable for pin 1 */
#define GPIO_QUALSET_PIN2_Msk 0x00000004UL /*!< Qualifier enable for pin 2 */
#define GPIO_QUALSET_PIN3_Msk 0x00000008UL /*!< Qualifier enable for pin 3 */
#define GPIO_QUALSET_PIN4_Msk 0x00000010UL /*!< Qualifier enable for pin 4 */
#define GPIO_QUALSET_PIN5_Msk 0x00000020UL /*!< Qualifier enable for pin 5 */
#define GPIO_QUALSET_PIN6_Msk 0x00000040UL /*!< Qualifier enable for pin 6 */
#define GPIO_QUALSET_PIN7_Msk 0x00000080UL /*!< Qualifier enable for pin 7 */
#define GPIO_QUALSET_PIN8_Msk 0x00000100UL /*!< Qualifier enable for pin 8 */
#define GPIO_QUALSET_PIN9_Msk 0x00000200UL /*!< Qualifier enable for pin 9 */
#define GPIO_QUALSET_PIN10_Msk 0x00000400UL /*!< Qualifier enable for pin 10 */
#define GPIO_QUALSET_PIN11_Msk 0x00000800UL /*!< Qualifier enable for pin 11 */
#define GPIO_QUALSET_PIN12_Msk 0x00001000UL /*!< Qualifier enable for pin 12 */
#define GPIO_QUALSET_PIN13_Msk 0x00002000UL /*!< Qualifier enable for pin 13 */
#define GPIO_QUALSET_PIN14_Msk 0x00004000UL /*!< Qualifier enable for pin 14 */
#define GPIO_QUALSET_PIN15_Msk 0x00008000UL /*!< Qualifier enable for pin 15 */
/*-- QUALCLR: Qualifier disable register ---------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Qualifier disable for pin 0 */
uint32_t PIN1 :1; /*!< Qualifier disable for pin 1 */
uint32_t PIN2 :1; /*!< Qualifier disable for pin 2 */
uint32_t PIN3 :1; /*!< Qualifier disable for pin 3 */
uint32_t PIN4 :1; /*!< Qualifier disable for pin 4 */
uint32_t PIN5 :1; /*!< Qualifier disable for pin 5 */
uint32_t PIN6 :1; /*!< Qualifier disable for pin 6 */
uint32_t PIN7 :1; /*!< Qualifier disable for pin 7 */
uint32_t PIN8 :1; /*!< Qualifier disable for pin 8 */
uint32_t PIN9 :1; /*!< Qualifier disable for pin 9 */
uint32_t PIN10 :1; /*!< Qualifier disable for pin 10 */
uint32_t PIN11 :1; /*!< Qualifier disable for pin 11 */
uint32_t PIN12 :1; /*!< Qualifier disable for pin 12 */
uint32_t PIN13 :1; /*!< Qualifier disable for pin 13 */
uint32_t PIN14 :1; /*!< Qualifier disable for pin 14 */
uint32_t PIN15 :1; /*!< Qualifier disable for pin 15 */
} _GPIO_QUALCLR_bits;
/* Bit field positions: */
#define GPIO_QUALCLR_PIN0_Pos 0 /*!< Qualifier disable for pin 0 */
#define GPIO_QUALCLR_PIN1_Pos 1 /*!< Qualifier disable for pin 1 */
#define GPIO_QUALCLR_PIN2_Pos 2 /*!< Qualifier disable for pin 2 */
#define GPIO_QUALCLR_PIN3_Pos 3 /*!< Qualifier disable for pin 3 */
#define GPIO_QUALCLR_PIN4_Pos 4 /*!< Qualifier disable for pin 4 */
#define GPIO_QUALCLR_PIN5_Pos 5 /*!< Qualifier disable for pin 5 */
#define GPIO_QUALCLR_PIN6_Pos 6 /*!< Qualifier disable for pin 6 */
#define GPIO_QUALCLR_PIN7_Pos 7 /*!< Qualifier disable for pin 7 */
#define GPIO_QUALCLR_PIN8_Pos 8 /*!< Qualifier disable for pin 8 */
#define GPIO_QUALCLR_PIN9_Pos 9 /*!< Qualifier disable for pin 9 */
#define GPIO_QUALCLR_PIN10_Pos 10 /*!< Qualifier disable for pin 10 */
#define GPIO_QUALCLR_PIN11_Pos 11 /*!< Qualifier disable for pin 11 */
#define GPIO_QUALCLR_PIN12_Pos 12 /*!< Qualifier disable for pin 12 */
#define GPIO_QUALCLR_PIN13_Pos 13 /*!< Qualifier disable for pin 13 */
#define GPIO_QUALCLR_PIN14_Pos 14 /*!< Qualifier disable for pin 14 */
#define GPIO_QUALCLR_PIN15_Pos 15 /*!< Qualifier disable for pin 15 */
/* Bit field masks: */
#define GPIO_QUALCLR_PIN0_Msk 0x00000001UL /*!< Qualifier disable for pin 0 */
#define GPIO_QUALCLR_PIN1_Msk 0x00000002UL /*!< Qualifier disable for pin 1 */
#define GPIO_QUALCLR_PIN2_Msk 0x00000004UL /*!< Qualifier disable for pin 2 */
#define GPIO_QUALCLR_PIN3_Msk 0x00000008UL /*!< Qualifier disable for pin 3 */
#define GPIO_QUALCLR_PIN4_Msk 0x00000010UL /*!< Qualifier disable for pin 4 */
#define GPIO_QUALCLR_PIN5_Msk 0x00000020UL /*!< Qualifier disable for pin 5 */
#define GPIO_QUALCLR_PIN6_Msk 0x00000040UL /*!< Qualifier disable for pin 6 */
#define GPIO_QUALCLR_PIN7_Msk 0x00000080UL /*!< Qualifier disable for pin 7 */
#define GPIO_QUALCLR_PIN8_Msk 0x00000100UL /*!< Qualifier disable for pin 8 */
#define GPIO_QUALCLR_PIN9_Msk 0x00000200UL /*!< Qualifier disable for pin 9 */
#define GPIO_QUALCLR_PIN10_Msk 0x00000400UL /*!< Qualifier disable for pin 10 */
#define GPIO_QUALCLR_PIN11_Msk 0x00000800UL /*!< Qualifier disable for pin 11 */
#define GPIO_QUALCLR_PIN12_Msk 0x00001000UL /*!< Qualifier disable for pin 12 */
#define GPIO_QUALCLR_PIN13_Msk 0x00002000UL /*!< Qualifier disable for pin 13 */
#define GPIO_QUALCLR_PIN14_Msk 0x00004000UL /*!< Qualifier disable for pin 14 */
#define GPIO_QUALCLR_PIN15_Msk 0x00008000UL /*!< Qualifier disable for pin 15 */
/*-- QUALMODESET: Qualifier mode set register ----------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Qualifier mode set for pin 0 */
uint32_t PIN1 :1; /*!< Qualifier mode set for pin 1 */
uint32_t PIN2 :1; /*!< Qualifier mode set for pin 2 */
uint32_t PIN3 :1; /*!< Qualifier mode set for pin 3 */
uint32_t PIN4 :1; /*!< Qualifier mode set for pin 4 */
uint32_t PIN5 :1; /*!< Qualifier mode set for pin 5 */
uint32_t PIN6 :1; /*!< Qualifier mode set for pin 6 */
uint32_t PIN7 :1; /*!< Qualifier mode set for pin 7 */
uint32_t PIN8 :1; /*!< Qualifier mode set for pin 8 */
uint32_t PIN9 :1; /*!< Qualifier mode set for pin 9 */
uint32_t PIN10 :1; /*!< Qualifier mode set for pin 10 */
uint32_t PIN11 :1; /*!< Qualifier mode set for pin 11 */
uint32_t PIN12 :1; /*!< Qualifier mode set for pin 12 */
uint32_t PIN13 :1; /*!< Qualifier mode set for pin 13 */
uint32_t PIN14 :1; /*!< Qualifier mode set for pin 14 */
uint32_t PIN15 :1; /*!< Qualifier mode set for pin 15 */
} _GPIO_QUALMODESET_bits;
/* Bit field positions: */
#define GPIO_QUALMODESET_PIN0_Pos 0 /*!< Qualifier mode set for pin 0 */
#define GPIO_QUALMODESET_PIN1_Pos 1 /*!< Qualifier mode set for pin 1 */
#define GPIO_QUALMODESET_PIN2_Pos 2 /*!< Qualifier mode set for pin 2 */
#define GPIO_QUALMODESET_PIN3_Pos 3 /*!< Qualifier mode set for pin 3 */
#define GPIO_QUALMODESET_PIN4_Pos 4 /*!< Qualifier mode set for pin 4 */
#define GPIO_QUALMODESET_PIN5_Pos 5 /*!< Qualifier mode set for pin 5 */
#define GPIO_QUALMODESET_PIN6_Pos 6 /*!< Qualifier mode set for pin 6 */
#define GPIO_QUALMODESET_PIN7_Pos 7 /*!< Qualifier mode set for pin 7 */
#define GPIO_QUALMODESET_PIN8_Pos 8 /*!< Qualifier mode set for pin 8 */
#define GPIO_QUALMODESET_PIN9_Pos 9 /*!< Qualifier mode set for pin 9 */
#define GPIO_QUALMODESET_PIN10_Pos 10 /*!< Qualifier mode set for pin 10 */
#define GPIO_QUALMODESET_PIN11_Pos 11 /*!< Qualifier mode set for pin 11 */
#define GPIO_QUALMODESET_PIN12_Pos 12 /*!< Qualifier mode set for pin 12 */
#define GPIO_QUALMODESET_PIN13_Pos 13 /*!< Qualifier mode set for pin 13 */
#define GPIO_QUALMODESET_PIN14_Pos 14 /*!< Qualifier mode set for pin 14 */
#define GPIO_QUALMODESET_PIN15_Pos 15 /*!< Qualifier mode set for pin 15 */
/* Bit field masks: */
#define GPIO_QUALMODESET_PIN0_Msk 0x00000001UL /*!< Qualifier mode set for pin 0 */
#define GPIO_QUALMODESET_PIN1_Msk 0x00000002UL /*!< Qualifier mode set for pin 1 */
#define GPIO_QUALMODESET_PIN2_Msk 0x00000004UL /*!< Qualifier mode set for pin 2 */
#define GPIO_QUALMODESET_PIN3_Msk 0x00000008UL /*!< Qualifier mode set for pin 3 */
#define GPIO_QUALMODESET_PIN4_Msk 0x00000010UL /*!< Qualifier mode set for pin 4 */
#define GPIO_QUALMODESET_PIN5_Msk 0x00000020UL /*!< Qualifier mode set for pin 5 */
#define GPIO_QUALMODESET_PIN6_Msk 0x00000040UL /*!< Qualifier mode set for pin 6 */
#define GPIO_QUALMODESET_PIN7_Msk 0x00000080UL /*!< Qualifier mode set for pin 7 */
#define GPIO_QUALMODESET_PIN8_Msk 0x00000100UL /*!< Qualifier mode set for pin 8 */
#define GPIO_QUALMODESET_PIN9_Msk 0x00000200UL /*!< Qualifier mode set for pin 9 */
#define GPIO_QUALMODESET_PIN10_Msk 0x00000400UL /*!< Qualifier mode set for pin 10 */
#define GPIO_QUALMODESET_PIN11_Msk 0x00000800UL /*!< Qualifier mode set for pin 11 */
#define GPIO_QUALMODESET_PIN12_Msk 0x00001000UL /*!< Qualifier mode set for pin 12 */
#define GPIO_QUALMODESET_PIN13_Msk 0x00002000UL /*!< Qualifier mode set for pin 13 */
#define GPIO_QUALMODESET_PIN14_Msk 0x00004000UL /*!< Qualifier mode set for pin 14 */
#define GPIO_QUALMODESET_PIN15_Msk 0x00008000UL /*!< Qualifier mode set for pin 15 */
/*-- QUALMODECLR: Qualifier mode clear register --------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Qualifier mode clear for pin 0 */
uint32_t PIN1 :1; /*!< Qualifier mode clear for pin 1 */
uint32_t PIN2 :1; /*!< Qualifier mode clear for pin 2 */
uint32_t PIN3 :1; /*!< Qualifier mode clear for pin 3 */
uint32_t PIN4 :1; /*!< Qualifier mode clear for pin 4 */
uint32_t PIN5 :1; /*!< Qualifier mode clear for pin 5 */
uint32_t PIN6 :1; /*!< Qualifier mode clear for pin 6 */
uint32_t PIN7 :1; /*!< Qualifier mode clear for pin 7 */
uint32_t PIN8 :1; /*!< Qualifier mode clear for pin 8 */
uint32_t PIN9 :1; /*!< Qualifier mode clear for pin 9 */
uint32_t PIN10 :1; /*!< Qualifier mode clear for pin 10 */
uint32_t PIN11 :1; /*!< Qualifier mode clear for pin 11 */
uint32_t PIN12 :1; /*!< Qualifier mode clear for pin 12 */
uint32_t PIN13 :1; /*!< Qualifier mode clear for pin 13 */
uint32_t PIN14 :1; /*!< Qualifier mode clear for pin 14 */
uint32_t PIN15 :1; /*!< Qualifier mode clear for pin 15 */
} _GPIO_QUALMODECLR_bits;
/* Bit field positions: */
#define GPIO_QUALMODECLR_PIN0_Pos 0 /*!< Qualifier mode clear for pin 0 */
#define GPIO_QUALMODECLR_PIN1_Pos 1 /*!< Qualifier mode clear for pin 1 */
#define GPIO_QUALMODECLR_PIN2_Pos 2 /*!< Qualifier mode clear for pin 2 */
#define GPIO_QUALMODECLR_PIN3_Pos 3 /*!< Qualifier mode clear for pin 3 */
#define GPIO_QUALMODECLR_PIN4_Pos 4 /*!< Qualifier mode clear for pin 4 */
#define GPIO_QUALMODECLR_PIN5_Pos 5 /*!< Qualifier mode clear for pin 5 */
#define GPIO_QUALMODECLR_PIN6_Pos 6 /*!< Qualifier mode clear for pin 6 */
#define GPIO_QUALMODECLR_PIN7_Pos 7 /*!< Qualifier mode clear for pin 7 */
#define GPIO_QUALMODECLR_PIN8_Pos 8 /*!< Qualifier mode clear for pin 8 */
#define GPIO_QUALMODECLR_PIN9_Pos 9 /*!< Qualifier mode clear for pin 9 */
#define GPIO_QUALMODECLR_PIN10_Pos 10 /*!< Qualifier mode clear for pin 10 */
#define GPIO_QUALMODECLR_PIN11_Pos 11 /*!< Qualifier mode clear for pin 11 */
#define GPIO_QUALMODECLR_PIN12_Pos 12 /*!< Qualifier mode clear for pin 12 */
#define GPIO_QUALMODECLR_PIN13_Pos 13 /*!< Qualifier mode clear for pin 13 */
#define GPIO_QUALMODECLR_PIN14_Pos 14 /*!< Qualifier mode clear for pin 14 */
#define GPIO_QUALMODECLR_PIN15_Pos 15 /*!< Qualifier mode clear for pin 15 */
/* Bit field masks: */
#define GPIO_QUALMODECLR_PIN0_Msk 0x00000001UL /*!< Qualifier mode clear for pin 0 */
#define GPIO_QUALMODECLR_PIN1_Msk 0x00000002UL /*!< Qualifier mode clear for pin 1 */
#define GPIO_QUALMODECLR_PIN2_Msk 0x00000004UL /*!< Qualifier mode clear for pin 2 */
#define GPIO_QUALMODECLR_PIN3_Msk 0x00000008UL /*!< Qualifier mode clear for pin 3 */
#define GPIO_QUALMODECLR_PIN4_Msk 0x00000010UL /*!< Qualifier mode clear for pin 4 */
#define GPIO_QUALMODECLR_PIN5_Msk 0x00000020UL /*!< Qualifier mode clear for pin 5 */
#define GPIO_QUALMODECLR_PIN6_Msk 0x00000040UL /*!< Qualifier mode clear for pin 6 */
#define GPIO_QUALMODECLR_PIN7_Msk 0x00000080UL /*!< Qualifier mode clear for pin 7 */
#define GPIO_QUALMODECLR_PIN8_Msk 0x00000100UL /*!< Qualifier mode clear for pin 8 */
#define GPIO_QUALMODECLR_PIN9_Msk 0x00000200UL /*!< Qualifier mode clear for pin 9 */
#define GPIO_QUALMODECLR_PIN10_Msk 0x00000400UL /*!< Qualifier mode clear for pin 10 */
#define GPIO_QUALMODECLR_PIN11_Msk 0x00000800UL /*!< Qualifier mode clear for pin 11 */
#define GPIO_QUALMODECLR_PIN12_Msk 0x00001000UL /*!< Qualifier mode clear for pin 12 */
#define GPIO_QUALMODECLR_PIN13_Msk 0x00002000UL /*!< Qualifier mode clear for pin 13 */
#define GPIO_QUALMODECLR_PIN14_Msk 0x00004000UL /*!< Qualifier mode clear for pin 14 */
#define GPIO_QUALMODECLR_PIN15_Msk 0x00008000UL /*!< Qualifier mode clear for pin 15 */
/*-- QUALSAMPLE: Qualifier sample period register ------------------------------------------------------------*/
typedef struct {
uint32_t VAL :8; /*!< Qualifier sample period */
} _GPIO_QUALSAMPLE_bits;
/* Bit field positions: */
#define GPIO_QUALSAMPLE_VAL_Pos 0 /*!< Qualifier sample period */
/* Bit field masks: */
#define GPIO_QUALSAMPLE_VAL_Msk 0x000000FFUL /*!< Qualifier sample period */
/*-- INTENSET: Interrupt enable register ---------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Interrupt enable for pin 0 */
uint32_t PIN1 :1; /*!< Interrupt enable for pin 1 */
uint32_t PIN2 :1; /*!< Interrupt enable for pin 2 */
uint32_t PIN3 :1; /*!< Interrupt enable for pin 3 */
uint32_t PIN4 :1; /*!< Interrupt enable for pin 4 */
uint32_t PIN5 :1; /*!< Interrupt enable for pin 5 */
uint32_t PIN6 :1; /*!< Interrupt enable for pin 6 */
uint32_t PIN7 :1; /*!< Interrupt enable for pin 7 */
uint32_t PIN8 :1; /*!< Interrupt enable for pin 8 */
uint32_t PIN9 :1; /*!< Interrupt enable for pin 9 */
uint32_t PIN10 :1; /*!< Interrupt enable for pin 10 */
uint32_t PIN11 :1; /*!< Interrupt enable for pin 11 */
uint32_t PIN12 :1; /*!< Interrupt enable for pin 12 */
uint32_t PIN13 :1; /*!< Interrupt enable for pin 13 */
uint32_t PIN14 :1; /*!< Interrupt enable for pin 14 */
uint32_t PIN15 :1; /*!< Interrupt enable for pin 15 */
} _GPIO_INTENSET_bits;
/* Bit field positions: */
#define GPIO_INTENSET_PIN0_Pos 0 /*!< Interrupt enable for pin 0 */
#define GPIO_INTENSET_PIN1_Pos 1 /*!< Interrupt enable for pin 1 */
#define GPIO_INTENSET_PIN2_Pos 2 /*!< Interrupt enable for pin 2 */
#define GPIO_INTENSET_PIN3_Pos 3 /*!< Interrupt enable for pin 3 */
#define GPIO_INTENSET_PIN4_Pos 4 /*!< Interrupt enable for pin 4 */
#define GPIO_INTENSET_PIN5_Pos 5 /*!< Interrupt enable for pin 5 */
#define GPIO_INTENSET_PIN6_Pos 6 /*!< Interrupt enable for pin 6 */
#define GPIO_INTENSET_PIN7_Pos 7 /*!< Interrupt enable for pin 7 */
#define GPIO_INTENSET_PIN8_Pos 8 /*!< Interrupt enable for pin 8 */
#define GPIO_INTENSET_PIN9_Pos 9 /*!< Interrupt enable for pin 9 */
#define GPIO_INTENSET_PIN10_Pos 10 /*!< Interrupt enable for pin 10 */
#define GPIO_INTENSET_PIN11_Pos 11 /*!< Interrupt enable for pin 11 */
#define GPIO_INTENSET_PIN12_Pos 12 /*!< Interrupt enable for pin 12 */
#define GPIO_INTENSET_PIN13_Pos 13 /*!< Interrupt enable for pin 13 */
#define GPIO_INTENSET_PIN14_Pos 14 /*!< Interrupt enable for pin 14 */
#define GPIO_INTENSET_PIN15_Pos 15 /*!< Interrupt enable for pin 15 */
/* Bit field masks: */
#define GPIO_INTENSET_PIN0_Msk 0x00000001UL /*!< Interrupt enable for pin 0 */
#define GPIO_INTENSET_PIN1_Msk 0x00000002UL /*!< Interrupt enable for pin 1 */
#define GPIO_INTENSET_PIN2_Msk 0x00000004UL /*!< Interrupt enable for pin 2 */
#define GPIO_INTENSET_PIN3_Msk 0x00000008UL /*!< Interrupt enable for pin 3 */
#define GPIO_INTENSET_PIN4_Msk 0x00000010UL /*!< Interrupt enable for pin 4 */
#define GPIO_INTENSET_PIN5_Msk 0x00000020UL /*!< Interrupt enable for pin 5 */
#define GPIO_INTENSET_PIN6_Msk 0x00000040UL /*!< Interrupt enable for pin 6 */
#define GPIO_INTENSET_PIN7_Msk 0x00000080UL /*!< Interrupt enable for pin 7 */
#define GPIO_INTENSET_PIN8_Msk 0x00000100UL /*!< Interrupt enable for pin 8 */
#define GPIO_INTENSET_PIN9_Msk 0x00000200UL /*!< Interrupt enable for pin 9 */
#define GPIO_INTENSET_PIN10_Msk 0x00000400UL /*!< Interrupt enable for pin 10 */
#define GPIO_INTENSET_PIN11_Msk 0x00000800UL /*!< Interrupt enable for pin 11 */
#define GPIO_INTENSET_PIN12_Msk 0x00001000UL /*!< Interrupt enable for pin 12 */
#define GPIO_INTENSET_PIN13_Msk 0x00002000UL /*!< Interrupt enable for pin 13 */
#define GPIO_INTENSET_PIN14_Msk 0x00004000UL /*!< Interrupt enable for pin 14 */
#define GPIO_INTENSET_PIN15_Msk 0x00008000UL /*!< Interrupt enable for pin 15 */
/*-- INTENCLR: Interrupt disable register --------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Interrupt disable for pin 0 */
uint32_t PIN1 :1; /*!< Interrupt disable for pin 1 */
uint32_t PIN2 :1; /*!< Interrupt disable for pin 2 */
uint32_t PIN3 :1; /*!< Interrupt disable for pin 3 */
uint32_t PIN4 :1; /*!< Interrupt disable for pin 4 */
uint32_t PIN5 :1; /*!< Interrupt disable for pin 5 */
uint32_t PIN6 :1; /*!< Interrupt disable for pin 6 */
uint32_t PIN7 :1; /*!< Interrupt disable for pin 7 */
uint32_t PIN8 :1; /*!< Interrupt disable for pin 8 */
uint32_t PIN9 :1; /*!< Interrupt disable for pin 9 */
uint32_t PIN10 :1; /*!< Interrupt disable for pin 10 */
uint32_t PIN11 :1; /*!< Interrupt disable for pin 11 */
uint32_t PIN12 :1; /*!< Interrupt disable for pin 12 */
uint32_t PIN13 :1; /*!< Interrupt disable for pin 13 */
uint32_t PIN14 :1; /*!< Interrupt disable for pin 14 */
uint32_t PIN15 :1; /*!< Interrupt disable for pin 15 */
} _GPIO_INTENCLR_bits;
/* Bit field positions: */
#define GPIO_INTENCLR_PIN0_Pos 0 /*!< Interrupt disable for pin 0 */
#define GPIO_INTENCLR_PIN1_Pos 1 /*!< Interrupt disable for pin 1 */
#define GPIO_INTENCLR_PIN2_Pos 2 /*!< Interrupt disable for pin 2 */
#define GPIO_INTENCLR_PIN3_Pos 3 /*!< Interrupt disable for pin 3 */
#define GPIO_INTENCLR_PIN4_Pos 4 /*!< Interrupt disable for pin 4 */
#define GPIO_INTENCLR_PIN5_Pos 5 /*!< Interrupt disable for pin 5 */
#define GPIO_INTENCLR_PIN6_Pos 6 /*!< Interrupt disable for pin 6 */
#define GPIO_INTENCLR_PIN7_Pos 7 /*!< Interrupt disable for pin 7 */
#define GPIO_INTENCLR_PIN8_Pos 8 /*!< Interrupt disable for pin 8 */
#define GPIO_INTENCLR_PIN9_Pos 9 /*!< Interrupt disable for pin 9 */
#define GPIO_INTENCLR_PIN10_Pos 10 /*!< Interrupt disable for pin 10 */
#define GPIO_INTENCLR_PIN11_Pos 11 /*!< Interrupt disable for pin 11 */
#define GPIO_INTENCLR_PIN12_Pos 12 /*!< Interrupt disable for pin 12 */
#define GPIO_INTENCLR_PIN13_Pos 13 /*!< Interrupt disable for pin 13 */
#define GPIO_INTENCLR_PIN14_Pos 14 /*!< Interrupt disable for pin 14 */
#define GPIO_INTENCLR_PIN15_Pos 15 /*!< Interrupt disable for pin 15 */
/* Bit field masks: */
#define GPIO_INTENCLR_PIN0_Msk 0x00000001UL /*!< Interrupt disable for pin 0 */
#define GPIO_INTENCLR_PIN1_Msk 0x00000002UL /*!< Interrupt disable for pin 1 */
#define GPIO_INTENCLR_PIN2_Msk 0x00000004UL /*!< Interrupt disable for pin 2 */
#define GPIO_INTENCLR_PIN3_Msk 0x00000008UL /*!< Interrupt disable for pin 3 */
#define GPIO_INTENCLR_PIN4_Msk 0x00000010UL /*!< Interrupt disable for pin 4 */
#define GPIO_INTENCLR_PIN5_Msk 0x00000020UL /*!< Interrupt disable for pin 5 */
#define GPIO_INTENCLR_PIN6_Msk 0x00000040UL /*!< Interrupt disable for pin 6 */
#define GPIO_INTENCLR_PIN7_Msk 0x00000080UL /*!< Interrupt disable for pin 7 */
#define GPIO_INTENCLR_PIN8_Msk 0x00000100UL /*!< Interrupt disable for pin 8 */
#define GPIO_INTENCLR_PIN9_Msk 0x00000200UL /*!< Interrupt disable for pin 9 */
#define GPIO_INTENCLR_PIN10_Msk 0x00000400UL /*!< Interrupt disable for pin 10 */
#define GPIO_INTENCLR_PIN11_Msk 0x00000800UL /*!< Interrupt disable for pin 11 */
#define GPIO_INTENCLR_PIN12_Msk 0x00001000UL /*!< Interrupt disable for pin 12 */
#define GPIO_INTENCLR_PIN13_Msk 0x00002000UL /*!< Interrupt disable for pin 13 */
#define GPIO_INTENCLR_PIN14_Msk 0x00004000UL /*!< Interrupt disable for pin 14 */
#define GPIO_INTENCLR_PIN15_Msk 0x00008000UL /*!< Interrupt disable for pin 15 */
/*-- INTTYPESET: Interrupt type set register -----------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Interrupt type set for pin 0 */
uint32_t PIN1 :1; /*!< Interrupt type set for pin 1 */
uint32_t PIN2 :1; /*!< Interrupt type set for pin 2 */
uint32_t PIN3 :1; /*!< Interrupt type set for pin 3 */
uint32_t PIN4 :1; /*!< Interrupt type set for pin 4 */
uint32_t PIN5 :1; /*!< Interrupt type set for pin 5 */
uint32_t PIN6 :1; /*!< Interrupt type set for pin 6 */
uint32_t PIN7 :1; /*!< Interrupt type set for pin 7 */
uint32_t PIN8 :1; /*!< Interrupt type set for pin 8 */
uint32_t PIN9 :1; /*!< Interrupt type set for pin 9 */
uint32_t PIN10 :1; /*!< Interrupt type set for pin 10 */
uint32_t PIN11 :1; /*!< Interrupt type set for pin 11 */
uint32_t PIN12 :1; /*!< Interrupt type set for pin 12 */
uint32_t PIN13 :1; /*!< Interrupt type set for pin 13 */
uint32_t PIN14 :1; /*!< Interrupt type set for pin 14 */
uint32_t PIN15 :1; /*!< Interrupt type set for pin 15 */
} _GPIO_INTTYPESET_bits;
/* Bit field positions: */
#define GPIO_INTTYPESET_PIN0_Pos 0 /*!< Interrupt type set for pin 0 */
#define GPIO_INTTYPESET_PIN1_Pos 1 /*!< Interrupt type set for pin 1 */
#define GPIO_INTTYPESET_PIN2_Pos 2 /*!< Interrupt type set for pin 2 */
#define GPIO_INTTYPESET_PIN3_Pos 3 /*!< Interrupt type set for pin 3 */
#define GPIO_INTTYPESET_PIN4_Pos 4 /*!< Interrupt type set for pin 4 */
#define GPIO_INTTYPESET_PIN5_Pos 5 /*!< Interrupt type set for pin 5 */
#define GPIO_INTTYPESET_PIN6_Pos 6 /*!< Interrupt type set for pin 6 */
#define GPIO_INTTYPESET_PIN7_Pos 7 /*!< Interrupt type set for pin 7 */
#define GPIO_INTTYPESET_PIN8_Pos 8 /*!< Interrupt type set for pin 8 */
#define GPIO_INTTYPESET_PIN9_Pos 9 /*!< Interrupt type set for pin 9 */
#define GPIO_INTTYPESET_PIN10_Pos 10 /*!< Interrupt type set for pin 10 */
#define GPIO_INTTYPESET_PIN11_Pos 11 /*!< Interrupt type set for pin 11 */
#define GPIO_INTTYPESET_PIN12_Pos 12 /*!< Interrupt type set for pin 12 */
#define GPIO_INTTYPESET_PIN13_Pos 13 /*!< Interrupt type set for pin 13 */
#define GPIO_INTTYPESET_PIN14_Pos 14 /*!< Interrupt type set for pin 14 */
#define GPIO_INTTYPESET_PIN15_Pos 15 /*!< Interrupt type set for pin 15 */
/* Bit field masks: */
#define GPIO_INTTYPESET_PIN0_Msk 0x00000001UL /*!< Interrupt type set for pin 0 */
#define GPIO_INTTYPESET_PIN1_Msk 0x00000002UL /*!< Interrupt type set for pin 1 */
#define GPIO_INTTYPESET_PIN2_Msk 0x00000004UL /*!< Interrupt type set for pin 2 */
#define GPIO_INTTYPESET_PIN3_Msk 0x00000008UL /*!< Interrupt type set for pin 3 */
#define GPIO_INTTYPESET_PIN4_Msk 0x00000010UL /*!< Interrupt type set for pin 4 */
#define GPIO_INTTYPESET_PIN5_Msk 0x00000020UL /*!< Interrupt type set for pin 5 */
#define GPIO_INTTYPESET_PIN6_Msk 0x00000040UL /*!< Interrupt type set for pin 6 */
#define GPIO_INTTYPESET_PIN7_Msk 0x00000080UL /*!< Interrupt type set for pin 7 */
#define GPIO_INTTYPESET_PIN8_Msk 0x00000100UL /*!< Interrupt type set for pin 8 */
#define GPIO_INTTYPESET_PIN9_Msk 0x00000200UL /*!< Interrupt type set for pin 9 */
#define GPIO_INTTYPESET_PIN10_Msk 0x00000400UL /*!< Interrupt type set for pin 10 */
#define GPIO_INTTYPESET_PIN11_Msk 0x00000800UL /*!< Interrupt type set for pin 11 */
#define GPIO_INTTYPESET_PIN12_Msk 0x00001000UL /*!< Interrupt type set for pin 12 */
#define GPIO_INTTYPESET_PIN13_Msk 0x00002000UL /*!< Interrupt type set for pin 13 */
#define GPIO_INTTYPESET_PIN14_Msk 0x00004000UL /*!< Interrupt type set for pin 14 */
#define GPIO_INTTYPESET_PIN15_Msk 0x00008000UL /*!< Interrupt type set for pin 15 */
/*-- INTTYPECLR: Interrupt type clear register ---------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Interrupt type clear for pin 0 */
uint32_t PIN1 :1; /*!< Interrupt type clear for pin 1 */
uint32_t PIN2 :1; /*!< Interrupt type clear for pin 2 */
uint32_t PIN3 :1; /*!< Interrupt type clear for pin 3 */
uint32_t PIN4 :1; /*!< Interrupt type clear for pin 4 */
uint32_t PIN5 :1; /*!< Interrupt type clear for pin 5 */
uint32_t PIN6 :1; /*!< Interrupt type clear for pin 6 */
uint32_t PIN7 :1; /*!< Interrupt type clear for pin 7 */
uint32_t PIN8 :1; /*!< Interrupt type clear for pin 8 */
uint32_t PIN9 :1; /*!< Interrupt type clear for pin 9 */
uint32_t PIN10 :1; /*!< Interrupt type clear for pin 10 */
uint32_t PIN11 :1; /*!< Interrupt type clear for pin 11 */
uint32_t PIN12 :1; /*!< Interrupt type clear for pin 12 */
uint32_t PIN13 :1; /*!< Interrupt type clear for pin 13 */
uint32_t PIN14 :1; /*!< Interrupt type clear for pin 14 */
uint32_t PIN15 :1; /*!< Interrupt type clear for pin 15 */
} _GPIO_INTTYPECLR_bits;
/* Bit field positions: */
#define GPIO_INTTYPECLR_PIN0_Pos 0 /*!< Interrupt type clear for pin 0 */
#define GPIO_INTTYPECLR_PIN1_Pos 1 /*!< Interrupt type clear for pin 1 */
#define GPIO_INTTYPECLR_PIN2_Pos 2 /*!< Interrupt type clear for pin 2 */
#define GPIO_INTTYPECLR_PIN3_Pos 3 /*!< Interrupt type clear for pin 3 */
#define GPIO_INTTYPECLR_PIN4_Pos 4 /*!< Interrupt type clear for pin 4 */
#define GPIO_INTTYPECLR_PIN5_Pos 5 /*!< Interrupt type clear for pin 5 */
#define GPIO_INTTYPECLR_PIN6_Pos 6 /*!< Interrupt type clear for pin 6 */
#define GPIO_INTTYPECLR_PIN7_Pos 7 /*!< Interrupt type clear for pin 7 */
#define GPIO_INTTYPECLR_PIN8_Pos 8 /*!< Interrupt type clear for pin 8 */
#define GPIO_INTTYPECLR_PIN9_Pos 9 /*!< Interrupt type clear for pin 9 */
#define GPIO_INTTYPECLR_PIN10_Pos 10 /*!< Interrupt type clear for pin 10 */
#define GPIO_INTTYPECLR_PIN11_Pos 11 /*!< Interrupt type clear for pin 11 */
#define GPIO_INTTYPECLR_PIN12_Pos 12 /*!< Interrupt type clear for pin 12 */
#define GPIO_INTTYPECLR_PIN13_Pos 13 /*!< Interrupt type clear for pin 13 */
#define GPIO_INTTYPECLR_PIN14_Pos 14 /*!< Interrupt type clear for pin 14 */
#define GPIO_INTTYPECLR_PIN15_Pos 15 /*!< Interrupt type clear for pin 15 */
/* Bit field masks: */
#define GPIO_INTTYPECLR_PIN0_Msk 0x00000001UL /*!< Interrupt type clear for pin 0 */
#define GPIO_INTTYPECLR_PIN1_Msk 0x00000002UL /*!< Interrupt type clear for pin 1 */
#define GPIO_INTTYPECLR_PIN2_Msk 0x00000004UL /*!< Interrupt type clear for pin 2 */
#define GPIO_INTTYPECLR_PIN3_Msk 0x00000008UL /*!< Interrupt type clear for pin 3 */
#define GPIO_INTTYPECLR_PIN4_Msk 0x00000010UL /*!< Interrupt type clear for pin 4 */
#define GPIO_INTTYPECLR_PIN5_Msk 0x00000020UL /*!< Interrupt type clear for pin 5 */
#define GPIO_INTTYPECLR_PIN6_Msk 0x00000040UL /*!< Interrupt type clear for pin 6 */
#define GPIO_INTTYPECLR_PIN7_Msk 0x00000080UL /*!< Interrupt type clear for pin 7 */
#define GPIO_INTTYPECLR_PIN8_Msk 0x00000100UL /*!< Interrupt type clear for pin 8 */
#define GPIO_INTTYPECLR_PIN9_Msk 0x00000200UL /*!< Interrupt type clear for pin 9 */
#define GPIO_INTTYPECLR_PIN10_Msk 0x00000400UL /*!< Interrupt type clear for pin 10 */
#define GPIO_INTTYPECLR_PIN11_Msk 0x00000800UL /*!< Interrupt type clear for pin 11 */
#define GPIO_INTTYPECLR_PIN12_Msk 0x00001000UL /*!< Interrupt type clear for pin 12 */
#define GPIO_INTTYPECLR_PIN13_Msk 0x00002000UL /*!< Interrupt type clear for pin 13 */
#define GPIO_INTTYPECLR_PIN14_Msk 0x00004000UL /*!< Interrupt type clear for pin 14 */
#define GPIO_INTTYPECLR_PIN15_Msk 0x00008000UL /*!< Interrupt type clear for pin 15 */
/*-- INTPOLSET: Interrupt polarity set register --------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Interrupt polarity set for pin 0 */
uint32_t PIN1 :1; /*!< Interrupt polarity set for pin 1 */
uint32_t PIN2 :1; /*!< Interrupt polarity set for pin 2 */
uint32_t PIN3 :1; /*!< Interrupt polarity set for pin 3 */
uint32_t PIN4 :1; /*!< Interrupt polarity set for pin 4 */
uint32_t PIN5 :1; /*!< Interrupt polarity set for pin 5 */
uint32_t PIN6 :1; /*!< Interrupt polarity set for pin 6 */
uint32_t PIN7 :1; /*!< Interrupt polarity set for pin 7 */
uint32_t PIN8 :1; /*!< Interrupt polarity set for pin 8 */
uint32_t PIN9 :1; /*!< Interrupt polarity set for pin 9 */
uint32_t PIN10 :1; /*!< Interrupt polarity set for pin 10 */
uint32_t PIN11 :1; /*!< Interrupt polarity set for pin 11 */
uint32_t PIN12 :1; /*!< Interrupt polarity set for pin 12 */
uint32_t PIN13 :1; /*!< Interrupt polarity set for pin 13 */
uint32_t PIN14 :1; /*!< Interrupt polarity set for pin 14 */
uint32_t PIN15 :1; /*!< Interrupt polarity set for pin 15 */
} _GPIO_INTPOLSET_bits;
/* Bit field positions: */
#define GPIO_INTPOLSET_PIN0_Pos 0 /*!< Interrupt polarity set for pin 0 */
#define GPIO_INTPOLSET_PIN1_Pos 1 /*!< Interrupt polarity set for pin 1 */
#define GPIO_INTPOLSET_PIN2_Pos 2 /*!< Interrupt polarity set for pin 2 */
#define GPIO_INTPOLSET_PIN3_Pos 3 /*!< Interrupt polarity set for pin 3 */
#define GPIO_INTPOLSET_PIN4_Pos 4 /*!< Interrupt polarity set for pin 4 */
#define GPIO_INTPOLSET_PIN5_Pos 5 /*!< Interrupt polarity set for pin 5 */
#define GPIO_INTPOLSET_PIN6_Pos 6 /*!< Interrupt polarity set for pin 6 */
#define GPIO_INTPOLSET_PIN7_Pos 7 /*!< Interrupt polarity set for pin 7 */
#define GPIO_INTPOLSET_PIN8_Pos 8 /*!< Interrupt polarity set for pin 8 */
#define GPIO_INTPOLSET_PIN9_Pos 9 /*!< Interrupt polarity set for pin 9 */
#define GPIO_INTPOLSET_PIN10_Pos 10 /*!< Interrupt polarity set for pin 10 */
#define GPIO_INTPOLSET_PIN11_Pos 11 /*!< Interrupt polarity set for pin 11 */
#define GPIO_INTPOLSET_PIN12_Pos 12 /*!< Interrupt polarity set for pin 12 */
#define GPIO_INTPOLSET_PIN13_Pos 13 /*!< Interrupt polarity set for pin 13 */
#define GPIO_INTPOLSET_PIN14_Pos 14 /*!< Interrupt polarity set for pin 14 */
#define GPIO_INTPOLSET_PIN15_Pos 15 /*!< Interrupt polarity set for pin 15 */
/* Bit field masks: */
#define GPIO_INTPOLSET_PIN0_Msk 0x00000001UL /*!< Interrupt polarity set for pin 0 */
#define GPIO_INTPOLSET_PIN1_Msk 0x00000002UL /*!< Interrupt polarity set for pin 1 */
#define GPIO_INTPOLSET_PIN2_Msk 0x00000004UL /*!< Interrupt polarity set for pin 2 */
#define GPIO_INTPOLSET_PIN3_Msk 0x00000008UL /*!< Interrupt polarity set for pin 3 */
#define GPIO_INTPOLSET_PIN4_Msk 0x00000010UL /*!< Interrupt polarity set for pin 4 */
#define GPIO_INTPOLSET_PIN5_Msk 0x00000020UL /*!< Interrupt polarity set for pin 5 */
#define GPIO_INTPOLSET_PIN6_Msk 0x00000040UL /*!< Interrupt polarity set for pin 6 */
#define GPIO_INTPOLSET_PIN7_Msk 0x00000080UL /*!< Interrupt polarity set for pin 7 */
#define GPIO_INTPOLSET_PIN8_Msk 0x00000100UL /*!< Interrupt polarity set for pin 8 */
#define GPIO_INTPOLSET_PIN9_Msk 0x00000200UL /*!< Interrupt polarity set for pin 9 */
#define GPIO_INTPOLSET_PIN10_Msk 0x00000400UL /*!< Interrupt polarity set for pin 10 */
#define GPIO_INTPOLSET_PIN11_Msk 0x00000800UL /*!< Interrupt polarity set for pin 11 */
#define GPIO_INTPOLSET_PIN12_Msk 0x00001000UL /*!< Interrupt polarity set for pin 12 */
#define GPIO_INTPOLSET_PIN13_Msk 0x00002000UL /*!< Interrupt polarity set for pin 13 */
#define GPIO_INTPOLSET_PIN14_Msk 0x00004000UL /*!< Interrupt polarity set for pin 14 */
#define GPIO_INTPOLSET_PIN15_Msk 0x00008000UL /*!< Interrupt polarity set for pin 15 */
/*-- INTPOLCLR: Interrupt polarity clear register ------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Interrupt polarity clear for pin 0 */
uint32_t PIN1 :1; /*!< Interrupt polarity clear for pin 1 */
uint32_t PIN2 :1; /*!< Interrupt polarity clear for pin 2 */
uint32_t PIN3 :1; /*!< Interrupt polarity clear for pin 3 */
uint32_t PIN4 :1; /*!< Interrupt polarity clear for pin 4 */
uint32_t PIN5 :1; /*!< Interrupt polarity clear for pin 5 */
uint32_t PIN6 :1; /*!< Interrupt polarity clear for pin 6 */
uint32_t PIN7 :1; /*!< Interrupt polarity clear for pin 7 */
uint32_t PIN8 :1; /*!< Interrupt polarity clear for pin 8 */
uint32_t PIN9 :1; /*!< Interrupt polarity clear for pin 9 */
uint32_t PIN10 :1; /*!< Interrupt polarity clear for pin 10 */
uint32_t PIN11 :1; /*!< Interrupt polarity clear for pin 11 */
uint32_t PIN12 :1; /*!< Interrupt polarity clear for pin 12 */
uint32_t PIN13 :1; /*!< Interrupt polarity clear for pin 13 */
uint32_t PIN14 :1; /*!< Interrupt polarity clear for pin 14 */
uint32_t PIN15 :1; /*!< Interrupt polarity clear for pin 15 */
} _GPIO_INTPOLCLR_bits;
/* Bit field positions: */
#define GPIO_INTPOLCLR_PIN0_Pos 0 /*!< Interrupt polarity clear for pin 0 */
#define GPIO_INTPOLCLR_PIN1_Pos 1 /*!< Interrupt polarity clear for pin 1 */
#define GPIO_INTPOLCLR_PIN2_Pos 2 /*!< Interrupt polarity clear for pin 2 */
#define GPIO_INTPOLCLR_PIN3_Pos 3 /*!< Interrupt polarity clear for pin 3 */
#define GPIO_INTPOLCLR_PIN4_Pos 4 /*!< Interrupt polarity clear for pin 4 */
#define GPIO_INTPOLCLR_PIN5_Pos 5 /*!< Interrupt polarity clear for pin 5 */
#define GPIO_INTPOLCLR_PIN6_Pos 6 /*!< Interrupt polarity clear for pin 6 */
#define GPIO_INTPOLCLR_PIN7_Pos 7 /*!< Interrupt polarity clear for pin 7 */
#define GPIO_INTPOLCLR_PIN8_Pos 8 /*!< Interrupt polarity clear for pin 8 */
#define GPIO_INTPOLCLR_PIN9_Pos 9 /*!< Interrupt polarity clear for pin 9 */
#define GPIO_INTPOLCLR_PIN10_Pos 10 /*!< Interrupt polarity clear for pin 10 */
#define GPIO_INTPOLCLR_PIN11_Pos 11 /*!< Interrupt polarity clear for pin 11 */
#define GPIO_INTPOLCLR_PIN12_Pos 12 /*!< Interrupt polarity clear for pin 12 */
#define GPIO_INTPOLCLR_PIN13_Pos 13 /*!< Interrupt polarity clear for pin 13 */
#define GPIO_INTPOLCLR_PIN14_Pos 14 /*!< Interrupt polarity clear for pin 14 */
#define GPIO_INTPOLCLR_PIN15_Pos 15 /*!< Interrupt polarity clear for pin 15 */
/* Bit field masks: */
#define GPIO_INTPOLCLR_PIN0_Msk 0x00000001UL /*!< Interrupt polarity clear for pin 0 */
#define GPIO_INTPOLCLR_PIN1_Msk 0x00000002UL /*!< Interrupt polarity clear for pin 1 */
#define GPIO_INTPOLCLR_PIN2_Msk 0x00000004UL /*!< Interrupt polarity clear for pin 2 */
#define GPIO_INTPOLCLR_PIN3_Msk 0x00000008UL /*!< Interrupt polarity clear for pin 3 */
#define GPIO_INTPOLCLR_PIN4_Msk 0x00000010UL /*!< Interrupt polarity clear for pin 4 */
#define GPIO_INTPOLCLR_PIN5_Msk 0x00000020UL /*!< Interrupt polarity clear for pin 5 */
#define GPIO_INTPOLCLR_PIN6_Msk 0x00000040UL /*!< Interrupt polarity clear for pin 6 */
#define GPIO_INTPOLCLR_PIN7_Msk 0x00000080UL /*!< Interrupt polarity clear for pin 7 */
#define GPIO_INTPOLCLR_PIN8_Msk 0x00000100UL /*!< Interrupt polarity clear for pin 8 */
#define GPIO_INTPOLCLR_PIN9_Msk 0x00000200UL /*!< Interrupt polarity clear for pin 9 */
#define GPIO_INTPOLCLR_PIN10_Msk 0x00000400UL /*!< Interrupt polarity clear for pin 10 */
#define GPIO_INTPOLCLR_PIN11_Msk 0x00000800UL /*!< Interrupt polarity clear for pin 11 */
#define GPIO_INTPOLCLR_PIN12_Msk 0x00001000UL /*!< Interrupt polarity clear for pin 12 */
#define GPIO_INTPOLCLR_PIN13_Msk 0x00002000UL /*!< Interrupt polarity clear for pin 13 */
#define GPIO_INTPOLCLR_PIN14_Msk 0x00004000UL /*!< Interrupt polarity clear for pin 14 */
#define GPIO_INTPOLCLR_PIN15_Msk 0x00008000UL /*!< Interrupt polarity clear for pin 15 */
/*-- INTEDGESET: Interrupt every edge set register -----------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Interrupt every edge set for pin 0 */
uint32_t PIN1 :1; /*!< Interrupt every edge set for pin 1 */
uint32_t PIN2 :1; /*!< Interrupt every edge set for pin 2 */
uint32_t PIN3 :1; /*!< Interrupt every edge set for pin 3 */
uint32_t PIN4 :1; /*!< Interrupt every edge set for pin 4 */
uint32_t PIN5 :1; /*!< Interrupt every edge set for pin 5 */
uint32_t PIN6 :1; /*!< Interrupt every edge set for pin 6 */
uint32_t PIN7 :1; /*!< Interrupt every edge set for pin 7 */
uint32_t PIN8 :1; /*!< Interrupt every edge set for pin 8 */
uint32_t PIN9 :1; /*!< Interrupt every edge set for pin 9 */
uint32_t PIN10 :1; /*!< Interrupt every edge set for pin 10 */
uint32_t PIN11 :1; /*!< Interrupt every edge set for pin 11 */
uint32_t PIN12 :1; /*!< Interrupt every edge set for pin 12 */
uint32_t PIN13 :1; /*!< Interrupt every edge set for pin 13 */
uint32_t PIN14 :1; /*!< Interrupt every edge set for pin 14 */
uint32_t PIN15 :1; /*!< Interrupt every edge set for pin 15 */
} _GPIO_INTEDGESET_bits;
/* Bit field positions: */
#define GPIO_INTEDGESET_PIN0_Pos 0 /*!< Interrupt every edge set for pin 0 */
#define GPIO_INTEDGESET_PIN1_Pos 1 /*!< Interrupt every edge set for pin 1 */
#define GPIO_INTEDGESET_PIN2_Pos 2 /*!< Interrupt every edge set for pin 2 */
#define GPIO_INTEDGESET_PIN3_Pos 3 /*!< Interrupt every edge set for pin 3 */
#define GPIO_INTEDGESET_PIN4_Pos 4 /*!< Interrupt every edge set for pin 4 */
#define GPIO_INTEDGESET_PIN5_Pos 5 /*!< Interrupt every edge set for pin 5 */
#define GPIO_INTEDGESET_PIN6_Pos 6 /*!< Interrupt every edge set for pin 6 */
#define GPIO_INTEDGESET_PIN7_Pos 7 /*!< Interrupt every edge set for pin 7 */
#define GPIO_INTEDGESET_PIN8_Pos 8 /*!< Interrupt every edge set for pin 8 */
#define GPIO_INTEDGESET_PIN9_Pos 9 /*!< Interrupt every edge set for pin 9 */
#define GPIO_INTEDGESET_PIN10_Pos 10 /*!< Interrupt every edge set for pin 10 */
#define GPIO_INTEDGESET_PIN11_Pos 11 /*!< Interrupt every edge set for pin 11 */
#define GPIO_INTEDGESET_PIN12_Pos 12 /*!< Interrupt every edge set for pin 12 */
#define GPIO_INTEDGESET_PIN13_Pos 13 /*!< Interrupt every edge set for pin 13 */
#define GPIO_INTEDGESET_PIN14_Pos 14 /*!< Interrupt every edge set for pin 14 */
#define GPIO_INTEDGESET_PIN15_Pos 15 /*!< Interrupt every edge set for pin 15 */
/* Bit field masks: */
#define GPIO_INTEDGESET_PIN0_Msk 0x00000001UL /*!< Interrupt every edge set for pin 0 */
#define GPIO_INTEDGESET_PIN1_Msk 0x00000002UL /*!< Interrupt every edge set for pin 1 */
#define GPIO_INTEDGESET_PIN2_Msk 0x00000004UL /*!< Interrupt every edge set for pin 2 */
#define GPIO_INTEDGESET_PIN3_Msk 0x00000008UL /*!< Interrupt every edge set for pin 3 */
#define GPIO_INTEDGESET_PIN4_Msk 0x00000010UL /*!< Interrupt every edge set for pin 4 */
#define GPIO_INTEDGESET_PIN5_Msk 0x00000020UL /*!< Interrupt every edge set for pin 5 */
#define GPIO_INTEDGESET_PIN6_Msk 0x00000040UL /*!< Interrupt every edge set for pin 6 */
#define GPIO_INTEDGESET_PIN7_Msk 0x00000080UL /*!< Interrupt every edge set for pin 7 */
#define GPIO_INTEDGESET_PIN8_Msk 0x00000100UL /*!< Interrupt every edge set for pin 8 */
#define GPIO_INTEDGESET_PIN9_Msk 0x00000200UL /*!< Interrupt every edge set for pin 9 */
#define GPIO_INTEDGESET_PIN10_Msk 0x00000400UL /*!< Interrupt every edge set for pin 10 */
#define GPIO_INTEDGESET_PIN11_Msk 0x00000800UL /*!< Interrupt every edge set for pin 11 */
#define GPIO_INTEDGESET_PIN12_Msk 0x00001000UL /*!< Interrupt every edge set for pin 12 */
#define GPIO_INTEDGESET_PIN13_Msk 0x00002000UL /*!< Interrupt every edge set for pin 13 */
#define GPIO_INTEDGESET_PIN14_Msk 0x00004000UL /*!< Interrupt every edge set for pin 14 */
#define GPIO_INTEDGESET_PIN15_Msk 0x00008000UL /*!< Interrupt every edge set for pin 15 */
/*-- INTEDGECLR: Interrupt every edge clear register ---------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Interrupt every edge clear for pin 0 */
uint32_t PIN1 :1; /*!< Interrupt every edge clear for pin 1 */
uint32_t PIN2 :1; /*!< Interrupt every edge clear for pin 2 */
uint32_t PIN3 :1; /*!< Interrupt every edge clear for pin 3 */
uint32_t PIN4 :1; /*!< Interrupt every edge clear for pin 4 */
uint32_t PIN5 :1; /*!< Interrupt every edge clear for pin 5 */
uint32_t PIN6 :1; /*!< Interrupt every edge clear for pin 6 */
uint32_t PIN7 :1; /*!< Interrupt every edge clear for pin 7 */
uint32_t PIN8 :1; /*!< Interrupt every edge clear for pin 8 */
uint32_t PIN9 :1; /*!< Interrupt every edge clear for pin 9 */
uint32_t PIN10 :1; /*!< Interrupt every edge clear for pin 10 */
uint32_t PIN11 :1; /*!< Interrupt every edge clear for pin 11 */
uint32_t PIN12 :1; /*!< Interrupt every edge clear for pin 12 */
uint32_t PIN13 :1; /*!< Interrupt every edge clear for pin 13 */
uint32_t PIN14 :1; /*!< Interrupt every edge clear for pin 14 */
uint32_t PIN15 :1; /*!< Interrupt every edge clear for pin 15 */
} _GPIO_INTEDGECLR_bits;
/* Bit field positions: */
#define GPIO_INTEDGECLR_PIN0_Pos 0 /*!< Interrupt every edge clear for pin 0 */
#define GPIO_INTEDGECLR_PIN1_Pos 1 /*!< Interrupt every edge clear for pin 1 */
#define GPIO_INTEDGECLR_PIN2_Pos 2 /*!< Interrupt every edge clear for pin 2 */
#define GPIO_INTEDGECLR_PIN3_Pos 3 /*!< Interrupt every edge clear for pin 3 */
#define GPIO_INTEDGECLR_PIN4_Pos 4 /*!< Interrupt every edge clear for pin 4 */
#define GPIO_INTEDGECLR_PIN5_Pos 5 /*!< Interrupt every edge clear for pin 5 */
#define GPIO_INTEDGECLR_PIN6_Pos 6 /*!< Interrupt every edge clear for pin 6 */
#define GPIO_INTEDGECLR_PIN7_Pos 7 /*!< Interrupt every edge clear for pin 7 */
#define GPIO_INTEDGECLR_PIN8_Pos 8 /*!< Interrupt every edge clear for pin 8 */
#define GPIO_INTEDGECLR_PIN9_Pos 9 /*!< Interrupt every edge clear for pin 9 */
#define GPIO_INTEDGECLR_PIN10_Pos 10 /*!< Interrupt every edge clear for pin 10 */
#define GPIO_INTEDGECLR_PIN11_Pos 11 /*!< Interrupt every edge clear for pin 11 */
#define GPIO_INTEDGECLR_PIN12_Pos 12 /*!< Interrupt every edge clear for pin 12 */
#define GPIO_INTEDGECLR_PIN13_Pos 13 /*!< Interrupt every edge clear for pin 13 */
#define GPIO_INTEDGECLR_PIN14_Pos 14 /*!< Interrupt every edge clear for pin 14 */
#define GPIO_INTEDGECLR_PIN15_Pos 15 /*!< Interrupt every edge clear for pin 15 */
/* Bit field masks: */
#define GPIO_INTEDGECLR_PIN0_Msk 0x00000001UL /*!< Interrupt every edge clear for pin 0 */
#define GPIO_INTEDGECLR_PIN1_Msk 0x00000002UL /*!< Interrupt every edge clear for pin 1 */
#define GPIO_INTEDGECLR_PIN2_Msk 0x00000004UL /*!< Interrupt every edge clear for pin 2 */
#define GPIO_INTEDGECLR_PIN3_Msk 0x00000008UL /*!< Interrupt every edge clear for pin 3 */
#define GPIO_INTEDGECLR_PIN4_Msk 0x00000010UL /*!< Interrupt every edge clear for pin 4 */
#define GPIO_INTEDGECLR_PIN5_Msk 0x00000020UL /*!< Interrupt every edge clear for pin 5 */
#define GPIO_INTEDGECLR_PIN6_Msk 0x00000040UL /*!< Interrupt every edge clear for pin 6 */
#define GPIO_INTEDGECLR_PIN7_Msk 0x00000080UL /*!< Interrupt every edge clear for pin 7 */
#define GPIO_INTEDGECLR_PIN8_Msk 0x00000100UL /*!< Interrupt every edge clear for pin 8 */
#define GPIO_INTEDGECLR_PIN9_Msk 0x00000200UL /*!< Interrupt every edge clear for pin 9 */
#define GPIO_INTEDGECLR_PIN10_Msk 0x00000400UL /*!< Interrupt every edge clear for pin 10 */
#define GPIO_INTEDGECLR_PIN11_Msk 0x00000800UL /*!< Interrupt every edge clear for pin 11 */
#define GPIO_INTEDGECLR_PIN12_Msk 0x00001000UL /*!< Interrupt every edge clear for pin 12 */
#define GPIO_INTEDGECLR_PIN13_Msk 0x00002000UL /*!< Interrupt every edge clear for pin 13 */
#define GPIO_INTEDGECLR_PIN14_Msk 0x00004000UL /*!< Interrupt every edge clear for pin 14 */
#define GPIO_INTEDGECLR_PIN15_Msk 0x00008000UL /*!< Interrupt every edge clear for pin 15 */
/*-- INTSTATUS: Interrupt status -----------------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Interrupt status of pin 0 */
uint32_t PIN1 :1; /*!< Interrupt status of pin 1 */
uint32_t PIN2 :1; /*!< Interrupt status of pin 2 */
uint32_t PIN3 :1; /*!< Interrupt status of pin 3 */
uint32_t PIN4 :1; /*!< Interrupt status of pin 4 */
uint32_t PIN5 :1; /*!< Interrupt status of pin 5 */
uint32_t PIN6 :1; /*!< Interrupt status of pin 6 */
uint32_t PIN7 :1; /*!< Interrupt status of pin 7 */
uint32_t PIN8 :1; /*!< Interrupt status of pin 8 */
uint32_t PIN9 :1; /*!< Interrupt status of pin 9 */
uint32_t PIN10 :1; /*!< Interrupt status of pin 10 */
uint32_t PIN11 :1; /*!< Interrupt status of pin 11 */
uint32_t PIN12 :1; /*!< Interrupt status of pin 12 */
uint32_t PIN13 :1; /*!< Interrupt status of pin 13 */
uint32_t PIN14 :1; /*!< Interrupt status of pin 14 */
uint32_t PIN15 :1; /*!< Interrupt status of pin 15 */
} _GPIO_INTSTATUS_bits;
/* Bit field positions: */
#define GPIO_INTSTATUS_PIN0_Pos 0 /*!< Interrupt status of pin 0 */
#define GPIO_INTSTATUS_PIN1_Pos 1 /*!< Interrupt status of pin 1 */
#define GPIO_INTSTATUS_PIN2_Pos 2 /*!< Interrupt status of pin 2 */
#define GPIO_INTSTATUS_PIN3_Pos 3 /*!< Interrupt status of pin 3 */
#define GPIO_INTSTATUS_PIN4_Pos 4 /*!< Interrupt status of pin 4 */
#define GPIO_INTSTATUS_PIN5_Pos 5 /*!< Interrupt status of pin 5 */
#define GPIO_INTSTATUS_PIN6_Pos 6 /*!< Interrupt status of pin 6 */
#define GPIO_INTSTATUS_PIN7_Pos 7 /*!< Interrupt status of pin 7 */
#define GPIO_INTSTATUS_PIN8_Pos 8 /*!< Interrupt status of pin 8 */
#define GPIO_INTSTATUS_PIN9_Pos 9 /*!< Interrupt status of pin 9 */
#define GPIO_INTSTATUS_PIN10_Pos 10 /*!< Interrupt status of pin 10 */
#define GPIO_INTSTATUS_PIN11_Pos 11 /*!< Interrupt status of pin 11 */
#define GPIO_INTSTATUS_PIN12_Pos 12 /*!< Interrupt status of pin 12 */
#define GPIO_INTSTATUS_PIN13_Pos 13 /*!< Interrupt status of pin 13 */
#define GPIO_INTSTATUS_PIN14_Pos 14 /*!< Interrupt status of pin 14 */
#define GPIO_INTSTATUS_PIN15_Pos 15 /*!< Interrupt status of pin 15 */
/* Bit field masks: */
#define GPIO_INTSTATUS_PIN0_Msk 0x00000001UL /*!< Interrupt status of pin 0 */
#define GPIO_INTSTATUS_PIN1_Msk 0x00000002UL /*!< Interrupt status of pin 1 */
#define GPIO_INTSTATUS_PIN2_Msk 0x00000004UL /*!< Interrupt status of pin 2 */
#define GPIO_INTSTATUS_PIN3_Msk 0x00000008UL /*!< Interrupt status of pin 3 */
#define GPIO_INTSTATUS_PIN4_Msk 0x00000010UL /*!< Interrupt status of pin 4 */
#define GPIO_INTSTATUS_PIN5_Msk 0x00000020UL /*!< Interrupt status of pin 5 */
#define GPIO_INTSTATUS_PIN6_Msk 0x00000040UL /*!< Interrupt status of pin 6 */
#define GPIO_INTSTATUS_PIN7_Msk 0x00000080UL /*!< Interrupt status of pin 7 */
#define GPIO_INTSTATUS_PIN8_Msk 0x00000100UL /*!< Interrupt status of pin 8 */
#define GPIO_INTSTATUS_PIN9_Msk 0x00000200UL /*!< Interrupt status of pin 9 */
#define GPIO_INTSTATUS_PIN10_Msk 0x00000400UL /*!< Interrupt status of pin 10 */
#define GPIO_INTSTATUS_PIN11_Msk 0x00000800UL /*!< Interrupt status of pin 11 */
#define GPIO_INTSTATUS_PIN12_Msk 0x00001000UL /*!< Interrupt status of pin 12 */
#define GPIO_INTSTATUS_PIN13_Msk 0x00002000UL /*!< Interrupt status of pin 13 */
#define GPIO_INTSTATUS_PIN14_Msk 0x00004000UL /*!< Interrupt status of pin 14 */
#define GPIO_INTSTATUS_PIN15_Msk 0x00008000UL /*!< Interrupt status of pin 15 */
/*-- DMAREQSET: DMA request enable register ------------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< DMA request enable for pin 0 */
uint32_t PIN1 :1; /*!< DMA request enable for pin 1 */
uint32_t PIN2 :1; /*!< DMA request enable for pin 2 */
uint32_t PIN3 :1; /*!< DMA request enable for pin 3 */
uint32_t PIN4 :1; /*!< DMA request enable for pin 4 */
uint32_t PIN5 :1; /*!< DMA request enable for pin 5 */
uint32_t PIN6 :1; /*!< DMA request enable for pin 6 */
uint32_t PIN7 :1; /*!< DMA request enable for pin 7 */
uint32_t PIN8 :1; /*!< DMA request enable for pin 8 */
uint32_t PIN9 :1; /*!< DMA request enable for pin 9 */
uint32_t PIN10 :1; /*!< DMA request enable for pin 10 */
uint32_t PIN11 :1; /*!< DMA request enable for pin 11 */
uint32_t PIN12 :1; /*!< DMA request enable for pin 12 */
uint32_t PIN13 :1; /*!< DMA request enable for pin 13 */
uint32_t PIN14 :1; /*!< DMA request enable for pin 14 */
uint32_t PIN15 :1; /*!< DMA request enable for pin 15 */
} _GPIO_DMAREQSET_bits;
/* Bit field positions: */
#define GPIO_DMAREQSET_PIN0_Pos 0 /*!< DMA request enable for pin 0 */
#define GPIO_DMAREQSET_PIN1_Pos 1 /*!< DMA request enable for pin 1 */
#define GPIO_DMAREQSET_PIN2_Pos 2 /*!< DMA request enable for pin 2 */
#define GPIO_DMAREQSET_PIN3_Pos 3 /*!< DMA request enable for pin 3 */
#define GPIO_DMAREQSET_PIN4_Pos 4 /*!< DMA request enable for pin 4 */
#define GPIO_DMAREQSET_PIN5_Pos 5 /*!< DMA request enable for pin 5 */
#define GPIO_DMAREQSET_PIN6_Pos 6 /*!< DMA request enable for pin 6 */
#define GPIO_DMAREQSET_PIN7_Pos 7 /*!< DMA request enable for pin 7 */
#define GPIO_DMAREQSET_PIN8_Pos 8 /*!< DMA request enable for pin 8 */
#define GPIO_DMAREQSET_PIN9_Pos 9 /*!< DMA request enable for pin 9 */
#define GPIO_DMAREQSET_PIN10_Pos 10 /*!< DMA request enable for pin 10 */
#define GPIO_DMAREQSET_PIN11_Pos 11 /*!< DMA request enable for pin 11 */
#define GPIO_DMAREQSET_PIN12_Pos 12 /*!< DMA request enable for pin 12 */
#define GPIO_DMAREQSET_PIN13_Pos 13 /*!< DMA request enable for pin 13 */
#define GPIO_DMAREQSET_PIN14_Pos 14 /*!< DMA request enable for pin 14 */
#define GPIO_DMAREQSET_PIN15_Pos 15 /*!< DMA request enable for pin 15 */
/* Bit field masks: */
#define GPIO_DMAREQSET_PIN0_Msk 0x00000001UL /*!< DMA request enable for pin 0 */
#define GPIO_DMAREQSET_PIN1_Msk 0x00000002UL /*!< DMA request enable for pin 1 */
#define GPIO_DMAREQSET_PIN2_Msk 0x00000004UL /*!< DMA request enable for pin 2 */
#define GPIO_DMAREQSET_PIN3_Msk 0x00000008UL /*!< DMA request enable for pin 3 */
#define GPIO_DMAREQSET_PIN4_Msk 0x00000010UL /*!< DMA request enable for pin 4 */
#define GPIO_DMAREQSET_PIN5_Msk 0x00000020UL /*!< DMA request enable for pin 5 */
#define GPIO_DMAREQSET_PIN6_Msk 0x00000040UL /*!< DMA request enable for pin 6 */
#define GPIO_DMAREQSET_PIN7_Msk 0x00000080UL /*!< DMA request enable for pin 7 */
#define GPIO_DMAREQSET_PIN8_Msk 0x00000100UL /*!< DMA request enable for pin 8 */
#define GPIO_DMAREQSET_PIN9_Msk 0x00000200UL /*!< DMA request enable for pin 9 */
#define GPIO_DMAREQSET_PIN10_Msk 0x00000400UL /*!< DMA request enable for pin 10 */
#define GPIO_DMAREQSET_PIN11_Msk 0x00000800UL /*!< DMA request enable for pin 11 */
#define GPIO_DMAREQSET_PIN12_Msk 0x00001000UL /*!< DMA request enable for pin 12 */
#define GPIO_DMAREQSET_PIN13_Msk 0x00002000UL /*!< DMA request enable for pin 13 */
#define GPIO_DMAREQSET_PIN14_Msk 0x00004000UL /*!< DMA request enable for pin 14 */
#define GPIO_DMAREQSET_PIN15_Msk 0x00008000UL /*!< DMA request enable for pin 15 */
/*-- DMAREQCLR: DMA request disable register -----------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< DMA request disable for pin 0 */
uint32_t PIN1 :1; /*!< DMA request disable for pin 1 */
uint32_t PIN2 :1; /*!< DMA request disable for pin 2 */
uint32_t PIN3 :1; /*!< DMA request disable for pin 3 */
uint32_t PIN4 :1; /*!< DMA request disable for pin 4 */
uint32_t PIN5 :1; /*!< DMA request disable for pin 5 */
uint32_t PIN6 :1; /*!< DMA request disable for pin 6 */
uint32_t PIN7 :1; /*!< DMA request disable for pin 7 */
uint32_t PIN8 :1; /*!< DMA request disable for pin 8 */
uint32_t PIN9 :1; /*!< DMA request disable for pin 9 */
uint32_t PIN10 :1; /*!< DMA request disable for pin 10 */
uint32_t PIN11 :1; /*!< DMA request disable for pin 11 */
uint32_t PIN12 :1; /*!< DMA request disable for pin 12 */
uint32_t PIN13 :1; /*!< DMA request disable for pin 13 */
uint32_t PIN14 :1; /*!< DMA request disable for pin 14 */
uint32_t PIN15 :1; /*!< DMA request disable for pin 15 */
} _GPIO_DMAREQCLR_bits;
/* Bit field positions: */
#define GPIO_DMAREQCLR_PIN0_Pos 0 /*!< DMA request disable for pin 0 */
#define GPIO_DMAREQCLR_PIN1_Pos 1 /*!< DMA request disable for pin 1 */
#define GPIO_DMAREQCLR_PIN2_Pos 2 /*!< DMA request disable for pin 2 */
#define GPIO_DMAREQCLR_PIN3_Pos 3 /*!< DMA request disable for pin 3 */
#define GPIO_DMAREQCLR_PIN4_Pos 4 /*!< DMA request disable for pin 4 */
#define GPIO_DMAREQCLR_PIN5_Pos 5 /*!< DMA request disable for pin 5 */
#define GPIO_DMAREQCLR_PIN6_Pos 6 /*!< DMA request disable for pin 6 */
#define GPIO_DMAREQCLR_PIN7_Pos 7 /*!< DMA request disable for pin 7 */
#define GPIO_DMAREQCLR_PIN8_Pos 8 /*!< DMA request disable for pin 8 */
#define GPIO_DMAREQCLR_PIN9_Pos 9 /*!< DMA request disable for pin 9 */
#define GPIO_DMAREQCLR_PIN10_Pos 10 /*!< DMA request disable for pin 10 */
#define GPIO_DMAREQCLR_PIN11_Pos 11 /*!< DMA request disable for pin 11 */
#define GPIO_DMAREQCLR_PIN12_Pos 12 /*!< DMA request disable for pin 12 */
#define GPIO_DMAREQCLR_PIN13_Pos 13 /*!< DMA request disable for pin 13 */
#define GPIO_DMAREQCLR_PIN14_Pos 14 /*!< DMA request disable for pin 14 */
#define GPIO_DMAREQCLR_PIN15_Pos 15 /*!< DMA request disable for pin 15 */
/* Bit field masks: */
#define GPIO_DMAREQCLR_PIN0_Msk 0x00000001UL /*!< DMA request disable for pin 0 */
#define GPIO_DMAREQCLR_PIN1_Msk 0x00000002UL /*!< DMA request disable for pin 1 */
#define GPIO_DMAREQCLR_PIN2_Msk 0x00000004UL /*!< DMA request disable for pin 2 */
#define GPIO_DMAREQCLR_PIN3_Msk 0x00000008UL /*!< DMA request disable for pin 3 */
#define GPIO_DMAREQCLR_PIN4_Msk 0x00000010UL /*!< DMA request disable for pin 4 */
#define GPIO_DMAREQCLR_PIN5_Msk 0x00000020UL /*!< DMA request disable for pin 5 */
#define GPIO_DMAREQCLR_PIN6_Msk 0x00000040UL /*!< DMA request disable for pin 6 */
#define GPIO_DMAREQCLR_PIN7_Msk 0x00000080UL /*!< DMA request disable for pin 7 */
#define GPIO_DMAREQCLR_PIN8_Msk 0x00000100UL /*!< DMA request disable for pin 8 */
#define GPIO_DMAREQCLR_PIN9_Msk 0x00000200UL /*!< DMA request disable for pin 9 */
#define GPIO_DMAREQCLR_PIN10_Msk 0x00000400UL /*!< DMA request disable for pin 10 */
#define GPIO_DMAREQCLR_PIN11_Msk 0x00000800UL /*!< DMA request disable for pin 11 */
#define GPIO_DMAREQCLR_PIN12_Msk 0x00001000UL /*!< DMA request disable for pin 12 */
#define GPIO_DMAREQCLR_PIN13_Msk 0x00002000UL /*!< DMA request disable for pin 13 */
#define GPIO_DMAREQCLR_PIN14_Msk 0x00004000UL /*!< DMA request disable for pin 14 */
#define GPIO_DMAREQCLR_PIN15_Msk 0x00008000UL /*!< DMA request disable for pin 15 */
/*-- ADCSOCSET: ADC Start Of Conversion enable register ------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< ADC SOC enable for pin 0 */
uint32_t PIN1 :1; /*!< ADC SOC enable for pin 1 */
uint32_t PIN2 :1; /*!< ADC SOC enable for pin 2 */
uint32_t PIN3 :1; /*!< ADC SOC enable for pin 3 */
uint32_t PIN4 :1; /*!< ADC SOC enable for pin 4 */
uint32_t PIN5 :1; /*!< ADC SOC enable for pin 5 */
uint32_t PIN6 :1; /*!< ADC SOC enable for pin 6 */
uint32_t PIN7 :1; /*!< ADC SOC enable for pin 7 */
uint32_t PIN8 :1; /*!< ADC SOC enable for pin 8 */
uint32_t PIN9 :1; /*!< ADC SOC enable for pin 9 */
uint32_t PIN10 :1; /*!< ADC SOC enable for pin 10 */
uint32_t PIN11 :1; /*!< ADC SOC enable for pin 11 */
uint32_t PIN12 :1; /*!< ADC SOC enable for pin 12 */
uint32_t PIN13 :1; /*!< ADC SOC enable for pin 13 */
uint32_t PIN14 :1; /*!< ADC SOC enable for pin 14 */
uint32_t PIN15 :1; /*!< ADC SOC enable for pin 15 */
} _GPIO_ADCSOCSET_bits;
/* Bit field positions: */
#define GPIO_ADCSOCSET_PIN0_Pos 0 /*!< ADC SOC enable for pin 0 */
#define GPIO_ADCSOCSET_PIN1_Pos 1 /*!< ADC SOC enable for pin 1 */
#define GPIO_ADCSOCSET_PIN2_Pos 2 /*!< ADC SOC enable for pin 2 */
#define GPIO_ADCSOCSET_PIN3_Pos 3 /*!< ADC SOC enable for pin 3 */
#define GPIO_ADCSOCSET_PIN4_Pos 4 /*!< ADC SOC enable for pin 4 */
#define GPIO_ADCSOCSET_PIN5_Pos 5 /*!< ADC SOC enable for pin 5 */
#define GPIO_ADCSOCSET_PIN6_Pos 6 /*!< ADC SOC enable for pin 6 */
#define GPIO_ADCSOCSET_PIN7_Pos 7 /*!< ADC SOC enable for pin 7 */
#define GPIO_ADCSOCSET_PIN8_Pos 8 /*!< ADC SOC enable for pin 8 */
#define GPIO_ADCSOCSET_PIN9_Pos 9 /*!< ADC SOC enable for pin 9 */
#define GPIO_ADCSOCSET_PIN10_Pos 10 /*!< ADC SOC enable for pin 10 */
#define GPIO_ADCSOCSET_PIN11_Pos 11 /*!< ADC SOC enable for pin 11 */
#define GPIO_ADCSOCSET_PIN12_Pos 12 /*!< ADC SOC enable for pin 12 */
#define GPIO_ADCSOCSET_PIN13_Pos 13 /*!< ADC SOC enable for pin 13 */
#define GPIO_ADCSOCSET_PIN14_Pos 14 /*!< ADC SOC enable for pin 14 */
#define GPIO_ADCSOCSET_PIN15_Pos 15 /*!< ADC SOC enable for pin 15 */
/* Bit field masks: */
#define GPIO_ADCSOCSET_PIN0_Msk 0x00000001UL /*!< ADC SOC enable for pin 0 */
#define GPIO_ADCSOCSET_PIN1_Msk 0x00000002UL /*!< ADC SOC enable for pin 1 */
#define GPIO_ADCSOCSET_PIN2_Msk 0x00000004UL /*!< ADC SOC enable for pin 2 */
#define GPIO_ADCSOCSET_PIN3_Msk 0x00000008UL /*!< ADC SOC enable for pin 3 */
#define GPIO_ADCSOCSET_PIN4_Msk 0x00000010UL /*!< ADC SOC enable for pin 4 */
#define GPIO_ADCSOCSET_PIN5_Msk 0x00000020UL /*!< ADC SOC enable for pin 5 */
#define GPIO_ADCSOCSET_PIN6_Msk 0x00000040UL /*!< ADC SOC enable for pin 6 */
#define GPIO_ADCSOCSET_PIN7_Msk 0x00000080UL /*!< ADC SOC enable for pin 7 */
#define GPIO_ADCSOCSET_PIN8_Msk 0x00000100UL /*!< ADC SOC enable for pin 8 */
#define GPIO_ADCSOCSET_PIN9_Msk 0x00000200UL /*!< ADC SOC enable for pin 9 */
#define GPIO_ADCSOCSET_PIN10_Msk 0x00000400UL /*!< ADC SOC enable for pin 10 */
#define GPIO_ADCSOCSET_PIN11_Msk 0x00000800UL /*!< ADC SOC enable for pin 11 */
#define GPIO_ADCSOCSET_PIN12_Msk 0x00001000UL /*!< ADC SOC enable for pin 12 */
#define GPIO_ADCSOCSET_PIN13_Msk 0x00002000UL /*!< ADC SOC enable for pin 13 */
#define GPIO_ADCSOCSET_PIN14_Msk 0x00004000UL /*!< ADC SOC enable for pin 14 */
#define GPIO_ADCSOCSET_PIN15_Msk 0x00008000UL /*!< ADC SOC enable for pin 15 */
/*-- ADCSOCCLR: ADC Start Of Conversion disable register -----------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< ADC SOC disable for pin 0 */
uint32_t PIN1 :1; /*!< ADC SOC disable for pin 1 */
uint32_t PIN2 :1; /*!< ADC SOC disable for pin 2 */
uint32_t PIN3 :1; /*!< ADC SOC disable for pin 3 */
uint32_t PIN4 :1; /*!< ADC SOC disable for pin 4 */
uint32_t PIN5 :1; /*!< ADC SOC disable for pin 5 */
uint32_t PIN6 :1; /*!< ADC SOC disable for pin 6 */
uint32_t PIN7 :1; /*!< ADC SOC disable for pin 7 */
uint32_t PIN8 :1; /*!< ADC SOC disable for pin 8 */
uint32_t PIN9 :1; /*!< ADC SOC disable for pin 9 */
uint32_t PIN10 :1; /*!< ADC SOC disable for pin 10 */
uint32_t PIN11 :1; /*!< ADC SOC disable for pin 11 */
uint32_t PIN12 :1; /*!< ADC SOC disable for pin 12 */
uint32_t PIN13 :1; /*!< ADC SOC disable for pin 13 */
uint32_t PIN14 :1; /*!< ADC SOC disable for pin 14 */
uint32_t PIN15 :1; /*!< ADC SOC disable for pin 15 */
} _GPIO_ADCSOCCLR_bits;
/* Bit field positions: */
#define GPIO_ADCSOCCLR_PIN0_Pos 0 /*!< ADC SOC disable for pin 0 */
#define GPIO_ADCSOCCLR_PIN1_Pos 1 /*!< ADC SOC disable for pin 1 */
#define GPIO_ADCSOCCLR_PIN2_Pos 2 /*!< ADC SOC disable for pin 2 */
#define GPIO_ADCSOCCLR_PIN3_Pos 3 /*!< ADC SOC disable for pin 3 */
#define GPIO_ADCSOCCLR_PIN4_Pos 4 /*!< ADC SOC disable for pin 4 */
#define GPIO_ADCSOCCLR_PIN5_Pos 5 /*!< ADC SOC disable for pin 5 */
#define GPIO_ADCSOCCLR_PIN6_Pos 6 /*!< ADC SOC disable for pin 6 */
#define GPIO_ADCSOCCLR_PIN7_Pos 7 /*!< ADC SOC disable for pin 7 */
#define GPIO_ADCSOCCLR_PIN8_Pos 8 /*!< ADC SOC disable for pin 8 */
#define GPIO_ADCSOCCLR_PIN9_Pos 9 /*!< ADC SOC disable for pin 9 */
#define GPIO_ADCSOCCLR_PIN10_Pos 10 /*!< ADC SOC disable for pin 10 */
#define GPIO_ADCSOCCLR_PIN11_Pos 11 /*!< ADC SOC disable for pin 11 */
#define GPIO_ADCSOCCLR_PIN12_Pos 12 /*!< ADC SOC disable for pin 12 */
#define GPIO_ADCSOCCLR_PIN13_Pos 13 /*!< ADC SOC disable for pin 13 */
#define GPIO_ADCSOCCLR_PIN14_Pos 14 /*!< ADC SOC disable for pin 14 */
#define GPIO_ADCSOCCLR_PIN15_Pos 15 /*!< ADC SOC disable for pin 15 */
/* Bit field masks: */
#define GPIO_ADCSOCCLR_PIN0_Msk 0x00000001UL /*!< ADC SOC disable for pin 0 */
#define GPIO_ADCSOCCLR_PIN1_Msk 0x00000002UL /*!< ADC SOC disable for pin 1 */
#define GPIO_ADCSOCCLR_PIN2_Msk 0x00000004UL /*!< ADC SOC disable for pin 2 */
#define GPIO_ADCSOCCLR_PIN3_Msk 0x00000008UL /*!< ADC SOC disable for pin 3 */
#define GPIO_ADCSOCCLR_PIN4_Msk 0x00000010UL /*!< ADC SOC disable for pin 4 */
#define GPIO_ADCSOCCLR_PIN5_Msk 0x00000020UL /*!< ADC SOC disable for pin 5 */
#define GPIO_ADCSOCCLR_PIN6_Msk 0x00000040UL /*!< ADC SOC disable for pin 6 */
#define GPIO_ADCSOCCLR_PIN7_Msk 0x00000080UL /*!< ADC SOC disable for pin 7 */
#define GPIO_ADCSOCCLR_PIN8_Msk 0x00000100UL /*!< ADC SOC disable for pin 8 */
#define GPIO_ADCSOCCLR_PIN9_Msk 0x00000200UL /*!< ADC SOC disable for pin 9 */
#define GPIO_ADCSOCCLR_PIN10_Msk 0x00000400UL /*!< ADC SOC disable for pin 10 */
#define GPIO_ADCSOCCLR_PIN11_Msk 0x00000800UL /*!< ADC SOC disable for pin 11 */
#define GPIO_ADCSOCCLR_PIN12_Msk 0x00001000UL /*!< ADC SOC disable for pin 12 */
#define GPIO_ADCSOCCLR_PIN13_Msk 0x00002000UL /*!< ADC SOC disable for pin 13 */
#define GPIO_ADCSOCCLR_PIN14_Msk 0x00004000UL /*!< ADC SOC disable for pin 14 */
#define GPIO_ADCSOCCLR_PIN15_Msk 0x00008000UL /*!< ADC SOC disable for pin 15 */
/*-- RXEVSET: Core RXEV request enable register --------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< RXEV enable for pin 0 */
uint32_t PIN1 :1; /*!< RXEV enable for pin 1 */
uint32_t PIN2 :1; /*!< RXEV enable for pin 2 */
uint32_t PIN3 :1; /*!< RXEV enable for pin 3 */
uint32_t PIN4 :1; /*!< RXEV enable for pin 4 */
uint32_t PIN5 :1; /*!< RXEV enable for pin 5 */
uint32_t PIN6 :1; /*!< RXEV enable for pin 6 */
uint32_t PIN7 :1; /*!< RXEV enable for pin 7 */
uint32_t PIN8 :1; /*!< RXEV enable for pin 8 */
uint32_t PIN9 :1; /*!< RXEV enable for pin 9 */
uint32_t PIN10 :1; /*!< RXEV enable for pin 10 */
uint32_t PIN11 :1; /*!< RXEV enable for pin 11 */
uint32_t PIN12 :1; /*!< RXEV enable for pin 12 */
uint32_t PIN13 :1; /*!< RXEV enable for pin 13 */
uint32_t PIN14 :1; /*!< RXEV enable for pin 14 */
uint32_t PIN15 :1; /*!< RXEV enable for pin 15 */
} _GPIO_RXEVSET_bits;
/* Bit field positions: */
#define GPIO_RXEVSET_PIN0_Pos 0 /*!< RXEV enable for pin 0 */
#define GPIO_RXEVSET_PIN1_Pos 1 /*!< RXEV enable for pin 1 */
#define GPIO_RXEVSET_PIN2_Pos 2 /*!< RXEV enable for pin 2 */
#define GPIO_RXEVSET_PIN3_Pos 3 /*!< RXEV enable for pin 3 */
#define GPIO_RXEVSET_PIN4_Pos 4 /*!< RXEV enable for pin 4 */
#define GPIO_RXEVSET_PIN5_Pos 5 /*!< RXEV enable for pin 5 */
#define GPIO_RXEVSET_PIN6_Pos 6 /*!< RXEV enable for pin 6 */
#define GPIO_RXEVSET_PIN7_Pos 7 /*!< RXEV enable for pin 7 */
#define GPIO_RXEVSET_PIN8_Pos 8 /*!< RXEV enable for pin 8 */
#define GPIO_RXEVSET_PIN9_Pos 9 /*!< RXEV enable for pin 9 */
#define GPIO_RXEVSET_PIN10_Pos 10 /*!< RXEV enable for pin 10 */
#define GPIO_RXEVSET_PIN11_Pos 11 /*!< RXEV enable for pin 11 */
#define GPIO_RXEVSET_PIN12_Pos 12 /*!< RXEV enable for pin 12 */
#define GPIO_RXEVSET_PIN13_Pos 13 /*!< RXEV enable for pin 13 */
#define GPIO_RXEVSET_PIN14_Pos 14 /*!< RXEV enable for pin 14 */
#define GPIO_RXEVSET_PIN15_Pos 15 /*!< RXEV enable for pin 15 */
/* Bit field masks: */
#define GPIO_RXEVSET_PIN0_Msk 0x00000001UL /*!< RXEV enable for pin 0 */
#define GPIO_RXEVSET_PIN1_Msk 0x00000002UL /*!< RXEV enable for pin 1 */
#define GPIO_RXEVSET_PIN2_Msk 0x00000004UL /*!< RXEV enable for pin 2 */
#define GPIO_RXEVSET_PIN3_Msk 0x00000008UL /*!< RXEV enable for pin 3 */
#define GPIO_RXEVSET_PIN4_Msk 0x00000010UL /*!< RXEV enable for pin 4 */
#define GPIO_RXEVSET_PIN5_Msk 0x00000020UL /*!< RXEV enable for pin 5 */
#define GPIO_RXEVSET_PIN6_Msk 0x00000040UL /*!< RXEV enable for pin 6 */
#define GPIO_RXEVSET_PIN7_Msk 0x00000080UL /*!< RXEV enable for pin 7 */
#define GPIO_RXEVSET_PIN8_Msk 0x00000100UL /*!< RXEV enable for pin 8 */
#define GPIO_RXEVSET_PIN9_Msk 0x00000200UL /*!< RXEV enable for pin 9 */
#define GPIO_RXEVSET_PIN10_Msk 0x00000400UL /*!< RXEV enable for pin 10 */
#define GPIO_RXEVSET_PIN11_Msk 0x00000800UL /*!< RXEV enable for pin 11 */
#define GPIO_RXEVSET_PIN12_Msk 0x00001000UL /*!< RXEV enable for pin 12 */
#define GPIO_RXEVSET_PIN13_Msk 0x00002000UL /*!< RXEV enable for pin 13 */
#define GPIO_RXEVSET_PIN14_Msk 0x00004000UL /*!< RXEV enable for pin 14 */
#define GPIO_RXEVSET_PIN15_Msk 0x00008000UL /*!< RXEV enable for pin 15 */
/*-- RXEVCLR: Core RXEV request disable register -------------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< RXEV disable for pin 0 */
uint32_t PIN1 :1; /*!< RXEV disable for pin 1 */
uint32_t PIN2 :1; /*!< RXEV disable for pin 2 */
uint32_t PIN3 :1; /*!< RXEV disable for pin 3 */
uint32_t PIN4 :1; /*!< RXEV disable for pin 4 */
uint32_t PIN5 :1; /*!< RXEV disable for pin 5 */
uint32_t PIN6 :1; /*!< RXEV disable for pin 6 */
uint32_t PIN7 :1; /*!< RXEV disable for pin 7 */
uint32_t PIN8 :1; /*!< RXEV disable for pin 8 */
uint32_t PIN9 :1; /*!< RXEV disable for pin 9 */
uint32_t PIN10 :1; /*!< RXEV disable for pin 10 */
uint32_t PIN11 :1; /*!< RXEV disable for pin 11 */
uint32_t PIN12 :1; /*!< RXEV disable for pin 12 */
uint32_t PIN13 :1; /*!< RXEV disable for pin 13 */
uint32_t PIN14 :1; /*!< RXEV disable for pin 14 */
uint32_t PIN15 :1; /*!< RXEV disable for pin 15 */
} _GPIO_RXEVCLR_bits;
/* Bit field positions: */
#define GPIO_RXEVCLR_PIN0_Pos 0 /*!< RXEV disable for pin 0 */
#define GPIO_RXEVCLR_PIN1_Pos 1 /*!< RXEV disable for pin 1 */
#define GPIO_RXEVCLR_PIN2_Pos 2 /*!< RXEV disable for pin 2 */
#define GPIO_RXEVCLR_PIN3_Pos 3 /*!< RXEV disable for pin 3 */
#define GPIO_RXEVCLR_PIN4_Pos 4 /*!< RXEV disable for pin 4 */
#define GPIO_RXEVCLR_PIN5_Pos 5 /*!< RXEV disable for pin 5 */
#define GPIO_RXEVCLR_PIN6_Pos 6 /*!< RXEV disable for pin 6 */
#define GPIO_RXEVCLR_PIN7_Pos 7 /*!< RXEV disable for pin 7 */
#define GPIO_RXEVCLR_PIN8_Pos 8 /*!< RXEV disable for pin 8 */
#define GPIO_RXEVCLR_PIN9_Pos 9 /*!< RXEV disable for pin 9 */
#define GPIO_RXEVCLR_PIN10_Pos 10 /*!< RXEV disable for pin 10 */
#define GPIO_RXEVCLR_PIN11_Pos 11 /*!< RXEV disable for pin 11 */
#define GPIO_RXEVCLR_PIN12_Pos 12 /*!< RXEV disable for pin 12 */
#define GPIO_RXEVCLR_PIN13_Pos 13 /*!< RXEV disable for pin 13 */
#define GPIO_RXEVCLR_PIN14_Pos 14 /*!< RXEV disable for pin 14 */
#define GPIO_RXEVCLR_PIN15_Pos 15 /*!< RXEV disable for pin 15 */
/* Bit field masks: */
#define GPIO_RXEVCLR_PIN0_Msk 0x00000001UL /*!< RXEV disable for pin 0 */
#define GPIO_RXEVCLR_PIN1_Msk 0x00000002UL /*!< RXEV disable for pin 1 */
#define GPIO_RXEVCLR_PIN2_Msk 0x00000004UL /*!< RXEV disable for pin 2 */
#define GPIO_RXEVCLR_PIN3_Msk 0x00000008UL /*!< RXEV disable for pin 3 */
#define GPIO_RXEVCLR_PIN4_Msk 0x00000010UL /*!< RXEV disable for pin 4 */
#define GPIO_RXEVCLR_PIN5_Msk 0x00000020UL /*!< RXEV disable for pin 5 */
#define GPIO_RXEVCLR_PIN6_Msk 0x00000040UL /*!< RXEV disable for pin 6 */
#define GPIO_RXEVCLR_PIN7_Msk 0x00000080UL /*!< RXEV disable for pin 7 */
#define GPIO_RXEVCLR_PIN8_Msk 0x00000100UL /*!< RXEV disable for pin 8 */
#define GPIO_RXEVCLR_PIN9_Msk 0x00000200UL /*!< RXEV disable for pin 9 */
#define GPIO_RXEVCLR_PIN10_Msk 0x00000400UL /*!< RXEV disable for pin 10 */
#define GPIO_RXEVCLR_PIN11_Msk 0x00000800UL /*!< RXEV disable for pin 11 */
#define GPIO_RXEVCLR_PIN12_Msk 0x00001000UL /*!< RXEV disable for pin 12 */
#define GPIO_RXEVCLR_PIN13_Msk 0x00002000UL /*!< RXEV disable for pin 13 */
#define GPIO_RXEVCLR_PIN14_Msk 0x00004000UL /*!< RXEV disable for pin 14 */
#define GPIO_RXEVCLR_PIN15_Msk 0x00008000UL /*!< RXEV disable for pin 15 */
/*-- LOCKKEY: Key register to unlock LOCKSET/LOCKCLR registers for write (KEY=0xADEADBEE) ---------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Key to unlock LOCKSET/LOCKCLR registers for write (KEY=0xADEADBEE) */
} _GPIO_LOCKKEY_bits;
/* Bit field positions: */
#define GPIO_LOCKKEY_VAL_Pos 0 /*!< Key to unlock LOCKSET/LOCKCLR registers for write (KEY=0xADEADBEE) */
/* Bit field masks: */
#define GPIO_LOCKKEY_VAL_Msk 0xFFFFFFFFUL /*!< Key to unlock LOCKSET/LOCKCLR registers for write (KEY=0xADEADBEE) */
/* Bit field enums: */
typedef enum {
GPIO_LOCKKEY_VAL_LOCK = -286331154, /*!< 0xEEEEEEEE, 0xEEEEEEEE, key to lock registers */
GPIO_LOCKKEY_VAL_UNLOCK = -1377117202, /*!< 0xADEADBEE, 0xADEADBEE, key to unlock registers */
} GPIO_LOCKKEY_VAL_Enum;
/*-- LOCKSTAT: LOCKSET/LOCKCLR write enable status register --------------------------------------------------*/
typedef struct {
uint32_t WREN :1; /*!< LOCKSET/LOCKCLR write enable status */
} _GPIO_LOCKSTAT_bits;
/* Bit field positions: */
#define GPIO_LOCKSTAT_WREN_Pos 0 /*!< LOCKSET/LOCKCLR write enable status */
/* Bit field masks: */
#define GPIO_LOCKSTAT_WREN_Msk 0x00000001UL /*!< LOCKSET/LOCKCLR write enable status */
/*-- LOCKSET: Lock pins configuration enable register --------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Lock configuration enable for pin 0 */
uint32_t PIN1 :1; /*!< Lock configuration enable for pin 1 */
uint32_t PIN2 :1; /*!< Lock configuration enable for pin 2 */
uint32_t PIN3 :1; /*!< Lock configuration enable for pin 3 */
uint32_t PIN4 :1; /*!< Lock configuration enable for pin 4 */
uint32_t PIN5 :1; /*!< Lock configuration enable for pin 5 */
uint32_t PIN6 :1; /*!< Lock configuration enable for pin 6 */
uint32_t PIN7 :1; /*!< Lock configuration enable for pin 7 */
uint32_t PIN8 :1; /*!< Lock configuration enable for pin 8 */
uint32_t PIN9 :1; /*!< Lock configuration enable for pin 9 */
uint32_t PIN10 :1; /*!< Lock configuration enable for pin 10 */
uint32_t PIN11 :1; /*!< Lock configuration enable for pin 11 */
uint32_t PIN12 :1; /*!< Lock configuration enable for pin 12 */
uint32_t PIN13 :1; /*!< Lock configuration enable for pin 13 */
uint32_t PIN14 :1; /*!< Lock configuration enable for pin 14 */
uint32_t PIN15 :1; /*!< Lock configuration enable for pin 15 */
} _GPIO_LOCKSET_bits;
/* Bit field positions: */
#define GPIO_LOCKSET_PIN0_Pos 0 /*!< Lock configuration enable for pin 0 */
#define GPIO_LOCKSET_PIN1_Pos 1 /*!< Lock configuration enable for pin 1 */
#define GPIO_LOCKSET_PIN2_Pos 2 /*!< Lock configuration enable for pin 2 */
#define GPIO_LOCKSET_PIN3_Pos 3 /*!< Lock configuration enable for pin 3 */
#define GPIO_LOCKSET_PIN4_Pos 4 /*!< Lock configuration enable for pin 4 */
#define GPIO_LOCKSET_PIN5_Pos 5 /*!< Lock configuration enable for pin 5 */
#define GPIO_LOCKSET_PIN6_Pos 6 /*!< Lock configuration enable for pin 6 */
#define GPIO_LOCKSET_PIN7_Pos 7 /*!< Lock configuration enable for pin 7 */
#define GPIO_LOCKSET_PIN8_Pos 8 /*!< Lock configuration enable for pin 8 */
#define GPIO_LOCKSET_PIN9_Pos 9 /*!< Lock configuration enable for pin 9 */
#define GPIO_LOCKSET_PIN10_Pos 10 /*!< Lock configuration enable for pin 10 */
#define GPIO_LOCKSET_PIN11_Pos 11 /*!< Lock configuration enable for pin 11 */
#define GPIO_LOCKSET_PIN12_Pos 12 /*!< Lock configuration enable for pin 12 */
#define GPIO_LOCKSET_PIN13_Pos 13 /*!< Lock configuration enable for pin 13 */
#define GPIO_LOCKSET_PIN14_Pos 14 /*!< Lock configuration enable for pin 14 */
#define GPIO_LOCKSET_PIN15_Pos 15 /*!< Lock configuration enable for pin 15 */
/* Bit field masks: */
#define GPIO_LOCKSET_PIN0_Msk 0x00000001UL /*!< Lock configuration enable for pin 0 */
#define GPIO_LOCKSET_PIN1_Msk 0x00000002UL /*!< Lock configuration enable for pin 1 */
#define GPIO_LOCKSET_PIN2_Msk 0x00000004UL /*!< Lock configuration enable for pin 2 */
#define GPIO_LOCKSET_PIN3_Msk 0x00000008UL /*!< Lock configuration enable for pin 3 */
#define GPIO_LOCKSET_PIN4_Msk 0x00000010UL /*!< Lock configuration enable for pin 4 */
#define GPIO_LOCKSET_PIN5_Msk 0x00000020UL /*!< Lock configuration enable for pin 5 */
#define GPIO_LOCKSET_PIN6_Msk 0x00000040UL /*!< Lock configuration enable for pin 6 */
#define GPIO_LOCKSET_PIN7_Msk 0x00000080UL /*!< Lock configuration enable for pin 7 */
#define GPIO_LOCKSET_PIN8_Msk 0x00000100UL /*!< Lock configuration enable for pin 8 */
#define GPIO_LOCKSET_PIN9_Msk 0x00000200UL /*!< Lock configuration enable for pin 9 */
#define GPIO_LOCKSET_PIN10_Msk 0x00000400UL /*!< Lock configuration enable for pin 10 */
#define GPIO_LOCKSET_PIN11_Msk 0x00000800UL /*!< Lock configuration enable for pin 11 */
#define GPIO_LOCKSET_PIN12_Msk 0x00001000UL /*!< Lock configuration enable for pin 12 */
#define GPIO_LOCKSET_PIN13_Msk 0x00002000UL /*!< Lock configuration enable for pin 13 */
#define GPIO_LOCKSET_PIN14_Msk 0x00004000UL /*!< Lock configuration enable for pin 14 */
#define GPIO_LOCKSET_PIN15_Msk 0x00008000UL /*!< Lock configuration enable for pin 15 */
/*-- LOCKCLR: Lock pins configuration disable register -------------------------------------------------------*/
typedef struct {
uint32_t PIN0 :1; /*!< Lock configuration disable for pin 0 */
uint32_t PIN1 :1; /*!< Lock configuration disable for pin 1 */
uint32_t PIN2 :1; /*!< Lock configuration disable for pin 2 */
uint32_t PIN3 :1; /*!< Lock configuration disable for pin 3 */
uint32_t PIN4 :1; /*!< Lock configuration disable for pin 4 */
uint32_t PIN5 :1; /*!< Lock configuration disable for pin 5 */
uint32_t PIN6 :1; /*!< Lock configuration disable for pin 6 */
uint32_t PIN7 :1; /*!< Lock configuration disable for pin 7 */
uint32_t PIN8 :1; /*!< Lock configuration disable for pin 8 */
uint32_t PIN9 :1; /*!< Lock configuration disable for pin 9 */
uint32_t PIN10 :1; /*!< Lock configuration disable for pin 10 */
uint32_t PIN11 :1; /*!< Lock configuration disable for pin 11 */
uint32_t PIN12 :1; /*!< Lock configuration disable for pin 12 */
uint32_t PIN13 :1; /*!< Lock configuration disable for pin 13 */
uint32_t PIN14 :1; /*!< Lock configuration disable for pin 14 */
uint32_t PIN15 :1; /*!< Lock configuration disable for pin 15 */
} _GPIO_LOCKCLR_bits;
/* Bit field positions: */
#define GPIO_LOCKCLR_PIN0_Pos 0 /*!< Lock configuration disable for pin 0 */
#define GPIO_LOCKCLR_PIN1_Pos 1 /*!< Lock configuration disable for pin 1 */
#define GPIO_LOCKCLR_PIN2_Pos 2 /*!< Lock configuration disable for pin 2 */
#define GPIO_LOCKCLR_PIN3_Pos 3 /*!< Lock configuration disable for pin 3 */
#define GPIO_LOCKCLR_PIN4_Pos 4 /*!< Lock configuration disable for pin 4 */
#define GPIO_LOCKCLR_PIN5_Pos 5 /*!< Lock configuration disable for pin 5 */
#define GPIO_LOCKCLR_PIN6_Pos 6 /*!< Lock configuration disable for pin 6 */
#define GPIO_LOCKCLR_PIN7_Pos 7 /*!< Lock configuration disable for pin 7 */
#define GPIO_LOCKCLR_PIN8_Pos 8 /*!< Lock configuration disable for pin 8 */
#define GPIO_LOCKCLR_PIN9_Pos 9 /*!< Lock configuration disable for pin 9 */
#define GPIO_LOCKCLR_PIN10_Pos 10 /*!< Lock configuration disable for pin 10 */
#define GPIO_LOCKCLR_PIN11_Pos 11 /*!< Lock configuration disable for pin 11 */
#define GPIO_LOCKCLR_PIN12_Pos 12 /*!< Lock configuration disable for pin 12 */
#define GPIO_LOCKCLR_PIN13_Pos 13 /*!< Lock configuration disable for pin 13 */
#define GPIO_LOCKCLR_PIN14_Pos 14 /*!< Lock configuration disable for pin 14 */
#define GPIO_LOCKCLR_PIN15_Pos 15 /*!< Lock configuration disable for pin 15 */
/* Bit field masks: */
#define GPIO_LOCKCLR_PIN0_Msk 0x00000001UL /*!< Lock configuration disable for pin 0 */
#define GPIO_LOCKCLR_PIN1_Msk 0x00000002UL /*!< Lock configuration disable for pin 1 */
#define GPIO_LOCKCLR_PIN2_Msk 0x00000004UL /*!< Lock configuration disable for pin 2 */
#define GPIO_LOCKCLR_PIN3_Msk 0x00000008UL /*!< Lock configuration disable for pin 3 */
#define GPIO_LOCKCLR_PIN4_Msk 0x00000010UL /*!< Lock configuration disable for pin 4 */
#define GPIO_LOCKCLR_PIN5_Msk 0x00000020UL /*!< Lock configuration disable for pin 5 */
#define GPIO_LOCKCLR_PIN6_Msk 0x00000040UL /*!< Lock configuration disable for pin 6 */
#define GPIO_LOCKCLR_PIN7_Msk 0x00000080UL /*!< Lock configuration disable for pin 7 */
#define GPIO_LOCKCLR_PIN8_Msk 0x00000100UL /*!< Lock configuration disable for pin 8 */
#define GPIO_LOCKCLR_PIN9_Msk 0x00000200UL /*!< Lock configuration disable for pin 9 */
#define GPIO_LOCKCLR_PIN10_Msk 0x00000400UL /*!< Lock configuration disable for pin 10 */
#define GPIO_LOCKCLR_PIN11_Msk 0x00000800UL /*!< Lock configuration disable for pin 11 */
#define GPIO_LOCKCLR_PIN12_Msk 0x00001000UL /*!< Lock configuration disable for pin 12 */
#define GPIO_LOCKCLR_PIN13_Msk 0x00002000UL /*!< Lock configuration disable for pin 13 */
#define GPIO_LOCKCLR_PIN14_Msk 0x00004000UL /*!< Lock configuration disable for pin 14 */
#define GPIO_LOCKCLR_PIN15_Msk 0x00008000UL /*!< Lock configuration disable for pin 15 */
/*-- MASKLB: MASKLB: Mask register low byte of port -----------------------------------------------------------*/
typedef struct {
uint32_t VAL :8; /*!< Mask low byte */
} _GPIO_MASKLB_MASKLB_bits;
/* Bit field positions: */
#define GPIO_MASKLB_MASKLB_VAL_Pos 0 /*!< Mask low byte */
/* Bit field masks: */
#define GPIO_MASKLB_MASKLB_VAL_Msk 0x000000FFUL /*!< Mask low byte */
/*-- MASKHB: MASKHB: Mask register High byte of port ----------------------------------------------------------*/
typedef struct {
uint32_t :8; /*!< RESERVED */
uint32_t VAL :8; /*!< Mask high byte */
} _GPIO_MASKHB_MASKHB_bits;
/* Bit field positions: */
#define GPIO_MASKHB_MASKHB_VAL_Pos 8 /*!< Mask high byte */
/* Bit field masks: */
#define GPIO_MASKHB_MASKHB_VAL_Msk 0x0000FF00UL /*!< Mask high byte */
//Cluster MASKLB:
typedef struct {
union {
/*!< Mask register low byte of port */
__IO uint32_t MASKLB; /*!< MASKLB : type used for word access */
__IO _GPIO_MASKLB_MASKLB_bits MASKLB_bit; /*!< MASKLB_bit: structure used for bit access */
};
} _GPIO_MASKLB_TypeDef;
//Cluster MASKHB:
typedef struct {
union {
/*!< Mask register High byte of port */
__IO uint32_t MASKHB; /*!< MASKHB : type used for word access */
__IO _GPIO_MASKHB_MASKHB_bits MASKHB_bit; /*!< MASKHB_bit: structure used for bit access */
};
} _GPIO_MASKHB_TypeDef;
typedef struct {
union { /*!< Data Input register */
__IO uint32_t DATA; /*!< DATA : type used for word access */
__IO _GPIO_DATA_bits DATA_bit; /*!< DATA_bit: structure used for bit access */
};
union { /*!< Data output register */
__IO uint32_t DATAOUT; /*!< DATAOUT : type used for word access */
__IO _GPIO_DATAOUT_bits DATAOUT_bit; /*!< DATAOUT_bit: structure used for bit access */
};
union { /*!< Data output set bits register */
__IO uint32_t DATAOUTSET; /*!< DATAOUTSET : type used for word access */
__IO _GPIO_DATAOUTSET_bits DATAOUTSET_bit; /*!< DATAOUTSET_bit: structure used for bit access */
};
union { /*!< Data output clear bits register */
__IO uint32_t DATAOUTCLR; /*!< DATAOUTCLR : type used for word access */
__IO _GPIO_DATAOUTCLR_bits DATAOUTCLR_bit; /*!< DATAOUTCLR_bit: structure used for bit access */
};
union { /*!< Data output toogle bits register */
__IO uint32_t DATAOUTTGL; /*!< DATAOUTTGL : type used for word access */
__IO _GPIO_DATAOUTTGL_bits DATAOUTTGL_bit; /*!< DATAOUTTGL_bit: structure used for bit access */
};
union { /*!< Digital function (PAD) enable register */
__IO uint32_t DENSET; /*!< DENSET : type used for word access */
__IO _GPIO_DENSET_bits DENSET_bit; /*!< DENSET_bit: structure used for bit access */
};
union { /*!< Digital function (PAD) disable register */
__IO uint32_t DENCLR; /*!< DENCLR : type used for word access */
__IO _GPIO_DENCLR_bits DENCLR_bit; /*!< DENCLR_bit: structure used for bit access */
};
union { /*!< Select input mode register */
__IO uint32_t INMODE; /*!< INMODE : type used for word access */
__IO _GPIO_INMODE_bits INMODE_bit; /*!< INMODE_bit: structure used for bit access */
};
union { /*!< Select pull mode register */
__IO uint32_t PULLMODE; /*!< PULLMODE : type used for word access */
__IO _GPIO_PULLMODE_bits PULLMODE_bit; /*!< PULLMODE_bit: structure used for bit access */
};
union { /*!< Select output mode register */
__IO uint32_t OUTMODE; /*!< OUTMODE : type used for word access */
__IO _GPIO_OUTMODE_bits OUTMODE_bit; /*!< OUTMODE_bit: structure used for bit access */
};
union { /*!< Select drive mode register */
__IO uint32_t DRIVEMODE; /*!< DRIVEMODE : type used for word access */
__IO _GPIO_DRIVEMODE_bits DRIVEMODE_bit; /*!< DRIVEMODE_bit: structure used for bit access */
};
union { /*!< Output enable register */
__IO uint32_t OUTENSET; /*!< OUTENSET : type used for word access */
__IO _GPIO_OUTENSET_bits OUTENSET_bit; /*!< OUTENSET_bit: structure used for bit access */
};
union { /*!< Output disable register */
__IO uint32_t OUTENCLR; /*!< OUTENCLR : type used for word access */
__IO _GPIO_OUTENCLR_bits OUTENCLR_bit; /*!< OUTENCLR_bit: structure used for bit access */
};
union { /*!< Alternative function enable register */
__IO uint32_t ALTFUNCSET; /*!< ALTFUNCSET : type used for word access */
__IO _GPIO_ALTFUNCSET_bits ALTFUNCSET_bit; /*!< ALTFUNCSET_bit: structure used for bit access */
};
union { /*!< Alternative function disable register */
__IO uint32_t ALTFUNCCLR; /*!< ALTFUNCCLR : type used for word access */
__IO _GPIO_ALTFUNCCLR_bits ALTFUNCCLR_bit; /*!< ALTFUNCCLR_bit: structure used for bit access */
};
__IO uint32_t Reserved0[2];
union { /*!< Additional double flip-flop syncronization enable register */
__IO uint32_t SYNCSET; /*!< SYNCSET : type used for word access */
__IO _GPIO_SYNCSET_bits SYNCSET_bit; /*!< SYNCSET_bit: structure used for bit access */
};
union { /*!< Additional double flip-flop syncronization disable register */
__IO uint32_t SYNCCLR; /*!< SYNCCLR : type used for word access */
__IO _GPIO_SYNCCLR_bits SYNCCLR_bit; /*!< SYNCCLR_bit: structure used for bit access */
};
union { /*!< Qualifier enable register */
__IO uint32_t QUALSET; /*!< QUALSET : type used for word access */
__IO _GPIO_QUALSET_bits QUALSET_bit; /*!< QUALSET_bit: structure used for bit access */
};
union { /*!< Qualifier disable register */
__IO uint32_t QUALCLR; /*!< QUALCLR : type used for word access */
__IO _GPIO_QUALCLR_bits QUALCLR_bit; /*!< QUALCLR_bit: structure used for bit access */
};
union { /*!< Qualifier mode set register */
__IO uint32_t QUALMODESET; /*!< QUALMODESET : type used for word access */
__IO _GPIO_QUALMODESET_bits QUALMODESET_bit; /*!< QUALMODESET_bit: structure used for bit access */
};
union { /*!< Qualifier mode clear register */
__IO uint32_t QUALMODECLR; /*!< QUALMODECLR : type used for word access */
__IO _GPIO_QUALMODECLR_bits QUALMODECLR_bit; /*!< QUALMODECLR_bit: structure used for bit access */
};
union { /*!< Qualifier sample period register */
__IO uint32_t QUALSAMPLE; /*!< QUALSAMPLE : type used for word access */
__IO _GPIO_QUALSAMPLE_bits QUALSAMPLE_bit; /*!< QUALSAMPLE_bit: structure used for bit access */
};
union { /*!< Interrupt enable register */
__IO uint32_t INTENSET; /*!< INTENSET : type used for word access */
__IO _GPIO_INTENSET_bits INTENSET_bit; /*!< INTENSET_bit: structure used for bit access */
};
union { /*!< Interrupt disable register */
__IO uint32_t INTENCLR; /*!< INTENCLR : type used for word access */
__IO _GPIO_INTENCLR_bits INTENCLR_bit; /*!< INTENCLR_bit: structure used for bit access */
};
union { /*!< Interrupt type set register */
__IO uint32_t INTTYPESET; /*!< INTTYPESET : type used for word access */
__IO _GPIO_INTTYPESET_bits INTTYPESET_bit; /*!< INTTYPESET_bit: structure used for bit access */
};
union { /*!< Interrupt type clear register */
__IO uint32_t INTTYPECLR; /*!< INTTYPECLR : type used for word access */
__IO _GPIO_INTTYPECLR_bits INTTYPECLR_bit; /*!< INTTYPECLR_bit: structure used for bit access */
};
union { /*!< Interrupt polarity set register */
__IO uint32_t INTPOLSET; /*!< INTPOLSET : type used for word access */
__IO _GPIO_INTPOLSET_bits INTPOLSET_bit; /*!< INTPOLSET_bit: structure used for bit access */
};
union { /*!< Interrupt polarity clear register */
__IO uint32_t INTPOLCLR; /*!< INTPOLCLR : type used for word access */
__IO _GPIO_INTPOLCLR_bits INTPOLCLR_bit; /*!< INTPOLCLR_bit: structure used for bit access */
};
union { /*!< Interrupt every edge set register */
__IO uint32_t INTEDGESET; /*!< INTEDGESET : type used for word access */
__IO _GPIO_INTEDGESET_bits INTEDGESET_bit; /*!< INTEDGESET_bit: structure used for bit access */
};
union { /*!< Interrupt every edge clear register */
__IO uint32_t INTEDGECLR; /*!< INTEDGECLR : type used for word access */
__IO _GPIO_INTEDGECLR_bits INTEDGECLR_bit; /*!< INTEDGECLR_bit: structure used for bit access */
};
union { /*!< Interrupt status */
__IO uint32_t INTSTATUS; /*!< INTSTATUS : type used for word access */
__IO _GPIO_INTSTATUS_bits INTSTATUS_bit; /*!< INTSTATUS_bit: structure used for bit access */
};
union { /*!< DMA request enable register */
__IO uint32_t DMAREQSET; /*!< DMAREQSET : type used for word access */
__IO _GPIO_DMAREQSET_bits DMAREQSET_bit; /*!< DMAREQSET_bit: structure used for bit access */
};
union { /*!< DMA request disable register */
__IO uint32_t DMAREQCLR; /*!< DMAREQCLR : type used for word access */
__IO _GPIO_DMAREQCLR_bits DMAREQCLR_bit; /*!< DMAREQCLR_bit: structure used for bit access */
};
union { /*!< ADC Start Of Conversion enable register */
__IO uint32_t ADCSOCSET; /*!< ADCSOCSET : type used for word access */
__IO _GPIO_ADCSOCSET_bits ADCSOCSET_bit; /*!< ADCSOCSET_bit: structure used for bit access */
};
union { /*!< ADC Start Of Conversion disable register */
__IO uint32_t ADCSOCCLR; /*!< ADCSOCCLR : type used for word access */
__IO _GPIO_ADCSOCCLR_bits ADCSOCCLR_bit; /*!< ADCSOCCLR_bit: structure used for bit access */
};
union { /*!< Core RXEV request enable register */
__IO uint32_t RXEVSET; /*!< RXEVSET : type used for word access */
__IO _GPIO_RXEVSET_bits RXEVSET_bit; /*!< RXEVSET_bit: structure used for bit access */
};
union { /*!< Core RXEV request disable register */
__IO uint32_t RXEVCLR; /*!< RXEVCLR : type used for word access */
__IO _GPIO_RXEVCLR_bits RXEVCLR_bit; /*!< RXEVCLR_bit: structure used for bit access */
};
union {
union { /*!< Key register to unlock LOCKSET/LOCKCLR registers for write (KEY=0xADEADBEE) */
__O uint32_t LOCKKEY; /*!< LOCKKEY : type used for word access */
__O _GPIO_LOCKKEY_bits LOCKKEY_bit; /*!< LOCKKEY_bit: structure used for bit access */
};
struct {
union { /*!< LOCKSET/LOCKCLR write enable status register */
__I uint32_t LOCKSTAT; /*!< LOCKSTAT : type used for word access */
__I _GPIO_LOCKSTAT_bits LOCKSTAT_bit; /*!< LOCKSTAT_bit: structure used for bit access */
};
};
};
union { /*!< Lock pins configuration enable register */
__IO uint32_t LOCKSET; /*!< LOCKSET : type used for word access */
__IO _GPIO_LOCKSET_bits LOCKSET_bit; /*!< LOCKSET_bit: structure used for bit access */
};
union { /*!< Lock pins configuration disable register */
__IO uint32_t LOCKCLR; /*!< LOCKCLR : type used for word access */
__IO _GPIO_LOCKCLR_bits LOCKCLR_bit; /*!< LOCKCLR_bit: structure used for bit access */
};
__IO uint32_t Reserved1[214];
_GPIO_MASKLB_TypeDef MASKLB[256];
_GPIO_MASKHB_TypeDef MASKHB[256];
} GPIO_TypeDef;
/******************************************************************************/
/* UART registers */
/******************************************************************************/
/*-- DR: Data Register ---------------------------------------------------------------------------------------*/
typedef struct {
uint32_t DATA :8; /*!< Received/Transmitted data character */
uint32_t FE :1; /*!< Framing error */
uint32_t PE :1; /*!< Parity error */
uint32_t BE :1; /*!< Break error */
uint32_t OE :1; /*!< Overrun error */
} _UART_DR_bits;
/* Bit field positions: */
#define UART_DR_DATA_Pos 0 /*!< Received/Transmitted data character */
#define UART_DR_FE_Pos 8 /*!< Framing error */
#define UART_DR_PE_Pos 9 /*!< Parity error */
#define UART_DR_BE_Pos 10 /*!< Break error */
#define UART_DR_OE_Pos 11 /*!< Overrun error */
/* Bit field masks: */
#define UART_DR_DATA_Msk 0x000000FFUL /*!< Received/Transmitted data character */
#define UART_DR_FE_Msk 0x00000100UL /*!< Framing error */
#define UART_DR_PE_Msk 0x00000200UL /*!< Parity error */
#define UART_DR_BE_Msk 0x00000400UL /*!< Break error */
#define UART_DR_OE_Msk 0x00000800UL /*!< Overrun error */
/*-- RSR: Receive Status Register/Error Clear Register -------------------------------------------------------*/
typedef struct {
uint32_t FE :1; /*!< Framing error */
uint32_t PE :1; /*!< Parity error */
uint32_t BE :1; /*!< Break error */
uint32_t OE :1; /*!< Overrun error */
} _UART_RSR_bits;
/* Bit field positions: */
#define UART_RSR_FE_Pos 0 /*!< Framing error */
#define UART_RSR_PE_Pos 1 /*!< Parity error */
#define UART_RSR_BE_Pos 2 /*!< Break error */
#define UART_RSR_OE_Pos 3 /*!< Overrun error */
/* Bit field masks: */
#define UART_RSR_FE_Msk 0x00000001UL /*!< Framing error */
#define UART_RSR_PE_Msk 0x00000002UL /*!< Parity error */
#define UART_RSR_BE_Msk 0x00000004UL /*!< Break error */
#define UART_RSR_OE_Msk 0x00000008UL /*!< Overrun error */
/*-- FR: Flag Register ---------------------------------------------------------------------------------------*/
typedef struct {
uint32_t :3; /*!< RESERVED */
uint32_t BUSY :1; /*!< UART busy */
uint32_t RXFE :1; /*!< Receive FIFO empty */
uint32_t TXFF :1; /*!< Transmit FIFO full */
uint32_t RXFF :1; /*!< Receive FIFO full */
uint32_t TXFE :1; /*!< Transmit FIFO empty */
} _UART_FR_bits;
/* Bit field positions: */
#define UART_FR_BUSY_Pos 3 /*!< UART busy */
#define UART_FR_RXFE_Pos 4 /*!< Receive FIFO empty */
#define UART_FR_TXFF_Pos 5 /*!< Transmit FIFO full */
#define UART_FR_RXFF_Pos 6 /*!< Receive FIFO full */
#define UART_FR_TXFE_Pos 7 /*!< Transmit FIFO empty */
/* Bit field masks: */
#define UART_FR_BUSY_Msk 0x00000008UL /*!< UART busy */
#define UART_FR_RXFE_Msk 0x00000010UL /*!< Receive FIFO empty */
#define UART_FR_TXFF_Msk 0x00000020UL /*!< Transmit FIFO full */
#define UART_FR_RXFF_Msk 0x00000040UL /*!< Receive FIFO full */
#define UART_FR_TXFE_Msk 0x00000080UL /*!< Transmit FIFO empty */
/*-- IBRD: Integer Baud Rate Register ------------------------------------------------------------------------*/
typedef struct {
uint32_t DIVINT :16; /*!< The integer baud rate divisor */
} _UART_IBRD_bits;
/* Bit field positions: */
#define UART_IBRD_DIVINT_Pos 0 /*!< The integer baud rate divisor */
/* Bit field masks: */
#define UART_IBRD_DIVINT_Msk 0x0000FFFFUL /*!< The integer baud rate divisor */
/*-- FBRD: Fractional Baud Rate Register ---------------------------------------------------------------------*/
typedef struct {
uint32_t DIVFRAC :6; /*!< The fractional baud rate divisor */
} _UART_FBRD_bits;
/* Bit field positions: */
#define UART_FBRD_DIVFRAC_Pos 0 /*!< The fractional baud rate divisor */
/* Bit field masks: */
#define UART_FBRD_DIVFRAC_Msk 0x0000003FUL /*!< The fractional baud rate divisor */
/*-- LCRH: Line Control Register -----------------------------------------------------------------------------*/
typedef struct {
uint32_t BRK :1; /*!< Send break */
uint32_t PEN :1; /*!< Parity enable */
uint32_t EPS :1; /*!< Even parity select */
uint32_t STP2 :1; /*!< Two stop bits select */
uint32_t FEN :1; /*!< Enable FIFOs */
uint32_t WLEN :2; /*!< Word length */
uint32_t SPS :1; /*!< Stick parity select */
} _UART_LCRH_bits;
/* Bit field positions: */
#define UART_LCRH_BRK_Pos 0 /*!< Send break */
#define UART_LCRH_PEN_Pos 1 /*!< Parity enable */
#define UART_LCRH_EPS_Pos 2 /*!< Even parity select */
#define UART_LCRH_STP2_Pos 3 /*!< Two stop bits select */
#define UART_LCRH_FEN_Pos 4 /*!< Enable FIFOs */
#define UART_LCRH_WLEN_Pos 5 /*!< Word length */
#define UART_LCRH_SPS_Pos 7 /*!< Stick parity select */
/* Bit field masks: */
#define UART_LCRH_BRK_Msk 0x00000001UL /*!< Send break */
#define UART_LCRH_PEN_Msk 0x00000002UL /*!< Parity enable */
#define UART_LCRH_EPS_Msk 0x00000004UL /*!< Even parity select */
#define UART_LCRH_STP2_Msk 0x00000008UL /*!< Two stop bits select */
#define UART_LCRH_FEN_Msk 0x00000010UL /*!< Enable FIFOs */
#define UART_LCRH_WLEN_Msk 0x00000060UL /*!< Word length */
#define UART_LCRH_SPS_Msk 0x00000080UL /*!< Stick parity select */
/* Bit field enums: */
typedef enum {
UART_LCRH_WLEN_5bit = 0x0UL, /*!< 5 bit in informational word */
UART_LCRH_WLEN_6bit = 0x1UL, /*!< 6 bit in informational word */
UART_LCRH_WLEN_7bit = 0x2UL, /*!< 7 bit in informational word */
UART_LCRH_WLEN_8bit = 0x3UL, /*!< 8 bit in informational word */
} UART_LCRH_WLEN_Enum;
/*-- CR: Control Register ------------------------------------------------------------------------------------*/
typedef struct {
uint32_t UARTEN :1; /*!< UART enable */
uint32_t :7; /*!< RESERVED */
uint32_t TXE :1; /*!< Transmit enable */
uint32_t RXE :1; /*!< Receive enable */
} _UART_CR_bits;
/* Bit field positions: */
#define UART_CR_UARTEN_Pos 0 /*!< UART enable */
#define UART_CR_TXE_Pos 8 /*!< Transmit enable */
#define UART_CR_RXE_Pos 9 /*!< Receive enable */
/* Bit field masks: */
#define UART_CR_UARTEN_Msk 0x00000001UL /*!< UART enable */
#define UART_CR_TXE_Msk 0x00000100UL /*!< Transmit enable */
#define UART_CR_RXE_Msk 0x00000200UL /*!< Receive enable */
/*-- IFLS: Interrupt FIFO Level Select Register --------------------------------------------------------------*/
typedef struct {
uint32_t TXIFLSEL :3; /*!< Transmit interrupt FIFO level select */
uint32_t RXIFLSEL :3; /*!< Receive interrupt FIFO level select */
} _UART_IFLS_bits;
/* Bit field positions: */
#define UART_IFLS_TXIFLSEL_Pos 0 /*!< Transmit interrupt FIFO level select */
#define UART_IFLS_RXIFLSEL_Pos 3 /*!< Receive interrupt FIFO level select */
/* Bit field masks: */
#define UART_IFLS_TXIFLSEL_Msk 0x00000007UL /*!< Transmit interrupt FIFO level select */
#define UART_IFLS_RXIFLSEL_Msk 0x00000038UL /*!< Receive interrupt FIFO level select */
/* Bit field enums: */
typedef enum {
UART_IFLS_TXIFLSEL_Lvl18 = 0x0UL, /*!< interrupt on 1/8 */
UART_IFLS_TXIFLSEL_Lvl14 = 0x1UL, /*!< interrupt on 1/4 */
UART_IFLS_TXIFLSEL_Lvl12 = 0x2UL, /*!< interrupt on 1/2 */
UART_IFLS_TXIFLSEL_Lvl34 = 0x3UL, /*!< interrupt on 3/4 */
UART_IFLS_TXIFLSEL_Lvl78 = 0x4UL, /*!< interrupt on 7/8 */
} UART_IFLS_TXIFLSEL_Enum;
typedef enum {
UART_IFLS_RXIFLSEL_Lvl18 = 0x0UL, /*!< interrupt on 1/8 */
UART_IFLS_RXIFLSEL_Lvl14 = 0x1UL, /*!< interrupt on 1/4 */
UART_IFLS_RXIFLSEL_Lvl12 = 0x2UL, /*!< interrupt on 1/2 */
UART_IFLS_RXIFLSEL_Lvl34 = 0x3UL, /*!< interrupt on 3/4 */
UART_IFLS_RXIFLSEL_Lvl78 = 0x4UL, /*!< interrupt on 7/8 */
} UART_IFLS_RXIFLSEL_Enum;
/*-- IMSC: Interrupt Mask Set/Clear Register -----------------------------------------------------------------*/
typedef struct {
uint32_t :4; /*!< RESERVED */
uint32_t RXIM :1; /*!< Receive interrupt mask */
uint32_t TXIM :1; /*!< Transmit interrupt mask */
uint32_t RTIM :1; /*!< Receive timeout interrupt mask */
uint32_t FERIM :1; /*!< Framing error interrupt mask */
uint32_t PERIM :1; /*!< Parity error interrupt mask */
uint32_t BERIM :1; /*!< Break error interrupt mask */
uint32_t OERIM :1; /*!< Overrun error interrupt mask */
uint32_t TDIM :1; /*!< Transmit done interrupt mask */
} _UART_IMSC_bits;
/* Bit field positions: */
#define UART_IMSC_RXIM_Pos 4 /*!< Receive interrupt mask */
#define UART_IMSC_TXIM_Pos 5 /*!< Transmit interrupt mask */
#define UART_IMSC_RTIM_Pos 6 /*!< Receive timeout interrupt mask */
#define UART_IMSC_FERIM_Pos 7 /*!< Framing error interrupt mask */
#define UART_IMSC_PERIM_Pos 8 /*!< Parity error interrupt mask */
#define UART_IMSC_BERIM_Pos 9 /*!< Break error interrupt mask */
#define UART_IMSC_OERIM_Pos 10 /*!< Overrun error interrupt mask */
#define UART_IMSC_TDIM_Pos 11 /*!< Transmit done interrupt mask */
/* Bit field masks: */
#define UART_IMSC_RXIM_Msk 0x00000010UL /*!< Receive interrupt mask */
#define UART_IMSC_TXIM_Msk 0x00000020UL /*!< Transmit interrupt mask */
#define UART_IMSC_RTIM_Msk 0x00000040UL /*!< Receive timeout interrupt mask */
#define UART_IMSC_FERIM_Msk 0x00000080UL /*!< Framing error interrupt mask */
#define UART_IMSC_PERIM_Msk 0x00000100UL /*!< Parity error interrupt mask */
#define UART_IMSC_BERIM_Msk 0x00000200UL /*!< Break error interrupt mask */
#define UART_IMSC_OERIM_Msk 0x00000400UL /*!< Overrun error interrupt mask */
#define UART_IMSC_TDIM_Msk 0x00000800UL /*!< Transmit done interrupt mask */
/*-- RIS: Raw Interrupt Status Register ----------------------------------------------------------------------*/
typedef struct {
uint32_t :4; /*!< RESERVED */
uint32_t RXRIS :1; /*!< Receive interrupt status */
uint32_t TXRIS :1; /*!< Transmit interrupt status */
uint32_t RTRIS :1; /*!< Receive timeout interrupt status */
uint32_t FERIS :1; /*!< Framing error interrupt status */
uint32_t PERIS :1; /*!< Parity error interrupt status */
uint32_t BERIS :1; /*!< Break error interrupt status */
uint32_t OERIS :1; /*!< Overrun error interrupt status */
uint32_t TDRIS :1; /*!< Transmit done raw interrupt status */
} _UART_RIS_bits;
/* Bit field positions: */
#define UART_RIS_RXRIS_Pos 4 /*!< Receive interrupt status */
#define UART_RIS_TXRIS_Pos 5 /*!< Transmit interrupt status */
#define UART_RIS_RTRIS_Pos 6 /*!< Receive timeout interrupt status */
#define UART_RIS_FERIS_Pos 7 /*!< Framing error interrupt status */
#define UART_RIS_PERIS_Pos 8 /*!< Parity error interrupt status */
#define UART_RIS_BERIS_Pos 9 /*!< Break error interrupt status */
#define UART_RIS_OERIS_Pos 10 /*!< Overrun error interrupt status */
#define UART_RIS_TDRIS_Pos 11 /*!< Transmit done raw interrupt status */
/* Bit field masks: */
#define UART_RIS_RXRIS_Msk 0x00000010UL /*!< Receive interrupt status */
#define UART_RIS_TXRIS_Msk 0x00000020UL /*!< Transmit interrupt status */
#define UART_RIS_RTRIS_Msk 0x00000040UL /*!< Receive timeout interrupt status */
#define UART_RIS_FERIS_Msk 0x00000080UL /*!< Framing error interrupt status */
#define UART_RIS_PERIS_Msk 0x00000100UL /*!< Parity error interrupt status */
#define UART_RIS_BERIS_Msk 0x00000200UL /*!< Break error interrupt status */
#define UART_RIS_OERIS_Msk 0x00000400UL /*!< Overrun error interrupt status */
#define UART_RIS_TDRIS_Msk 0x00000800UL /*!< Transmit done raw interrupt status */
/*-- MIS: Masked Interrupt Status Register -------------------------------------------------------------------*/
typedef struct {
uint32_t :4; /*!< RESERVED */
uint32_t RXMIS :1; /*!< Receive masked interrupt status */
uint32_t TXMIS :1; /*!< Transmit masked interrupt status */
uint32_t RTMIS :1; /*!< Receive timeout masked interrupt status */
uint32_t FEMIS :1; /*!< Framing error masked interrupt status */
uint32_t PEMIS :1; /*!< Parity error masked interrupt status */
uint32_t BEMIS :1; /*!< Break error masked interrupt status */
uint32_t OEMIS :1; /*!< Overrun error masked interrupt status */
uint32_t TDMIS :1; /*!< Transmit done masked interrupt status */
} _UART_MIS_bits;
/* Bit field positions: */
#define UART_MIS_RXMIS_Pos 4 /*!< Receive masked interrupt status */
#define UART_MIS_TXMIS_Pos 5 /*!< Transmit masked interrupt status */
#define UART_MIS_RTMIS_Pos 6 /*!< Receive timeout masked interrupt status */
#define UART_MIS_FEMIS_Pos 7 /*!< Framing error masked interrupt status */
#define UART_MIS_PEMIS_Pos 8 /*!< Parity error masked interrupt status */
#define UART_MIS_BEMIS_Pos 9 /*!< Break error masked interrupt status */
#define UART_MIS_OEMIS_Pos 10 /*!< Overrun error masked interrupt status */
#define UART_MIS_TDMIS_Pos 11 /*!< Transmit done masked interrupt status */
/* Bit field masks: */
#define UART_MIS_RXMIS_Msk 0x00000010UL /*!< Receive masked interrupt status */
#define UART_MIS_TXMIS_Msk 0x00000020UL /*!< Transmit masked interrupt status */
#define UART_MIS_RTMIS_Msk 0x00000040UL /*!< Receive timeout masked interrupt status */
#define UART_MIS_FEMIS_Msk 0x00000080UL /*!< Framing error masked interrupt status */
#define UART_MIS_PEMIS_Msk 0x00000100UL /*!< Parity error masked interrupt status */
#define UART_MIS_BEMIS_Msk 0x00000200UL /*!< Break error masked interrupt status */
#define UART_MIS_OEMIS_Msk 0x00000400UL /*!< Overrun error masked interrupt status */
#define UART_MIS_TDMIS_Msk 0x00000800UL /*!< Transmit done masked interrupt status */
/*-- ICR: Interrupt Clear Register ---------------------------------------------------------------------------*/
typedef struct {
uint32_t :4; /*!< RESERVED */
uint32_t RXIC :1; /*!< Receive interrupt clear */
uint32_t TXIC :1; /*!< Transmit interrupt clear */
uint32_t RTIC :1; /*!< Receive timeout interrupt clear */
uint32_t FEIC :1; /*!< Framing error interrupt clear */
uint32_t PEIC :1; /*!< Parity error interrupt clear */
uint32_t BEIC :1; /*!< Break error interrupt clear */
uint32_t OEIC :1; /*!< Overrun error interrupt clear */
uint32_t TDIC :1; /*!< Transmit done interrupt clear */
} _UART_ICR_bits;
/* Bit field positions: */
#define UART_ICR_RXIC_Pos 4 /*!< Receive interrupt clear */
#define UART_ICR_TXIC_Pos 5 /*!< Transmit interrupt clear */
#define UART_ICR_RTIC_Pos 6 /*!< Receive timeout interrupt clear */
#define UART_ICR_FEIC_Pos 7 /*!< Framing error interrupt clear */
#define UART_ICR_PEIC_Pos 8 /*!< Parity error interrupt clear */
#define UART_ICR_BEIC_Pos 9 /*!< Break error interrupt clear */
#define UART_ICR_OEIC_Pos 10 /*!< Overrun error interrupt clear */
#define UART_ICR_TDIC_Pos 11 /*!< Transmit done interrupt clear */
/* Bit field masks: */
#define UART_ICR_RXIC_Msk 0x00000010UL /*!< Receive interrupt clear */
#define UART_ICR_TXIC_Msk 0x00000020UL /*!< Transmit interrupt clear */
#define UART_ICR_RTIC_Msk 0x00000040UL /*!< Receive timeout interrupt clear */
#define UART_ICR_FEIC_Msk 0x00000080UL /*!< Framing error interrupt clear */
#define UART_ICR_PEIC_Msk 0x00000100UL /*!< Parity error interrupt clear */
#define UART_ICR_BEIC_Msk 0x00000200UL /*!< Break error interrupt clear */
#define UART_ICR_OEIC_Msk 0x00000400UL /*!< Overrun error interrupt clear */
#define UART_ICR_TDIC_Msk 0x00000800UL /*!< Transmit done interrupt clear */
/*-- DMACR: DMA Control Register -----------------------------------------------------------------------------*/
typedef struct {
uint32_t RXDMAE :1; /*!< Receive DMA enable */
uint32_t TXDMAE :1; /*!< Transmit DMA enable */
uint32_t DMAONERR :1; /*!< DMA on error */
} _UART_DMACR_bits;
/* Bit field positions: */
#define UART_DMACR_RXDMAE_Pos 0 /*!< Receive DMA enable */
#define UART_DMACR_TXDMAE_Pos 1 /*!< Transmit DMA enable */
#define UART_DMACR_DMAONERR_Pos 2 /*!< DMA on error */
/* Bit field masks: */
#define UART_DMACR_RXDMAE_Msk 0x00000001UL /*!< Receive DMA enable */
#define UART_DMACR_TXDMAE_Msk 0x00000002UL /*!< Transmit DMA enable */
#define UART_DMACR_DMAONERR_Msk 0x00000004UL /*!< DMA on error */
typedef struct {
union { /*!< Data Register */
__IO uint32_t DR; /*!< DR : type used for word access */
__IO _UART_DR_bits DR_bit; /*!< DR_bit: structure used for bit access */
};
union { /*!< Receive Status Register/Error Clear Register */
__IO uint32_t RSR; /*!< RSR : type used for word access */
__IO _UART_RSR_bits RSR_bit; /*!< RSR_bit: structure used for bit access */
};
__IO uint32_t Reserved0[4];
union { /*!< Flag Register */
__I uint32_t FR; /*!< FR : type used for word access */
__I _UART_FR_bits FR_bit; /*!< FR_bit: structure used for bit access */
};
__IO uint32_t Reserved1[2];
union { /*!< Integer Baud Rate Register */
__IO uint32_t IBRD; /*!< IBRD : type used for word access */
__IO _UART_IBRD_bits IBRD_bit; /*!< IBRD_bit: structure used for bit access */
};
union { /*!< Fractional Baud Rate Register */
__IO uint32_t FBRD; /*!< FBRD : type used for word access */
__IO _UART_FBRD_bits FBRD_bit; /*!< FBRD_bit: structure used for bit access */
};
union { /*!< Line Control Register */
__IO uint32_t LCRH; /*!< LCRH : type used for word access */
__IO _UART_LCRH_bits LCRH_bit; /*!< LCRH_bit: structure used for bit access */
};
union { /*!< Control Register */
__IO uint32_t CR; /*!< CR : type used for word access */
__IO _UART_CR_bits CR_bit; /*!< CR_bit: structure used for bit access */
};
union { /*!< Interrupt FIFO Level Select Register */
__IO uint32_t IFLS; /*!< IFLS : type used for word access */
__IO _UART_IFLS_bits IFLS_bit; /*!< IFLS_bit: structure used for bit access */
};
union { /*!< Interrupt Mask Set/Clear Register */
__IO uint32_t IMSC; /*!< IMSC : type used for word access */
__IO _UART_IMSC_bits IMSC_bit; /*!< IMSC_bit: structure used for bit access */
};
union { /*!< Raw Interrupt Status Register */
__IO uint32_t RIS; /*!< RIS : type used for word access */
__IO _UART_RIS_bits RIS_bit; /*!< RIS_bit: structure used for bit access */
};
union { /*!< Masked Interrupt Status Register */
__IO uint32_t MIS; /*!< MIS : type used for word access */
__IO _UART_MIS_bits MIS_bit; /*!< MIS_bit: structure used for bit access */
};
union { /*!< Interrupt Clear Register */
__IO uint32_t ICR; /*!< ICR : type used for word access */
__IO _UART_ICR_bits ICR_bit; /*!< ICR_bit: structure used for bit access */
};
union { /*!< DMA Control Register */
__IO uint32_t DMACR; /*!< DMACR : type used for word access */
__IO _UART_DMACR_bits DMACR_bit; /*!< DMACR_bit: structure used for bit access */
};
} UART_TypeDef;
/******************************************************************************/
/* DMA registers */
/******************************************************************************/
/*-- STATUS: Status DMA register -----------------------------------------------------------------------------*/
typedef struct {
uint32_t MASTEREN :1; /*!< Indicate enable DMA */
uint32_t :3; /*!< RESERVED */
uint32_t STATE :4; /*!< State of DMA */
uint32_t :8; /*!< RESERVED */
uint32_t CHNLS :5; /*!< Number channel DMA (write: N-1) */
} _DMA_STATUS_bits;
/* Bit field positions: */
#define DMA_STATUS_MASTEREN_Pos 0 /*!< Indicate enable DMA */
#define DMA_STATUS_STATE_Pos 4 /*!< State of DMA */
#define DMA_STATUS_CHNLS_Pos 16 /*!< Number channel DMA (write: N-1) */
/* Bit field masks: */
#define DMA_STATUS_MASTEREN_Msk 0x00000001UL /*!< Indicate enable DMA */
#define DMA_STATUS_STATE_Msk 0x000000F0UL /*!< State of DMA */
#define DMA_STATUS_CHNLS_Msk 0x001F0000UL /*!< Number channel DMA (write: N-1) */
/* Bit field enums: */
typedef enum {
DMA_STATUS_STATE_Free = 0x0UL, /*!< At rest */
DMA_STATUS_STATE_ReadConfigData = 0x1UL, /*!< Reading the config data structure */
DMA_STATUS_STATE_ReadSrcDataEndPtr = 0x2UL, /*!< Reading sourse data end pointer */
DMA_STATUS_STATE_ReadDstDataEndPtr = 0x3UL, /*!< Reading destination data end pointer */
DMA_STATUS_STATE_ReadSrcData = 0x4UL, /*!< Reading source data */
DMA_STATUS_STATE_WrireDstData = 0x5UL, /*!< Writing data to the destination */
DMA_STATUS_STATE_WaitReq = 0x6UL, /*!< Waiting for a request */
DMA_STATUS_STATE_WriteConfigData = 0x7UL, /*!< Write config structure of the channel */
DMA_STATUS_STATE_Pause = 0x8UL, /*!< Suspended */
DMA_STATUS_STATE_Done = 0x9UL, /*!< Executed */
DMA_STATUS_STATE_PeriphScatGath = 0xAUL, /*!< mode "peripheral scather-gather" */
} DMA_STATUS_STATE_Enum;
/*-- CFG: DMA configuration register -------------------------------------------------------------------------*/
typedef struct {
uint32_t MASTEREN :1; /*!< Enable DMA */
uint32_t :4; /*!< RESERVED */
uint32_t CHPROT :3; /*!< Sets the AHB-Lite protection */
} _DMA_CFG_bits;
/* Bit field positions: */
#define DMA_CFG_MASTEREN_Pos 0 /*!< Enable DMA */
#define DMA_CFG_CHPROT_Pos 5 /*!< Sets the AHB-Lite protection */
/* Bit field masks: */
#define DMA_CFG_MASTEREN_Msk 0x00000001UL /*!< Enable DMA */
#define DMA_CFG_CHPROT_Msk 0x000000E0UL /*!< Sets the AHB-Lite protection */
/*-- BASEPTR: Channel control data base pointer --------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Base address of the primary control data */
} _DMA_BASEPTR_bits;
/* Bit field positions: */
#define DMA_BASEPTR_VAL_Pos 0 /*!< Base address of the primary control data */
/* Bit field masks: */
#define DMA_BASEPTR_VAL_Msk 0xFFFFFFFFUL /*!< Base address of the primary control data */
/*-- ALTBASEPTR: Channel alternate control data base pointer -------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Base address of alternative control data */
} _DMA_ALTBASEPTR_bits;
/* Bit field positions: */
#define DMA_ALTBASEPTR_VAL_Pos 0 /*!< Base address of alternative control data */
/* Bit field masks: */
#define DMA_ALTBASEPTR_VAL_Msk 0xFFFFFFFFUL /*!< Base address of alternative control data */
/*-- WAITONREQ: Channel wait on request status ---------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH1 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH2 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH3 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH4 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH5 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH6 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH7 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH8 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH9 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH10 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH11 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH12 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH13 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH14 :1; /*!< Returns the status of the DMA request signals */
uint32_t CH15 :1; /*!< Returns the status of the DMA request signals */
} _DMA_WAITONREQ_bits;
/* Bit field positions: */
#define DMA_WAITONREQ_CH0_Pos 0 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH1_Pos 1 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH2_Pos 2 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH3_Pos 3 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH4_Pos 4 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH5_Pos 5 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH6_Pos 6 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH7_Pos 7 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH8_Pos 8 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH9_Pos 9 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH10_Pos 10 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH11_Pos 11 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH12_Pos 12 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH13_Pos 13 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH14_Pos 14 /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH15_Pos 15 /*!< Returns the status of the DMA request signals */
/* Bit field masks: */
#define DMA_WAITONREQ_CH0_Msk 0x00000001UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH1_Msk 0x00000002UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH2_Msk 0x00000004UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH3_Msk 0x00000008UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH4_Msk 0x00000010UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH5_Msk 0x00000020UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH6_Msk 0x00000040UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH7_Msk 0x00000080UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH8_Msk 0x00000100UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH9_Msk 0x00000200UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH10_Msk 0x00000400UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH11_Msk 0x00000800UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH12_Msk 0x00001000UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH13_Msk 0x00002000UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH14_Msk 0x00004000UL /*!< Returns the status of the DMA request signals */
#define DMA_WAITONREQ_CH15_Msk 0x00008000UL /*!< Returns the status of the DMA request signals */
/*-- SWREQ: Channel software request -------------------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< Set software request on channel */
uint32_t CH1 :1; /*!< Set software request on channel */
uint32_t CH2 :1; /*!< Set software request on channel */
uint32_t CH3 :1; /*!< Set software request on channel */
uint32_t CH4 :1; /*!< Set software request on channel */
uint32_t CH5 :1; /*!< Set software request on channel */
uint32_t CH6 :1; /*!< Set software request on channel */
uint32_t CH7 :1; /*!< Set software request on channel */
uint32_t CH8 :1; /*!< Set software request on channel */
uint32_t CH9 :1; /*!< Set software request on channel */
uint32_t CH10 :1; /*!< Set software request on channel */
uint32_t CH11 :1; /*!< Set software request on channel */
uint32_t CH12 :1; /*!< Set software request on channel */
uint32_t CH13 :1; /*!< Set software request on channel */
uint32_t CH14 :1; /*!< Set software request on channel */
uint32_t CH15 :1; /*!< Set software request on channel */
} _DMA_SWREQ_bits;
/* Bit field positions: */
#define DMA_SWREQ_CH0_Pos 0 /*!< Set software request on channel */
#define DMA_SWREQ_CH1_Pos 1 /*!< Set software request on channel */
#define DMA_SWREQ_CH2_Pos 2 /*!< Set software request on channel */
#define DMA_SWREQ_CH3_Pos 3 /*!< Set software request on channel */
#define DMA_SWREQ_CH4_Pos 4 /*!< Set software request on channel */
#define DMA_SWREQ_CH5_Pos 5 /*!< Set software request on channel */
#define DMA_SWREQ_CH6_Pos 6 /*!< Set software request on channel */
#define DMA_SWREQ_CH7_Pos 7 /*!< Set software request on channel */
#define DMA_SWREQ_CH8_Pos 8 /*!< Set software request on channel */
#define DMA_SWREQ_CH9_Pos 9 /*!< Set software request on channel */
#define DMA_SWREQ_CH10_Pos 10 /*!< Set software request on channel */
#define DMA_SWREQ_CH11_Pos 11 /*!< Set software request on channel */
#define DMA_SWREQ_CH12_Pos 12 /*!< Set software request on channel */
#define DMA_SWREQ_CH13_Pos 13 /*!< Set software request on channel */
#define DMA_SWREQ_CH14_Pos 14 /*!< Set software request on channel */
#define DMA_SWREQ_CH15_Pos 15 /*!< Set software request on channel */
/* Bit field masks: */
#define DMA_SWREQ_CH0_Msk 0x00000001UL /*!< Set software request on channel */
#define DMA_SWREQ_CH1_Msk 0x00000002UL /*!< Set software request on channel */
#define DMA_SWREQ_CH2_Msk 0x00000004UL /*!< Set software request on channel */
#define DMA_SWREQ_CH3_Msk 0x00000008UL /*!< Set software request on channel */
#define DMA_SWREQ_CH4_Msk 0x00000010UL /*!< Set software request on channel */
#define DMA_SWREQ_CH5_Msk 0x00000020UL /*!< Set software request on channel */
#define DMA_SWREQ_CH6_Msk 0x00000040UL /*!< Set software request on channel */
#define DMA_SWREQ_CH7_Msk 0x00000080UL /*!< Set software request on channel */
#define DMA_SWREQ_CH8_Msk 0x00000100UL /*!< Set software request on channel */
#define DMA_SWREQ_CH9_Msk 0x00000200UL /*!< Set software request on channel */
#define DMA_SWREQ_CH10_Msk 0x00000400UL /*!< Set software request on channel */
#define DMA_SWREQ_CH11_Msk 0x00000800UL /*!< Set software request on channel */
#define DMA_SWREQ_CH12_Msk 0x00001000UL /*!< Set software request on channel */
#define DMA_SWREQ_CH13_Msk 0x00002000UL /*!< Set software request on channel */
#define DMA_SWREQ_CH14_Msk 0x00004000UL /*!< Set software request on channel */
#define DMA_SWREQ_CH15_Msk 0x00008000UL /*!< Set software request on channel */
/*-- USEBURSTSET: Channel useburst set -----------------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< Enable single requests */
uint32_t CH1 :1; /*!< Enable single requests */
uint32_t CH2 :1; /*!< Enable single requests */
uint32_t CH3 :1; /*!< Enable single requests */
uint32_t CH4 :1; /*!< Enable single requests */
uint32_t CH5 :1; /*!< Enable single requests */
uint32_t CH6 :1; /*!< Enable single requests */
uint32_t CH7 :1; /*!< Enable single requests */
uint32_t CH8 :1; /*!< Enable single requests */
uint32_t CH9 :1; /*!< Enable single requests */
uint32_t CH10 :1; /*!< Enable single requests */
uint32_t CH11 :1; /*!< Enable single requests */
uint32_t CH12 :1; /*!< Enable single requests */
uint32_t CH13 :1; /*!< Enable single requests */
uint32_t CH14 :1; /*!< Enable single requests */
uint32_t CH15 :1; /*!< Enable single requests */
} _DMA_USEBURSTSET_bits;
/* Bit field positions: */
#define DMA_USEBURSTSET_CH0_Pos 0 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH1_Pos 1 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH2_Pos 2 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH3_Pos 3 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH4_Pos 4 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH5_Pos 5 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH6_Pos 6 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH7_Pos 7 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH8_Pos 8 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH9_Pos 9 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH10_Pos 10 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH11_Pos 11 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH12_Pos 12 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH13_Pos 13 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH14_Pos 14 /*!< Enable single requests */
#define DMA_USEBURSTSET_CH15_Pos 15 /*!< Enable single requests */
/* Bit field masks: */
#define DMA_USEBURSTSET_CH0_Msk 0x00000001UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH1_Msk 0x00000002UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH2_Msk 0x00000004UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH3_Msk 0x00000008UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH4_Msk 0x00000010UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH5_Msk 0x00000020UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH6_Msk 0x00000040UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH7_Msk 0x00000080UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH8_Msk 0x00000100UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH9_Msk 0x00000200UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH10_Msk 0x00000400UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH11_Msk 0x00000800UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH12_Msk 0x00001000UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH13_Msk 0x00002000UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH14_Msk 0x00004000UL /*!< Enable single requests */
#define DMA_USEBURSTSET_CH15_Msk 0x00008000UL /*!< Enable single requests */
/*-- USEBURSTCLR: Channel useburst clear ---------------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< Disable single requests */
uint32_t CH1 :1; /*!< Disable single requests */
uint32_t CH2 :1; /*!< Disable single requests */
uint32_t CH3 :1; /*!< Disable single requests */
uint32_t CH4 :1; /*!< Disable single requests */
uint32_t CH5 :1; /*!< Disable single requests */
uint32_t CH6 :1; /*!< Disable single requests */
uint32_t CH7 :1; /*!< Disable single requests */
uint32_t CH8 :1; /*!< Disable single requests */
uint32_t CH9 :1; /*!< Disable single requests */
uint32_t CH10 :1; /*!< Disable single requests */
uint32_t CH11 :1; /*!< Disable single requests */
uint32_t CH12 :1; /*!< Disable single requests */
uint32_t CH13 :1; /*!< Disable single requests */
uint32_t CH14 :1; /*!< Disable single requests */
uint32_t CH15 :1; /*!< Disable single requests */
} _DMA_USEBURSTCLR_bits;
/* Bit field positions: */
#define DMA_USEBURSTCLR_CH0_Pos 0 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH1_Pos 1 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH2_Pos 2 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH3_Pos 3 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH4_Pos 4 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH5_Pos 5 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH6_Pos 6 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH7_Pos 7 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH8_Pos 8 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH9_Pos 9 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH10_Pos 10 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH11_Pos 11 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH12_Pos 12 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH13_Pos 13 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH14_Pos 14 /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH15_Pos 15 /*!< Disable single requests */
/* Bit field masks: */
#define DMA_USEBURSTCLR_CH0_Msk 0x00000001UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH1_Msk 0x00000002UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH2_Msk 0x00000004UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH3_Msk 0x00000008UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH4_Msk 0x00000010UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH5_Msk 0x00000020UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH6_Msk 0x00000040UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH7_Msk 0x00000080UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH8_Msk 0x00000100UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH9_Msk 0x00000200UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH10_Msk 0x00000400UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH11_Msk 0x00000800UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH12_Msk 0x00001000UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH13_Msk 0x00002000UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH14_Msk 0x00004000UL /*!< Disable single requests */
#define DMA_USEBURSTCLR_CH15_Msk 0x00008000UL /*!< Disable single requests */
/*-- REQMASKSET: Channel request mask set --------------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< External requests are enabled for channel */
uint32_t CH1 :1; /*!< External requests are enabled for channel */
uint32_t CH2 :1; /*!< External requests are enabled for channel */
uint32_t CH3 :1; /*!< External requests are enabled for channel */
uint32_t CH4 :1; /*!< External requests are enabled for channel */
uint32_t CH5 :1; /*!< External requests are enabled for channel */
uint32_t CH6 :1; /*!< External requests are enabled for channel */
uint32_t CH7 :1; /*!< External requests are enabled for channel */
uint32_t CH8 :1; /*!< External requests are enabled for channel */
uint32_t CH9 :1; /*!< External requests are enabled for channel */
uint32_t CH10 :1; /*!< External requests are enabled for channel */
uint32_t CH11 :1; /*!< External requests are enabled for channel */
uint32_t CH12 :1; /*!< External requests are enabled for channel */
uint32_t CH13 :1; /*!< External requests are enabled for channel */
uint32_t CH14 :1; /*!< External requests are enabled for channel */
uint32_t CH15 :1; /*!< External requests are enabled for channel */
} _DMA_REQMASKSET_bits;
/* Bit field positions: */
#define DMA_REQMASKSET_CH0_Pos 0 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH1_Pos 1 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH2_Pos 2 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH3_Pos 3 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH4_Pos 4 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH5_Pos 5 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH6_Pos 6 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH7_Pos 7 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH8_Pos 8 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH9_Pos 9 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH10_Pos 10 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH11_Pos 11 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH12_Pos 12 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH13_Pos 13 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH14_Pos 14 /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH15_Pos 15 /*!< External requests are enabled for channel */
/* Bit field masks: */
#define DMA_REQMASKSET_CH0_Msk 0x00000001UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH1_Msk 0x00000002UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH2_Msk 0x00000004UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH3_Msk 0x00000008UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH4_Msk 0x00000010UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH5_Msk 0x00000020UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH6_Msk 0x00000040UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH7_Msk 0x00000080UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH8_Msk 0x00000100UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH9_Msk 0x00000200UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH10_Msk 0x00000400UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH11_Msk 0x00000800UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH12_Msk 0x00001000UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH13_Msk 0x00002000UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH14_Msk 0x00004000UL /*!< External requests are enabled for channel */
#define DMA_REQMASKSET_CH15_Msk 0x00008000UL /*!< External requests are enabled for channel */
/*-- REQMASKCLR: Channel request mask clear ------------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< External requests are disabled for channel */
uint32_t CH1 :1; /*!< External requests are disabled for channel */
uint32_t CH2 :1; /*!< External requests are disabled for channel */
uint32_t CH3 :1; /*!< External requests are disabled for channel */
uint32_t CH4 :1; /*!< External requests are disabled for channel */
uint32_t CH5 :1; /*!< External requests are disabled for channel */
uint32_t CH6 :1; /*!< External requests are disabled for channel */
uint32_t CH7 :1; /*!< External requests are disabled for channel */
uint32_t CH8 :1; /*!< External requests are disabled for channel */
uint32_t CH9 :1; /*!< External requests are disabled for channel */
uint32_t CH10 :1; /*!< External requests are disabled for channel */
uint32_t CH11 :1; /*!< External requests are disabled for channel */
uint32_t CH12 :1; /*!< External requests are disabled for channel */
uint32_t CH13 :1; /*!< External requests are disabled for channel */
uint32_t CH14 :1; /*!< External requests are disabled for channel */
uint32_t CH15 :1; /*!< External requests are disabled for channel */
} _DMA_REQMASKCLR_bits;
/* Bit field positions: */
#define DMA_REQMASKCLR_CH0_Pos 0 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH1_Pos 1 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH2_Pos 2 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH3_Pos 3 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH4_Pos 4 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH5_Pos 5 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH6_Pos 6 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH7_Pos 7 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH8_Pos 8 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH9_Pos 9 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH10_Pos 10 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH11_Pos 11 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH12_Pos 12 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH13_Pos 13 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH14_Pos 14 /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH15_Pos 15 /*!< External requests are disabled for channel */
/* Bit field masks: */
#define DMA_REQMASKCLR_CH0_Msk 0x00000001UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH1_Msk 0x00000002UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH2_Msk 0x00000004UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH3_Msk 0x00000008UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH4_Msk 0x00000010UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH5_Msk 0x00000020UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH6_Msk 0x00000040UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH7_Msk 0x00000080UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH8_Msk 0x00000100UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH9_Msk 0x00000200UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH10_Msk 0x00000400UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH11_Msk 0x00000800UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH12_Msk 0x00001000UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH13_Msk 0x00002000UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH14_Msk 0x00004000UL /*!< External requests are disabled for channel */
#define DMA_REQMASKCLR_CH15_Msk 0x00008000UL /*!< External requests are disabled for channel */
/*-- ENSET: Channel enable set -------------------------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< Enable channel */
uint32_t CH1 :1; /*!< Enable channel */
uint32_t CH2 :1; /*!< Enable channel */
uint32_t CH3 :1; /*!< Enable channel */
uint32_t CH4 :1; /*!< Enable channel */
uint32_t CH5 :1; /*!< Enable channel */
uint32_t CH6 :1; /*!< Enable channel */
uint32_t CH7 :1; /*!< Enable channel */
uint32_t CH8 :1; /*!< Enable channel */
uint32_t CH9 :1; /*!< Enable channel */
uint32_t CH10 :1; /*!< Enable channel */
uint32_t CH11 :1; /*!< Enable channel */
uint32_t CH12 :1; /*!< Enable channel */
uint32_t CH13 :1; /*!< Enable channel */
uint32_t CH14 :1; /*!< Enable channel */
uint32_t CH15 :1; /*!< Enable channel */
} _DMA_ENSET_bits;
/* Bit field positions: */
#define DMA_ENSET_CH0_Pos 0 /*!< Enable channel */
#define DMA_ENSET_CH1_Pos 1 /*!< Enable channel */
#define DMA_ENSET_CH2_Pos 2 /*!< Enable channel */
#define DMA_ENSET_CH3_Pos 3 /*!< Enable channel */
#define DMA_ENSET_CH4_Pos 4 /*!< Enable channel */
#define DMA_ENSET_CH5_Pos 5 /*!< Enable channel */
#define DMA_ENSET_CH6_Pos 6 /*!< Enable channel */
#define DMA_ENSET_CH7_Pos 7 /*!< Enable channel */
#define DMA_ENSET_CH8_Pos 8 /*!< Enable channel */
#define DMA_ENSET_CH9_Pos 9 /*!< Enable channel */
#define DMA_ENSET_CH10_Pos 10 /*!< Enable channel */
#define DMA_ENSET_CH11_Pos 11 /*!< Enable channel */
#define DMA_ENSET_CH12_Pos 12 /*!< Enable channel */
#define DMA_ENSET_CH13_Pos 13 /*!< Enable channel */
#define DMA_ENSET_CH14_Pos 14 /*!< Enable channel */
#define DMA_ENSET_CH15_Pos 15 /*!< Enable channel */
/* Bit field masks: */
#define DMA_ENSET_CH0_Msk 0x00000001UL /*!< Enable channel */
#define DMA_ENSET_CH1_Msk 0x00000002UL /*!< Enable channel */
#define DMA_ENSET_CH2_Msk 0x00000004UL /*!< Enable channel */
#define DMA_ENSET_CH3_Msk 0x00000008UL /*!< Enable channel */
#define DMA_ENSET_CH4_Msk 0x00000010UL /*!< Enable channel */
#define DMA_ENSET_CH5_Msk 0x00000020UL /*!< Enable channel */
#define DMA_ENSET_CH6_Msk 0x00000040UL /*!< Enable channel */
#define DMA_ENSET_CH7_Msk 0x00000080UL /*!< Enable channel */
#define DMA_ENSET_CH8_Msk 0x00000100UL /*!< Enable channel */
#define DMA_ENSET_CH9_Msk 0x00000200UL /*!< Enable channel */
#define DMA_ENSET_CH10_Msk 0x00000400UL /*!< Enable channel */
#define DMA_ENSET_CH11_Msk 0x00000800UL /*!< Enable channel */
#define DMA_ENSET_CH12_Msk 0x00001000UL /*!< Enable channel */
#define DMA_ENSET_CH13_Msk 0x00002000UL /*!< Enable channel */
#define DMA_ENSET_CH14_Msk 0x00004000UL /*!< Enable channel */
#define DMA_ENSET_CH15_Msk 0x00008000UL /*!< Enable channel */
/*-- ENCLR: Channel enable clear -----------------------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< Disable channel */
uint32_t CH1 :1; /*!< Disable channel */
uint32_t CH2 :1; /*!< Disable channel */
uint32_t CH3 :1; /*!< Disable channel */
uint32_t CH4 :1; /*!< Disable channel */
uint32_t CH5 :1; /*!< Disable channel */
uint32_t CH6 :1; /*!< Disable channel */
uint32_t CH7 :1; /*!< Disable channel */
uint32_t CH8 :1; /*!< Disable channel */
uint32_t CH9 :1; /*!< Disable channel */
uint32_t CH10 :1; /*!< Disable channel */
uint32_t CH11 :1; /*!< Disable channel */
uint32_t CH12 :1; /*!< Disable channel */
uint32_t CH13 :1; /*!< Disable channel */
uint32_t CH14 :1; /*!< Disable channel */
uint32_t CH15 :1; /*!< Disable channel */
} _DMA_ENCLR_bits;
/* Bit field positions: */
#define DMA_ENCLR_CH0_Pos 0 /*!< Disable channel */
#define DMA_ENCLR_CH1_Pos 1 /*!< Disable channel */
#define DMA_ENCLR_CH2_Pos 2 /*!< Disable channel */
#define DMA_ENCLR_CH3_Pos 3 /*!< Disable channel */
#define DMA_ENCLR_CH4_Pos 4 /*!< Disable channel */
#define DMA_ENCLR_CH5_Pos 5 /*!< Disable channel */
#define DMA_ENCLR_CH6_Pos 6 /*!< Disable channel */
#define DMA_ENCLR_CH7_Pos 7 /*!< Disable channel */
#define DMA_ENCLR_CH8_Pos 8 /*!< Disable channel */
#define DMA_ENCLR_CH9_Pos 9 /*!< Disable channel */
#define DMA_ENCLR_CH10_Pos 10 /*!< Disable channel */
#define DMA_ENCLR_CH11_Pos 11 /*!< Disable channel */
#define DMA_ENCLR_CH12_Pos 12 /*!< Disable channel */
#define DMA_ENCLR_CH13_Pos 13 /*!< Disable channel */
#define DMA_ENCLR_CH14_Pos 14 /*!< Disable channel */
#define DMA_ENCLR_CH15_Pos 15 /*!< Disable channel */
/* Bit field masks: */
#define DMA_ENCLR_CH0_Msk 0x00000001UL /*!< Disable channel */
#define DMA_ENCLR_CH1_Msk 0x00000002UL /*!< Disable channel */
#define DMA_ENCLR_CH2_Msk 0x00000004UL /*!< Disable channel */
#define DMA_ENCLR_CH3_Msk 0x00000008UL /*!< Disable channel */
#define DMA_ENCLR_CH4_Msk 0x00000010UL /*!< Disable channel */
#define DMA_ENCLR_CH5_Msk 0x00000020UL /*!< Disable channel */
#define DMA_ENCLR_CH6_Msk 0x00000040UL /*!< Disable channel */
#define DMA_ENCLR_CH7_Msk 0x00000080UL /*!< Disable channel */
#define DMA_ENCLR_CH8_Msk 0x00000100UL /*!< Disable channel */
#define DMA_ENCLR_CH9_Msk 0x00000200UL /*!< Disable channel */
#define DMA_ENCLR_CH10_Msk 0x00000400UL /*!< Disable channel */
#define DMA_ENCLR_CH11_Msk 0x00000800UL /*!< Disable channel */
#define DMA_ENCLR_CH12_Msk 0x00001000UL /*!< Disable channel */
#define DMA_ENCLR_CH13_Msk 0x00002000UL /*!< Disable channel */
#define DMA_ENCLR_CH14_Msk 0x00004000UL /*!< Disable channel */
#define DMA_ENCLR_CH15_Msk 0x00008000UL /*!< Disable channel */
/*-- PRIALTSET: Channel primary-alternate set ----------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH1 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH2 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH3 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH4 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH5 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH6 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH7 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH8 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH9 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH10 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH11 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH12 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH13 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH14 :1; /*!< Set primary / alternate channel control data structure */
uint32_t CH15 :1; /*!< Set primary / alternate channel control data structure */
} _DMA_PRIALTSET_bits;
/* Bit field positions: */
#define DMA_PRIALTSET_CH0_Pos 0 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH1_Pos 1 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH2_Pos 2 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH3_Pos 3 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH4_Pos 4 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH5_Pos 5 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH6_Pos 6 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH7_Pos 7 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH8_Pos 8 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH9_Pos 9 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH10_Pos 10 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH11_Pos 11 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH12_Pos 12 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH13_Pos 13 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH14_Pos 14 /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH15_Pos 15 /*!< Set primary / alternate channel control data structure */
/* Bit field masks: */
#define DMA_PRIALTSET_CH0_Msk 0x00000001UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH1_Msk 0x00000002UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH2_Msk 0x00000004UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH3_Msk 0x00000008UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH4_Msk 0x00000010UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH5_Msk 0x00000020UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH6_Msk 0x00000040UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH7_Msk 0x00000080UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH8_Msk 0x00000100UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH9_Msk 0x00000200UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH10_Msk 0x00000400UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH11_Msk 0x00000800UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH12_Msk 0x00001000UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH13_Msk 0x00002000UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH14_Msk 0x00004000UL /*!< Set primary / alternate channel control data structure */
#define DMA_PRIALTSET_CH15_Msk 0x00008000UL /*!< Set primary / alternate channel control data structure */
/*-- PRIALTCLR: Channel primary-alternate clear --------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH1 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH2 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH3 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH4 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH5 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH6 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH7 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH8 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH9 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH10 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH11 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH12 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH13 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH14 :1; /*!< Clear primary / alternate channel control data structure */
uint32_t CH15 :1; /*!< Clear primary / alternate channel control data structure */
} _DMA_PRIALTCLR_bits;
/* Bit field positions: */
#define DMA_PRIALTCLR_CH0_Pos 0 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH1_Pos 1 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH2_Pos 2 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH3_Pos 3 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH4_Pos 4 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH5_Pos 5 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH6_Pos 6 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH7_Pos 7 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH8_Pos 8 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH9_Pos 9 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH10_Pos 10 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH11_Pos 11 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH12_Pos 12 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH13_Pos 13 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH14_Pos 14 /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH15_Pos 15 /*!< Clear primary / alternate channel control data structure */
/* Bit field masks: */
#define DMA_PRIALTCLR_CH0_Msk 0x00000001UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH1_Msk 0x00000002UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH2_Msk 0x00000004UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH3_Msk 0x00000008UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH4_Msk 0x00000010UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH5_Msk 0x00000020UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH6_Msk 0x00000040UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH7_Msk 0x00000080UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH8_Msk 0x00000100UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH9_Msk 0x00000200UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH10_Msk 0x00000400UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH11_Msk 0x00000800UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH12_Msk 0x00001000UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH13_Msk 0x00002000UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH14_Msk 0x00004000UL /*!< Clear primary / alternate channel control data structure */
#define DMA_PRIALTCLR_CH15_Msk 0x00008000UL /*!< Clear primary / alternate channel control data structure */
/*-- PRIORITYSET: Channel priority set -----------------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< Set the priority of channel */
uint32_t CH1 :1; /*!< Set the priority of channel */
uint32_t CH2 :1; /*!< Set the priority of channel */
uint32_t CH3 :1; /*!< Set the priority of channel */
uint32_t CH4 :1; /*!< Set the priority of channel */
uint32_t CH5 :1; /*!< Set the priority of channel */
uint32_t CH6 :1; /*!< Set the priority of channel */
uint32_t CH7 :1; /*!< Set the priority of channel */
uint32_t CH8 :1; /*!< Set the priority of channel */
uint32_t CH9 :1; /*!< Set the priority of channel */
uint32_t CH10 :1; /*!< Set the priority of channel */
uint32_t CH11 :1; /*!< Set the priority of channel */
uint32_t CH12 :1; /*!< Set the priority of channel */
uint32_t CH13 :1; /*!< Set the priority of channel */
uint32_t CH14 :1; /*!< Set the priority of channel */
uint32_t CH15 :1; /*!< Set the priority of channel */
} _DMA_PRIORITYSET_bits;
/* Bit field positions: */
#define DMA_PRIORITYSET_CH0_Pos 0 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH1_Pos 1 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH2_Pos 2 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH3_Pos 3 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH4_Pos 4 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH5_Pos 5 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH6_Pos 6 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH7_Pos 7 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH8_Pos 8 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH9_Pos 9 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH10_Pos 10 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH11_Pos 11 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH12_Pos 12 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH13_Pos 13 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH14_Pos 14 /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH15_Pos 15 /*!< Set the priority of channel */
/* Bit field masks: */
#define DMA_PRIORITYSET_CH0_Msk 0x00000001UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH1_Msk 0x00000002UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH2_Msk 0x00000004UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH3_Msk 0x00000008UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH4_Msk 0x00000010UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH5_Msk 0x00000020UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH6_Msk 0x00000040UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH7_Msk 0x00000080UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH8_Msk 0x00000100UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH9_Msk 0x00000200UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH10_Msk 0x00000400UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH11_Msk 0x00000800UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH12_Msk 0x00001000UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH13_Msk 0x00002000UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH14_Msk 0x00004000UL /*!< Set the priority of channel */
#define DMA_PRIORITYSET_CH15_Msk 0x00008000UL /*!< Set the priority of channel */
/*-- PRIORITYCLR: Channel priority clear ---------------------------------------------------------------------*/
typedef struct {
uint32_t CH0 :1; /*!< Clear the priority */
uint32_t CH1 :1; /*!< Clear the priority */
uint32_t CH2 :1; /*!< Clear the priority */
uint32_t CH3 :1; /*!< Clear the priority */
uint32_t CH4 :1; /*!< Clear the priority */
uint32_t CH5 :1; /*!< Clear the priority */
uint32_t CH6 :1; /*!< Clear the priority */
uint32_t CH7 :1; /*!< Clear the priority */
uint32_t CH8 :1; /*!< Clear the priority */
uint32_t CH9 :1; /*!< Clear the priority */
uint32_t CH10 :1; /*!< Clear the priority */
uint32_t CH11 :1; /*!< Clear the priority */
uint32_t CH12 :1; /*!< Clear the priority */
uint32_t CH13 :1; /*!< Clear the priority */
uint32_t CH14 :1; /*!< Clear the priority */
uint32_t CH15 :1; /*!< Clear the priority */
} _DMA_PRIORITYCLR_bits;
/* Bit field positions: */
#define DMA_PRIORITYCLR_CH0_Pos 0 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH1_Pos 1 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH2_Pos 2 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH3_Pos 3 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH4_Pos 4 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH5_Pos 5 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH6_Pos 6 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH7_Pos 7 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH8_Pos 8 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH9_Pos 9 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH10_Pos 10 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH11_Pos 11 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH12_Pos 12 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH13_Pos 13 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH14_Pos 14 /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH15_Pos 15 /*!< Clear the priority */
/* Bit field masks: */
#define DMA_PRIORITYCLR_CH0_Msk 0x00000001UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH1_Msk 0x00000002UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH2_Msk 0x00000004UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH3_Msk 0x00000008UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH4_Msk 0x00000010UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH5_Msk 0x00000020UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH6_Msk 0x00000040UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH7_Msk 0x00000080UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH8_Msk 0x00000100UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH9_Msk 0x00000200UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH10_Msk 0x00000400UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH11_Msk 0x00000800UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH12_Msk 0x00001000UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH13_Msk 0x00002000UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH14_Msk 0x00004000UL /*!< Clear the priority */
#define DMA_PRIORITYCLR_CH15_Msk 0x00008000UL /*!< Clear the priority */
/*-- ERRCLR: Bus error register ------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :1; /*!< Indicate Error on bus AHB-Lite */
} _DMA_ERRCLR_bits;
/* Bit field positions: */
#define DMA_ERRCLR_VAL_Pos 0 /*!< Indicate Error on bus AHB-Lite */
/* Bit field masks: */
#define DMA_ERRCLR_VAL_Msk 0x00000001UL /*!< Indicate Error on bus AHB-Lite */
typedef struct {
union { /*!< Status DMA register */
__I uint32_t STATUS; /*!< STATUS : type used for word access */
__I _DMA_STATUS_bits STATUS_bit; /*!< STATUS_bit: structure used for bit access */
};
union { /*!< DMA configuration register */
__O uint32_t CFG; /*!< CFG : type used for word access */
__O _DMA_CFG_bits CFG_bit; /*!< CFG_bit: structure used for bit access */
};
union { /*!< Channel control data base pointer */
__IO uint32_t BASEPTR; /*!< BASEPTR : type used for word access */
__IO _DMA_BASEPTR_bits BASEPTR_bit; /*!< BASEPTR_bit: structure used for bit access */
};
union { /*!< Channel alternate control data base pointer */
__I uint32_t ALTBASEPTR; /*!< ALTBASEPTR : type used for word access */
__I _DMA_ALTBASEPTR_bits ALTBASEPTR_bit; /*!< ALTBASEPTR_bit: structure used for bit access */
};
union { /*!< Channel wait on request status */
__I uint32_t WAITONREQ; /*!< WAITONREQ : type used for word access */
__I _DMA_WAITONREQ_bits WAITONREQ_bit; /*!< WAITONREQ_bit: structure used for bit access */
};
union { /*!< Channel software request */
__O uint32_t SWREQ; /*!< SWREQ : type used for word access */
__O _DMA_SWREQ_bits SWREQ_bit; /*!< SWREQ_bit: structure used for bit access */
};
union { /*!< Channel useburst set */
__IO uint32_t USEBURSTSET; /*!< USEBURSTSET : type used for word access */
__IO _DMA_USEBURSTSET_bits USEBURSTSET_bit; /*!< USEBURSTSET_bit: structure used for bit access */
};
union { /*!< Channel useburst clear */
__O uint32_t USEBURSTCLR; /*!< USEBURSTCLR : type used for word access */
__O _DMA_USEBURSTCLR_bits USEBURSTCLR_bit; /*!< USEBURSTCLR_bit: structure used for bit access */
};
union { /*!< Channel request mask set */
__IO uint32_t REQMASKSET; /*!< REQMASKSET : type used for word access */
__IO _DMA_REQMASKSET_bits REQMASKSET_bit; /*!< REQMASKSET_bit: structure used for bit access */
};
union { /*!< Channel request mask clear */
__O uint32_t REQMASKCLR; /*!< REQMASKCLR : type used for word access */
__O _DMA_REQMASKCLR_bits REQMASKCLR_bit; /*!< REQMASKCLR_bit: structure used for bit access */
};
union { /*!< Channel enable set */
__IO uint32_t ENSET; /*!< ENSET : type used for word access */
__IO _DMA_ENSET_bits ENSET_bit; /*!< ENSET_bit: structure used for bit access */
};
union { /*!< Channel enable clear */
__O uint32_t ENCLR; /*!< ENCLR : type used for word access */
__O _DMA_ENCLR_bits ENCLR_bit; /*!< ENCLR_bit: structure used for bit access */
};
union { /*!< Channel primary-alternate set */
__IO uint32_t PRIALTSET; /*!< PRIALTSET : type used for word access */
__IO _DMA_PRIALTSET_bits PRIALTSET_bit; /*!< PRIALTSET_bit: structure used for bit access */
};
union { /*!< Channel primary-alternate clear */
__O uint32_t PRIALTCLR; /*!< PRIALTCLR : type used for word access */
__O _DMA_PRIALTCLR_bits PRIALTCLR_bit; /*!< PRIALTCLR_bit: structure used for bit access */
};
union { /*!< Channel priority set */
__IO uint32_t PRIORITYSET; /*!< PRIORITYSET : type used for word access */
__IO _DMA_PRIORITYSET_bits PRIORITYSET_bit; /*!< PRIORITYSET_bit: structure used for bit access */
};
union { /*!< Channel priority clear */
__O uint32_t PRIORITYCLR; /*!< PRIORITYCLR : type used for word access */
__O _DMA_PRIORITYCLR_bits PRIORITYCLR_bit; /*!< PRIORITYCLR_bit: structure used for bit access */
};
__IO uint32_t Reserved0[3];
union { /*!< Bus error register */
__IO uint32_t ERRCLR; /*!< ERRCLR : type used for word access */
__IO _DMA_ERRCLR_bits ERRCLR_bit; /*!< ERRCLR_bit: structure used for bit access */
};
} DMA_TypeDef;
/******************************************************************************/
/* MFLASH registers */
/******************************************************************************/
/*-- ADDR: Address Register ----------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Address value for flash operations */
} _MFLASH_ADDR_bits;
/* Bit field positions: */
#define MFLASH_ADDR_VAL_Pos 0 /*!< Address value for flash operations */
/* Bit field masks: */
#define MFLASH_ADDR_VAL_Msk 0xFFFFFFFFUL /*!< Address value for flash operations */
/*-- DATA: DATA: Data Register --------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Data register value for flash operations */
} _MFLASH_DATA_DATA_bits;
/* Bit field positions: */
#define MFLASH_DATA_DATA_VAL_Pos 0 /*!< Data register value for flash operations */
/* Bit field masks: */
#define MFLASH_DATA_DATA_VAL_Msk 0xFFFFFFFFUL /*!< Data register value for flash operations */
/*-- CMD: Command Register -----------------------------------------------------------------------------------*/
typedef struct {
uint32_t RD :1; /*!< Read enable command */
uint32_t WR :1; /*!< Write enable command */
uint32_t ERSEC :1; /*!< Erase sector enable command */
uint32_t ERALL :1; /*!< Erase all enable command */
uint32_t :4; /*!< RESERVED */
uint32_t NVRON :1; /*!< NVR access bit */
uint32_t :7; /*!< RESERVED */
uint32_t KEY :16; /*!< Magic Key for flash access "C0DE" */
} _MFLASH_CMD_bits;
/* Bit field positions: */
#define MFLASH_CMD_RD_Pos 0 /*!< Read enable command */
#define MFLASH_CMD_WR_Pos 1 /*!< Write enable command */
#define MFLASH_CMD_ERSEC_Pos 2 /*!< Erase sector enable command */
#define MFLASH_CMD_ERALL_Pos 3 /*!< Erase all enable command */
#define MFLASH_CMD_NVRON_Pos 8 /*!< NVR access bit */
#define MFLASH_CMD_KEY_Pos 16 /*!< Magic Key for flash access "C0DE" */
/* Bit field masks: */
#define MFLASH_CMD_RD_Msk 0x00000001UL /*!< Read enable command */
#define MFLASH_CMD_WR_Msk 0x00000002UL /*!< Write enable command */
#define MFLASH_CMD_ERSEC_Msk 0x00000004UL /*!< Erase sector enable command */
#define MFLASH_CMD_ERALL_Msk 0x00000008UL /*!< Erase all enable command */
#define MFLASH_CMD_NVRON_Msk 0x00000100UL /*!< NVR access bit */
#define MFLASH_CMD_KEY_Msk 0xFFFF0000UL /*!< Magic Key for flash access "C0DE" */
/* Bit field enums: */
typedef enum {
MFLASH_CMD_KEY_Access = 0xC0DEUL, /*!< magic Key for flash access */
} MFLASH_CMD_KEY_Enum;
/*-- STAT: Status Register -----------------------------------------------------------------------------------*/
typedef struct {
uint32_t BUSY :1; /*!< Busy status bit when command is processing */
uint32_t IRQF :1; /*!< IRQ Flag set when command done. Set by hardware only if IRQEN bit is set. */
} _MFLASH_STAT_bits;
/* Bit field positions: */
#define MFLASH_STAT_BUSY_Pos 0 /*!< Busy status bit when command is processing */
#define MFLASH_STAT_IRQF_Pos 1 /*!< IRQ Flag set when command done. Set by hardware only if IRQEN bit is set. */
/* Bit field masks: */
#define MFLASH_STAT_BUSY_Msk 0x00000001UL /*!< Busy status bit when command is processing */
#define MFLASH_STAT_IRQF_Msk 0x00000002UL /*!< IRQ Flag set when command done. Set by hardware only if IRQEN bit is set. */
/*-- CTRL: Control Register ----------------------------------------------------------------------------------*/
typedef struct {
uint32_t PEN :1; /*!< Prefetch enable bit */
uint32_t ICEN :1; /*!< I-Cache enable bit */
uint32_t DCEN :1; /*!< D-Cache enable bit */
uint32_t :1; /*!< RESERVED */
uint32_t IRQEN :1; /*!< Interrupt enable bit */
uint32_t :3; /*!< RESERVED */
uint32_t IFLUSH :1; /*!< Flush I-Cache request bit */
uint32_t DFLUSH :1; /*!< Flush D-Cache request bit */
uint32_t :6; /*!< RESERVED */
uint32_t LAT :4; /*!< Flash latency */
} _MFLASH_CTRL_bits;
/* Bit field positions: */
#define MFLASH_CTRL_PEN_Pos 0 /*!< Prefetch enable bit */
#define MFLASH_CTRL_ICEN_Pos 1 /*!< I-Cache enable bit */
#define MFLASH_CTRL_DCEN_Pos 2 /*!< D-Cache enable bit */
#define MFLASH_CTRL_IRQEN_Pos 4 /*!< Interrupt enable bit */
#define MFLASH_CTRL_IFLUSH_Pos 8 /*!< Flush I-Cache request bit */
#define MFLASH_CTRL_DFLUSH_Pos 9 /*!< Flush D-Cache request bit */
#define MFLASH_CTRL_LAT_Pos 16 /*!< Flash latency */
/* Bit field masks: */
#define MFLASH_CTRL_PEN_Msk 0x00000001UL /*!< Prefetch enable bit */
#define MFLASH_CTRL_ICEN_Msk 0x00000002UL /*!< I-Cache enable bit */
#define MFLASH_CTRL_DCEN_Msk 0x00000004UL /*!< D-Cache enable bit */
#define MFLASH_CTRL_IRQEN_Msk 0x00000010UL /*!< Interrupt enable bit */
#define MFLASH_CTRL_IFLUSH_Msk 0x00000100UL /*!< Flush I-Cache request bit */
#define MFLASH_CTRL_DFLUSH_Msk 0x00000200UL /*!< Flush D-Cache request bit */
#define MFLASH_CTRL_LAT_Msk 0x000F0000UL /*!< Flash latency */
/*-- ICSTAT: ICACHE Status Register --------------------------------------------------------------------------*/
typedef struct {
uint32_t BUSY :1; /*!< Busy flag for I-Cache flush/test system */
} _MFLASH_ICSTAT_bits;
/* Bit field positions: */
#define MFLASH_ICSTAT_BUSY_Pos 0 /*!< Busy flag for I-Cache flush/test system */
/* Bit field masks: */
#define MFLASH_ICSTAT_BUSY_Msk 0x00000001UL /*!< Busy flag for I-Cache flush/test system */
/*-- DCSTAT: DCACHE Status Register --------------------------------------------------------------------------*/
typedef struct {
uint32_t BUSY :1; /*!< Busy flag for D-Cache flush/test system */
} _MFLASH_DCSTAT_bits;
/* Bit field positions: */
#define MFLASH_DCSTAT_BUSY_Pos 0 /*!< Busy flag for D-Cache flush/test system */
/* Bit field masks: */
#define MFLASH_DCSTAT_BUSY_Msk 0x00000001UL /*!< Busy flag for D-Cache flush/test system */
/*-- BDIS: Boot Mode Disable register ------------------------------------------------------------------------*/
typedef struct {
uint32_t BMDIS :1; /*!< Disable boot mode after system reset command */
} _MFLASH_BDIS_bits;
/* Bit field positions: */
#define MFLASH_BDIS_BMDIS_Pos 0 /*!< Disable boot mode after system reset command */
/* Bit field masks: */
#define MFLASH_BDIS_BMDIS_Msk 0x00000001UL /*!< Disable boot mode after system reset command */
//Cluster DATA:
typedef struct {
union {
/*!< Data Register */
__IO uint32_t DATA; /*!< DATA : type used for word access */
__IO _MFLASH_DATA_DATA_bits DATA_bit; /*!< DATA_bit: structure used for bit access */
};
} _MFLASH_DATA_TypeDef;
typedef struct {
union { /*!< Address Register */
__IO uint32_t ADDR; /*!< ADDR : type used for word access */
__IO _MFLASH_ADDR_bits ADDR_bit; /*!< ADDR_bit: structure used for bit access */
};
_MFLASH_DATA_TypeDef DATA[2];
__IO uint32_t Reserved0[6];
union { /*!< Command Register */
__IO uint32_t CMD; /*!< CMD : type used for word access */
__IO _MFLASH_CMD_bits CMD_bit; /*!< CMD_bit: structure used for bit access */
};
union { /*!< Status Register */
__IO uint32_t STAT; /*!< STAT : type used for word access */
__IO _MFLASH_STAT_bits STAT_bit; /*!< STAT_bit: structure used for bit access */
};
union { /*!< Control Register */
__IO uint32_t CTRL; /*!< CTRL : type used for word access */
__IO _MFLASH_CTRL_bits CTRL_bit; /*!< CTRL_bit: structure used for bit access */
};
__IO uint32_t Reserved1;
union { /*!< ICACHE Status Register */
__I uint32_t ICSTAT; /*!< ICSTAT : type used for word access */
__I _MFLASH_ICSTAT_bits ICSTAT_bit; /*!< ICSTAT_bit: structure used for bit access */
};
union { /*!< DCACHE Status Register */
__I uint32_t DCSTAT; /*!< DCSTAT : type used for word access */
__I _MFLASH_DCSTAT_bits DCSTAT_bit; /*!< DCSTAT_bit: structure used for bit access */
};
__IO uint32_t Reserved2[15];
union { /*!< Boot Mode Disable register */
__IO uint32_t BDIS; /*!< BDIS : type used for word access */
__IO _MFLASH_BDIS_bits BDIS_bit; /*!< BDIS_bit: structure used for bit access */
};
} MFLASH_TypeDef;
/******************************************************************************/
/* QEP registers */
/******************************************************************************/
/*-- QPOSCNT: Position Counter register ----------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QPOSCNT_bits;
/* Bit field positions: */
#define QEP_QPOSCNT_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QPOSCNT_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QPOSINIT: Position Counter Initialization register ------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QPOSINIT_bits;
/* Bit field positions: */
#define QEP_QPOSINIT_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QPOSINIT_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QPOSMAX: Maximum Position Count register ----------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QPOSMAX_bits;
/* Bit field positions: */
#define QEP_QPOSMAX_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QPOSMAX_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QPOSCMP: Position-compare register ----------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QPOSCMP_bits;
/* Bit field positions: */
#define QEP_QPOSCMP_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QPOSCMP_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QPOSILAT: Index Position Latch register -----------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QPOSILAT_bits;
/* Bit field positions: */
#define QEP_QPOSILAT_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QPOSILAT_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QPOSSLAT: Strobe Position Latch register ----------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QPOSSLAT_bits;
/* Bit field positions: */
#define QEP_QPOSSLAT_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QPOSSLAT_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QPOSLAT: Position Counter Latch register ----------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QPOSLAT_bits;
/* Bit field positions: */
#define QEP_QPOSLAT_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QPOSLAT_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QUTMR: Unit Timer register ------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QUTMR_bits;
/* Bit field positions: */
#define QEP_QUTMR_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QUTMR_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QUPRD: Unit Period register -----------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QUPRD_bits;
/* Bit field positions: */
#define QEP_QUPRD_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QUPRD_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QWDTMR: Watchdog Timer register -------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QWDTMR_bits;
/* Bit field positions: */
#define QEP_QWDTMR_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QWDTMR_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QWDPRD: Watchdog Period register ------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QWDPRD_bits;
/* Bit field positions: */
#define QEP_QWDPRD_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QWDPRD_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QDECCTL: Decoder Control register -----------------------------------------------------------------------*/
typedef struct {
uint32_t :5; /*!< RESERVED */
uint32_t QSP :1; /*!< QEPS input polarity */
uint32_t QIP :1; /*!< QEPI input polarity */
uint32_t QBP :1; /*!< QEPB input polarity */
uint32_t QAP :1; /*!< QEPA input polarity */
uint32_t IGATE :1; /*!< Index pulse gating option */
uint32_t SWAP :1; /*!< Swap quadrature clock inputs */
uint32_t XCR :1; /*!< External clock rate */
uint32_t SPSEL :1; /*!< Sync output pin selection */
uint32_t SOEN :1; /*!< Sync output-enable */
uint32_t QSRC :2; /*!< Position-counter source selection */
} _QEP_QDECCTL_bits;
/* Bit field positions: */
#define QEP_QDECCTL_QSP_Pos 5 /*!< QEPS input polarity */
#define QEP_QDECCTL_QIP_Pos 6 /*!< QEPI input polarity */
#define QEP_QDECCTL_QBP_Pos 7 /*!< QEPB input polarity */
#define QEP_QDECCTL_QAP_Pos 8 /*!< QEPA input polarity */
#define QEP_QDECCTL_IGATE_Pos 9 /*!< Index pulse gating option */
#define QEP_QDECCTL_SWAP_Pos 10 /*!< Swap quadrature clock inputs */
#define QEP_QDECCTL_XCR_Pos 11 /*!< External clock rate */
#define QEP_QDECCTL_SPSEL_Pos 12 /*!< Sync output pin selection */
#define QEP_QDECCTL_SOEN_Pos 13 /*!< Sync output-enable */
#define QEP_QDECCTL_QSRC_Pos 14 /*!< Position-counter source selection */
/* Bit field masks: */
#define QEP_QDECCTL_QSP_Msk 0x00000020UL /*!< QEPS input polarity */
#define QEP_QDECCTL_QIP_Msk 0x00000040UL /*!< QEPI input polarity */
#define QEP_QDECCTL_QBP_Msk 0x00000080UL /*!< QEPB input polarity */
#define QEP_QDECCTL_QAP_Msk 0x00000100UL /*!< QEPA input polarity */
#define QEP_QDECCTL_IGATE_Msk 0x00000200UL /*!< Index pulse gating option */
#define QEP_QDECCTL_SWAP_Msk 0x00000400UL /*!< Swap quadrature clock inputs */
#define QEP_QDECCTL_XCR_Msk 0x00000800UL /*!< External clock rate */
#define QEP_QDECCTL_SPSEL_Msk 0x00001000UL /*!< Sync output pin selection */
#define QEP_QDECCTL_SOEN_Msk 0x00002000UL /*!< Sync output-enable */
#define QEP_QDECCTL_QSRC_Msk 0x0000C000UL /*!< Position-counter source selection */
/* Bit field enums: */
typedef enum {
QEP_QDECCTL_QSRC_Quad = 0x0UL, /*!< quadrature mode */
QEP_QDECCTL_QSRC_CountDir = 0x1UL, /*!< count/direction mode */
QEP_QDECCTL_QSRC_Up = 0x2UL, /*!< count up */
QEP_QDECCTL_QSRC_Down = 0x3UL, /*!< count down */
} QEP_QDECCTL_QSRC_Enum;
/*-- QEPCTL: Control register --------------------------------------------------------------------------------*/
typedef struct {
uint32_t WDE :1; /*!< QEP watchdog enable */
uint32_t UTE :1; /*!< QEP unit timer enable */
uint32_t QCLM :1; /*!< QEP capture latch mode */
uint32_t QPEN :1; /*!< Quadrature position counter enable/software reset */
uint32_t IEL :2; /*!< Index event latch of position counter (software index marker) */
uint32_t SEL :1; /*!< Strobe event latch of position counter */
uint32_t SWI :1; /*!< Software initialization of position counter */
uint32_t IEI :2; /*!< Index event initialization of position counter */
uint32_t SEI :2; /*!< Strobe event initialization of position counter */
uint32_t PCRM :2; /*!< Position counter reset mode */
uint32_t FREESOFT :2; /*!< Emulation Control Bits */
} _QEP_QEPCTL_bits;
/* Bit field positions: */
#define QEP_QEPCTL_WDE_Pos 0 /*!< QEP watchdog enable */
#define QEP_QEPCTL_UTE_Pos 1 /*!< QEP unit timer enable */
#define QEP_QEPCTL_QCLM_Pos 2 /*!< QEP capture latch mode */
#define QEP_QEPCTL_QPEN_Pos 3 /*!< Quadrature position counter enable/software reset */
#define QEP_QEPCTL_IEL_Pos 4 /*!< Index event latch of position counter (software index marker) */
#define QEP_QEPCTL_SEL_Pos 6 /*!< Strobe event latch of position counter */
#define QEP_QEPCTL_SWI_Pos 7 /*!< Software initialization of position counter */
#define QEP_QEPCTL_IEI_Pos 8 /*!< Index event initialization of position counter */
#define QEP_QEPCTL_SEI_Pos 10 /*!< Strobe event initialization of position counter */
#define QEP_QEPCTL_PCRM_Pos 12 /*!< Position counter reset mode */
#define QEP_QEPCTL_FREESOFT_Pos 14 /*!< Emulation Control Bits */
/* Bit field masks: */
#define QEP_QEPCTL_WDE_Msk 0x00000001UL /*!< QEP watchdog enable */
#define QEP_QEPCTL_UTE_Msk 0x00000002UL /*!< QEP unit timer enable */
#define QEP_QEPCTL_QCLM_Msk 0x00000004UL /*!< QEP capture latch mode */
#define QEP_QEPCTL_QPEN_Msk 0x00000008UL /*!< Quadrature position counter enable/software reset */
#define QEP_QEPCTL_IEL_Msk 0x00000030UL /*!< Index event latch of position counter (software index marker) */
#define QEP_QEPCTL_SEL_Msk 0x00000040UL /*!< Strobe event latch of position counter */
#define QEP_QEPCTL_SWI_Msk 0x00000080UL /*!< Software initialization of position counter */
#define QEP_QEPCTL_IEI_Msk 0x00000300UL /*!< Index event initialization of position counter */
#define QEP_QEPCTL_SEI_Msk 0x00000C00UL /*!< Strobe event initialization of position counter */
#define QEP_QEPCTL_PCRM_Msk 0x00003000UL /*!< Position counter reset mode */
#define QEP_QEPCTL_FREESOFT_Msk 0x0000C000UL /*!< Emulation Control Bits */
/* Bit field enums: */
typedef enum {
QEP_QEPCTL_IEL_NoLatch = 0x0UL, /*!< no position counter latch */
QEP_QEPCTL_IEL_IndPos = 0x1UL, /*!< latch on index signal posedge */
QEP_QEPCTL_IEL_IndNeg = 0x2UL, /*!< latch on index signal negedge */
QEP_QEPCTL_IEL_IndMark = 0x3UL, /*!< latch on index marker */
} QEP_QEPCTL_IEL_Enum;
typedef enum {
QEP_QEPCTL_IEI_NoInit = 0x0UL, /*!< no initialization */
QEP_QEPCTL_IEI_QEPIPos = 0x2UL, /*!< init on posedge QEPI */
QEP_QEPCTL_IEI_QEPINeg = 0x3UL, /*!< init on negedge QEPI */
} QEP_QEPCTL_IEI_Enum;
typedef enum {
QEP_QEPCTL_SEI_NoInit = 0x0UL, /*!< no initialization */
QEP_QEPCTL_SEI_QEPSPos = 0x2UL, /*!< init on posedge QEPI */
QEP_QEPCTL_SEI_QEPSDir = 0x3UL, /*!< init depends on direction - on posedge if direction is up, on negedge if direction is down */
} QEP_QEPCTL_SEI_Enum;
typedef enum {
QEP_QEPCTL_PCRM_Ind = 0x0UL, /*!< reset on index */
QEP_QEPCTL_PCRM_PosMax = 0x1UL, /*!< reset on max position count */
QEP_QEPCTL_PCRM_FirstInd = 0x2UL, /*!< reset on the first index */
QEP_QEPCTL_PCRM_Time = 0x3UL, /*!< reset on time counter */
} QEP_QEPCTL_PCRM_Enum;
typedef enum {
QEP_QEPCTL_FREESOFT_Stop = 0x0UL, /*!< counters are blocked */
QEP_QEPCTL_FREESOFT_StopAtOvf = 0x1UL, /*!< stop after overflow */
QEP_QEPCTL_FREESOFT_Free = 0x2UL, /*!< no count stop in debug mode */
} QEP_QEPCTL_FREESOFT_Enum;
/*-- QCAPCTL: Capture Control register -----------------------------------------------------------------------*/
typedef struct {
uint32_t UPPS :4; /*!< Unit position event prescaler */
uint32_t CCPS :3; /*!< QEP capture timer clock prescaler */
uint32_t SELEVENT :1; /*!< Reset timer control */
uint32_t :7; /*!< RESERVED */
uint32_t CEN :1; /*!< Enable eQEP capture */
uint32_t EPSLD :1; /*!< Enhanced prescalers load */
} _QEP_QCAPCTL_bits;
/* Bit field positions: */
#define QEP_QCAPCTL_UPPS_Pos 0 /*!< Unit position event prescaler */
#define QEP_QCAPCTL_CCPS_Pos 4 /*!< QEP capture timer clock prescaler */
#define QEP_QCAPCTL_SELEVENT_Pos 7 /*!< Reset timer control */
#define QEP_QCAPCTL_CEN_Pos 15 /*!< Enable eQEP capture */
#define QEP_QCAPCTL_EPSLD_Pos 16 /*!< Enhanced prescalers load */
/* Bit field masks: */
#define QEP_QCAPCTL_UPPS_Msk 0x0000000FUL /*!< Unit position event prescaler */
#define QEP_QCAPCTL_CCPS_Msk 0x00000070UL /*!< QEP capture timer clock prescaler */
#define QEP_QCAPCTL_SELEVENT_Msk 0x00000080UL /*!< Reset timer control */
#define QEP_QCAPCTL_CEN_Msk 0x00008000UL /*!< Enable eQEP capture */
#define QEP_QCAPCTL_EPSLD_Msk 0x00010000UL /*!< Enhanced prescalers load */
/* Bit field enums: */
typedef enum {
QEP_QCAPCTL_UPPS_Disable = 0x0UL, /*!< quad signal not divided */
QEP_QCAPCTL_UPPS_Div2 = 0x1UL, /*!< quad signal divided by 2 */
QEP_QCAPCTL_UPPS_Div4 = 0x2UL, /*!< quad signal divided by 4 */
QEP_QCAPCTL_UPPS_Div8 = 0x3UL, /*!< quad signal divided by 8 */
QEP_QCAPCTL_UPPS_Div16 = 0x4UL, /*!< quad signal divided by 16 */
QEP_QCAPCTL_UPPS_Div32 = 0x5UL, /*!< quad signal divided by 32 */
QEP_QCAPCTL_UPPS_Div64 = 0x6UL, /*!< quad signal divided by 64 */
QEP_QCAPCTL_UPPS_Div128 = 0x7UL, /*!< quad signal divided by 128 */
QEP_QCAPCTL_UPPS_Div256 = 0x8UL, /*!< quad signal divided by 256 */
QEP_QCAPCTL_UPPS_Div512 = 0x9UL, /*!< quad signal divided by 512 */
QEP_QCAPCTL_UPPS_Div1024 = 0xAUL, /*!< quad signal divided by 1024 */
QEP_QCAPCTL_UPPS_Div2048 = 0xBUL, /*!< quad signal divided by 2048 */
} QEP_QCAPCTL_UPPS_Enum;
typedef enum {
QEP_QCAPCTL_CCPS_Disable = 0x0UL, /*!< no divider */
QEP_QCAPCTL_CCPS_Div2 = 0x1UL, /*!< sysclk divided by 2 */
QEP_QCAPCTL_CCPS_Div4 = 0x2UL, /*!< sysclk divided by 4 */
QEP_QCAPCTL_CCPS_Div8 = 0x3UL, /*!< sysclk divided by 8 */
QEP_QCAPCTL_CCPS_Div16 = 0x4UL, /*!< sysclk divided by 16 */
QEP_QCAPCTL_CCPS_Div32 = 0x5UL, /*!< sysclk divided by 32 */
QEP_QCAPCTL_CCPS_Div64 = 0x6UL, /*!< sysclk divided by 64 */
QEP_QCAPCTL_CCPS_Div128 = 0x7UL, /*!< sysclk divided by 128 */
} QEP_QCAPCTL_CCPS_Enum;
/*-- QPOSCTL: Position-compare Control register --------------------------------------------------------------*/
typedef struct {
uint32_t PCSPW :12; /*!< Select-position-compare sync output pulse width */
uint32_t PCE :1; /*!< Position-compare enable/disable */
uint32_t PCPOL :1; /*!< Polarity of sync output */
uint32_t PCLOAD :1; /*!< Position-compare shadow load mode */
uint32_t PCSHDW :1; /*!< Position-compare shadow enable */
} _QEP_QPOSCTL_bits;
/* Bit field positions: */
#define QEP_QPOSCTL_PCSPW_Pos 0 /*!< Select-position-compare sync output pulse width */
#define QEP_QPOSCTL_PCE_Pos 12 /*!< Position-compare enable/disable */
#define QEP_QPOSCTL_PCPOL_Pos 13 /*!< Polarity of sync output */
#define QEP_QPOSCTL_PCLOAD_Pos 14 /*!< Position-compare shadow load mode */
#define QEP_QPOSCTL_PCSHDW_Pos 15 /*!< Position-compare shadow enable */
/* Bit field masks: */
#define QEP_QPOSCTL_PCSPW_Msk 0x00000FFFUL /*!< Select-position-compare sync output pulse width */
#define QEP_QPOSCTL_PCE_Msk 0x00001000UL /*!< Position-compare enable/disable */
#define QEP_QPOSCTL_PCPOL_Msk 0x00002000UL /*!< Polarity of sync output */
#define QEP_QPOSCTL_PCLOAD_Msk 0x00004000UL /*!< Position-compare shadow load mode */
#define QEP_QPOSCTL_PCSHDW_Msk 0x00008000UL /*!< Position-compare shadow enable */
/*-- QEINT: Interrupt Enable register ------------------------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t PCE :1; /*!< Position counter error interrupt enable */
uint32_t QPE :1; /*!< Quadrature phase error interrupt enable */
uint32_t QDC :1; /*!< Quadrature direction change interrupt enable */
uint32_t WTO :1; /*!< Watchdog time out interrupt enable */
uint32_t PCU :1; /*!< Position counter underflow interrupt enable */
uint32_t PCO :1; /*!< Position counter overflow interrupt enable */
uint32_t PCR :1; /*!< Position-compare ready interrupt enable */
uint32_t PCM :1; /*!< Position-compare match interrupt enable */
uint32_t SEL :1; /*!< Strobe event latch interrupt enable */
uint32_t IEL :1; /*!< Index event latch interrupt enable */
uint32_t UTO :1; /*!< Unit time out interrupt enable */
} _QEP_QEINT_bits;
/* Bit field positions: */
#define QEP_QEINT_PCE_Pos 1 /*!< Position counter error interrupt enable */
#define QEP_QEINT_QPE_Pos 2 /*!< Quadrature phase error interrupt enable */
#define QEP_QEINT_QDC_Pos 3 /*!< Quadrature direction change interrupt enable */
#define QEP_QEINT_WTO_Pos 4 /*!< Watchdog time out interrupt enable */
#define QEP_QEINT_PCU_Pos 5 /*!< Position counter underflow interrupt enable */
#define QEP_QEINT_PCO_Pos 6 /*!< Position counter overflow interrupt enable */
#define QEP_QEINT_PCR_Pos 7 /*!< Position-compare ready interrupt enable */
#define QEP_QEINT_PCM_Pos 8 /*!< Position-compare match interrupt enable */
#define QEP_QEINT_SEL_Pos 9 /*!< Strobe event latch interrupt enable */
#define QEP_QEINT_IEL_Pos 10 /*!< Index event latch interrupt enable */
#define QEP_QEINT_UTO_Pos 11 /*!< Unit time out interrupt enable */
/* Bit field masks: */
#define QEP_QEINT_PCE_Msk 0x00000002UL /*!< Position counter error interrupt enable */
#define QEP_QEINT_QPE_Msk 0x00000004UL /*!< Quadrature phase error interrupt enable */
#define QEP_QEINT_QDC_Msk 0x00000008UL /*!< Quadrature direction change interrupt enable */
#define QEP_QEINT_WTO_Msk 0x00000010UL /*!< Watchdog time out interrupt enable */
#define QEP_QEINT_PCU_Msk 0x00000020UL /*!< Position counter underflow interrupt enable */
#define QEP_QEINT_PCO_Msk 0x00000040UL /*!< Position counter overflow interrupt enable */
#define QEP_QEINT_PCR_Msk 0x00000080UL /*!< Position-compare ready interrupt enable */
#define QEP_QEINT_PCM_Msk 0x00000100UL /*!< Position-compare match interrupt enable */
#define QEP_QEINT_SEL_Msk 0x00000200UL /*!< Strobe event latch interrupt enable */
#define QEP_QEINT_IEL_Msk 0x00000400UL /*!< Index event latch interrupt enable */
#define QEP_QEINT_UTO_Msk 0x00000800UL /*!< Unit time out interrupt enable */
/*-- QFLG: Interrupt Flag register ---------------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Global interrupt status flag */
uint32_t PCE :1; /*!< Position counter error interrupt flag */
uint32_t QPE :1; /*!< Quadrature phase error interrupt flag */
uint32_t QDC :1; /*!< Quadrature direction change interrupt flag */
uint32_t WTO :1; /*!< Watchdog timeout interrupt flag */
uint32_t PCU :1; /*!< Position counter underflow interrupt flag */
uint32_t PCO :1; /*!< Position counter overflow interrupt flag */
uint32_t PCR :1; /*!< Position-compare ready interrupt flag */
uint32_t PCM :1; /*!< QEP compare match event interrupt flag */
uint32_t SEL :1; /*!< Strobe event latch interrupt flag
*/
uint32_t IEL :1; /*!< Index event latch interrupt flag */
uint32_t UTO :1; /*!< Unit time out interrupt flag */
} _QEP_QFLG_bits;
/* Bit field positions: */
#define QEP_QFLG_INT_Pos 0 /*!< Global interrupt status flag */
#define QEP_QFLG_PCE_Pos 1 /*!< Position counter error interrupt flag */
#define QEP_QFLG_QPE_Pos 2 /*!< Quadrature phase error interrupt flag */
#define QEP_QFLG_QDC_Pos 3 /*!< Quadrature direction change interrupt flag */
#define QEP_QFLG_WTO_Pos 4 /*!< Watchdog timeout interrupt flag */
#define QEP_QFLG_PCU_Pos 5 /*!< Position counter underflow interrupt flag */
#define QEP_QFLG_PCO_Pos 6 /*!< Position counter overflow interrupt flag */
#define QEP_QFLG_PCR_Pos 7 /*!< Position-compare ready interrupt flag */
#define QEP_QFLG_PCM_Pos 8 /*!< QEP compare match event interrupt flag */
#define QEP_QFLG_SEL_Pos 9 /*!< Strobe event latch interrupt flag
*/
#define QEP_QFLG_IEL_Pos 10 /*!< Index event latch interrupt flag */
#define QEP_QFLG_UTO_Pos 11 /*!< Unit time out interrupt flag */
/* Bit field masks: */
#define QEP_QFLG_INT_Msk 0x00000001UL /*!< Global interrupt status flag */
#define QEP_QFLG_PCE_Msk 0x00000002UL /*!< Position counter error interrupt flag */
#define QEP_QFLG_QPE_Msk 0x00000004UL /*!< Quadrature phase error interrupt flag */
#define QEP_QFLG_QDC_Msk 0x00000008UL /*!< Quadrature direction change interrupt flag */
#define QEP_QFLG_WTO_Msk 0x00000010UL /*!< Watchdog timeout interrupt flag */
#define QEP_QFLG_PCU_Msk 0x00000020UL /*!< Position counter underflow interrupt flag */
#define QEP_QFLG_PCO_Msk 0x00000040UL /*!< Position counter overflow interrupt flag */
#define QEP_QFLG_PCR_Msk 0x00000080UL /*!< Position-compare ready interrupt flag */
#define QEP_QFLG_PCM_Msk 0x00000100UL /*!< QEP compare match event interrupt flag */
#define QEP_QFLG_SEL_Msk 0x00000200UL /*!< Strobe event latch interrupt flag
*/
#define QEP_QFLG_IEL_Msk 0x00000400UL /*!< Index event latch interrupt flag */
#define QEP_QFLG_UTO_Msk 0x00000800UL /*!< Unit time out interrupt flag */
/*-- QCLR: Interrupt Clear register --------------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Global interrupt clear flag */
uint32_t PCE :1; /*!< Clear position counter error interrupt flag */
uint32_t QPE :1; /*!< Clear quadrature phase error interrupt flag */
uint32_t QDC :1; /*!< Clear quadrature direction change interrupt flag */
uint32_t WTO :1; /*!< Clear watchdog timeout interrupt flag */
uint32_t PCU :1; /*!< Clear position counter underflow interrupt flag */
uint32_t PCO :1; /*!< Clear position counter overflow interrupt flag */
uint32_t PCR :1; /*!< Clear position-compare ready interrupt flag */
uint32_t PCM :1; /*!< Clear eQEP compare match event interrupt flag */
uint32_t SEL :1; /*!< Clear strobe event latch interrupt flag */
uint32_t IEL :1; /*!< Clear index event latch interrupt flag */
uint32_t UTO :1; /*!< Clear unit time out interrupt flag */
} _QEP_QCLR_bits;
/* Bit field positions: */
#define QEP_QCLR_INT_Pos 0 /*!< Global interrupt clear flag */
#define QEP_QCLR_PCE_Pos 1 /*!< Clear position counter error interrupt flag */
#define QEP_QCLR_QPE_Pos 2 /*!< Clear quadrature phase error interrupt flag */
#define QEP_QCLR_QDC_Pos 3 /*!< Clear quadrature direction change interrupt flag */
#define QEP_QCLR_WTO_Pos 4 /*!< Clear watchdog timeout interrupt flag */
#define QEP_QCLR_PCU_Pos 5 /*!< Clear position counter underflow interrupt flag */
#define QEP_QCLR_PCO_Pos 6 /*!< Clear position counter overflow interrupt flag */
#define QEP_QCLR_PCR_Pos 7 /*!< Clear position-compare ready interrupt flag */
#define QEP_QCLR_PCM_Pos 8 /*!< Clear eQEP compare match event interrupt flag */
#define QEP_QCLR_SEL_Pos 9 /*!< Clear strobe event latch interrupt flag */
#define QEP_QCLR_IEL_Pos 10 /*!< Clear index event latch interrupt flag */
#define QEP_QCLR_UTO_Pos 11 /*!< Clear unit time out interrupt flag */
/* Bit field masks: */
#define QEP_QCLR_INT_Msk 0x00000001UL /*!< Global interrupt clear flag */
#define QEP_QCLR_PCE_Msk 0x00000002UL /*!< Clear position counter error interrupt flag */
#define QEP_QCLR_QPE_Msk 0x00000004UL /*!< Clear quadrature phase error interrupt flag */
#define QEP_QCLR_QDC_Msk 0x00000008UL /*!< Clear quadrature direction change interrupt flag */
#define QEP_QCLR_WTO_Msk 0x00000010UL /*!< Clear watchdog timeout interrupt flag */
#define QEP_QCLR_PCU_Msk 0x00000020UL /*!< Clear position counter underflow interrupt flag */
#define QEP_QCLR_PCO_Msk 0x00000040UL /*!< Clear position counter overflow interrupt flag */
#define QEP_QCLR_PCR_Msk 0x00000080UL /*!< Clear position-compare ready interrupt flag */
#define QEP_QCLR_PCM_Msk 0x00000100UL /*!< Clear eQEP compare match event interrupt flag */
#define QEP_QCLR_SEL_Msk 0x00000200UL /*!< Clear strobe event latch interrupt flag */
#define QEP_QCLR_IEL_Msk 0x00000400UL /*!< Clear index event latch interrupt flag */
#define QEP_QCLR_UTO_Msk 0x00000800UL /*!< Clear unit time out interrupt flag */
/*-- QFRC: Interrupt Force register --------------------------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t PCE :1; /*!< Force position counter error interrupt */
uint32_t QPE :1; /*!< Force quadrature phase error interrupt */
uint32_t QDC :1; /*!< Force quadrature direction change interrupt */
uint32_t WTO :1; /*!< Force watchdog time out interrupt */
uint32_t PCU :1; /*!< Force position counter underflow interrupt */
uint32_t PCO :1; /*!< Force position counter overflow interrupt */
uint32_t PCR :1; /*!< Force position-compare ready interrupt */
uint32_t PCM :1; /*!< Force position-compare match interrupt */
uint32_t SEL :1; /*!< Force strobe event latch interrupt */
uint32_t IEL :1; /*!< Force index event latch interrupt */
uint32_t UTO :1; /*!< Force unit time out interrupt */
} _QEP_QFRC_bits;
/* Bit field positions: */
#define QEP_QFRC_PCE_Pos 1 /*!< Force position counter error interrupt */
#define QEP_QFRC_QPE_Pos 2 /*!< Force quadrature phase error interrupt */
#define QEP_QFRC_QDC_Pos 3 /*!< Force quadrature direction change interrupt */
#define QEP_QFRC_WTO_Pos 4 /*!< Force watchdog time out interrupt */
#define QEP_QFRC_PCU_Pos 5 /*!< Force position counter underflow interrupt */
#define QEP_QFRC_PCO_Pos 6 /*!< Force position counter overflow interrupt */
#define QEP_QFRC_PCR_Pos 7 /*!< Force position-compare ready interrupt */
#define QEP_QFRC_PCM_Pos 8 /*!< Force position-compare match interrupt */
#define QEP_QFRC_SEL_Pos 9 /*!< Force strobe event latch interrupt */
#define QEP_QFRC_IEL_Pos 10 /*!< Force index event latch interrupt */
#define QEP_QFRC_UTO_Pos 11 /*!< Force unit time out interrupt */
/* Bit field masks: */
#define QEP_QFRC_PCE_Msk 0x00000002UL /*!< Force position counter error interrupt */
#define QEP_QFRC_QPE_Msk 0x00000004UL /*!< Force quadrature phase error interrupt */
#define QEP_QFRC_QDC_Msk 0x00000008UL /*!< Force quadrature direction change interrupt */
#define QEP_QFRC_WTO_Msk 0x00000010UL /*!< Force watchdog time out interrupt */
#define QEP_QFRC_PCU_Msk 0x00000020UL /*!< Force position counter underflow interrupt */
#define QEP_QFRC_PCO_Msk 0x00000040UL /*!< Force position counter overflow interrupt */
#define QEP_QFRC_PCR_Msk 0x00000080UL /*!< Force position-compare ready interrupt */
#define QEP_QFRC_PCM_Msk 0x00000100UL /*!< Force position-compare match interrupt */
#define QEP_QFRC_SEL_Msk 0x00000200UL /*!< Force strobe event latch interrupt */
#define QEP_QFRC_IEL_Msk 0x00000400UL /*!< Force index event latch interrupt */
#define QEP_QFRC_UTO_Msk 0x00000800UL /*!< Force unit time out interrupt */
/*-- QEPSTS: Status register ---------------------------------------------------------------------------------*/
typedef struct {
uint32_t PCEF :1; /*!< Position counter error flag */
uint32_t FIMF :1; /*!< First index marker flag */
uint32_t CDEF :1; /*!< Capture direction error flag */
uint32_t COEF :1; /*!< Capture overflow error flag */
uint32_t QDLF :1; /*!< QEP direction latch flag */
uint32_t QDF :1; /*!< Quadrature direction flag */
uint32_t FIDF :1; /*!< Direction on the first index marker */
uint32_t UPEVNT :1; /*!< Unit position event flag */
uint32_t DCF :1; /*!< Direction change flag */
} _QEP_QEPSTS_bits;
/* Bit field positions: */
#define QEP_QEPSTS_PCEF_Pos 0 /*!< Position counter error flag */
#define QEP_QEPSTS_FIMF_Pos 1 /*!< First index marker flag */
#define QEP_QEPSTS_CDEF_Pos 2 /*!< Capture direction error flag */
#define QEP_QEPSTS_COEF_Pos 3 /*!< Capture overflow error flag */
#define QEP_QEPSTS_QDLF_Pos 4 /*!< QEP direction latch flag */
#define QEP_QEPSTS_QDF_Pos 5 /*!< Quadrature direction flag */
#define QEP_QEPSTS_FIDF_Pos 6 /*!< Direction on the first index marker */
#define QEP_QEPSTS_UPEVNT_Pos 7 /*!< Unit position event flag */
#define QEP_QEPSTS_DCF_Pos 8 /*!< Direction change flag */
/* Bit field masks: */
#define QEP_QEPSTS_PCEF_Msk 0x00000001UL /*!< Position counter error flag */
#define QEP_QEPSTS_FIMF_Msk 0x00000002UL /*!< First index marker flag */
#define QEP_QEPSTS_CDEF_Msk 0x00000004UL /*!< Capture direction error flag */
#define QEP_QEPSTS_COEF_Msk 0x00000008UL /*!< Capture overflow error flag */
#define QEP_QEPSTS_QDLF_Msk 0x00000010UL /*!< QEP direction latch flag */
#define QEP_QEPSTS_QDF_Msk 0x00000020UL /*!< Quadrature direction flag */
#define QEP_QEPSTS_FIDF_Msk 0x00000040UL /*!< Direction on the first index marker */
#define QEP_QEPSTS_UPEVNT_Msk 0x00000080UL /*!< Unit position event flag */
#define QEP_QEPSTS_DCF_Msk 0x00000100UL /*!< Direction change flag */
/*-- QCTMR: Capture Timer register ---------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QCTMR_bits;
/* Bit field positions: */
#define QEP_QCTMR_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QCTMR_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QCPRD: Capture Period register --------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QCPRD_bits;
/* Bit field positions: */
#define QEP_QCPRD_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QCPRD_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QCTMRLAT: Capture Timer Latch register ------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QCTMRLAT_bits;
/* Bit field positions: */
#define QEP_QCTMRLAT_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QCTMRLAT_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- QCPRDLAT: Capture Period Latch register -----------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _QEP_QCPRDLAT_bits;
/* Bit field positions: */
#define QEP_QCPRDLAT_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define QEP_QCPRDLAT_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- DMAREQ: DMA request register ----------------------------------------------------------------------------*/
typedef struct {
uint32_t DMAEN :1; /*!< DMA request enable */
} _QEP_DMAREQ_bits;
/* Bit field positions: */
#define QEP_DMAREQ_DMAEN_Pos 0 /*!< DMA request enable */
/* Bit field masks: */
#define QEP_DMAREQ_DMAEN_Msk 0x00000001UL /*!< DMA request enable */
/*-- INTCLR: Clear active interrupt register -----------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Active interrupt by read, write 1 to clear interrupt */
} _QEP_INTCLR_bits;
/* Bit field positions: */
#define QEP_INTCLR_INT_Pos 0 /*!< Active interrupt by read, write 1 to clear interrupt */
/* Bit field masks: */
#define QEP_INTCLR_INT_Msk 0x00000001UL /*!< Active interrupt by read, write 1 to clear interrupt */
typedef struct {
union { /*!< Position Counter register */
__IO uint32_t QPOSCNT; /*!< QPOSCNT : type used for word access */
__IO _QEP_QPOSCNT_bits QPOSCNT_bit; /*!< QPOSCNT_bit: structure used for bit access */
};
union { /*!< Position Counter Initialization register */
__IO uint32_t QPOSINIT; /*!< QPOSINIT : type used for word access */
__IO _QEP_QPOSINIT_bits QPOSINIT_bit; /*!< QPOSINIT_bit: structure used for bit access */
};
union { /*!< Maximum Position Count register */
__IO uint32_t QPOSMAX; /*!< QPOSMAX : type used for word access */
__IO _QEP_QPOSMAX_bits QPOSMAX_bit; /*!< QPOSMAX_bit: structure used for bit access */
};
union { /*!< Position-compare register */
__IO uint32_t QPOSCMP; /*!< QPOSCMP : type used for word access */
__IO _QEP_QPOSCMP_bits QPOSCMP_bit; /*!< QPOSCMP_bit: structure used for bit access */
};
union { /*!< Index Position Latch register */
__I uint32_t QPOSILAT; /*!< QPOSILAT : type used for word access */
__I _QEP_QPOSILAT_bits QPOSILAT_bit; /*!< QPOSILAT_bit: structure used for bit access */
};
union { /*!< Strobe Position Latch register */
__I uint32_t QPOSSLAT; /*!< QPOSSLAT : type used for word access */
__I _QEP_QPOSSLAT_bits QPOSSLAT_bit; /*!< QPOSSLAT_bit: structure used for bit access */
};
union { /*!< Position Counter Latch register */
__I uint32_t QPOSLAT; /*!< QPOSLAT : type used for word access */
__I _QEP_QPOSLAT_bits QPOSLAT_bit; /*!< QPOSLAT_bit: structure used for bit access */
};
union { /*!< Unit Timer register */
__IO uint32_t QUTMR; /*!< QUTMR : type used for word access */
__IO _QEP_QUTMR_bits QUTMR_bit; /*!< QUTMR_bit: structure used for bit access */
};
union { /*!< Unit Period register */
__IO uint32_t QUPRD; /*!< QUPRD : type used for word access */
__IO _QEP_QUPRD_bits QUPRD_bit; /*!< QUPRD_bit: structure used for bit access */
};
union { /*!< Watchdog Timer register */
__IO uint32_t QWDTMR; /*!< QWDTMR : type used for word access */
__IO _QEP_QWDTMR_bits QWDTMR_bit; /*!< QWDTMR_bit: structure used for bit access */
};
union { /*!< Watchdog Period register */
__IO uint32_t QWDPRD; /*!< QWDPRD : type used for word access */
__IO _QEP_QWDPRD_bits QWDPRD_bit; /*!< QWDPRD_bit: structure used for bit access */
};
union { /*!< Decoder Control register */
__IO uint32_t QDECCTL; /*!< QDECCTL : type used for word access */
__IO _QEP_QDECCTL_bits QDECCTL_bit; /*!< QDECCTL_bit: structure used for bit access */
};
union { /*!< Control register */
__IO uint32_t QEPCTL; /*!< QEPCTL : type used for word access */
__IO _QEP_QEPCTL_bits QEPCTL_bit; /*!< QEPCTL_bit: structure used for bit access */
};
union { /*!< Capture Control register */
__IO uint32_t QCAPCTL; /*!< QCAPCTL : type used for word access */
__IO _QEP_QCAPCTL_bits QCAPCTL_bit; /*!< QCAPCTL_bit: structure used for bit access */
};
union { /*!< Position-compare Control register */
__IO uint32_t QPOSCTL; /*!< QPOSCTL : type used for word access */
__IO _QEP_QPOSCTL_bits QPOSCTL_bit; /*!< QPOSCTL_bit: structure used for bit access */
};
union { /*!< Interrupt Enable register */
__IO uint32_t QEINT; /*!< QEINT : type used for word access */
__IO _QEP_QEINT_bits QEINT_bit; /*!< QEINT_bit: structure used for bit access */
};
union { /*!< Interrupt Flag register */
__I uint32_t QFLG; /*!< QFLG : type used for word access */
__I _QEP_QFLG_bits QFLG_bit; /*!< QFLG_bit: structure used for bit access */
};
union { /*!< Interrupt Clear register */
__IO uint32_t QCLR; /*!< QCLR : type used for word access */
__IO _QEP_QCLR_bits QCLR_bit; /*!< QCLR_bit: structure used for bit access */
};
union { /*!< Interrupt Force register */
__IO uint32_t QFRC; /*!< QFRC : type used for word access */
__IO _QEP_QFRC_bits QFRC_bit; /*!< QFRC_bit: structure used for bit access */
};
union { /*!< Status register */
__IO uint32_t QEPSTS; /*!< QEPSTS : type used for word access */
__IO _QEP_QEPSTS_bits QEPSTS_bit; /*!< QEPSTS_bit: structure used for bit access */
};
union { /*!< Capture Timer register */
__IO uint32_t QCTMR; /*!< QCTMR : type used for word access */
__IO _QEP_QCTMR_bits QCTMR_bit; /*!< QCTMR_bit: structure used for bit access */
};
union { /*!< Capture Period register */
__IO uint32_t QCPRD; /*!< QCPRD : type used for word access */
__IO _QEP_QCPRD_bits QCPRD_bit; /*!< QCPRD_bit: structure used for bit access */
};
union { /*!< Capture Timer Latch register */
__I uint32_t QCTMRLAT; /*!< QCTMRLAT : type used for word access */
__I _QEP_QCTMRLAT_bits QCTMRLAT_bit; /*!< QCTMRLAT_bit: structure used for bit access */
};
union { /*!< Capture Period Latch register */
__I uint32_t QCPRDLAT; /*!< QCPRDLAT : type used for word access */
__I _QEP_QCPRDLAT_bits QCPRDLAT_bit; /*!< QCPRDLAT_bit: structure used for bit access */
};
union { /*!< DMA request register */
__IO uint32_t DMAREQ; /*!< DMAREQ : type used for word access */
__IO _QEP_DMAREQ_bits DMAREQ_bit; /*!< DMAREQ_bit: structure used for bit access */
};
__IO uint32_t Reserved0[3];
union { /*!< Clear active interrupt register */
__IO uint32_t INTCLR; /*!< INTCLR : type used for word access */
__IO _QEP_INTCLR_bits INTCLR_bit; /*!< INTCLR_bit: structure used for bit access */
};
} QEP_TypeDef;
/******************************************************************************/
/* ECAP registers */
/******************************************************************************/
/*-- TSCTR: Counter register ---------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Counter value */
} _ECAP_TSCTR_bits;
/* Bit field positions: */
#define ECAP_TSCTR_VAL_Pos 0 /*!< Counter value */
/* Bit field masks: */
#define ECAP_TSCTR_VAL_Msk 0xFFFFFFFFUL /*!< Counter value */
/*-- CTRPHS: Counter Phase Sync register ---------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< */
} _ECAP_CTRPHS_bits;
/* Bit field positions: */
#define ECAP_CTRPHS_VAL_Pos 0 /*!< */
/* Bit field masks: */
#define ECAP_CTRPHS_VAL_Msk 0xFFFFFFFFUL /*!< */
/*-- CAP0: Capture register 0 --------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Capture 0 value in CAP mode */
} _ECAP_CAP0_bits;
/* Bit field positions: */
#define ECAP_CAP0_VAL_Pos 0 /*!< Capture 0 value in CAP mode */
/* Bit field masks: */
#define ECAP_CAP0_VAL_Msk 0xFFFFFFFFUL /*!< Capture 0 value in CAP mode */
/*-- PRD: Period register ------------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Period value in APWM mode */
} _ECAP_PRD_bits;
/* Bit field positions: */
#define ECAP_PRD_VAL_Pos 0 /*!< Period value in APWM mode */
/* Bit field masks: */
#define ECAP_PRD_VAL_Msk 0xFFFFFFFFUL /*!< Period value in APWM mode */
/*-- CAP1: Capture register 1 --------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Capture 1 value in CAP mode */
} _ECAP_CAP1_bits;
/* Bit field positions: */
#define ECAP_CAP1_VAL_Pos 0 /*!< Capture 1 value in CAP mode */
/* Bit field masks: */
#define ECAP_CAP1_VAL_Msk 0xFFFFFFFFUL /*!< Capture 1 value in CAP mode */
/*-- CMP: Compare register -----------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Compare value in APWM mode */
} _ECAP_CMP_bits;
/* Bit field positions: */
#define ECAP_CMP_VAL_Pos 0 /*!< Compare value in APWM mode */
/* Bit field masks: */
#define ECAP_CMP_VAL_Msk 0xFFFFFFFFUL /*!< Compare value in APWM mode */
/*-- CAP2: Capture register 2 --------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Capture 2 value in CAP mode */
} _ECAP_CAP2_bits;
/* Bit field positions: */
#define ECAP_CAP2_VAL_Pos 0 /*!< Capture 2 value in CAP mode */
/* Bit field masks: */
#define ECAP_CAP2_VAL_Msk 0xFFFFFFFFUL /*!< Capture 2 value in CAP mode */
/*-- PRDSHDW: Period shadow register -------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Period shadow value in APWM mode */
} _ECAP_PRDSHDW_bits;
/* Bit field positions: */
#define ECAP_PRDSHDW_VAL_Pos 0 /*!< Period shadow value in APWM mode */
/* Bit field masks: */
#define ECAP_PRDSHDW_VAL_Msk 0xFFFFFFFFUL /*!< Period shadow value in APWM mode */
/*-- CAP3: Capture register 3 --------------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Capture 3 value in CAP mode */
} _ECAP_CAP3_bits;
/* Bit field positions: */
#define ECAP_CAP3_VAL_Pos 0 /*!< Capture 3 value in CAP mode */
/* Bit field masks: */
#define ECAP_CAP3_VAL_Msk 0xFFFFFFFFUL /*!< Capture 3 value in CAP mode */
/*-- CMPSHDW: Compare shadow register ------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :32; /*!< Compare shadow value in APWM mode */
} _ECAP_CMPSHDW_bits;
/* Bit field positions: */
#define ECAP_CMPSHDW_VAL_Pos 0 /*!< Compare shadow value in APWM mode */
/* Bit field masks: */
#define ECAP_CMPSHDW_VAL_Msk 0xFFFFFFFFUL /*!< Compare shadow value in APWM mode */
/*-- ECCTL0: Capture control register 0 ---------------------------------------------------------------------*/
typedef struct {
uint32_t CAP0POL :1; /*!< Polarity select for capture 0 */
uint32_t CTRRST0 :1; /*!< Reset counter after event 0 */
uint32_t CAP1POL :1; /*!< Polarity select for capture 1 */
uint32_t CTRRST1 :1; /*!< Reset counter after event 1 */
uint32_t CAP2POL :1; /*!< Polarity select for capture 2 */
uint32_t CTRRST2 :1; /*!< Reset counter after event 2 */
uint32_t CAP3POL :1; /*!< Polarity select for capture 3 */
uint32_t CTRRST3 :1; /*!< Reset counter after event 3 */
uint32_t CAPLDEN :1; /*!< enable capture */
uint32_t PRESCALE :5; /*!< Prescaler value */
uint32_t FREESOFT :2; /*!< Emulation mode control */
} _ECAP_ECCTL0_bits;
/* Bit field positions: */
#define ECAP_ECCTL0_CAP0POL_Pos 0 /*!< Polarity select for capture 0 */
#define ECAP_ECCTL0_CTRRST0_Pos 1 /*!< Reset counter after event 0 */
#define ECAP_ECCTL0_CAP1POL_Pos 2 /*!< Polarity select for capture 1 */
#define ECAP_ECCTL0_CTRRST1_Pos 3 /*!< Reset counter after event 1 */
#define ECAP_ECCTL0_CAP2POL_Pos 4 /*!< Polarity select for capture 2 */
#define ECAP_ECCTL0_CTRRST2_Pos 5 /*!< Reset counter after event 2 */
#define ECAP_ECCTL0_CAP3POL_Pos 6 /*!< Polarity select for capture 3 */
#define ECAP_ECCTL0_CTRRST3_Pos 7 /*!< Reset counter after event 3 */
#define ECAP_ECCTL0_CAPLDEN_Pos 8 /*!< enable capture */
#define ECAP_ECCTL0_PRESCALE_Pos 9 /*!< Prescaler value */
#define ECAP_ECCTL0_FREESOFT_Pos 14 /*!< Emulation mode control */
/* Bit field masks: */
#define ECAP_ECCTL0_CAP0POL_Msk 0x00000001UL /*!< Polarity select for capture 0 */
#define ECAP_ECCTL0_CTRRST0_Msk 0x00000002UL /*!< Reset counter after event 0 */
#define ECAP_ECCTL0_CAP1POL_Msk 0x00000004UL /*!< Polarity select for capture 1 */
#define ECAP_ECCTL0_CTRRST1_Msk 0x00000008UL /*!< Reset counter after event 1 */
#define ECAP_ECCTL0_CAP2POL_Msk 0x00000010UL /*!< Polarity select for capture 2 */
#define ECAP_ECCTL0_CTRRST2_Msk 0x00000020UL /*!< Reset counter after event 2 */
#define ECAP_ECCTL0_CAP3POL_Msk 0x00000040UL /*!< Polarity select for capture 3 */
#define ECAP_ECCTL0_CTRRST3_Msk 0x00000080UL /*!< Reset counter after event 3 */
#define ECAP_ECCTL0_CAPLDEN_Msk 0x00000100UL /*!< enable capture */
#define ECAP_ECCTL0_PRESCALE_Msk 0x00003E00UL /*!< Prescaler value */
#define ECAP_ECCTL0_FREESOFT_Msk 0x0000C000UL /*!< Emulation mode control */
/* Bit field enums: */
typedef enum {
ECAP_ECCTL0_FREESOFT_Stop = 0x0UL, /*!< stop timer immedeatelly */
ECAP_ECCTL0_FREESOFT_StopAtZero = 0x1UL, /*!< stop timer when reach zero */
ECAP_ECCTL0_FREESOFT_Free = 0x2UL, /*!< normal work */
} ECAP_ECCTL0_FREESOFT_Enum;
/*-- ECCTL1: Capture control register 1 ----------------------------------------------------------------------*/
typedef struct {
uint32_t CONTOST :1; /*!< Capture mode */
uint32_t STOPWRAP :2; /*!< Stop compare value */
uint32_t REARM :1; /*!< Reset and enable controller, capture reg load */
uint32_t TSCTRSTOP :1; /*!< Enable Timer */
uint32_t SYNCIEN :1; /*!< Sync in enable */
uint32_t SYNCOSEL :2; /*!< SYNCO source selection */
uint32_t SWSYNC :1; /*!< Software timers sync */
uint32_t CAPAPWM :1; /*!< Capture mode or APWM mode */
uint32_t APWMPOL :1; /*!< High/low level APWM */
} _ECAP_ECCTL1_bits;
/* Bit field positions: */
#define ECAP_ECCTL1_CONTOST_Pos 0 /*!< Capture mode */
#define ECAP_ECCTL1_STOPWRAP_Pos 1 /*!< Stop compare value */
#define ECAP_ECCTL1_REARM_Pos 3 /*!< Reset and enable controller, capture reg load */
#define ECAP_ECCTL1_TSCTRSTOP_Pos 4 /*!< Enable Timer */
#define ECAP_ECCTL1_SYNCIEN_Pos 5 /*!< Sync in enable */
#define ECAP_ECCTL1_SYNCOSEL_Pos 6 /*!< SYNCO source selection */
#define ECAP_ECCTL1_SWSYNC_Pos 8 /*!< Software timers sync */
#define ECAP_ECCTL1_CAPAPWM_Pos 9 /*!< Capture mode or APWM mode */
#define ECAP_ECCTL1_APWMPOL_Pos 10 /*!< High/low level APWM */
/* Bit field masks: */
#define ECAP_ECCTL1_CONTOST_Msk 0x00000001UL /*!< Capture mode */
#define ECAP_ECCTL1_STOPWRAP_Msk 0x00000006UL /*!< Stop compare value */
#define ECAP_ECCTL1_REARM_Msk 0x00000008UL /*!< Reset and enable controller, capture reg load */
#define ECAP_ECCTL1_TSCTRSTOP_Msk 0x00000010UL /*!< Enable Timer */
#define ECAP_ECCTL1_SYNCIEN_Msk 0x00000020UL /*!< Sync in enable */
#define ECAP_ECCTL1_SYNCOSEL_Msk 0x000000C0UL /*!< SYNCO source selection */
#define ECAP_ECCTL1_SWSYNC_Msk 0x00000100UL /*!< Software timers sync */
#define ECAP_ECCTL1_CAPAPWM_Msk 0x00000200UL /*!< Capture mode or APWM mode */
#define ECAP_ECCTL1_APWMPOL_Msk 0x00000400UL /*!< High/low level APWM */
/* Bit field enums: */
typedef enum {
ECAP_ECCTL1_SYNCOSEL_Bypass = 0x0UL, /*!< sync in connected with sync out */
ECAP_ECCTL1_SYNCOSEL_CTREqPrd = 0x1UL, /*!< sync out generated when CTR = PRD */
ECAP_ECCTL1_SYNCOSEL_Disable = 0x2UL, /*!< sync out generate disabled */
} ECAP_ECCTL1_SYNCOSEL_Enum;
/*-- ECEINT: Interrupt mask register -------------------------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t CEVT0 :1; /*!< enable int CEVT0 */
uint32_t CEVT1 :1; /*!< enable int CEVT1 */
uint32_t CEVT2 :1; /*!< enable int CEVT2 */
uint32_t CEVT3 :1; /*!< enable int CEVT3 */
uint32_t CTROVF :1; /*!< enable int CTR_OVF */
uint32_t CTRPRD :1; /*!< enable int CTR=PRD */
uint32_t CTRCMP :1; /*!< enable int CTR=CMP */
} _ECAP_ECEINT_bits;
/* Bit field positions: */
#define ECAP_ECEINT_CEVT0_Pos 1 /*!< enable int CEVT0 */
#define ECAP_ECEINT_CEVT1_Pos 2 /*!< enable int CEVT1 */
#define ECAP_ECEINT_CEVT2_Pos 3 /*!< enable int CEVT2 */
#define ECAP_ECEINT_CEVT3_Pos 4 /*!< enable int CEVT3 */
#define ECAP_ECEINT_CTROVF_Pos 5 /*!< enable int CTR_OVF */
#define ECAP_ECEINT_CTRPRD_Pos 6 /*!< enable int CTR=PRD */
#define ECAP_ECEINT_CTRCMP_Pos 7 /*!< enable int CTR=CMP */
/* Bit field masks: */
#define ECAP_ECEINT_CEVT0_Msk 0x00000002UL /*!< enable int CEVT0 */
#define ECAP_ECEINT_CEVT1_Msk 0x00000004UL /*!< enable int CEVT1 */
#define ECAP_ECEINT_CEVT2_Msk 0x00000008UL /*!< enable int CEVT2 */
#define ECAP_ECEINT_CEVT3_Msk 0x00000010UL /*!< enable int CEVT3 */
#define ECAP_ECEINT_CTROVF_Msk 0x00000020UL /*!< enable int CTR_OVF */
#define ECAP_ECEINT_CTRPRD_Msk 0x00000040UL /*!< enable int CTR=PRD */
#define ECAP_ECEINT_CTRCMP_Msk 0x00000080UL /*!< enable int CTR=CMP */
/*-- ECFLG: Interrupt status register ------------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< indicate global interrupt */
uint32_t CEVT0 :1; /*!< Hap interrupt CEVT0 */
uint32_t CEVT1 :1; /*!< Hap interrupt CEVT1 */
uint32_t CEVT2 :1; /*!< Hap interrupt CEVT2 */
uint32_t CEVT3 :1; /*!< Hap interrupt CEVT3 */
uint32_t CTROVF :1; /*!< Hap interrupt CTROVF */
uint32_t CTRPRD :1; /*!< Hap interrupt CTR=PRD */
uint32_t CTRCMP :1; /*!< Hap interrupt CTR=CMP */
} _ECAP_ECFLG_bits;
/* Bit field positions: */
#define ECAP_ECFLG_INT_Pos 0 /*!< indicate global interrupt */
#define ECAP_ECFLG_CEVT0_Pos 1 /*!< Hap interrupt CEVT0 */
#define ECAP_ECFLG_CEVT1_Pos 2 /*!< Hap interrupt CEVT1 */
#define ECAP_ECFLG_CEVT2_Pos 3 /*!< Hap interrupt CEVT2 */
#define ECAP_ECFLG_CEVT3_Pos 4 /*!< Hap interrupt CEVT3 */
#define ECAP_ECFLG_CTROVF_Pos 5 /*!< Hap interrupt CTROVF */
#define ECAP_ECFLG_CTRPRD_Pos 6 /*!< Hap interrupt CTR=PRD */
#define ECAP_ECFLG_CTRCMP_Pos 7 /*!< Hap interrupt CTR=CMP */
/* Bit field masks: */
#define ECAP_ECFLG_INT_Msk 0x00000001UL /*!< indicate global interrupt */
#define ECAP_ECFLG_CEVT0_Msk 0x00000002UL /*!< Hap interrupt CEVT0 */
#define ECAP_ECFLG_CEVT1_Msk 0x00000004UL /*!< Hap interrupt CEVT1 */
#define ECAP_ECFLG_CEVT2_Msk 0x00000008UL /*!< Hap interrupt CEVT2 */
#define ECAP_ECFLG_CEVT3_Msk 0x00000010UL /*!< Hap interrupt CEVT3 */
#define ECAP_ECFLG_CTROVF_Msk 0x00000020UL /*!< Hap interrupt CTROVF */
#define ECAP_ECFLG_CTRPRD_Msk 0x00000040UL /*!< Hap interrupt CTR=PRD */
#define ECAP_ECFLG_CTRCMP_Msk 0x00000080UL /*!< Hap interrupt CTR=CMP */
/*-- ECCLR: Clear interrupt register -------------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< reset global interrupt */
uint32_t CEVT0 :1; /*!< reset intstatus */
uint32_t CEVT1 :1; /*!< reset intstatus */
uint32_t CEVT2 :1; /*!< reset intstatus */
uint32_t CEVT3 :1; /*!< reset intstatus */
uint32_t CTROVF :1; /*!< reset intstatus */
uint32_t CTRPRD :1; /*!< reset intstatus */
uint32_t CTRCMP :1; /*!< reset intstatus */
} _ECAP_ECCLR_bits;
/* Bit field positions: */
#define ECAP_ECCLR_INT_Pos 0 /*!< reset global interrupt */
#define ECAP_ECCLR_CEVT0_Pos 1 /*!< reset intstatus */
#define ECAP_ECCLR_CEVT1_Pos 2 /*!< reset intstatus */
#define ECAP_ECCLR_CEVT2_Pos 3 /*!< reset intstatus */
#define ECAP_ECCLR_CEVT3_Pos 4 /*!< reset intstatus */
#define ECAP_ECCLR_CTROVF_Pos 5 /*!< reset intstatus */
#define ECAP_ECCLR_CTRPRD_Pos 6 /*!< reset intstatus */
#define ECAP_ECCLR_CTRCMP_Pos 7 /*!< reset intstatus */
/* Bit field masks: */
#define ECAP_ECCLR_INT_Msk 0x00000001UL /*!< reset global interrupt */
#define ECAP_ECCLR_CEVT0_Msk 0x00000002UL /*!< reset intstatus */
#define ECAP_ECCLR_CEVT1_Msk 0x00000004UL /*!< reset intstatus */
#define ECAP_ECCLR_CEVT2_Msk 0x00000008UL /*!< reset intstatus */
#define ECAP_ECCLR_CEVT3_Msk 0x00000010UL /*!< reset intstatus */
#define ECAP_ECCLR_CTROVF_Msk 0x00000020UL /*!< reset intstatus */
#define ECAP_ECCLR_CTRPRD_Msk 0x00000040UL /*!< reset intstatus */
#define ECAP_ECCLR_CTRCMP_Msk 0x00000080UL /*!< reset intstatus */
/*-- ECFRC: Force interrupt register -------------------------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t CEVT0 :1; /*!< gen test interrupt */
uint32_t CEVT1 :1; /*!< gen test interrupt */
uint32_t CEVT2 :1; /*!< gen test interrupt */
uint32_t CEVT3 :1; /*!< gen test interrupt */
uint32_t CTROVF :1; /*!< gen test interrupt */
uint32_t CTRPRD :1; /*!< gen test interrupt */
uint32_t CTRCMP :1; /*!< gen test interrupt */
} _ECAP_ECFRC_bits;
/* Bit field positions: */
#define ECAP_ECFRC_CEVT0_Pos 1 /*!< gen test interrupt */
#define ECAP_ECFRC_CEVT1_Pos 2 /*!< gen test interrupt */
#define ECAP_ECFRC_CEVT2_Pos 3 /*!< gen test interrupt */
#define ECAP_ECFRC_CEVT3_Pos 4 /*!< gen test interrupt */
#define ECAP_ECFRC_CTROVF_Pos 5 /*!< gen test interrupt */
#define ECAP_ECFRC_CTRPRD_Pos 6 /*!< gen test interrupt */
#define ECAP_ECFRC_CTRCMP_Pos 7 /*!< gen test interrupt */
/* Bit field masks: */
#define ECAP_ECFRC_CEVT0_Msk 0x00000002UL /*!< gen test interrupt */
#define ECAP_ECFRC_CEVT1_Msk 0x00000004UL /*!< gen test interrupt */
#define ECAP_ECFRC_CEVT2_Msk 0x00000008UL /*!< gen test interrupt */
#define ECAP_ECFRC_CEVT3_Msk 0x00000010UL /*!< gen test interrupt */
#define ECAP_ECFRC_CTROVF_Msk 0x00000020UL /*!< gen test interrupt */
#define ECAP_ECFRC_CTRPRD_Msk 0x00000040UL /*!< gen test interrupt */
#define ECAP_ECFRC_CTRCMP_Msk 0x00000080UL /*!< gen test interrupt */
/*-- PEINT: Active interrupt status register -----------------------------------------------------------------*/
typedef struct {
uint32_t PEINT :1; /*!< active interrupt flag */
} _ECAP_PEINT_bits;
/* Bit field positions: */
#define ECAP_PEINT_PEINT_Pos 0 /*!< active interrupt flag */
/* Bit field masks: */
#define ECAP_PEINT_PEINT_Msk 0x00000001UL /*!< active interrupt flag */
typedef struct {
union { /*!< Counter register */
__IO uint32_t TSCTR; /*!< TSCTR : type used for word access */
__IO _ECAP_TSCTR_bits TSCTR_bit; /*!< TSCTR_bit: structure used for bit access */
};
union { /*!< Counter Phase Sync register */
__IO uint32_t CTRPHS; /*!< CTRPHS : type used for word access */
__IO _ECAP_CTRPHS_bits CTRPHS_bit; /*!< CTRPHS_bit: structure used for bit access */
};
union {
union { /*!< Capture register 0 */
__IO uint32_t CAP0; /*!< CAP0 : type used for word access */
__IO _ECAP_CAP0_bits CAP0_bit; /*!< CAP0_bit: structure used for bit access */
};
struct {
union { /*!< Period register */
__IO uint32_t PRD; /*!< PRD : type used for word access */
__IO _ECAP_PRD_bits PRD_bit; /*!< PRD_bit: structure used for bit access */
};
};
};
union {
union { /*!< Capture register 1 */
__IO uint32_t CAP1; /*!< CAP1 : type used for word access */
__IO _ECAP_CAP1_bits CAP1_bit; /*!< CAP1_bit: structure used for bit access */
};
struct {
union { /*!< Compare register */
__IO uint32_t CMP; /*!< CMP : type used for word access */
__IO _ECAP_CMP_bits CMP_bit; /*!< CMP_bit: structure used for bit access */
};
};
};
union {
union { /*!< Capture register 2 */
__IO uint32_t CAP2; /*!< CAP2 : type used for word access */
__IO _ECAP_CAP2_bits CAP2_bit; /*!< CAP2_bit: structure used for bit access */
};
struct {
union { /*!< Period shadow register */
__IO uint32_t PRDSHDW; /*!< PRDSHDW : type used for word access */
__IO _ECAP_PRDSHDW_bits PRDSHDW_bit; /*!< PRDSHDW_bit: structure used for bit access */
};
};
};
union {
union { /*!< Capture register 3 */
__IO uint32_t CAP3; /*!< CAP3 : type used for word access */
__IO _ECAP_CAP3_bits CAP3_bit; /*!< CAP3_bit: structure used for bit access */
};
struct {
union { /*!< Compare shadow register */
__IO uint32_t CMPSHDW; /*!< CMPSHDW : type used for word access */
__IO _ECAP_CMPSHDW_bits CMPSHDW_bit; /*!< CMPSHDW_bit: structure used for bit access */
};
};
};
__IO uint32_t Reserved0[4];
union { /*!< Capture control register 0 */
__IO uint32_t ECCTL0; /*!< ECCTL0 : type used for word access */
__IO _ECAP_ECCTL0_bits ECCTL0_bit; /*!< ECCTL0_bit: structure used for bit access */
};
union { /*!< Capture control register 1 */
__IO uint32_t ECCTL1; /*!< ECCTL1 : type used for word access */
__IO _ECAP_ECCTL1_bits ECCTL1_bit; /*!< ECCTL1_bit: structure used for bit access */
};
union { /*!< Interrupt mask register */
__IO uint32_t ECEINT; /*!< ECEINT : type used for word access */
__IO _ECAP_ECEINT_bits ECEINT_bit; /*!< ECEINT_bit: structure used for bit access */
};
union { /*!< Interrupt status register */
__I uint32_t ECFLG; /*!< ECFLG : type used for word access */
__I _ECAP_ECFLG_bits ECFLG_bit; /*!< ECFLG_bit: structure used for bit access */
};
union { /*!< Clear interrupt register */
__IO uint32_t ECCLR; /*!< ECCLR : type used for word access */
__IO _ECAP_ECCLR_bits ECCLR_bit; /*!< ECCLR_bit: structure used for bit access */
};
union { /*!< Force interrupt register */
__IO uint32_t ECFRC; /*!< ECFRC : type used for word access */
__IO _ECAP_ECFRC_bits ECFRC_bit; /*!< ECFRC_bit: structure used for bit access */
};
union { /*!< Active interrupt status register */
__IO uint32_t PEINT; /*!< PEINT : type used for word access */
__IO _ECAP_PEINT_bits PEINT_bit; /*!< PEINT_bit: structure used for bit access */
};
} ECAP_TypeDef;
/******************************************************************************/
/* PWM registers */
/******************************************************************************/
/*-- TBCTL: Time-Base Control Register -----------------------------------------------------------------------*/
typedef struct {
uint32_t CTRMODE :2; /*!< Counter mode */
uint32_t PHSEN :1; /*!< Counter register load from phase register enable */
uint32_t PRDLD :1; /*!< Active period register load from shadow register select */
uint32_t SYNCOSEL :2; /*!< Synchronization Output Select. These bits select the source of the PWM_SYNCO signal. */
uint32_t SWFSYNC :1; /*!< Software forced synchronization pulse */
uint32_t HSPCLKDIV :3; /*!< High speed time-base clock prescale bits */
uint32_t CLKDIV :3; /*!< Time-base clock prescale bits */
uint32_t PHSDIR :1; /*!< Phase direction bit */
uint32_t FREESOFT :2; /*!< Emulation mode bits - select the behavior of the time-base counter during emulation events */
uint32_t SHDWGLOB :1; /*!< Global enable for all shadow loads */
} _PWM_TBCTL_bits;
/* Bit field positions: */
#define PWM_TBCTL_CTRMODE_Pos 0 /*!< Counter mode */
#define PWM_TBCTL_PHSEN_Pos 2 /*!< Counter register load from phase register enable */
#define PWM_TBCTL_PRDLD_Pos 3 /*!< Active period register load from shadow register select */
#define PWM_TBCTL_SYNCOSEL_Pos 4 /*!< Synchronization Output Select. These bits select the source of the PWM_SYNCO signal. */
#define PWM_TBCTL_SWFSYNC_Pos 6 /*!< Software forced synchronization pulse */
#define PWM_TBCTL_HSPCLKDIV_Pos 7 /*!< High speed time-base clock prescale bits */
#define PWM_TBCTL_CLKDIV_Pos 10 /*!< Time-base clock prescale bits */
#define PWM_TBCTL_PHSDIR_Pos 13 /*!< Phase direction bit */
#define PWM_TBCTL_FREESOFT_Pos 14 /*!< Emulation mode bits - select the behavior of the time-base counter during emulation events */
#define PWM_TBCTL_SHDWGLOB_Pos 16 /*!< Global enable for all shadow loads */
/* Bit field masks: */
#define PWM_TBCTL_CTRMODE_Msk 0x00000003UL /*!< Counter mode */
#define PWM_TBCTL_PHSEN_Msk 0x00000004UL /*!< Counter register load from phase register enable */
#define PWM_TBCTL_PRDLD_Msk 0x00000008UL /*!< Active period register load from shadow register select */
#define PWM_TBCTL_SYNCOSEL_Msk 0x00000030UL /*!< Synchronization Output Select. These bits select the source of the PWM_SYNCO signal. */
#define PWM_TBCTL_SWFSYNC_Msk 0x00000040UL /*!< Software forced synchronization pulse */
#define PWM_TBCTL_HSPCLKDIV_Msk 0x00000380UL /*!< High speed time-base clock prescale bits */
#define PWM_TBCTL_CLKDIV_Msk 0x00001C00UL /*!< Time-base clock prescale bits */
#define PWM_TBCTL_PHSDIR_Msk 0x00002000UL /*!< Phase direction bit */
#define PWM_TBCTL_FREESOFT_Msk 0x0000C000UL /*!< Emulation mode bits - select the behavior of the time-base counter during emulation events */
#define PWM_TBCTL_SHDWGLOB_Msk 0x00010000UL /*!< Global enable for all shadow loads */
/* Bit field enums: */
typedef enum {
PWM_TBCTL_CTRMODE_Up = 0x0UL, /*!< count direction up */
PWM_TBCTL_CTRMODE_Down = 0x1UL, /*!< count direction down */
PWM_TBCTL_CTRMODE_UpDown = 0x2UL, /*!< count direction up-down */
PWM_TBCTL_CTRMODE_Stop = 0x3UL, /*!< counter stopped */
} PWM_TBCTL_CTRMODE_Enum;
typedef enum {
PWM_TBCTL_SYNCOSEL_SYNCI = 0x0UL, /*!< PWM_SYNCI is source for PWM_SYNCO */
PWM_TBCTL_SYNCOSEL_CTREqZero = 0x1UL, /*!< CTR = 0000h is source for PWM_SYNCO */
PWM_TBCTL_SYNCOSEL_CTREqCMPB = 0x2UL, /*!< CTR = CMPB is source for PWM_SYNCO */
PWM_TBCTL_SYNCOSEL_Disable = 0x3UL, /*!< PWM_SYNCO generation disabled */
} PWM_TBCTL_SYNCOSEL_Enum;
typedef enum {
PWM_TBCTL_HSPCLKDIV_Div1 = 0x0UL, /*!< clock not divided */
PWM_TBCTL_HSPCLKDIV_Div2 = 0x1UL, /*!< clock divided by 2 */
PWM_TBCTL_HSPCLKDIV_Div4 = 0x2UL, /*!< clock divided by 4 */
PWM_TBCTL_HSPCLKDIV_Div6 = 0x3UL, /*!< clock divided by 6 */
PWM_TBCTL_HSPCLKDIV_Div8 = 0x4UL, /*!< clock divided by 8 */
PWM_TBCTL_HSPCLKDIV_Div10 = 0x5UL, /*!< clock divided by 10 */
PWM_TBCTL_HSPCLKDIV_Div12 = 0x6UL, /*!< clock divided by 12 */
PWM_TBCTL_HSPCLKDIV_Div14 = 0x7UL, /*!< clock divided by 14 */
} PWM_TBCTL_HSPCLKDIV_Enum;
typedef enum {
PWM_TBCTL_CLKDIV_Div1 = 0x0UL, /*!< clock not divided */
PWM_TBCTL_CLKDIV_Div2 = 0x1UL, /*!< clock divided by 2 */
PWM_TBCTL_CLKDIV_Div4 = 0x2UL, /*!< clock divided by 4 */
PWM_TBCTL_CLKDIV_Div8 = 0x3UL, /*!< clock divided by 8 */
PWM_TBCTL_CLKDIV_Div16 = 0x4UL, /*!< clock divided by 16 */
PWM_TBCTL_CLKDIV_Div32 = 0x5UL, /*!< clock divided by 32 */
PWM_TBCTL_CLKDIV_Div64 = 0x6UL, /*!< clock divided by 64 */
PWM_TBCTL_CLKDIV_Div128 = 0x7UL, /*!< clock divided by 128 */
} PWM_TBCTL_CLKDIV_Enum;
typedef enum {
PWM_TBCTL_FREESOFT_StopAtTBCLK = 0x0UL, /*!< stop timer at next TBCLK tact */
PWM_TBCTL_FREESOFT_StopAtPeriod = 0x1UL, /*!< stop timer when period ends */
PWM_TBCTL_FREESOFT_FreeRun = 0x2UL, /*!< free run mode */
} PWM_TBCTL_FREESOFT_Enum;
/*-- TBSTS: Time-Base Status Register ------------------------------------------------------------------------*/
typedef struct {
uint32_t CTRDIR :1; /*!< Time-Base counter direction status bit */
uint32_t SYNCI :1; /*!< Input synchronization latched status bit */
uint32_t CTRMAX :1; /*!< Time-Base counter max latched status bit */
} _PWM_TBSTS_bits;
/* Bit field positions: */
#define PWM_TBSTS_CTRDIR_Pos 0 /*!< Time-Base counter direction status bit */
#define PWM_TBSTS_SYNCI_Pos 1 /*!< Input synchronization latched status bit */
#define PWM_TBSTS_CTRMAX_Pos 2 /*!< Time-Base counter max latched status bit */
/* Bit field masks: */
#define PWM_TBSTS_CTRDIR_Msk 0x00000001UL /*!< Time-Base counter direction status bit */
#define PWM_TBSTS_SYNCI_Msk 0x00000002UL /*!< Input synchronization latched status bit */
#define PWM_TBSTS_CTRMAX_Msk 0x00000004UL /*!< Time-Base counter max latched status bit */
/*-- TBPHS: Time-Base Phase Register -------------------------------------------------------------------------*/
typedef struct {
uint32_t :16; /*!< RESERVED */
uint32_t TBPHS :16; /*!< Time-base counter phase */
} _PWM_TBPHS_bits;
/* Bit field positions: */
#define PWM_TBPHS_TBPHS_Pos 16 /*!< Time-base counter phase */
/* Bit field masks: */
#define PWM_TBPHS_TBPHS_Msk 0xFFFF0000UL /*!< Time-base counter phase */
/*-- TBCTR: Time-Base Counter Register -----------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :16; /*!< Current time-base counter value */
} _PWM_TBCTR_bits;
/* Bit field positions: */
#define PWM_TBCTR_VAL_Pos 0 /*!< Current time-base counter value */
/* Bit field masks: */
#define PWM_TBCTR_VAL_Msk 0x0000FFFFUL /*!< Current time-base counter value */
/*-- TBPRD: Time-Base Period Register ------------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :16; /*!< Period of the time-base counter */
} _PWM_TBPRD_bits;
/* Bit field positions: */
#define PWM_TBPRD_VAL_Pos 0 /*!< Period of the time-base counter */
/* Bit field masks: */
#define PWM_TBPRD_VAL_Msk 0x0000FFFFUL /*!< Period of the time-base counter */
/*-- CMPCTL: Counter-Compare Control Register ----------------------------------------------------------------*/
typedef struct {
uint32_t LOADAMODE :2; /*!< Active CMPA load from shadow select mode */
uint32_t LOADBMODE :2; /*!< Active CMPB load from shadow select mode */
uint32_t SHDWAMODE :1; /*!< CMPA register operating mode */
uint32_t :1; /*!< RESERVED */
uint32_t SHDWBMODE :1; /*!< CMPB register operating mode */
uint32_t :1; /*!< RESERVED */
uint32_t SHDWAFULL :1; /*!< CMPA shadow register full status flag */
uint32_t SHDWBFULL :1; /*!< CMPB shadow register full status flag */
} _PWM_CMPCTL_bits;
/* Bit field positions: */
#define PWM_CMPCTL_LOADAMODE_Pos 0 /*!< Active CMPA load from shadow select mode */
#define PWM_CMPCTL_LOADBMODE_Pos 2 /*!< Active CMPB load from shadow select mode */
#define PWM_CMPCTL_SHDWAMODE_Pos 4 /*!< CMPA register operating mode */
#define PWM_CMPCTL_SHDWBMODE_Pos 6 /*!< CMPB register operating mode */
#define PWM_CMPCTL_SHDWAFULL_Pos 8 /*!< CMPA shadow register full status flag */
#define PWM_CMPCTL_SHDWBFULL_Pos 9 /*!< CMPB shadow register full status flag */
/* Bit field masks: */
#define PWM_CMPCTL_LOADAMODE_Msk 0x00000003UL /*!< Active CMPA load from shadow select mode */
#define PWM_CMPCTL_LOADBMODE_Msk 0x0000000CUL /*!< Active CMPB load from shadow select mode */
#define PWM_CMPCTL_SHDWAMODE_Msk 0x00000010UL /*!< CMPA register operating mode */
#define PWM_CMPCTL_SHDWBMODE_Msk 0x00000040UL /*!< CMPB register operating mode */
#define PWM_CMPCTL_SHDWAFULL_Msk 0x00000100UL /*!< CMPA shadow register full status flag */
#define PWM_CMPCTL_SHDWBFULL_Msk 0x00000200UL /*!< CMPB shadow register full status flag */
/* Bit field enums: */
typedef enum {
PWM_CMPCTL_LOADAMODE_CTREqZero = 0x0UL, /*!< shadow load for CMPx (x=A,B) when CTR = 0 */
PWM_CMPCTL_LOADAMODE_CTREqPRD = 0x1UL, /*!< shadow load for CMPx (x=A,B) when CTR = PRD */
PWM_CMPCTL_LOADAMODE_CTREqZeroPRD = 0x2UL, /*!< shadow load for CMPx (x=A,B) when CTR = 0 or CTR = PRD */
PWM_CMPCTL_LOADAMODE_Disable = 0x3UL, /*!< shadow load for CMPx (x=A,B) disabled */
} PWM_CMPCTL_LOADAMODE_Enum;
typedef enum {
PWM_CMPCTL_LOADBMODE_CTREqZero = 0x0UL, /*!< shadow load for CMPx (x=A,B) when CTR = 0 */
PWM_CMPCTL_LOADBMODE_CTREqPRD = 0x1UL, /*!< shadow load for CMPx (x=A,B) when CTR = PRD */
PWM_CMPCTL_LOADBMODE_CTREqZeroPRD = 0x2UL, /*!< shadow load for CMPx (x=A,B) when CTR = 0 or CTR = PRD */
PWM_CMPCTL_LOADBMODE_Disable = 0x3UL, /*!< shadow load for CMPx (x=A,B) disabled */
} PWM_CMPCTL_LOADBMODE_Enum;
/*-- CMPA: Counter-Compare A Register ------------------------------------------------------------------------*/
typedef struct {
uint32_t :8; /*!< RESERVED */
uint32_t CMPAHR :8; /*!< The value compared to the time-base counter (TBCTR) in High-Resolution mode */
uint32_t CMPA :16; /*!< The value compared to the time-base counter (TBCTR) */
} _PWM_CMPA_bits;
/* Bit field positions: */
#define PWM_CMPA_CMPAHR_Pos 8 /*!< The value compared to the time-base counter (TBCTR) in High-Resolution mode */
#define PWM_CMPA_CMPA_Pos 16 /*!< The value compared to the time-base counter (TBCTR) */
/* Bit field masks: */
#define PWM_CMPA_CMPAHR_Msk 0x0000FF00UL /*!< The value compared to the time-base counter (TBCTR) in High-Resolution mode */
#define PWM_CMPA_CMPA_Msk 0xFFFF0000UL /*!< The value compared to the time-base counter (TBCTR) */
/*-- CMPB: Counter-Compare B Register ------------------------------------------------------------------------*/
typedef struct {
uint32_t :16; /*!< RESERVED */
uint32_t CMPB :16; /*!< The value compared to the time-base counter (TBCTR) */
} _PWM_CMPB_bits;
/* Bit field positions: */
#define PWM_CMPB_CMPB_Pos 16 /*!< The value compared to the time-base counter (TBCTR) */
/* Bit field masks: */
#define PWM_CMPB_CMPB_Msk 0xFFFF0000UL /*!< The value compared to the time-base counter (TBCTR) */
/*-- AQCTLA: Action-Qualifier Output A Control Register ------------------------------------------------------*/
typedef struct {
uint32_t ZRO :2; /*!< Action when counter equals zero */
uint32_t PRD :2; /*!< Action when the counter equals the period */
uint32_t CAU :2; /*!< Action when the counter equals the active CMPA register and the counter is incrementing */
uint32_t CAD :2; /*!< Action when the counter equals the active CMPA register and the counter is decrementing */
uint32_t CBU :2; /*!< Action when the counter equals the active CMPB register and the counter is incrementing */
uint32_t CBD :2; /*!< Action when the time-base counter equals the active CMPB register and the counter is decrementing
*/
} _PWM_AQCTLA_bits;
/* Bit field positions: */
#define PWM_AQCTLA_ZRO_Pos 0 /*!< Action when counter equals zero */
#define PWM_AQCTLA_PRD_Pos 2 /*!< Action when the counter equals the period */
#define PWM_AQCTLA_CAU_Pos 4 /*!< Action when the counter equals the active CMPA register and the counter is incrementing */
#define PWM_AQCTLA_CAD_Pos 6 /*!< Action when the counter equals the active CMPA register and the counter is decrementing */
#define PWM_AQCTLA_CBU_Pos 8 /*!< Action when the counter equals the active CMPB register and the counter is incrementing */
#define PWM_AQCTLA_CBD_Pos 10 /*!< Action when the time-base counter equals the active CMPB register and the counter is decrementing
*/
/* Bit field masks: */
#define PWM_AQCTLA_ZRO_Msk 0x00000003UL /*!< Action when counter equals zero */
#define PWM_AQCTLA_PRD_Msk 0x0000000CUL /*!< Action when the counter equals the period */
#define PWM_AQCTLA_CAU_Msk 0x00000030UL /*!< Action when the counter equals the active CMPA register and the counter is incrementing */
#define PWM_AQCTLA_CAD_Msk 0x000000C0UL /*!< Action when the counter equals the active CMPA register and the counter is decrementing */
#define PWM_AQCTLA_CBU_Msk 0x00000300UL /*!< Action when the counter equals the active CMPB register and the counter is incrementing */
#define PWM_AQCTLA_CBD_Msk 0x00000C00UL /*!< Action when the time-base counter equals the active CMPB register and the counter is decrementing
*/
/* Bit field enums: */
typedef enum {
PWM_AQCTLA_ZRO_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLA_ZRO_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLA_ZRO_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLA_ZRO_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLA_ZRO_Enum;
typedef enum {
PWM_AQCTLA_PRD_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLA_PRD_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLA_PRD_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLA_PRD_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLA_PRD_Enum;
typedef enum {
PWM_AQCTLA_CAU_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLA_CAU_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLA_CAU_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLA_CAU_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLA_CAU_Enum;
typedef enum {
PWM_AQCTLA_CAD_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLA_CAD_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLA_CAD_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLA_CAD_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLA_CAD_Enum;
typedef enum {
PWM_AQCTLA_CBU_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLA_CBU_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLA_CBU_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLA_CBU_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLA_CBU_Enum;
typedef enum {
PWM_AQCTLA_CBD_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLA_CBD_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLA_CBD_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLA_CBD_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLA_CBD_Enum;
/*-- AQCTLB: Action-Qualifier Output B Control Register ------------------------------------------------------*/
typedef struct {
uint32_t ZRO :2; /*!< Action when counter equals zero */
uint32_t PRD :2; /*!< Action when the counter equals the period */
uint32_t CAU :2; /*!< Action when the counter equals the active CMPA register and the counter is incrementing */
uint32_t CAD :2; /*!< Action when the counter equals the active CMPA register and the counter is decrementing */
uint32_t CBU :2; /*!< Action when the counter equals the active CMPB register and the counter is incrementing */
uint32_t CBD :2; /*!< Action when the time-base counter equals the active CMPB register and the counter is decrementing
*/
} _PWM_AQCTLB_bits;
/* Bit field positions: */
#define PWM_AQCTLB_ZRO_Pos 0 /*!< Action when counter equals zero */
#define PWM_AQCTLB_PRD_Pos 2 /*!< Action when the counter equals the period */
#define PWM_AQCTLB_CAU_Pos 4 /*!< Action when the counter equals the active CMPA register and the counter is incrementing */
#define PWM_AQCTLB_CAD_Pos 6 /*!< Action when the counter equals the active CMPA register and the counter is decrementing */
#define PWM_AQCTLB_CBU_Pos 8 /*!< Action when the counter equals the active CMPB register and the counter is incrementing */
#define PWM_AQCTLB_CBD_Pos 10 /*!< Action when the time-base counter equals the active CMPB register and the counter is decrementing
*/
/* Bit field masks: */
#define PWM_AQCTLB_ZRO_Msk 0x00000003UL /*!< Action when counter equals zero */
#define PWM_AQCTLB_PRD_Msk 0x0000000CUL /*!< Action when the counter equals the period */
#define PWM_AQCTLB_CAU_Msk 0x00000030UL /*!< Action when the counter equals the active CMPA register and the counter is incrementing */
#define PWM_AQCTLB_CAD_Msk 0x000000C0UL /*!< Action when the counter equals the active CMPA register and the counter is decrementing */
#define PWM_AQCTLB_CBU_Msk 0x00000300UL /*!< Action when the counter equals the active CMPB register and the counter is incrementing */
#define PWM_AQCTLB_CBD_Msk 0x00000C00UL /*!< Action when the time-base counter equals the active CMPB register and the counter is decrementing
*/
/* Bit field enums: */
typedef enum {
PWM_AQCTLB_ZRO_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLB_ZRO_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLB_ZRO_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLB_ZRO_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLB_ZRO_Enum;
typedef enum {
PWM_AQCTLB_PRD_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLB_PRD_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLB_PRD_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLB_PRD_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLB_PRD_Enum;
typedef enum {
PWM_AQCTLB_CAU_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLB_CAU_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLB_CAU_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLB_CAU_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLB_CAU_Enum;
typedef enum {
PWM_AQCTLB_CAD_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLB_CAD_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLB_CAD_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLB_CAD_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLB_CAD_Enum;
typedef enum {
PWM_AQCTLB_CBU_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLB_CBU_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLB_CBU_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLB_CBU_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLB_CBU_Enum;
typedef enum {
PWM_AQCTLB_CBD_NoAction = 0x0UL, /*!< no action */
PWM_AQCTLB_CBD_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCTLB_CBD_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQCTLB_CBD_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQCTLB_CBD_Enum;
/*-- AQSFRC: Action-Qualifier Software Force Register --------------------------------------------------------*/
typedef struct {
uint32_t ACTSFA :2; /*!< Action when one-time software force A is invoked */
uint32_t OTSFA :1; /*!< One-time software forced event on output A */
uint32_t ACTSFB :2; /*!< Action when one-time software force B is invoked */
uint32_t OTSFB :1; /*!< One-time software forced event on output B */
uint32_t RLDCSF :2; /*!< AQCSFRC active register reload from shadow options */
} _PWM_AQSFRC_bits;
/* Bit field positions: */
#define PWM_AQSFRC_ACTSFA_Pos 0 /*!< Action when one-time software force A is invoked */
#define PWM_AQSFRC_OTSFA_Pos 2 /*!< One-time software forced event on output A */
#define PWM_AQSFRC_ACTSFB_Pos 3 /*!< Action when one-time software force B is invoked */
#define PWM_AQSFRC_OTSFB_Pos 5 /*!< One-time software forced event on output B */
#define PWM_AQSFRC_RLDCSF_Pos 6 /*!< AQCSFRC active register reload from shadow options */
/* Bit field masks: */
#define PWM_AQSFRC_ACTSFA_Msk 0x00000003UL /*!< Action when one-time software force A is invoked */
#define PWM_AQSFRC_OTSFA_Msk 0x00000004UL /*!< One-time software forced event on output A */
#define PWM_AQSFRC_ACTSFB_Msk 0x00000018UL /*!< Action when one-time software force B is invoked */
#define PWM_AQSFRC_OTSFB_Msk 0x00000020UL /*!< One-time software forced event on output B */
#define PWM_AQSFRC_RLDCSF_Msk 0x000000C0UL /*!< AQCSFRC active register reload from shadow options */
/* Bit field enums: */
typedef enum {
PWM_AQSFRC_ACTSFA_NoAction = 0x0UL, /*!< no action */
PWM_AQSFRC_ACTSFA_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQSFRC_ACTSFA_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQSFRC_ACTSFA_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQSFRC_ACTSFA_Enum;
typedef enum {
PWM_AQSFRC_ACTSFB_NoAction = 0x0UL, /*!< no action */
PWM_AQSFRC_ACTSFB_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQSFRC_ACTSFB_Set = 0x2UL, /*!< set PWMA/PWMB */
PWM_AQSFRC_ACTSFB_Toggle = 0x3UL, /*!< inverse PWMA/PWMB */
} PWM_AQSFRC_ACTSFB_Enum;
typedef enum {
PWM_AQSFRC_RLDCSF_CTREqZero = 0x0UL, /*!< load when CTR = 0 */
PWM_AQSFRC_RLDCSF_CTREqPRD = 0x1UL, /*!< load when CTR = PRD */
PWM_AQSFRC_RLDCSF_CTREqZeroPRD = 0x2UL, /*!< load when CTR = 0 or CTR = PRD */
PWM_AQSFRC_RLDCSF_NoShadow = 0x3UL, /*!< load immediatelly */
} PWM_AQSFRC_RLDCSF_Enum;
/*-- AQCSFRC: Action-Qualifier Continuous Software Force Register --------------------------------------------*/
typedef struct {
uint32_t CSFA :2; /*!< Continuous software force on output A */
uint32_t CSFB :2; /*!< Continuous software force on output B */
} _PWM_AQCSFRC_bits;
/* Bit field positions: */
#define PWM_AQCSFRC_CSFA_Pos 0 /*!< Continuous software force on output A */
#define PWM_AQCSFRC_CSFB_Pos 2 /*!< Continuous software force on output B */
/* Bit field masks: */
#define PWM_AQCSFRC_CSFA_Msk 0x00000003UL /*!< Continuous software force on output A */
#define PWM_AQCSFRC_CSFB_Msk 0x0000000CUL /*!< Continuous software force on output B */
/* Bit field enums: */
typedef enum {
PWM_AQCSFRC_CSFA_NoAction = 0x0UL, /*!< no action */
PWM_AQCSFRC_CSFA_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCSFRC_CSFA_Set = 0x2UL, /*!< set PWMA/PWMB */
} PWM_AQCSFRC_CSFA_Enum;
typedef enum {
PWM_AQCSFRC_CSFB_NoAction = 0x0UL, /*!< no action */
PWM_AQCSFRC_CSFB_Clear = 0x1UL, /*!< clear PWMA/PWMB */
PWM_AQCSFRC_CSFB_Set = 0x2UL, /*!< set PWMA/PWMB */
} PWM_AQCSFRC_CSFB_Enum;
/*-- DBCTL: Dead-Band Generator Control Register -------------------------------------------------------------*/
typedef struct {
uint32_t OUTMODE :2; /*!< Dead-band output mode control */
uint32_t POLSEL :2; /*!< Polarity select control */
uint32_t INMODE :2; /*!< Dead band input mode control */
} _PWM_DBCTL_bits;
/* Bit field positions: */
#define PWM_DBCTL_OUTMODE_Pos 0 /*!< Dead-band output mode control */
#define PWM_DBCTL_POLSEL_Pos 2 /*!< Polarity select control */
#define PWM_DBCTL_INMODE_Pos 4 /*!< Dead band input mode control */
/* Bit field masks: */
#define PWM_DBCTL_OUTMODE_Msk 0x00000003UL /*!< Dead-band output mode control */
#define PWM_DBCTL_POLSEL_Msk 0x0000000CUL /*!< Polarity select control */
#define PWM_DBCTL_INMODE_Msk 0x00000030UL /*!< Dead band input mode control */
/* Bit field enums: */
typedef enum {
PWM_DBCTL_OUTMODE_NoSpec = 0x0UL, /*!< edge for deadtime is no specified */
PWM_DBCTL_OUTMODE_BNeg = 0x1UL, /*!< deadtime on PWMB negedge */
PWM_DBCTL_OUTMODE_APos = 0x2UL, /*!< deadtime on PWMA posedge */
PWM_DBCTL_OUTMODE_Apos_BNeg = 0x3UL, /*!< deadtime on PWMA posedge and PWMB negedge */
} PWM_DBCTL_OUTMODE_Enum;
typedef enum {
PWM_DBCTL_POLSEL_InvDisable = 0x0UL, /*!< inverse disabled */
PWM_DBCTL_POLSEL_InvA = 0x1UL, /*!< inverse on PWMA */
PWM_DBCTL_POLSEL_InvB = 0x2UL, /*!< inverse on PWMB */
PWM_DBCTL_POLSEL_InvAB = 0x3UL, /*!< inverse on PWMA and PWMB */
} PWM_DBCTL_POLSEL_Enum;
typedef enum {
PWM_DBCTL_INMODE_APosNeg = 0x0UL, /*!< PWMA is used for posedge and negedge control */
PWM_DBCTL_INMODE_ANeg_BPos = 0x1UL, /*!< PWMA is used for negedge and PWMB is used for posedge control */
PWM_DBCTL_INMODE_APos_BNeg = 0x2UL, /*!< PWMA is used for posedge and PWMB is used for negedge control */
PWM_DBCTL_INMODE_BPosNeg = 0x3UL, /*!< PWMB is used for posedge and negedge control */
} PWM_DBCTL_INMODE_Enum;
/*-- DBRED: Dead-Band Generator Rising Edge Delay Register ---------------------------------------------------*/
typedef struct {
uint32_t DEL :10; /*!< Rising edge delay count */
} _PWM_DBRED_bits;
/* Bit field positions: */
#define PWM_DBRED_DEL_Pos 0 /*!< Rising edge delay count */
/* Bit field masks: */
#define PWM_DBRED_DEL_Msk 0x000003FFUL /*!< Rising edge delay count */
/*-- DBFED: Dead-Band Generator Falling Edge Delay Register --------------------------------------------------*/
typedef struct {
uint32_t DEL :10; /*!< Falling edge delay count */
} _PWM_DBFED_bits;
/* Bit field positions: */
#define PWM_DBFED_DEL_Pos 0 /*!< Falling edge delay count */
/* Bit field masks: */
#define PWM_DBFED_DEL_Msk 0x000003FFUL /*!< Falling edge delay count */
/*-- TZSEL: Trip-Zone Select Register ------------------------------------------------------------------------*/
typedef struct {
uint32_t CBC :1; /*!< Cycle-by-Cycle trip-zone 0 enable
*/
uint32_t :7; /*!< RESERVED */
uint32_t OST :1; /*!< One-Shot trip-zone 0 enable */
} _PWM_TZSEL_bits;
/* Bit field positions: */
#define PWM_TZSEL_CBC_Pos 0 /*!< Cycle-by-Cycle trip-zone 0 enable
*/
#define PWM_TZSEL_OST_Pos 8 /*!< One-Shot trip-zone 0 enable */
/* Bit field masks: */
#define PWM_TZSEL_CBC_Msk 0x00000001UL /*!< Cycle-by-Cycle trip-zone 0 enable
*/
#define PWM_TZSEL_OST_Msk 0x00000100UL /*!< One-Shot trip-zone 0 enable */
/*-- TZCTL: Trip-Zone Control Register -----------------------------------------------------------------------*/
typedef struct {
uint32_t TZA :2; /*!< When a trip event occurs the following action is taken on output A */
uint32_t TZB :2; /*!< When a trip event occurs the following action is taken on output B */
} _PWM_TZCTL_bits;
/* Bit field positions: */
#define PWM_TZCTL_TZA_Pos 0 /*!< When a trip event occurs the following action is taken on output A */
#define PWM_TZCTL_TZB_Pos 2 /*!< When a trip event occurs the following action is taken on output B */
/* Bit field masks: */
#define PWM_TZCTL_TZA_Msk 0x00000003UL /*!< When a trip event occurs the following action is taken on output A */
#define PWM_TZCTL_TZB_Msk 0x0000000CUL /*!< When a trip event occurs the following action is taken on output B */
/* Bit field enums: */
typedef enum {
PWM_TZCTL_TZA_Z = 0x0UL, /*!< PWMA/PWMB go to Z on failture */
PWM_TZCTL_TZA_Set = 0x1UL, /*!< PWMA/PWMB go to 1 on failture */
PWM_TZCTL_TZA_Clear = 0x2UL, /*!< PWMA/PWMB go to 0 on failture */
PWM_TZCTL_TZA_NoAction = 0x3UL, /*!< no action on failture */
} PWM_TZCTL_TZA_Enum;
typedef enum {
PWM_TZCTL_TZB_Z = 0x0UL, /*!< PWMA/PWMB go to Z on failture */
PWM_TZCTL_TZB_Set = 0x1UL, /*!< PWMA/PWMB go to 1 on failture */
PWM_TZCTL_TZB_Clear = 0x2UL, /*!< PWMA/PWMB go to 0 on failture */
PWM_TZCTL_TZB_NoAction = 0x3UL, /*!< no action on failture */
} PWM_TZCTL_TZB_Enum;
/*-- TZEINT: Trip-Zone Enable Interrupt Register -------------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t CBC :1; /*!< Trip-zone Cycle-by-Cycle interrupt enable */
uint32_t OST :1; /*!< Trip-zone One-Shot interrupt enable */
} _PWM_TZEINT_bits;
/* Bit field positions: */
#define PWM_TZEINT_CBC_Pos 1 /*!< Trip-zone Cycle-by-Cycle interrupt enable */
#define PWM_TZEINT_OST_Pos 2 /*!< Trip-zone One-Shot interrupt enable */
/* Bit field masks: */
#define PWM_TZEINT_CBC_Msk 0x00000002UL /*!< Trip-zone Cycle-by-Cycle interrupt enable */
#define PWM_TZEINT_OST_Msk 0x00000004UL /*!< Trip-zone One-Shot interrupt enable */
/*-- TZFLG: Trip-Zone Flag Register --------------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Latched trip interrupt status flag */
uint32_t CBC :1; /*!< Latched status flag for Cycle-By-Cycle trip event */
uint32_t OST :1; /*!< Latched status flag for a One-Shot trip event */
} _PWM_TZFLG_bits;
/* Bit field positions: */
#define PWM_TZFLG_INT_Pos 0 /*!< Latched trip interrupt status flag */
#define PWM_TZFLG_CBC_Pos 1 /*!< Latched status flag for Cycle-By-Cycle trip event */
#define PWM_TZFLG_OST_Pos 2 /*!< Latched status flag for a One-Shot trip event */
/* Bit field masks: */
#define PWM_TZFLG_INT_Msk 0x00000001UL /*!< Latched trip interrupt status flag */
#define PWM_TZFLG_CBC_Msk 0x00000002UL /*!< Latched status flag for Cycle-By-Cycle trip event */
#define PWM_TZFLG_OST_Msk 0x00000004UL /*!< Latched status flag for a One-Shot trip event */
/*-- TZCLR: Trip-Zone Clear Register -------------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Clear trip-zone interrupt flag */
uint32_t CBC :1; /*!< Clear flag for Cycle-By-Cycle trip latch
*/
uint32_t OST :1; /*!< Clear flag for One-Shot trip latch */
} _PWM_TZCLR_bits;
/* Bit field positions: */
#define PWM_TZCLR_INT_Pos 0 /*!< Clear trip-zone interrupt flag */
#define PWM_TZCLR_CBC_Pos 1 /*!< Clear flag for Cycle-By-Cycle trip latch
*/
#define PWM_TZCLR_OST_Pos 2 /*!< Clear flag for One-Shot trip latch */
/* Bit field masks: */
#define PWM_TZCLR_INT_Msk 0x00000001UL /*!< Clear trip-zone interrupt flag */
#define PWM_TZCLR_CBC_Msk 0x00000002UL /*!< Clear flag for Cycle-By-Cycle trip latch
*/
#define PWM_TZCLR_OST_Msk 0x00000004UL /*!< Clear flag for One-Shot trip latch */
/*-- TZFRC: Trip-Zone Force Register -------------------------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t CBC :1; /*!< Force a Cycle-by-Cycle trip event via software */
uint32_t OST :1; /*!< Force a One-Shot trip event via software */
} _PWM_TZFRC_bits;
/* Bit field positions: */
#define PWM_TZFRC_CBC_Pos 1 /*!< Force a Cycle-by-Cycle trip event via software */
#define PWM_TZFRC_OST_Pos 2 /*!< Force a One-Shot trip event via software */
/* Bit field masks: */
#define PWM_TZFRC_CBC_Msk 0x00000002UL /*!< Force a Cycle-by-Cycle trip event via software */
#define PWM_TZFRC_OST_Msk 0x00000004UL /*!< Force a One-Shot trip event via software */
/*-- ETSEL: Event-Trigger Selection Register -----------------------------------------------------------------*/
typedef struct {
uint32_t INTSEL :3; /*!< PWM_INT interrupt selection options */
uint32_t INTEN :1; /*!< Enable PWM_INT interrupt generation */
uint32_t :4; /*!< RESERVED */
uint32_t SOCASEL :3; /*!< PWM_SOCA selection Options */
uint32_t SOCAEN :1; /*!< Enable the ADC start of conversion A PWM_SOCA pulse */
uint32_t SOCBSEL :3; /*!< PWM_SOCB selection Options */
uint32_t SOCBEN :1; /*!< Enable the ADC start of conversion B PWM_SOCB pulse */
uint32_t DRQASEL :3; /*!< PWM A DMA request event selection */
uint32_t DRQAEN :1; /*!< Enable the DMA request from PWM A */
uint32_t DRQBSEL :3; /*!< PWM B DMA request event selection */
uint32_t DRQBEN :1; /*!< Enable the DMA request from PWM B */
} _PWM_ETSEL_bits;
/* Bit field positions: */
#define PWM_ETSEL_INTSEL_Pos 0 /*!< PWM_INT interrupt selection options */
#define PWM_ETSEL_INTEN_Pos 3 /*!< Enable PWM_INT interrupt generation */
#define PWM_ETSEL_SOCASEL_Pos 8 /*!< PWM_SOCA selection Options */
#define PWM_ETSEL_SOCAEN_Pos 11 /*!< Enable the ADC start of conversion A PWM_SOCA pulse */
#define PWM_ETSEL_SOCBSEL_Pos 12 /*!< PWM_SOCB selection Options */
#define PWM_ETSEL_SOCBEN_Pos 15 /*!< Enable the ADC start of conversion B PWM_SOCB pulse */
#define PWM_ETSEL_DRQASEL_Pos 16 /*!< PWM A DMA request event selection */
#define PWM_ETSEL_DRQAEN_Pos 19 /*!< Enable the DMA request from PWM A */
#define PWM_ETSEL_DRQBSEL_Pos 20 /*!< PWM B DMA request event selection */
#define PWM_ETSEL_DRQBEN_Pos 23 /*!< Enable the DMA request from PWM B */
/* Bit field masks: */
#define PWM_ETSEL_INTSEL_Msk 0x00000007UL /*!< PWM_INT interrupt selection options */
#define PWM_ETSEL_INTEN_Msk 0x00000008UL /*!< Enable PWM_INT interrupt generation */
#define PWM_ETSEL_SOCASEL_Msk 0x00000700UL /*!< PWM_SOCA selection Options */
#define PWM_ETSEL_SOCAEN_Msk 0x00000800UL /*!< Enable the ADC start of conversion A PWM_SOCA pulse */
#define PWM_ETSEL_SOCBSEL_Msk 0x00007000UL /*!< PWM_SOCB selection Options */
#define PWM_ETSEL_SOCBEN_Msk 0x00008000UL /*!< Enable the ADC start of conversion B PWM_SOCB pulse */
#define PWM_ETSEL_DRQASEL_Msk 0x00070000UL /*!< PWM A DMA request event selection */
#define PWM_ETSEL_DRQAEN_Msk 0x00080000UL /*!< Enable the DMA request from PWM A */
#define PWM_ETSEL_DRQBSEL_Msk 0x00700000UL /*!< PWM B DMA request event selection */
#define PWM_ETSEL_DRQBEN_Msk 0x00800000UL /*!< Enable the DMA request from PWM B */
/* Bit field enums: */
typedef enum {
PWM_ETSEL_INTSEL_CTREqZero = 0x1UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = 0 */
PWM_ETSEL_INTSEL_CTREqPRD = 0x2UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = PRD */
PWM_ETSEL_INTSEL_CTREqCMPA_OnUp = 0x4UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPA when count up */
PWM_ETSEL_INTSEL_CTREqCMPA_OnDown = 0x5UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPA when count down */
PWM_ETSEL_INTSEL_CTREqCMPB_OnUp = 0x6UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPB when count up */
PWM_ETSEL_INTSEL_CTREqCMPB_OnDown = 0x7UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPB when count down */
} PWM_ETSEL_INTSEL_Enum;
typedef enum {
PWM_ETSEL_SOCASEL_CTREqZero = 0x1UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = 0 */
PWM_ETSEL_SOCASEL_CTREqPRD = 0x2UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = PRD */
PWM_ETSEL_SOCASEL_CTREqCMPA_OnUp = 0x4UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPA when count up */
PWM_ETSEL_SOCASEL_CTREqCMPA_OnDown = 0x5UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPA when count down */
PWM_ETSEL_SOCASEL_CTREqCMPB_OnUp = 0x6UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPB when count up */
PWM_ETSEL_SOCASEL_CTREqCMPB_OnDown = 0x7UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPB when count down */
} PWM_ETSEL_SOCASEL_Enum;
typedef enum {
PWM_ETSEL_SOCBSEL_CTREqZero = 0x1UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = 0 */
PWM_ETSEL_SOCBSEL_CTREqPRD = 0x2UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = PRD */
PWM_ETSEL_SOCBSEL_CTREqCMPA_OnUp = 0x4UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPA when count up */
PWM_ETSEL_SOCBSEL_CTREqCMPA_OnDown = 0x5UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPA when count down */
PWM_ETSEL_SOCBSEL_CTREqCMPB_OnUp = 0x6UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPB when count up */
PWM_ETSEL_SOCBSEL_CTREqCMPB_OnDown = 0x7UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPB when count down */
} PWM_ETSEL_SOCBSEL_Enum;
typedef enum {
PWM_ETSEL_DRQASEL_CTREqZero = 0x1UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = 0 */
PWM_ETSEL_DRQASEL_CTREqPRD = 0x2UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = PRD */
PWM_ETSEL_DRQASEL_CTREqCMPA_OnUp = 0x4UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPA when count up */
PWM_ETSEL_DRQASEL_CTREqCMPA_OnDown = 0x5UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPA when count down */
PWM_ETSEL_DRQASEL_CTREqCMPB_OnUp = 0x6UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPB when count up */
PWM_ETSEL_DRQASEL_CTREqCMPB_OnDown = 0x7UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPB when count down */
} PWM_ETSEL_DRQASEL_Enum;
typedef enum {
PWM_ETSEL_DRQBSEL_CTREqZero = 0x1UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = 0 */
PWM_ETSEL_DRQBSEL_CTREqPRD = 0x2UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = PRD */
PWM_ETSEL_DRQBSEL_CTREqCMPA_OnUp = 0x4UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPA when count up */
PWM_ETSEL_DRQBSEL_CTREqCMPA_OnDown = 0x5UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPA when count down */
PWM_ETSEL_DRQBSEL_CTREqCMPB_OnUp = 0x6UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPB when count up */
PWM_ETSEL_DRQBSEL_CTREqCMPB_OnDown = 0x7UL, /*!< generate PWM_SOCA/PWM_SOCB/PWN_INT impulse on CTR = CMPB when count down */
} PWM_ETSEL_DRQBSEL_Enum;
/*-- ETPS: Event-Trigger Prescale Register -------------------------------------------------------------------*/
typedef struct {
uint32_t INTPRD :2; /*!< PWM interrupt (PWM_INT) period select */
uint32_t INTCNT :2; /*!< PWM interrupt event (PWM_INT) counter register */
uint32_t :4; /*!< RESERVED */
uint32_t SOCAPRD :2; /*!< PWM ADC Start-of-Conversion A event (PWM_SOCA) period select */
uint32_t SOCACNT :2; /*!< PWM ADC Start-of-Conversion A event (PWM_SOCA) counter register */
uint32_t SOCBPRD :2; /*!< PWM ADC Start-of-Conversion B event (PWM_SOCB) period select */
uint32_t SOCBCNT :2; /*!< PWM ADC Start-of-Conversion B event (PWM_SOCB) counter register */
uint32_t DRQAPRD :2; /*!< PWM DMA request A period select */
uint32_t DRQACNT :2; /*!< PWM DMA request event A counter */
uint32_t DRQBPRD :2; /*!< PWM DMA request B period select */
uint32_t DRQBCNT :2; /*!< PWM DMA request event B counter */
} _PWM_ETPS_bits;
/* Bit field positions: */
#define PWM_ETPS_INTPRD_Pos 0 /*!< PWM interrupt (PWM_INT) period select */
#define PWM_ETPS_INTCNT_Pos 2 /*!< PWM interrupt event (PWM_INT) counter register */
#define PWM_ETPS_SOCAPRD_Pos 8 /*!< PWM ADC Start-of-Conversion A event (PWM_SOCA) period select */
#define PWM_ETPS_SOCACNT_Pos 10 /*!< PWM ADC Start-of-Conversion A event (PWM_SOCA) counter register */
#define PWM_ETPS_SOCBPRD_Pos 12 /*!< PWM ADC Start-of-Conversion B event (PWM_SOCB) period select */
#define PWM_ETPS_SOCBCNT_Pos 14 /*!< PWM ADC Start-of-Conversion B event (PWM_SOCB) counter register */
#define PWM_ETPS_DRQAPRD_Pos 16 /*!< PWM DMA request A period select */
#define PWM_ETPS_DRQACNT_Pos 18 /*!< PWM DMA request event A counter */
#define PWM_ETPS_DRQBPRD_Pos 20 /*!< PWM DMA request B period select */
#define PWM_ETPS_DRQBCNT_Pos 22 /*!< PWM DMA request event B counter */
/* Bit field masks: */
#define PWM_ETPS_INTPRD_Msk 0x00000003UL /*!< PWM interrupt (PWM_INT) period select */
#define PWM_ETPS_INTCNT_Msk 0x0000000CUL /*!< PWM interrupt event (PWM_INT) counter register */
#define PWM_ETPS_SOCAPRD_Msk 0x00000300UL /*!< PWM ADC Start-of-Conversion A event (PWM_SOCA) period select */
#define PWM_ETPS_SOCACNT_Msk 0x00000C00UL /*!< PWM ADC Start-of-Conversion A event (PWM_SOCA) counter register */
#define PWM_ETPS_SOCBPRD_Msk 0x00003000UL /*!< PWM ADC Start-of-Conversion B event (PWM_SOCB) period select */
#define PWM_ETPS_SOCBCNT_Msk 0x0000C000UL /*!< PWM ADC Start-of-Conversion B event (PWM_SOCB) counter register */
#define PWM_ETPS_DRQAPRD_Msk 0x00030000UL /*!< PWM DMA request A period select */
#define PWM_ETPS_DRQACNT_Msk 0x000C0000UL /*!< PWM DMA request event A counter */
#define PWM_ETPS_DRQBPRD_Msk 0x00300000UL /*!< PWM DMA request B period select */
#define PWM_ETPS_DRQBCNT_Msk 0x00C00000UL /*!< PWM DMA request event B counter */
/*-- ETFLG: Event-Trigger Flag Register ----------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Latched PWM Interrupt (PWM_INT) status flag */
uint32_t :1; /*!< RESERVED */
uint32_t SOCA :1; /*!< Latched PWM ADC Start-of-Conversion A (PWM_SOCA) status flag */
uint32_t SOCB :1; /*!< Latched PWM ADC Start-of-Conversion B (PWM_SOCB) status flag */
uint32_t DRQA :1; /*!< Latched PWM DMA request A status flag */
uint32_t DRQB :1; /*!< Latched PWM DMA request B status flag */
} _PWM_ETFLG_bits;
/* Bit field positions: */
#define PWM_ETFLG_INT_Pos 0 /*!< Latched PWM Interrupt (PWM_INT) status flag */
#define PWM_ETFLG_SOCA_Pos 2 /*!< Latched PWM ADC Start-of-Conversion A (PWM_SOCA) status flag */
#define PWM_ETFLG_SOCB_Pos 3 /*!< Latched PWM ADC Start-of-Conversion B (PWM_SOCB) status flag */
#define PWM_ETFLG_DRQA_Pos 4 /*!< Latched PWM DMA request A status flag */
#define PWM_ETFLG_DRQB_Pos 5 /*!< Latched PWM DMA request B status flag */
/* Bit field masks: */
#define PWM_ETFLG_INT_Msk 0x00000001UL /*!< Latched PWM Interrupt (PWM_INT) status flag */
#define PWM_ETFLG_SOCA_Msk 0x00000004UL /*!< Latched PWM ADC Start-of-Conversion A (PWM_SOCA) status flag */
#define PWM_ETFLG_SOCB_Msk 0x00000008UL /*!< Latched PWM ADC Start-of-Conversion B (PWM_SOCB) status flag */
#define PWM_ETFLG_DRQA_Msk 0x00000010UL /*!< Latched PWM DMA request A status flag */
#define PWM_ETFLG_DRQB_Msk 0x00000020UL /*!< Latched PWM DMA request B status flag */
/*-- ETCLR: Event-Trigger Clear Register ---------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Latched PWM Interrupt (PWM_INT) flag clear bit */
uint32_t :1; /*!< RESERVED */
uint32_t SOCA :1; /*!< Latched PWM ADC Start-of-Conversion A (PWM_SOCA) flag clear bit */
uint32_t SOCB :1; /*!< Latched PWM ADC Start-of-Conversion B (PWM_SOCB) flag clear bit */
uint32_t DRQA :1; /*!< Latched PWM DMA request A flag clear bit */
uint32_t DRQB :1; /*!< Latched PWM DMA request B flag clear bit */
} _PWM_ETCLR_bits;
/* Bit field positions: */
#define PWM_ETCLR_INT_Pos 0 /*!< Latched PWM Interrupt (PWM_INT) flag clear bit */
#define PWM_ETCLR_SOCA_Pos 2 /*!< Latched PWM ADC Start-of-Conversion A (PWM_SOCA) flag clear bit */
#define PWM_ETCLR_SOCB_Pos 3 /*!< Latched PWM ADC Start-of-Conversion B (PWM_SOCB) flag clear bit */
#define PWM_ETCLR_DRQA_Pos 4 /*!< Latched PWM DMA request A flag clear bit */
#define PWM_ETCLR_DRQB_Pos 5 /*!< Latched PWM DMA request B flag clear bit */
/* Bit field masks: */
#define PWM_ETCLR_INT_Msk 0x00000001UL /*!< Latched PWM Interrupt (PWM_INT) flag clear bit */
#define PWM_ETCLR_SOCA_Msk 0x00000004UL /*!< Latched PWM ADC Start-of-Conversion A (PWM_SOCA) flag clear bit */
#define PWM_ETCLR_SOCB_Msk 0x00000008UL /*!< Latched PWM ADC Start-of-Conversion B (PWM_SOCB) flag clear bit */
#define PWM_ETCLR_DRQA_Msk 0x00000010UL /*!< Latched PWM DMA request A flag clear bit */
#define PWM_ETCLR_DRQB_Msk 0x00000020UL /*!< Latched PWM DMA request B flag clear bit */
/*-- ETFRC: Event-Trigger Force Register ---------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< PWM_INT force bit. */
uint32_t :1; /*!< RESERVED */
uint32_t SOCA :1; /*!< PWM_SOCA force bit */
uint32_t SOCB :1; /*!< PWM_SOCB force bit */
uint32_t DRQA :1; /*!< PWM DMA request A force bit */
uint32_t DRQB :1; /*!< PWM DMA request B force bit */
} _PWM_ETFRC_bits;
/* Bit field positions: */
#define PWM_ETFRC_INT_Pos 0 /*!< PWM_INT force bit. */
#define PWM_ETFRC_SOCA_Pos 2 /*!< PWM_SOCA force bit */
#define PWM_ETFRC_SOCB_Pos 3 /*!< PWM_SOCB force bit */
#define PWM_ETFRC_DRQA_Pos 4 /*!< PWM DMA request A force bit */
#define PWM_ETFRC_DRQB_Pos 5 /*!< PWM DMA request B force bit */
/* Bit field masks: */
#define PWM_ETFRC_INT_Msk 0x00000001UL /*!< PWM_INT force bit. */
#define PWM_ETFRC_SOCA_Msk 0x00000004UL /*!< PWM_SOCA force bit */
#define PWM_ETFRC_SOCB_Msk 0x00000008UL /*!< PWM_SOCB force bit */
#define PWM_ETFRC_DRQA_Msk 0x00000010UL /*!< PWM DMA request A force bit */
#define PWM_ETFRC_DRQB_Msk 0x00000020UL /*!< PWM DMA request B force bit */
/*-- PCCTL: PWM-Chopper Control Register ---------------------------------------------------------------------*/
typedef struct {
uint32_t CHPEN :1; /*!< PWM-chopping enable */
uint32_t OSTWTH :4; /*!< One-Shot pulse width */
uint32_t SHRFREQ :3; /*!< Chopping clock frequency */
uint32_t CHPDUTY :3; /*!< Chopping clock duty cycle */
} _PWM_PCCTL_bits;
/* Bit field positions: */
#define PWM_PCCTL_CHPEN_Pos 0 /*!< PWM-chopping enable */
#define PWM_PCCTL_OSTWTH_Pos 1 /*!< One-Shot pulse width */
#define PWM_PCCTL_SHRFREQ_Pos 5 /*!< Chopping clock frequency */
#define PWM_PCCTL_CHPDUTY_Pos 8 /*!< Chopping clock duty cycle */
/* Bit field masks: */
#define PWM_PCCTL_CHPEN_Msk 0x00000001UL /*!< PWM-chopping enable */
#define PWM_PCCTL_OSTWTH_Msk 0x0000001EUL /*!< One-Shot pulse width */
#define PWM_PCCTL_SHRFREQ_Msk 0x000000E0UL /*!< Chopping clock frequency */
#define PWM_PCCTL_CHPDUTY_Msk 0x00000700UL /*!< Chopping clock duty cycle */
/* Bit field enums: */
typedef enum {
PWM_PCCTL_SHRFREQ_Div1 = 0x0UL, /*!< sync frequency divide by 1 */
PWM_PCCTL_SHRFREQ_Div2 = 0x1UL, /*!< sync frequency divide by 2 */
PWM_PCCTL_SHRFREQ_Div3 = 0x2UL, /*!< sync frequency divide by 3 */
PWM_PCCTL_SHRFREQ_Div4 = 0x3UL, /*!< sync frequency divide by 4 */
PWM_PCCTL_SHRFREQ_Div5 = 0x4UL, /*!< sync frequency divide by 5 */
PWM_PCCTL_SHRFREQ_Div6 = 0x5UL, /*!< sync frequency divide by 6 */
PWM_PCCTL_SHRFREQ_Div7 = 0x6UL, /*!< sync frequency divide by 7 */
PWM_PCCTL_SHRFREQ_Div8 = 0x7UL, /*!< sync frequency divide by 8 */
} PWM_PCCTL_SHRFREQ_Enum;
typedef enum {
PWM_PCCTL_CHPDUTY_Duty_1_8 = 0x0UL, /*!< duty 1/8 */
PWM_PCCTL_CHPDUTY_Duty_2_8 = 0x1UL, /*!< duty 2/8 */
PWM_PCCTL_CHPDUTY_Duty_3_8 = 0x2UL, /*!< duty 3/8 */
PWM_PCCTL_CHPDUTY_Duty_4_8 = 0x3UL, /*!< duty 4/8 */
PWM_PCCTL_CHPDUTY_Duty_5_8 = 0x4UL, /*!< duty 5/8 */
PWM_PCCTL_CHPDUTY_Duty_6_8 = 0x5UL, /*!< duty 6/8 */
PWM_PCCTL_CHPDUTY_Duty_7_8 = 0x6UL, /*!< duty 7/8 */
} PWM_PCCTL_CHPDUTY_Enum;
/*-- FWDTH: Filter Width select Register ---------------------------------------------------------------------*/
typedef struct {
uint32_t VAL :8; /*!< Pulse filter width selection */
} _PWM_FWDTH_bits;
/* Bit field positions: */
#define PWM_FWDTH_VAL_Pos 0 /*!< Pulse filter width selection */
/* Bit field masks: */
#define PWM_FWDTH_VAL_Msk 0x000000FFUL /*!< Pulse filter width selection */
/*-- HDSEL: Hold Detector event Select Register --------------------------------------------------------------*/
typedef struct {
uint32_t ADCDC0 :1; /*!< Hold detector event by ADC Digital Comparator 0 enable */
uint32_t ADCDC1 :1; /*!< Hold detector event by ADC Digital Comparator 1 enable */
uint32_t ADCDC2 :1; /*!< Hold detector event by ADC Digital Comparator 2 enable */
uint32_t ADCDC3 :1; /*!< Hold detector event by ADC Digital Comparator 3 enable */
uint32_t :24; /*!< RESERVED */
uint32_t CBC :1; /*!< Cycle-by-Cycle hold detector enable */
uint32_t :2; /*!< RESERVED */
uint32_t OST :1; /*!< One-Shot hold detector enable */
} _PWM_HDSEL_bits;
/* Bit field positions: */
#define PWM_HDSEL_ADCDC0_Pos 0 /*!< Hold detector event by ADC Digital Comparator 0 enable */
#define PWM_HDSEL_ADCDC1_Pos 1 /*!< Hold detector event by ADC Digital Comparator 1 enable */
#define PWM_HDSEL_ADCDC2_Pos 2 /*!< Hold detector event by ADC Digital Comparator 2 enable */
#define PWM_HDSEL_ADCDC3_Pos 3 /*!< Hold detector event by ADC Digital Comparator 3 enable */
#define PWM_HDSEL_CBC_Pos 28 /*!< Cycle-by-Cycle hold detector enable */
#define PWM_HDSEL_OST_Pos 31 /*!< One-Shot hold detector enable */
/* Bit field masks: */
#define PWM_HDSEL_ADCDC0_Msk 0x00000001UL /*!< Hold detector event by ADC Digital Comparator 0 enable */
#define PWM_HDSEL_ADCDC1_Msk 0x00000002UL /*!< Hold detector event by ADC Digital Comparator 1 enable */
#define PWM_HDSEL_ADCDC2_Msk 0x00000004UL /*!< Hold detector event by ADC Digital Comparator 2 enable */
#define PWM_HDSEL_ADCDC3_Msk 0x00000008UL /*!< Hold detector event by ADC Digital Comparator 3 enable */
#define PWM_HDSEL_CBC_Msk 0x10000000UL /*!< Cycle-by-Cycle hold detector enable */
#define PWM_HDSEL_OST_Msk 0x80000000UL /*!< One-Shot hold detector enable */
/*-- HDCTL: Hold Detector Control register -------------------------------------------------------------------*/
typedef struct {
uint32_t HDA :2; /*!< Action when hold detection A is invoked */
uint32_t HDB :2; /*!< Action when hold detection B is invoked */
} _PWM_HDCTL_bits;
/* Bit field positions: */
#define PWM_HDCTL_HDA_Pos 0 /*!< Action when hold detection A is invoked */
#define PWM_HDCTL_HDB_Pos 2 /*!< Action when hold detection B is invoked */
/* Bit field masks: */
#define PWM_HDCTL_HDA_Msk 0x00000003UL /*!< Action when hold detection A is invoked */
#define PWM_HDCTL_HDB_Msk 0x0000000CUL /*!< Action when hold detection B is invoked */
/* Bit field enums: */
typedef enum {
PWM_HDCTL_HDA_Set = 0x1UL, /*!< PWMA/PWMB go to 1 on failture */
PWM_HDCTL_HDA_Clear = 0x2UL, /*!< PWMA/PWMB go to 0 on failture */
PWM_HDCTL_HDA_NoAction = 0x3UL, /*!< no action on failture */
} PWM_HDCTL_HDA_Enum;
typedef enum {
PWM_HDCTL_HDB_Set = 0x1UL, /*!< PWMA/PWMB go to 1 on failture */
PWM_HDCTL_HDB_Clear = 0x2UL, /*!< PWMA/PWMB go to 0 on failture */
PWM_HDCTL_HDB_NoAction = 0x3UL, /*!< no action on failture */
} PWM_HDCTL_HDB_Enum;
/*-- HDEINT: Hold Detector Enable Interrupt Register ---------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t CBC :1; /*!< Hold detector Cycle-by-Cycle interrupt enable */
uint32_t OST :1; /*!< Hold detector One-Shot interrupt enable */
} _PWM_HDEINT_bits;
/* Bit field positions: */
#define PWM_HDEINT_CBC_Pos 1 /*!< Hold detector Cycle-by-Cycle interrupt enable */
#define PWM_HDEINT_OST_Pos 2 /*!< Hold detector One-Shot interrupt enable */
/* Bit field masks: */
#define PWM_HDEINT_CBC_Msk 0x00000002UL /*!< Hold detector Cycle-by-Cycle interrupt enable */
#define PWM_HDEINT_OST_Msk 0x00000004UL /*!< Hold detector One-Shot interrupt enable */
/*-- HDFLG: Hold Detector Flag Register ----------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Latched hold detector interrupt status flag */
uint32_t CBC :1; /*!< Latched status flag for hold detector Cycle-by-Cycle event */
uint32_t OST :1; /*!< Latched status flag for hold detector One-Shot event */
} _PWM_HDFLG_bits;
/* Bit field positions: */
#define PWM_HDFLG_INT_Pos 0 /*!< Latched hold detector interrupt status flag */
#define PWM_HDFLG_CBC_Pos 1 /*!< Latched status flag for hold detector Cycle-by-Cycle event */
#define PWM_HDFLG_OST_Pos 2 /*!< Latched status flag for hold detector One-Shot event */
/* Bit field masks: */
#define PWM_HDFLG_INT_Msk 0x00000001UL /*!< Latched hold detector interrupt status flag */
#define PWM_HDFLG_CBC_Msk 0x00000002UL /*!< Latched status flag for hold detector Cycle-by-Cycle event */
#define PWM_HDFLG_OST_Msk 0x00000004UL /*!< Latched status flag for hold detector One-Shot event */
/*-- HDCLR: Register clear HD flag ---------------------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Clear hold detector interrupt flag */
uint32_t CBC :1; /*!< Clear flag for Cycle-By-Cycle hold detector latch
*/
uint32_t OST :1; /*!< Clear flag for One-Shot hold detector latch */
} _PWM_HDCLR_bits;
/* Bit field positions: */
#define PWM_HDCLR_INT_Pos 0 /*!< Clear hold detector interrupt flag */
#define PWM_HDCLR_CBC_Pos 1 /*!< Clear flag for Cycle-By-Cycle hold detector latch
*/
#define PWM_HDCLR_OST_Pos 2 /*!< Clear flag for One-Shot hold detector latch */
/* Bit field masks: */
#define PWM_HDCLR_INT_Msk 0x00000001UL /*!< Clear hold detector interrupt flag */
#define PWM_HDCLR_CBC_Msk 0x00000002UL /*!< Clear flag for Cycle-By-Cycle hold detector latch
*/
#define PWM_HDCLR_OST_Msk 0x00000004UL /*!< Clear flag for One-Shot hold detector latch */
/*-- HDFRC: Hold Detector Force Register ---------------------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t CBC :1; /*!< Force a Cycle-by-Cycle hold detector event via software */
uint32_t OST :1; /*!< Force a One-Shot hold detector event via software */
} _PWM_HDFRC_bits;
/* Bit field positions: */
#define PWM_HDFRC_CBC_Pos 1 /*!< Force a Cycle-by-Cycle hold detector event via software */
#define PWM_HDFRC_OST_Pos 2 /*!< Force a One-Shot hold detector event via software */
/* Bit field masks: */
#define PWM_HDFRC_CBC_Msk 0x00000002UL /*!< Force a Cycle-by-Cycle hold detector event via software */
#define PWM_HDFRC_OST_Msk 0x00000004UL /*!< Force a One-Shot hold detector event via software */
/*-- HDINTCLR: Hold Detector Interrupt pending Clear Register ------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Clear HD interrupt pending */
} _PWM_HDINTCLR_bits;
/* Bit field positions: */
#define PWM_HDINTCLR_INT_Pos 0 /*!< Clear HD interrupt pending */
/* Bit field masks: */
#define PWM_HDINTCLR_INT_Msk 0x00000001UL /*!< Clear HD interrupt pending */
/*-- TZINTCLR: Trip-Zone Interrupt pending Clear Register ----------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Clear TZ interrupt pending */
} _PWM_TZINTCLR_bits;
/* Bit field positions: */
#define PWM_TZINTCLR_INT_Pos 0 /*!< Clear TZ interrupt pending */
/* Bit field masks: */
#define PWM_TZINTCLR_INT_Msk 0x00000001UL /*!< Clear TZ interrupt pending */
/*-- INTCLR: PWM Interrupt pending Clear Register ------------------------------------------------------------*/
typedef struct {
uint32_t INT :1; /*!< Clear interrupt pending */
} _PWM_INTCLR_bits;
/* Bit field positions: */
#define PWM_INTCLR_INT_Pos 0 /*!< Clear interrupt pending */
/* Bit field masks: */
#define PWM_INTCLR_INT_Msk 0x00000001UL /*!< Clear interrupt pending */
typedef struct {
union { /*!< Time-Base Control Register */
__IO uint32_t TBCTL; /*!< TBCTL : type used for word access */
__IO _PWM_TBCTL_bits TBCTL_bit; /*!< TBCTL_bit: structure used for bit access */
};
union { /*!< Time-Base Status Register */
__IO uint32_t TBSTS; /*!< TBSTS : type used for word access */
__IO _PWM_TBSTS_bits TBSTS_bit; /*!< TBSTS_bit: structure used for bit access */
};
union { /*!< Time-Base Phase Register */
__IO uint32_t TBPHS; /*!< TBPHS : type used for word access */
__IO _PWM_TBPHS_bits TBPHS_bit; /*!< TBPHS_bit: structure used for bit access */
};
union { /*!< Time-Base Counter Register */
__IO uint32_t TBCTR; /*!< TBCTR : type used for word access */
__IO _PWM_TBCTR_bits TBCTR_bit; /*!< TBCTR_bit: structure used for bit access */
};
union { /*!< Time-Base Period Register */
__IO uint32_t TBPRD; /*!< TBPRD : type used for word access */
__IO _PWM_TBPRD_bits TBPRD_bit; /*!< TBPRD_bit: structure used for bit access */
};
union { /*!< Counter-Compare Control Register */
__IO uint32_t CMPCTL; /*!< CMPCTL : type used for word access */
__IO _PWM_CMPCTL_bits CMPCTL_bit; /*!< CMPCTL_bit: structure used for bit access */
};
union { /*!< Counter-Compare A Register */
__IO uint32_t CMPA; /*!< CMPA : type used for word access */
__IO _PWM_CMPA_bits CMPA_bit; /*!< CMPA_bit: structure used for bit access */
};
union { /*!< Counter-Compare B Register */
__IO uint32_t CMPB; /*!< CMPB : type used for word access */
__IO _PWM_CMPB_bits CMPB_bit; /*!< CMPB_bit: structure used for bit access */
};
union { /*!< Action-Qualifier Output A Control Register */
__IO uint32_t AQCTLA; /*!< AQCTLA : type used for word access */
__IO _PWM_AQCTLA_bits AQCTLA_bit; /*!< AQCTLA_bit: structure used for bit access */
};
union { /*!< Action-Qualifier Output B Control Register */
__IO uint32_t AQCTLB; /*!< AQCTLB : type used for word access */
__IO _PWM_AQCTLB_bits AQCTLB_bit; /*!< AQCTLB_bit: structure used for bit access */
};
union { /*!< Action-Qualifier Software Force Register */
__IO uint32_t AQSFRC; /*!< AQSFRC : type used for word access */
__IO _PWM_AQSFRC_bits AQSFRC_bit; /*!< AQSFRC_bit: structure used for bit access */
};
union { /*!< Action-Qualifier Continuous Software Force Register */
__IO uint32_t AQCSFRC; /*!< AQCSFRC : type used for word access */
__IO _PWM_AQCSFRC_bits AQCSFRC_bit; /*!< AQCSFRC_bit: structure used for bit access */
};
union { /*!< Dead-Band Generator Control Register */
__IO uint32_t DBCTL; /*!< DBCTL : type used for word access */
__IO _PWM_DBCTL_bits DBCTL_bit; /*!< DBCTL_bit: structure used for bit access */
};
union { /*!< Dead-Band Generator Rising Edge Delay Register */
__IO uint32_t DBRED; /*!< DBRED : type used for word access */
__IO _PWM_DBRED_bits DBRED_bit; /*!< DBRED_bit: structure used for bit access */
};
union { /*!< Dead-Band Generator Falling Edge Delay Register */
__IO uint32_t DBFED; /*!< DBFED : type used for word access */
__IO _PWM_DBFED_bits DBFED_bit; /*!< DBFED_bit: structure used for bit access */
};
union { /*!< Trip-Zone Select Register */
__IO uint32_t TZSEL; /*!< TZSEL : type used for word access */
__IO _PWM_TZSEL_bits TZSEL_bit; /*!< TZSEL_bit: structure used for bit access */
};
union { /*!< Trip-Zone Control Register */
__IO uint32_t TZCTL; /*!< TZCTL : type used for word access */
__IO _PWM_TZCTL_bits TZCTL_bit; /*!< TZCTL_bit: structure used for bit access */
};
union { /*!< Trip-Zone Enable Interrupt Register */
__IO uint32_t TZEINT; /*!< TZEINT : type used for word access */
__IO _PWM_TZEINT_bits TZEINT_bit; /*!< TZEINT_bit: structure used for bit access */
};
union { /*!< Trip-Zone Flag Register */
__I uint32_t TZFLG; /*!< TZFLG : type used for word access */
__I _PWM_TZFLG_bits TZFLG_bit; /*!< TZFLG_bit: structure used for bit access */
};
union { /*!< Trip-Zone Clear Register */
__IO uint32_t TZCLR; /*!< TZCLR : type used for word access */
__IO _PWM_TZCLR_bits TZCLR_bit; /*!< TZCLR_bit: structure used for bit access */
};
union { /*!< Trip-Zone Force Register */
__IO uint32_t TZFRC; /*!< TZFRC : type used for word access */
__IO _PWM_TZFRC_bits TZFRC_bit; /*!< TZFRC_bit: structure used for bit access */
};
union { /*!< Event-Trigger Selection Register */
__IO uint32_t ETSEL; /*!< ETSEL : type used for word access */
__IO _PWM_ETSEL_bits ETSEL_bit; /*!< ETSEL_bit: structure used for bit access */
};
union { /*!< Event-Trigger Prescale Register */
__IO uint32_t ETPS; /*!< ETPS : type used for word access */
__IO _PWM_ETPS_bits ETPS_bit; /*!< ETPS_bit: structure used for bit access */
};
union { /*!< Event-Trigger Flag Register */
__I uint32_t ETFLG; /*!< ETFLG : type used for word access */
__I _PWM_ETFLG_bits ETFLG_bit; /*!< ETFLG_bit: structure used for bit access */
};
union { /*!< Event-Trigger Clear Register */
__IO uint32_t ETCLR; /*!< ETCLR : type used for word access */
__IO _PWM_ETCLR_bits ETCLR_bit; /*!< ETCLR_bit: structure used for bit access */
};
union { /*!< Event-Trigger Force Register */
__IO uint32_t ETFRC; /*!< ETFRC : type used for word access */
__IO _PWM_ETFRC_bits ETFRC_bit; /*!< ETFRC_bit: structure used for bit access */
};
union { /*!< PWM-Chopper Control Register */
__IO uint32_t PCCTL; /*!< PCCTL : type used for word access */
__IO _PWM_PCCTL_bits PCCTL_bit; /*!< PCCTL_bit: structure used for bit access */
};
__IO uint32_t Reserved0;
union { /*!< Filter Width select Register */
__IO uint32_t FWDTH; /*!< FWDTH : type used for word access */
__IO _PWM_FWDTH_bits FWDTH_bit; /*!< FWDTH_bit: structure used for bit access */
};
__IO uint32_t Reserved1[5];
union { /*!< Hold Detector event Select Register */
__IO uint32_t HDSEL; /*!< HDSEL : type used for word access */
__IO _PWM_HDSEL_bits HDSEL_bit; /*!< HDSEL_bit: structure used for bit access */
};
union { /*!< Hold Detector Control register */
__IO uint32_t HDCTL; /*!< HDCTL : type used for word access */
__IO _PWM_HDCTL_bits HDCTL_bit; /*!< HDCTL_bit: structure used for bit access */
};
union { /*!< Hold Detector Enable Interrupt Register */
__IO uint32_t HDEINT; /*!< HDEINT : type used for word access */
__IO _PWM_HDEINT_bits HDEINT_bit; /*!< HDEINT_bit: structure used for bit access */
};
union { /*!< Hold Detector Flag Register */
__I uint32_t HDFLG; /*!< HDFLG : type used for word access */
__I _PWM_HDFLG_bits HDFLG_bit; /*!< HDFLG_bit: structure used for bit access */
};
union { /*!< Register clear HD flag */
__IO uint32_t HDCLR; /*!< HDCLR : type used for word access */
__IO _PWM_HDCLR_bits HDCLR_bit; /*!< HDCLR_bit: structure used for bit access */
};
union { /*!< Hold Detector Force Register */
__IO uint32_t HDFRC; /*!< HDFRC : type used for word access */
__IO _PWM_HDFRC_bits HDFRC_bit; /*!< HDFRC_bit: structure used for bit access */
};
union { /*!< Hold Detector Interrupt pending Clear Register */
__O uint32_t HDINTCLR; /*!< HDINTCLR : type used for word access */
__O _PWM_HDINTCLR_bits HDINTCLR_bit; /*!< HDINTCLR_bit: structure used for bit access */
};
union { /*!< Trip-Zone Interrupt pending Clear Register */
__O uint32_t TZINTCLR; /*!< TZINTCLR : type used for word access */
__O _PWM_TZINTCLR_bits TZINTCLR_bit; /*!< TZINTCLR_bit: structure used for bit access */
};
union { /*!< PWM Interrupt pending Clear Register */
__O uint32_t INTCLR; /*!< INTCLR : type used for word access */
__O _PWM_INTCLR_bits INTCLR_bit; /*!< INTCLR_bit: structure used for bit access */
};
} PWM_TypeDef;
/******************************************************************************/
/* SPI registers */
/******************************************************************************/
/*-- CR0: Control register 0 ---------------------------------------------------------------------------------*/
typedef struct {
uint32_t DSS :4; /*!< Size of data */
uint32_t FRF :2; /*!< Select protocol */
uint32_t SPO :1; /*!< Polarity SSPCLKOUT */
uint32_t SPH :1; /*!< Phase SSPCLKOUT */
uint32_t SCR :8; /*!< Value divider */
} _SPI_CR0_bits;
/* Bit field positions: */
#define SPI_CR0_DSS_Pos 0 /*!< Size of data */
#define SPI_CR0_FRF_Pos 4 /*!< Select protocol */
#define SPI_CR0_SPO_Pos 6 /*!< Polarity SSPCLKOUT */
#define SPI_CR0_SPH_Pos 7 /*!< Phase SSPCLKOUT */
#define SPI_CR0_SCR_Pos 8 /*!< Value divider */
/* Bit field masks: */
#define SPI_CR0_DSS_Msk 0x0000000FUL /*!< Size of data */
#define SPI_CR0_FRF_Msk 0x00000030UL /*!< Select protocol */
#define SPI_CR0_SPO_Msk 0x00000040UL /*!< Polarity SSPCLKOUT */
#define SPI_CR0_SPH_Msk 0x00000080UL /*!< Phase SSPCLKOUT */
#define SPI_CR0_SCR_Msk 0x0000FF00UL /*!< Value divider */
/* Bit field enums: */
typedef enum {
SPI_CR0_DSS_4bit = 0x3UL, /*!< data size 4 bit */
SPI_CR0_DSS_5bit = 0x4UL, /*!< data size 5 bit */
SPI_CR0_DSS_6bit = 0x5UL, /*!< data size 6 bit */
SPI_CR0_DSS_7bit = 0x6UL, /*!< data size 7 bit */
SPI_CR0_DSS_8bit = 0x7UL, /*!< data size 8 bit */
SPI_CR0_DSS_9bit = 0x8UL, /*!< data size 9 bit */
SPI_CR0_DSS_10bit = 0x9UL, /*!< data size 10 bit */
SPI_CR0_DSS_11bit = 0xAUL, /*!< data size 11 bit */
SPI_CR0_DSS_12bit = 0xBUL, /*!< data size 12 bit */
SPI_CR0_DSS_13bit = 0xCUL, /*!< data size 13 bit */
SPI_CR0_DSS_14bit = 0xDUL, /*!< data size 14 bit */
SPI_CR0_DSS_15bit = 0xEUL, /*!< data size 15 bit */
SPI_CR0_DSS_16bit = 0xFUL, /*!< data size 16 bit */
} SPI_CR0_DSS_Enum;
typedef enum {
SPI_CR0_FRF_SPI = 0x0UL, /*!< SPI of Motorola */
SPI_CR0_FRF_SSI = 0x1UL, /*!< SSI of Texas Instruments */
SPI_CR0_FRF_Microwire = 0x2UL, /*!< Microwire of National Semiconductor */
} SPI_CR0_FRF_Enum;
/*-- CR1: Control register 1 ---------------------------------------------------------------------------------*/
typedef struct {
uint32_t :1; /*!< RESERVED */
uint32_t SSE :1; /*!< Enable transceiver */
uint32_t MS :1; /*!< Select mode */
uint32_t SOD :1; /*!< Disable bit data */
uint32_t :4; /*!< RESERVED */
uint32_t RXIFLSEL :4; /*!< Receive interrupt FIFO level select */
uint32_t TXIFLSEL :4; /*!< Transmit interrupt FIFO level select */
} _SPI_CR1_bits;
/* Bit field positions: */
#define SPI_CR1_SSE_Pos 1 /*!< Enable transceiver */
#define SPI_CR1_MS_Pos 2 /*!< Select mode */
#define SPI_CR1_SOD_Pos 3 /*!< Disable bit data */
#define SPI_CR1_RXIFLSEL_Pos 8 /*!< Receive interrupt FIFO level select */
#define SPI_CR1_TXIFLSEL_Pos 12 /*!< Transmit interrupt FIFO level select */
/* Bit field masks: */
#define SPI_CR1_SSE_Msk 0x00000002UL /*!< Enable transceiver */
#define SPI_CR1_MS_Msk 0x00000004UL /*!< Select mode */
#define SPI_CR1_SOD_Msk 0x00000008UL /*!< Disable bit data */
#define SPI_CR1_RXIFLSEL_Msk 0x00000F00UL /*!< Receive interrupt FIFO level select */
#define SPI_CR1_TXIFLSEL_Msk 0x0000F000UL /*!< Transmit interrupt FIFO level select */
/*-- DR: Data register ---------------------------------------------------------------------------------------*/
typedef struct {
uint32_t DATA :16; /*!< */
} _SPI_DR_bits;
/* Bit field positions: */
#define SPI_DR_DATA_Pos 0 /*!< */
/* Bit field masks: */
#define SPI_DR_DATA_Msk 0x0000FFFFUL /*!< */
/*-- SR: State register --------------------------------------------------------------------------------------*/
typedef struct {
uint32_t TFE :1; /*!< FIFO buffer empty flag transmitter */
uint32_t TNF :1; /*!< Indicator the transmitter FIFO buffer is not full */
uint32_t RNE :1; /*!< Indicate not empty receive buffer */
uint32_t RFF :1; /*!< Indicate full receive buffer */
uint32_t BSY :1; /*!< Activity flag */
} _SPI_SR_bits;
/* Bit field positions: */
#define SPI_SR_TFE_Pos 0 /*!< FIFO buffer empty flag transmitter */
#define SPI_SR_TNF_Pos 1 /*!< Indicator the transmitter FIFO buffer is not full */
#define SPI_SR_RNE_Pos 2 /*!< Indicate not empty receive buffer */
#define SPI_SR_RFF_Pos 3 /*!< Indicate full receive buffer */
#define SPI_SR_BSY_Pos 4 /*!< Activity flag */
/* Bit field masks: */
#define SPI_SR_TFE_Msk 0x00000001UL /*!< FIFO buffer empty flag transmitter */
#define SPI_SR_TNF_Msk 0x00000002UL /*!< Indicator the transmitter FIFO buffer is not full */
#define SPI_SR_RNE_Msk 0x00000004UL /*!< Indicate not empty receive buffer */
#define SPI_SR_RFF_Msk 0x00000008UL /*!< Indicate full receive buffer */
#define SPI_SR_BSY_Msk 0x00000010UL /*!< Activity flag */
/*-- CPSR: Clock division factor register --------------------------------------------------------------------*/
typedef struct {
uint32_t CPSDVSR :8; /*!< Clock division factor. Bit0 always 0 */
} _SPI_CPSR_bits;
/* Bit field positions: */
#define SPI_CPSR_CPSDVSR_Pos 0 /*!< Clock division factor. Bit0 always 0 */
/* Bit field masks: */
#define SPI_CPSR_CPSDVSR_Msk 0x000000FFUL /*!< Clock division factor. Bit0 always 0 */
/*-- IMSC: Mask interrupt register ---------------------------------------------------------------------------*/
typedef struct {
uint32_t RORIM :1; /*!< Interrupt mask bit SSPRORINTR buffer overflow receiver */
uint32_t RTIM :1; /*!< Interrupt mask bit SSPRTINTR timeout receiver */
uint32_t RXIM :1; /*!< SSPRXINTR interrupt mask bit to fill 50% or less of the receiver FIFO buffer */
uint32_t TXIM :1; /*!< SSPTXINTR interrupt mask bit to fill 50% or less of the FIFO buffer of the transmitter */
} _SPI_IMSC_bits;
/* Bit field positions: */
#define SPI_IMSC_RORIM_Pos 0 /*!< Interrupt mask bit SSPRORINTR buffer overflow receiver */
#define SPI_IMSC_RTIM_Pos 1 /*!< Interrupt mask bit SSPRTINTR timeout receiver */
#define SPI_IMSC_RXIM_Pos 2 /*!< SSPRXINTR interrupt mask bit to fill 50% or less of the receiver FIFO buffer */
#define SPI_IMSC_TXIM_Pos 3 /*!< SSPTXINTR interrupt mask bit to fill 50% or less of the FIFO buffer of the transmitter */
/* Bit field masks: */
#define SPI_IMSC_RORIM_Msk 0x00000001UL /*!< Interrupt mask bit SSPRORINTR buffer overflow receiver */
#define SPI_IMSC_RTIM_Msk 0x00000002UL /*!< Interrupt mask bit SSPRTINTR timeout receiver */
#define SPI_IMSC_RXIM_Msk 0x00000004UL /*!< SSPRXINTR interrupt mask bit to fill 50% or less of the receiver FIFO buffer */
#define SPI_IMSC_TXIM_Msk 0x00000008UL /*!< SSPTXINTR interrupt mask bit to fill 50% or less of the FIFO buffer of the transmitter */
/*-- RIS: Status register interrupt without mask -------------------------------------------------------------*/
typedef struct {
uint32_t RORRIS :1; /*!< Interrupt status before masking SSPRORINTR */
uint32_t RTRIS :1; /*!< Interrupt status before masking SSPRTINTR */
uint32_t RXRIS :1; /*!< Interrupt status before masking SSPRXINTR */
uint32_t TXRIS :1; /*!< Interrupt status before masking SSPTXINTR */
} _SPI_RIS_bits;
/* Bit field positions: */
#define SPI_RIS_RORRIS_Pos 0 /*!< Interrupt status before masking SSPRORINTR */
#define SPI_RIS_RTRIS_Pos 1 /*!< Interrupt status before masking SSPRTINTR */
#define SPI_RIS_RXRIS_Pos 2 /*!< Interrupt status before masking SSPRXINTR */
#define SPI_RIS_TXRIS_Pos 3 /*!< Interrupt status before masking SSPTXINTR */
/* Bit field masks: */
#define SPI_RIS_RORRIS_Msk 0x00000001UL /*!< Interrupt status before masking SSPRORINTR */
#define SPI_RIS_RTRIS_Msk 0x00000002UL /*!< Interrupt status before masking SSPRTINTR */
#define SPI_RIS_RXRIS_Msk 0x00000004UL /*!< Interrupt status before masking SSPRXINTR */
#define SPI_RIS_TXRIS_Msk 0x00000008UL /*!< Interrupt status before masking SSPTXINTR */
/*-- MIS: Status register interrupt masking account ----------------------------------------------------------*/
typedef struct {
uint32_t RORRIS :1; /*!< Masked interrupt status SSPRORINTR */
uint32_t RTRIS :1; /*!< Masked interrupt status SSPRTINTR */
uint32_t RXRIS :1; /*!< Masked interrupt status SSPRXINTR */
uint32_t TXRIS :1; /*!< Masked interrupt status SSPTXINTR */
} _SPI_MIS_bits;
/* Bit field positions: */
#define SPI_MIS_RORRIS_Pos 0 /*!< Masked interrupt status SSPRORINTR */
#define SPI_MIS_RTRIS_Pos 1 /*!< Masked interrupt status SSPRTINTR */
#define SPI_MIS_RXRIS_Pos 2 /*!< Masked interrupt status SSPRXINTR */
#define SPI_MIS_TXRIS_Pos 3 /*!< Masked interrupt status SSPTXINTR */
/* Bit field masks: */
#define SPI_MIS_RORRIS_Msk 0x00000001UL /*!< Masked interrupt status SSPRORINTR */
#define SPI_MIS_RTRIS_Msk 0x00000002UL /*!< Masked interrupt status SSPRTINTR */
#define SPI_MIS_RXRIS_Msk 0x00000004UL /*!< Masked interrupt status SSPRXINTR */
#define SPI_MIS_TXRIS_Msk 0x00000008UL /*!< Masked interrupt status SSPTXINTR */
/*-- ICR: Register reset interrupt ---------------------------------------------------------------------------*/
typedef struct {
uint32_t RORIC :1; /*!< Reset interrupt SSPRORINTR */
uint32_t RTIC :1; /*!< Reset interrupt SSPRTINTR */
} _SPI_ICR_bits;
/* Bit field positions: */
#define SPI_ICR_RORIC_Pos 0 /*!< Reset interrupt SSPRORINTR */
#define SPI_ICR_RTIC_Pos 1 /*!< Reset interrupt SSPRTINTR */
/* Bit field masks: */
#define SPI_ICR_RORIC_Msk 0x00000001UL /*!< Reset interrupt SSPRORINTR */
#define SPI_ICR_RTIC_Msk 0x00000002UL /*!< Reset interrupt SSPRTINTR */
/*-- DMACR: Control register DMA -----------------------------------------------------------------------------*/
typedef struct {
uint32_t RXDMAE :1; /*!< DMA enable bit at reception */
uint32_t TXDMAE :1; /*!< DMA enable bit transmission */
} _SPI_DMACR_bits;
/* Bit field positions: */
#define SPI_DMACR_RXDMAE_Pos 0 /*!< DMA enable bit at reception */
#define SPI_DMACR_TXDMAE_Pos 1 /*!< DMA enable bit transmission */
/* Bit field masks: */
#define SPI_DMACR_RXDMAE_Msk 0x00000001UL /*!< DMA enable bit at reception */
#define SPI_DMACR_TXDMAE_Msk 0x00000002UL /*!< DMA enable bit transmission */
typedef struct {
union { /*!< Control register 0 */
__IO uint32_t CR0; /*!< CR0 : type used for word access */
__IO _SPI_CR0_bits CR0_bit; /*!< CR0_bit: structure used for bit access */
};
union { /*!< Control register 1 */
__IO uint32_t CR1; /*!< CR1 : type used for word access */
__IO _SPI_CR1_bits CR1_bit; /*!< CR1_bit: structure used for bit access */
};
union { /*!< Data register */
__IO uint32_t DR; /*!< DR : type used for word access */
__IO _SPI_DR_bits DR_bit; /*!< DR_bit: structure used for bit access */
};
union { /*!< State register */
__I uint32_t SR; /*!< SR : type used for word access */
__I _SPI_SR_bits SR_bit; /*!< SR_bit: structure used for bit access */
};
union { /*!< Clock division factor register */
__IO uint32_t CPSR; /*!< CPSR : type used for word access */
__IO _SPI_CPSR_bits CPSR_bit; /*!< CPSR_bit: structure used for bit access */
};
union { /*!< Mask interrupt register */
__IO uint32_t IMSC; /*!< IMSC : type used for word access */
__IO _SPI_IMSC_bits IMSC_bit; /*!< IMSC_bit: structure used for bit access */
};
union { /*!< Status register interrupt without mask */
__I uint32_t RIS; /*!< RIS : type used for word access */
__I _SPI_RIS_bits RIS_bit; /*!< RIS_bit: structure used for bit access */
};
union { /*!< Status register interrupt masking account */
__I uint32_t MIS; /*!< MIS : type used for word access */
__I _SPI_MIS_bits MIS_bit; /*!< MIS_bit: structure used for bit access */
};
union { /*!< Register reset interrupt */
__O uint32_t ICR; /*!< ICR : type used for word access */
__O _SPI_ICR_bits ICR_bit; /*!< ICR_bit: structure used for bit access */
};
union { /*!< Control register DMA */
__IO uint32_t DMACR; /*!< DMACR : type used for word access */
__IO _SPI_DMACR_bits DMACR_bit; /*!< DMACR_bit: structure used for bit access */
};
} SPI_TypeDef;
/******************************************************************************/
/* I2C registers */
/******************************************************************************/
/*-- SDA: Data register --------------------------------------------------------------------------------------*/
typedef struct {
uint32_t DATA :8; /*!< Data field */
} _I2C_SDA_bits;
/* Bit field positions: */
#define I2C_SDA_DATA_Pos 0 /*!< Data field */
/* Bit field masks: */
#define I2C_SDA_DATA_Msk 0x000000FFUL /*!< Data field */
/*-- ST: Status register -------------------------------------------------------------------------------------*/
typedef struct {
uint32_t MODE :6; /*!< Status code */
uint32_t :1; /*!< RESERVED */
uint32_t INT :1; /*!< Interrupt flag */
} _I2C_ST_bits;
/* Bit field positions: */
#define I2C_ST_MODE_Pos 0 /*!< Status code */
#define I2C_ST_INT_Pos 7 /*!< Interrupt flag */
/* Bit field masks: */
#define I2C_ST_MODE_Msk 0x0000003FUL /*!< Status code */
#define I2C_ST_INT_Msk 0x00000080UL /*!< Interrupt flag */
/* Bit field enums: */
typedef enum {
I2C_ST_MODE_IDLE = 0x0UL, /*!< General - Idle, no valid status information available */
I2C_ST_MODE_STDONE = 0x1UL, /*!< FS master - Start condition generated */
I2C_ST_MODE_RSDONE = 0x2UL, /*!< FS master - Repeated start condition generated */
I2C_ST_MODE_IDLARL = 0x3UL, /*!< FS master - Arbitration lost, unaddressed slave mode entered */
I2C_ST_MODE_MTADPA = 0x4UL, /*!< FS master transmit - Slave address sent, positive ACK */
I2C_ST_MODE_MTADNA = 0x5UL, /*!< FS master transmit - Slave address sent, negative ACK */
I2C_ST_MODE_MTDAPA = 0x6UL, /*!< FS master transmit - Data byte sent, positive ACK */
I2C_ST_MODE_MTDANA = 0x7UL, /*!< FS master transmit - Data byte sent, negative ACK */
I2C_ST_MODE_MRADPA = 0x8UL, /*!< FS master receive - Slave addres sent, positive ACK */
I2C_ST_MODE_MRADNA = 0x9UL, /*!< FS master receive - Slave addres sent, negative ACK */
I2C_ST_MODE_MRDAPA = 0xAUL, /*!< FS master receive - Data byte received, positive ACK */
I2C_ST_MODE_MRDANA = 0xBUL, /*!< FS master receive - Data byte received, negative ACK */
I2C_ST_MODE_MTMCER = 0xCUL, /*!< FS master - Mastercode transmitted, error detected (positive ACK) */
I2C_ST_MODE_SRADPA = 0x10UL, /*!< FS slave receive - Slave address received, positive ACK */
I2C_ST_MODE_SRAAPA = 0x11UL, /*!< FS slave receive - Slave address received after arbitration loss, positive ACK */
I2C_ST_MODE_SRDAPA = 0x12UL, /*!< FS slave receive - Data byte received, positive ACK */
I2C_ST_MODE_SRDANA = 0x13UL, /*!< FS slave receive - Data byte received, negative ACK */
I2C_ST_MODE_STADPA = 0x14UL, /*!< FS slave transmit - Slave address received, positive ACK */
I2C_ST_MODE_STAAPA = 0x15UL, /*!< FS slave transmit - Slave address received, negative ACK */
I2C_ST_MODE_STDAPA = 0x16UL, /*!< FS slave transmit - Data byte sent, positive ACK */
I2C_ST_MODE_STDANA = 0x17UL, /*!< FS slave transmit - Data byte sent, negative ACK */
I2C_ST_MODE_SATADP = 0x18UL, /*!< FS slave transmit alert response - Alert response address received, positive ACK */
I2C_ST_MODE_SATAAP = 0x19UL, /*!< FS slave transmit alert response - Alert response address received after arbitration loss, positive ACK */
I2C_ST_MODE_SATDAP = 0x1AUL, /*!< FS slave transmit alert response - Alert response data byte sent, positive ACK */
I2C_ST_MODE_SATDAN = 0x1BUL, /*!< FS slave transmit alert response - Alert response data byte sent, negative ACK */
I2C_ST_MODE_SSTOP = 0x1CUL, /*!< FS slave - Slave mode stop condition detected */
I2C_ST_MODE_SGADPA = 0x1DUL, /*!< FS slave - Global call address received, positive ACK */
I2C_ST_MODE_SDAAPA = 0x1EUL, /*!< FS slave - Global call address received after arbitration loss, positive ACK */
I2C_ST_MODE_BERROR = 0x1FUL, /*!< General - Bus error detected (invalid start or stop condition */
I2C_ST_MODE_HMTMCOK = 0x21UL, /*!< HS master - Master code transmitted OK - switched to HS mode */
I2C_ST_MODE_HRSDONE = 0x22UL, /*!< HS master - Repeated start condition generated */
I2C_ST_MODE_HIDLARL = 0x23UL, /*!< HS master - Arbitration lost, HS unaddressed slave mode entered */
I2C_ST_MODE_HMTADPA = 0x24UL, /*!< HS master transmit - Slave address sent, positive ACK */
I2C_ST_MODE_HMTADNA = 0x25UL, /*!< HS master transmit - Slave address sent, negative ACK */
I2C_ST_MODE_HMTDAPA = 0x26UL, /*!< HS master transmit - Data byte sent, positive ACK */
I2C_ST_MODE_HMTDANA = 0x27UL, /*!< HS master transmit - Data byte sent, negative ACK */
I2C_ST_MODE_HMRADPA = 0x28UL, /*!< HS master receive - Slave address sent, positive ACK */
I2C_ST_MODE_HMRADNA = 0x29UL, /*!< HS master receive - Slave address sent, negative ACK */
I2C_ST_MODE_HMRDAPA = 0x2AUL, /*!< HS master receive - Data byte received, positive ACK */
I2C_ST_MODE_HMRDANA = 0x2BUL, /*!< HS master receive - Data byte received, negative ACK */
I2C_ST_MODE_HSRADPA = 0x30UL, /*!< HS slave receive - Slave address received, positive ACK */
I2C_ST_MODE_HSRDAPA = 0x32UL, /*!< HS slave receive - Data byte received, positive ACK */
I2C_ST_MODE_HSRDANA = 0x33UL, /*!< HS slave receive - Data byte received, negative ACK */
I2C_ST_MODE_HSTADPA = 0x34UL, /*!< HS slave transmit - Slave address received, positive ACK */
I2C_ST_MODE_HSTDAPA = 0x36UL, /*!< HS slave transmit - Data byte sent, positive ACK */
I2C_ST_MODE_HSTDANA = 0x37UL, /*!< HS slave transmit - Data byte sent, negative ACK */
} I2C_ST_MODE_Enum;
/*-- CST: Status and control register ------------------------------------------------------------------------*/
typedef struct {
uint32_t BB :1; /*!< Bus Busy */
uint32_t TOCDIV :2; /*!< SMBus Timeout Divider */
uint32_t TOERR :1; /*!< SMBus Timeout Error */
uint32_t TSDA :1; /*!< Bit test SDA */
uint32_t TGSCL :1; /*!< Toggle SCL */
uint32_t PECNEXT :1; /*!< PEC Next */
uint32_t PECFAULT :1; /*!< Packet Error Fault */
} _I2C_CST_bits;
/* Bit field positions: */
#define I2C_CST_BB_Pos 0 /*!< Bus Busy */
#define I2C_CST_TOCDIV_Pos 1 /*!< SMBus Timeout Divider */
#define I2C_CST_TOERR_Pos 3 /*!< SMBus Timeout Error */
#define I2C_CST_TSDA_Pos 4 /*!< Bit test SDA */
#define I2C_CST_TGSCL_Pos 5 /*!< Toggle SCL */
#define I2C_CST_PECNEXT_Pos 6 /*!< PEC Next */
#define I2C_CST_PECFAULT_Pos 7 /*!< Packet Error Fault */
/* Bit field masks: */
#define I2C_CST_BB_Msk 0x00000001UL /*!< Bus Busy */
#define I2C_CST_TOCDIV_Msk 0x00000006UL /*!< SMBus Timeout Divider */
#define I2C_CST_TOERR_Msk 0x00000008UL /*!< SMBus Timeout Error */
#define I2C_CST_TSDA_Msk 0x00000010UL /*!< Bit test SDA */
#define I2C_CST_TGSCL_Msk 0x00000020UL /*!< Toggle SCL */
#define I2C_CST_PECNEXT_Msk 0x00000040UL /*!< PEC Next */
#define I2C_CST_PECFAULT_Msk 0x00000080UL /*!< Packet Error Fault */
/* Bit field enums: */
typedef enum {
I2C_CST_TOCDIV_Disable = 0x0UL, /*!< disable clock */
I2C_CST_TOCDIV_Div4 = 0x1UL, /*!< clock divided by 4 */
I2C_CST_TOCDIV_Div8 = 0x2UL, /*!< clock divided by 8 */
I2C_CST_TOCDIV_Div16 = 0x3UL, /*!< clock divided by 16 */
} I2C_CST_TOCDIV_Enum;
/*-- CTL0: Control register 0 --------------------------------------------------------------------------------*/
typedef struct {
uint32_t START :1; /*!< Start bit */
uint32_t STOP :1; /*!< Stop bit */
uint32_t INTEN :1; /*!< Interrupt enable bit */
uint32_t :1; /*!< RESERVED */
uint32_t ACK :1; /*!< Acknowledge bit */
uint32_t GCMEN :1; /*!< Global call match enable */
uint32_t SMBARE :1; /*!< SMBus Alert Response Match Enable */
uint32_t CLRST :1; /*!< Clear interrupt status */
} _I2C_CTL0_bits;
/* Bit field positions: */
#define I2C_CTL0_START_Pos 0 /*!< Start bit */
#define I2C_CTL0_STOP_Pos 1 /*!< Stop bit */
#define I2C_CTL0_INTEN_Pos 2 /*!< Interrupt enable bit */
#define I2C_CTL0_ACK_Pos 4 /*!< Acknowledge bit */
#define I2C_CTL0_GCMEN_Pos 5 /*!< Global call match enable */
#define I2C_CTL0_SMBARE_Pos 6 /*!< SMBus Alert Response Match Enable */
#define I2C_CTL0_CLRST_Pos 7 /*!< Clear interrupt status */
/* Bit field masks: */
#define I2C_CTL0_START_Msk 0x00000001UL /*!< Start bit */
#define I2C_CTL0_STOP_Msk 0x00000002UL /*!< Stop bit */
#define I2C_CTL0_INTEN_Msk 0x00000004UL /*!< Interrupt enable bit */
#define I2C_CTL0_ACK_Msk 0x00000010UL /*!< Acknowledge bit */
#define I2C_CTL0_GCMEN_Msk 0x00000020UL /*!< Global call match enable */
#define I2C_CTL0_SMBARE_Msk 0x00000040UL /*!< SMBus Alert Response Match Enable */
#define I2C_CTL0_CLRST_Msk 0x00000080UL /*!< Clear interrupt status */
/*-- ADDR: Register own address ------------------------------------------------------------------------------*/
typedef struct {
uint32_t ADDR :7; /*!< Own 7-bit address */
uint32_t SAEN :1; /*!< Enable address recognition */
} _I2C_ADDR_bits;
/* Bit field positions: */
#define I2C_ADDR_ADDR_Pos 0 /*!< Own 7-bit address */
#define I2C_ADDR_SAEN_Pos 7 /*!< Enable address recognition */
/* Bit field masks: */
#define I2C_ADDR_ADDR_Msk 0x0000007FUL /*!< Own 7-bit address */
#define I2C_ADDR_SAEN_Msk 0x00000080UL /*!< Enable address recognition */
/*-- CTL1: Control register 1 --------------------------------------------------------------------------------*/
typedef struct {
uint32_t ENABLE :1; /*!< Enable I2C */
uint32_t SCLFRQ :7; /*!< SCL frequency (bits [6:0]) */
} _I2C_CTL1_bits;
/* Bit field positions: */
#define I2C_CTL1_ENABLE_Pos 0 /*!< Enable I2C */
#define I2C_CTL1_SCLFRQ_Pos 1 /*!< SCL frequency (bits [6:0]) */
/* Bit field masks: */
#define I2C_CTL1_ENABLE_Msk 0x00000001UL /*!< Enable I2C */
#define I2C_CTL1_SCLFRQ_Msk 0x000000FEUL /*!< SCL frequency (bits [6:0]) */
/*-- TOPR: Prescaler load register ---------------------------------------------------------------------------*/
typedef struct {
uint32_t SMBTOPR :8; /*!< Prescaler reload value */
} _I2C_TOPR_bits;
/* Bit field positions: */
#define I2C_TOPR_SMBTOPR_Pos 0 /*!< Prescaler reload value */
/* Bit field masks: */
#define I2C_TOPR_SMBTOPR_Msk 0x000000FFUL /*!< Prescaler reload value */
/*-- CTL2: Control register 2 --------------------------------------------------------------------------------*/
typedef struct {
uint32_t S10ADR :3; /*!< Upper bits of 10-bit slave address */
uint32_t S10EN :1; /*!< Enabled 10-bit slave address */
uint32_t HSDIV :4; /*!< SCL frequency select in HS master mode (bits [3:0]) */
} _I2C_CTL2_bits;
/* Bit field positions: */
#define I2C_CTL2_S10ADR_Pos 0 /*!< Upper bits of 10-bit slave address */
#define I2C_CTL2_S10EN_Pos 3 /*!< Enabled 10-bit slave address */
#define I2C_CTL2_HSDIV_Pos 4 /*!< SCL frequency select in HS master mode (bits [3:0]) */
/* Bit field masks: */
#define I2C_CTL2_S10ADR_Msk 0x00000007UL /*!< Upper bits of 10-bit slave address */
#define I2C_CTL2_S10EN_Msk 0x00000008UL /*!< Enabled 10-bit slave address */
#define I2C_CTL2_HSDIV_Msk 0x000000F0UL /*!< SCL frequency select in HS master mode (bits [3:0]) */
/*-- CTL3: Control register 3 --------------------------------------------------------------------------------*/
typedef struct {
uint32_t SCLFRQ :8; /*!< SCL frequency (bits [14:7]) */
} _I2C_CTL3_bits;
/* Bit field positions: */
#define I2C_CTL3_SCLFRQ_Pos 0 /*!< SCL frequency (bits [14:7]) */
/* Bit field masks: */
#define I2C_CTL3_SCLFRQ_Msk 0x000000FFUL /*!< SCL frequency (bits [14:7]) */
/*-- CTL4: Control Register 4 --------------------------------------------------------------------------------*/
typedef struct {
uint32_t HSDIV :8; /*!< SCL frequency select in HS master mode (bits [11:4]) */
} _I2C_CTL4_bits;
/* Bit field positions: */
#define I2C_CTL4_HSDIV_Pos 0 /*!< SCL frequency select in HS master mode (bits [11:4]) */
/* Bit field masks: */
#define I2C_CTL4_HSDIV_Msk 0x000000FFUL /*!< SCL frequency select in HS master mode (bits [11:4]) */
typedef struct {
union { /*!< Data register */
__IO uint32_t SDA; /*!< SDA : type used for word access */
__IO _I2C_SDA_bits SDA_bit; /*!< SDA_bit: structure used for bit access */
};
union { /*!< Status register */
__I uint32_t ST; /*!< ST : type used for word access */
__I _I2C_ST_bits ST_bit; /*!< ST_bit: structure used for bit access */
};
union { /*!< Status and control register */
__IO uint32_t CST; /*!< CST : type used for word access */
__IO _I2C_CST_bits CST_bit; /*!< CST_bit: structure used for bit access */
};
union { /*!< Control register 0 */
__IO uint32_t CTL0; /*!< CTL0 : type used for word access */
__IO _I2C_CTL0_bits CTL0_bit; /*!< CTL0_bit: structure used for bit access */
};
union { /*!< Register own address */
__IO uint32_t ADDR; /*!< ADDR : type used for word access */
__IO _I2C_ADDR_bits ADDR_bit; /*!< ADDR_bit: structure used for bit access */
};
union { /*!< Control register 1 */
__IO uint32_t CTL1; /*!< CTL1 : type used for word access */
__IO _I2C_CTL1_bits CTL1_bit; /*!< CTL1_bit: structure used for bit access */
};
union { /*!< Prescaler load register */
__IO uint32_t TOPR; /*!< TOPR : type used for word access */
__IO _I2C_TOPR_bits TOPR_bit; /*!< TOPR_bit: structure used for bit access */
};
union { /*!< Control register 2 */
__IO uint32_t CTL2; /*!< CTL2 : type used for word access */
__IO _I2C_CTL2_bits CTL2_bit; /*!< CTL2_bit: structure used for bit access */
};
union { /*!< Control register 3 */
__IO uint32_t CTL3; /*!< CTL3 : type used for word access */
__IO _I2C_CTL3_bits CTL3_bit; /*!< CTL3_bit: structure used for bit access */
};
union { /*!< Control Register 4 */
__IO uint32_t CTL4; /*!< CTL4 : type used for word access */
__IO _I2C_CTL4_bits CTL4_bit; /*!< CTL4_bit: structure used for bit access */
};
} I2C_TypeDef;
/******************************************************************************/
/* CAN registers */
/******************************************************************************/
/*-- CLC: CAN Clock Control Register -------------------------------------------------------------------------*/
typedef struct {
uint32_t DISR :1; /*!< Module Disable Request bit */
uint32_t DISS :1; /*!< Module Disable Status Bit */
uint32_t SPEN :1; /*!< Module Suspend Enable for debug */
uint32_t :1; /*!< RESERVED */
uint32_t SBWE :1; /*!< Module Suspend Bit Write Enable */
uint32_t FSOE :1; /*!< Fast Shut-off Enable */
} _CAN_CLC_bits;
/* Bit field positions: */
#define CAN_CLC_DISR_Pos 0 /*!< Module Disable Request bit */
#define CAN_CLC_DISS_Pos 1 /*!< Module Disable Status Bit */
#define CAN_CLC_SPEN_Pos 2 /*!< Module Suspend Enable for debug */
#define CAN_CLC_SBWE_Pos 4 /*!< Module Suspend Bit Write Enable */
#define CAN_CLC_FSOE_Pos 5 /*!< Fast Shut-off Enable */
/* Bit field masks: */
#define CAN_CLC_DISR_Msk 0x00000001UL /*!< Module Disable Request bit */
#define CAN_CLC_DISS_Msk 0x00000002UL /*!< Module Disable Status Bit */
#define CAN_CLC_SPEN_Msk 0x00000004UL /*!< Module Suspend Enable for debug */
#define CAN_CLC_SBWE_Msk 0x00000010UL /*!< Module Suspend Bit Write Enable */
#define CAN_CLC_FSOE_Msk 0x00000020UL /*!< Fast Shut-off Enable */
/*-- ID: Module Identification Register ----------------------------------------------------------------------*/
typedef struct {
uint32_t MODREV :8; /*!< Module Revision Number */
uint32_t MODTYPE :8; /*!< Module type */
uint32_t MODNUM :16; /*!< Module Number Value */
} _CAN_ID_bits;
/* Bit field positions: */
#define CAN_ID_MODREV_Pos 0 /*!< Module Revision Number */
#define CAN_ID_MODTYPE_Pos 8 /*!< Module type */
#define CAN_ID_MODNUM_Pos 16 /*!< Module Number Value */
/* Bit field masks: */
#define CAN_ID_MODREV_Msk 0x000000FFUL /*!< Module Revision Number */
#define CAN_ID_MODTYPE_Msk 0x0000FF00UL /*!< Module type */
#define CAN_ID_MODNUM_Msk 0xFFFF0000UL /*!< Module Number Value */
/*-- FDR: Fractional Divider Register ------------------------------------------------------------------------*/
typedef struct {
uint32_t STEP :10; /*!< Step Value */
uint32_t :1; /*!< RESERVED */
uint32_t SM :1; /*!< Suspend Mode */
uint32_t SC :2; /*!< Suspend Control */
uint32_t DM :2; /*!< Divider Mode */
uint32_t RESULT :10; /*!< Result Value */
uint32_t :2; /*!< RESERVED */
uint32_t SUSACK :1; /*!< Suspend Mode Acknowledge */
uint32_t SUSREQ :1; /*!< Suspend Mode Request */
uint32_t ENHW :1; /*!< Enable Hardware Clock Control */
uint32_t DISCLK :1; /*!< Disable Clock */
} _CAN_FDR_bits;
/* Bit field positions: */
#define CAN_FDR_STEP_Pos 0 /*!< Step Value */
#define CAN_FDR_SM_Pos 11 /*!< Suspend Mode */
#define CAN_FDR_SC_Pos 12 /*!< Suspend Control */
#define CAN_FDR_DM_Pos 14 /*!< Divider Mode */
#define CAN_FDR_RESULT_Pos 16 /*!< Result Value */
#define CAN_FDR_SUSACK_Pos 28 /*!< Suspend Mode Acknowledge */
#define CAN_FDR_SUSREQ_Pos 29 /*!< Suspend Mode Request */
#define CAN_FDR_ENHW_Pos 30 /*!< Enable Hardware Clock Control */
#define CAN_FDR_DISCLK_Pos 31 /*!< Disable Clock */
/* Bit field masks: */
#define CAN_FDR_STEP_Msk 0x000003FFUL /*!< Step Value */
#define CAN_FDR_SM_Msk 0x00000800UL /*!< Suspend Mode */
#define CAN_FDR_SC_Msk 0x00003000UL /*!< Suspend Control */
#define CAN_FDR_DM_Msk 0x0000C000UL /*!< Divider Mode */
#define CAN_FDR_RESULT_Msk 0x03FF0000UL /*!< Result Value */
#define CAN_FDR_SUSACK_Msk 0x10000000UL /*!< Suspend Mode Acknowledge */
#define CAN_FDR_SUSREQ_Msk 0x20000000UL /*!< Suspend Mode Request */
#define CAN_FDR_ENHW_Msk 0x40000000UL /*!< Enable Hardware Clock Control */
#define CAN_FDR_DISCLK_Msk 0x80000000UL /*!< Disable Clock */
/* Bit field enums: */
typedef enum {
CAN_FDR_DM_Disable = 0x0UL, /*!< counter disabled */
CAN_FDR_DM_NormalMode = 0x1UL, /*!< normal operation mode */
CAN_FDR_DM_DividerMode = 0x2UL, /*!< divider operation mode */
} CAN_FDR_DM_Enum;
/*-- LIST: LIST: List Register0 -------------------------------------------------------------------------------*/
typedef struct {
uint32_t BEGIN :8; /*!< List Begin */
uint32_t END :8; /*!< List End */
uint32_t SIZE :8; /*!< List Size */
uint32_t EMPTY :1; /*!< List Empty Indication */
} _CAN_LIST_LIST_bits;
/* Bit field positions: */
#define CAN_LIST_LIST_BEGIN_Pos 0 /*!< List Begin */
#define CAN_LIST_LIST_END_Pos 8 /*!< List End */
#define CAN_LIST_LIST_SIZE_Pos 16 /*!< List Size */
#define CAN_LIST_LIST_EMPTY_Pos 24 /*!< List Empty Indication */
/* Bit field masks: */
#define CAN_LIST_LIST_BEGIN_Msk 0x000000FFUL /*!< List Begin */
#define CAN_LIST_LIST_END_Msk 0x0000FF00UL /*!< List End */
#define CAN_LIST_LIST_SIZE_Msk 0x00FF0000UL /*!< List Size */
#define CAN_LIST_LIST_EMPTY_Msk 0x01000000UL /*!< List Empty Indication */
/*-- MSPND: MSPND: Message Pending Register0 ------------------------------------------------------------------*/
typedef struct {
uint32_t PND :32; /*!< Message Pending */
} _CAN_MSPND_MSPND_bits;
/* Bit field positions: */
#define CAN_MSPND_MSPND_PND_Pos 0 /*!< Message Pending */
/* Bit field masks: */
#define CAN_MSPND_MSPND_PND_Msk 0xFFFFFFFFUL /*!< Message Pending */
/*-- MSID: MSID: Message Index Register0 ----------------------------------------------------------------------*/
typedef struct {
uint32_t INDEX :8; /*!< Message Pending Index */
} _CAN_MSID_MSID_bits;
/* Bit field positions: */
#define CAN_MSID_MSID_INDEX_Pos 0 /*!< Message Pending Index */
/* Bit field masks: */
#define CAN_MSID_MSID_INDEX_Msk 0x000000FFUL /*!< Message Pending Index */
/*-- MSIMASK: Message Index Mask Register --------------------------------------------------------------------*/
typedef struct {
uint32_t IM :32; /*!< Message Index Mask */
} _CAN_MSIMASK_bits;
/* Bit field positions: */
#define CAN_MSIMASK_IM_Pos 0 /*!< Message Index Mask */
/* Bit field masks: */
#define CAN_MSIMASK_IM_Msk 0xFFFFFFFFUL /*!< Message Index Mask */
/*-- PANCTR: Panel Control Register --------------------------------------------------------------------------*/
typedef struct {
uint32_t PANCMD :8; /*!< Panel Command */
uint32_t BUSY :1; /*!< Panel Busy Flag */
uint32_t RBUSY :1; /*!< Result Busy Flag */
uint32_t :6; /*!< RESERVED */
uint32_t PANAR1 :8; /*!< Panel argument 1 */
uint32_t PANAR2 :8; /*!< Panel argument 2 */
} _CAN_PANCTR_bits;
/* Bit field positions: */
#define CAN_PANCTR_PANCMD_Pos 0 /*!< Panel Command */
#define CAN_PANCTR_BUSY_Pos 8 /*!< Panel Busy Flag */
#define CAN_PANCTR_RBUSY_Pos 9 /*!< Result Busy Flag */
#define CAN_PANCTR_PANAR1_Pos 16 /*!< Panel argument 1 */
#define CAN_PANCTR_PANAR2_Pos 24 /*!< Panel argument 2 */
/* Bit field masks: */
#define CAN_PANCTR_PANCMD_Msk 0x000000FFUL /*!< Panel Command */
#define CAN_PANCTR_BUSY_Msk 0x00000100UL /*!< Panel Busy Flag */
#define CAN_PANCTR_RBUSY_Msk 0x00000200UL /*!< Result Busy Flag */
#define CAN_PANCTR_PANAR1_Msk 0x00FF0000UL /*!< Panel argument 1 */
#define CAN_PANCTR_PANAR2_Msk 0xFF000000UL /*!< Panel argument 2 */
/*-- MCR: ---------------------------------------------------------------------------------------------------*/
typedef struct {
uint32_t :12; /*!< RESERVED */
uint32_t MPSEL :4; /*!< Message Pending Selector */
} _CAN_MCR_bits;
/* Bit field positions: */
#define CAN_MCR_MPSEL_Pos 12 /*!< Message Pending Selector */
/* Bit field masks: */
#define CAN_MCR_MPSEL_Msk 0x0000F000UL /*!< Message Pending Selector */
/*-- MITR: Module Interrupt Trigger Register -----------------------------------------------------------------*/
typedef struct {
uint32_t IT :16; /*!< Interrupt Trigger */
} _CAN_MITR_bits;
/* Bit field positions: */
#define CAN_MITR_IT_Pos 0 /*!< Interrupt Trigger */
/* Bit field masks: */
#define CAN_MITR_IT_Msk 0x0000FFFFUL /*!< Interrupt Trigger */
/*-- Node: NCR: Node control register0 ------------------------------------------------------------------------*/
typedef struct {
uint32_t INIT :1; /*!< Node Initialization */
uint32_t TRIE :1; /*!< Transfer Interrupt Enable */
uint32_t LECIE :1; /*!< LEC Indicated Error Interrupt Enable */
uint32_t ALIE :1; /*!< Alert Interrupt Enable */
uint32_t CANDIS :1; /*!< CAN Disable */
uint32_t :1; /*!< RESERVED */
uint32_t CCE :1; /*!< Configuration Change Enable */
uint32_t CALM :1; /*!< CAN Analyzer Mode */
uint32_t SUSEN :1; /*!< Suspend Enable */
} _CAN_Node_NCR_bits;
/* Bit field positions: */
#define CAN_Node_NCR_INIT_Pos 0 /*!< Node Initialization */
#define CAN_Node_NCR_TRIE_Pos 1 /*!< Transfer Interrupt Enable */
#define CAN_Node_NCR_LECIE_Pos 2 /*!< LEC Indicated Error Interrupt Enable */
#define CAN_Node_NCR_ALIE_Pos 3 /*!< Alert Interrupt Enable */
#define CAN_Node_NCR_CANDIS_Pos 4 /*!< CAN Disable */
#define CAN_Node_NCR_CCE_Pos 6 /*!< Configuration Change Enable */
#define CAN_Node_NCR_CALM_Pos 7 /*!< CAN Analyzer Mode */
#define CAN_Node_NCR_SUSEN_Pos 8 /*!< Suspend Enable */
/* Bit field masks: */
#define CAN_Node_NCR_INIT_Msk 0x00000001UL /*!< Node Initialization */
#define CAN_Node_NCR_TRIE_Msk 0x00000002UL /*!< Transfer Interrupt Enable */
#define CAN_Node_NCR_LECIE_Msk 0x00000004UL /*!< LEC Indicated Error Interrupt Enable */
#define CAN_Node_NCR_ALIE_Msk 0x00000008UL /*!< Alert Interrupt Enable */
#define CAN_Node_NCR_CANDIS_Msk 0x00000010UL /*!< CAN Disable */
#define CAN_Node_NCR_CCE_Msk 0x00000040UL /*!< Configuration Change Enable */
#define CAN_Node_NCR_CALM_Msk 0x00000080UL /*!< CAN Analyzer Mode */
#define CAN_Node_NCR_SUSEN_Msk 0x00000100UL /*!< Suspend Enable */
/*-- Node: NSR: Node Status Register0 -------------------------------------------------------------------------*/
typedef struct {
uint32_t LEC :3; /*!< Last Error Code */
uint32_t TXOK :1; /*!< Message Transmitted Successfully */
uint32_t RXOK :1; /*!< Message Received Successfully */
uint32_t ALERT :1; /*!< Alert Warning */
uint32_t EWRN :1; /*!< Error Warning Status */
uint32_t BOFF :1; /*!< Bus-Off Status */
uint32_t LLE :1; /*!< List Length Error */
uint32_t LOE :1; /*!< List Object Error */
uint32_t SUSACK :1; /*!< Suspend Acknowledge */
} _CAN_Node_NSR_bits;
/* Bit field positions: */
#define CAN_Node_NSR_LEC_Pos 0 /*!< Last Error Code */
#define CAN_Node_NSR_TXOK_Pos 3 /*!< Message Transmitted Successfully */
#define CAN_Node_NSR_RXOK_Pos 4 /*!< Message Received Successfully */
#define CAN_Node_NSR_ALERT_Pos 5 /*!< Alert Warning */
#define CAN_Node_NSR_EWRN_Pos 6 /*!< Error Warning Status */
#define CAN_Node_NSR_BOFF_Pos 7 /*!< Bus-Off Status */
#define CAN_Node_NSR_LLE_Pos 8 /*!< List Length Error */
#define CAN_Node_NSR_LOE_Pos 9 /*!< List Object Error */
#define CAN_Node_NSR_SUSACK_Pos 10 /*!< Suspend Acknowledge */
/* Bit field masks: */
#define CAN_Node_NSR_LEC_Msk 0x00000007UL /*!< Last Error Code */
#define CAN_Node_NSR_TXOK_Msk 0x00000008UL /*!< Message Transmitted Successfully */
#define CAN_Node_NSR_RXOK_Msk 0x00000010UL /*!< Message Received Successfully */
#define CAN_Node_NSR_ALERT_Msk 0x00000020UL /*!< Alert Warning */
#define CAN_Node_NSR_EWRN_Msk 0x00000040UL /*!< Error Warning Status */
#define CAN_Node_NSR_BOFF_Msk 0x00000080UL /*!< Bus-Off Status */
#define CAN_Node_NSR_LLE_Msk 0x00000100UL /*!< List Length Error */
#define CAN_Node_NSR_LOE_Msk 0x00000200UL /*!< List Object Error */
#define CAN_Node_NSR_SUSACK_Msk 0x00000400UL /*!< Suspend Acknowledge */
/* Bit field enums: */
typedef enum {
CAN_Node_NSR_LEC_NoErr = 0x0UL, /*!< no error */
CAN_Node_NSR_LEC_StuffErr = 0x1UL, /*!< stuff error */
CAN_Node_NSR_LEC_FormErr = 0x2UL, /*!< form error */
CAN_Node_NSR_LEC_AckErr = 0x3UL, /*!< acknowlegment error */
CAN_Node_NSR_LEC_Bit1Err = 0x4UL, /*!< bit 1 error */
CAN_Node_NSR_LEC_Bit0Err = 0x5UL, /*!< bit 0 error */
CAN_Node_NSR_LEC_CRCErr = 0x6UL, /*!< CRC error */
CAN_Node_NSR_LEC_WriteEn = 0x7UL, /*!< enable hardware write */
} CAN_Node_NSR_LEC_Enum;
/*-- Node: NIPR: Node Interrupt Pointer Register0 -------------------------------------------------------------*/
typedef struct {
uint32_t ALINP :4; /*!< Alert Interrupt Node Pointer */
uint32_t LECINP :4; /*!< Last Error Code Interrupt Node Pointer */
uint32_t TRINP :4; /*!< Transfer OK Interrupt Node Pointer */
uint32_t CFCINP :4; /*!< Frame Counter Interrupt Node Pointer */
} _CAN_Node_NIPR_bits;
/* Bit field positions: */
#define CAN_Node_NIPR_ALINP_Pos 0 /*!< Alert Interrupt Node Pointer */
#define CAN_Node_NIPR_LECINP_Pos 4 /*!< Last Error Code Interrupt Node Pointer */
#define CAN_Node_NIPR_TRINP_Pos 8 /*!< Transfer OK Interrupt Node Pointer */
#define CAN_Node_NIPR_CFCINP_Pos 12 /*!< Frame Counter Interrupt Node Pointer */
/* Bit field masks: */
#define CAN_Node_NIPR_ALINP_Msk 0x0000000FUL /*!< Alert Interrupt Node Pointer */
#define CAN_Node_NIPR_LECINP_Msk 0x000000F0UL /*!< Last Error Code Interrupt Node Pointer */
#define CAN_Node_NIPR_TRINP_Msk 0x00000F00UL /*!< Transfer OK Interrupt Node Pointer */
#define CAN_Node_NIPR_CFCINP_Msk 0x0000F000UL /*!< Frame Counter Interrupt Node Pointer */
/*-- Node: NPCR: Node Port Control Register0 ------------------------------------------------------------------*/
typedef struct {
uint32_t RXSEL :3; /*!< Receive Select */
uint32_t :5; /*!< RESERVED */
uint32_t LBM :1; /*!< Loop-Back Mode */
} _CAN_Node_NPCR_bits;
/* Bit field positions: */
#define CAN_Node_NPCR_RXSEL_Pos 0 /*!< Receive Select */
#define CAN_Node_NPCR_LBM_Pos 8 /*!< Loop-Back Mode */
/* Bit field masks: */
#define CAN_Node_NPCR_RXSEL_Msk 0x00000007UL /*!< Receive Select */
#define CAN_Node_NPCR_LBM_Msk 0x00000100UL /*!< Loop-Back Mode */
/*-- Node: NBTR: Node Bit Timing Register0 --------------------------------------------------------------------*/
typedef struct {
uint32_t BRP :6; /*!< Baud Rate Prescaler */
uint32_t SJW :2; /*!< Synchronization Jump Width */
uint32_t TSEG1 :4; /*!< Time Segment Before Sample Point */
uint32_t TSEG2 :3; /*!< Time Segment After Sample Point */
uint32_t DIV8 :1; /*!< Divide Prescaler Clock by 8 */
} _CAN_Node_NBTR_bits;
/* Bit field positions: */
#define CAN_Node_NBTR_BRP_Pos 0 /*!< Baud Rate Prescaler */
#define CAN_Node_NBTR_SJW_Pos 6 /*!< Synchronization Jump Width */
#define CAN_Node_NBTR_TSEG1_Pos 8 /*!< Time Segment Before Sample Point */
#define CAN_Node_NBTR_TSEG2_Pos 12 /*!< Time Segment After Sample Point */
#define CAN_Node_NBTR_DIV8_Pos 15 /*!< Divide Prescaler Clock by 8 */
/* Bit field masks: */
#define CAN_Node_NBTR_BRP_Msk 0x0000003FUL /*!< Baud Rate Prescaler */
#define CAN_Node_NBTR_SJW_Msk 0x000000C0UL /*!< Synchronization Jump Width */
#define CAN_Node_NBTR_TSEG1_Msk 0x00000F00UL /*!< Time Segment Before Sample Point */
#define CAN_Node_NBTR_TSEG2_Msk 0x00007000UL /*!< Time Segment After Sample Point */
#define CAN_Node_NBTR_DIV8_Msk 0x00008000UL /*!< Divide Prescaler Clock by 8 */
/*-- Node: NECNT: Node Error Counter Register0 ----------------------------------------------------------------*/
typedef struct {
uint32_t REC :8; /*!< Receive Error Counter */
uint32_t TEC :8; /*!< Transmit Error Counter */
uint32_t EWRNLVL :8; /*!< Error Warning Level */
uint32_t LETD :1; /*!< Last Error Transfer Direction */
uint32_t LEINC :1; /*!< Last Error Increment */
} _CAN_Node_NECNT_bits;
/* Bit field positions: */
#define CAN_Node_NECNT_REC_Pos 0 /*!< Receive Error Counter */
#define CAN_Node_NECNT_TEC_Pos 8 /*!< Transmit Error Counter */
#define CAN_Node_NECNT_EWRNLVL_Pos 16 /*!< Error Warning Level */
#define CAN_Node_NECNT_LETD_Pos 24 /*!< Last Error Transfer Direction */
#define CAN_Node_NECNT_LEINC_Pos 25 /*!< Last Error Increment */
/* Bit field masks: */
#define CAN_Node_NECNT_REC_Msk 0x000000FFUL /*!< Receive Error Counter */
#define CAN_Node_NECNT_TEC_Msk 0x0000FF00UL /*!< Transmit Error Counter */
#define CAN_Node_NECNT_EWRNLVL_Msk 0x00FF0000UL /*!< Error Warning Level */
#define CAN_Node_NECNT_LETD_Msk 0x01000000UL /*!< Last Error Transfer Direction */
#define CAN_Node_NECNT_LEINC_Msk 0x02000000UL /*!< Last Error Increment */
/*-- Node: NFCR: Node Frame Counter Register0 -----------------------------------------------------------------*/
typedef struct {
uint32_t CFC :16; /*!< CAN Frame Counter */
uint32_t CFSEL :3; /*!< CAN Frame Count Selection */
uint32_t CFMOD :2; /*!< CAN Frame Counter Mode */
uint32_t :1; /*!< RESERVED */
uint32_t CFCIE :1; /*!< CAN Frame Counter Interrupt Enable */
uint32_t CFCOV :1; /*!< CAN Frame Counter Overflow Flag */
} _CAN_Node_NFCR_bits;
/* Bit field positions: */
#define CAN_Node_NFCR_CFC_Pos 0 /*!< CAN Frame Counter */
#define CAN_Node_NFCR_CFSEL_Pos 16 /*!< CAN Frame Count Selection */
#define CAN_Node_NFCR_CFMOD_Pos 19 /*!< CAN Frame Counter Mode */
#define CAN_Node_NFCR_CFCIE_Pos 22 /*!< CAN Frame Counter Interrupt Enable */
#define CAN_Node_NFCR_CFCOV_Pos 23 /*!< CAN Frame Counter Overflow Flag */
/* Bit field masks: */
#define CAN_Node_NFCR_CFC_Msk 0x0000FFFFUL /*!< CAN Frame Counter */
#define CAN_Node_NFCR_CFSEL_Msk 0x00070000UL /*!< CAN Frame Count Selection */
#define CAN_Node_NFCR_CFMOD_Msk 0x00180000UL /*!< CAN Frame Counter Mode */
#define CAN_Node_NFCR_CFCIE_Msk 0x00400000UL /*!< CAN Frame Counter Interrupt Enable */
#define CAN_Node_NFCR_CFCOV_Msk 0x00800000UL /*!< CAN Frame Counter Overflow Flag */
//Cluster LIST:
typedef struct {
union {
/*!< List Register0 */
__I uint32_t LIST; /*!< LIST : type used for word access */
__I _CAN_LIST_LIST_bits LIST_bit; /*!< LIST_bit: structure used for bit access */
};
} _CAN_LIST_TypeDef;
//Cluster MSPND:
typedef struct {
union {
/*!< Message Pending Register0 */
__IO uint32_t MSPND; /*!< MSPND : type used for word access */
__IO _CAN_MSPND_MSPND_bits MSPND_bit; /*!< MSPND_bit: structure used for bit access */
};
} _CAN_MSPND_TypeDef;
//Cluster MSID:
typedef struct {
union {
/*!< Message Index Register0 */
__I uint32_t MSID; /*!< MSID : type used for word access */
__I _CAN_MSID_MSID_bits MSID_bit; /*!< MSID_bit: structure used for bit access */
};
} _CAN_MSID_TypeDef;
//Cluster Node:
typedef struct {
union {
/*!< Node control register0 */
__IO uint32_t NCR; /*!< NCR : type used for word access */
__IO _CAN_Node_NCR_bits NCR_bit; /*!< NCR_bit: structure used for bit access */
};
union {
/*!< Node Status Register0 */
__IO uint32_t NSR; /*!< NSR : type used for word access */
__IO _CAN_Node_NSR_bits NSR_bit; /*!< NSR_bit: structure used for bit access */
};
union {
/*!< Node Interrupt Pointer Register0 */
__IO uint32_t NIPR; /*!< NIPR : type used for word access */
__IO _CAN_Node_NIPR_bits NIPR_bit; /*!< NIPR_bit: structure used for bit access */
};
union {
/*!< Node Port Control Register0 */
__IO uint32_t NPCR; /*!< NPCR : type used for word access */
__IO _CAN_Node_NPCR_bits NPCR_bit; /*!< NPCR_bit: structure used for bit access */
};
union {
/*!< Node Bit Timing Register0 */
__IO uint32_t NBTR; /*!< NBTR : type used for word access */
__IO _CAN_Node_NBTR_bits NBTR_bit; /*!< NBTR_bit: structure used for bit access */
};
union {
/*!< Node Error Counter Register0 */
__IO uint32_t NECNT; /*!< NECNT : type used for word access */
__IO _CAN_Node_NECNT_bits NECNT_bit; /*!< NECNT_bit: structure used for bit access */
};
union {
/*!< Node Frame Counter Register0 */
__IO uint32_t NFCR; /*!< NFCR : type used for word access */
__IO _CAN_Node_NFCR_bits NFCR_bit; /*!< NFCR_bit: structure used for bit access */
};
__IO uint32_t Reserved0[57];
} _CAN_Node_TypeDef;
typedef struct {
union { /*!< CAN Clock Control Register */
__IO uint32_t CLC; /*!< CLC : type used for word access */
__IO _CAN_CLC_bits CLC_bit; /*!< CLC_bit: structure used for bit access */
};
__IO uint32_t Reserved0;
union { /*!< Module Identification Register */
__IO uint32_t ID; /*!< ID : type used for word access */
__IO _CAN_ID_bits ID_bit; /*!< ID_bit: structure used for bit access */
};
union { /*!< Fractional Divider Register */
__IO uint32_t FDR; /*!< FDR : type used for word access */
__IO _CAN_FDR_bits FDR_bit; /*!< FDR_bit: structure used for bit access */
};
__IO uint32_t Reserved1[60];
_CAN_LIST_TypeDef LIST[8];
__IO uint32_t Reserved2[8];
_CAN_MSPND_TypeDef MSPND[8];
__IO uint32_t Reserved3[8];
_CAN_MSID_TypeDef MSID[8];
__IO uint32_t Reserved4[8];
union { /*!< Message Index Mask Register */
__IO uint32_t MSIMASK; /*!< MSIMASK : type used for word access */
__IO _CAN_MSIMASK_bits MSIMASK_bit; /*!< MSIMASK_bit: structure used for bit access */
};
union { /*!< Panel Control Register */
__IO uint32_t PANCTR; /*!< PANCTR : type used for word access */
__IO _CAN_PANCTR_bits PANCTR_bit; /*!< PANCTR_bit: structure used for bit access */
};
union { /*!< */
__IO uint32_t MCR; /*!< MCR : type used for word access */
__IO _CAN_MCR_bits MCR_bit; /*!< MCR_bit: structure used for bit access */
};
union { /*!< Module Interrupt Trigger Register */
__O uint32_t MITR; /*!< MITR : type used for word access */
__O _CAN_MITR_bits MITR_bit; /*!< MITR_bit: structure used for bit access */
};
__IO uint32_t Reserved5[12];
_CAN_Node_TypeDef Node[2];
} CAN_TypeDef;
/******************************************************************************/
/* CANMSG registers */
/******************************************************************************/
/*-- Msg: MOFCR: Message Object Function Control Register0 ----------------------------------------------------*/
typedef struct {
uint32_t MMC :4; /*!< Message Mode Control */
uint32_t :4; /*!< RESERVED */
uint32_t GDFS :1; /*!< Gateway Data Frame Selected */
uint32_t IDC :1; /*!< Identifier Copy */
uint32_t DLCC :1; /*!< Data Lengh Code Copy */
uint32_t DATC :1; /*!< Data Copy */
uint32_t :4; /*!< RESERVED */
uint32_t RXIE :1; /*!< Receive Interrupt Enable */
uint32_t TXIE :1; /*!< Transmit Interrupt Enable */
uint32_t OVIE :1; /*!< Overflow Interrupt Enable */
uint32_t :1; /*!< RESERVED */
uint32_t FRREN :1; /*!< Foreign Remote Request Enable */
uint32_t RMM :1; /*!< Transmit Object Remote Monitoring */
uint32_t SDT :1; /*!< Single Data Transfer */
uint32_t STT :1; /*!< Single Transmit Trial */
uint32_t DLC :4; /*!< Data Length Code */
} _CANMSG_Msg_MOFCR_bits;
/* Bit field positions: */
#define CANMSG_Msg_MOFCR_MMC_Pos 0 /*!< Message Mode Control */
#define CANMSG_Msg_MOFCR_GDFS_Pos 8 /*!< Gateway Data Frame Selected */
#define CANMSG_Msg_MOFCR_IDC_Pos 9 /*!< Identifier Copy */
#define CANMSG_Msg_MOFCR_DLCC_Pos 10 /*!< Data Lengh Code Copy */
#define CANMSG_Msg_MOFCR_DATC_Pos 11 /*!< Data Copy */
#define CANMSG_Msg_MOFCR_RXIE_Pos 16 /*!< Receive Interrupt Enable */
#define CANMSG_Msg_MOFCR_TXIE_Pos 17 /*!< Transmit Interrupt Enable */
#define CANMSG_Msg_MOFCR_OVIE_Pos 18 /*!< Overflow Interrupt Enable */
#define CANMSG_Msg_MOFCR_FRREN_Pos 20 /*!< Foreign Remote Request Enable */
#define CANMSG_Msg_MOFCR_RMM_Pos 21 /*!< Transmit Object Remote Monitoring */
#define CANMSG_Msg_MOFCR_SDT_Pos 22 /*!< Single Data Transfer */
#define CANMSG_Msg_MOFCR_STT_Pos 23 /*!< Single Transmit Trial */
#define CANMSG_Msg_MOFCR_DLC_Pos 24 /*!< Data Length Code */
/* Bit field masks: */
#define CANMSG_Msg_MOFCR_MMC_Msk 0x0000000FUL /*!< Message Mode Control */
#define CANMSG_Msg_MOFCR_GDFS_Msk 0x00000100UL /*!< Gateway Data Frame Selected */
#define CANMSG_Msg_MOFCR_IDC_Msk 0x00000200UL /*!< Identifier Copy */
#define CANMSG_Msg_MOFCR_DLCC_Msk 0x00000400UL /*!< Data Lengh Code Copy */
#define CANMSG_Msg_MOFCR_DATC_Msk 0x00000800UL /*!< Data Copy */
#define CANMSG_Msg_MOFCR_RXIE_Msk 0x00010000UL /*!< Receive Interrupt Enable */
#define CANMSG_Msg_MOFCR_TXIE_Msk 0x00020000UL /*!< Transmit Interrupt Enable */
#define CANMSG_Msg_MOFCR_OVIE_Msk 0x00040000UL /*!< Overflow Interrupt Enable */
#define CANMSG_Msg_MOFCR_FRREN_Msk 0x00100000UL /*!< Foreign Remote Request Enable */
#define CANMSG_Msg_MOFCR_RMM_Msk 0x00200000UL /*!< Transmit Object Remote Monitoring */
#define CANMSG_Msg_MOFCR_SDT_Msk 0x00400000UL /*!< Single Data Transfer */
#define CANMSG_Msg_MOFCR_STT_Msk 0x00800000UL /*!< Single Transmit Trial */
#define CANMSG_Msg_MOFCR_DLC_Msk 0x0F000000UL /*!< Data Length Code */
/* Bit field enums: */
typedef enum {
CANMSG_Msg_MOFCR_MMC_MsgObj = 0x0UL, /*!< message object */
CANMSG_Msg_MOFCR_MMC_RXObj = 0x1UL, /*!< receiver FIFO structure object */
CANMSG_Msg_MOFCR_MMC_TXObj = 0x2UL, /*!< transmitter FIFO structure object */
CANMSG_Msg_MOFCR_MMC_SlaveTXObj = 0x3UL, /*!< transmitter FIFO structure slave object */
CANMSG_Msg_MOFCR_MMC_SrcObj = 0x4UL, /*!< gateway source object */
} CANMSG_Msg_MOFCR_MMC_Enum;
/*-- Msg: MOFGPR: Message Object FIFO/Gateway Pointer Register0 -----------------------------------------------*/
typedef struct {
uint32_t BOT :8; /*!< Botom Pointer */
uint32_t TOP :8; /*!< Top Pointer */
uint32_t CUR :8; /*!< Current Object Pointer */
uint32_t SEL :8; /*!< Object Select Pointer */
} _CANMSG_Msg_MOFGPR_bits;
/* Bit field positions: */
#define CANMSG_Msg_MOFGPR_BOT_Pos 0 /*!< Botom Pointer */
#define CANMSG_Msg_MOFGPR_TOP_Pos 8 /*!< Top Pointer */
#define CANMSG_Msg_MOFGPR_CUR_Pos 16 /*!< Current Object Pointer */
#define CANMSG_Msg_MOFGPR_SEL_Pos 24 /*!< Object Select Pointer */
/* Bit field masks: */
#define CANMSG_Msg_MOFGPR_BOT_Msk 0x000000FFUL /*!< Botom Pointer */
#define CANMSG_Msg_MOFGPR_TOP_Msk 0x0000FF00UL /*!< Top Pointer */
#define CANMSG_Msg_MOFGPR_CUR_Msk 0x00FF0000UL /*!< Current Object Pointer */
#define CANMSG_Msg_MOFGPR_SEL_Msk 0xFF000000UL /*!< Object Select Pointer */
/*-- Msg: MOIPR: Message Object Interrupt Pointer Register0 ---------------------------------------------------*/
typedef struct {
uint32_t RXINP :4; /*!< Receive Interrupt Node Pointer */
uint32_t TXINP :4; /*!< Transmit Interrupt Node Pointer */
uint32_t MPN :8; /*!< Message Pending Number */
uint32_t CFCVAL :16; /*!< CAN Frame Counter Value */
} _CANMSG_Msg_MOIPR_bits;
/* Bit field positions: */
#define CANMSG_Msg_MOIPR_RXINP_Pos 0 /*!< Receive Interrupt Node Pointer */
#define CANMSG_Msg_MOIPR_TXINP_Pos 4 /*!< Transmit Interrupt Node Pointer */
#define CANMSG_Msg_MOIPR_MPN_Pos 8 /*!< Message Pending Number */
#define CANMSG_Msg_MOIPR_CFCVAL_Pos 16 /*!< CAN Frame Counter Value */
/* Bit field masks: */
#define CANMSG_Msg_MOIPR_RXINP_Msk 0x0000000FUL /*!< Receive Interrupt Node Pointer */
#define CANMSG_Msg_MOIPR_TXINP_Msk 0x000000F0UL /*!< Transmit Interrupt Node Pointer */
#define CANMSG_Msg_MOIPR_MPN_Msk 0x0000FF00UL /*!< Message Pending Number */
#define CANMSG_Msg_MOIPR_CFCVAL_Msk 0xFFFF0000UL /*!< CAN Frame Counter Value */
/*-- Msg: MOAMR: Message Object Acceptance Mask Register0 -----------------------------------------------------*/
typedef struct {
uint32_t AM :29; /*!< Acceptance Mask for Message Identifier */
uint32_t MIDE :1; /*!< Acceptance Mask Bit for Message IDE Bit */
} _CANMSG_Msg_MOAMR_bits;
/* Bit field positions: */
#define CANMSG_Msg_MOAMR_AM_Pos 0 /*!< Acceptance Mask for Message Identifier */
#define CANMSG_Msg_MOAMR_MIDE_Pos 29 /*!< Acceptance Mask Bit for Message IDE Bit */
/* Bit field masks: */
#define CANMSG_Msg_MOAMR_AM_Msk 0x1FFFFFFFUL /*!< Acceptance Mask for Message Identifier */
#define CANMSG_Msg_MOAMR_MIDE_Msk 0x20000000UL /*!< Acceptance Mask Bit for Message IDE Bit */
/*-- Msg: MODATAL: Message Object Data Register Low0 ----------------------------------------------------------*/
typedef struct {
uint32_t DB0 :8; /*!< Data byte 0 of message object */
uint32_t DB1 :8; /*!< Data byte 1 of message object */
uint32_t DB2 :8; /*!< Data byte 2 of message object */
uint32_t DB3 :8; /*!< Data byte 3 of message object */
} _CANMSG_Msg_MODATAL_bits;
/* Bit field positions: */
#define CANMSG_Msg_MODATAL_DB0_Pos 0 /*!< Data byte 0 of message object */
#define CANMSG_Msg_MODATAL_DB1_Pos 8 /*!< Data byte 1 of message object */
#define CANMSG_Msg_MODATAL_DB2_Pos 16 /*!< Data byte 2 of message object */
#define CANMSG_Msg_MODATAL_DB3_Pos 24 /*!< Data byte 3 of message object */
/* Bit field masks: */
#define CANMSG_Msg_MODATAL_DB0_Msk 0x000000FFUL /*!< Data byte 0 of message object */
#define CANMSG_Msg_MODATAL_DB1_Msk 0x0000FF00UL /*!< Data byte 1 of message object */
#define CANMSG_Msg_MODATAL_DB2_Msk 0x00FF0000UL /*!< Data byte 2 of message object */
#define CANMSG_Msg_MODATAL_DB3_Msk 0xFF000000UL /*!< Data byte 3 of message object */
/*-- Msg: MODATAH: Message Object Data Register High0 ---------------------------------------------------------*/
typedef struct {
uint32_t DB4 :8; /*!< Data byte 4 of message object */
uint32_t DB5 :8; /*!< Data byte 5 of message object */
uint32_t DB6 :8; /*!< Data byte 6 of message object */
uint32_t DB7 :8; /*!< Data byte 7 of message object */
} _CANMSG_Msg_MODATAH_bits;
/* Bit field positions: */
#define CANMSG_Msg_MODATAH_DB4_Pos 0 /*!< Data byte 4 of message object */
#define CANMSG_Msg_MODATAH_DB5_Pos 8 /*!< Data byte 5 of message object */
#define CANMSG_Msg_MODATAH_DB6_Pos 16 /*!< Data byte 6 of message object */
#define CANMSG_Msg_MODATAH_DB7_Pos 24 /*!< Data byte 7 of message object */
/* Bit field masks: */
#define CANMSG_Msg_MODATAH_DB4_Msk 0x000000FFUL /*!< Data byte 4 of message object */
#define CANMSG_Msg_MODATAH_DB5_Msk 0x0000FF00UL /*!< Data byte 5 of message object */
#define CANMSG_Msg_MODATAH_DB6_Msk 0x00FF0000UL /*!< Data byte 6 of message object */
#define CANMSG_Msg_MODATAH_DB7_Msk 0xFF000000UL /*!< Data byte 7 of message object */
/*-- Msg: MOAR: Message Object Arbitration Register0 ----------------------------------------------------------*/
typedef struct {
uint32_t ID :29; /*!< CAN identifier of Message Object */
uint32_t IDE :1; /*!< Identifier Extension Bit of Messgae Object */
uint32_t PRI :2; /*!< Priority Class */
} _CANMSG_Msg_MOAR_bits;
/* Bit field positions: */
#define CANMSG_Msg_MOAR_ID_Pos 0 /*!< CAN identifier of Message Object */
#define CANMSG_Msg_MOAR_IDE_Pos 29 /*!< Identifier Extension Bit of Messgae Object */
#define CANMSG_Msg_MOAR_PRI_Pos 30 /*!< Priority Class */
/* Bit field masks: */
#define CANMSG_Msg_MOAR_ID_Msk 0x1FFFFFFFUL /*!< CAN identifier of Message Object */
#define CANMSG_Msg_MOAR_IDE_Msk 0x20000000UL /*!< Identifier Extension Bit of Messgae Object */
#define CANMSG_Msg_MOAR_PRI_Msk 0xC0000000UL /*!< Priority Class */
/*-- Msg: MOCTR: Message Object Control Register0 -------------------------------------------------------------*/
typedef struct {
uint32_t RESRXPND :1; /*!< Reset Receive Pending */
uint32_t RESTXPND :1; /*!< Reset Transmit Pending */
uint32_t RESRXUPD :1; /*!< Reset Receive Updating */
uint32_t RESNEWDAT :1; /*!< Reset New Data */
uint32_t RESMSGLST :1; /*!< Reset Message Lost */
uint32_t RESMSGVAL :1; /*!< Reset Message Valid */
uint32_t RESRTSEL :1; /*!< Reset Receive/Transmit Selected */
uint32_t RESRXEN :1; /*!< Reset Receive Enable */
uint32_t RESTXRQ :1; /*!< Reset Transmit Request */
uint32_t RESTXEN0 :1; /*!< Reset Transmit Enable 0 */
uint32_t RESTXEN1 :1; /*!< Reset Transmit Enable 1 */
uint32_t RESDIR :1; /*!< Reset Message Direction */
uint32_t :4; /*!< RESERVED */
uint32_t SETRXPND :1; /*!< Set Receive Pending */
uint32_t SETTXPND :1; /*!< Set Transmit Pending */
uint32_t SETRXUPD :1; /*!< Set Receive Updating */
uint32_t SETNEWDAT :1; /*!< Set New Data */
uint32_t SETMSGLST :1; /*!< Set Message Lost */
uint32_t SETMSGVAL :1; /*!< Set Message Valid */
uint32_t SETRTSEL :1; /*!< Set Receive/Transmit Selected */
uint32_t SETRXEN :1; /*!< Set Receive Enable */
uint32_t SETTXRQ :1; /*!< Set Transmit Request */
uint32_t SETTXEN0 :1; /*!< Set Transmit Enable 0 */
uint32_t SETTXEN1 :1; /*!< Set Transmit Enable 1 */
uint32_t SETDIR :1; /*!< Set Message Direction */
} _CANMSG_Msg_MOCTR_bits;
/* Bit field positions: */
#define CANMSG_Msg_MOCTR_RESRXPND_Pos 0 /*!< Reset Receive Pending */
#define CANMSG_Msg_MOCTR_RESTXPND_Pos 1 /*!< Reset Transmit Pending */
#define CANMSG_Msg_MOCTR_RESRXUPD_Pos 2 /*!< Reset Receive Updating */
#define CANMSG_Msg_MOCTR_RESNEWDAT_Pos 3 /*!< Reset New Data */
#define CANMSG_Msg_MOCTR_RESMSGLST_Pos 4 /*!< Reset Message Lost */
#define CANMSG_Msg_MOCTR_RESMSGVAL_Pos 5 /*!< Reset Message Valid */
#define CANMSG_Msg_MOCTR_RESRTSEL_Pos 6 /*!< Reset Receive/Transmit Selected */
#define CANMSG_Msg_MOCTR_RESRXEN_Pos 7 /*!< Reset Receive Enable */
#define CANMSG_Msg_MOCTR_RESTXRQ_Pos 8 /*!< Reset Transmit Request */
#define CANMSG_Msg_MOCTR_RESTXEN0_Pos 9 /*!< Reset Transmit Enable 0 */
#define CANMSG_Msg_MOCTR_RESTXEN1_Pos 10 /*!< Reset Transmit Enable 1 */
#define CANMSG_Msg_MOCTR_RESDIR_Pos 11 /*!< Reset Message Direction */
#define CANMSG_Msg_MOCTR_SETRXPND_Pos 16 /*!< Set Receive Pending */
#define CANMSG_Msg_MOCTR_SETTXPND_Pos 17 /*!< Set Transmit Pending */
#define CANMSG_Msg_MOCTR_SETRXUPD_Pos 18 /*!< Set Receive Updating */
#define CANMSG_Msg_MOCTR_SETNEWDAT_Pos 19 /*!< Set New Data */
#define CANMSG_Msg_MOCTR_SETMSGLST_Pos 20 /*!< Set Message Lost */
#define CANMSG_Msg_MOCTR_SETMSGVAL_Pos 21 /*!< Set Message Valid */
#define CANMSG_Msg_MOCTR_SETRTSEL_Pos 22 /*!< Set Receive/Transmit Selected */
#define CANMSG_Msg_MOCTR_SETRXEN_Pos 23 /*!< Set Receive Enable */
#define CANMSG_Msg_MOCTR_SETTXRQ_Pos 24 /*!< Set Transmit Request */
#define CANMSG_Msg_MOCTR_SETTXEN0_Pos 25 /*!< Set Transmit Enable 0 */
#define CANMSG_Msg_MOCTR_SETTXEN1_Pos 26 /*!< Set Transmit Enable 1 */
#define CANMSG_Msg_MOCTR_SETDIR_Pos 27 /*!< Set Message Direction */
/* Bit field masks: */
#define CANMSG_Msg_MOCTR_RESRXPND_Msk 0x00000001UL /*!< Reset Receive Pending */
#define CANMSG_Msg_MOCTR_RESTXPND_Msk 0x00000002UL /*!< Reset Transmit Pending */
#define CANMSG_Msg_MOCTR_RESRXUPD_Msk 0x00000004UL /*!< Reset Receive Updating */
#define CANMSG_Msg_MOCTR_RESNEWDAT_Msk 0x00000008UL /*!< Reset New Data */
#define CANMSG_Msg_MOCTR_RESMSGLST_Msk 0x00000010UL /*!< Reset Message Lost */
#define CANMSG_Msg_MOCTR_RESMSGVAL_Msk 0x00000020UL /*!< Reset Message Valid */
#define CANMSG_Msg_MOCTR_RESRTSEL_Msk 0x00000040UL /*!< Reset Receive/Transmit Selected */
#define CANMSG_Msg_MOCTR_RESRXEN_Msk 0x00000080UL /*!< Reset Receive Enable */
#define CANMSG_Msg_MOCTR_RESTXRQ_Msk 0x00000100UL /*!< Reset Transmit Request */
#define CANMSG_Msg_MOCTR_RESTXEN0_Msk 0x00000200UL /*!< Reset Transmit Enable 0 */
#define CANMSG_Msg_MOCTR_RESTXEN1_Msk 0x00000400UL /*!< Reset Transmit Enable 1 */
#define CANMSG_Msg_MOCTR_RESDIR_Msk 0x00000800UL /*!< Reset Message Direction */
#define CANMSG_Msg_MOCTR_SETRXPND_Msk 0x00010000UL /*!< Set Receive Pending */
#define CANMSG_Msg_MOCTR_SETTXPND_Msk 0x00020000UL /*!< Set Transmit Pending */
#define CANMSG_Msg_MOCTR_SETRXUPD_Msk 0x00040000UL /*!< Set Receive Updating */
#define CANMSG_Msg_MOCTR_SETNEWDAT_Msk 0x00080000UL /*!< Set New Data */
#define CANMSG_Msg_MOCTR_SETMSGLST_Msk 0x00100000UL /*!< Set Message Lost */
#define CANMSG_Msg_MOCTR_SETMSGVAL_Msk 0x00200000UL /*!< Set Message Valid */
#define CANMSG_Msg_MOCTR_SETRTSEL_Msk 0x00400000UL /*!< Set Receive/Transmit Selected */
#define CANMSG_Msg_MOCTR_SETRXEN_Msk 0x00800000UL /*!< Set Receive Enable */
#define CANMSG_Msg_MOCTR_SETTXRQ_Msk 0x01000000UL /*!< Set Transmit Request */
#define CANMSG_Msg_MOCTR_SETTXEN0_Msk 0x02000000UL /*!< Set Transmit Enable 0 */
#define CANMSG_Msg_MOCTR_SETTXEN1_Msk 0x04000000UL /*!< Set Transmit Enable 1 */
#define CANMSG_Msg_MOCTR_SETDIR_Msk 0x08000000UL /*!< Set Message Direction */
/*-- Msg: MOSTAT: Message Object Status Register 0 ------------------------------------------------------------*/
typedef struct {
uint32_t RXPND :1; /*!< Receive Pending */
uint32_t TXPND :1; /*!< Transmit Pending */
uint32_t RXUPD :1; /*!< Receive Updating */
uint32_t NEWDAT :1; /*!< New Data */
uint32_t MSGLST :1; /*!< Message Lost */
uint32_t MSGVAL :1; /*!< Message Valid */
uint32_t RTSEL :1; /*!< Receive/Transmit Selected */
uint32_t RXEN :1; /*!< Receive Enable */
uint32_t TXRQ :1; /*!< Transmit Request */
uint32_t TXEN0 :1; /*!< Transmit Enable 0 */
uint32_t TXEN1 :1; /*!< Transmit Enable 1 */
uint32_t DIR :1; /*!< Message Direction */
uint32_t LIST :4; /*!< List Allocation */
uint32_t PPREV :8; /*!< Pointer To Previous Message Object */
uint32_t PNEXT :8; /*!< Pointer to Next Message Object */
} _CANMSG_Msg_MOSTAT_bits;
/* Bit field positions: */
#define CANMSG_Msg_MOSTAT_RXPND_Pos 0 /*!< Receive Pending */
#define CANMSG_Msg_MOSTAT_TXPND_Pos 1 /*!< Transmit Pending */
#define CANMSG_Msg_MOSTAT_RXUPD_Pos 2 /*!< Receive Updating */
#define CANMSG_Msg_MOSTAT_NEWDAT_Pos 3 /*!< New Data */
#define CANMSG_Msg_MOSTAT_MSGLST_Pos 4 /*!< Message Lost */
#define CANMSG_Msg_MOSTAT_MSGVAL_Pos 5 /*!< Message Valid */
#define CANMSG_Msg_MOSTAT_RTSEL_Pos 6 /*!< Receive/Transmit Selected */
#define CANMSG_Msg_MOSTAT_RXEN_Pos 7 /*!< Receive Enable */
#define CANMSG_Msg_MOSTAT_TXRQ_Pos 8 /*!< Transmit Request */
#define CANMSG_Msg_MOSTAT_TXEN0_Pos 9 /*!< Transmit Enable 0 */
#define CANMSG_Msg_MOSTAT_TXEN1_Pos 10 /*!< Transmit Enable 1 */
#define CANMSG_Msg_MOSTAT_DIR_Pos 11 /*!< Message Direction */
#define CANMSG_Msg_MOSTAT_LIST_Pos 12 /*!< List Allocation */
#define CANMSG_Msg_MOSTAT_PPREV_Pos 16 /*!< Pointer To Previous Message Object */
#define CANMSG_Msg_MOSTAT_PNEXT_Pos 24 /*!< Pointer to Next Message Object */
/* Bit field masks: */
#define CANMSG_Msg_MOSTAT_RXPND_Msk 0x00000001UL /*!< Receive Pending */
#define CANMSG_Msg_MOSTAT_TXPND_Msk 0x00000002UL /*!< Transmit Pending */
#define CANMSG_Msg_MOSTAT_RXUPD_Msk 0x00000004UL /*!< Receive Updating */
#define CANMSG_Msg_MOSTAT_NEWDAT_Msk 0x00000008UL /*!< New Data */
#define CANMSG_Msg_MOSTAT_MSGLST_Msk 0x00000010UL /*!< Message Lost */
#define CANMSG_Msg_MOSTAT_MSGVAL_Msk 0x00000020UL /*!< Message Valid */
#define CANMSG_Msg_MOSTAT_RTSEL_Msk 0x00000040UL /*!< Receive/Transmit Selected */
#define CANMSG_Msg_MOSTAT_RXEN_Msk 0x00000080UL /*!< Receive Enable */
#define CANMSG_Msg_MOSTAT_TXRQ_Msk 0x00000100UL /*!< Transmit Request */
#define CANMSG_Msg_MOSTAT_TXEN0_Msk 0x00000200UL /*!< Transmit Enable 0 */
#define CANMSG_Msg_MOSTAT_TXEN1_Msk 0x00000400UL /*!< Transmit Enable 1 */
#define CANMSG_Msg_MOSTAT_DIR_Msk 0x00000800UL /*!< Message Direction */
#define CANMSG_Msg_MOSTAT_LIST_Msk 0x0000F000UL /*!< List Allocation */
#define CANMSG_Msg_MOSTAT_PPREV_Msk 0x00FF0000UL /*!< Pointer To Previous Message Object */
#define CANMSG_Msg_MOSTAT_PNEXT_Msk 0xFF000000UL /*!< Pointer to Next Message Object */
//Cluster Msg:
typedef struct {
union {
/*!< Message Object Function Control Register0 */
__IO uint32_t MOFCR; /*!< MOFCR : type used for word access */
__IO _CANMSG_Msg_MOFCR_bits MOFCR_bit; /*!< MOFCR_bit: structure used for bit access */
};
union {
/*!< Message Object FIFO/Gateway Pointer Register0 */
__IO uint32_t MOFGPR; /*!< MOFGPR : type used for word access */
__IO _CANMSG_Msg_MOFGPR_bits MOFGPR_bit; /*!< MOFGPR_bit: structure used for bit access */
};
union {
/*!< Message Object Interrupt Pointer Register0 */
__IO uint32_t MOIPR; /*!< MOIPR : type used for word access */
__IO _CANMSG_Msg_MOIPR_bits MOIPR_bit; /*!< MOIPR_bit: structure used for bit access */
};
union {
/*!< Message Object Acceptance Mask Register0 */
__IO uint32_t MOAMR; /*!< MOAMR : type used for word access */
__IO _CANMSG_Msg_MOAMR_bits MOAMR_bit; /*!< MOAMR_bit: structure used for bit access */
};
union {
/*!< Message Object Data Register Low0 */
__IO uint32_t MODATAL; /*!< MODATAL : type used for word access */
__IO _CANMSG_Msg_MODATAL_bits MODATAL_bit; /*!< MODATAL_bit: structure used for bit access */
};
union {
/*!< Message Object Data Register High0 */
__IO uint32_t MODATAH; /*!< MODATAH : type used for word access */
__IO _CANMSG_Msg_MODATAH_bits MODATAH_bit; /*!< MODATAH_bit: structure used for bit access */
};
union {
/*!< Message Object Arbitration Register0 */
__IO uint32_t MOAR; /*!< MOAR : type used for word access */
__IO _CANMSG_Msg_MOAR_bits MOAR_bit; /*!< MOAR_bit: structure used for bit access */
};
union {
union {
/*!< Message Object Control Register0 */
__O uint32_t MOCTR; /*!< MOCTR : type used for word access */
__O _CANMSG_Msg_MOCTR_bits MOCTR_bit; /*!< MOCTR_bit: structure used for bit access */
};
union {
/*!< Message Object Status Register 0 */
__I uint32_t MOSTAT; /*!< MOSTAT : type used for word access */
__I _CANMSG_Msg_MOSTAT_bits MOSTAT_bit; /*!< MOSTAT_bit: structure used for bit access */
};
};
} _CANMSG_Msg_TypeDef;
typedef struct {
_CANMSG_Msg_TypeDef Msg[256];
} CANMSG_TypeDef;
/* ----------------- End of section using anonymous unions ---------------- */
#if defined(__CC_ARM)
#pragma pop
#elif defined(__ICCARM__)
/* leave anonymous unions enabled */
#elif defined(__GNUC__)
/* anonymous unions are enabled by default */
#elif defined(__TMS470__)
/* anonymous unions are enabled by default */
#elif defined(__TASKING__)
#pragma warning restore
#elif defined (__CMCPPARM__)
/* anonymous unions are enabled by default */
#else
#warning Not supported compiler type
#endif
/******************************************************************************/
/* Peripheral memory map */
/******************************************************************************/
#define ADC_BASE 0x40000000UL
#define GPIOA_BASE 0x40010000UL
#define GPIOB_BASE 0x40011000UL
#define CAN_BASE 0x40020000UL
#define CANMSG_BASE 0x40021000UL
#define MFLASH_BASE 0x40030000UL
#define SIU_BASE 0x40040000UL
#define RCU_BASE 0x40041000UL
#define PMU_BASE 0x40042000UL
#define WDT_BASE 0x40043000UL
#define DMA_BASE 0x40044000UL
#define UART0_BASE 0x40045000UL
#define UART1_BASE 0x40046000UL
#define SPI_BASE 0x40047000UL
#define TMR0_BASE 0x40048000UL
#define TMR1_BASE 0x40049000UL
#define TMR2_BASE 0x4004A000UL
#define TMR3_BASE 0x4004B000UL
#define PWM0_BASE 0x4004C000UL
#define PWM1_BASE 0x4004D000UL
#define PWM2_BASE 0x4004E000UL
#define QEP_BASE 0x4004F000UL
#define I2C_BASE 0x40050000UL
#define ECAP0_BASE 0x40051000UL
#define ECAP1_BASE 0x40052000UL
#define ECAP2_BASE 0x40053000UL
/******************************************************************************/
/* Peripheral declaration */
/******************************************************************************/
#define ADC ((ADC_TypeDef *) ADC_BASE)
#define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
#define GPIOB ((GPIO_TypeDef *) GPIOB_BASE)
#define CAN ((CAN_TypeDef *) CAN_BASE)
#define CANMSG ((CANMSG_TypeDef *) CANMSG_BASE)
#define MFLASH ((MFLASH_TypeDef *) MFLASH_BASE)
#define SIU ((SIU_TypeDef *) SIU_BASE)
#define RCU ((RCU_TypeDef *) RCU_BASE)
#define PMU ((PMU_TypeDef *) PMU_BASE)
#define WDT ((WDT_TypeDef *) WDT_BASE)
#define DMA ((DMA_TypeDef *) DMA_BASE)
#define UART0 ((UART_TypeDef *) UART0_BASE)
#define UART1 ((UART_TypeDef *) UART1_BASE)
#define SPI ((SPI_TypeDef *) SPI_BASE)
#define TMR0 ((TMR_TypeDef *) TMR0_BASE)
#define TMR1 ((TMR_TypeDef *) TMR1_BASE)
#define TMR2 ((TMR_TypeDef *) TMR2_BASE)
#define TMR3 ((TMR_TypeDef *) TMR3_BASE)
#define PWM0 ((PWM_TypeDef *) PWM0_BASE)
#define PWM1 ((PWM_TypeDef *) PWM1_BASE)
#define PWM2 ((PWM_TypeDef *) PWM2_BASE)
#define QEP ((QEP_TypeDef *) QEP_BASE)
#define I2C ((I2C_TypeDef *) I2C_BASE)
#define ECAP0 ((ECAP_TypeDef *) ECAP0_BASE)
#define ECAP1 ((ECAP_TypeDef *) ECAP1_BASE)
#define ECAP2 ((ECAP_TypeDef *) ECAP2_BASE)
/******************************************************************************/
/* Peripheral capabilities */
/******************************************************************************/
#define ADC_PRESENT
#define ADC_TOTAL 1
typedef enum {
ADC_Num
} ADC_Num_TypeDef;
#define GPIO_PRESENT
#define GPIO_TOTAL 2
typedef enum {
GPIOA_Num,
GPIOB_Num
} GPIO_Num_TypeDef;
#define CAN_PRESENT
#define CAN_TOTAL 1
typedef enum {
CAN_Num
} CAN_Num_TypeDef;
#define CANMSG_PRESENT
#define CANMSG_TOTAL 1
typedef enum {
CANMSG_Num
} CANMSG_Num_TypeDef;
#define MFLASH_PRESENT
#define MFLASH_TOTAL 1
typedef enum {
MFLASH_Num
} MFLASH_Num_TypeDef;
#define SIU_PRESENT
#define SIU_TOTAL 1
typedef enum {
SIU_Num
} SIU_Num_TypeDef;
#define RCU_PRESENT
#define RCU_TOTAL 1
typedef enum {
RCU_Num
} RCU_Num_TypeDef;
#define PMU_PRESENT
#define PMU_TOTAL 1
typedef enum {
PMU_Num
} PMU_Num_TypeDef;
#define WDT_PRESENT
#define WDT_TOTAL 1
typedef enum {
WDT_Num
} WDT_Num_TypeDef;
#define DMA_PRESENT
#define DMA_TOTAL 1
typedef enum {
DMA_Num
} DMA_Num_TypeDef;
#define UART_PRESENT
#define UART_TOTAL 2
typedef enum {
UART0_Num,
UART1_Num
} UART_Num_TypeDef;
#define SPI_PRESENT
#define SPI_TOTAL 1
typedef enum {
SPI_Num
} SPI_Num_TypeDef;
#define TMR_PRESENT
#define TMR_TOTAL 4
typedef enum {
TMR0_Num,
TMR1_Num,
TMR2_Num,
TMR3_Num
} TMR_Num_TypeDef;
#define PWM_PRESENT
#define PWM_TOTAL 3
typedef enum {
PWM0_Num,
PWM1_Num,
PWM2_Num
} PWM_Num_TypeDef;
#define QEP_PRESENT
#define QEP_TOTAL 1
typedef enum {
QEP_Num
} QEP_Num_TypeDef;
#define I2C_PRESENT
#define I2C_TOTAL 1
typedef enum {
I2C_Num
} I2C_Num_TypeDef;
#define ECAP_PRESENT
#define ECAP_TOTAL 3
typedef enum {
ECAP0_Num,
ECAP1_Num,
ECAP2_Num
} ECAP_Num_TypeDef;
/******************************************************************************/
/* Peripheral assertions */
/******************************************************************************/
#define IS_ADC_PERIPH(PERIPH) (((PERIPH) == ADC))
#define IS_GPIO_PERIPH(PERIPH) (((PERIPH) == GPIOA) || \
((PERIPH) == GPIOB))
#define IS_CAN_PERIPH(PERIPH) (((PERIPH) == CAN))
#define IS_CANMSG_PERIPH(PERIPH) (((PERIPH) == CANMSG))
#define IS_MFLASH_PERIPH(PERIPH) (((PERIPH) == MFLASH))
#define IS_SIU_PERIPH(PERIPH) (((PERIPH) == SIU))
#define IS_RCU_PERIPH(PERIPH) (((PERIPH) == RCU))
#define IS_PMU_PERIPH(PERIPH) (((PERIPH) == PMU))
#define IS_WDT_PERIPH(PERIPH) (((PERIPH) == WDT))
#define IS_DMA_PERIPH(PERIPH) (((PERIPH) == DMA))
#define IS_UART_PERIPH(PERIPH) (((PERIPH) == UART0) || \
((PERIPH) == UART1))
#define IS_SPI_PERIPH(PERIPH) (((PERIPH) == SPI))
#define IS_TMR_PERIPH(PERIPH) (((PERIPH) == TMR0) || \
((PERIPH) == TMR1) || \
((PERIPH) == TMR2) || \
((PERIPH) == TMR3))
#define IS_PWM_PERIPH(PERIPH) (((PERIPH) == PWM0) || \
((PERIPH) == PWM1) || \
((PERIPH) == PWM2))
#define IS_QEP_PERIPH(PERIPH) (((PERIPH) == QEP))
#define IS_I2C_PERIPH(PERIPH) (((PERIPH) == I2C))
#define IS_ECAP_PERIPH(PERIPH) (((PERIPH) == ECAP0) || \
((PERIPH) == ECAP1) || \
((PERIPH) == ECAP2))
#ifdef __cplusplus
}
#endif
#endif /* __K1921VK035_H */
/************************** (C) COPYRIGHT 2018 NIIET *************************
*
* END OF FILE K1921VK035.h */