/**
******************************************************************************
* @file opora_timer_defs.h
* @author Phyton Application Team
* @version V1.0.0
* @date
* @brief This file contains all the Special Function Registers definitions
* for the TIMER peripheral unit used in the Milandr OPORA
* microcontrollers.
******************************************************************************
* @copy
*
* 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, PHYTON SHALL 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.
*
* <h2><center>© COPYRIGHT 2010 Phyton</center></h2>
******************************************************************************
* FILE opora_timer_defs.h
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __OPORA_TIMER_DEFS_H
#define __OPORA_TIMER_DEFS_H
/** @addtogroup __CMSIS CMSIS
* @{
*/
/** @addtogroup __OPORA_Peripheral_Units OPORA Peripheral Units
* @{
*/
/** @defgroup Periph_TIMER TIMER
* @{
*/
/** @defgroup Periph_TIMER_Data_Structures Data Structures
* @{
*/
/** @defgroup Periph_TIMER_TypeDef TIMER_TypeDef
* @{
*/
typedef struct {
__IO uint32_t CNT;
__IO uint32_t PSG;
__IO uint32_t ARR;
__IO uint32_t CNTRL;
__IO uint32_t CCR1;
__IO uint32_t CCR2;
__IO uint32_t CCR3;
__IO uint32_t CCR4;
__IO uint32_t CH1_CNTRL;
__IO uint32_t CH2_CNTRL;
__IO uint32_t CH3_CNTRL;
__IO uint32_t CH4_CNTRL;
__IO uint32_t CH1_CNTRL1;
__IO uint32_t CH2_CNTRL1;
__IO uint32_t CH3_CNTRL1;
__IO uint32_t CH4_CNTRL1;
__IO uint32_t CH1_DTG;
__IO uint32_t CH2_DTG;
__IO uint32_t CH3_DTG;
__IO uint32_t CH4_DTG;
__IO uint32_t BRKETR_CNTRL;
__IO uint32_t STATUS;
__IO uint32_t IE;
__IO uint32_t DMA_RE;
__IO uint32_t CH1_CNTRL2;
__IO uint32_t CH2_CNTRL2;
__IO uint32_t CH3_CNTRL2;
__IO uint32_t CH4_CNTRL2;
__IO uint32_t CCR11;
__IO uint32_t CCR21;
__IO uint32_t CCR31;
__IO uint32_t CCR41;
} TIMER_TypeDef;
/** @} */ /* End of group Periph_TIMER_TypeDef */
/** @} */ /* End of group Periph_TIMER_Data_Structures */
/** @defgroup Periph_TIMER_Defines Defines
* @{
*/
/** @defgroup Periph_TIMER_TIMER_CNTRL_Bits TIMER_CNTRL
* @{
*/
#define TIMER_CNTRL_CNT_EN_OFFS 0
#define TIMER_CNTRL_CNT_EN ((uint32_t)0x00000001)
#define TIMER_CNTRL_ARRB_EN_OFFS 1
#define TIMER_CNTRL_ARRB_EN ((uint32_t)0x00000002)
#define TIMER_CNTRL_WR_CMPL_OFFS 2
#define TIMER_CNTRL_WR_CMPL ((uint32_t)0x00000004)
#define TIMER_CNTRL_DIR_OFFS 3
#define TIMER_CNTRL_DIR ((uint32_t)0x00000008)
#define TIMER_CNTRL_FDTS_OFFS 4
#define TIMER_CNTRL_FDTS_MASK ((uint32_t)0x00000030)
#define TIMER_CNTRL_CNT_MODE_OFFS 6
#define TIMER_CNTRL_CNT_MODE_MASK ((uint32_t)0x000000C0)
#define TIMER_CNTRL_EVENT_SEL_OFFS 8
#define TIMER_CNTRL_EVENT_SEL_MASK ((uint32_t)0x00000F00)
/** @} */ /* End of group Periph_TIMER_TIMER_CNTRL_Bits */
/** @} */ /* End of group Periph_TIMER_Defines */
/** @defgroup Periph_TIMER_Defines Defines
* @{
*/
/** @defgroup Periph_TIMER_TIMER_CH_CNTRL_Bits TIMER_CH_CNTRL
* @{
*/
#define TIMER_CH_CNTRL_CHFLTR_OFFS 0
#define TIMER_CH_CNTRL_CHFLTR_MASK ((uint32_t)0x0000000F)
#define TIMER_CH_CNTRL_CHSEL_OFFS 4
#define TIMER_CH_CNTRL_CHSEL_MASK ((uint32_t)0x00000030)
#define TIMER_CH_CNTRL_CHPSC_OFFS 6
#define TIMER_CH_CNTRL_CHPSC_MASK ((uint32_t)0x000000C0)
#define TIMER_CH_CNTRL_OCCE_OFFS 8
#define TIMER_CH_CNTRL_OCCE ((uint32_t)0x00000100)
#define TIMER_CH_CNTRL_OCCM_OFFS 9
#define TIMER_CH_CNTRL_OCCM_MASK ((uint32_t)0x00000E00)
#define TIMER_CH_CNTRL_BRKEN_OFFS 12
#define TIMER_CH_CNTRL_BRKEN ((uint32_t)0x00001000)
#define TIMER_CH_CNTRL_ETREN_OFFS 13
#define TIMER_CH_CNTRL_ETREN ((uint32_t)0x00002000)
#define TIMER_CH_CNTRL_WR_CMPL_OFFS 14
#define TIMER_CH_CNTRL_WR_CMPL ((uint32_t)0x00004000)
#define TIMER_CH_CNTRL_CAP_nPWM_OFFS 15
#define TIMER_CH_CNTRL_CAP_nPWM ((uint32_t)0x00008000)
/** @} */ /* End of group Periph_TIMER_TIMER_CH_CNTRL_Bits */
/** @} */ /* End of group Periph_TIMER_Defines */
/** @defgroup Periph_TIMER_Defines Defines
* @{
*/
/** @defgroup Periph_TIMER_TIMER_CH_CNTRL1_Bits TIMER_CH_CNTRL1
* @{
*/
#define TIMER_CH_CNTRL1_SELOE_OFFS 0
#define TIMER_CH_CNTRL1_SELOE_MASK ((uint32_t)0x00000003)
#define TIMER_CH_CNTRL1_SELO_OFFS 2
#define TIMER_CH_CNTRL1_SELO_MASK ((uint32_t)0x0000000C)
#define TIMER_CH_CNTRL1_INV_OFFS 4
#define TIMER_CH_CNTRL1_INV ((uint32_t)0x00000010)
#define TIMER_CH_CNTRL1_NSELOE_OFFS 8
#define TIMER_CH_CNTRL1_NSELOE_MASK ((uint32_t)0x00000300)
#define TIMER_CH_CNTRL1_NSELO_OFFS 10
#define TIMER_CH_CNTRL1_NSELO_MASK ((uint32_t)0x00000C00)
#define TIMER_CH_CNTRL1_NINV_OFFS 12
#define TIMER_CH_CNTRL1_NINV ((uint32_t)0x00001000)
/** @} */ /* End of group Periph_TIMER_TIMER_CH_CNTRL1_Bits */
/** @} */ /* End of group Periph_TIMER_Defines */
/** @defgroup Periph_TIMER_Defines Defines
* @{
*/
/** @defgroup Periph_TIMER_TIMER_CH_DTG_Bits TIMER_CH_DTG
* @{
*/
#define TIMER_CH_DTG_DTGx_OFFS 0
#define TIMER_CH_DTG_DTGx_MASK ((uint32_t)0x0000000F)
#define TIMER_CH_DTG_EDTS_OFFS 4
#define TIMER_CH_DTG_EDTS ((uint32_t)0x00000010)
#define TIMER_CH_DTG_OFFS 8
#define TIMER_CH_DTG_MASK ((uint32_t)0x0000FF00)
/** @} */ /* End of group Periph_TIMER_TIMER_CH_DTG_Bits */
/** @} */ /* End of group Periph_TIMER_Defines */
/** @defgroup Periph_TIMER_Defines Defines
* @{
*/
/** @defgroup Periph_TIMER_TIMER_BRKETR_CNTRL_Bits TIMER_BRKETR_CNTRL
* @{
*/
#define TIMER_BRKETR_CNTRL_BRK_INV_OFFS 0
#define TIMER_BRKETR_CNTRL_BRK_INV ((uint32_t)0x00000001)
#define TIMER_BRKETR_CNTRL_ETR_INV_OFFS 1
#define TIMER_BRKETR_CNTRL_ETR_INV ((uint32_t)0x00000002)
#define TIMER_BRKETR_CNTRL_ETR_PSC_OFFS 2
#define TIMER_BRKETR_CNTRL_ETR_PSC_MASK ((uint32_t)0x0000000C)
#define TIMER_BRKETR_CNTRL_ETR_FILTER_OFFS 4
#define TIMER_BRKETR_CNTRL_ETR_FILTER_MASK ((uint32_t)0x000000F0)
/** @} */ /* End of group Periph_TIMER_TIMER_BRKETR_CNTRL_Bits */
/** @} */ /* End of group Periph_TIMER_Defines */
/** @defgroup Periph_TIMER_Defines Defines
* @{
*/
/** @defgroup Periph_TIMER_TIMER_STATUS_Bits TIMER_STATUS
* @{
*/
#define TIMER_STATUS_CNT_ZERO_EVENT_OFFS 0
#define TIMER_STATUS_CNT_ZERO_EVENT ((uint32_t)0x00000001)
#define TIMER_STATUS_CNT_ARR_EVENT_OFFS 1
#define TIMER_STATUS_CNT_ARR_EVENT ((uint32_t)0x00000002)
#define TIMER_STATUS_ETR_RE_EVENT_OFFS 2
#define TIMER_STATUS_ETR_RE_EVENT ((uint32_t)0x00000004)
#define TIMER_STATUS_ETR_FE_EVENT_OFFS 3
#define TIMER_STATUS_ETR_FE_EVENT ((uint32_t)0x00000008)
#define TIMER_STATUS_BRK_EVENT_OFFS 4
#define TIMER_STATUS_BRK_EVENT ((uint32_t)0x00000010)
#define TIMER_STATUS_CCR_CAP_EVENT_OFFS 5
#define TIMER_STATUS_CCR_CAP_EVENT_MASK ((uint32_t)0x000001E0)
#define TIMER_STATUS_CCR_REF_EVENT_OFFS 9
#define TIMER_STATUS_CCR_REF_EVENT_MASK ((uint32_t)0x00001E00)
#define TIMER_STATUS_CCR1_CAP_EVENT_OFFS 13
#define TIMER_STATUS_CCR1_CAP_EVENT_MASK ((uint32_t)0x0001E000)
/** @} */ /* End of group Periph_TIMER_TIMER_STATUS_Bits */
/** @} */ /* End of group Periph_TIMER_Defines */
/** @defgroup Periph_TIMER_Defines Defines
* @{
*/
/** @defgroup Periph_TIMER_TIMER_IE_Bits TIMER_IE
* @{
*/
#define TIMER_IE_CNT_ZERO_EVENT_IE_OFFS 0
#define TIMER_IE_CNT_ZERO_EVENT_IE ((uint32_t)0x00000001)
#define TIMER_IE_CNT_ARR_EVENT_IE_OFFS 1
#define TIMER_IE_CNT_ARR_EVENT_IE ((uint32_t)0x00000002)
#define TIMER_IE_ETR_RE_EVENT_IE_OFFS 2
#define TIMER_IE_ETR_RE_EVENT_IE ((uint32_t)0x00000004)
#define TIMER_IE_ETR_FE_EVENT_IE_OFFS 3
#define TIMER_IE_ETR_FE_EVENT_IE ((uint32_t)0x00000008)
#define TIMER_IE_BRK_EVENT_IE_OFFS 4
#define TIMER_IE_BRK_EVENT_IE ((uint32_t)0x00000010)
#define TIMER_IE_CCR_CAP_EVENT_IE_OFFS 5
#define TIMER_IE_CCR_CAP_EVENT_IE_MASK ((uint32_t)0x000001E0)
#define TIMER_IE_CCR_REF_EVENT_IE_OFFS 9
#define TIMER_IE_CCR_REF_EVENT_IE_MASK ((uint32_t)0x00001E00)
/** @} */ /* End of group Periph_TIMER_TIMER_IE_Bits */
/** @} */ /* End of group Periph_TIMER_Defines */
/** @defgroup Periph_TIMER_Defines Defines
* @{
*/
/** @defgroup Periph_TIMER_TIMER_DMA_RE_Bits TIMER_DMA_RE
* @{
*/
#define TIMER_DMA_RE_CNT_ZERO_EVENT_RE_OFFS 0
#define TIMER_DMA_RE_CNT_ZERO_EVENT_RE ((uint32_t)0x00000001)
#define TIMER_DMA_RE_CNT_ARR_EVENT_RE_OFFS 1
#define TIMER_DMA_RE_CNT_ARR_EVENT_RE ((uint32_t)0x00000002)
#define TIMER_DMA_RE_ETR_RE_EVENT_RE_OFFS 2
#define TIMER_DMA_RE_ETR_RE_EVENT_RE ((uint32_t)0x00000004)
#define TIMER_DMA_RE_ETR_FE_EVENT_RE_OFFS 3
#define TIMER_DMA_RE_ETR_FE_EVENT_RE ((uint32_t)0x00000008)
#define TIMER_DMA_RE_BRK_EVENT_RE_OFFS 4
#define TIMER_DMA_RE_BRK_EVENT_RE ((uint32_t)0x00000010)
#define TIMER_DMA_RE_CCR_CAP_EVENT_RE_OFFS 5
#define TIMER_DMA_RE_CCR_CAP_EVENT_RE_MASK ((uint32_t)0x000001E0)
#define TIMER_DMA_RE_CCR_REF_EVENT_RE_OFFS 9
#define TIMER_DMA_RE_CCR_REF_EVENT_RE_MASK ((uint32_t)0x00001E00)
/** @} */ /* End of group Periph_TIMER_TIMER_DMA_RE_Bits */
/** @} */ /* End of group Periph_TIMER_Defines */
/** @defgroup Periph_TIMER_Defines Defines
* @{
*/
/** @defgroup Periph_TIMER_TIMER_CH_CNTRL2_Bits TIMER_CH_CNTRL2
* @{
*/
#define TIMER_CH_CNTRL2_CHSEL1_OFFS 0
#define TIMER_CH_CNTRL2_CHSEL1_MASK ((uint32_t)0x00000003)
#define TIMER_CH_CNTRL2_CCR1_EN_OFFS 2
#define TIMER_CH_CNTRL2_CCR1_EN ((uint32_t)0x00000004)
#define TIMER_CH_CNTRL2_CCRRLD_OFFS 3
#define TIMER_CH_CNTRL2_CCRRLD ((uint32_t)0x00000008)
/** @} */ /* End of group Periph_TIMER_TIMER_CH_CNTRL2_Bits */
/** @} */ /* End of group Periph_TIMER_Defines */
/** @} */ /* End of group Periph_TIMER */
/** @} */ /* End of group __OPORA_Peripheral_Units */
/** @} */ /* End of group __CMSIS */
#endif /* __OPORA_TIMER_DEFS_H */
/******************* (C) COPYRIGHT 2010 Phyton *********************************
*
* END OF FILE opora_timer_defs.h */