23 #ifndef LIBBSP_POWERPC_IRQ_H    24 #define LIBBSP_POWERPC_IRQ_H    39 #define MPC55XX_IRQ_INVALID 0x10000U    40 #define MPC55XX_IRQ_MIN 0U    43 #define MPC55XX_IRQ_SOFTWARE_MIN 0U    44 #define MPC55XX_IRQ_SOFTWARE_MAX 7U    45 #define MPC55XX_IRQ_SOFTWARE_GET_INDEX(v) (v)    46 #define MPC55XX_IRQ_SOFTWARE_GET_REQUEST(i) (i)    47 #define MPC55XX_IRQ_SOFTWARE_NUMBER (MPC55XX_IRQ_SOFTWARE_MAX + 1U)    49 #if MPC55XX_CHIP_FAMILY == 551    50   #define MPC55XX_IRQ_MAX 293U    53   #define MPC55XX_IRQ_EDMA_ERROR(group) \    54     ((group) == 0 ? 10U : MPC55XX_IRQ_INVALID)    55   #define MPC55XX_IRQ_EDMA(ch) \    56     ((unsigned) (ch) < 16U ? 11U + (ch) : MPC55XX_IRQ_INVALID)    59   #define MPC55XX_IRQ_I2C(mod) \    60     ((mod) == 0 ? 48U : MPC55XX_IRQ_INVALID)    63   #define MPC55XX_IRQ_SIU_EXTERNAL_0 53U    64   #define MPC55XX_IRQ_SIU_EXTERNAL_1 54U    65   #define MPC55XX_IRQ_SIU_EXTERNAL_2 55U    66   #define MPC55XX_IRQ_SIU_EXTERNAL_3 56U    67   #define MPC55XX_IRQ_SIU_EXTERNAL_4_15 57U    70   #define MPC55XX_IRQ_RTI 148U    71   #define MPC55XX_IRQ_PIT(timer) (148U + (timer))    74   #define MPC55XX_IRQ_ETPU_BASE(mod) MPC55XX_IRQ_INVALID    77   #define MPC55XX_IRQ_DSPI_BASE(mod) \    78     ((mod) == 0 ? 117U : \    79       ((mod) == 1 ? 122U : \    80         ((mod) == 2 ? 274U : \    81           ((mod) == 3 ? 279U : MPC55XX_IRQ_INVALID))))    84   #define MPC55XX_IRQ_EMIOS(ch) \    85     ((unsigned) (ch) < 24U ? 58U + (ch) : MPC55XX_IRQ_INVALID)    88   #define MPC55XX_IRQ_EQADC_BASE(mod) \    89     ((mod) == 0 ? 82U : MPC55XX_IRQ_INVALID)    92   #define MPC55XX_IRQ_ESCI(mod) \    93     ((mod) == 0 ? 113U : \    94       ((mod) == 1 ? 114U : \    95         ((mod) == 2 ? 115U : \    96           ((mod) == 3 ? 116U : \    97             ((mod) == 4 ? 270U : \    98               ((mod) == 5 ? 271U : \    99                 ((mod) == 6 ? 272U : \   100                   ((mod) == 7 ? 273U : MPC55XX_IRQ_INVALID))))))))   103   #define MPC55XX_IRQ_CAN_BASE(mod) \   104     ((mod) == 0 ? 127U : \   105       ((mod) == 1 ? 157U : \   106         ((mod) == 2 ? 178U : \   107           ((mod) == 3 ? 199U : \   108             ((mod) == 4 ? 220U : \   109               ((mod) == 5 ? 241U : MPC55XX_IRQ_INVALID))))))   112   #define MPC55XX_IRQ_FLEXRAY_BASE(mod) \   113     ((mod) == 0 ? 284U : MPC55XX_IRQ_INVALID)   114 #elif MPC55XX_CHIP_FAMILY == 564   115   #define MPC55XX_IRQ_MAX 255U   118   #define MPC55XX_IRQ_EDMA_ERROR(group) \   119     ((group) == 0 ? 10U : MPC55XX_IRQ_INVALID)   120   #define MPC55XX_IRQ_EDMA(ch) \   121     ((unsigned) (ch) < 16U ? 11U + (ch) : MPC55XX_IRQ_INVALID)   124   #define MPC55XX_IRQ_SWT_0 28U   125   #define MPC55XX_IRQ_SWT_1 29U   128   #define MPC55XX_IRQ_STM_CHANNEL(ch) ((ch) + 30U)   131   #define MPC55XX_IRQ_ECSM_FAS 9U   132   #define MPC55XX_IRQ_ECSM_NCE 35U   133   #define MPC55XX_IRQ_ECSM_COR 36U   136   #define MPC55XX_IRQ_MC_ME_SAFE_MODE 51U   137   #define MPC55XX_IRQ_MC_ME_MODE_TRANSITION 52U   138   #define MPC55XX_IRQ_MC_ME_INVALID_MODE 53U   139   #define MPC55XX_IRQ_MC_ME_INVALID_CONFIG 54U   140   #define MPC55XX_IRQ_MC_RGM_FRAE 56U   143   #define MPC55XX_IRQ_XOSC 57U   146   #define MPC55XX_IRQ_PIT_CHANNEL(ch) \   147     ((ch) == 3 ? 127U : ((ch) + 59U))   150   #define MPC55XX_IRQ_SIU_EXTERNAL_0 41U   151   #define MPC55XX_IRQ_SIU_EXTERNAL_1 42U   152   #define MPC55XX_IRQ_SIU_EXTERNAL_2 43U   153   #define MPC55XX_IRQ_SIU_EXTERNAL_3 44U   156   #define MPC55XX_IRQ_ADC_BASE(mod) \   157     ((mod) == 0 ? 62U : \   158       ((mod) == 1 ? 82U : MPC55XX_IRQ_INVALID))   161   #define MPC55XX_IRQ_DSPI_BASE(mod) \   162     ((mod) == 0 ? 74U : \   163       ((mod) == 1 ? 94U : \   164         ((mod) == 2 ? 114U : MPC55XX_IRQ_INVALID)))   167   #define MPC55XX_IRQ_CAN_BASE(mod) \   168     ((mod) == 0 ? 65U : \   169       ((mod) == 1 ? 85U : MPC55XX_IRQ_INVALID))   172   #define MPC55XX_IRQ_FLEXPWM_BASE(mod) \   173     ((mod) == 0 ? 179U : \   174       ((mod) == 1 ? 233U : MPC55XX_IRQ_INVALID))   177   #define MPC55XX_IRQ_FLEXRAY_BASE(mod) \   178     ((mod) == 0 ? 131U : MPC55XX_IRQ_INVALID)   181   #define MPC55XX_IRQ_LINFLEX_BASE(mod) \   182     ((mod) == 0 ? 79U : \   183       ((mod) == 1 ? 99U : MPC55XX_IRQ_INVALID))   186   #define MPC55XX_IRQ_ETIMER_BASE(mod) \   187     ((mod) == 0 ? 157U : \   188       ((mod) == 1 ? 168U : \   189         ((mod) == 2 ? 222U : MPC55XX_IRQ_INVALID)))   192   #define MPC55XX_IRQ_CTU_MRS 193U   193   #define MPC55XX_IRQ_CTU_T(idx) ((idx) + 194U)   194   #define MPC55XX_IRQ_CTU_FIFO(idx) ((idx) + 202U)   195   #define MPC55XX_IRQ_CTU_ADC 206U   196   #define MPC55XX_IRQ_CTU_ERR 207U   199   #define MPC55XX_IRQ_SEMA_0 247U   200   #define MPC55XX_IRQ_SEMA_1 248U   203   #define MPC55XX_IRQ_FCCU_ALRM 250U   204   #define MPC55XX_IRQ_FCCU_CFG_TO 251U   205   #define MPC55XX_IRQ_FCCU_SC_RCC0_F 252U   206   #define MPC55XX_IRQ_FCCU_SC_RCC1_F 253U   209   #define MPC55XX_IRQ_PMU 254U   212   #define MPC55XX_IRQ_SWG 255U   213 #elif MPC55XX_CHIP_FAMILY == 566   214   #define MPC55XX_IRQ_MAX 315U   217   #define MPC55XX_IRQ_EDMA_ERROR(group) \   218     ((group) == 0 ? 10U : MPC55XX_IRQ_INVALID)   219   #define MPC55XX_IRQ_EDMA(ch) \   220     ((unsigned) (ch) < 32U ? 11U + (ch) : MPC55XX_IRQ_INVALID)   223   #define MPC55XX_IRQ_PIT_CHANNEL(ch) \   224     ((unsigned) (ch) < 9U ? 148U + (ch) : MPC55XX_IRQ_INVALID)   227   #define MPC55XX_IRQ_SIU_EXTERNAL_0 53U   228   #define MPC55XX_IRQ_SIU_EXTERNAL_1 54U   229   #define MPC55XX_IRQ_SIU_EXTERNAL_2 55U   230   #define MPC55XX_IRQ_SIU_EXTERNAL_3 56U   233   #define MPC55XX_IRQ_EMIOS(ch) \   234     ((unsigned) (ch) < 24U ? 58U + (ch) : \   235       ((unsigned) (ch) < 32U ? 262U + (ch) : MPC55XX_IRQ_INVALID))   238   #define MPC55XX_IRQ_ESCI(mod) \   239     ((unsigned) (mod) < 4U ? 113U + (mod) : \   240       ((unsigned) (mod) < 8U ? 270U + (mod) : \   241         ((unsigned) (mod) < 12U ? 306U + (mod) : MPC55XX_IRQ_INVALID)))   243   #if MPC55XX_CHIP_FAMILY == 555   244     #define MPC55XX_IRQ_MAX 307U   245   #elif MPC55XX_CHIP_FAMILY == 556   246     #define MPC55XX_IRQ_MAX 360U   247   #elif MPC55XX_CHIP_FAMILY == 567   248     #define MPC55XX_IRQ_MAX 479U   250     #error "unsupported chip type"   254   #define MPC55XX_IRQ_EDMA_ERROR(group) \   255     ((group) == 0 ? 10U : \   256       ((group) == 1 ? 210U : \   257         ((group) == 2 ? 425U : MPC55XX_IRQ_INVALID)))   258   #define MPC55XX_IRQ_EDMA(ch) \   259     ((unsigned) (ch) < 32U ? 11U + (ch) : \   260       ((unsigned) (ch) < 64U ? 179U + (ch) : \   261         ((unsigned) (ch) < 96U ? 362U + (ch) : MPC55XX_IRQ_INVALID)))   264   #define MPC55XX_IRQ_I2C(mod) MPC55XX_IRQ_INVALID   267   #define MPC55XX_IRQ_SIU_EXTERNAL_0 46U   268   #define MPC55XX_IRQ_SIU_EXTERNAL_1 47U   269   #define MPC55XX_IRQ_SIU_EXTERNAL_2 48U   270   #define MPC55XX_IRQ_SIU_EXTERNAL_3 49U   271   #define MPC55XX_IRQ_SIU_EXTERNAL_4_15 50U   274   #define MPC55XX_IRQ_RTI 305U   275   #define MPC55XX_IRQ_PIT(ch) (301U + (ch))   278   #define MPC55XX_IRQ_ETPU_BASE(mod) \   279     ((mod) == 0 ? 67U : \   280       ((mod) == 1 ? 243U : MPC55XX_IRQ_INVALID))   283   #define MPC55XX_IRQ_DSPI_BASE(mod) \   284     ((mod) == 0 ? 275U : \   285       ((mod) == 1 ? 131U : \   286         ((mod) == 2 ? 136U : \   287           ((mod) == 3 ? 141U : MPC55XX_IRQ_INVALID))))   290   #define MPC55XX_IRQ_EMIOS(ch) \   291     ((unsigned) (ch) < 16U ? 51U + (ch) : \   292       ((unsigned) (ch) < 24U ? 186U + (ch) : \   293         ((unsigned) (ch) < 32U ? 435U + (ch) : MPC55XX_IRQ_INVALID)))   296   #define MPC55XX_IRQ_EQADC_BASE(mod) \   297     ((mod) == 0 ? 100U : \   298       ((mod) == 1 ? 394U : MPC55XX_IRQ_INVALID))   301   #define MPC55XX_IRQ_ESCI(mod) \   302     ((mod) == 0 ? 146U : \   303       ((mod) == 1 ? 149U : \   304         ((mod) == 2 ? 473U : MPC55XX_IRQ_INVALID)))   307   #define MPC55XX_IRQ_CAN_BASE(mod) \   308     ((mod) == 0 ? 152U : \   309       ((mod) == 1 ? 280U : \   310         ((mod) == 2 ? 173U : \   311           ((mod) == 3 ? 308U : \   312             ((mod) == 4 ? 329U : MPC55XX_IRQ_INVALID)))))   315   #define MPC55XX_IRQ_FLEXRAY_BASE(mod) \   316     ((mod) == 0 ? 350U : MPC55XX_IRQ_INVALID)   319 #define MPC55XX_IRQ_NUMBER (MPC55XX_IRQ_MAX + 1U)   322 #define MPC55XX_IRQ_ADC_EOC(mod) \   323   (MPC55XX_IRQ_ADC_BASE(mod) + 0U)   324 #define MPC55XX_IRQ_ADC_ER(mod) \   325   (MPC55XX_IRQ_ADC_BASE(mod) + 1U)   326 #define MPC55XX_IRQ_ADC_WD(mod) \   327   (MPC55XX_IRQ_ADC_BASE(mod) + 2U)   330 #define MPC55XX_IRQ_ETIMER_TC(mod, ch) \   331   (MPC55XX_IRQ_ETIMER_BASE(mod) + (ch))   332 #define MPC55XX_IRQ_ETIMER_WTIF(mod) \   333   (MPC55XX_IRQ_ETIMER_BASE(mod) + 8U)   334 #define MPC55XX_IRQ_ETIMER_RCF(mod) \   335   (MPC55XX_IRQ_ETIMER_BASE(mod) + 10U)   338 #define MPC55XX_IRQ_ETPU(mod) \   339   (MPC55XX_IRQ_ETPU_BASE(mod) + 0U)   340 #define MPC55XX_IRQ_ETPU_CHANNEL(mod, ch) \   341   (MPC55XX_IRQ_ETPU_BASE(mod) + 1U + (ch))   344 #define MPC55XX_IRQ_DSPI_TFUF_RFOF(mod) (MPC55XX_IRQ_DSPI_BASE(mod) + 0U)   345 #define MPC55XX_IRQ_DSPI_EOQF(mod) (MPC55XX_IRQ_DSPI_BASE(mod) + 1U)   346 #define MPC55XX_IRQ_DSPI_TFFF(mod) (MPC55XX_IRQ_DSPI_BASE(mod) + 2U)   347 #define MPC55XX_IRQ_DSPI_TCF(mod) (MPC55XX_IRQ_DSPI_BASE(mod) + 3U)   348 #define MPC55XX_IRQ_DSPI_RFDF(mod) (MPC55XX_IRQ_DSPI_BASE(mod) + 4U)   351 #define MPC55XX_IRQ_EQADC_TORF_RFOF_CFUF(mod) \   352   (MPC55XX_IRQ_EQADC_BASE(mod) + 0U)   353 #define MPC55XX_IRQ_EQADC_NCF(mod, fifo) \   354   (MPC55XX_IRQ_EQADC_BASE(mod) + 1U + (fifo) * 5U + 0U)   355 #define MPC55XX_IRQ_EQADC_PF(mod, fifo) \   356   (MPC55XX_IRQ_EQADC_BASE(mod) + 1U + (fifo) * 5U + 1U)   357 #define MPC55XX_IRQ_EQADC_EOQF(mod, fifo) \   358   (MPC55XX_IRQ_EQADC_BASE(mod) + 1U + (fifo) * 5U + 2U)   359 #define MPC55XX_IRQ_EQADC_CFFF(mod, fifo) \   360   (MPC55XX_IRQ_EQADC_BASE(mod) + 1U + (fifo) * 5U + 3U)   361 #define MPC55XX_IRQ_EQADC_RFDF(mod, fifo) \   362   (MPC55XX_IRQ_EQADC_BASE(mod) + 1U + (fifo) * 5U + 4U)   365 #if MPC55XX_CHIP_FAMILY == 564   366   #define MPC55XX_IRQ_CAN_ERR(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 0U)   367   #define MPC55XX_IRQ_CAN_BOFF_TWRN_RWRN(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 1U)   368   #define MPC55XX_IRQ_CAN_BUF_0_3(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 3U)   369   #define MPC55XX_IRQ_CAN_BUF_4_7(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 4U)   370   #define MPC55XX_IRQ_CAN_BUF_8_11(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 5U)   371   #define MPC55XX_IRQ_CAN_BUF_12_15(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 6U)   372   #define MPC55XX_IRQ_CAN_BUF_16_31(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 7U)   374   #define MPC55XX_IRQ_CAN_BOFF_TWRN_RWRN(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 0U)   375   #define MPC55XX_IRQ_CAN_ERR(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 1U)   376   #define MPC55XX_IRQ_CAN_BUF_0(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 3U)   377   #define MPC55XX_IRQ_CAN_BUF_1(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 4U)   378   #define MPC55XX_IRQ_CAN_BUF_2(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 5U)   379   #define MPC55XX_IRQ_CAN_BUF_3(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 6U)   380   #define MPC55XX_IRQ_CAN_BUF_4(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 7U)   381   #define MPC55XX_IRQ_CAN_BUF_5(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 8U)   382   #define MPC55XX_IRQ_CAN_BUF_6(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 9U)   383   #define MPC55XX_IRQ_CAN_BUF_7(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 10U)   384   #define MPC55XX_IRQ_CAN_BUF_8(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 12U)   385   #define MPC55XX_IRQ_CAN_BUF_9(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 12U)   386   #define MPC55XX_IRQ_CAN_BUF_10(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 13U)   387   #define MPC55XX_IRQ_CAN_BUF_11(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 14U)   388   #define MPC55XX_IRQ_CAN_BUF_12(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 15U)   389   #define MPC55XX_IRQ_CAN_BUF_13(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 16U)   390   #define MPC55XX_IRQ_CAN_BUF_14(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 17U)   391   #define MPC55XX_IRQ_CAN_BUF_15(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 18U)   392   #define MPC55XX_IRQ_CAN_BUF_16_31(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 19U)   393   #define MPC55XX_IRQ_CAN_BUF_32_63(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 20U)   397 #define MPC55XX_IRQ_FLEXPWM_RF(mod, ch) (MPC55XX_IRQ_FLEXPWM_BASE(mod) + 3U * (ch) + 0U)   398 #define MPC55XX_IRQ_FLEXPWM_COF(mod, ch) (MPC55XX_IRQ_FLEXPWM_BASE(mod) + 3U * (ch) + 1U)   399 #define MPC55XX_IRQ_FLEXPWM_CAF(mod, ch) (MPC55XX_IRQ_FLEXPWM_BASE(mod) + 3U * (ch) + 2U)   400 #define MPC55XX_IRQ_FLEXPWM_FFLAG(mod) (MPC55XX_IRQ_FLEXPWM_BASE(mod) + 12U)   401 #define MPC55XX_IRQ_FLEXPWM_REF(mod) (MPC55XX_IRQ_FLEXPWM_BASE(mod) + 13U)   404 #if MPC55XX_CHIP_FAMILY == 564   405   #define MPC55XX_IRQ_FLEXRAY_LRNEIF_DRNEIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 0U)   406   #define MPC55XX_IRQ_FLEXRAY_LRCEIF_DRCEIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 1U)   407   #define MPC55XX_IRQ_FLEXRAY_FAFAIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 2U)   408   #define MPC55XX_IRQ_FLEXRAY_FAFVIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 3U)   409   #define MPC55XX_IRQ_FLEXRAY_WUPIEF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 4U)   410   #define MPC55XX_IRQ_FLEXRAY_PRIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 5U)   411   #define MPC55XX_IRQ_FLEXRAY_CHIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 6U)   412   #define MPC55XX_IRQ_FLEXRAY_TBIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 7U)   413   #define MPC55XX_IRQ_FLEXRAY_RBIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 8U)   414   #define MPC55XX_IRQ_FLEXRAY_MIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 9U)   416   #define MPC55XX_IRQ_FLEXRAY_MIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 0U)   417   #define MPC55XX_IRQ_FLEXRAY_PRIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 1U)   418   #define MPC55XX_IRQ_FLEXRAY_CHIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 2U)   419   #define MPC55XX_IRQ_FLEXRAY_WUP_IF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 3U)   420   #define MPC55XX_IRQ_FLEXRAY_FBNE_F(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 4U)   421   #define MPC55XX_IRQ_FLEXRAY_FANE_F(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 5U)   422   #define MPC55XX_IRQ_FLEXRAY_RBIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 6U)   423   #define MPC55XX_IRQ_FLEXRAY_TBIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 7U)   427 #define MPC55XX_IRQ_LINFLEX_RXI(mod) (MPC55XX_IRQ_LINFLEX_BASE(mod) + 0U)   428 #define MPC55XX_IRQ_LINFLEX_TXI(mod) (MPC55XX_IRQ_LINFLEX_BASE(mod) + 1U)   429 #define MPC55XX_IRQ_LINFLEX_ERR(mod) (MPC55XX_IRQ_LINFLEX_BASE(mod) + 2U)   432 #define MPC55XX_IRQ_IS_VALID(v) \   433   ((v) >= MPC55XX_IRQ_MIN && \   434    (v) <= MPC55XX_IRQ_MAX)   435 #define MPC55XX_IRQ_IS_SOFTWARE(v) \   436   ((v) >= MPC55XX_IRQ_SOFTWARE_MIN && \   437    (v) <= MPC55XX_IRQ_SOFTWARE_MAX)   443 #define MPC55XX_INTC_MIN_PRIORITY 1U   444 #define MPC55XX_INTC_MAX_PRIORITY 15U   445 #define MPC55XX_INTC_DISABLED_PRIORITY 0U   446 #define MPC55XX_INTC_INVALID_PRIORITY (MPC55XX_INTC_MAX_PRIORITY + 1)   447 #define MPC55XX_INTC_DEFAULT_PRIORITY (MPC55XX_INTC_MIN_PRIORITY + 1)   448 #define MPC55XX_INTC_IS_VALID_PRIORITY(p) \   449   ((p) >= MPC55XX_INTC_DISABLED_PRIORITY && (p) <= MPC55XX_INTC_MAX_PRIORITY)   480 #define BSP_INTERRUPT_VECTOR_MIN MPC55XX_IRQ_MIN   482 #define BSP_INTERRUPT_VECTOR_MAX MPC55XX_IRQ_MAX   484 #ifdef BSP_INTERRUPT_HANDLER_TABLE_SIZE   485   #define BSP_INTERRUPT_USE_INDEX_TABLE   486   #define BSP_INTERRUPT_NO_HEAP_USAGE   492 #define MPC55XX_IRQ_EDMA_GET_REQUEST(ch) MPC55XX_IRQ_EDMA(ch)   493 #define MPC55XX_IRQ_EMIOS_GET_REQUEST(ch) MPC55XX_IRQ_EMIOS(ch) rtems_status_code mpc55xx_intc_get_priority(rtems_vector_number vector, unsigned *priority)
Returns the priority priority of IRQ vector from the INTC.
Definition: irq.c:38
 
ISR_Vector_number rtems_vector_number
Control block type used to manage the vectors.
Definition: intr.h:47
 
rtems_status_code
Classic API Status.
Definition: status.h:43
 
Header file for the Interrupt Manager Extension.
 
uint32_t rtems_option
Definition: options.h:42
 
rtems_status_code mpc55xx_interrupt_handler_install(rtems_vector_number vector, const char *info, rtems_option options, unsigned priority, rtems_interrupt_handler handler, void *arg)
Installs interrupt handler and sets priority.
Definition: irq.c:95
 
rtems_status_code mpc55xx_intc_raise_software_irq(rtems_vector_number vector)
Raises the software IRQ with number vector.
Definition: irq.c:69
 
void(* rtems_interrupt_handler)(void *)
Interrupt handler routine type.
Definition: irq-extension.h:79
 
rtems_status_code mpc55xx_intc_clear_software_irq(rtems_vector_number vector)
Clears the software IRQ with number vector.
Definition: irq.c:82
 
rtems_status_code mpc55xx_intc_set_priority(rtems_vector_number vector, unsigned priority)
Sets the priority of IRQ vector to priority at the INTC.
Definition: irq.c:52