RTEMS  5.1
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
irq.h
Go to the documentation of this file.
1 
19 #ifndef LIBBSP_ARM_RASBPERRYPI_IRQ_H
20 #define LIBBSP_ARM_RASPBERRYPI_IRQ_H
21 
22 #ifndef ASM
23 
24 #include <rtems.h>
25 #include <rtems/irq.h>
26 #include <rtems/irq-extension.h>
27 
36 #define BCM2835_INTC_TOTAL_IRQ 64 + 8
37 
38 #define BCM2835_IRQ_SET1_MIN 0
39 #define BCM2835_IRQ_SET2_MIN 32
40 
41 #define BCM2835_IRQ_ID_GPU_TIMER_M0 0
42 #define BCM2835_IRQ_ID_GPU_TIMER_M1 1
43 #define BCM2835_IRQ_ID_GPU_TIMER_M2 2
44 #define BCM2835_IRQ_ID_GPU_TIMER_M3 3
45 
46 #define BCM2835_IRQ_ID_USB 9
47 #define BCM2835_IRQ_ID_AUX 29
48 #define BCM2835_IRQ_ID_SPI_SLAVE 43
49 #define BCM2835_IRQ_ID_PWA0 45
50 #define BCM2835_IRQ_ID_PWA1 46
51 #define BCM2835_IRQ_ID_SMI 48
52 #define BCM2835_IRQ_ID_GPIO_0 49
53 #define BCM2835_IRQ_ID_GPIO_1 50
54 #define BCM2835_IRQ_ID_GPIO_2 51
55 #define BCM2835_IRQ_ID_GPIO_3 52
56 #define BCM2835_IRQ_ID_I2C 53
57 #define BCM2835_IRQ_ID_SPI 54
58 #define BCM2835_IRQ_ID_PCM 55
59 #define BCM2835_IRQ_ID_UART 57
60 #define BCM2835_IRQ_ID_SD 62
61 
62 #define BCM2835_IRQ_ID_BASIC_BASE_ID 64
63 #define BCM2835_IRQ_ID_TIMER_0 64
64 #define BCM2835_IRQ_ID_MAILBOX_0 65
65 #define BCM2835_IRQ_ID_DOORBELL_0 66
66 #define BCM2835_IRQ_ID_DOORBELL_1 67
67 #define BCM2835_IRQ_ID_GPU0_HALTED 68
68 #define BCM2835_IRQ_ID_GPU1_HALTED 69
69 #define BCM2835_IRQ_ID_ILL_ACCESS_1 70
70 #define BCM2835_IRQ_ID_ILL_ACCESS_0 71
71 
72 #define BSP_INTERRUPT_VECTOR_MIN (0)
73 #define BSP_INTERRUPT_VECTOR_MAX (BCM2835_INTC_TOTAL_IRQ - 1)
74 #define BSP_INTERRUPT_VECTOR_INVALID (UINT32_MAX)
75 
76 #define BSP_IRQ_COUNT (BCM2835_INTC_TOTAL_IRQ)
77 
78 #endif /* ASM */
79 #endif /* LIBBSP_ARM_RASPBERRYPI_IRQ_H */
Header file for the Interrupt Manager Extension.