1 /* -------------------------------- Arctic Core ------------------------------
2 * Arctic Core - the open source AUTOSAR platform http://arccore.com
4 * Copyright (C) 2009 ArcCore AB <contact@arccore.com>
6 * This source code is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License version 2 as published by the
8 * Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * -------------------------------- Arctic Core ------------------------------*/
26 * Defines some additional types used for mpc55xx
28 * Created on: Jul 13, 2009
38 /* Software interrupts. */
39 INTC_SSCIR0_CLR0, // 0
40 INTC_SSCIR0_CLR1, // 1
41 INTC_SSCIR0_CLR2, // 2
42 INTC_SSCIR0_CLR3, // 3
43 INTC_SSCIR0_CLR4, // 4
44 INTC_SSCIR0_CLR5, // 5
45 INTC_SSCIR0_CLR6, // 6
46 INTC_SSCIR0_CLR7, // 7
47 MCM_MSWTIR_SWTIC, // 8
50 EDMA_ERRL_ERR31_0, // 10
66 EDMA_INTL_INT15, // 26
67 #if defined(CFG_MPC5554)||defined(CFG_MPC5567)||defined(CFG_MPC5633)
71 EDMA_INTL_INT19, // 30
83 EDMA_INTL_INT31, // 42
103 #if defined(CFG_MPC5516)
105 SEMAPHORE_INT0, // 43
113 PLL_SYNSR_LOCF, // 54-43, 16-50
114 PLL_SYNSR_LOLF, // 54-44, 16-51
116 /* External interrupts */
121 SIU_EISR_EIF15_4, // 54-50, 57
124 EMISOS200_FLAG_F0, // 58
139 EMISOS200_FLAG_F15, // 73
140 #if defined(CFG_MPC5516)
148 EMISOS200_FLAG_F23, // 16-81
149 #elif defined(CFG_MPC5554)||defined(CFG_MPC5567)||defined(CFG_MPC5633)
150 ETPU_GLOBAL, // 54-67
153 ETPU_A_CIS_2, // 54-70
163 ETPU_A_CIS_12, // 54-80
173 ETPU_A_CIS_22, // 54-90
186 EQADC_FISR_OVER, // 54-100, 16-82
196 EQADC_FISR1_RFDF1, // 110, 92
206 EQADC_FISR3_RFDF3, // 120, 102
216 EQADC_FISR5_RFDF5, // 130, 112
218 #if defined(CFG_MPC5516)
220 SCI_A_COMB, // 16-113
230 DSPI_B_ISR_OVER, // 16-122
235 #elif defined(CFG_MPC5554)||defined(CFG_MPC5567)||defined(CFG_MPC5633)
236 DSPI_B_COMB, // 54-131
240 DSPI_B_ISR_RFDF, // 54-135
245 DSPI_C_ISR_RFDF, // 54-140
250 DSPI_D_ISR_RFDF, // 54-145
262 FLEXCAN_A_ESR_BOFF_INT, // 54-152, 16-127
263 FLEXCAN_A_ESR_ERR_INT,
265 FLEXCAN_A_IFLAG1_BUF0I,
266 FLEXCAN_A_IFLAG1_BUF1I,
267 FLEXCAN_A_IFLAG1_BUF2I,
268 FLEXCAN_A_IFLAG1_BUF3I,
269 FLEXCAN_A_IFLAG1_BUF4I,
270 FLEXCAN_A_IFLAG1_BUF5I,
271 FLEXCAN_A_IFLAG1_BUF6I,
272 FLEXCAN_A_IFLAG1_BUF7I,
273 FLEXCAN_A_IFLAG1_BUF8I,
274 FLEXCAN_A_IFLAG1_BUF9I,
275 FLEXCAN_A_IFLAG1_BUF10I,
276 FLEXCAN_A_IFLAG1_BUF11I,
277 FLEXCAN_A_IFLAG1_BUF12I,
278 FLEXCAN_A_IFLAG1_BUF13I,
279 FLEXCAN_A_IFLAG1_BUF14I,
280 FLEXCAN_A_IFLAG1_BUF15I,
281 FLEXCAN_A_IFLAG1_BUF31_16I,
282 FLEXCAN_A_IFLAG1_BUF63_32I,
284 #if defined(CFG_MPC5516)
285 /* Periodic interrupt timer */
297 FLEXCAN_B_ESR_BOFF_INT,
298 FLEXCAN_B_ESR_ERR_INT,
300 FLEXCAN_B_IFLAG1_BUF0I,
301 FLEXCAN_B_IFLAG1_BUF1I,
302 FLEXCAN_B_IFLAG1_BUF2I,
303 FLEXCAN_B_IFLAG1_BUF3I,
304 FLEXCAN_B_IFLAG1_BUF4I,
305 FLEXCAN_B_IFLAG1_BUF5I,
306 FLEXCAN_B_IFLAG1_BUF6I,
307 FLEXCAN_B_IFLAG1_BUF7I,
308 FLEXCAN_B_IFLAG1_BUF8I,
309 FLEXCAN_B_IFLAG1_BUF9I,
310 FLEXCAN_B_IFLAG1_BUF10I,
311 FLEXCAN_B_IFLAG1_BUF11I,
312 FLEXCAN_B_IFLAG1_BUF12I,
313 FLEXCAN_B_IFLAG1_BUF13I,
314 FLEXCAN_B_IFLAG1_BUF14I,
315 FLEXCAN_B_IFLAG1_BUF15I,
316 FLEXCAN_B_IFLAG1_BUF31_16I,
317 FLEXCAN_B_IFLAG1_BUF63_32I,
319 FLEXCAN_C_ESR_BOFF_INT,
320 FLEXCAN_C_ESR_ERR_INT,
322 FLEXCAN_C_IFLAG1_BUF0I,
323 FLEXCAN_C_IFLAG1_BUF1I,
324 FLEXCAN_C_IFLAG1_BUF2I,
325 FLEXCAN_C_IFLAG1_BUF3I,
326 FLEXCAN_C_IFLAG1_BUF4I,
327 FLEXCAN_C_IFLAG1_BUF5I,
328 FLEXCAN_C_IFLAG1_BUF6I,
329 FLEXCAN_C_IFLAG1_BUF7I,
330 FLEXCAN_C_IFLAG1_BUF8I,
331 FLEXCAN_C_IFLAG1_BUF9I,
332 FLEXCAN_C_IFLAG1_BUF10I,
333 FLEXCAN_C_IFLAG1_BUF11I,
334 FLEXCAN_C_IFLAG1_BUF12I,
335 FLEXCAN_C_IFLAG1_BUF13I,
336 FLEXCAN_C_IFLAG1_BUF14I,
337 FLEXCAN_C_IFLAG1_BUF15I,
338 FLEXCAN_C_IFLAG1_BUF31_16I,
339 FLEXCAN_C_IFLAG1_BUF63_32I,
341 FLEXCAN_D_ESR_BOFF_INT,
342 FLEXCAN_D_ESR_ERR_INT,
344 FLEXCAN_D_IFLAG1_BUF0I,
345 FLEXCAN_D_IFLAG1_BUF1I,
346 FLEXCAN_D_IFLAG1_BUF2I,
347 FLEXCAN_D_IFLAG1_BUF3I,
348 FLEXCAN_D_IFLAG1_BUF4I,
349 FLEXCAN_D_IFLAG1_BUF5I,
350 FLEXCAN_D_IFLAG1_BUF6I,
351 FLEXCAN_D_IFLAG1_BUF7I,
352 FLEXCAN_D_IFLAG1_BUF8I,
353 FLEXCAN_D_IFLAG1_BUF9I,
354 FLEXCAN_D_IFLAG1_BUF10I,
355 FLEXCAN_D_IFLAG1_BUF11I,
356 FLEXCAN_D_IFLAG1_BUF12I,
357 FLEXCAN_D_IFLAG1_BUF13I,
358 FLEXCAN_D_IFLAG1_BUF14I,
359 FLEXCAN_D_IFLAG1_BUF15I,
360 FLEXCAN_D_IFLAG1_BUF31_16I,
361 FLEXCAN_D_IFLAG1_BUF63_32I,
363 FLEXCAN_E_ESR_BOFF_INT,
364 FLEXCAN_E_ESR_ERR_INT,
366 FLEXCAN_E_IFLAG1_BUF0I,
367 FLEXCAN_E_IFLAG1_BUF1I,
368 FLEXCAN_E_IFLAG1_BUF2I,
369 FLEXCAN_E_IFLAG1_BUF3I,
370 FLEXCAN_E_IFLAG1_BUF4I,
371 FLEXCAN_E_IFLAG1_BUF5I,
372 FLEXCAN_E_IFLAG1_BUF6I,
373 FLEXCAN_E_IFLAG1_BUF7I,
374 FLEXCAN_E_IFLAG1_BUF8I,
375 FLEXCAN_E_IFLAG1_BUF9I,
376 FLEXCAN_E_IFLAG1_BUF10I,
377 FLEXCAN_E_IFLAG1_BUF11I,
378 FLEXCAN_E_IFLAG1_BUF12I,
379 FLEXCAN_E_IFLAG1_BUF13I,
380 FLEXCAN_E_IFLAG1_BUF14I,
381 FLEXCAN_E_IFLAG1_BUF15I,
382 FLEXCAN_E_IFLAG1_BUF31_16I,
383 FLEXCAN_E_IFLAG1_BUF63_32I,
385 FLEXCAN_F_ESR_BOFF_INT,
386 FLEXCAN_F_ESR_ERR_INT,
388 FLEXCAN_F_IFLAG1_BUF0I,
389 FLEXCAN_F_IFLAG1_BUF1I,
390 FLEXCAN_F_IFLAG1_BUF2I,
391 FLEXCAN_F_IFLAG1_BUF3I,
392 FLEXCAN_F_IFLAG1_BUF4I,
393 FLEXCAN_F_IFLAG1_BUF5I,
394 FLEXCAN_F_IFLAG1_BUF6I,
395 FLEXCAN_F_IFLAG1_BUF7I,
396 FLEXCAN_F_IFLAG1_BUF8I,
397 FLEXCAN_F_IFLAG1_BUF9I,
398 FLEXCAN_F_IFLAG1_BUF10I,
399 FLEXCAN_F_IFLAG1_BUF11I,
400 FLEXCAN_F_IFLAG1_BUF12I,
401 FLEXCAN_F_IFLAG1_BUF13I,
402 FLEXCAN_F_IFLAG1_BUF14I,
403 FLEXCAN_F_IFLAG1_BUF15I,
404 FLEXCAN_F_IFLAG1_BUF31_16I,
405 FLEXCAN_F_IFLAG1_BUF63_32I,
441 INTC_NUMBER_OF_INTERRUPTS,
442 /* End of INTC interrupts. The vectors below are used to handle exceptions. */
443 RESERVED_SPACE_BEFORE_EXCEPTIONS1,
444 RESERVED_SPACE_BEFORE_EXCEPTIONS2,
445 RESERVED_SPACE_BEFORE_EXCEPTIONS3,
446 RESERVED_SPACE_BEFORE_EXCEPTIONS4,
447 RESERVED_SPACE_BEFORE_EXCEPTIONS5,
448 RESERVED_SPACE_BEFORE_EXCEPTIONS6,
449 RESERVED_SPACE_BEFORE_EXCEPTIONS7,
450 RESERVED_SPACE_BEFORE_EXCEPTIONS8,
451 RESERVED_SPACE_BEFORE_EXCEPTIONS9,
452 RESERVED_SPACE_BEFORE_EXCEPTIONS10,
453 RESERVED_SPACE_BEFORE_EXCEPTIONS11,
454 RESERVED_SPACE_BEFORE_EXCEPTIONS12,
455 RESERVED_SPACE_BEFORE_EXCEPTIONS13,
456 RESERVED_SPACE_BEFORE_EXCEPTIONS14,
457 RESERVED_SPACE_BEFORE_EXCEPTIONS15,
458 RESERVED_SPACE_BEFORE_EXCEPTIONS16,
459 RESERVED_SPACE_BEFORE_EXCEPTIONS17,
460 RESERVED_SPACE_BEFORE_EXCEPTIONS18,
461 RESERVED_SPACE_BEFORE_EXCEPTIONS19,
462 RESERVED_SPACE_BEFORE_EXCEPTIONS20,
463 RESERVED_SPACE_BEFORE_EXCEPTIONS21,
464 RESERVED_SPACE_BEFORE_EXCEPTIONS22,
465 RESERVED_SPACE_BEFORE_EXCEPTIONS23,
466 RESERVED_SPACE_BEFORE_EXCEPTIONS24,
467 RESERVED_SPACE_BEFORE_EXCEPTIONS25,
470 #if defined(CFG_MPC5554)||defined(CFG_MPC5567)||defined(CFG_MPC5633)
472 FLEXCAN_C_ESR_BOFF_INT = 173,
473 FLEXCAN_C_ESR_ERR_INT,
475 FLEXCAN_C_IFLAG1_BUF0I,
476 FLEXCAN_C_IFLAG1_BUF1I,
477 FLEXCAN_C_IFLAG1_BUF2I,
478 FLEXCAN_C_IFLAG1_BUF3I,
479 FLEXCAN_C_IFLAG1_BUF4I,
480 FLEXCAN_C_IFLAG1_BUF5I,
481 FLEXCAN_C_IFLAG1_BUF6I,
482 FLEXCAN_C_IFLAG1_BUF7I,
483 FLEXCAN_C_IFLAG1_BUF8I,
484 FLEXCAN_C_IFLAG1_BUF9I,
485 FLEXCAN_C_IFLAG1_BUF10I,
486 FLEXCAN_C_IFLAG1_BUF11I,
487 FLEXCAN_C_IFLAG1_BUF12I,
488 FLEXCAN_C_IFLAG1_BUF13I,
489 FLEXCAN_C_IFLAG1_BUF14I,
490 FLEXCAN_C_IFLAG1_BUF15I,
491 FLEXCAN_C_IFLAG1_BUF31_16I,
492 FLEXCAN_C_IFLAG1_BUF63_32I,
497 DSPI_A_COMB = 275, // 54-131
501 DSPI_A_ISR_RFDF, // 54-135
504 FLEXCAN_B_ESR_BOFF_INT = 280,
505 FLEXCAN_B_ESR_ERR_INT,
507 FLEXCAN_B_IFLAG1_BUF0I,
508 FLEXCAN_B_IFLAG1_BUF1I,
509 FLEXCAN_B_IFLAG1_BUF2I,
510 FLEXCAN_B_IFLAG1_BUF3I,
511 FLEXCAN_B_IFLAG1_BUF4I,
512 FLEXCAN_B_IFLAG1_BUF5I,
513 FLEXCAN_B_IFLAG1_BUF6I,
514 FLEXCAN_B_IFLAG1_BUF7I,
515 FLEXCAN_B_IFLAG1_BUF8I,
516 FLEXCAN_B_IFLAG1_BUF9I,
517 FLEXCAN_B_IFLAG1_BUF10I,
518 FLEXCAN_B_IFLAG1_BUF11I,
519 FLEXCAN_B_IFLAG1_BUF12I,
520 FLEXCAN_B_IFLAG1_BUF13I,
521 FLEXCAN_B_IFLAG1_BUF14I,
522 FLEXCAN_B_IFLAG1_BUF15I,
523 FLEXCAN_B_IFLAG1_BUF31_16I,
524 FLEXCAN_B_IFLAG1_BUF63_32I,
527 FLEXCAN_D_ESR_BOFF_INT = 308,
528 FLEXCAN_D_ESR_ERR_INT,
530 FLEXCAN_D_IFLAG1_BUF0I,
531 FLEXCAN_D_IFLAG1_BUF1I,
532 FLEXCAN_D_IFLAG1_BUF2I,
533 FLEXCAN_D_IFLAG1_BUF3I,
534 FLEXCAN_D_IFLAG1_BUF4I,
535 FLEXCAN_D_IFLAG1_BUF5I,
536 FLEXCAN_D_IFLAG1_BUF6I,
537 FLEXCAN_D_IFLAG1_BUF7I,
538 FLEXCAN_D_IFLAG1_BUF8I,
539 FLEXCAN_D_IFLAG1_BUF9I,
540 FLEXCAN_D_IFLAG1_BUF10I,
541 FLEXCAN_D_IFLAG1_BUF11I,
542 FLEXCAN_D_IFLAG1_BUF12I,
543 FLEXCAN_D_IFLAG1_BUF13I,
544 FLEXCAN_D_IFLAG1_BUF14I,
545 FLEXCAN_D_IFLAG1_BUF15I,
546 FLEXCAN_D_IFLAG1_BUF31_16I,
547 FLEXCAN_D_IFLAG1_BUF63_32I,
550 FLEXCAN_E_ESR_BOFF_INT = 329,
551 FLEXCAN_E_ESR_ERR_INT,
553 FLEXCAN_E_IFLAG1_BUF0I,
554 FLEXCAN_E_IFLAG1_BUF1I,
555 FLEXCAN_E_IFLAG1_BUF2I,
556 FLEXCAN_E_IFLAG1_BUF3I,
557 FLEXCAN_E_IFLAG1_BUF4I,
558 FLEXCAN_E_IFLAG1_BUF5I,
559 FLEXCAN_E_IFLAG1_BUF6I,
560 FLEXCAN_E_IFLAG1_BUF7I,
561 FLEXCAN_E_IFLAG1_BUF8I,
562 FLEXCAN_E_IFLAG1_BUF9I,
563 FLEXCAN_E_IFLAG1_BUF10I,
564 FLEXCAN_E_IFLAG1_BUF11I,
565 FLEXCAN_E_IFLAG1_BUF12I,
566 FLEXCAN_E_IFLAG1_BUF13I,
567 FLEXCAN_E_IFLAG1_BUF14I,
568 FLEXCAN_E_IFLAG1_BUF15I,
569 FLEXCAN_E_IFLAG1_BUF31_16I,
570 FLEXCAN_E_IFLAG1_BUF63_32I,
572 INTC_NUMBER_OF_INTERRUPTS,
576 #endif /* defined(CFG_MPC5554)||defined(CFG_MPC5567)||defined(CFG_MPC5633) */
578 CRITICAL_INPUT_EXCEPTION,
579 MACHINE_CHECK_EXCEPTION,
580 DATA_STORAGE_EXCEPTION,
581 INSTRUCTION_STORAGE_EXCEPTION,
582 EXTERNAL_INTERRUPT, /* This is the place where the "normal" interrupts will hit the CPU... */
585 FLOATING_POINT_EXCEPTION,
586 SYSTEM_CALL_EXCEPTION,
588 DECREMENTER_EXCEPTION,
589 FIXED_INTERVAL_TIMER_EXCEPTION,
590 WATCHDOG_TIMER_EXCEPTION,
592 INSTRUCTION_TLB_EXCEPTION,
594 NUMBER_OF_INTERRUPTS_AND_EXCEPTIONS,
598 PERIPHERAL_CLOCK_FLEXCAN_A,
599 PERIPHERAL_CLOCK_FLEXCAN_B,
600 PERIPHERAL_CLOCK_FLEXCAN_C,
601 PERIPHERAL_CLOCK_FLEXCAN_D,
602 PERIPHERAL_CLOCK_FLEXCAN_E,
603 PERIPHERAL_CLOCK_FLEXCAN_F,
604 PERIPHERAL_CLOCK_PIT,
605 PERIPHERAL_CLOCK_DSPI_A,
606 PERIPHERAL_CLOCK_DSPI_B,
607 PERIPHERAL_CLOCK_DSPI_C,
608 PERIPHERAL_CLOCK_DSPI_D,
609 PERIPHERAL_CLOCK_EMIOS,
610 PERIPHERAL_CLOCK_ESCI_A,
611 PERIPHERAL_CLOCK_ESCI_B,
612 PERIPHERAL_CLOCK_ESCI_C,
613 PERIPHERAL_CLOCK_ESCI_D,
614 PERIPHERAL_CLOCK_ESCI_E,
615 PERIPHERAL_CLOCK_ESCI_F,
616 PERIPHERAL_CLOCK_ESCI_G,
617 PERIPHERAL_CLOCK_ESCI_H,
618 PERIPHERAL_CLOCK_IIC_A,
619 PERIPHERAL_CLOCK_MLB,
620 } McuE_PeriperalClock_t;
623 #if defined(CFG_MPC5516)
633 #define IRQ_INTERRUPT_OFFSET 0