armOS  0.1.0
Minimal ARM Operating System for the Raspberry Pi - Documentation generated for Pi 4.
irq.h
Go to the documentation of this file.
1 
8 #ifndef P_IRQ_H
9 #define P_IRQ_H
10 
11 #include <peripherals/base.h>
12 
17 enum
18 {
19 
25  IRQ_BASE = (MMIO_BASE + 0xB000),
26 
27  /* The offsets for reach register for the IRQ */
28 #if defined(MODEL_0) || defined(MODEL_2) || defined(MODEL_3)
29  /* Broadcom 2835, 2836, 2837 specific IRQ registers */
30  IRQ0_PENDING_0 = (IRQ_BASE + 0x200),
31  IRQ0_PENDING_1 = (IRQ_BASE + 0x204),
32  IRQ0_PENDING_2 = (IRQ_BASE + 0x208),
33  FIQ_CONTROL = (IRQ_BASE + 0x20C),
34  IRQ0_SET_EN_1 = (IRQ_BASE + 0x210),
35  IRQ0_SET_EN_2 = (IRQ_BASE + 0x214),
36  IRQ0_SET_EN_0 = (IRQ_BASE + 0x218),
37  IRQ0_CLR_EN_1 = (IRQ_BASE + 0x21C),
38  IRQ0_CLR_EN_2 = (IRQ_BASE + 0x220),
39  IRQ0_CLR_EN_0 = (IRQ_BASE + 0x224),
41 #elif defined(MODEL_4)
42  /* Broadcom 2711 specific IRQ registers */
43  IRQ0_PENDING_0 = (IRQ_BASE + 0x200),
44  IRQ0_PENDING_1 = (IRQ_BASE + 0x204),
45  IRQ0_PENDING_2 = (IRQ_BASE + 0x208),
46  IRQ0_SET_EN_0 = (IRQ_BASE + 0x210),
47  IRQ0_SET_EN_1 = (IRQ_BASE + 0x214),
48  IRQ0_SET_EN_2 = (IRQ_BASE + 0x218),
49  IRQ0_CLR_EN_0 = (IRQ_BASE + 0x220),
50  IRQ0_CLR_EN_1 = (IRQ_BASE + 0x224),
51  IRQ0_CLR_EN_2 = (IRQ_BASE + 0x228),
52 #endif
53 
55  AUX_IRQ = (1 << 29),
56 
57  SYSTEM_TIMER_IRQ_0 = (1 << 0),
58  SYSTEM_TIMER_IRQ_1 = (1 << 1),
59  SYSTEM_TIMER_IRQ_2 = (1 << 2),
60  SYSTEM_TIMER_IRQ_3 = (1 << 3)
61 };
62 
63 #endif
SYSTEM_TIMER_IRQ_0
@ SYSTEM_TIMER_IRQ_0
Definition: irq.h:57
IRQ0_PENDING_2
@ IRQ0_PENDING_2
Definition: irq.h:45
AUX_IRQ
@ AUX_IRQ
Definition: irq.h:55
IRQ0_SET_EN_2
@ IRQ0_SET_EN_2
Definition: irq.h:48
SYSTEM_TIMER_IRQ_1
@ SYSTEM_TIMER_IRQ_1
Definition: irq.h:58
IRQ0_SET_EN_1
@ IRQ0_SET_EN_1
Definition: irq.h:47
IRQ_BASE
@ IRQ_BASE
Definition: irq.h:25
base.h
Definition of base MMIO registers addresses.
IRQ0_PENDING_0
@ IRQ0_PENDING_0
Definition: irq.h:43
SYSTEM_TIMER_IRQ_3
@ SYSTEM_TIMER_IRQ_3
Definition: irq.h:60
IRQ0_PENDING_1
@ IRQ0_PENDING_1
Definition: irq.h:44
IRQ0_CLR_EN_0
@ IRQ0_CLR_EN_0
Definition: irq.h:49
IRQ0_SET_EN_0
@ IRQ0_SET_EN_0
Definition: irq.h:46
IRQ0_CLR_EN_1
@ IRQ0_CLR_EN_1
Definition: irq.h:50
MMIO_BASE
@ MMIO_BASE
Definition: base.h:29
IRQ0_CLR_EN_2
@ IRQ0_CLR_EN_2
Definition: irq.h:51
SYSTEM_TIMER_IRQ_2
@ SYSTEM_TIMER_IRQ_2
Definition: irq.h:59