#ifndef _AT91TCREG_H_
#define _AT91TCREG_H_ 1
#define TCC_COUNT 3
#define TC_CCR 0x00U
#define TC_CMR 0x04U
#define TC_CV 0x10U
#define TC_RA 0x14U
#define TC_RB 0x18U
#define TC_RC 0x1CU
#define TC_SR 0x20U
#define TC_IER 0x24U
#define TC_IDR 0x28U
#define TC_IMR 0x2CU
#define TC_CCR_SWTRG 0x00000004U
#define TC_CCR_CLKDIS 0x00000002U
#define TC_CCR_CLKEN 0x00000001U
#define TC_CMR_WAVE 0x00008000U
#define TC_CMR_BURST 0x00000030U
#define TC_CMR_BURST_SHIFT 4U
#define TC_CMR_BURST_NONE 0x00000000U
#define TC_CMR_BURST_XC0 0x00000010U
#define TC_CMR_BURST_XC1 0x00000020U
#define TC_CMR_BURST_XC2 0x00000030U
#define TC_CMR_CLKI 0x00000008U
#define TC_CMR_TCCLKS 0x00000007U
#define TC_CMR_TCCLKS_SHIFT 0U
#define TC_CMR_TCCLKS_CLOCK1 0x00000000U
#define TC_CMR_TCCLKS_CLOCK2 0x00000001U
#define TC_CMR_TCCLKS_CLOCK3 0x00000002U
#define TC_CMR_TCCLKS_CLOCK4 0x00000003U
#define TC_CMR_TCCLKS_CLOCK5 0x00000004U
#define TC_CMR_TCCLKS_XC0 0x00000005U
#define TC_CMR_TCCLKS_XC1 0x00000006U
#define TC_CMR_TCCLKS_XC2 0x00000007U
#define TC_CMR_TCCLKS_MCK_DIV_2 TC_CMR_TCCLKS_CLOCK1
#define TC_CMR_TCCLKS_MCK_DIV_8 TC_CMR_TCCLKS_CLOCK2
#define TC_CMR_TCCLKS_MCK_DIV_32 TC_CMR_TCCLKS_CLOCK3
#define TC_CMR_TCCLKS_MCK_DIV_128 TC_CMR_TCCLKS_CLOCK4
#define TC_CMR_TCCLKS_SLCK TC_CMR_TCCLKS_CLOCK5
#define TC_CMR_LDRB 0x000C0000U
#define TC_CMR_LDRB_SHIFT 18U
#define TC_CMR_LDRB_NONE 0x00000000U
#define TC_CMR_LDRB_RISING 0x00040000U
#define TC_CMR_LDRB_FALLING 0x00080000U
#define TC_CMR_LDRB_BOTH 0x000C0000U
#define TC_CMR_LDRA 0x00030000U
#define TC_CMR_LDRA_SHIFT 16U
#define TC_CMR_LDRA_NONE 0x00000000U
#define TC_CMR_LDRA_RISING 0x00010000U
#define TC_CMR_LDRA_FALLING 0x00020000U
#define TC_CMR_LDRA_BOTH 0x00030000U
#define TC_CMR_CPCTRG 0x00004000U
#define TC_CMR_ABETRG 0x00000400U
#define TC_CMR_ETRGEDG 0x00000300U
#define TC_CMR_ETRGEDG_SHIFT 8U
#define TC_CMR_ETRGEDG_NONE 0x00000000U
#define TC_CMR_ETRGEDG_RISING 0x00000100U
#define TC_CMR_ETRGEDG_FALLING 0x00000200U
#define TC_CMR_ETRGEDG_BOTH 0x00000300U
#define TC_CMR_LDBDIS 0x00000080U
#define TC_CMR_LDBSTOP 0x00000040U
#define TC_CMR_BSWTRG 0xC0000000U
#define TC_CMR_BSWTRG_NONE 0x00000000U
#define TC_CMR_BSWTRG_SET 0x40000000U
#define TC_CMR_BSWTRG_CLEAR 0x80000000U
#define TC_CMR_BSWTRG_TOGGLE 0xC0000000U
#define TC_CMR_BEEVT 0x30000000U
#define TC_CMR_BEEVT_NONE 0x00000000U
#define TC_CMR_BEEVT_SET 0x10000000U
#define TC_CMR_BEEVT_CLEAR 0x20000000U
#define TC_CMR_BEEVT_TOGGLE 0x30000000U
#define TC_CMR_BCPC 0x0C000000U
#define TC_CMR_BCPC_NONE 0x00000000U
#define TC_CMR_BCPC_SET 0x04000000U
#define TC_CMR_BCPC_CLEAR 0x08000000U
#define TC_CMR_BCPC_TOGGLE 0x0C000000U
#define TC_CMR_BCPB 0x03000000U
#define TC_CMR_BCPB_NONE 0x00000000U
#define TC_CMR_BCPB_SET 0x01000000U
#define TC_CMR_BCPB_CLEAR 0x02000000U
#define TC_CMR_BCPB_TOGGLE 0x03000000U
#define TC_CMR_ASWTRG 0x00C00000U
#define TC_CMR_ASWTRG_NONE 0x00000000U
#define TC_CMR_ASWTRG_SET 0x00400000U
#define TC_CMR_ASWTRG_CLEAR 0x00800000U
#define TC_CMR_ASWTRG_TOGGLE 0x00C00000U
#define TC_CMR_AEVT 0x00300000U
#define TC_CMR_AEVT_NONE 0x00000000U
#define TC_CMR_AEVT_SET 0x00100000U
#define TC_CMR_AEVT_CLEAR 0x00200000U
#define TC_CMR_AEVT_TOGGLE 0x00300000U
#define TC_CMR_ACPC 0x000C0000U
#define TC_CMR_ACPC_NONE 0x00000000U
#define TC_CMR_ACPC_SET 0x00040000U
#define TC_CMR_ACPC_CLEAR 0x00080000U
#define TC_CMR_ACPC_TOGGLE 0x000C0000U
#define TC_CMR_ACPA 0x00030000U
#define TC_CMR_ACPA_NONE 0x00000000U
#define TC_CMR_ACPA_SET 0x00010000U
#define TC_CMR_ACPA_CLEAR 0x00020000U
#define TC_CMR_ACPA_TOGGLE 0x00030000U
#define TC_CMR_WAVSEL 0x00006000U
#define TC_CMR_WAVSEL_UP 0x00000000U
#define TC_CMR_WAVSEL_UPDOWN 0x00002000U
#define TC_CMR_WAVSEL_UP_RC 0x00004000U
#define TC_CMR_WAVSEL_UPDOWN_RC 0x00006000U
#define TC_CMR_ENETRG 0x00001000U
#define TC_CMR_EEVT 0x00000C00U
#define TC_CMR_EEVT_TIOB 0x00000000U
#define TC_CMR_EEVT_XC0 0x00000400U
#define TC_CMR_EEVT_XC1 0x00000800U
#define TC_CMR_EEVT_XC2 0x00000C00U
#define TC_CMR_EEVTEDG 0x00000300U
#define TC_CMR_EEVTEDG_NONE 0x00000000U
#define TC_CMR_EEVTEDG_RISING 0x00000100U
#define TC_CMR_EEVTEDG_FALLING 0x00000200U
#define TC_CMR_EEVTEDG_BOTH 0x00000300U
#define TC_CMR_CPCDIS 0x00000080U
#define TC_CMR_CPCSTOP 0x00000040U
#define TC_SR_MTIOB 0x00040000U
#define TC_SR_MTIOA 0x00020000U
#define TC_SR_CLKSTA 0x00010000U
#define TC_SR_ETRGS 0x80U
#define TC_SR_LDRBS 0x40U
#define TC_SR_LDRAS 0x20U
#define TC_SR_CPCS 0x10U
#define TC_SR_CPBS 0x08U
#define TC_SR_CPAS 0x04U
#define TC_SR_LOVRS 0x02U
#define TC_SR_COVFS 0x01U
#define TC_BCR 0x00U
#define TC_BMR 0x04U
#define TC_BCR_SYNC 0x00000001U
#define TC_BMR_TC2XC2S 0x30U
#define TC_BMR_TC2XC2S_SHIFT 4U
#define TC_BMR_TC2XC2S_TCLK2 0x00U
#define TC_BMR_TC2XC2S_TIOA0 0x20U
#define TC_BMR_TC2XC2S_TIOA1 0x30U
#define TC_BMR_TC1XC1S 0x0CU
#define TC_BMR_TC1XC1S_SHIFT 2U
#define TC_BMR_TC1XC1S_TCLK1 0x00U
#define TC_BMR_TC1XC1S_TIOA0 0x08U
#define TC_BMR_TC1XC1S_TIOA2 0x0CU
#define TC_BMR_TC0XC0S 0x03U
#define TC_BMR_TC0XC0S_SHIFT 0U
#define TC_BMR_TC0XC0S_TCLK0 0x00U
#define TC_BMR_TC0XC0S_TIOA1 0x02U
#define TC_BMR_TC0XC0S_TIOA2 0x03U
#endif