SAME54P20A Test Project
tcc0.h
Go to the documentation of this file.
1 
30 #ifndef _SAME54_TCC0_INSTANCE_
31 #define _SAME54_TCC0_INSTANCE_
32 
33 /* ========== Register definition for TCC0 peripheral ========== */
34 #if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
35 #define REG_TCC0_CTRLA (0x41016000)
36 #define REG_TCC0_CTRLBCLR (0x41016004)
37 #define REG_TCC0_CTRLBSET (0x41016005)
38 #define REG_TCC0_SYNCBUSY (0x41016008)
39 #define REG_TCC0_FCTRLA (0x4101600C)
40 #define REG_TCC0_FCTRLB (0x41016010)
41 #define REG_TCC0_WEXCTRL (0x41016014)
42 #define REG_TCC0_DRVCTRL (0x41016018)
43 #define REG_TCC0_DBGCTRL (0x4101601E)
44 #define REG_TCC0_EVCTRL (0x41016020)
45 #define REG_TCC0_INTENCLR (0x41016024)
46 #define REG_TCC0_INTENSET (0x41016028)
47 #define REG_TCC0_INTFLAG (0x4101602C)
48 #define REG_TCC0_STATUS (0x41016030)
49 #define REG_TCC0_COUNT (0x41016034)
50 #define REG_TCC0_PATT (0x41016038)
51 #define REG_TCC0_WAVE (0x4101603C)
52 #define REG_TCC0_PER (0x41016040)
53 #define REG_TCC0_CC0 (0x41016044)
54 #define REG_TCC0_CC1 (0x41016048)
55 #define REG_TCC0_CC2 (0x4101604C)
56 #define REG_TCC0_CC3 (0x41016050)
57 #define REG_TCC0_CC4 (0x41016054)
58 #define REG_TCC0_CC5 (0x41016058)
59 #define REG_TCC0_PATTBUF (0x41016064)
60 #define REG_TCC0_PERBUF (0x4101606C)
61 #define REG_TCC0_CCBUF0 (0x41016070)
62 #define REG_TCC0_CCBUF1 (0x41016074)
63 #define REG_TCC0_CCBUF2 (0x41016078)
64 #define REG_TCC0_CCBUF3 (0x4101607C)
65 #define REG_TCC0_CCBUF4 (0x41016080)
66 #define REG_TCC0_CCBUF5 (0x41016084)
67 #else
68 #define REG_TCC0_CTRLA (*(RwReg *)0x41016000UL)
69 #define REG_TCC0_CTRLBCLR (*(RwReg8 *)0x41016004UL)
70 #define REG_TCC0_CTRLBSET (*(RwReg8 *)0x41016005UL)
71 #define REG_TCC0_SYNCBUSY (*(RoReg *)0x41016008UL)
72 #define REG_TCC0_FCTRLA (*(RwReg *)0x4101600CUL)
73 #define REG_TCC0_FCTRLB (*(RwReg *)0x41016010UL)
74 #define REG_TCC0_WEXCTRL (*(RwReg *)0x41016014UL)
75 #define REG_TCC0_DRVCTRL (*(RwReg *)0x41016018UL)
76 #define REG_TCC0_DBGCTRL (*(RwReg8 *)0x4101601EUL)
77 #define REG_TCC0_EVCTRL (*(RwReg *)0x41016020UL)
78 #define REG_TCC0_INTENCLR (*(RwReg *)0x41016024UL)
79 #define REG_TCC0_INTENSET (*(RwReg *)0x41016028UL)
80 #define REG_TCC0_INTFLAG (*(RwReg *)0x4101602CUL)
81 #define REG_TCC0_STATUS (*(RwReg *)0x41016030UL)
82 #define REG_TCC0_COUNT (*(RwReg *)0x41016034UL)
83 #define REG_TCC0_PATT (*(RwReg16*)0x41016038UL)
84 #define REG_TCC0_WAVE (*(RwReg *)0x4101603CUL)
85 #define REG_TCC0_PER (*(RwReg *)0x41016040UL)
86 #define REG_TCC0_CC0 (*(RwReg *)0x41016044UL)
87 #define REG_TCC0_CC1 (*(RwReg *)0x41016048UL)
88 #define REG_TCC0_CC2 (*(RwReg *)0x4101604CUL)
89 #define REG_TCC0_CC3 (*(RwReg *)0x41016050UL)
90 #define REG_TCC0_CC4 (*(RwReg *)0x41016054UL)
91 #define REG_TCC0_CC5 (*(RwReg *)0x41016058UL)
92 #define REG_TCC0_PATTBUF (*(RwReg16*)0x41016064UL)
93 #define REG_TCC0_PERBUF (*(RwReg *)0x4101606CUL)
94 #define REG_TCC0_CCBUF0 (*(RwReg *)0x41016070UL)
95 #define REG_TCC0_CCBUF1 (*(RwReg *)0x41016074UL)
96 #define REG_TCC0_CCBUF2 (*(RwReg *)0x41016078UL)
97 #define REG_TCC0_CCBUF3 (*(RwReg *)0x4101607CUL)
98 #define REG_TCC0_CCBUF4 (*(RwReg *)0x41016080UL)
99 #define REG_TCC0_CCBUF5 (*(RwReg *)0x41016084UL)
100 #endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
101 
102 /* ========== Instance parameters for TCC0 peripheral ========== */
103 #define TCC0_CC_NUM 6 // Number of Compare/Capture units
104 #define TCC0_DITHERING 1 // Dithering feature implemented
105 #define TCC0_DMAC_ID_MC_0 23
106 #define TCC0_DMAC_ID_MC_1 24
107 #define TCC0_DMAC_ID_MC_2 25
108 #define TCC0_DMAC_ID_MC_3 26
109 #define TCC0_DMAC_ID_MC_4 27
110 #define TCC0_DMAC_ID_MC_5 28
111 #define TCC0_DMAC_ID_MC_LSB 23
112 #define TCC0_DMAC_ID_MC_MSB 28
113 #define TCC0_DMAC_ID_MC_SIZE 6
114 #define TCC0_DMAC_ID_OVF 22 // DMA overflow/underflow/retrigger trigger
115 #define TCC0_DTI 1 // Dead-Time-Insertion feature implemented
116 #define TCC0_EXT 31 // Coding of implemented extended features
117 #define TCC0_GCLK_ID 25 // Index of Generic Clock
118 #define TCC0_MASTER_SLAVE_MODE 1 // TCC type 0 : NA, 1 : Master, 2 : Slave
119 #define TCC0_OTMX 1 // Output Matrix feature implemented
120 #define TCC0_OW_NUM 8 // Number of Output Waveforms
121 #define TCC0_PG 1 // Pattern Generation feature implemented
122 #define TCC0_SIZE 24
123 #define TCC0_SWAP 1 // DTI outputs swap feature implemented
124 
125 #endif /* _SAME54_TCC0_INSTANCE_ */