RTEMS 6.1-rc2
Loading...
Searching...
No Matches
irq.h
Go to the documentation of this file.
1
19#ifndef LIBBSP_ARM_RASPBERRYPI_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
28#if defined(RTEMS_SMP)
30#endif
31
40#define BCM2835_INTC_TOTAL_IRQ (64 + 8)
41
42#define BCM2835_IRQ_SET1_MIN 0
43#define BCM2835_IRQ_SET2_MIN 32
44
45#define BCM2835_IRQ_ID_GPU_TIMER_M0 0
46#define BCM2835_IRQ_ID_GPU_TIMER_M1 1
47#define BCM2835_IRQ_ID_GPU_TIMER_M2 2
48#define BCM2835_IRQ_ID_GPU_TIMER_M3 3
49
50#define BCM2835_IRQ_ID_USB 9
51#define BCM2835_IRQ_ID_AUX 29
52#define BCM2835_IRQ_ID_SPI_SLAVE 43
53#define BCM2835_IRQ_ID_PWA0 45
54#define BCM2835_IRQ_ID_PWA1 46
55#define BCM2835_IRQ_ID_SMI 48
56#define BCM2835_IRQ_ID_GPIO_0 49
57#define BCM2835_IRQ_ID_GPIO_1 50
58#define BCM2835_IRQ_ID_GPIO_2 51
59#define BCM2835_IRQ_ID_GPIO_3 52
60#define BCM2835_IRQ_ID_I2C 53
61#define BCM2835_IRQ_ID_SPI 54
62#define BCM2835_IRQ_ID_PCM 55
63#define BCM2835_IRQ_ID_UART 57
64#define BCM2835_IRQ_ID_SD 62
65
66#define BCM2835_IRQ_ID_BASIC_BASE_ID 64
67#define BCM2835_IRQ_ID_TIMER_0 64
68#define BCM2835_IRQ_ID_MAILBOX_0 65
69#define BCM2835_IRQ_ID_DOORBELL_0 66
70#define BCM2835_IRQ_ID_DOORBELL_1 67
71#define BCM2835_IRQ_ID_GPU0_HALTED 68
72#define BCM2835_IRQ_ID_GPU1_HALTED 69
73#define BCM2835_IRQ_ID_ILL_ACCESS_1 70
74#define BCM2835_IRQ_ID_ILL_ACCESS_0 71
75
76#define BSP_INTERRUPT_VECTOR_COUNT BCM2835_INTC_TOTAL_IRQ
77#define BSP_INTERRUPT_VECTOR_INVALID (UINT32_MAX)
78
79#define BSP_IRQ_COUNT (BCM2835_INTC_TOTAL_IRQ)
80
81#if defined(RTEMS_SMP)
82static inline rtems_status_code bsp_interrupt_set_affinity(
84 const Processor_mask *affinity
85)
86{
87 (void) vector;
88 (void) affinity;
89 return RTEMS_UNSATISFIED;
90}
91
92static inline rtems_status_code bsp_interrupt_get_affinity(
94 Processor_mask *affinity
95)
96{
97 (void) vector;
98 _Processor_mask_From_index( affinity, 0 );
99 return RTEMS_UNSATISFIED;
100}
101#endif
102
103#endif /* ASM */
104#endif /* LIBBSP_ARM_RASPBERRYPI_IRQ_H */
ISR_Vector_number rtems_vector_number
This integer type represents interrupt vector numbers.
Definition: intr.h:102
rtems_status_code
This enumeration provides status codes for directives of the Classic API.
Definition: status.h:85
@ RTEMS_UNSATISFIED
This status code indicates that the request was not satisfied.
Definition: status.h:158
This header file is provided for backward compatiblility.
This header file provides the interfaces of the Processor Mask.
This header file defines the RTEMS Classic API.