50
48
SCIFA4, SCIFA5, SCIFB,
51
49
FLCTL_FLSTEI, FLCTL_FLTENDI, FLCTL_FLTREQ0I, FLCTL_FLTREQ1I,
50
SDHI0_SDHI0I0, SDHI0_SDHI0I1, SDHI0_SDHI0I2, SDHI0_SDHI0I3,
51
SDHI1_SDHI1I0, SDHI1_SDHI1I1, SDHI1_SDHI1I2,
57
SDHI2_SDHI2I0, SDHI2_SDHI2I1, SDHI2_SDHI2I2, SDHI2_SDHI2I3,
61
59
DMAC1_1_DEI0, DMAC1_1_DEI1, DMAC1_1_DEI2, DMAC1_1_DEI3,
62
60
DMAC1_2_DEI4, DMAC1_2_DEI5, DMAC1_2_DADERR,
85
83
/* interrupt groups INTCA */
86
84
DMAC1_1, DMAC1_2, DMAC2_1, DMAC2_2, DMAC3_1, DMAC3_2, SHWYSTAT,
87
AP_ARM1, AP_ARM2, SPU2, FLCTL, IIC1
85
AP_ARM1, AP_ARM2, SPU2, FLCTL, IIC1, SDHI0, SDHI1, SDHI2
90
88
static struct intc_vect intca_vectors[] __initdata = {
125
123
INTC_VECT(SCIFB, 0x0d60),
126
124
INTC_VECT(FLCTL_FLSTEI, 0x0d80), INTC_VECT(FLCTL_FLTENDI, 0x0da0),
127
125
INTC_VECT(FLCTL_FLTREQ0I, 0x0dc0), INTC_VECT(FLCTL_FLTREQ1I, 0x0de0),
128
INTC_VECT(SDHI0, 0x0e00), INTC_VECT(SDHI0, 0x0e20),
129
INTC_VECT(SDHI0, 0x0e40), INTC_VECT(SDHI0, 0x0e60),
130
INTC_VECT(SDHI1, 0x0e80), INTC_VECT(SDHI1, 0x0ea0),
131
INTC_VECT(SDHI1, 0x0ec0),
126
INTC_VECT(SDHI0_SDHI0I0, 0x0e00), INTC_VECT(SDHI0_SDHI0I1, 0x0e20),
127
INTC_VECT(SDHI0_SDHI0I2, 0x0e40), INTC_VECT(SDHI0_SDHI0I3, 0x0e60),
128
INTC_VECT(SDHI1_SDHI1I0, 0x0e80), INTC_VECT(SDHI1_SDHI1I1, 0x0ea0),
129
INTC_VECT(SDHI1_SDHI1I2, 0x0ec0),
132
130
INTC_VECT(IRREM, 0x0f60),
133
131
INTC_VECT(IRDA, 0x0480),
134
132
INTC_VECT(TPU0, 0x04a0),
135
133
INTC_VECT(TTI20, 0x1100),
136
134
INTC_VECT(DDM, 0x1140),
137
INTC_VECT(SDHI2, 0x1200), INTC_VECT(SDHI2, 0x1220),
138
INTC_VECT(SDHI2, 0x1240), INTC_VECT(SDHI2, 0x1260),
135
INTC_VECT(SDHI2_SDHI2I0, 0x1200), INTC_VECT(SDHI2_SDHI2I1, 0x1220),
136
INTC_VECT(SDHI2_SDHI2I2, 0x1240), INTC_VECT(SDHI2_SDHI2I3, 0x1260),
139
137
INTC_VECT(RWDT0, 0x1280),
140
138
INTC_VECT(DMAC1_1_DEI0, 0x2000), INTC_VECT(DMAC1_1_DEI1, 0x2020),
141
139
INTC_VECT(DMAC1_1_DEI2, 0x2040), INTC_VECT(DMAC1_1_DEI3, 0x2060),
195
193
INTC_GROUP(FLCTL, FLCTL_FLSTEI, FLCTL_FLTENDI,
196
194
FLCTL_FLTREQ0I, FLCTL_FLTREQ1I),
197
195
INTC_GROUP(IIC1, IIC1_ALI1, IIC1_TACKI1, IIC1_WAITI1, IIC1_DTEI1),
196
INTC_GROUP(SDHI0, SDHI0_SDHI0I0, SDHI0_SDHI0I1,
197
SDHI0_SDHI0I2, SDHI0_SDHI0I3),
198
INTC_GROUP(SDHI1, SDHI1_SDHI1I0, SDHI1_SDHI1I1,
200
INTC_GROUP(SDHI2, SDHI2_SDHI2I0, SDHI2_SDHI2I1,
201
SDHI2_SDHI2I2, SDHI2_SDHI2I3),
198
202
INTC_GROUP(SHWYSTAT, SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM),
230
234
{ SCIFB, SCIFA5, SCIFA4, MSIOF1,
231
235
0, 0, MSIOF2, 0 } },
232
236
{ 0xe694009c, 0xe69400dc, 8, /* IMR7A / IMCR7A */
233
{ DISABLED, ENABLED, ENABLED, ENABLED,
237
{ SDHI0_SDHI0I3, SDHI0_SDHI0I2, SDHI0_SDHI0I1, SDHI0_SDHI0I0,
234
238
FLCTL_FLTREQ1I, FLCTL_FLTREQ0I, FLCTL_FLTENDI, FLCTL_FLSTEI } },
235
239
{ 0xe69400a0, 0xe69400e0, 8, /* IMR8A / IMCR8A */
236
{ 0, ENABLED, ENABLED, ENABLED,
240
{ 0, SDHI1_SDHI1I2, SDHI1_SDHI1I1, SDHI1_SDHI1I0,
237
241
TTI20, USBHSDMAC0_USHDMI, 0, 0 } },
238
242
{ 0xe69400a4, 0xe69400e4, 8, /* IMR9A / IMCR9A */
239
243
{ CMT1_CMT13, CMT1_CMT12, CMT1_CMT11, CMT1_CMT10,
250
254
{ 0xe69400b4, 0xe69400f4, 8, /* IMR13A / IMCR13A */
251
{ DISABLED, DISABLED, ENABLED, ENABLED,
255
{ SDHI2_SDHI2I3, SDHI2_SDHI2I2, SDHI2_SDHI2I1, SDHI2_SDHI2I0,
252
256
0, CMT3, 0, RWDT0 } },
253
257
{ 0xe6950080, 0xe69500c0, 8, /* IMR0A3 / IMCR0A3 */
254
258
{ SHWYSTAT_RT, SHWYSTAT_HS, SHWYSTAT_COM, 0,
354
358
{ IRQ24A, IRQ25A, IRQ26A, IRQ27A, IRQ28A, IRQ29A, IRQ30A, IRQ31A } },
357
static struct intc_desc intca_desc __initdata = {
358
.name = "sh7372-intca",
359
.force_enable = ENABLED,
360
.force_disable = DISABLED,
361
.hw = INTC_HW_DESC(intca_vectors, intca_groups,
362
intca_mask_registers, intca_prio_registers,
363
intca_sense_registers, intca_ack_registers),
361
static DECLARE_INTC_DESC_ACK(intca_desc, "sh7372-intca",
362
intca_vectors, intca_groups,
363
intca_mask_registers, intca_prio_registers,
364
intca_sense_registers, intca_ack_registers);
367
367
UNUSED_INTCS = 0,