rt-thread-official/bsp/rx/RPDL/r_pdl_mtu2.h

523 lines
19 KiB
C

/*""FILE COMMENT""*******************************************************
* System Name : Multi-function Timer Pulse Unit API for RX62N
* File Name : r_pdl_mtu2.h
* Version : 1.02
* Contents : MTU2 API header
* Customer :
* Model :
* Order :
* CPU : RX
* Compiler : RXC
* OS : Nothing
* Programmer :
* Note :
************************************************************************
* Copyright, 2011. Renesas Electronics Corporation
* and Renesas Solutions Corporation
************************************************************************
* History : 2011.04.08
* : Ver 1.02
* : CS-5 release.
*""FILE COMMENT END""**************************************************/
#ifndef R_PDL_MTU2_H
#define R_PDL_MTU2_H
#include "r_pdl_common_defs_RX62Nxx.h"
/* Function prototypes */
bool R_MTU2_Set(
uint16_t
);
bool R_MTU2_Create(
uint8_t,
void *
);
bool R_MTU2_Destroy(
uint8_t
);
bool R_MTU2_ControlChannel(
uint8_t,
void *
);
bool R_MTU2_ControlUnit(
uint8_t,
void *
);
bool R_MTU2_ReadChannel(
uint8_t,
uint8_t *,
uint16_t *,
uint16_t *,
uint16_t *,
uint16_t *,
uint16_t *,
uint16_t *,
uint16_t *
);
bool R_MTU2_ReadUnit(
uint8_t,
uint16_t *,
uint8_t *
);
/* Pin selection */
#define PDL_MTU2_PIN_3C_A 0x0001u
#define PDL_MTU2_PIN_3C_B 0x0002u
#define PDL_MTU2_PIN_3BD_A 0x0004u
#define PDL_MTU2_PIN_3BD_B 0x0008u
#define PDL_MTU2_PIN_4AC_A 0x0010u
#define PDL_MTU2_PIN_4AC_B 0x0020u
#define PDL_MTU2_PIN_4BD_A 0x0040u
#define PDL_MTU2_PIN_4BD_B 0x0080u
#define PDL_MTU2_PIN_5UVW_A 0x0100u
#define PDL_MTU2_PIN_5UVW_B 0x0200u
#define PDL_MTU2_PIN_CLKABCD_A 0x0400u
#define PDL_MTU2_PIN_CLKABCD_B 0x0800u
#define PDL_MTU2_PIN_11UVW_A 0x1000u
#define PDL_MTU2_PIN_11UVW_B 0x2000u
#define PDL_MTU2_PIN_CLKEFGH_A 0x4000u
#define PDL_MTU2_PIN_CLKEFGH_B 0x8000u
/* Operation mode */
#define PDL_MTU2_MODE_NORMAL 0x00000001u
#define PDL_MTU2_MODE_PWM1 0x00000002u
#define PDL_MTU2_MODE_PWM2 0x00000004u
#define PDL_MTU2_MODE_PHASE1 0x00000008u
#define PDL_MTU2_MODE_PHASE2 0x00000010u
#define PDL_MTU2_MODE_PHASE3 0x00000020u
#define PDL_MTU2_MODE_PHASE4 0x00000040u
#define PDL_MTU2_MODE_PWM_RS 0x00000080u
#define PDL_MTU2_MODE_PWM_COMP1 0x00000100u
#define PDL_MTU2_MODE_PWM_COMP2 0x00000200u
#define PDL_MTU2_MODE_PWM_COMP3 0x00000400u
/* Synchronous mode control */
#define PDL_MTU2_SYNC_DISABLE 0x00000800u
#define PDL_MTU2_SYNC_ENABLE 0x00001000u
/* TGRA DMAC / DTC trigger control */
#define PDL_MTU2_TGRA_DMAC_DTC_TRIGGER_DISABLE 0x00002000u
#define PDL_MTU2_TGRA_DMAC_TRIGGER_ENABLE 0x00004000u
#define PDL_MTU2_TGRA_DTC_TRIGGER_ENABLE 0x00008000u
/* TGRB DTC trigger control */
#define PDL_MTU2_TGRB_DTC_TRIGGER_DISABLE 0x00010000u
#define PDL_MTU2_TGRB_DTC_TRIGGER_ENABLE 0x00020000u
/* TGRC DTC trigger control */
#define PDL_MTU2_TGRC_DTC_TRIGGER_DISABLE 0x00040000u
#define PDL_MTU2_TGRC_DTC_TRIGGER_ENABLE 0x00080000u
/* TGRD DTC trigger control */
#define PDL_MTU2_TGRD_DTC_TRIGGER_DISABLE 0x00100000u
#define PDL_MTU2_TGRD_DTC_TRIGGER_ENABLE 0x00200000u
/* TGRU DTC trigger control */
#define PDL_MTU2_TGRU_DTC_TRIGGER_DISABLE 0x00400000u
#define PDL_MTU2_TGRU_DTC_TRIGGER_ENABLE 0x00800000u
/* TGRV DTC trigger control */
#define PDL_MTU2_TGRV_DTC_TRIGGER_DISABLE 0x01000000u
#define PDL_MTU2_TGRV_DTC_TRIGGER_ENABLE 0x02000000u
/* TGRW DTC trigger control */
#define PDL_MTU2_TGRW_DTC_TRIGGER_DISABLE 0x04000000u
#define PDL_MTU2_TGRW_DTC_TRIGGER_ENABLE 0x08000000u
/* TCIV DTC trigger control */
#define PDL_MTU2_TCIV_DTC_TRIGGER_DISABLE 0x10000000u
#define PDL_MTU2_TCIV_DTC_TRIGGER_ENABLE 0x20000000u
/* TCNT counter clock sources */
#define PDL_MTU2_CLK_PCLK_DIV_1 0x00000001ul
#define PDL_MTU2_CLK_PCLK_DIV_4 0x00000002ul
#define PDL_MTU2_CLK_PCLK_DIV_16 0x00000004ul
#define PDL_MTU2_CLK_PCLK_DIV_64 0x00000008ul
#define PDL_MTU2_CLK_PCLK_DIV_256 0x00000010ul
#define PDL_MTU2_CLK_PCLK_DIV_1024 0x00000020ul
#define PDL_MTU2_CLK_MTCLKA 0x00000040ul
#define PDL_MTU2_CLK_MTCLKB 0x00000080ul
#define PDL_MTU2_CLK_MTCLKC 0x00000100ul
#define PDL_MTU2_CLK_MTCLKD 0x00000200ul
#define PDL_MTU2_CLK_MTCLKE 0x00000400ul
#define PDL_MTU2_CLK_MTCLKF 0x00000800ul
#define PDL_MTU2_CLK_MTCLKG 0x00001000ul
#define PDL_MTU2_CLK_MTCLKH 0x00002000ul
#define PDL_MTU2_CLK_CASCADE 0x00004000ul
/* TNCT counter clock edge selection */
#define PDL_MTU2_CLK_RISING 0x00008000ul
#define PDL_MTU2_CLK_FALLING 0x00010000ul
#define PDL_MTU2_CLK_BOTH 0x00020000ul
/* TCNT counter clearing options */
#define PDL_MTU2_CLEAR_DISABLE 0x00040000ul
#define PDL_MTU2_CLEAR_TGRA 0x00080000ul
#define PDL_MTU2_CLEAR_TGRB 0x00100000ul
#define PDL_MTU2_CLEAR_SYNC 0x00200000ul
#define PDL_MTU2_CLEAR_TGRC 0x00400000ul
#define PDL_MTU2_CLEAR_TGRD 0x00800000ul
/* TCNTU counter clock sources */
#define PDL_MTU2_CLKU_PCLK_DIV_1 0x00000001ul
#define PDL_MTU2_CLKU_PCLK_DIV_4 0x00000002ul
#define PDL_MTU2_CLKU_PCLK_DIV_16 0x00000004ul
#define PDL_MTU2_CLKU_PCLK_DIV_64 0x00000008ul
/* TCNTV counter clock sources */
#define PDL_MTU2_CLKV_PCLK_DIV_1 0x00000010ul
#define PDL_MTU2_CLKV_PCLK_DIV_4 0x00000020ul
#define PDL_MTU2_CLKV_PCLK_DIV_16 0x00000040ul
#define PDL_MTU2_CLKV_PCLK_DIV_64 0x00000080ul
/* TCNTW counter clock sources */
#define PDL_MTU2_CLKW_PCLK_DIV_1 0x00000100ul
#define PDL_MTU2_CLKW_PCLK_DIV_4 0x00000200ul
#define PDL_MTU2_CLKW_PCLK_DIV_16 0x00000400ul
#define PDL_MTU2_CLKW_PCLK_DIV_64 0x00000800ul
/* U,V,W counter clearing options */
#define PDL_MTU2_CLEAR_TGRU_DISABLE 0x00001000ul
#define PDL_MTU2_CLEAR_TGRU_ENABLE 0x00002000ul
#define PDL_MTU2_CLEAR_TGRV_DISABLE 0x00004000ul
#define PDL_MTU2_CLEAR_TGRV_ENABLE 0x00008000ul
#define PDL_MTU2_CLEAR_TGRW_DISABLE 0x00010000ul
#define PDL_MTU2_CLEAR_TGRW_ENABLE 0x00020000ul
/* ADC conversion trigger control */
#define PDL_MTU2_ADC_TRIG_TGRA_DISABLE 0x00000001ul
#define PDL_MTU2_ADC_TRIG_TGRA_ENABLE 0x00000002ul
#define PDL_MTU2_ADC_TRIG_TROUGH_DISABLE 0x00000004ul
#define PDL_MTU2_ADC_TRIG_TROUGH_ENABLE 0x00000008ul
/* ADC trigger interrupt skipping */
#define PDL_MTU2_ADC_TRIG_A_TROUGH_INT_SKIP_DISABLE 0x00000010ul
#define PDL_MTU2_ADC_TRIG_A_TROUGH_INT_SKIP_ENABLE 0x00000020ul
#define PDL_MTU2_ADC_TRIG_B_TROUGH_INT_SKIP_DISABLE 0x00000040ul
#define PDL_MTU2_ADC_TRIG_B_TROUGH_INT_SKIP_ENABLE 0x00000080ul
#define PDL_MTU2_ADC_TRIG_A_CREST_INT_SKIP_DISABLE 0x00000100ul
#define PDL_MTU2_ADC_TRIG_A_CREST_INT_SKIP_ENABLE 0x00000200ul
#define PDL_MTU2_ADC_TRIG_B_CREST_INT_SKIP_DISABLE 0x00000400ul
#define PDL_MTU2_ADC_TRIG_B_CREST_INT_SKIP_ENABLE 0x00000800ul
/* ADC trigger control */
#define PDL_MTU2_ADC_TRIG_A_DOWN_DISABLE 0x00001000ul
#define PDL_MTU2_ADC_TRIG_A_DOWN_ENABLE 0x00002000ul
#define PDL_MTU2_ADC_TRIG_B_DOWN_DISABLE 0x00004000ul
#define PDL_MTU2_ADC_TRIG_B_DOWN_ENABLE 0x00008000ul
#define PDL_MTU2_ADC_TRIG_A_UP_DISABLE 0x00010000ul
#define PDL_MTU2_ADC_TRIG_A_UP_ENABLE 0x00020000ul
#define PDL_MTU2_ADC_TRIG_B_UP_DISABLE 0x00040000ul
#define PDL_MTU2_ADC_TRIG_B_UP_ENABLE 0x00080000ul
/* Cycle set buffer transfer timing */
#define PDL_MTU2_CSB_DISABLE 0x0001u
#define PDL_MTU2_CSB_CREST 0x0002u
#define PDL_MTU2_CSB_TROUGH 0x0004u
#define PDL_MTU2_CSB_BOTH 0x0008u
/* Buffer operation */
#define PDL_MTU2_BUFFER_AC_DISABLE 0x0010u
#define PDL_MTU2_BUFFER_AC_ENABLE 0x0020u
#define PDL_MTU2_BUFFER_BD_DISABLE 0x0040u
#define PDL_MTU2_BUFFER_BD_ENABLE 0x0080u
#define PDL_MTU2_BUFFER_EF_DISABLE 0x0100u
#define PDL_MTU2_BUFFER_EF_ENABLE 0x0200u
/* Buffer data transfer */
#define PDL_MTU2_BUFFER_AC_CM_A 0x0400u
#define PDL_MTU2_BUFFER_AC_TCNT_CLR 0x0800u
#define PDL_MTU2_BUFFER_BD_CM_B 0x1000u
#define PDL_MTU2_BUFFER_BD_TCNT_CLR 0x2000u
#define PDL_MTU2_BUFFER_EF_CM_E 0x4000u
#define PDL_MTU2_BUFFER_EF_TCNT_CLR 0x8000u
/* TGRA options */
#define PDL_MTU2_A_OC_DISABLED 0x00000001ul
#define PDL_MTU2_A_OC_LOW 0x00000002ul
#define PDL_MTU2_A_OC_LOW_CM_HIGH 0x00000004ul
#define PDL_MTU2_A_OC_LOW_CM_INV 0x00000008ul
#define PDL_MTU2_A_OC_HIGH_CM_LOW 0x00000010ul
#define PDL_MTU2_A_OC_HIGH 0x00000020ul
#define PDL_MTU2_A_OC_HIGH_CM_INV 0x00000040ul
#define PDL_MTU2_A_IC_RISING_EDGE 0x00000080ul
#define PDL_MTU2_A_IC_FALLING_EDGE 0x00000100ul
#define PDL_MTU2_A_IC_BOTH_EDGES 0x00000200ul
#define PDL_MTU2_A_IC_COUNT 0x00000400ul
#define PDL_MTU2_A_IC_CM_IC 0x00000800ul
/* TGRB options */
#define PDL_MTU2_B_OC_DISABLED 0x00001000ul
#define PDL_MTU2_B_OC_LOW 0x00002000ul
#define PDL_MTU2_B_OC_LOW_CM_HIGH 0x00004000ul
#define PDL_MTU2_B_OC_LOW_CM_INV 0x00008000ul
#define PDL_MTU2_B_OC_HIGH_CM_LOW 0x00010000ul
#define PDL_MTU2_B_OC_HIGH 0x00020000ul
#define PDL_MTU2_B_OC_HIGH_CM_INV 0x00040000ul
#define PDL_MTU2_B_IC_RISING_EDGE 0x00080000ul
#define PDL_MTU2_B_IC_FALLING_EDGE 0x00100000ul
#define PDL_MTU2_B_IC_BOTH_EDGES 0x00200000ul
#define PDL_MTU2_B_IC_COUNT 0x00400000ul
#define PDL_MTU2_B_IC_CM_IC 0x00800000ul
/* Cascade input capture control */
#define PDL_MTU2_CASCADE_AL_IC_EXC_H 0x01000000ul
#define PDL_MTU2_CASCADE_AL_IC_INC_H 0x02000000ul
#define PDL_MTU2_CASCADE_BL_IC_EXC_H 0x04000000ul
#define PDL_MTU2_CASCADE_BL_IC_INC_H 0x08000000ul
#define PDL_MTU2_CASCADE_AH_IC_EXC_L 0x10000000ul
#define PDL_MTU2_CASCADE_AH_IC_INC_L 0x20000000ul
#define PDL_MTU2_CASCADE_BH_IC_EXC_L 0x40000000ul
#define PDL_MTU2_CASCADE_BH_IC_INC_L 0x80000000ul
/* TGRC options */
#define PDL_MTU2_C_OC_DISABLED 0x00000001ul
#define PDL_MTU2_C_OC_LOW 0x00000002ul
#define PDL_MTU2_C_OC_LOW_CM_HIGH 0x00000004ul
#define PDL_MTU2_C_OC_LOW_CM_INV 0x00000008ul
#define PDL_MTU2_C_OC_HIGH_CM_LOW 0x00000010ul
#define PDL_MTU2_C_OC_HIGH 0x00000020ul
#define PDL_MTU2_C_OC_HIGH_CM_INV 0x00000040ul
#define PDL_MTU2_C_IC_RISING_EDGE 0x00000080ul
#define PDL_MTU2_C_IC_FALLING_EDGE 0x00000100ul
#define PDL_MTU2_C_IC_BOTH_EDGES 0x00000200ul
#define PDL_MTU2_C_IC_COUNT 0x00000400ul
/* TGRD options */
#define PDL_MTU2_D_OC_DISABLED 0x00000800ul
#define PDL_MTU2_D_OC_LOW 0x00001000ul
#define PDL_MTU2_D_OC_LOW_CM_HIGH 0x00002000ul
#define PDL_MTU2_D_OC_LOW_CM_INV 0x00004000ul
#define PDL_MTU2_D_OC_HIGH_CM_LOW 0x00008000ul
#define PDL_MTU2_D_OC_HIGH 0x00010000ul
#define PDL_MTU2_D_OC_HIGH_CM_INV 0x00020000ul
#define PDL_MTU2_D_IC_RISING_EDGE 0x00040000ul
#define PDL_MTU2_D_IC_FALLING_EDGE 0x00080000ul
#define PDL_MTU2_D_IC_BOTH_EDGES 0x00100000ul
#define PDL_MTU2_D_IC_COUNT 0x00200000ul
/* TGRU options */
#define PDL_MTU2_U_CM 0x00000001ul
#define PDL_MTU2_U_IC_RISING_EDGE 0x00000002ul
#define PDL_MTU2_U_IC_FALLING_EDGE 0x00000004ul
#define PDL_MTU2_U_IC_BOTH_EDGES 0x00000008ul
#define PDL_MTU2_U_IC_PWM_LOW_TROUGH 0x00000010ul
#define PDL_MTU2_U_IC_PWM_LOW_CREST 0x00000020ul
#define PDL_MTU2_U_IC_PWM_LOW_BOTH 0x00000040ul
#define PDL_MTU2_U_IC_PWM_HIGH_TROUGH 0x00000080ul
#define PDL_MTU2_U_IC_PWM_HIGH_CREST 0x00000100ul
#define PDL_MTU2_U_IC_PWM_HIGH_BOTH 0x00000200ul
/* TGRV options */
#define PDL_MTU2_V_CM 0x00000400ul
#define PDL_MTU2_V_IC_RISING_EDGE 0x00000800ul
#define PDL_MTU2_V_IC_FALLING_EDGE 0x00001000ul
#define PDL_MTU2_V_IC_BOTH_EDGES 0x00002000ul
#define PDL_MTU2_V_IC_PWM_LOW_TROUGH 0x00004000ul
#define PDL_MTU2_V_IC_PWM_LOW_CREST 0x00008000ul
#define PDL_MTU2_V_IC_PWM_LOW_BOTH 0x00010000ul
#define PDL_MTU2_V_IC_PWM_HIGH_TROUGH 0x00020000ul
#define PDL_MTU2_V_IC_PWM_HIGH_CREST 0x00040000ul
#define PDL_MTU2_V_IC_PWM_HIGH_BOTH 0x00080000ul
/* TGRW options */
#define PDL_MTU2_W_CM 0x00100000ul
#define PDL_MTU2_W_IC_RISING_EDGE 0x00200000ul
#define PDL_MTU2_W_IC_FALLING_EDGE 0x00400000ul
#define PDL_MTU2_W_IC_BOTH_EDGES 0x00800000ul
#define PDL_MTU2_W_IC_PWM_LOW_TROUGH 0x01000000ul
#define PDL_MTU2_W_IC_PWM_LOW_CREST 0x02000000ul
#define PDL_MTU2_W_IC_PWM_LOW_BOTH 0x04000000ul
#define PDL_MTU2_W_IC_PWM_HIGH_TROUGH 0x08000000ul
#define PDL_MTU2_W_IC_PWM_HIGH_CREST 0x10000000ul
#define PDL_MTU2_W_IC_PWM_HIGH_BOTH 0x20000000ul
/* Counter stop / re-start */
#define PDL_MTU2_STOP 0x01u
#define PDL_MTU2_START 0x02u
#define PDL_MTU2_STOP_U 0x04u
#define PDL_MTU2_START_U 0x08u
#define PDL_MTU2_STOP_V 0x10u
#define PDL_MTU2_START_V 0x20u
#define PDL_MTU2_STOP_W 0x40u
#define PDL_MTU2_START_W 0x80u
/* The registers to be modified (n = 0 to 4 or 6 to 10) */
#define PDL_MTU2_REGISTER_COUNTER 0x0001u
#define PDL_MTU2_REGISTER_TGRA 0x0002u
#define PDL_MTU2_REGISTER_TGRB 0x0004u
#define PDL_MTU2_REGISTER_TGRC 0x0008u
#define PDL_MTU2_REGISTER_TGRD 0x0010u
#define PDL_MTU2_REGISTER_TGRE 0x0020u
#define PDL_MTU2_REGISTER_TGRF 0x0040u
#define PDL_MTU2_REGISTER_TADCOBRA 0x0080u
#define PDL_MTU2_REGISTER_TADCOBRB 0x0100u
/* The registers to be modified (n = 5 or 11) */
#define PDL_MTU2_REGISTER_COUNTER_U 0x01u
#define PDL_MTU2_REGISTER_COUNTER_V 0x02u
#define PDL_MTU2_REGISTER_COUNTER_W 0x04u
#define PDL_MTU2_REGISTER_TGRU 0x08u
#define PDL_MTU2_REGISTER_TGRV 0x10u
#define PDL_MTU2_REGISTER_TGRW 0x20u
/* Simultaneous stop control */
#define PDL_MTU2_STOP_CH_0 0x0001u
#define PDL_MTU2_STOP_CH_1 0x0002u
#define PDL_MTU2_STOP_CH_2 0x0004u
#define PDL_MTU2_STOP_CH_3 0x0008u
#define PDL_MTU2_STOP_CH_4 0x0010u
#define PDL_MTU2_STOP_CH_6 PDL_MTU2_STOP_CH_0
#define PDL_MTU2_STOP_CH_7 PDL_MTU2_STOP_CH_1
#define PDL_MTU2_STOP_CH_8 PDL_MTU2_STOP_CH_2
#define PDL_MTU2_STOP_CH_9 PDL_MTU2_STOP_CH_3
#define PDL_MTU2_STOP_CH_10 PDL_MTU2_STOP_CH_4
/* Simultaneous start control */
#define PDL_MTU2_START_CH_0 0x0020u
#define PDL_MTU2_START_CH_1 0x0040u
#define PDL_MTU2_START_CH_2 0x0080u
#define PDL_MTU2_START_CH_3 0x0100u
#define PDL_MTU2_START_CH_4 0x0200u
#define PDL_MTU2_START_CH_6 PDL_MTU2_START_CH_0
#define PDL_MTU2_START_CH_7 PDL_MTU2_START_CH_1
#define PDL_MTU2_START_CH_8 PDL_MTU2_START_CH_2
#define PDL_MTU2_START_CH_9 PDL_MTU2_START_CH_3
#define PDL_MTU2_START_CH_10 PDL_MTU2_START_CH_4
/* Output control */
#define PDL_MTU2_OUT_P_PHASE_1_ENABLE 0x00000001ul
#define PDL_MTU2_OUT_P_PHASE_1_DISABLE 0x00000002ul
#define PDL_MTU2_OUT_N_PHASE_1_ENABLE 0x00000004ul
#define PDL_MTU2_OUT_N_PHASE_1_DISABLE 0x00000008ul
#define PDL_MTU2_OUT_P_PHASE_2_ENABLE 0x00000010ul
#define PDL_MTU2_OUT_P_PHASE_2_DISABLE 0x00000020ul
#define PDL_MTU2_OUT_N_PHASE_2_ENABLE 0x00000040ul
#define PDL_MTU2_OUT_N_PHASE_2_DISABLE 0x00000080ul
#define PDL_MTU2_OUT_P_PHASE_3_ENABLE 0x00000100ul
#define PDL_MTU2_OUT_P_PHASE_3_DISABLE 0x00000200ul
#define PDL_MTU2_OUT_N_PHASE_3_ENABLE 0x00000400ul
#define PDL_MTU2_OUT_N_PHASE_3_DISABLE 0x00000800ul
#define PDL_MTU2_OUT_P_PHASE_ALL_ENABLE (PDL_MTU2_OUT_P_PHASE_1_ENABLE | PDL_MTU2_OUT_P_PHASE_2_ENABLE | PDL_MTU2_OUT_P_PHASE_3_ENABLE)
#define PDL_MTU2_OUT_P_PHASE_ALL_DISABLE (PDL_MTU2_OUT_P_PHASE_1_DISABLE | PDL_MTU2_OUT_P_PHASE_2_DISABLE | PDL_MTU2_OUT_P_PHASE_3_DISABLE)
#define PDL_MTU2_OUT_N_PHASE_ALL_ENABLE (PDL_MTU2_OUT_N_PHASE_1_ENABLE | PDL_MTU2_OUT_N_PHASE_2_ENABLE | PDL_MTU2_OUT_N_PHASE_3_ENABLE)
#define PDL_MTU2_OUT_N_PHASE_ALL_DISABLE (PDL_MTU2_OUT_N_PHASE_1_DISABLE | PDL_MTU2_OUT_N_PHASE_2_DISABLE | PDL_MTU2_OUT_N_PHASE_3_DISABLE)
/* Inversion control */
#define PDL_MTU2_OUT_P_PHASE_ALL_HIGH_LOW 0x00001000ul
#define PDL_MTU2_OUT_P_PHASE_ALL_LOW_HIGH 0x00002000ul
#define PDL_MTU2_OUT_N_PHASE_ALL_HIGH_LOW 0x00004000ul
#define PDL_MTU2_OUT_N_PHASE_ALL_LOW_HIGH 0x00008000ul
#define PDL_MTU2_OUT_P_PHASE_1_HIGH_LOW 0x00010000ul
#define PDL_MTU2_OUT_P_PHASE_1_LOW_HIGH 0x00020000ul
#define PDL_MTU2_OUT_N_PHASE_1_HIGH_LOW 0x00040000ul
#define PDL_MTU2_OUT_N_PHASE_1_LOW_HIGH 0x00080000ul
#define PDL_MTU2_OUT_P_PHASE_2_HIGH_LOW 0x00100000ul
#define PDL_MTU2_OUT_P_PHASE_2_LOW_HIGH 0x00200000ul
#define PDL_MTU2_OUT_N_PHASE_2_HIGH_LOW 0x00400000ul
#define PDL_MTU2_OUT_N_PHASE_2_LOW_HIGH 0x00800000ul
#define PDL_MTU2_OUT_P_PHASE_3_HIGH_LOW 0x01000000ul
#define PDL_MTU2_OUT_P_PHASE_3_LOW_HIGH 0x02000000ul
#define PDL_MTU2_OUT_N_PHASE_3_HIGH_LOW 0x04000000ul
#define PDL_MTU2_OUT_N_PHASE_3_LOW_HIGH 0x08000000ul
/* Write access control */
#define PDL_MTU2_OUT_LOCK_ENABLE 0x10000000ul
/* Toggle output control */
#define PDL_MTU2_OUT_TOGGLE_ENABLE 0x20000000ul
#define PDL_MTU2_OUT_TOGGLE_DISABLE 0x40000000ul
/* Output level buffer control */
#define PDL_MTU2_OUT_BUFFER_P_PHASE_1_LOW 0x00000001ul
#define PDL_MTU2_OUT_BUFFER_P_PHASE_1_HIGH 0x00000002ul
#define PDL_MTU2_OUT_BUFFER_N_PHASE_1_LOW 0x00000004ul
#define PDL_MTU2_OUT_BUFFER_N_PHASE_1_HIGH 0x00000008ul
#define PDL_MTU2_OUT_BUFFER_P_PHASE_2_LOW 0x00000010ul
#define PDL_MTU2_OUT_BUFFER_P_PHASE_2_HIGH 0x00000020ul
#define PDL_MTU2_OUT_BUFFER_N_PHASE_2_LOW 0x00000040ul
#define PDL_MTU2_OUT_BUFFER_N_PHASE_2_HIGH 0x00000080ul
#define PDL_MTU2_OUT_BUFFER_P_PHASE_3_LOW 0x00000100ul
#define PDL_MTU2_OUT_BUFFER_P_PHASE_3_HIGH 0x00000200ul
#define PDL_MTU2_OUT_BUFFER_N_PHASE_3_LOW 0x00000400ul
#define PDL_MTU2_OUT_BUFFER_N_PHASE_3_HIGH 0x00000800ul
/* Transfer timing (complementary PWM) */
#define PDL_MTU2_OUT_BUFFER_TRANSFER_DISABLE 0x00001000ul
#define PDL_MTU2_OUT_BUFFER_TRANSFER_CREST 0x00002000ul
#define PDL_MTU2_OUT_BUFFER_TRANSFER_TROUGH 0x00004000ul
#define PDL_MTU2_OUT_BUFFER_TRANSFER_BOTH 0x00008000ul
/* Transfer timing (reset-synchronised PWM) */
#define PDL_MTU2_OUT_BUFFER_TRANSFER_CLEAR PDL_MTU2_OUT_BUFFER_TRANSFER_CREST
/* Buffer transfer to temporary transfer control */
#define PDL_MTU2_BUFFER_TRANSFER_DISABLE 0x00020000ul
#define PDL_MTU2_BUFFER_TRANSFER_ENABLE 0x00040000ul
#define PDL_MTU2_BUFFER_TRANSFER_LINK 0x00080000ul
/* Brushless DC motor waveform control */
#define PDL_MTU2_BDCM_ENABLE 0x0001u
#define PDL_MTU2_BDCM_DISABLE 0x0002u
#define PDL_MTU2_BDCM_P_PHASE_ENABLE 0x0004u
#define PDL_MTU2_BDCM_P_PHASE_DISABLE 0x0008u
#define PDL_MTU2_BDCM_N_PHASE_ENABLE 0x0010u
#define PDL_MTU2_BDCM_N_PHASE_DISABLE 0x0020u
#define PDL_MTU2_BDCM_OPS_FB 0x0040u
#define PDL_MTU2_BDCM_OPS_000 0x0080u
#define PDL_MTU2_BDCM_OPS_001 0x0100u
#define PDL_MTU2_BDCM_OPS_010 0x0200u
#define PDL_MTU2_BDCM_OPS_011 0x0400u
#define PDL_MTU2_BDCM_OPS_100 0x0800u
#define PDL_MTU2_BDCM_OPS_101 0x1000u
#define PDL_MTU2_BDCM_OPS_110 0x2000u
#define PDL_MTU2_BDCM_OPS_111 0x4000u
/* Interrupt skipping control */
#define PDL_MTU2_INT_SKIP_TROUGH_DISABLE 0x00000001ul
#define PDL_MTU2_INT_SKIP_TROUGH_1 0x00000002ul
#define PDL_MTU2_INT_SKIP_TROUGH_2 0x00000004ul
#define PDL_MTU2_INT_SKIP_TROUGH_3 0x00000008ul
#define PDL_MTU2_INT_SKIP_TROUGH_4 0x00000010ul
#define PDL_MTU2_INT_SKIP_TROUGH_5 0x00000020ul
#define PDL_MTU2_INT_SKIP_TROUGH_6 0x00000040ul
#define PDL_MTU2_INT_SKIP_TROUGH_7 0x00000080ul
#define PDL_MTU2_INT_SKIP_CREST_DISABLE 0x00000100ul
#define PDL_MTU2_INT_SKIP_CREST_1 0x00000200ul
#define PDL_MTU2_INT_SKIP_CREST_2 0x00000400ul
#define PDL_MTU2_INT_SKIP_CREST_3 0x00000800ul
#define PDL_MTU2_INT_SKIP_CREST_4 0x00001000ul
#define PDL_MTU2_INT_SKIP_CREST_5 0x00002000ul
#define PDL_MTU2_INT_SKIP_CREST_6 0x00004000ul
#define PDL_MTU2_INT_SKIP_CREST_7 0x00008000ul
/* Dead time generation control */
#define PDL_MTU2_DEAD_TIME_DISABLE 0x00010000ul
#define PDL_MTU2_DEAD_TIME_ENABLE 0x00020000ul
/* Waveform retention control */
#define PDL_MTU2_WAVEFORM_RETAIN_DISABLE 0x00040000ul
#define PDL_MTU2_WAVEFORM_RETAIN_ENABLE 0x00080000ul
/* Compare match clearing control */
#define PDL_MTU2_CNT_CLEAR_CM_A_DISABLE 0x00100000ul
#define PDL_MTU2_CNT_CLEAR_CM_A_ENABLE 0x00200000ul
/* Reset-synchronised or complementary PWM control */
#define PDL_MTU2_PWM_RS_COMP_ENABLE 0x00400000ul
/* Register protection */
#define PDL_MTU2_ACCESS_DISABLE 0x00800000ul
#define PDL_MTU2_ACCESS_ENABLE 0x01000000ul
/* Unit registers to be modified */
#define PDL_MTU2_REGISTER_DEAD_TIME 0x01u
#define PDL_MTU2_REGISTER_CYCLE_DATA 0x02u
#define PDL_MTU2_REGISTER_CYCLE_BUFFER 0x04u
#endif
/* End of file */