1 /*******************************************************************
2 Components for embedded applications builded for
5 h8s2639h.h - internal peripherals registers of H8S2630,H8S2636,
7 internal comment: ver 1.2 (added HCAN masks)
8 *******************************************************************/
17 #define __PORT8 (volatile __u8 * const)
18 #define __PORT16 (volatile __u16 * const)
19 #define __PORT32 (volatile __u32 * const)
21 #else /* __ASSEMBLY__ */
25 #endif /* __ASSEMBLY__ */
28 //#define DTC_MRA __PORT8 0x????? /* DTC Mode Register A */
29 //#define MRA_SZm 0x01
30 //#define MRA_DTSm 0x02
31 //#define MRA_MD0m 0x04
32 //#define MRA_MD1m 0x08
33 //#define MRA_DM0m 0x10
34 //#define MRA_DM1m 0x20
35 //#define MRA_SM0m 0x40
36 //#define MRA_SM1m 0x80
37 //#define DTC_MRB __PORT8 0x???? /* DTC Mode Register B */
38 //#define MRB_DISELm 0x40
39 //#define MRB_CHNEm 0x80
40 //#define DTC_SAR __PORT?? 0x???? /* DTC Source Address Register */
41 //#define DTC_DAR __PORT?? 0x???? /* DTC Destination Address Register */
42 //#define DTC_CRA __PORT16 0x???? /* DTC Transfer Count Register A */
43 //#define DTC_CRB __PORT16 0x???? /* DTC Transfer Count Register B */
46 /* Module HCAN1 and HCAN2 */
47 /* Configuration registers for HCAN0 and HCAN1 */
48 #define HCAN0_MCR __PORT8 0xFFFFF800 /* HCAN0 Master Control Register */
49 #define HCAN1_MCR __PORT8 0xFFFFFA00 /* HCAN1 Master Control Register */
50 #define MCR_MCR0m 0x01
51 #define MCR_MCR1m 0x02
52 #define MCR_MCR2m 0x04
53 #define MCR_MCR5m 0x20
54 #define MCR_MCR7m 0x80
55 #define HCAN0_GSR __PORT8 0xFFFFF801 /* HCAN0 General Status Register */
56 #define HCAN1_GSR __PORT8 0xFFFFFA01 /* HCAN1 General Status Register */
57 #define GSR_GSR0m 0x01 /* Bus Off Flag */
58 #define GSR_GSR1m 0x02 /* Transmit/Receive Warning Flag */
59 #define GSR_GSR2m 0x04 /* Message Transmission Status Flag */
60 #define GSR_GSR3m 0x08 /* Reset Status Bit */
61 #define HCAN0_BCR __PORT16 0xFFFFF802 /* HCAN0 Bit Configuration Register */
62 #define HCAN1_BCR __PORT16 0xFFFFFA02 /* HCAN1 Bit Configuration Register */
63 #define BCR_BRPm 0x3f00 /* Baud Rate Prescaler (BRP) bits 8-13 */
64 #define BCR_BCR0m 0x0100 /* Baud Rate Prescaler (BRP) - bit 8 */
65 #define BCR_BCR1m 0x0200 /* Baud Rate Prescaler (BRP) - bit 9 */
66 #define BCR_BCR2m 0x0400 /* Baud Rate Prescaler (BRP) - bit 10 */
67 #define BCR_BCR3m 0x0800 /* Baud Rate Prescaler (BRP) - bit 11 */
68 #define BCR_BCR4m 0x1000 /* Baud Rate Prescaler (BRP) - bit 12 */
69 #define BCR_BCR5m 0x2000 /* Baud Rate Prescaler (BRP) - bit 13 */
70 #define BCR_SJWm 0xc000 /* Resynchronization Jump Width (SJW) */
71 #define BCR_BCR6m 0x4000 /* Resynchronization Jump Width - bit 14 */
72 #define BCR_BCR7m 0x8000 /* Resynchronization Jump Width - bit 15 */
73 #define BCR_BCR15m 0x8000 /* Bit Sample Point (BSP) */
74 #define BCR_TSEG1m 0x000f /* Time Segment 1 (TSEG1) bits 0-3 */
75 #define BCR_BCR8m 0x0001 /* Time Segment 1 (TSEG1) - bit 0 */
76 #define BCR_BCR9m 0x0002 /* Time Segment 1 (TSEG1) - bit 1 */
77 #define BCR_BCR10m 0x0004 /* Time Segment 1 (TSEG1) - bit 2 */
78 #define BCR_BCR11m 0x0008 /* Time Segment 1 (TSEG1) - bit 3 */
79 #define BCR_TSEG2m 0x0070 /* Time Segment 2 (TSEG2) bits 4-6 */
80 #define BCR_BCR12m 0x0010 /* Time Segment 2 (TSEG2) - bit 4 */
81 #define BCR_BCR13m 0x0020 /* Time Segment 2 (TSEG2) - bit 5 */
82 #define BCR_BCR14m 0x0040 /* Time Segment 2 (TSEG2) - bit 6 */
83 #define HCAN0_BCRL __PORT8 0xFFFFF802 /* HCAN0 Bit Configuration Register L */
84 #define HCAN1_BCRL __PORT8 0xFFFFFA02 /* HCAN1 Bit Configuration Register L */
85 #define BCRL_BCR0m 0x01 /* Time Segment 1 (TSEG1) bits 0-3 (BCR0-3) */
86 #define BCRL_BCR1m 0x02
87 #define BCRL_BCR2m 0x04
88 #define BCRL_BCR3m 0x08
89 #define BCRL_BCR4m 0x10 /* Time Segment 2 (TSEG2) bits 4-6 (BCR4-6) */
90 #define BCRL_BCR5m 0x20
91 #define BCRL_BCR6m 0x40
92 #define BCRL_BCR15m 0x80 /* Bit Sample Point (BSP) */
93 #define HCAN0_BCRH __PORT8 0xFFFFF803 /* HCAN0 Bit Configuration Register H */
94 #define HCAN1_BCRH __PORT8 0xFFFFFA03 /* HCAN1 Bit Configuration Register H */
95 #define BCRH_BCR0m 0x01 /* Baud Rate Prescaler (BRP) bits 8-13 */
96 #define BCRH_BCR1m 0x02
97 #define BCRH_BCR2m 0x04
98 #define BCRH_BCR3m 0x08
99 #define BCRH_BCR4m 0x10
100 #define BCRH_BCR5m 0x20
101 #define BCRH_BCR6m 0x40 /* Resynchronization Jump Width bits 14-15 */
102 #define BCRH_BCR7m 0x80
103 #define HCAN0_MBCR __PORT16 0xFFFFF804 /* HCAN0 Mailbox Configuration Register */
104 #define HCAN1_MBCR __PORT16 0xFFFFFA04 /* HCAN1 Mailbox Configuration Register */
105 #define MBCR_MBCR8m 0x0001 /* 0 = Corresponding mailbox(8) is set for transmission */
106 #define MBCR_MBCR9m 0x0002
107 #define MBCR_MBCR10m 0x0004
108 #define MBCR_MBCR11m 0x0008
109 #define MBCR_MBCR12m 0x0010
110 #define MBCR_MBCR13m 0x0020
111 #define MBCR_MBCR14m 0x0040
112 #define MBCR_MBCR15m 0x0080
113 #define MBCR_MBCR1m 0x0200
114 #define MBCR_MBCR2m 0x0400
115 #define MBCR_MBCR3m 0x0800
116 #define MBCR_MBCR4m 0x0100
117 #define MBCR_MBCR5m 0x0200
118 #define MBCR_MBCR6m 0x0400
119 #define MBCR_MBCR7m 0x0800
120 #define HCAN0_TXPR __PORT16 0xFFFFF806 /* HCAN0 Transmit Wait Register */
121 #define HCAN1_TXPR __PORT16 0xFFFFFA06 /* HCAN1 Transmit wait register */
122 #define TXPR_TXPR8m 0x0001
123 #define TXPR_TXPR9m 0x0002
124 #define TXPR_TXPR10m 0x0004
125 #define TXPR_TXPR11m 0x0008
126 #define TXPR_TXPR12m 0x0010
127 #define TXPR_TXPR13m 0x0020
128 #define TXPR_TXPR14m 0x0040
129 #define TXPR_TXPR15m 0x0080
130 #define TXPR_TXPR1m 0x0200
131 #define TXPR_TXPR2m 0x0400
132 #define TXPR_TXPR3m 0x0800
133 #define TXPR_TXPR4m 0x1000
134 #define TXPR_TXPR5m 0x2000
135 #define TXPR_TXPR6m 0x4000
136 #define TXPR_TXPR7m 0x8000
137 #define HCAN0_TXCR __PORT16 0xFFFFF808 /* HCAN0 Transmit wait cancel register */
138 #define HCAN1_TXCR __PORT16 0xFFFFFA08 /* HCAN1 Transmit wait cancel register */
139 #define TXCR_TXCR8m 0x0001
140 #define TXCR_TXCR9m 0x0002
141 #define TXCR_TXCR10m 0x0004
142 #define TXCR_TXCR11m 0x0008
143 #define TXCR_TXCR12m 0x0010
144 #define TXCR_TXCR13m 0x0020
145 #define TXCR_TXCR14m 0x0040
146 #define TXCR_TXCR15m 0x0080
147 #define TXCR_TXCR1m 0x0200
148 #define TXCR_TXCR2m 0x0400
149 #define TXCR_TXCR3m 0x0800
150 #define TXCR_TXCR4m 0x1000
151 #define TXCR_TXCR5m 0x2000
152 #define TXCR_TXCR6m 0x4000
153 #define TXCR_TXCR7m 0x8000
154 #define HCAN0_TXACK __PORT16 0xFFFFF80A /* HCAN0 Transmit Acknowledge Register */
155 #define HCAN1_TXACK __PORT16 0xFFFFFA0A /* HCAN1 Transmit Acknowledge Register */
156 #define TXACK_TXACK8m 0x0001
157 #define TXACK_TXACK9m 0x0002
158 #define TXACK_TXACK10m 0x0004
159 #define TXACK_TXACK11m 0x0008
160 #define TXACK_TXACK12m 0x0010
161 #define TXACK_TXACK13m 0x0020
162 #define TXACK_TXACK14m 0x0040
163 #define TXACK_TXACK15m 0x0080
164 #define TXACK_TXACK1m 0x0200
165 #define TXACK_TXACK2m 0x0400
166 #define TXACK_TXACK3m 0x0800
167 #define TXACK_TXACK4m 0x1000
168 #define TXACK_TXACK5m 0x2000
169 #define TXACK_TXACK6m 0x4000
170 #define TXACK_TXACK7m 0x8000
171 #define HCAN0_ABACK __PORT16 0xFFFFF80C /* HCAN0 Abort Acknowledge Register */
172 #define HCAN1_ABACK __PORT16 0xFFFFFA0C /* HCAN1 Abort Acknowledge Register */
173 #define ABACK_ABACK8m 0x0001
174 #define ABACK_ABACK9m 0x0002
175 #define ABACK_ABACK10m 0x0004
176 #define ABACK_ABACK11m 0x0008
177 #define ABACK_ABACK12m 0x0010
178 #define ABACK_ABACK13m 0x0020
179 #define ABACK_ABACK14m 0x0040
180 #define ABACK_ABACK15m 0x0080
181 #define ABACK_ABACK1m 0x0200
182 #define ABACK_ABACK2m 0x0400
183 #define ABACK_ABACK3m 0x0800
184 #define ABACK_ABACK4m 0x1000
185 #define ABACK_ABACK5m 0x2000
186 #define ABACK_ABACK6m 0x4000
187 #define ABACK_ABACK7m 0x8000
188 #define HCAN0_RXPR __PORT16 0xFFFFF80E /* HCAN0 Receive Complete Register */
189 #define HCAN1_RXPR __PORT16 0xFFFFFA0E /* HCAN1 Receive Complete Register */
190 #define RXPR_RXPR8m 0x0001
191 #define RXPR_RXPR9m 0x0002
192 #define RXPR_RXPR10m 0x0004
193 #define RXPR_RXPR11m 0x0008
194 #define RXPR_RXPR12m 0x0010
195 #define RXPR_RXPR13m 0x0020
196 #define RXPR_RXPR14m 0x0040
197 #define RXPR_RXPR15m 0x0080
198 #define RXPR_RXPR0m 0x0100
199 #define RXPR_RXPR1m 0x0200
200 #define RXPR_RXPR2m 0x0400
201 #define RXPR_RXPR3m 0x0800
202 #define RXPR_RXPR4m 0x1000
203 #define RXPR_RXPR5m 0x2000
204 #define RXPR_RXPR6m 0x4000
205 #define RXPR_RXPR7m 0x8000
206 #define HCAN0_RFPR __PORT16 0xFFFFF810 /* HCAN0 Remote Request Register */
207 #define HCAN1_RFPR __PORT16 0xFFFFFA10 /* HCAN1 Remote Request Register */
208 #define RFPR_RFPR8m 0x0001
209 #define RFPR_RFPR9m 0x0002
210 #define RFPR_RFPR10m 0x0004
211 #define RFPR_RFPR11m 0x0008
212 #define RFPR_RFPR12m 0x0010
213 #define RFPR_RFPR13m 0x0020
214 #define RFPR_RFPR14m 0x0040
215 #define RFPR_RFPR15m 0x0080
216 #define RFPR_RFPR0m 0x0100
217 #define RFPR_RFPR1m 0x0200
218 #define RFPR_RFPR2m 0x0400
219 #define RFPR_RFPR3m 0x0800
220 #define RFPR_RFPR4m 0x1000
221 #define RFPR_RFPR5m 0x2000
222 #define RFPR_RFPR6m 0x4000
223 #define RFPR_RFPR7m 0x8000
224 #define HCAN0_IRR __PORT16 0xFFFFF812 /* HCAN0 Interrupt Register */
225 #define HCAN1_IRR __PORT16 0xFFFFFA12 /* HCAN1 Interrupt Register */
226 #define IRR_IRR0m 0x0100
227 #define IRR_IRR1m 0x0200
228 #define IRR_IRR2m 0x0400
229 #define IRR_IRR3m 0x0800
230 #define IRR_IRR4m 0x1000
231 #define IRR_IRR5m 0x2000
232 #define IRR_IRR6m 0x4000
233 #define IRR_IRR7m 0x8000
234 #define IRR_IRR8m 0x0001
235 #define IRR_IRR9m 0x0002
236 #define IRR_IRR12m 0x0010
237 #define HCAN0_IRRL __PORT8 0xFFFFF812 /* HCAN0 Interrupt Register L */
238 #define HCAN1_IRRL __PORT8 0xFFFFFA12 /* HCAN1 Interrupt Register L */
239 #define IRRL_IRR0m 0x01
240 #define IRRL_IRR1m 0x02
241 #define IRRL_IRR2m 0x04
242 #define IRRL_IRR3m 0x08
243 #define IRRL_IRR4m 0x10
244 #define IRRL_IRR5m 0x20
245 #define IRRL_IRR6m 0x40
246 #define IRRL_IRR7m 0x80
247 #define HCAN0_IRRH __PORT8 0xFFFFF813 /* HCAN0 Interrupt Register H */
248 #define HCAN1_IRRH __PORT8 0xFFFFFA13 /* HCAN0 Interrupt Register H */
249 #define IRRH_IRR8m 0x01
250 #define IRRH_IRR9m 0x02
251 #define IRRH_IRR12m 0x10
252 #define HCAN0_MBIMR __PORT16 0xFFFFF814 /* HCAN0 Mailbox Interrupt Mask Register */
253 #define HCAN1_MBIMR __PORT16 0xFFFFFA14 /* HCAN1 Mailbox Interrupt Mask Register */
254 #define MBIMR_MBIMR8m 0x0001
255 #define MBIMR_MBIMR9m 0x0002
256 #define MBIMR_MBIMR10m 0x0004
257 #define MBIMR_MBIMR11m 0x0008
258 #define MBIMR_MBIMR12m 0x0010
259 #define MBIMR_MBIMR13m 0x0020
260 #define MBIMR_MBIMR14m 0x0040
261 #define MBIMR_MBIMR15m 0x0080
262 #define MBIMR_MBIMR0m 0x0100
263 #define MBIMR_MBIMR1m 0x0200
264 #define MBIMR_MBIMR2m 0x0400
265 #define MBIMR_MBIMR3m 0x0800
266 #define MBIMR_MBIMR4m 0x1000
267 #define MBIMR_MBIMR5m 0x2000
268 #define MBIMR_MBIMR6m 0x4000
269 #define MBIMR_MBIMR7m 0x8000
270 #define HCAN0_IMR __PORT16 0xFFFFF816 /* HCAN0 Interrupt Mask Register */
271 #define HCAN1_IMR __PORT16 0xFFFFFA16 /* HCAN1 Interrupt Mask Register */
272 #define IMR_IMR8m 0x0001
273 #define IMR_IMR9m 0x0002
274 #define IMR_IMR12m 0x0010
275 #define IMR_IMR1m 0x0200
276 #define IMR_IMR2m 0x0400
277 #define IMR_IMR3m 0x0800
278 #define IMR_IMR4m 0x1000
279 #define IMR_IMR5m 0x2000
280 #define IMR_IMR6m 0x4000
281 #define IMR_IMR7m 0x8000
282 #define HCAN0_IMRL __PORT8 0xFFFFF816 /* HCAN0 Interrupt Mask Register L */
283 #define HCAN1_IMRL __PORT8 0xFFFFFA16 /* HCAN1 Interrupt Mask Register L */
284 #define IMRL_IMR1m 0x02
285 #define IMRL_IMR2m 0x04
286 #define IMRL_IMR3m 0x08
287 #define IMRL_IMR4m 0x10
288 #define IMRL_IMR5m 0x20
289 #define IMRL_IMR6m 0x40
290 #define IMRL_IMR7m 0x80
291 #define HCAN0_IMRH __PORT8 0xFFFFF817 /* HCAN0 Interrupt Mask Register H */
292 #define HCAN1_IMRH __PORT8 0xFFFFFA17 /* HCAN1 Interrupt Mask Register H */
293 #define IMRH_IMR8m 0x01
294 #define IMRH_IMR9m 0x02
295 #define IMRH_IMR12m 0x10
296 #define HCAN0_REC __PORT8 0xFFFFF818 /* HCAN0 Receive Error Counter */
297 #define HCAN1_REC __PORT8 0xFFFFFA18 /* HCAN1 Receive Error Counter */
298 #define HCAN0_TEC __PORT8 0xFFFFF819 /* HCAN0 Transmit Error Counter */
299 #define HCAN1_TEC __PORT8 0xFFFFFA19 /* HCAN1 Transmit Error Counter */
300 #define HCAN0_UMSR __PORT16 0xFFFFF81A /* HCAN0 Unread Message Status Register */
301 #define HCAN1_UMSR __PORT16 0xFFFFFA1A /* HCAN1 Unread Message Status Register */
302 #define UMSR_UMSR8m 0x0001
303 #define UMSR_UMSR9m 0x0002
304 #define UMSR_UMSR10m 0x0004
305 #define UMSR_UMSR11m 0x0008
306 #define UMSR_UMSR12m 0x0010
307 #define UMSR_UMSR13m 0x0020
308 #define UMSR_UMSR14m 0x0040
309 #define UMSR_UMSR15m 0x0080
310 #define UMSR_UMSR0m 0x0100
311 #define UMSR_UMSR1m 0x0200
312 #define UMSR_UMSR2m 0x0400
313 #define UMSR_UMSR3m 0x0800
314 #define UMSR_UMSR4m 0x1000
315 #define UMSR_UMSR5m 0x2000
316 #define UMSR_UMSR6m 0x4000
317 #define UMSR_UMSR7m 0x8000
318 #define HCAN0_LAFML __PORT16 0xFFFFF81C /* HCAN0 Local Acceptance Filter Masks L */
319 #define HCAN1_LAFML __PORT16 0xFFFFFA1C /* HCAN1 Local Acceptance Filter Masks L */
320 #define HCAN0_LAFMH __PORT16 0xFFFFF81E /* HCAN0 Local Acceptance Filter Masks H */
321 #define HCAN1_LAFMH __PORT16 0xFFFFFA1E /* HCAN1 Local Acceptance Filter Masks H */
322 /* Message Control and Data registers (MC0 to MC15) and (MD0 to MD15) for HCAN0 and HCAN1 */
323 #define HCAN0_MC0 __PORT8 0xFFFFF820 /* Message Control 0 */
324 #define HCAN1_MC0 __PORT8 0xFFFFFA20
325 #define HCAN0_MC1 __PORT8 0xFFFFF828 /* Message Control 1 */
326 #define HCAN1_MC1 __PORT8 0xFFFFFA28
327 #define HCAN0_MC2 __PORT8 0xFFFFF830 /* Message Control 2 */
328 #define HCAN1_MC2 __PORT8 0xFFFFFA30
329 #define HCAN0_MC3 __PORT8 0xFFFFF838 /* Message Control 3 */
330 #define HCAN1_MC3 __PORT8 0xFFFFFA38
331 #define HCAN0_MC4 __PORT8 0xFFFFF840 /* Message Control 4 */
332 #define HCAN1_MC4 __PORT8 0xFFFFFA40
333 #define HCAN0_MC5 __PORT8 0xFFFFF848 /* Message Control 5 */
334 #define HCAN1_MC5 __PORT8 0xFFFFFA48
335 #define HCAN0_MC6 __PORT8 0xFFFFF850 /* Message Control 6 */
336 #define HCAN1_MC6 __PORT8 0xFFFFFA50
337 #define HCAN0_MC7 __PORT8 0xFFFFF858 /* Message Control 7 */
338 #define HCAN1_MC7 __PORT8 0xFFFFFA58
339 #define HCAN0_MC8 __PORT8 0xFFFFF860 /* Message Control 8 */
340 #define HCAN1_MC8 __PORT8 0xFFFFFA60
341 #define HCAN0_MC9 __PORT8 0xFFFFF868 /* Message Control 9 */
342 #define HCAN1_MC9 __PORT8 0xFFFFFA68
343 #define HCAN0_MC10 __PORT8 0xFFFFF870 /* Message Control 10 */
344 #define HCAN1_MC10 __PORT8 0xFFFFFA70
345 #define HCAN0_MC11 __PORT8 0xFFFFF878 /* Message Control 11 */
346 #define HCAN1_MC11 __PORT8 0xFFFFFA78
347 #define HCAN0_MC12 __PORT8 0xFFFFF880 /* Message Control 12 */
348 #define HCAN1_MC12 __PORT8 0xFFFFFA80
349 #define HCAN0_MC13 __PORT8 0xFFFFF888 /* Message Control 13 */
350 #define HCAN1_MC13 __PORT8 0xFFFFFA88
351 #define HCAN0_MC14 __PORT8 0xFFFFF890 /* Message Control 14 */
352 #define HCAN1_MC14 __PORT8 0xFFFFFA90
353 #define HCAN0_MC15 __PORT8 0xFFFFF898 /* Message Control 15 */
354 #define HCAN1_MC15 __PORT8 0xFFFFFA98
355 #define HCAN0_MD0 __PORT8 0xFFFFF8B0 /* Message Data 0 */
356 #define HCAN1_MD0 __PORT8 0xFFFFFAB0
357 #define HCAN0_MD1 __PORT8 0xFFFFF8B8 /* Message Data 1 */
358 #define HCAN1_MD1 __PORT8 0xFFFFFAB8
359 #define HCAN0_MD2 __PORT8 0xFFFFF8C0 /* Message Data 2 */
360 #define HCAN1_MD2 __PORT8 0xFFFFFAC0
361 #define HCAN0_MD3 __PORT8 0xFFFFF8C8 /* Message Data 3 */
362 #define HCAN1_MD3 __PORT8 0xFFFFFAC8
363 #define HCAN0_MD4 __PORT8 0xFFFFF8D0 /* Message Data 4 */
364 #define HCAN1_MD4 __PORT8 0xFFFFFAD0
365 #define HCAN0_MD5 __PORT8 0xFFFFF8D8 /* Message Data 5 */
366 #define HCAN1_MD5 __PORT8 0xFFFFFAD8
367 #define HCAN0_MD6 __PORT8 0xFFFFF8E0 /* Message Data 6 */
368 #define HCAN1_MD6 __PORT8 0xFFFFFAE0
369 #define HCAN0_MD7 __PORT8 0xFFFFF8E8 /* Message Data 7 */
370 #define HCAN1_MD7 __PORT8 0xFFFFFAE8
371 #define HCAN0_MD8 __PORT8 0xFFFFF8F0 /* Message Data 8 */
372 #define HCAN1_MD8 __PORT8 0xFFFFFAF0
373 #define HCAN0_MD9 __PORT8 0xFFFFF8F8 /* Message Data 9 */
374 #define HCAN1_MD9 __PORT8 0xFFFFFAF8
375 #define HCAN0_MD10 __PORT8 0xFFFFF900 /* Message Data 10 */
376 #define HCAN1_MD10 __PORT8 0xFFFFFB00
377 #define HCAN0_MD11 __PORT8 0xFFFFF908 /* Message Data 11 */
378 #define HCAN1_MD11 __PORT8 0xFFFFFB08
379 #define HCAN0_MD12 __PORT8 0xFFFFF910 /* Message Data 12 */
380 #define HCAN1_MD12 __PORT8 0xFFFFFB10
381 #define HCAN0_MD13 __PORT8 0xFFFFF918 /* Message Data 13 */
382 #define HCAN1_MD13 __PORT8 0xFFFFFB18
383 #define HCAN0_MD14 __PORT8 0xFFFFF920 /* Message Data 14 */
384 #define HCAN1_MD14 __PORT8 0xFFFFFB20
385 #define HCAN0_MD15 __PORT8 0xFFFFF928 /* Message Data 15 */
386 #define HCAN1_MD15 __PORT8 0xFFFFFB28
388 /* Motor control PWM timer 1 */
389 #define PWM_PWCR1 __PORT8 0xFFFFFC00 /* PWM control register 1 */
390 #define PWCR1_CKS0m 0x01
391 #define PWCR1_CKS1m 0x02
392 #define PWCR1_CKS2m 0x04
393 #define PWCR1_CKS_F1 0x00
394 #define PWCR1_CKS_F2 0x01
395 #define PWCR1_CKS_F4 0x02
396 #define PWCR1_CKS_F8 0x03
397 #define PWCR1_CKS_F16 0x07
398 #define PWCR1_CSTm 0x08
399 #define PWCR1_CMFm 0x10
400 #define PWCR1_IEm 0x20
401 #define PWM_PWOCR1 __PORT8 0xFFFFFC02 /* PWM Output Control Register 1 */
402 #define PWOCR1_OE1Am 0x01
403 #define PWOCR1_OE1Bm 0x02
404 #define PWOCR1_OE1Cm 0x04
405 #define PWOCR1_OE1Dm 0x08
406 #define PWOCR1_OE1Em 0x10
407 #define PWOCR1_OE1Fm 0x20
408 #define PWOCR1_OE1Gm 0x40
409 #define PWOCR1_OE1Hm 0x80
410 #define PWM_PWPR1 __PORT8 0xFFFFFC04 /* PWM Polarity Register 1 */
411 #define PWPR1_OPS1Am 0x01
412 #define PWPR1_OPS1Bm 0x02
413 #define PWPR1_OPS1Cm 0x04
414 #define PWPR1_OPS1Dm 0x08
415 #define PWPR1_OPS1Em 0x10
416 #define PWPR1_OPS1Fm 0x20
417 #define PWPR1_OPS1Gm 0x40
418 #define PWPR1_OPS1Hm 0x80
419 #define PWM_PWCYR1 __PORT16 0xFFFFFC06 /* PWM Cycle Register 1 */
420 #define PWM_PWBFR1A __PORT16 0xFFFFFC08 /* PWM Buffer Register 1A */
421 #define PWBFR1A_DT8m 0x0100
422 #define PWBFR1A_DT9m 0x0200
423 #define PWBFR1A_DTxm 0x03ff
424 #define PWBFR1A_OTSm 0x1000
425 #define PWM_PWBFR1C __PORT16 0xFFFFFC0A /* PWM Buffer Register 1C */
426 #define PWBFR1C_DT8m 0x0100
427 #define PWBFR1C_DT9m 0x0200
428 #define PWBFR1C_DTxm 0x03ff
429 #define PWBFR1C_OTSm 0x1000
430 #define PWM_PWBFR1E __PORT16 0xFFFFFC0C /* PWM Buffer Register 1E */
431 #define PWBFR1E_DT8m 0x0100
432 #define PWBFR1E_DT9m 0x0200
433 #define PWBFR1E_DTxm 0x03ff
434 #define PWBFR1E_OTSm 0x1000
435 #define PWM_PWBFR1G __PORT16 0xFFFFFC0E /* PWM Buffer Register 1G */
436 #define PWBFR1G_DT8m 0x0100
437 #define PWBFR1G_DT9m 0x0200
438 #define PWBFR1G_DTxm 0x03ff
439 #define PWBFR1G_OTSm 0x1000
440 /* Motor control PWM timer 2 */
441 #define PWM_PWCR2 __PORT8 0xFFFFFC10 /* PWM Control Register 2 */
442 #define PWCR2_CKS0m 0x01
443 #define PWCR2_CKS1m 0x02
444 #define PWCR2_CKS2m 0x04
445 #define PWCR2_CKS_F1 0x00
446 #define PWCR2_CKS_F2 0x01
447 #define PWCR2_CKS_F4 0x02
448 #define PWCR2_CKS_F8 0x03
449 #define PWCR2_CKS_F16 0x07
450 #define PWCR2_CSTm 0x08
451 #define PWCR2_CMFm 0x10
452 #define PWCR2_IEm 0x20
453 #define PWM_PWOCR2 __PORT8 0xFFFFFC12 /* PWM Output Control Register 2 */
454 #define PWOCR2_OE2Am 0x01
455 #define PWOCR2_OE2Bm 0x02
456 #define PWOCR2_OE2Cm 0x04
457 #define PWOCR2_OE2Dm 0x08
458 #define PWOCR2_OE2Em 0x10
459 #define PWOCR2_OE2Fm 0x20
460 #define PWOCR2_OE2Gm 0x40
461 #define PWOCR2_OE2Hm 0x80
462 #define PWM_PWPR2 __PORT8 0xFFFFFC14 /* PWM Polarity Register 2 */
463 #define PWPR2_OPS2Am 0x01
464 #define PWPR2_OPS2Bm 0x02
465 #define PWPR2_OPS2Cm 0x04
466 #define PWPR2_OPS2Dm 0x08
467 #define PWPR2_OPS2Em 0x10
468 #define PWPR2_OPS2Fm 0x20
469 #define PWPR2_OPS2Gm 0x40
470 #define PWPR2_OPS2Hm 0x80
471 #define PWM_PWCYR2 __PORT16 0xFFFFFC16 /* PWM Cycle Register 2 */
472 #define PWM_PWBFR2A __PORT16 0xFFFFFC18 /* PWM Buffer Register 2A */
473 #define PWBFR2A_DT8m 0x0100
474 #define PWBFR2A_DT9m 0x0200
475 #define PWBFR2A_DTxm 0x03ff
476 #define PWBFR2A_TDSm 0x1000
477 #define PWM_PWBFR2B __PORT16 0xFFFFFC1A /* PWM Buffer Register 2B */
478 #define PWBFR2B_DT8m 0x0100
479 #define PWBFR2B_DT9m 0x0200
480 #define PWBFR2B_DTxm 0x03ff
481 #define PWBFR2B_TDSm 0x1000
482 #define PWM_PWBFR2C __PORT16 0xFFFFFC1C /* PWM Buffer Register 2C */
483 #define PWBFR2C_DT8m 0x0100
484 #define PWBFR2C_DT9m 0x0200
485 #define PWBFR2C_DTxm 0x03ff
486 #define PWBFR2C_TDSm 0x1000
487 #define PWM_PWBFR2D __PORT16 0xFFFFFC1E /* PWM Buffer Register 2E */
488 #define PWBFR2D_DT8m 0x0100
489 #define PWBFR2D_DT9m 0x0200
490 #define PWBFR2D_DTxm 0x03ff
491 #define PWBFR2D_TDSm 0x1000
492 /* Port H and J Registers */
493 #define DIO_PHDDR __PORT8 0xFFFFFC20 /* DIO H Data Direction Register */
494 #define PHDDR_PH0DDRm 0x01
495 #define PHDDR_PH1DDRm 0x02
496 #define PHDDR_PH2DDRm 0x04
497 #define PHDDR_PH3DDRm 0x08
498 #define PHDDR_PH4DDRm 0x10
499 #define PHDDR_PH5DDRm 0x20
500 #define PHDDR_PH6DDRm 0x40
501 #define PHDDR_PH7DDRm 0x80
502 #define DIO_PJDDR __PORT8 0xFFFFFC21 /* DIO J Data Direction Register */
503 #define PJDDR_PJ0DDRm 0x01
504 #define PJDDR_PJ1DDRm 0x02
505 #define PJDDR_PJ2DDRm 0x04
506 #define PJDDR_PJ3DDRm 0x08
507 #define PJDDR_PJ4DDRm 0x10
508 #define PJDDR_PJ5DDRm 0x20
509 #define PJDDR_PJ6DDRm 0x40
510 #define PJDDR_PJ7DDRm 0x80
511 #define DIO_PHDR __PORT8 0xFFFFFC24 /* DIO H Data Register */
512 #define PHDR_PH0DRm 0x01
513 #define PHDR_PH1DRm 0x02
514 #define PHDR_PH2DRm 0x04
515 #define PHDR_PH3DRm 0x08
516 #define PHDR_PH4DRm 0x10
517 #define PHDR_PH5DRm 0x20
518 #define PHDR_PH6DRm 0x40
519 #define PHDR_PH7DRm 0x80
520 #define DIO_PJDR __PORT8 0xFFFFFC25 /* DIO J Data Register */
521 #define PJDR_PJ0DRm 0x01
522 #define PJDR_PJ1DRm 0x02
523 #define PJDR_PJ2DRm 0x04
524 #define PJDR_PJ3DRm 0x08
525 #define PJDR_PJ4DRm 0x10
526 #define PJDR_PJ5DRm 0x20
527 #define PJDR_PJ6DRm 0x40
528 #define PJDR_PJ7DRm 0x80
529 #define DIO_PORTH __PORT8 0xFFFFFC28 /* DIO H Register */
530 #define PORTH_PH0m 0x01
531 #define PORTH_PH1m 0x02
532 #define PORTH_PH2m 0x04
533 #define PORTH_PH3m 0x08
534 #define PORTH_PH4m 0x10
535 #define PORTH_PH5m 0x20
536 #define PORTH_PH6m 0x40
537 #define PORTH_PH7m 0x80
538 #define DIO_PORTJ __PORT8 0xFFFFFC29 /* DIO J Register */
539 #define PORTJ_PJ0m 0x01
540 #define PORTJ_PJ1m 0x02
541 #define PORTJ_PJ2m 0x04
542 #define PORTJ_PJ3m 0x08
543 #define PORTJ_PJ4m 0x10
544 #define PORTJ_PJ5m 0x20
545 #define PORTJ_PJ6m 0x40
546 #define PORTJ_PJ7m 0x80
548 /* Module IIC valid in 2630,2638 and 2639 */
549 #define IIC_SCRX __PORT8 0xFFFFFDB4 /* Serial Control Register X */
550 #define SCRX_IICEm 0x10
551 #define SCRX_IICX0m 0x20
552 #define SCRX_IICX1m 0x40
553 #define IIC_DDCSWR __PORT8 0xFFFFFDB5 /* DDC Switch Register */
554 #define DDCSWR_CLR0m 0x01
555 #define DDCSWR_CLR1m 0x02
556 #define DDCSWR_CLR2m 0x04
557 #define DDCSWR_CLR3m 0x08
558 #define DDCSWR_IFm 0x10
559 #define DDCSWR_IEm 0x20
560 #define DDCSWR_SWm 0x40
561 #define DDCSWR_SWEm 0x80
563 #define SYS_SBYCR __PORT8 0xFFFFFDE4 /* Standby Control Register */
564 #define SBYCR_OPEm 0x08
565 #define SBYCR_STS0m 0x10
566 #define SBYCR_STS1m 0x20
567 #define SBYCR_STS2m 0x40
568 #define SBYCR_SSBYm 0x80
569 #define SYS_SYSCR __PORT8 0xFFFFFDE5 /* SYS Control Register */
570 #define SYSCR_RAMEm 0x01
571 #define SYSCR_NMIEGm 0x08
572 #define SYSCR_INTM0m 0x10
573 #define SYSCR_INTM1m 0x20
574 #define SYSCR_MACSm 0x80
575 #define SYS_SCKCR __PORT8 0xFFFFFDE6 /* SYS Clock Control Register */
576 #define SCKCR_SCK0m 0x01 /* Bus master clock selection */
577 #define SCKCR_SCK1m 0x02 /* 0=full, 1=/2, 2=/4 3=/8 */
578 #define SCKCR_SCK2m 0x04 /* 4=/16, 5=/32 */
579 #define SCKCR_SCKxm 0x07
580 #define SCKCR_STCSm 0x08 /* 1=Immediately change, 0=at Stby */
581 #define SCKCR_PSTOPm 0x80 /* 1=Clock Output Disable */
582 #define SYS_MDCR __PORT8 0xFFFFFDE7 /* Mode Control Register */
583 #define MDCR_MDS0m 0x01
584 #define MDCR_MDS1m 0x02
585 #define MDCR_MDS2m 0x04
586 #define SYS_PFCR __PORT8 0xFFFFFDEB /* Pin Function Control Register */
587 #define PFCR_AE0m 0x01
588 #define PFCR_AE1m 0x02
589 #define PFCR_AE2m 0x04
590 #define PFCR_AE3m 0x08
591 #define PFCR_AExm 0x0f
592 #define SYS_LPWRCR __PORT8 0xFFFFFDEC /* Low-Power Control Register */
593 #define LPWRCR_STC0m 0x01
594 #define LPWRCR_STC1m 0x02
595 #define LPWRCR_STCxm 0x03
596 #define LPWRCR_RFCUTm 0x08
597 #define LPWRCR_SUBSTPm 0x10
598 #define LPWRCR_NESELm 0x20
599 #define LPWRCR_LSONm 0x40
600 #define LPWRCR_DTONm 0x80
601 /* Module PC Break Controller */
602 #define PBC_BARA __PORT32 0xFFFFFE00 /* Break Address Register A */
603 #define PBC_BARB __PORT32 0xFFFFFE04 /* Break Address Register B */
604 #define PBC_BCRA __PORT8 0xFFFFFE08 /* Break Control Register A */
605 #define BCRA_BIEAm 0x01
606 #define BCRA_CSELA0m 0x02
607 #define BCRA_CSELA1m 0x04
608 #define BCRA_BAMRA0m 0x08
609 #define BCRA_BAMRA1m 0x10
610 #define BCRA_BAMRA2m 0x20
611 #define BCRA_CDAm 0x40
612 #define BCRA_CMFAm 0x80
613 #define PBC_BCRB __PORT8 0xFFFFFE09 /* Break Control Register B */
614 #define BCRB_BIEAm 0x01
615 #define BCRB_CSELA0m 0x02
616 #define BCRB_CSELA1m 0x04
617 #define BCRB_BAMRA0m 0x08
618 #define BCRB_BAMRA1m 0x10
619 #define BCRB_BAMRA2m 0x20
620 #define BCRB_CDAm 0x40
621 #define BCRB_CMFAm 0x80
622 /* Module Interrupt Controller Registers */
623 #define INT_ISCRH __PORT8 0xFFFFFE12 /* IRQ Sence Control Register H */
624 #define ISCRH_IRQ4SCAm 0x01
625 #define ISCRH_IRQ4SCBm 0x02
626 #define ISCRH_IRQ5SCAm 0x04
627 #define ISCRH_IRQ5SCBm 0x08
628 #define INT_ISCRL __PORT8 0xFFFFFE13 /* IRQ Sence Control Register L */
629 #define ISCRL_IRQ0SCAm 0x01
630 #define ISCRL_IRQ0SCBm 0x02
631 #define ISCRL_IRQ1SCAm 0x04
632 #define ISCRL_IRQ1SCBm 0x08
633 #define ISCRL_IRQ2SCAm 0x10
634 #define ISCRL_IRQ2SCBm 0x20
635 #define ISCRL_IRQ3SCAm 0x40
636 #define ISCRL_IRQ3SCBm 0x80
637 #define INT_IER __PORT8 0xFFFFFE14 /* IRQ Enable Register */
638 #define IER_IRQ0Em 0x01
639 #define IER_IRQ1Em 0x02
640 #define IER_IRQ2Em 0x04
641 #define IER_IRQ3Em 0x08
642 #define IER_IRQ4Em 0x10
643 #define IER_IRQ5Em 0x20
644 #define INT_ISR __PORT8 0xFFFFFE15 /* IRQ Status Register */
645 #define ISR_IRQ0Fm 0x01
646 #define ISR_IRQ1Fm 0x02
647 #define ISR_IRQ2Fm 0x04
648 #define ISR_IRQ3Fm 0x08
649 #define ISR_IRQ4Fm 0x10
650 #define ISR_IRQ5Fm 0x20
652 #define DTC_DTCERA __PORT8 0xFFFFFE16 /* DTC Enable Register A */
653 #define DTCERA_DTCEA0m 0x01
654 #define DTCERA_DTCEA1m 0x02
655 #define DTCERA_DTCEA2m 0x04
656 #define DTCERA_DTCEA3m 0x08
657 #define DTCERA_DTCEA4m 0x10
658 #define DTCERA_DTCEA5m 0x20
659 #define DTCERA_DTCEA6m 0x40
660 #define DTCERA_DTCEA7m 0x80
661 #define DTC_DTCERB __PORT8 0xFFFFFE17 /* DTC Enable Register B */
662 #define DTCERB_DTCEB0m 0x01
663 #define DTCERB_DTCEB1m 0x02
664 #define DTCERB_DTCEB2m 0x04
665 #define DTCERB_DTCEB3m 0x08
666 #define DTCERB_DTCEB4m 0x10
667 #define DTCERB_DTCEB5m 0x20
668 #define DTCERB_DTCEB6m 0x40
669 #define DTCERB_DTCEB7m 0x80
670 #define DTC_DTCERC __PORT8 0xFFFFFE18 /* DTC Enable Register C */
671 #define DTCERC_DTCEC0m 0x01
672 #define DTCERC_DTCEC1m 0x02
673 #define DTCERC_DTCEC2m 0x04
674 #define DTCERC_DTCEC3m 0x08
675 #define DTCERC_DTCEC4m 0x10
676 #define DTCERC_DTCEC5m 0x20
677 #define DTCERC_DTCEC6m 0x40
678 #define DTCERC_DTCEC7m 0x80
679 #define DTC_DTCERD __PORT8 0xFFFFFE19 /* DTC Enable Register D */
680 #define DTCERD_DTCED0m 0x01
681 #define DTCERD_DTCED1m 0x02
682 #define DTCERD_DTCED2m 0x04
683 #define DTCERD_DTCED3m 0x08
684 #define DTCERD_DTCED4m 0x10
685 #define DTCERD_DTCED5m 0x20
686 #define DTCERD_DTCED6m 0x40
687 #define DTCERD_DTCED7m 0x80
688 #define DTC_DTCERE __PORT8 0xFFFFFE1A /* DTC Enable Register E */
689 #define DTCERE_DTCEE0m 0x01
690 #define DTCERE_DTCEE1m 0x02
691 #define DTCERE_DTCEE2m 0x04
692 #define DTCERE_DTCEE3m 0x08
693 #define DTCERE_DTCEE4m 0x10
694 #define DTCERE_DTCEE5m 0x20
695 #define DTCERE_DTCEE6m 0x40
696 #define DTCERE_DTCEE7m 0x80
697 #define DTC_DTCERF __PORT8 0xFFFFFE1B /* DTC Enable Register F */
698 #define DTCERF_DTCEF0m 0x01
699 #define DTCERF_DTCEF1m 0x02
700 #define DTCERF_DTCEF2m 0x04
701 #define DTCERF_DTCEF3m 0x08
702 #define DTCERF_DTCEF4m 0x10
703 #define DTCERF_DTCEF5m 0x20
704 #define DTCERF_DTCEF6m 0x40
705 #define DTCERF_DTCEF7m 0x80
706 #define DTC_DTCERG __PORT8 0xFFFFFE1C /* DTC Enable Register G */
707 #define DTCERG_DTCEG0m 0x01
708 #define DTCERG_DTCEG1m 0x02
709 #define DTCERG_DTCEG2m 0x04
710 #define DTCERG_DTCEG3m 0x08
711 #define DTCERG_DTCEG4m 0x10
712 #define DTCERG_DTCEG5m 0x20
713 #define DTCERG_DTCEG6m 0x40
714 #define DTCERG_DTCEG7m 0x80
715 #define DTC_DTVECR __PORT8 0xFFFFFE1F /* DTC Vector Register */
716 #define DTVECR_DTVEC0m 0x01
717 #define DTVECR_DTVEC1m 0x02
718 #define DTVECR_DTVEC2m 0x04
719 #define DTVECR_DTVEC3m 0x08
720 #define DTVECR_DTVEC4m 0x10
721 #define DTVECR_DTVEC5m 0x20
722 #define DTVECR_DTVEC6m 0x40
723 #define DTVECR_SWDTEm 0x80
724 /* Module Programmable Pulse Generator */
725 #define PPG_PCR __PORT8 0xFFFFFE26 /* PPG Output Control Register */
726 #define PCR_G0CMS0m 0x01
727 #define PCR_G0CMS1m 0x02
728 #define PCR_G1CMS0m 0x04
729 #define PCR_G1CMS1m 0x08
730 #define PCR_G2CMS0m 0x10
731 #define PCR_G2CMS1m 0x20
732 #define PCR_G3CMS0m 0x40
733 #define PCR_G3CMS1m 0x80
734 #define PPG_PMR __PORT8 0xFFFFFE27 /* PPG Output Mode Register */
735 #define PMR_G0NOVm 0x01
736 #define PMR_G1NOVm 0x02
737 #define PMR_G2NOVm 0x04
738 #define PMR_G3INVm 0x08
739 #define PMR_G0INVm 0x10
740 #define PMR_G1INVm 0x20
741 #define PMR_G2INVm 0x40
742 #define PMM_G3INVm 0x80
743 #define PPG_NDERH __PORT8 0xFFFFFE28 /* Next Data Enable Register H */
744 #define NDERH_NDER8m 0x01
745 #define NDERH_NDER9m 0x02
746 #define NDERH_NDER10m 0x04
747 #define NDERH_NDER11m 0x08
748 #define NDERH_NDER12m 0x10
749 #define NDERH_NDER13m 0x20
750 #define NDERH_NDER14m 0x40
751 #define NDERH_NDER15m 0x80
752 #define PPG_NDERL __PORT8 0xFFFFFE29 /* Next Data Enable Register L */
753 #define NDERL_NDER0m 0x01
754 #define NDERL_NDER1m 0x02
755 #define NDERL_NDER2m 0x04
756 #define NDERL_NDER3m 0x08
757 #define NDERL_NDER4m 0x10
758 #define NDERL_NDER5m 0x20
759 #define NDERL_NDER6m 0x40
760 #define NDERL_NDER7m 0x80
761 #define PPG_PODRH __PORT8 0xFFFFFE2A /* Output Data Register H */
762 #define PODRH_POD8m 0x01
763 #define PODRH_POD9m 0x02
764 #define PODRH_POD10m 0x04
765 #define PODRH_POD11m 0x08
766 #define PODRH_POD12m 0x10
767 #define PODRH_POD13m 0x20
768 #define PODRH_POD14m 0x40
769 #define PODRH_POD15m 0x80
770 #define PPG_PODRL __PORT8 0xFFFFFE2B /* Output Data Register L */
771 #define PODRL_POD0m 0x01
772 #define PODRL_POD1m 0x02
773 #define PODRL_POD2m 0x04
774 #define PODRL_POD3m 0x08
775 #define PODRL_POD4m 0x10
776 #define PODRL_POD5m 0x20
777 #define PODRL_POD6m 0x40
778 #define PODRL_POD7m 0x80
779 //#define PPG_NDRH __PORT8 0xFFFFFE2C /* Next data register H */ /* Use when group2 and group3 have the same output trigger selected */
780 #define NDRH_NDR8m 0x01 /* Use for group2 if group3 have different output triger to group2 */
781 #define NDRH_NDR9m 0x02
782 #define NDRH_NDR10m 0x04
783 #define NDRH_NDR11m 0x08
784 #define NDRH_NDR12m 0x10
785 #define NDRH_NDR13m 0x20
786 #define NDRH_NDR14m 0x40
787 #define NDRH_NDR15m 0x80
788 //#define PPG_NDRL __PORT8 0xFFFFFE2D /* Next data register L */ /* Use when group2 and group3 have the same output trigger selected */
789 #define NDRL_NDR0m 0x01 /* Use for group2 if group3 have different output triger to group2 */
790 #define NDRL_NDR1m 0x02
791 #define NDRL_NDR2m 0x04
792 #define NDRL_NDR3m 0x08
793 #define NDRL_NDR4m 0x10
794 #define NDRL_NDR5m 0x20
795 #define NDRL_NDR6m 0x40
796 #define NDRL_NDR7m 0x80
797 //#define PPG_NDRH __PORT8 0xFFFFFE2E /* Next Data Register H */ /* Use for group3 if group2 and group3 have different triggers */
798 #define NDRH_NDR8m 0x01
799 #define NDRH_NDR9m 0x02
800 #define NDRH_NDR10m 0x04
801 #define NDRH_NDR11m 0x08
802 //#define PPG_NDRL __PORT8 0xFFFFFE2F /* Next Data Register L */ /* Use for group3 if group2 and group3 have different triggers */
803 #define NDRL_NDR0m 0x01
804 #define NDRL_NDR1m 0x02
805 #define NDRL_NDR2m 0x04
806 #define NDRL_NDR3m 0x08
808 #define DIO_P1DDR __PORT8 0xFFFFFE30 /* DIO 1 Data Direction Register */
809 #define P1DDR_P10DDRm 0x01
810 #define P1DDR_P11DDRm 0x02
811 #define P1DDR_P12DDRm 0x04
812 #define P1DDR_P13DDRm 0x08
813 #define P1DDR_P14DDRm 0x10
814 #define P1DDR_P15DDRm 0x20
815 #define P1DDR_P16DDRm 0x40
816 #define P1DDR_P17DDRm 0x80
817 #define DIO_P3DDR __PORT8 0xFFFFFE32 /* DIO 3 Data Direction Register */
818 #define P3DDR_P30DDRm 0x01
819 #define P3DDR_P31DDRm 0x02
820 #define P3DDR_P32DDRm 0x04
821 #define P3DDR_P33DDRm 0x08
822 #define P3DDR_P34DDRm 0x10
823 #define P3DDR_P35DDRm 0x20
824 #define DIO_PADDR __PORT8 0xFFFFFE39 /* DIO A Data Direction Register */
825 #define PADDR_PA0DDRm 0x01
826 #define PADDR_PA1DDRm 0x02
827 #define PADDR_PA2DDRm 0x04
828 #define PADDR_PA3DDRm 0x08
829 #define DIO_PBDDR __PORT8 0xFFFFFE3A /* DIO B Data Direction Register */
830 #define PBDDR_PB0DDRm 0x01
831 #define PBDDR_PB1DDRm 0x02
832 #define PBDDR_PB2DDRm 0x04
833 #define PBDDR_PB3DDRm 0x08
834 #define PBDDR_PB4DDRm 0x10
835 #define PBDDR_PB5DDRm 0x20
836 #define PBDDR_PB6DDRm 0x40
837 #define PBDDR_PB7DDRm 0x80
838 #define DIO_PCDDR __PORT8 0xFFFFFE3B /* DIO C Data Direction Register */
839 #define PCDDR_PC0DDRm 0x01
840 #define PCDDR_PC1DDRm 0x02
841 #define PCDDR_PC2DDRm 0x04
842 #define PCDDR_PC3DDRm 0x08
843 #define PCDDR_PC4DDRm 0x10
844 #define PCDDR_PC5DDRm 0x20
845 #define PCDDR_PC6DDRm 0x40
846 #define PCDDR_PC7DDRm 0x80
847 #define DIO_PDDDR __PORT8 0xFFFFFE3C /* DIO D Data Direction Register */
848 #define PDDDR_PD0DDRm 0x01
849 #define PDDDR_PD1DDRm 0x02
850 #define PDDDR_PD2DDRm 0x04
851 #define PDDDR_PD3DDRm 0x08
852 #define PDDDR_PD4DDRm 0x10
853 #define PDDDR_PD5DDRm 0x20
854 #define PDDDR_PD6DDRm 0x40
855 #define PDDDR_PD7DDRm 0x80
856 #define DIO_PEDDR __PORT8 0xFFFFFE3D /* DIO E Data Direction Register */
857 #define PEDDR_PE0DDRm 0x01
858 #define PEDDR_PE1DDRm 0x02
859 #define PEDDR_PE2DDRm 0x04
860 #define PEDDR_PE3DDRm 0x08
861 #define PEDDR_PE4DDRm 0x10
862 #define PEDDR_PE5DDRm 0x20
863 #define PEDDR_PE6DDRm 0x40
864 #define PEDDR_PE7DDRm 0x80
865 #define DIO_PFDDR __PORT8 0xFFFFFE3E /* DIO F Data Direction Register */
866 #define PFDDR_PF0DDRm 0x01
867 #define PFDDR_PF3DDRm 0x08
868 #define PFDDR_PF4DDRm 0x10
869 #define PFDDR_PF5DDRm 0x20
870 #define PFDDR_PF6DDRm 0x40
871 #define PFDDR_PF7DDRm 0x80
872 #define DIO_PAPCR __PORT8 0xFFFFFE40 /* DIO A MOS Pull-Up Control Register */
873 #define PAPCR_PA0PCRm 0x01
874 #define PAPCR_PA1PCRm 0x02
875 #define PAPCR_PA2PCRm 0x04
876 #define PAPCR_PA3PCRm 0x08
877 #define DIO_PBPCR __PORT8 0xFFFFFE41 /* DIO B MOS Pull-Up Control Register */
878 #define PBPCR_PB0PCRm 0x01
879 #define PBPCR_PB1PCRm 0x02
880 #define PBPCR_PB2PCRm 0x04
881 #define PBPCR_PB3PCRm 0x08
882 #define PBPCR_PB4PCRm 0x10
883 #define PBPCR_PB5PCRm 0x20
884 #define PBPCR_PB6PCRm 0x40
885 #define PBPCR_PB7PCRm 0x80
886 #define DIO_PCPCR __PORT8 0xFFFFFE42 /* DIO C MOS Pull-Up Control Register */
887 #define PCPCR_PC0PCRm 0x01
888 #define PCPCR_PC1PCRm 0x02
889 #define PCPCR_PC2PCRm 0x04
890 #define PCPCR_PC3PCRm 0x08
891 #define PCPCR_PC4PCRm 0x10
892 #define PCPCR_PC5PCRm 0x20
893 #define PCPCR_PC6PCRm 0x40
894 #define PCPCR_PC7PCRm 0x80
895 #define DIO_PDPCR __PORT8 0xFFFFFE43 /* DIO D MOS Pull-Up Control Register */
896 #define PDPCR_PD0PCRm 0x01
897 #define PDPCR_PD1PCRm 0x02
898 #define PDPCR_PD2PCRm 0x04
899 #define PDPCR_PD3PCRm 0x08
900 #define PDPCR_PD4PCRm 0x10
901 #define PDPCR_PD5PCRm 0x20
902 #define PDPCR_PD6PCRm 0x40
903 #define PDPCR_PD7PCRm 0x80
904 #define DIO_PEPCR __PORT8 0xFFFFFE44 /* DIO E MOS Pull-Up Control Register */
905 #define PEPCR_PE0PCRm 0x01
906 #define PEPCR_PE1PCRm 0x02
907 #define PEPCR_PE2PCRm 0x04
908 #define PEPCR_PE3PCRm 0x08
909 #define PEPCR_PE4PCRm 0x10
910 #define PEPCR_PE5PCRm 0x20
911 #define PEPCR_PE6PCRm 0x40
912 #define PEPCR_PE7PCRm 0x80
913 #define DIO_P3ODR __PORT8 0xFFFFFE46 /* DIO 3 Open Drain Control Register */
914 #define P3ODR_P30ODRm 0x01
915 #define P3ODR_P31ODRm 0x02
916 #define P3ODR_P32ODRm 0x04
917 #define P3ODR_P33ODRm 0x08
918 #define P3ODR_P34ODRm 0x10
919 #define P3ODR_P35ODRm 0x20
920 #define DIO_PAODR __PORT8 0xFFFFFE47 /* DIO A Open Drain Control Register */
921 #define PAODR_PA0ODRm 0x01
922 #define PAODR_PA1ODRm 0x02
923 #define PAODR_PA2ODRm 0x04
924 #define PAODR_PA3ODRm 0x08
925 #define DIO_PBODR __PORT8 0xFFFFFE48 /* DIO B Open Drain Control Register */
926 #define PBODR_PB0ODRm 0x01
927 #define PBODR_PB1ODRm 0x02
928 #define PBODR_PB2ODRm 0x04
929 #define PBODR_PB3ODRm 0x08
930 #define PBODR_PB4ODRm 0x10
931 #define PBODR_PB5ODRm 0x20
932 #define PBODR_PB6ODRm 0x40
933 #define PBODR_PB7ODRm 0x80
934 #define DIO_PCODR __PORT8 0xFFFFFE49 /* DIO C Open Drain Control Register */
935 #define PCODR_PC0ODRm 0x01
936 #define PCODR_PC1ODRm 0x02
937 #define PCODR_PC2ODRm 0x04
938 #define PCODR_PC3ODRm 0x08
939 #define PCODR_PC4ODRm 0x10
940 #define PCODR_PC5ODRm 0x20
941 #define PCODR_PC6ODRm 0x40
942 #define PCODR_PC7ODRm 0x80
943 /* Module Time pulse unit */
944 #define TPU_TCR3 __PORT8 0xFFFFFE80 /* Timer Control Register 3 */
945 #define TCR3_TPSC0m 0x01
946 #define TCR3_TPSC1m 0x02
947 #define TCR3_TPSC2m 0x04
948 #define TCR3_CKEG0m 0x08
949 #define TCR3_CKEG1m 0x10
950 #define TCR3_CCLR0m 0x20
951 #define TCR3_CCLR1m 0x40
952 #define TCR3_CCLR2m 0x80
953 #define TPU_TMDR3 __PORT8 0xFFFFFE81 /* Timer Mode Register 3 */
954 #define TMDR3_MD0m 0x01
955 #define TMDR3_MD1m 0x02
956 #define TMDR3_MD2m 0x04
957 #define TMDR3_MD3m 0x08
958 #define TMDR3_BFAm 0x10
959 #define TMDR3_BFBm 0x20
960 #define TPU_TIOR3H __PORT8 0xFFFFFE82 /* Timer IO Control Register 3H */
961 #define TIOR3H_IOA0m 0x01
962 #define TIOR3H_IOA1m 0x02
963 #define TIOR3H_IOA2m 0x04
964 #define TIOR3H_IOA3m 0x08
965 #define TIOR3H_IOB0m 0x10
966 #define TIOR3H_IOB1m 0x20
967 #define TIOR3H_IOB2m 0x40
968 #define TIOR3H_IOB3m 0x80
969 #define TPU_TIOR3L __PORT8 0xFFFFFE83 /* Timer IO Control Register 3L */
970 #define TIOR3L_IOC0m 0x01
971 #define TIOR3L_IOC1m 0x02
972 #define TIOR3L_IOC2m 0x04
973 #define TIOR3L_IOC3m 0x08
974 #define TIOR3L_IOD0m 0x10
975 #define TIOR3L_IOD1m 0x20
976 #define TIOR3L_IOD2m 0x40
977 #define TIOR3L_IOD3m 0x80
978 #define TPU_TIER3 __PORT8 0xFFFFFE84 /* -Timer INT Enable Register 3 */
979 #define TIER3_TGIEAm 0x01
980 #define TIER3_TGIEBm 0x02
981 #define TIER3_TGIECm 0x04
982 #define TIER3_TGIEDm 0x08
983 #define TIER3_TCIEVm 0x10
984 #define TIER3_TTGEm 0x80
985 #define TPU_TSR3 __PORT8 0xFFFFFE85 /* Timer Status Register 3 */
986 #define TSR3_TGFAm 0x01
987 #define TSR3_TGFBm 0x02
988 #define TSR3_TGFCm 0x04
989 #define TSR3_TGFDm 0x08
990 #define TSR3_TCFVm 0x10
991 #define TPU_TCNT3 __PORT16 0xFFFFFE86 /* Timer Counter 3 */
992 #define TPU_TGR3A __PORT16 0xFFFFFE88 /* Timer General Register 3A */
993 #define TPU_TGR3B __PORT16 0xFFFFFE8A /* Timer General Register 3B */
994 #define TPU_TGR3C __PORT16 0xFFFFFE8C /* Timer General Register 3C */
995 #define TPU_TGR3D __PORT16 0xFFFFFE8E /* Timer General Register 3D */
996 #define TPU_TCR4 __PORT8 0xFFFFFE90 /* Timer Control Register 4 */
997 #define TCR4_TPSC0m 0x01
998 #define TCR4_TPSC1m 0x02
999 #define TCR4_TPSC2m 0x04
1000 #define TCR4_CKEG0m 0x08
1001 #define TCR4_CKEG1m 0x10
1002 #define TCR4_CCLR0m 0x20
1003 #define TCR4_CCLR1m 0x40
1004 #define TPU_TMDR4 __PORT8 0xFFFFFE91 /* Timer Mode Register 4 */
1005 #define TMDR4_MD0m 0x01
1006 #define TMDR4_MD1m 0x02
1007 #define TMDR4_MD2m 0x04
1008 #define TMDR4_MD3m 0x08
1009 #define TPU_TIOR4 __PORT8 0xFFFFFE92 /* Timer IO Control Register 4 */
1010 #define TIOR4_IOA0m 0x01
1011 #define TIOR4_IOA1m 0x02
1012 #define TIOR4_IOA2m 0x04
1013 #define TIOR4_IOA3m 0x08
1014 #define TIOR4_IOB0m 0x10
1015 #define TIOR4_IOB1m 0x20
1016 #define TIOR4_IOB2m 0x40
1017 #define TIOR4_IOB3m 0x80
1018 #define TPU_TIER4 __PORT8 0xFFFFFE94 /* Timer INT Enable Register 4 */
1019 #define TIER4_TGIEAm 0x01
1020 #define TIER4_TGIEBm 0x02
1021 #define TIER4_TCIEVm 0x10
1022 #define TIER4_TCIEUm 0x20
1023 #define TIER4_TTGEm 0x80
1024 #define TPU_TSR4 __PORT8 0xFFFFFE95 /* Timer Status Register 4 */
1025 #define TSR4_TGFAm 0x01
1026 #define TSR4_TGFBm 0x02
1027 #define TSR4_TCFVm 0x10
1028 #define TSR4_TCFUm 0x20
1029 #define TSR4_TCFDm 0x80
1030 #define TPU_TCNT4 __PORT16 0xFFFFFE96 /* Timer Counter 4 */
1031 #define TPU_TGR4A __PORT16 0xFFFFFE98 /* Timer General Register 4A */
1032 #define TPU_TGR4B __PORT16 0xFFFFFE9A /* Timer General Register 4B */
1033 #define TPU_TCR5 __PORT8 0xFFFFFEA0 /* Timer Control Register 5 */
1034 #define TCR5_TPSC0m 0x01
1035 #define TCR5_TPSC1m 0x02
1036 #define TCR5_TPSC2m 0x04
1037 #define TCR5_CKEG0m 0x08
1038 #define TCR5_CKEG1m 0x10
1039 #define TCR5_CCLR0m 0x20
1040 #define TCR5_CCLR1m 0x40
1041 #define TPU_TMDR5 __PORT8 0xFFFFFEA1 /* Timer Mode Register 5 */
1043 #define TPU_TIOR5 __PORT8 0xFFFFFEA2 /* Timer IO Control Register 5 */
1044 #define TIOR5_IOA0m 0x01
1045 #define TIOR5_IOA1m 0x02
1046 #define TIOR5_IOA2m 0x04
1047 #define TIOR5_IOA3m 0x08
1048 #define TIOR5_IOB0m 0x10
1049 #define TIOR5_IOB1m 0x20
1050 #define TIOR5_IOB2m 0x40
1051 #define TIOR5_IOB3m 0x80
1052 #define TPU_TIER5 __PORT8 0xFFFFFEA4 /* Timer INT Enable Register 5 */
1053 #define TIER5_TGIEAm 0x01
1054 #define TIER5_TGIEBm 0x02
1055 #define TIER5_TCIEVm 0x10
1056 #define TIER5_TCIEUm 0x20
1057 #define TIER5_TTGEm 0x80
1058 #define TPU_TSR5 __PORT8 0xFFFFFEA5 /* Timer Status Register 5 */
1059 #define TSR5_TGFAm 0x01
1060 #define TSR5_TGFBm 0x02
1061 #define TSR5_TCFVm 0x10
1062 #define TSR5_TCFUm 0x20
1063 #define TSR5_TCFDm 0x80
1064 #define TPU_TCNT5 __PORT16 0xFFFFFEA6 /* Timer Counter 5 */
1065 #define TPU_TGR5A __PORT16 0xFFFFFEA8 /* Timer General Register 5A */
1066 #define TPU_TGR5B __PORT16 0xFFFFFEAA /* Timer General Register 5B */
1067 #define TPU_TSTR __PORT8 0xFFFFFEB0 /* Timer Start Register */
1068 #define TSTR_CST0m 0x01
1069 #define TSTR_CST1m 0x02
1070 #define TSTR_CST2m 0x04
1071 #define TSTR_CST3m 0x08
1072 #define TSTR_CST4m 0x10
1073 #define TSTR_CST5m 0x20
1074 #define TPU_TSYR __PORT8 0xFFFFFEB1 /* Timer Synchro Register */
1075 #define TSYR_SYNC0m 0x01
1076 #define TSYR_SYNC1m 0x02
1077 #define TSYR_SYNC2m 0x04
1078 #define TSYR_SYNC3m 0x08
1079 #define TSYR_SYNC4m 0x10
1080 #define TSYR_SYNC5m 0x20
1081 /* Module Interrupt */
1082 #define INT_IPRA __PORT8 0xFFFFFEC0 /* Interrupt Priority Register A */
1083 #define IPRA_IPR0m 0x01
1084 #define IPRA_IPR1m 0x02
1085 #define IPRA_IPR2m 0x04
1086 #define IPRA_IPR4m 0x10
1087 #define IPRA_IPR5m 0x20
1088 #define IPRA_IPR6m 0x40
1089 #define INT_IPRB __PORT8 0xFFFFFEC1 /* Interrupt Priority Register B */
1090 #define IPRB_IPR0m 0x01
1091 #define IPRB_IPR1m 0x02
1092 #define IPRB_IPR2m 0x04
1093 #define IPRB_IPR4m 0x10
1094 #define IPRB_IPR5m 0x20
1095 #define IPRB_IPR6m 0x40
1096 #define INT_IPRC __PORT8 0xFFFFFEC2 /* Interrupt Priority Register C */
1097 #define IPRC_IPR0m 0x01
1098 #define IPRC_IPR1m 0x02
1099 #define IPRC_IPR2m 0x04
1100 #define INT_IPRD __PORT8 0xFFFFFEC3 /* Interrupt Priority Register D */
1101 #define IPRD_IPR4m 0x10
1102 #define IPRD_IPR5m 0x20
1103 #define IPRD_IPR6m 0x40
1104 #define INT_IPRE __PORT8 0xFFFFFEC4 /* Interrupt Priority Register E */
1105 #define IPRE_IPR0m 0x01
1106 #define IPRE_IPR1m 0x02
1107 #define IPRE_IPR2m 0x04
1108 #define IPRE_IPR4m 0x10
1109 #define IPRE_IPR5m 0x20
1110 #define IPRE_IPR6m 0x40
1111 #define INT_IPRF __PORT8 0xFFFFFEC5 /* Interrupt Priority Register F */
1112 #define IPRF_IPR0m 0x01
1113 #define IPRF_IPR1m 0x02
1114 #define IPRF_IPR2m 0x04
1115 #define IPRF_IPR4m 0x10
1116 #define IPRF_IPR5m 0x20
1117 #define IPRF_IPR6m 0x40
1118 #define INT_IPRG __PORT8 0xFFFFFEC6 /* Interrupt Priority Register G */
1119 #define IPRG_IPR0m 0x01
1120 #define IPRG_IPR1m 0x02
1121 #define IPRG_IPR2m 0x04
1122 #define IPRG_IPR4m 0x10
1123 #define IPRG_IPR5m 0x20
1124 #define IPRG_IPR6m 0x40
1125 #define INT_IPRH __PORT8 0xFFFFFEC7 /* Interrupt Priority Register H */
1126 #define IPRH_IPR0m 0x01
1127 #define IPRH_IPR1m 0x02
1128 #define IPRH_IPR2m 0x04
1129 #define IPRH_IPR4m 0x10
1130 #define IPRH_IPR5m 0x20
1131 #define IPRH_IPR6m 0x40
1132 #define INT_IPRJ __PORT8 0xFFFFFEC9 /* Interrupt Priority Register J */
1133 #define IPRJ_IPR0m 0x01
1134 #define IPRJ_IPR1m 0x02
1135 #define IPRJ_IPR2m 0x04
1136 #define INT_IPRK __PORT8 0xFFFFFECA /* Interrupt Priority Register K */
1137 #define IPRK_IPR0m 0x01
1138 #define IPRK_IPR1m 0x02
1139 #define IPRK_IPR2m 0x04
1140 #define IPRK_IPR4m 0x10
1141 #define IPRK_IPR5m 0x20
1142 #define IPRK_IPR6m 0x40
1143 #define INT_IPRM __PORT8 0xFFFFFECC /* Interrupt Priority Register M */
1144 #define IPRM_IPR0m 0x01
1145 #define IPRM_IPR1m 0x02
1146 #define IPRM_IPR2m 0x04
1147 #define IPRM_IPR4m 0x10
1148 #define IPRM_IPR5m 0x20
1149 #define IPRM_IPR6m 0x40
1150 /* Module BUS controler */
1151 #define BUS_ABWCR __PORT8 0xFFFFFED0 /* Bus Width Control Register */
1152 #define ABWCR_ABW0m 0x01
1153 #define ABWCR_ABW1m 0x02
1154 #define ABWCR_ABW2m 0x04
1155 #define ABWCR_ABW3m 0x08
1156 #define ABWCR_ABW4m 0x10
1157 #define ABWCR_ABW5m 0x20
1158 #define ABWCR_ABW6m 0x40
1159 #define ABWCR_ABW7m 0x80
1160 #define BUS_ASTCR __PORT8 0xFFFFFED1 /* Access State Control Register */
1161 #define ASTCR_AST0m 0x01
1162 #define ASTCR_AST1m 0x02
1163 #define ASTCR_AST2m 0x04
1164 #define ASTCR_AST3m 0x08
1165 #define ASTCR_AST4m 0x10
1166 #define ASTCR_AST5m 0x20
1167 #define ASTCR_AST6m 0x40
1168 #define ASTCR_AST7m 0x80
1169 #define BUS_WCRH __PORT8 0xFFFFFED2 /* Wait Control Register H */
1170 #define WCRH_W40m 0x01
1171 #define WCRH_W41m 0x02
1172 #define WCRH_W50m 0x04
1173 #define WCRH_W51m 0x08
1174 #define WCRH_W60m 0x10
1175 #define WCRH_W61m 0x20
1176 #define WCRH_W70m 0x40
1177 #define WCRH_W71m 0x80
1178 #define BUS_WCRL __PORT8 0xFFFFFED3 /* Wait Control Register L */
1179 #define WCRL_W00m 0x01
1180 #define WCRL_W01m 0x02
1181 #define WCRL_W10m 0x04
1182 #define WCRL_W11m 0x08
1183 #define WCRL_W20m 0x10
1184 #define WCRL_W21m 0x20
1185 #define WCRL_W30m 0x40
1186 #define WCRL_W31m 0x80
1187 #define BUS_BCRH __PORT8 0xFFFFFED4 /* Bus Control Register H */
1188 #define BCRH_BRSTS0m 0x08
1189 #define BCRH_BRSTS1m 0x10
1190 #define BCRH_BRSTRMm 0x20
1191 #define BCRH_ICIS0m 0x40
1192 #define BCRH_ICIS1m 0x80
1193 #define BUS_BCRL __PORT8 0xFFFFFED5 /* Bus Control Register L */
1194 #define BCRL_WDBEm 0x02
1196 #define FLM_RAMER __PORT8 0xFFFFFEDB /* RAM Emulation Register */
1197 #define RAMER_RAM0m 0x01
1198 #define RAMER_RAM1m 0x02
1199 #define RAMER_RAM2m 0x04
1200 #define RAMER_RAMxm 0x07
1201 #define RAMER_RAMSm 0x08
1204 #define DIO_P1DR __PORT8 0xFFFFFF00 /* DIO 1 Data Register */
1205 #define P1DR_P10DRm 0x01
1206 #define P1DR_P11DRm 0x02
1207 #define P1DR_P12DRm 0x04
1208 #define P1DR_P13DRm 0x08
1209 #define P1DR_P14DRm 0x10
1210 #define P1DR_P15DRm 0x20
1211 #define P1DR_P16DRm 0x40
1212 #define P1DR_P17DRm 0x80
1213 #define DIO_P3DR __PORT8 0xFFFFFF02 /* DIO 3 Data Register */
1214 #define P3DR_P30DRm 0x01
1215 #define P3DR_P31DRm 0x02
1216 #define P3DR_P32DRm 0x04
1217 #define P3DR_P33DRm 0x08
1218 #define P3DR_P34DRm 0x10
1219 #define P3DR_P35DRm 0x20
1220 #define DIO_PADR __PORT8 0xFFFFFF09 /* DIO A Data Register */
1221 #define PADR_PA0DRm 0x01
1222 #define PADR_PA1DRm 0x02
1223 #define PADR_PA2DRm 0x04
1224 #define PADR_PA3DRm 0x08
1225 #define DIO_PBDR __PORT8 0xFFFFFF0A /* DIO B Data Register */
1226 #define PBDR_PB0DRm 0x01
1227 #define PBDR_PB1DRm 0x02
1228 #define PBDR_PB2DRm 0x04
1229 #define PBDR_PB3DRm 0x08
1230 #define PBDR_PB4DRm 0x10
1231 #define PBDR_PB5DRm 0x20
1232 #define PBDR_PB6DRm 0x40
1233 #define PBDR_PB7DRm 0x80
1234 #define DIO_PCDR __PORT8 0xFFFFFF0B /* DIO C Data Register */
1235 #define PCDR_PC0DRm 0x01
1236 #define PCDR_PC1DRm 0x02
1237 #define PCDR_PC2DRm 0x04
1238 #define PCDR_PC3DRm 0x08
1239 #define PCDR_PC4DRm 0x10
1240 #define PCDR_PC5DRm 0x20
1241 #define PCDR_PC6DRm 0x40
1242 #define PCDR_PC7DRm 0x80
1243 #define DIO_PDDR __PORT8 0xFFFFFF0C /* DIO D Data Register */
1244 #define PDDR_PD0DRm 0x01
1245 #define PDDR_PD1DRm 0x02
1246 #define PDDR_PD2DRm 0x04
1247 #define PDDR_PD3DRm 0x08
1248 #define PDDR_PD4DRm 0x10
1249 #define PDDR_PD5DRm 0x20
1250 #define PDDR_PD6DRm 0x40
1251 #define PDDR_PD7DRm 0x80
1252 #define DIO_PEDR __PORT8 0xFFFFFF0D /* DIO E Data Register */
1253 #define PEDR_PE0DRm 0x01
1254 #define PEDR_PE1DRm 0x02
1255 #define PEDR_PE2DRm 0x04
1256 #define PEDR_PE3DRm 0x08
1257 #define PEDR_PE4DRm 0x10
1258 #define PEDR_PE5DRm 0x20
1259 #define PEDR_PE6DRm 0x40
1260 #define PEDR_PE7DRm 0x80
1261 #define DIO_PFDR __PORT8 0xFFFFFF0E /* DIO F Data Register */
1262 #define PFDR_PF0DRm 0x01
1263 #define PFDR_PF1DRm 0x02
1264 #define PFDR_PF2DRm 0x04
1265 #define PFDR_PF3DRm 0x08
1266 #define PFDR_PF4DRm 0x10
1267 #define PFDR_PF5DRm 0x20
1268 #define PFDR_PF6DRm 0x40
1269 #define PFDR_PF7DRm 0x80
1271 /* Module Time pulse unit */ //see other definitions at the end of the file
1272 #define TPU_TCR0 __PORT8 0xFFFFFF10 /* Timer Control Register 0 */
1273 #define TCR0_TPSC0m 0x01
1274 #define TCR0_TPSC1m 0x02
1275 #define TCR0_TPSC2m 0x04
1276 #define TCR0_CKEG0m 0x08
1277 #define TCR0_CKEG1m 0x10
1278 #define TCR0_CCLR0m 0x20
1279 #define TCR0_CCLR1m 0x40
1280 #define TCR0_CCLR2m 0x80
1281 #define TPU_TMDR0 __PORT8 0xFFFFFF11 /* Timer Mode Register 0 */
1282 #define TMDR0_MD0m 0x01
1283 #define TMDR0_MD1m 0x02
1284 #define TMDR0_MD2m 0x04
1285 #define TMDR0_MD3m 0x08
1286 #define TMDR0_BFAm 0x10
1287 #define TMDR0_BFBm 0x20
1288 #define TPU_TIOR0H __PORT8 0xFFFFFF12 /* Timer IO Control Register 0H */
1289 #define TIOR0H_IOA0m 0x01
1290 #define TIOR0H_IOA1m 0x02
1291 #define TIOR0H_IOA2m 0x04
1292 #define TIOR0H_IOA3m 0x08
1293 #define TIOR0H_IOB0m 0x10
1294 #define TIOR0H_IOB1m 0x20
1295 #define TIOR0H_IOB2m 0x40
1296 #define TIOR0H_IOB3m 0x80
1297 #define TPU_TIOR0L __PORT8 0xFFFFFF13 /* Timer IO Control Register 0L */
1298 #define TIOR0L_IOC0m 0x01
1299 #define TIOR0L_IOC1m 0x02
1300 #define TIOR0L_IOC2m 0x04
1301 #define TIOR0L_IOC3m 0x08
1302 #define TIOR0L_IOD0m 0x10
1303 #define TIOR0L_IOD1m 0x20
1304 #define TIOR0L_IOD2m 0x40
1305 #define TIOR0L_IOD3m 0x80
1306 #define TPU_TIER0 __PORT8 0xFFFFFF14 /* Timer INT Enable Register 0 */
1307 #define TIER0_TGIEAm 0x01
1308 #define TIER0_TGIEBm 0x02
1309 #define TIER0_TGIECm 0x04
1310 #define TIER0_TGIEDm 0x08
1311 #define TIER0_TCIEVm 0x10
1312 #define TIER0_TTGEm 0x80
1313 #define TPU_TSR0 __PORT8 0xFFFFFF15 /* Timer Status Register 0 */
1314 #define TSR0_TGFAm 0x01
1315 #define TSR0_TGFBm 0x02
1316 #define TSR0_TGFCm 0x04
1317 #define TSR0_TGFDm 0x08
1318 #define TSR0_TCFVm 0x10
1319 #define TPU_TCNT0 __PORT16 0xFFFFFF16 /* Timer Counter 0 */
1320 #define TPU_TGR0A __PORT16 0xFFFFFF18 /* Timer General Register 0A */
1321 #define TPU_TGR0B __PORT16 0xFFFFFF1A /* Timer General Register 0B */
1322 #define by_standbym 0x02
1323 #define data_tom 0x02
1324 #define data_tom 0x02
1325 #define to_slavem 0x02
1326 #define TPU_TGR0C __PORT16 0xFFFFFF1C /* Timer General Register 0C */
1327 #define TPU_TGR0D __PORT16 0xFFFFFF1E /* Timer General Register 0D */
1328 #define TPU_TCR1 __PORT8 0xFFFFFF20 /* Timer Control Register 1 */
1329 #define TCR1_TPSC0m 0x01
1330 #define TCR1_TPSC1m 0x02
1331 #define TCR1_TPSC2m 0x04
1332 #define TCR1_CKEG0m 0x08
1333 #define TCR1_CKEG1m 0x10
1334 #define TCR1_CCLR0m 0x20
1335 #define TCR1_CCLR1m 0x40
1336 #define TPU_TMDR1 __PORT8 0xFFFFFF21 /* Timer Mode Register 1 */
1337 #define TMDR1_MD0m 0x01
1338 #define TMDR1_MD1m 0x02
1339 #define TMDR1_MD2m 0x04
1340 #define TMDR1_MD3m 0x08
1341 #define TPU_TIOR1 __PORT8 0xFFFFFF22 /* Timer IO Control Register 1 */
1342 #define TIOR1_IOA0m 0x01
1343 #define TIOR1_IOA1m 0x02
1344 #define TIOR1_IOA2m 0x04
1345 #define TIOR1_IOA3m 0x08
1346 #define TIOR1_IOB0m 0x10
1347 #define TIOR1_IOB1m 0x20
1348 #define TIOR1_IOB2m 0x40
1349 #define TIOR1_IOB3m 0x80
1350 #define TPU_TIER1 __PORT8 0xFFFFFF24 /* Timer INT Enable Register 1 */
1351 #define TIER1_TGIEAm 0x01
1352 #define TIER1_TGIEBm 0x02
1353 #define TIER1_TCIEVm 0x10
1354 #define TIER1_TCIEUm 0x20
1355 #define TIER1_TTGEm 0x80
1356 #define TPU_TSR1 __PORT8 0xFFFFFF25 /* Timer Status Register 1 */
1357 #define TSR1_TGFAm 0x01
1358 #define TSR1_TGFBm 0x02
1359 #define TSR1_TCFVm 0x10
1360 #define TSR1_TCFUm 0x20
1361 #define TSR1_TCFDm 0x80
1362 #define TPU_TCNT1 __PORT16 0xFFFFFF26 /* Timer Counter 1 */
1363 #define TPU_TGR1A __PORT16 0xFFFFFF28 /* Timer General Register 1A */
1364 #define TPU_TGR1B __PORT16 0xFFFFFF2A /* Timer General Register 1B */
1365 #define TPU_TCR2 __PORT8 0xFFFFFF30 /* Timer Control Register 2 */
1366 #define TCR2_TPSC0m 0x01
1367 #define TCR2_TPSC1m 0x02
1368 #define TCR2_TPSC2m 0x04
1369 #define TCR2_CKEG0m 0x08
1370 #define TCR2_CKEG1m 0x10
1371 #define TCR2_CCLR0m 0x20
1372 #define TCR2_CCLR1m 0x40
1373 #define TPU_TMDR2 __PORT8 0xFFFFFF31 /* Timer Mode Register 2 */
1374 #define TMDR2_MD0m 0x01
1375 #define TMDR2_MD1m 0x02
1376 #define TMDR2_MD2m 0x04
1377 #define TMDR2_MD3m 0x08
1378 #define TPU_TIOR2 __PORT8 0xFFFFFF32 /* Timer IO Control Register 2 */
1379 #define TIOR2_IOA0m 0x01
1380 #define TIOR2_IOA1m 0x02
1381 #define TIOR2_IOA2m 0x04
1382 #define TIOR2_IOA3m 0x08
1383 #define TIOR2_IOB0m 0x10
1384 #define TIOR2_IOB1m 0x20
1385 #define TIOR2_IOB2m 0x40
1386 #define TIOR2_IOB3m 0x80
1387 #define TPU_TIER2 __PORT8 0xFFFFFF34 /* Timer INT Enable Register 2 */
1388 #define TIER2_TGIEAm 0x01
1389 #define TIER2_TGIEBm 0x02
1390 #define TIER2_TCIEVm 0x10
1391 #define TIER2_TCIEUm 0x20
1392 #define TIER2_TTGEm 0x80
1393 #define TPU_TSR2 __PORT8 0xFFFFFF35 /* Timer Status Register 2 */
1394 #define TSR2_TGFAm 0x01
1395 #define TSR2_TGFBm 0x02
1396 #define TSR2_TCFVm 0x10
1397 #define TSR2_TCFUm 0x20
1398 #define TSR2_TCFDm 0x80
1399 #define TPU_TCNT2 __PORT16 0xFFFFFF36 /* Timer Counter 2 */
1400 #define TPU_TGR2A __PORT16 0xFFFFFF38 /* Timer General Register 2A */
1401 #define TPU_TGR2B __PORT16 0xFFFFFF3A /* Timer General Register 2B */
1403 /* Module Watchdog timer */
1404 /* WDT0 register definitions start */
1405 #define WDT_WTCSR0r __PORT8 0xFFFFFF74 /* Timer ControlStatus Register 0 (RD/WC7) */
1406 #define WDT_WTCSR0w __PORT16 0xFFFFFF74 /* writte address - password 0xa500 */
1407 #define WTCSR0_CKS0m 0x01
1408 #define WTCSR0_CKS1m 0x02
1409 #define WTCSR0_CKS2m 0x04
1410 #define WTCSR0_CKSxm 0x07
1411 #define WTCSR0_TMEm 0x20
1412 #define WTCSR0_WTITm 0x40
1413 #define WTCSR0_WOVFm 0x80
1414 #define WDT_WTCNT0r __PORT8 0xFFFFFF75 /* Timer Counter 0 (RD) */
1415 #define WDT_WTCNT0w __PORT16 0xFFFFFF74 /* writte address - password 0x5a00 */
1416 #define WDT_WRSTCSRr __PORT8 0xFFFFFF77 /* Reset ControlStatus Register (RD/WC7) */
1417 #define WDT_WRSTCSRw __PORT16 0xFFFFFF76 /* clear WOVF - password 0xa500 */
1418 /* set bits - password 0x5a00 */
1419 #define WRSTCSR_RSTSm 0x20
1420 #define WRSTCSR_RSTEm 0x40
1421 #define WRSTCSR_WOVFm 0x80
1422 /* WDT0 register definitions end */
1424 /* SCI common registers and bits start */
1426 /* Receive Data Register (RDR) */
1427 /* Transmit Data Register (TDR) */
1428 /* Serial Mode Register (SMR) */
1429 #define SMR_CKS0m 0x01
1430 #define SMR_CKS1m 0x02
1431 #define SMR_CKSxm 0x03 /* Clock 3=/64, 2=/16, 1=/4, 0=/1 */
1432 #define SMR_MPm 0x04 /* 1=Multiprocessor format selected */
1433 #define SMR_STOPm 0x08 /* 1=2 stop bits, 0=1 stop bit */
1434 #define SMR_OEm 0x10 /* 1=Odd parity, 0=Even */
1435 #define SMR_PEm 0x20 /* 1=Parity addition and checking enabled */
1436 #define SMR_CHRm 0x40 /* 1=7-bit data, 0=8-bit */
1437 #define SMR_CAm 0x80 /* 1=Clocked, 0=Asynchronous */
1438 #define SCI_SMR_8N1 (0|0|0)
1439 #define SCI_SMR_7N1 (SMR_CHRm|0|0)
1440 #define SCI_SMR_8N2 (0 |0|SMR_STOPm)
1441 #define SCI_SMR_7N2 (SMR_CHRm|0|SMR_STOPm)
1442 #define SCI_SMR_8E1 (0 |SMR_PEm|0)
1443 #define SCI_SMR_7E1 (SMR_CHRm|SMR_PEm|0)
1444 #define SCI_SMR_8O1 (0 |SMR_PEm|SMR_OEm)
1445 #define SCI_SMR_7O1 (SMR_CHRm|SMR_PEm|SMR_OEm)
1446 /* Serial Control Register (SCR) */
1447 #define SCR_CKE0m 0x01 /* Clock Enable */
1448 #define SCR_CKE1m 0x02 /* */
1449 #define SCR_TEIEm 0x04 /* Transmit end interrupt (TEI) */
1450 #define SCR_MPIEm 0x08 /* Only multiprocessor RXI interrupt enabled */
1451 #define SCR_REm 0x10 /* Reception enabled */
1452 #define SCR_TEm 0x20 /* Transmission enabled* */
1453 #define SCR_RIEm 0x40 /* RXI interrupt requests enabled */
1454 #define SCR_TIEm 0x80 /* TXI interrupt requests enabled */
1455 /* Serial Status Register (SSR) */
1456 #define SSR_MPBTm 0x01 /* Value to send as bit 8 */
1457 #define SSR_MPBm 0x02 /* MP Bit 8 received value */
1458 #define SSR_TENDm 0x04 /* Transmit End */
1459 #define SSR_PERm 0x08 /* Parity error */
1460 #define SSR_FERm 0x10 /* Framing error */
1461 #define SSR_ORERm 0x20 /* Receive overflow */
1462 #define SSR_RDRFm 0x40 /* Set when reception ends normally */
1463 #define SSR_TDREm 0x80 /* Set when TDR empty or SCR_TE=0 */
1464 /* Bit Rate Register (BRR) */
1465 /* for async set to N=Fsys/(32*2^(2n)*baud)-1 where n=SMR_CKS */
1466 /* for sync set to N=Fsys/(4*2^(2n)*baud)-1 */
1467 /* Smart Card Mode Register (SCMR) */
1468 #define SCMR_SMIFm 0x01 /* 1=Smart card interface enabled */
1469 #define SCMR_SINVm 0x04 /* 1=TDR contents inverted */
1470 #define SCMR_SDIRm 0x08 /* 1=MSB-first, 0=LSB-first */
1471 /* I2C Bus Mode / Slave Address Register (ICMR/SAR)*/
1472 /* only for SCI0 and SCI1 */
1473 #define ICMR_BC0m 0x01 /* Bit Counter */
1474 #define ICMR_BC1m 0x02
1475 #define ICMR_BC2m 0x04
1476 #define ICMR_BCm (ICMR_BC0m|ICMR_BC1m|ICMR_BC2m)
1477 #define ICMR_CKS0m 0x08 /* Serial Clock Select */
1478 #define ICMR_CKS1m 0x10
1479 #define ICMR_CKS2m 0x20
1480 #define ICMR_CKSm (ICMR_CKS0m|ICMR_CKS1m|ICMR_CKS2m)
1481 #define ICMR_WAITm 0x40 /* 1 .. Wait between data and acknowledge */
1482 #define ICMR_MLSm 0x80 /* 0 .. MSB-first / 1 .. LSB-first */
1483 /* I2C Bus Control Register (ICCR) */
1484 #define ICCR_SCPm 0x01 /* Write 0 with BBSY to start/stop */
1485 #define ICCR_IRICm 0x02 /* 1 => interrupt requested */
1486 #define ICCR_BBSYm 0x04 /* 1 => bus is busy */
1487 #define ICCR_ACKEm 0x08 /* 1 => stop when no ACK detected */
1488 #define ICCR_TRSm 0x10 /* 1 .. transmit / 0 .. receive */
1489 #define ICCR_MSTm 0x20 /* 1 .. master mode / 0 .. slave mode */
1490 #define ICCR_IEICm 0x40 /* Interrupts enabled */
1491 #define ICCR_ICEm 0x80 /* 1 .. IIC enabled (ICMR,ICDR accessible) */
1492 /* 0 .. IIC disabled (SAR,SARX accessible) */
1493 /* IIC Bus Status Register (ICSR) */
1494 #define ICSR_ACKBm 0x01 /* Acknowledge Bit */
1495 #define ICSR_ADZm 0x02 /* General Call Address Recognition */
1496 #define ICSR_AASm 0x04 /* Slave Address Recognition */
1497 #define ICSR_ALm 0x08 /* Arbitration Lost */
1498 #define ICSR_AASXm 0x10 /* Second Slave Address Recognition */
1499 #define ICSR_IRTRm 0x20 /* Continuous Transmission/Reception Interrupt */
1500 #define ICSR_STOPm 0x40 /* Normal Stop Condition Detection Flag */
1501 #define ICSR_ESTPm 0x80 /* Error Stop Condition Detection Flag */
1503 /* SCI common registers and bits end */
1506 #define SCI_SMR0 __PORT8 0xFFFFFF78 /* Serial Mode Register 0 */
1507 #define SMR0_CKS0m 0x01
1508 #define SMR0_CKS1m 0x02
1509 #define SMR0_MPm 0x04
1510 #define SMR0_STOPm 0x08
1511 #define SMR0_OEm 0x10
1512 #define SMR0_PEm 0x20
1513 #define SMR0_CHRm 0x40
1514 #define SMR0_CAm 0x80
1515 #define Smart_SMR0 __PORT8 0xFFFFFF78 /* Smart Card Mode Register 0 */
1516 #define IIC_ICCR0 __PORT8 0xFFFFFF78 /* I2C Bus Control Register */
1517 #define SCI_BRR0 __PORT8 0xFFFFFF79 /* Bit Rate Register 0 */
1518 #define Smart_BRR0 __PORT8 0xFFFFFF79 /* Bit Rate Register 0 */
1519 #define IIC_ICSR0 __PORT8 0xFFFFFF79 /* I2C Bus Status Register */
1520 #define SCI_SCR0 __PORT8 0xFFFFFF7A /* Serial Control Register 0 */
1521 #define Smart_SCR0 __PORT8 0xFFFFFF7A /* Serial Control Register 0 */
1522 #define SCR0_CKE0m 0x01
1523 #define SCR0_CKE1m 0x02
1524 #define SCR0_TEIEm 0x04
1525 #define SCR0_MPIEm 0x08
1526 #define SCR0_REm 0x10
1527 #define SCR0_TEm 0x20
1528 #define SCR0_RIEm 0x40
1529 #define SCR0_TIEm 0x80
1530 #define SCI_TDR0 __PORT8 0xFFFFFF7B /* Transmit Data Register 0 */
1531 #define Smart_TDR0 __PORT8 0xFFFFFF7B /* Transmit Data Register 0 */
1532 #define SCI_SSR0 __PORT8 0xFFFFFF7C /* Serial Status Register 0 */
1533 #define SSR0_MPBTm 0x01
1534 #define SSR0_MPBm 0x02
1535 #define SSR0_TENDm 0x04
1536 #define SSR0_PERm 0x08
1537 #define SSR0_FERm 0x10
1538 #define SSR0_ORERm 0x20
1539 #define SSR0_RDRFm 0x40
1540 #define SSR0_TDREm 0x80
1541 #define Smart_SSR0 __PORT8 0xFFFFFF7C /* Serial Status Register 0 */
1542 #define SCI_RDR0 __PORT8 0xFFFFFF7D /* Receive Data Register 0 */
1543 #define SCI_SCMR0 __PORT8 0xFFFFFF7E /* Smart Card Mode Register 0 */
1544 #define SCMR0_SMIFm 0x01
1545 #define SCMR0_SINVm 0x04
1546 #define SCMR0_SDIRm 0x08
1547 #define Smart_SCMR0 __PORT8 0xFFFFFF7E /* Smart Card Mode Register 0 */
1548 #define IIC_ICDR0 __PORT8 0xFFFFFF7E /* I2C Bus Data Register */
1549 #define IIC_SARX0 __PORT8 0xFFFFFF7E /* 2nd Slave Address Register */
1550 #define IIC_ICMR0 __PORT8 0xFFFFFF7F /* I2C Bus Mode Register */
1551 #define ICMR0_BC0FSm 0x01
1552 #define ICMR0_BC1m 0x02
1553 #define ICMR0_BC2m 0x04
1554 #define ICMR0_CKS0m 0x08
1555 #define ICMR0_CKS1m 0x10
1556 #define ICMR0_CKS2m 0x20
1557 #define ICMR0_WAITm 0x40
1558 #define ICMR0_MLSm 0x80
1559 #define IIC_SAR0 __PORT8 0xFFFFFF7F /* Slave Address Register */
1560 #define SCI_SMR1 __PORT8 0xFFFFFF80 /* Serial Mode Register 1 */
1561 #define SMR1_CKS0m 0x01
1562 #define SMR1_CKS1m 0x02
1563 #define SMR1_MPm 0x04
1564 #define SMR1_STOPm 0x08
1565 #define SMR1_OEm 0x10
1566 #define SMR1_PEm 0x20
1567 #define SMR1_CHRm 0x40
1568 #define SMR1_CAm 0x80
1569 #define IIC_ICCR1 __PORT8 0xFFFFFF80 /* I2C Bus Control Register */
1570 #define Smart_SMR1 __PORT8 0xFFFFFF80 /* Serial Mode Register 1 */
1571 #define SCI_BRR1 __PORT8 0xFFFFFF81 /* Bit Rate Register 1 */
1572 #define Smart_BRR1 __PORT8 0xFFFFFF81 /* Bit Rate Register 1 */
1573 #define IIC_ICSR1 __PORT8 0xFFFFFF81 /* I2C Bus Status Register */
1574 #define SCI_SCR1 __PORT8 0xFFFFFF82 /* Serial Control Register 1 */
1575 #define SCR1_CKE0m 0x01
1576 #define SCR1_CKE1m 0x02
1577 #define SCR1_TEIEm 0x04
1578 #define SCR1_MPIEm 0x08
1579 #define SCR1_REm 0x10
1580 #define SCR1_TEm 0x20
1581 #define SCR1_RIEm 0x40
1582 #define SCR1_TIEm 0x80
1583 #define Smart_SCR1 __PORT8 0xFFFFFF82 /* Serial Control Register 1 */
1584 #define SCI_TDR1 __PORT8 0xFFFFFF83 /* Transmit Data Register 1 */
1585 #define Smart_TDR1 __PORT8 0xFFFFFF83 /* Transmit Data Register 1 */
1586 #define SCI_SSR1 __PORT8 0xFFFFFF84 /* Serial Status Register 1 */
1587 #define SSR1_MPBTm 0x01
1588 #define SSR1_MPBm 0x02
1589 #define SSR1_TENDm 0x04
1590 #define SSR1_PERm 0x08
1591 #define SSR1_FERm 0x10
1592 #define SSR1_ORERm 0x20
1593 #define SSR1_RDRFm 0x40
1594 #define SSR1_TDREm 0x80
1595 #define Smart_SSR1 __PORT8 0xFFFFFF84 /* Serial Status Register 1 */
1596 #define SCI_RDR1 __PORT8 0xFFFFFF85 /* Receive Data Register 1 */
1597 #define Smart_RDR1 __PORT8 0xFFFFFF85 /* Receive Data Register 1 */
1598 #define SCI_SCMR1 __PORT8 0xFFFFFF86 /* Smart Card Mode Register 1 */
1599 #define SCMR1_SMIFm 0x01
1600 #define SCMR1_SINVm 0x04
1601 #define SCMR1_SDIRm 0x08
1602 #define IIC_ICDR1 __PORT8 0xFFFFFF86 /* I2C Bus Data Register */
1603 #define IIC_SARX1 __PORT8 0xFFFFFF86 /* 2nd Slave Address Register */
1604 #define IIC_ICMR1 __PORT8 0xFFFFFF87 /* -I2C Bus Mode Register */
1605 #define ICMR1_BC0FSm 0x01
1606 #define ICMR1_BC1m 0x02
1607 #define ICMR1_BC2m 0x04
1608 #define ICMR1_CKS0m 0x08
1609 #define ICMR1_CKS1m 0x10
1610 #define ICMR1_CKS2m 0x20
1611 #define ICMR1_WAITm 0x40
1612 #define ICMR1_MLSm 0x80
1613 #define IIC_SAR1 __PORT8 0xFFFFFF87 /* Slave Address Register */
1614 #define SCI_SMR2 __PORT8 0xFFFFFF88 /* Serial Mode Register 2 */
1615 #define SMR2_CKS0m 0x01
1616 #define SMR2_CKS1m 0x02
1617 #define SMR2_MPm 0x04
1618 #define SMR2_STOPm 0x08
1619 #define SMR2_OEm 0x10
1620 #define SMR2_PEm 0x20
1621 #define SMR2_CHRm 0x40
1622 #define SMR2_CAm 0x80
1623 #define Smart_SMR2 __PORT8 0xFFFFFF88 /* Serial Mode Register 2 */
1624 #define SCI_BRR2 __PORT8 0xFFFFFF89 /* Bit Rate Register 2 */
1625 #define Smart_BRR2 __PORT8 0xFFFFFF89 /* Bit Rate Register 2 */
1626 #define SCI_SCR2 __PORT8 0xFFFFFF8A /* Serial Control Register 2 */
1627 #define SCR2_CKE0m 0x01
1628 #define SCR2_CKE1m 0x02
1629 #define SCR2_TEIEm 0x04
1630 #define SCR2_MPIEm 0x08
1631 #define SCR2_REm 0x10
1632 #define SCR2_TEm 0x20
1633 #define SCR2_RIEm 0x40
1634 #define SCR2_TIEm 0x80
1635 #define Smart_SCR2 __PORT8 0xFFFFFF8A /* Serial Control Register 2 */
1636 #define SCI_TDR2 __PORT8 0xFFFFFF8B /* Transmit Data Register 2 */
1637 #define Smart_TDR2 __PORT8 0xFFFFFF8B /* Transmit Data Register 2 */
1638 #define SCI_SSR2 __PORT8 0xFFFFFF8C /* Serial Status Register 2 */
1639 #define SSR2_MPBTm 0x01
1640 #define SSR2_MPBm 0x02
1641 #define SSR2_TENDm 0x04
1642 #define SSR2_PERm 0x08
1643 #define SSR2_FERm 0x10
1644 #define SSR2_ORERm 0x20
1645 #define SSR2_RDRFm 0x40
1646 #define SSR2_TDREm 0x80
1647 #define Smart_SSR2 __PORT8 0xFFFFFF8C /* Serial Status Register 2 */
1648 #define SCI_RDR2 __PORT8 0xFFFFFF8D /* Receive Data Register 2 */
1649 #define SCI_SCMR2 __PORT8 0xFFFFFF8E /* Smart Card Mode Register 2 */
1650 #define SCI_SCMR2 __PORT8 0xFFFFFF8E /* Smart Card Mode Register 2 */
1651 #define SCMR2_SMIFm 0x01
1652 #define SCMR2_SINVm 0x04
1653 #define SCMR2_SDIRm 0x08
1655 /* Module A/D Converter */
1656 #define AD_ADDRAH __PORT8 0xFFFFFF90 /* AD Data Register AH */
1657 #define ADDRAH_AD2m 0x01
1658 #define ADDRAH_AD3m 0x02
1659 #define ADDRAH_AD4m 0x04
1660 #define ADDRAH_AD5m 0x08
1661 #define ADDRAH_AD6m 0x10
1662 #define ADDRAH_AD7m 0x20
1663 #define ADDRAH_AD8m 0x40
1664 #define ADDRAH_AD9m 0x80
1665 #define AD_ADDRAL __PORT8 0xFFFFFF91 /* AD Data Register AL*/
1666 #define ADDRAL_AD0m 0x40
1667 #define ADDRAL_AD1m 0x80
1668 #define AD_ADDRBH __PORT8 0xFFFFFF92 /* AD Data Register BH*/
1669 #define ADDRBH_AD2m 0x01
1670 #define ADDRBH_AD3m 0x02
1671 #define ADDRBH_AD4m 0x04
1672 #define ADDRBH_AD5m 0x08
1673 #define ADDRBH_AD6m 0x10
1674 #define ADDRBH_AD7m 0x20
1675 #define ADDRBH_AD8m 0x40
1676 #define ADDRBH_AD9m 0x80
1677 #define AD_ADDRBL __PORT8 0xFFFFFF93 /* AD Data Register BL*/
1678 #define ADDRBL_AD0m 0x40
1679 #define ADDRBL_AD1m 0x80
1680 #define AD_ADDRCH __PORT8 0xFFFFFF94 /* AD Data Register CH */
1681 #define ADDRCH_AD2m 0x01
1682 #define ADDRCH_AD3m 0x02
1683 #define ADDRCH_AD4m 0x04
1684 #define ADDRCH_AD5m 0x08
1685 #define ADDRCH_AD6m 0x10
1686 #define ADDRCH_AD7m 0x20
1687 #define ADDRCH_AD8m 0x40
1688 #define ADDRCH_AD9m 0x80
1689 #define AD_ADDRCL __PORT8 0xFFFFFF95 /* AD Data Register CH */
1690 #define ADDRCL_AD0m 0x40
1691 #define ADDRCL_AD1m 0x80
1692 #define AD_ADDRDH __PORT8 0xFFFFFF96 /* AD Data Register DH */
1693 #define ADDRDH_AD2m 0x01
1694 #define ADDRDH_AD3m 0x02
1695 #define ADDRDH_AD4m 0x04
1696 #define ADDRDH_AD5m 0x08
1697 #define ADDRDH_AD6m 0x10
1698 #define ADDRDH_AD7m 0x20
1699 #define ADDRDH_AD8m 0x40
1700 #define ADDRDH_AD9m 0x80
1701 #define AD_ADDRDL __PORT8 0xFFFFFF97 /* AD Data Register DL */
1702 #define ADDRDL_AD0m 0x40
1703 #define ADDRDL_AD1m 0x80
1704 #define AD_ADCSR __PORT8 0xFFFFFF98 /* AD ControlStatus Register */
1705 #define ADCSR_CH0m 0x01
1706 #define ADCSR_CH1m 0x02
1707 #define ADCSR_CH2m 0x04
1708 #define ADCSR_CH3m 0x08
1709 #define ADCSR_SCANm 0x10
1710 #define ADCSR_ADSTm 0x20
1711 #define ADCSR_ADIEm 0x40
1712 #define ADCSR_ADFm 0x80
1713 #define AD_ADCR __PORT8 0xFFFFFF99 /* AD Control Register */
1714 #define ADCR_CKS0m 0x04
1715 #define ADCR_CKS1m 0x08
1716 #define ADCR_TRGS0m 0x40
1717 #define ADCR_TRGS1m 0x80
1719 #define TMR_TCSR1 __PORT8 0xFFFFFFA2 /* (R/W) Timer ControlStatus Register 1 */
1720 #define TCSR1_CKS0m 0x01
1721 #define TCSR1_CKS1m 0x02
1722 #define TCSR1_CKS2m 0x04
1723 #define TCSR1_OVFm 0x80
1724 #define TMR_TCNT1 __PORT8 0xFFFFFFA3 /* (R) Timer Counter 1 */
1725 /* Module A/D Converter */
1726 #define DA_DADR0 __PORT8 0xFFFFFFA4 /* DA Data Register 0 */
1727 #define DA_DADR1 __PORT8 0xFFFFFFA5 /* DA Data Register 1 */
1728 #define DA_DACR01 __PORT8 0xFFFFFFA6 /* DA Control Register 01 */
1729 #define DACR01_DAEm 0x20
1730 #define DACR01_DAOE0m 0x40
1731 #define DACR01_DAOE1m 0x80
1732 /* Module Flash Memory */
1733 #define FLM_FLMCR1 __PORT8 0xFFFFFFA8 /* Flash Memory Control Register 1 */
1734 #define FLMCR1_Pm 0x01 /* Transition to program mode */
1735 #define FLMCR1_Em 0x02 /* Transition to erase mode */
1736 #define FLMCR1_PVm 0x04 /* Transition to program-verify mode */
1737 #define FLMCR1_EVm 0x08 /* Transition to erase-verify mode */
1738 #define FLMCR1_PSUm 0x10 /* Program setup when FWE = 1 and SWE1 = 1*/
1739 #define FLMCR1_ESUm 0x20 /* Erase setup when FWE = 1 and SWE1 = 1 */
1740 #define FLMCR1_SWEm 0x40 /* 1= enable writes when FWE=1 */
1741 #define FLMCR1_FWEm 0x80 /* 1 = programming enabled by FWE pin */
1742 #define FLM_FLMCR2 __PORT8 0xFFFFFFA9 /* Flash Memory Control Register 2 */
1743 #define FLMCR2_FLERm 0x80 /* Flash memory modification error */
1744 #define FLM_EBR1 __PORT8 0xFFFFFFAA /* Erase Block Register 1 */
1745 #define EBR1_EB0m 0x01 /* Selects block to erase */
1746 #define EBR1_EB1m 0x02
1747 #define EBR1_EB2m 0x04
1748 #define EBR1_EB3m 0x08
1749 #define EBR1_EB4m 0x10
1750 #define EBR1_EB5m 0x20
1751 #define EBR1_EB6m 0x40
1752 #define EBR1_EB7m 0x80
1753 #define FLM_EBR2 __PORT8 0xFFFFFFAB /* Erase Block Register 2 */
1754 #define EBR2_EB8m 0x01
1755 #define EBR2_EB9m 0x02
1756 #define EBR2_EB10m 0x04
1757 #define EBR2_EB11m 0x08
1758 #define EBR2_EB12m 0x10 /* Valid on the H8S/2630. On the H8S/2638 and H8S/2639 these bits are reserved and only 0 */
1759 #define EBR2_EB13m 0x20 /* Valid on the H8S/2630. On the H8S/2638 and H8S/2639 these bits are reserved and only 0 */
1760 #define FLM_FLPWCR __PORT8 0xFFFFFFAC /* Flash Memory Power Control Register */
1761 #define FLPWCR_PDWNDm 0x80
1763 #define DIO_PORT1 __PORT8 0xFFFFFFB0 /* DIO 1 Register */
1764 #define PORT1_P10m 0x01
1765 #define PORT1_P11m 0x02
1766 #define PORT1_P12m 0x04
1767 #define PORT1_P13m 0x08
1768 #define PORT1_P14m 0x10
1769 #define PORT1_P15m 0x20
1770 #define PORT1_P16m 0x40
1771 #define PORT1_P17m 0x80
1772 #define DIO_PORT3 __PORT8 0xFFFFFFB2 /* DIO 3 Register */
1773 #define PORT3_P30m 0x01
1774 #define PORT3_P31m 0x02
1775 #define PORT3_P32m 0x04
1776 #define PORT3_P33m 0x08
1777 #define PORT3_P34m 0x10
1778 #define PORT3_P35m 0x20
1779 #define DIO_PORT4 __PORT8 0xFFFFFFB3 /* DIO 4 Register */
1780 #define PORT4_P40m 0x01
1781 #define PORT4_P41m 0x02
1782 #define PORT4_P42m 0x04
1783 #define PORT4_P43m 0x08
1784 #define PORT4_P44m 0x10
1785 #define PORT4_P45m 0x20
1786 #define PORT4_P46m 0x40
1787 #define PORT4_P47m 0x80
1788 #define DIO_PORT9 __PORT8 0xFFFFFFB8 /* DIO 9 Register */
1789 #define PORT9_P90m 0x01
1790 #define PORT9_P91m 0x02
1791 #define PORT9_P92m 0x04
1792 #define PORT9_P93m 0x08
1793 #define DIO_PORTA __PORT8 0xFFFFFFB9 /* DIO A Register */
1794 #define PORTA_PA0m 0x01
1795 #define PORTA_PA1m 0x02
1796 #define PORTA_PA2m 0x04
1797 #define PORTA_PA3m 0x08
1798 #define DIO_PORTB __PORT8 0xFFFFFFBA /* DIO B Register */
1799 #define PORTB_PB0m 0x01
1800 #define PORTB_PB1m 0x02
1801 #define PORTB_PB2m 0x04
1802 #define PORTB_PB3m 0x08
1803 #define PORTB_PB4m 0x10
1804 #define PORTB_PB5m 0x20
1805 #define PORTB_PB6m 0x40
1806 #define PORTB_PB7m 0x80
1807 #define DIO_PORTC __PORT8 0xFFFFFFBB /* DIO C Register */
1808 #define PORTC_PC0m 0x01
1809 #define PORTC_PC1m 0x02
1810 #define PORTC_PC2m 0x04
1811 #define PORTC_PC3m 0x08
1812 #define PORTC_PC4m 0x10
1813 #define PORTC_PC5m 0x20
1814 #define PORTC_PC6m 0x40
1815 #define PORTC_PC7m 0x80
1816 #define DIO_PORTD __PORT8 0xFFFFFFBC /* DIO D Register */
1817 #define PORTD_PD0m 0x01
1818 #define PORTD_PD1m 0x02
1819 #define PORTD_PD2m 0x04
1820 #define PORTD_PD3m 0x08
1821 #define PORTD_PD4m 0x10
1822 #define PORTD_PD5m 0x20
1823 #define PORTD_PD6m 0x40
1824 #define PORTD_PD7m 0x80
1825 #define DIO_PORTE __PORT8 0xFFFFFFBD /* DIO E Register */
1826 #define PORTE_PE0m 0x01
1827 #define PORTE_PE1m 0x02
1828 #define PORTE_PE2m 0x04
1829 #define PORTE_PE3m 0x08
1830 #define PORTE_PE4m 0x10
1831 #define PORTE_PE5m 0x20
1832 #define PORTE_PE6m 0x40
1833 #define PORTE_PE7m 0x80
1834 #define DIO_PORTF __PORT8 0xFFFFFFBE /* DIO F Register */
1835 #define PORTF_PF0m 0x01
1836 #define PORTF_PF3m 0x08
1837 #define PORTF_PF4m 0x10
1838 #define PORTF_PF5m 0x20
1839 #define PORTF_PF6m 0x40
1840 #define PORTF_PF7m 0x80
1842 // aditional definition
1845 #define IIC_SCRX __PORT8 0xFFFFFDB4 /* Serial Control Register X */
1846 #define SCRX_FLSHEm 0x08
1847 #define SCRX_IICEm 0x10
1848 #define SCRX_IICX0m 0x20
1849 #define SCRX_IICX1m 0x40
1852 #define SYS_LPWRCR __PORT8 0xFFFFFDEC /* Low-Power Control Register */
1853 #define LPWRCR_STC0m 0x01 /* */
1854 #define LPWRCR_STC1m 0x02
1855 #define LPWRCR_STCxm 0x03
1856 #define LPWRCR_RFCUTm 0x08
1857 #define LPWRCR_SUBSTPm 0x10
1858 #define LPWRCR_NESELm 0x20
1859 #define LPWRCR_LSONm 0x40
1860 #define LPWRCR_DTONm 0x80
1864 /* define serial control registers */
1865 #define SCI_SMR2 __PORT8 0xFFFFFF88 /* Serial Mode Register 2 */
1866 #define SMR2_CKS0m 0x01
1867 #define SMR2_CKS1m 0x02
1868 #define SMR2_MPm 0x04
1869 #define SMR2_STOPm 0x08
1870 #define SMR2_OEm 0x10
1871 #define SMR2_PEm 0x20
1872 #define SMR2_CHRm 0x40
1873 #define SMR2_CAm 0x80
1874 #define SCI_BRR2 __PORT8 0xFFFFFF89 /* Bit Rate Register 2 */
1875 #define SCI_SCR2 __PORT8 0xFFFFFF8A /* Serial Control Register 2 */
1876 #define SCR2_CKE0m 0x01
1877 #define SCR2_CKE1m 0x02
1878 #define SCR2_TEIEm 0x04
1879 #define SCR2_MPIEm 0x08
1880 #define SCR2_REm 0x10
1881 #define SCR2_TEm 0x20
1882 #define SCR2_RIEm 0x40
1883 #define SCR2_TIEm 0x80
1884 #define SCI_TDR2 __PORT8 0xFFFFFF8B /* Transmit Data Register 2 */
1885 #define SCI_SSR2 __PORT8 0xFFFFFF8C /* Serial Status Register 2 */
1886 #define SSR2_MPBTm 0x01
1887 #define SSR2_MPBm 0x02
1888 #define SSR2_TENDm 0x04
1889 #define SSR2_PERm 0x08
1890 #define SSR2_FERm 0x10
1891 #define SSR2_ORERm 0x20
1892 #define SSR2_RDRFm 0x40
1893 #define SSR2_TDREm 0x80
1894 #define SCI_RDR2 __PORT8 0xFFFFFF8D /* Receive Data Register 2 */
1895 #define SCI_SCMR2 __PORT8 0xFFFFFF8E /* Smart Card Mode Register 2 */
1896 #define SCMR2_SMIFm 0x01
1897 #define SCMR2_SINVm 0x04
1898 #define SCMR2_SDIRm 0x08
1899 /* END define serial control registers */
1902 /* Module Stop Control Register */
1903 #define SYS_MSTPCRA __PORT8 0xFFFFFDE8 /* Module Stop Control Register A */
1904 #define MSTPCRA_MSTPA0m 0x01
1905 #define MSTPCRA_MSTPA1m 0x02
1906 #define MSTPCRA_ADCm 0x02
1907 #define MSTPCRA_MSTPA2m 0x04
1908 #define MSTPCRA_DA01m 0x04
1909 #define MSTPCRA_MSTPA3m 0x08
1910 #define MSTPCRA_PPGm 0x08
1911 #define MSTPCRA_MSTPA4m 0x10
1912 #define MSTPCRA_MSTPA5m 0x20
1913 #define MSTPCRA_TPUm 0x20
1914 #define MSTPCRA_MSTPA6m 0x40
1915 #define MSTPCRA_DTCm 0x40
1916 #define MSTPCRA_MSTPA7m 0x80
1917 #define SYS_MSTPCRB __PORT8 0xFFFFFDE9 /* Module Stop Control Register B */
1918 #define MSTPCRB_MSTPB0m 0x01
1919 #define MSTPCRB_MSTPB1m 0x02
1920 #define MSTPCRB_MSTPB2m 0x04
1921 #define MSTPCRB_MSTPB3m 0x08
1922 #define MSTPCRB_IIC1m 0x08
1923 #define MSTPCRB_MSTPB4m 0x10
1924 #define MSTPCRB_IIC0m 0x10
1925 #define MSTPCRB_MSTPB5m 0x20
1926 #define MSTPCRB_SCI2m 0x20
1927 #define MSTPCRB_MSTPB6m 0x40
1928 #define MSTPCRB_SCI1m 0x40
1929 #define MSTPCRB_MSTPB7m 0x80
1930 #define MSTPCRB_SCI0m 0x80
1931 #define SYS_MSTPCRC __PORT8 0xFFFFFDEA /* Module Stop Control Register C */
1932 #define MSTPCRC_MSTPC0m 0x01
1933 #define MSTPCRC_MSTPC1m 0x02
1934 #define MSTPCRC_MSTPC2m 0x04
1935 #define MSTPCRC_HCAN1m 0x04
1936 #define MSTPCRC_MSTPC3m 0x08
1937 #define MSTPCRC_HCAN0m 0x08
1938 #define MSTPCRC_MSTPC4m 0x10
1939 #define MSTPCRC_PBCm 0x10
1940 #define MSTPCRC_MSTPC5m 0x20
1941 #define MSTPCRC_MSTPC6m 0x40
1942 #define MSTPCRC_SCI4m 0x40
1943 #define MSTPCRC_MSTPC7m 0x80
1944 #define MSTPCRC_SCI3m 0x80
1945 #define SYS_MSTPCRD __PORT8 0xFFFFFC60 /* Module Stop Control Register D */
1946 #define MSTPCRD_MSTPD7m 0x80
1947 #define MSTPCRD_PWMm 0x80
1948 /* END Module Stop Control Register */
1950 /* start Flash register compatibility with 2633 programs (only different names of existing FLMCR1 bits)*/ /* // comented are the same */
1951 //#define FLM_FLMCR1 __PORT8 0xFFFFFFA8 /* Flash Memory Control Register 1 */
1952 #define FLMCR1_P1m 0x01 /* Transition to program mode */
1953 #define FLMCR1_E1m 0x02 /* Transition to erase mode */
1954 #define FLMCR1_PV1m 0x04 /* Transition to program-verify mode */
1955 #define FLMCR1_EV1m 0x08 /* Transition to erase-verify mode */
1956 #define FLMCR1_PSU1m 0x10 /* Program setup when FWE = 1 and SWE1 = 1*/
1957 #define FLMCR1_ESU1m 0x20 /* Erase setup when FWE = 1 and SWE1 = 1 */
1958 #define FLMCR1_SWE1m 0x40 /* 1= enable writes when FWE=1 */
1959 //#define FLMCR1_FWEm 0x80 /* 1 = programming enabled by FWE pin */
1960 //#define FLM_FLMCR2 __PORT8 0xFFFFFFA9 /* Flash Memory Control Register 2 */
1961 //#define FLMCR2_FLERm 0x80 /* Flash memory modification error */
1962 /* end Flash register compatibility with 2633 (only different names of FLMCR1 bits)*/
1964 /* exception vectors numbers */ // nechat schvalit !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1966 #define EXCPTVEC_POWRES 0
1967 #define EXCPTVEC_MANRES 1
1968 #define EXCPTVEC_TRACE 5
1969 #define EXCPTVEC_DIRTRANS 6
1970 #define EXCPTVEC_NMI 7
1971 #define EXCPTVEC_TRAP0 8
1972 #define EXCPTVEC_TRAP1 9
1973 #define EXCPTVEC_TRAP2 10
1974 #define EXCPTVEC_TRAP3 11
1975 #define EXCPTVEC_IRQ0 16
1976 #define EXCPTVEC_IRQ1 17
1977 #define EXCPTVEC_IRQ2 18
1978 #define EXCPTVEC_IRQ3 19
1979 #define EXCPTVEC_IRQ4 20
1980 #define EXCPTVEC_IRQ5 21
1981 #define EXCPTVEC_IRQ6 22
1982 #define EXCPTVEC_IRQ7 23
1983 #define EXCPTVEC_SWDEND 24
1984 #define EXCPTVEC_WOVI0 25
1985 #define EXCPTVEC_CMI 26
1986 #define EXCPTVEC_PBC 27
1987 #define EXCPTVEC_ADI 28
1988 #define EXCPTVEC_WOVI1 29
1989 #define EXCPTVEC_TGI0A 32 /* TPU 0 */
1990 #define EXCPTVEC_TGI0B 33
1991 #define EXCPTVEC_TGI0C 34
1992 #define EXCPTVEC_TGI0D 35
1993 #define EXCPTVEC_TCI0V 36
1994 #define EXCPTVEC_TGI1A 40 /* TPU 1 */
1995 #define EXCPTVEC_TGI1B 41
1996 #define EXCPTVEC_TCI1V 42
1997 #define EXCPTVEC_TCI1U 43
1998 #define EXCPTVEC_TGI2A 44 /* TPU 2 */
1999 #define EXCPTVEC_TGI2B 45
2000 #define EXCPTVEC_TCI2V 46
2001 #define EXCPTVEC_TCI2U 47
2002 #define EXCPTVEC_TGI3A 48 /* TPU 3 */
2003 #define EXCPTVEC_TGI3B 49
2004 #define EXCPTVEC_TGI3C 50
2005 #define EXCPTVEC_TGI3D 51
2006 #define EXCPTVEC_TCI3V 52
2007 #define EXCPTVEC_TGI4A 56 /* TPU 4 */
2008 #define EXCPTVEC_TGI4B 57
2009 #define EXCPTVEC_TCI4V 58
2010 #define EXCPTVEC_TCI4U 59
2011 #define EXCPTVEC_TGI5A 60 /* TPU 5 */
2012 #define EXCPTVEC_TGI5B 61
2013 #define EXCPTVEC_TCI5V 62
2014 #define EXCPTVEC_TCI5U 63
2015 #define EXCPTVEC_CMIA0 64 /* 8 bit tim 0 */
2016 #define EXCPTVEC_CMIB0 65
2017 #define EXCPTVEC_OVI0 66
2018 #define EXCPTVEC_CMIA1 68 /* 8 bit tim 1 */
2019 #define EXCPTVEC_CMIB1 69
2020 #define EXCPTVEC_OVI1 70
2021 #define EXCPTVEC_DEND0A 72 /* DMAC */
2022 #define EXCPTVEC_DEND0B 73
2023 #define EXCPTVEC_DEND1A 74
2024 #define EXCPTVEC_DEND1B 75
2025 #define EXCPTVEC_ERI0 80 /* SCI 0 */
2026 #define EXCPTVEC_RXI0 81
2027 #define EXCPTVEC_TXI0 82
2028 #define EXCPTVEC_TEI0 83
2029 #define EXCPTVEC_ERI1 84 /* SCI 1 */
2030 #define EXCPTVEC_RXI1 85
2031 #define EXCPTVEC_TXI1 86
2032 #define EXCPTVEC_TEI1 87
2033 #define EXCPTVEC_ERI2 88 /* SCI 2 */
2034 #define EXCPTVEC_RXI2 89
2035 #define EXCPTVEC_TXI2 90
2036 #define EXCPTVEC_TEI2 91
2037 #define EXCPTVEC_CMIA2 92 /* 8 bit tim 2 */
2038 #define EXCPTVEC_CMIB2 93
2039 #define EXCPTVEC_OVI2 94
2040 #define EXCPTVEC_CMIA3 96 /* 8 bit tim 3 */
2041 #define EXCPTVEC_CMIB3 97
2042 #define EXCPTVEC_OVI3 98
2043 #define EXCPTVEC_IICI0 100 /* IIC 0 */
2044 #define EXCPTVEC_DDCSW1 101
2045 #define EXCPTVEC_IICI1 102 /* IIC 1 */
2046 #define EXCPTVEC_ERI3 120 /* SCI 3 */
2047 #define EXCPTVEC_RXI3 121
2048 #define EXCPTVEC_TXI3 122
2049 #define EXCPTVEC_TEI3 123
2050 #define EXCPTVEC_ERI4 124 /* SCI 4 */
2051 #define EXCPTVEC_RXI4 125
2052 #define EXCPTVEC_TXI4 126
2053 #define EXCPTVEC_TEI4 127
2055 /* Timer control register (TPCR) */
2056 #define TPCR_TPSCm 0x07 /* Clock sources */
2057 #define TPCR_TPSC_F1 0x00 /* fi clock/1 */
2058 #define TPCR_TPSC_F4 0x01 /* fi clock/4 */
2059 #define TPCR_TPSC_F16 0x02 /* fi clock/16 */
2060 #define TPCR_TPSC_F64 0x03 /* fi clock/64 */
2061 #define TPCR_TPSC_CA 0x04 /* TCLKA */
2062 #define TPCR_TPSC_012CB 0x05 /* TCLKB (only 012) */
2063 #define TPCR_TPSC_02CC 0x06 /* TCLKC (only 02) */
2064 #define TPCR_TPSC_45CC 0x05 /* TCLKC (only 45) */
2065 #define TPCR_TPSC_05CD 0x07 /* TCLKD (only 05) */
2066 #define TPCR_TPSC_135F256 0x06 /* fi clock/256 (only 135) */
2067 #define TPCR_TPSC_2F1024 0x07 /* fi clock/1024 (only 2) */
2068 #define TPCR_TPSC_3F1024 0x05 /* fi clock/1024 (only 3) */
2069 #define TPCR_TPSC_4F1024 0x06 /* fi clock/1024 (only 4) */
2070 #define TPCR_TPSC_3F4096 0x07 /* fi clock/4096 (only 3) */
2071 #define TPCR_CKEGm 0x018 /* Clock edge */
2072 #define TPCR_CKEG_RIS 0x000 /* Rising edge */
2073 #define TPCR_CKEG_FAL 0x008 /* Falling edge */
2074 #define TPCR_CKEG_BOTH 0x018 /* Both edges */
2075 #define TPCR_CCLRm 0xe0 /* Counter clearing source */
2076 #define TPCR_CCLR_DIS 0x00 /* disabled */
2077 #define TPCR_CCLR_TGRA 0x20 /* source TGRA compare match/input capture */
2078 #define TPCR_CCLR_TGRB 0x40 /* source TGRB compare match/input capture */
2079 #define TPCR_CCLR_SYNC 0x60 /* synchronous clear by TSYR_SYNC */
2080 #define TPCR_CCLR_TGRC 0xa0 /* source TGRC compare match/input capture */
2081 #define TPCR_CCLR_TGRD 0xc0 /* source TGRD compare match/input capture */
2083 /* Timer mode register (TMDR) */
2084 #define TPMDR_MDm 0x0f /* timer operating mode */
2085 #define TPMDR_MD_NORMAL 0x00 /* normal */
2086 #define TPMDR_MD_PWM1 0x02 /* PWM 1 */
2087 #define TPMDR_MD_PWM2 0x03 /* PWM 2 */
2088 #define TPMDR_MD_PHACN1 0x04 /* phase counting 1 (only 1245) */
2089 #define TPMDR_MD_PHACN2 0x05 /* phase counting 2 (only 1245) */
2090 #define TPMDR_MD_PHACN3 0x06 /* phase counting 3 (only 1245) */
2091 #define TPMDR_MD_PHACN4 0x07 /* phase counting 4 (only 1245) */
2092 #define TPMDR_BFAm 0x10 /* TGRA, TGRC together for buffer operation */
2093 #define TPMDR_BFBm 0x20 /* TGRB, TGRD together for buffer operation */
2095 #endif /* _H82639H_H */