1
2#ifndef _IOP13XX_IRQS_H_
3#define _IOP13XX_IRQS_H_
4
5#ifndef __ASSEMBLER__
6#include <linux/types.h>
7
8
9
10static inline u32 read_intpnd_0(void)
11{
12 u32 val;
13 asm volatile("mrc p6, 0, %0, c0, c3, 0":"=r" (val));
14 return val;
15}
16
17
18
19static inline u32 read_intpnd_1(void)
20{
21 u32 val;
22 asm volatile("mrc p6, 0, %0, c1, c3, 0":"=r" (val));
23 return val;
24}
25
26
27
28static inline u32 read_intpnd_2(void)
29{
30 u32 val;
31 asm volatile("mrc p6, 0, %0, c2, c3, 0":"=r" (val));
32 return val;
33}
34
35
36
37static inline u32 read_intpnd_3(void)
38{
39 u32 val;
40 asm volatile("mrc p6, 0, %0, c3, c3, 0":"=r" (val));
41 return val;
42}
43#endif
44
45#define INTBASE 0
46#define INTSIZE_4 1
47
48
49
50
51#define IOP13XX_IRQ(x) (IOP13XX_IRQ_OFS + (x))
52
53
54
55
56#define IRQ_IOP13XX_ADMA0_EOT (0)
57#define IRQ_IOP13XX_ADMA0_EOC (1)
58#define IRQ_IOP13XX_ADMA1_EOT (2)
59#define IRQ_IOP13XX_ADMA1_EOC (3)
60#define IRQ_IOP13XX_ADMA2_EOT (4)
61#define IRQ_IOP13XX_ADMA2_EOC (5)
62#define IRQ_IOP134_WATCHDOG (6)
63#define IRQ_IOP13XX_RSVD_7 (7)
64#define IRQ_IOP13XX_TIMER0 (8)
65#define IRQ_IOP13XX_TIMER1 (9)
66#define IRQ_IOP13XX_I2C_0 (10)
67#define IRQ_IOP13XX_I2C_1 (11)
68#define IRQ_IOP13XX_MSG (12)
69#define IRQ_IOP13XX_MSGIBQ (13)
70#define IRQ_IOP13XX_ATU_IM (14)
71#define IRQ_IOP13XX_ATU_BIST (15)
72#define IRQ_IOP13XX_PPMU (16)
73#define IRQ_IOP13XX_COREPMU (17)
74#define IRQ_IOP13XX_CORECACHE (18)
75#define IRQ_IOP13XX_RSVD_19 (19)
76#define IRQ_IOP13XX_RSVD_20 (20)
77#define IRQ_IOP13XX_RSVD_21 (21)
78#define IRQ_IOP13XX_RSVD_22 (22)
79#define IRQ_IOP13XX_RSVD_23 (23)
80#define IRQ_IOP13XX_XINT0 (24)
81#define IRQ_IOP13XX_XINT1 (25)
82#define IRQ_IOP13XX_XINT2 (26)
83#define IRQ_IOP13XX_XINT3 (27)
84#define IRQ_IOP13XX_XINT4 (28)
85#define IRQ_IOP13XX_XINT5 (29)
86#define IRQ_IOP13XX_XINT6 (30)
87#define IRQ_IOP13XX_XINT7 (31)
88
89#define IRQ_IOP13XX_XINT8 (32)
90#define IRQ_IOP13XX_XINT9 (33)
91#define IRQ_IOP13XX_XINT10 (34)
92#define IRQ_IOP13XX_XINT11 (35)
93#define IRQ_IOP13XX_XINT12 (36)
94#define IRQ_IOP13XX_XINT13 (37)
95#define IRQ_IOP13XX_XINT14 (38)
96#define IRQ_IOP13XX_XINT15 (39)
97#define IRQ_IOP13XX_RSVD_40 (40)
98#define IRQ_IOP13XX_RSVD_41 (41)
99#define IRQ_IOP13XX_RSVD_42 (42)
100#define IRQ_IOP13XX_RSVD_43 (43)
101#define IRQ_IOP13XX_RSVD_44 (44)
102#define IRQ_IOP13XX_RSVD_45 (45)
103#define IRQ_IOP13XX_RSVD_46 (46)
104#define IRQ_IOP13XX_RSVD_47 (47)
105#define IRQ_IOP13XX_RSVD_48 (48)
106#define IRQ_IOP13XX_RSVD_49 (49)
107#define IRQ_IOP13XX_RSVD_50 (50)
108#define IRQ_IOP13XX_UART0 (51)
109#define IRQ_IOP13XX_UART1 (52)
110#define IRQ_IOP13XX_PBIE (53)
111#define IRQ_IOP13XX_ATU_CRW (54)
112#define IRQ_IOP13XX_ATU_ERR (55)
113#define IRQ_IOP13XX_MCU_ERR (56)
114#define IRQ_IOP13XX_ADMA0_ERR (57)
115#define IRQ_IOP13XX_ADMA1_ERR (58)
116#define IRQ_IOP13XX_ADMA2_ERR (59)
117#define IRQ_IOP13XX_RSVD_60 (60)
118#define IRQ_IOP13XX_RSVD_61 (61)
119#define IRQ_IOP13XX_MSG_ERR (62)
120#define IRQ_IOP13XX_RSVD_63 (63)
121
122#define IRQ_IOP13XX_INTERPROC (64)
123#define IRQ_IOP13XX_RSVD_65 (65)
124#define IRQ_IOP13XX_RSVD_66 (66)
125#define IRQ_IOP13XX_RSVD_67 (67)
126#define IRQ_IOP13XX_RSVD_68 (68)
127#define IRQ_IOP13XX_RSVD_69 (69)
128#define IRQ_IOP13XX_RSVD_70 (70)
129#define IRQ_IOP13XX_RSVD_71 (71)
130#define IRQ_IOP13XX_RSVD_72 (72)
131#define IRQ_IOP13XX_RSVD_73 (73)
132#define IRQ_IOP13XX_RSVD_74 (74)
133#define IRQ_IOP13XX_RSVD_75 (75)
134#define IRQ_IOP13XX_RSVD_76 (76)
135#define IRQ_IOP13XX_RSVD_77 (77)
136#define IRQ_IOP13XX_RSVD_78 (78)
137#define IRQ_IOP13XX_RSVD_79 (79)
138#define IRQ_IOP13XX_RSVD_80 (80)
139#define IRQ_IOP13XX_RSVD_81 (81)
140#define IRQ_IOP13XX_RSVD_82 (82)
141#define IRQ_IOP13XX_RSVD_83 (83)
142#define IRQ_IOP13XX_RSVD_84 (84)
143#define IRQ_IOP13XX_RSVD_85 (85)
144#define IRQ_IOP13XX_RSVD_86 (86)
145#define IRQ_IOP13XX_RSVD_87 (87)
146#define IRQ_IOP13XX_RSVD_88 (88)
147#define IRQ_IOP13XX_RSVD_89 (89)
148#define IRQ_IOP13XX_RSVD_90 (90)
149#define IRQ_IOP13XX_RSVD_91 (91)
150#define IRQ_IOP13XX_RSVD_92 (92)
151#define IRQ_IOP13XX_RSVD_93 (93)
152#define IRQ_IOP13XX_SIB_ERR (94)
153#define IRQ_IOP13XX_SRAM_ERR (95)
154
155#define IRQ_IOP13XX_I2C_2 (96)
156#define IRQ_IOP13XX_ATUE_BIST (97)
157#define IRQ_IOP13XX_ATUE_CRW (98)
158#define IRQ_IOP13XX_ATUE_ERR (99)
159#define IRQ_IOP13XX_IMU (100)
160#define IRQ_IOP13XX_RSVD_101 (101)
161#define IRQ_IOP13XX_RSVD_102 (102)
162#define IRQ_IOP13XX_TPMI0_OUT (103)
163#define IRQ_IOP13XX_TPMI1_OUT (104)
164#define IRQ_IOP13XX_TPMI2_OUT (105)
165#define IRQ_IOP13XX_TPMI3_OUT (106)
166#define IRQ_IOP13XX_ATUE_IMA (107)
167#define IRQ_IOP13XX_ATUE_IMB (108)
168#define IRQ_IOP13XX_ATUE_IMC (109)
169#define IRQ_IOP13XX_ATUE_IMD (110)
170#define IRQ_IOP13XX_MU_MSI_TB (111)
171#define IRQ_IOP13XX_RSVD_112 (112)
172#define IRQ_IOP13XX_INBD_MSI (113)
173#define IRQ_IOP13XX_RSVD_114 (114)
174#define IRQ_IOP13XX_RSVD_115 (115)
175#define IRQ_IOP13XX_RSVD_116 (116)
176#define IRQ_IOP13XX_RSVD_117 (117)
177#define IRQ_IOP13XX_RSVD_118 (118)
178#define IRQ_IOP13XX_RSVD_119 (119)
179#define IRQ_IOP13XX_RSVD_120 (120)
180#define IRQ_IOP13XX_RSVD_121 (121)
181#define IRQ_IOP13XX_RSVD_122 (122)
182#define IRQ_IOP13XX_RSVD_123 (123)
183#define IRQ_IOP13XX_RSVD_124 (124)
184#define IRQ_IOP13XX_RSVD_125 (125)
185#define IRQ_IOP13XX_RSVD_126 (126)
186#define IRQ_IOP13XX_HPI (127)
187
188#ifdef CONFIG_PCI_MSI
189#define IRQ_IOP13XX_MSI_0 (IRQ_IOP13XX_HPI + 1)
190#define NR_IOP13XX_IRQS (IRQ_IOP13XX_MSI_0 + 128)
191#else
192#define NR_IOP13XX_IRQS (IRQ_IOP13XX_HPI + 1)
193#endif
194
195#endif
196