SAME54P20A Test Project
can0.h
Go to the documentation of this file.
1 
30 #ifndef _SAME54_CAN0_INSTANCE_
31 #define _SAME54_CAN0_INSTANCE_
32 
33 /* ========== Register definition for CAN0 peripheral ========== */
34 #if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
35 #define REG_CAN0_CREL (0x42000000)
36 #define REG_CAN0_ENDN (0x42000004)
37 #define REG_CAN0_MRCFG (0x42000008)
38 #define REG_CAN0_DBTP (0x4200000C)
39 #define REG_CAN0_TEST (0x42000010)
40 #define REG_CAN0_RWD (0x42000014)
41 #define REG_CAN0_CCCR (0x42000018)
42 #define REG_CAN0_NBTP (0x4200001C)
43 #define REG_CAN0_TSCC (0x42000020)
44 #define REG_CAN0_TSCV (0x42000024)
45 #define REG_CAN0_TOCC (0x42000028)
46 #define REG_CAN0_TOCV (0x4200002C)
47 #define REG_CAN0_ECR (0x42000040)
48 #define REG_CAN0_PSR (0x42000044)
49 #define REG_CAN0_TDCR (0x42000048)
50 #define REG_CAN0_IR (0x42000050)
51 #define REG_CAN0_IE (0x42000054)
52 #define REG_CAN0_ILS (0x42000058)
53 #define REG_CAN0_ILE (0x4200005C)
54 #define REG_CAN0_GFC (0x42000080)
55 #define REG_CAN0_SIDFC (0x42000084)
56 #define REG_CAN0_XIDFC (0x42000088)
57 #define REG_CAN0_XIDAM (0x42000090)
58 #define REG_CAN0_HPMS (0x42000094)
59 #define REG_CAN0_NDAT1 (0x42000098)
60 #define REG_CAN0_NDAT2 (0x4200009C)
61 #define REG_CAN0_RXF0C (0x420000A0)
62 #define REG_CAN0_RXF0S (0x420000A4)
63 #define REG_CAN0_RXF0A (0x420000A8)
64 #define REG_CAN0_RXBC (0x420000AC)
65 #define REG_CAN0_RXF1C (0x420000B0)
66 #define REG_CAN0_RXF1S (0x420000B4)
67 #define REG_CAN0_RXF1A (0x420000B8)
68 #define REG_CAN0_RXESC (0x420000BC)
69 #define REG_CAN0_TXBC (0x420000C0)
70 #define REG_CAN0_TXFQS (0x420000C4)
71 #define REG_CAN0_TXESC (0x420000C8)
72 #define REG_CAN0_TXBRP (0x420000CC)
73 #define REG_CAN0_TXBAR (0x420000D0)
74 #define REG_CAN0_TXBCR (0x420000D4)
75 #define REG_CAN0_TXBTO (0x420000D8)
76 #define REG_CAN0_TXBCF (0x420000DC)
77 #define REG_CAN0_TXBTIE (0x420000E0)
78 #define REG_CAN0_TXBCIE (0x420000E4)
79 #define REG_CAN0_TXEFC (0x420000F0)
80 #define REG_CAN0_TXEFS (0x420000F4)
81 #define REG_CAN0_TXEFA (0x420000F8)
82 #else
83 #define REG_CAN0_CREL (*(RoReg *)0x42000000UL)
84 #define REG_CAN0_ENDN (*(RoReg *)0x42000004UL)
85 #define REG_CAN0_MRCFG (*(RwReg *)0x42000008UL)
86 #define REG_CAN0_DBTP (*(RwReg *)0x4200000CUL)
87 #define REG_CAN0_TEST (*(RwReg *)0x42000010UL)
88 #define REG_CAN0_RWD (*(RwReg *)0x42000014UL)
89 #define REG_CAN0_CCCR (*(RwReg *)0x42000018UL)
90 #define REG_CAN0_NBTP (*(RwReg *)0x4200001CUL)
91 #define REG_CAN0_TSCC (*(RwReg *)0x42000020UL)
92 #define REG_CAN0_TSCV (*(RoReg *)0x42000024UL)
93 #define REG_CAN0_TOCC (*(RwReg *)0x42000028UL)
94 #define REG_CAN0_TOCV (*(RwReg *)0x4200002CUL)
95 #define REG_CAN0_ECR (*(RoReg *)0x42000040UL)
96 #define REG_CAN0_PSR (*(RoReg *)0x42000044UL)
97 #define REG_CAN0_TDCR (*(RwReg *)0x42000048UL)
98 #define REG_CAN0_IR (*(RwReg *)0x42000050UL)
99 #define REG_CAN0_IE (*(RwReg *)0x42000054UL)
100 #define REG_CAN0_ILS (*(RwReg *)0x42000058UL)
101 #define REG_CAN0_ILE (*(RwReg *)0x4200005CUL)
102 #define REG_CAN0_GFC (*(RwReg *)0x42000080UL)
103 #define REG_CAN0_SIDFC (*(RwReg *)0x42000084UL)
104 #define REG_CAN0_XIDFC (*(RwReg *)0x42000088UL)
105 #define REG_CAN0_XIDAM (*(RwReg *)0x42000090UL)
106 #define REG_CAN0_HPMS (*(RoReg *)0x42000094UL)
107 #define REG_CAN0_NDAT1 (*(RwReg *)0x42000098UL)
108 #define REG_CAN0_NDAT2 (*(RwReg *)0x4200009CUL)
109 #define REG_CAN0_RXF0C (*(RwReg *)0x420000A0UL)
110 #define REG_CAN0_RXF0S (*(RoReg *)0x420000A4UL)
111 #define REG_CAN0_RXF0A (*(RwReg *)0x420000A8UL)
112 #define REG_CAN0_RXBC (*(RwReg *)0x420000ACUL)
113 #define REG_CAN0_RXF1C (*(RwReg *)0x420000B0UL)
114 #define REG_CAN0_RXF1S (*(RoReg *)0x420000B4UL)
115 #define REG_CAN0_RXF1A (*(RwReg *)0x420000B8UL)
116 #define REG_CAN0_RXESC (*(RwReg *)0x420000BCUL)
117 #define REG_CAN0_TXBC (*(RwReg *)0x420000C0UL)
118 #define REG_CAN0_TXFQS (*(RoReg *)0x420000C4UL)
119 #define REG_CAN0_TXESC (*(RwReg *)0x420000C8UL)
120 #define REG_CAN0_TXBRP (*(RoReg *)0x420000CCUL)
121 #define REG_CAN0_TXBAR (*(RwReg *)0x420000D0UL)
122 #define REG_CAN0_TXBCR (*(RwReg *)0x420000D4UL)
123 #define REG_CAN0_TXBTO (*(RoReg *)0x420000D8UL)
124 #define REG_CAN0_TXBCF (*(RoReg *)0x420000DCUL)
125 #define REG_CAN0_TXBTIE (*(RwReg *)0x420000E0UL)
126 #define REG_CAN0_TXBCIE (*(RwReg *)0x420000E4UL)
127 #define REG_CAN0_TXEFC (*(RwReg *)0x420000F0UL)
128 #define REG_CAN0_TXEFS (*(RoReg *)0x420000F4UL)
129 #define REG_CAN0_TXEFA (*(RwReg *)0x420000F8UL)
130 #endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
131 
132 /* ========== Instance parameters for CAN0 peripheral ========== */
133 #define CAN0_CLK_AHB_ID 17 // Index of AHB clock
134 #define CAN0_DMAC_ID_DEBUG 20 // DMA CAN Debug Req
135 #define CAN0_GCLK_ID 27 // Index of Generic Clock
136 #define CAN0_MSG_RAM_ADDR 0x20000000
137 #define CAN0_QOS_RESET_VAL 1 // QOS reset value
138 
139 #endif /* _SAME54_CAN0_INSTANCE_ */