xref: /linux/arch/sh/kernel/cpu/sh2a/setup-sh7269.c (revision 234a0538240caa05f12ec4ef7a573b173ab7ea57)
1*234a0538SKuninori Morimoto // SPDX-License-Identifier: GPL-2.0
20b25b7c8SPhil Edworthy /*
30b25b7c8SPhil Edworthy  * SH7269 Setup
40b25b7c8SPhil Edworthy  *
50b25b7c8SPhil Edworthy  * Copyright (C) 2012  Renesas Electronics Europe Ltd
60b25b7c8SPhil Edworthy  * Copyright (C) 2012  Phil Edworthy
70b25b7c8SPhil Edworthy  */
80b25b7c8SPhil Edworthy #include <linux/platform_device.h>
90b25b7c8SPhil Edworthy #include <linux/init.h>
100b25b7c8SPhil Edworthy #include <linux/serial.h>
110b25b7c8SPhil Edworthy #include <linux/serial_sci.h>
120b25b7c8SPhil Edworthy #include <linux/usb/r8a66597.h>
130b25b7c8SPhil Edworthy #include <linux/sh_timer.h>
140b25b7c8SPhil Edworthy #include <linux/io.h>
150b25b7c8SPhil Edworthy 
160b25b7c8SPhil Edworthy enum {
170b25b7c8SPhil Edworthy 	UNUSED = 0,
180b25b7c8SPhil Edworthy 
190b25b7c8SPhil Edworthy 	/* interrupt sources */
200b25b7c8SPhil Edworthy 	IRQ0, IRQ1, IRQ2, IRQ3, IRQ4, IRQ5, IRQ6, IRQ7,
210b25b7c8SPhil Edworthy 	PINT0, PINT1, PINT2, PINT3, PINT4, PINT5, PINT6, PINT7,
220b25b7c8SPhil Edworthy 
230b25b7c8SPhil Edworthy 	DMAC0, DMAC1, DMAC2, DMAC3, DMAC4, DMAC5, DMAC6, DMAC7,
240b25b7c8SPhil Edworthy 	DMAC8, DMAC9, DMAC10, DMAC11, DMAC12, DMAC13, DMAC14, DMAC15,
250b25b7c8SPhil Edworthy 	USB, VDC4, CMT0, CMT1, BSC, WDT,
260b25b7c8SPhil Edworthy 	MTU0_ABCD, MTU0_VEF, MTU1_AB, MTU1_VU, MTU2_AB, MTU2_VU,
270b25b7c8SPhil Edworthy 	MTU3_ABCD, MTU3_TCI3V, MTU4_ABCD, MTU4_TCI4V,
280b25b7c8SPhil Edworthy 	PWMT1, PWMT2, ADC_ADI,
290b25b7c8SPhil Edworthy 	SSIF0, SSII1, SSII2, SSII3, SSII4, SSII5,
300b25b7c8SPhil Edworthy 	RSPDIF,
310b25b7c8SPhil Edworthy 	IIC30, IIC31, IIC32, IIC33,
320b25b7c8SPhil Edworthy 	SCIF0_BRI, SCIF0_ERI, SCIF0_RXI, SCIF0_TXI,
330b25b7c8SPhil Edworthy 	SCIF1_BRI, SCIF1_ERI, SCIF1_RXI, SCIF1_TXI,
340b25b7c8SPhil Edworthy 	SCIF2_BRI, SCIF2_ERI, SCIF2_RXI, SCIF2_TXI,
350b25b7c8SPhil Edworthy 	SCIF3_BRI, SCIF3_ERI, SCIF3_RXI, SCIF3_TXI,
360b25b7c8SPhil Edworthy 	SCIF4_BRI, SCIF4_ERI, SCIF4_RXI, SCIF4_TXI,
370b25b7c8SPhil Edworthy 	SCIF5_BRI, SCIF5_ERI, SCIF5_RXI, SCIF5_TXI,
380b25b7c8SPhil Edworthy 	SCIF6_BRI, SCIF6_ERI, SCIF6_RXI, SCIF6_TXI,
390b25b7c8SPhil Edworthy 	SCIF7_BRI, SCIF7_ERI, SCIF7_RXI, SCIF7_TXI,
400b25b7c8SPhil Edworthy 	RCAN0, RCAN1, RCAN2,
410b25b7c8SPhil Edworthy 	RSPIC0, RSPIC1,
420b25b7c8SPhil Edworthy 	IEBC, CD_ROMD,
430b25b7c8SPhil Edworthy 	NFMC,
440b25b7c8SPhil Edworthy 	SDHI0, SDHI1,
450b25b7c8SPhil Edworthy 	RTC,
460b25b7c8SPhil Edworthy 	SRCC0, SRCC1, SRCC2,
470b25b7c8SPhil Edworthy 
480b25b7c8SPhil Edworthy 	/* interrupt groups */
490b25b7c8SPhil Edworthy 	PINT, SCIF0, SCIF1, SCIF2, SCIF3, SCIF4, SCIF5, SCIF6, SCIF7,
500b25b7c8SPhil Edworthy };
510b25b7c8SPhil Edworthy 
520b25b7c8SPhil Edworthy static struct intc_vect vectors[] __initdata = {
530b25b7c8SPhil Edworthy 	INTC_IRQ(IRQ0, 64), INTC_IRQ(IRQ1, 65),
540b25b7c8SPhil Edworthy 	INTC_IRQ(IRQ2, 66), INTC_IRQ(IRQ3, 67),
550b25b7c8SPhil Edworthy 	INTC_IRQ(IRQ4, 68), INTC_IRQ(IRQ5, 69),
560b25b7c8SPhil Edworthy 	INTC_IRQ(IRQ6, 70), INTC_IRQ(IRQ7, 71),
570b25b7c8SPhil Edworthy 
580b25b7c8SPhil Edworthy 	INTC_IRQ(PINT0, 80), INTC_IRQ(PINT1, 81),
590b25b7c8SPhil Edworthy 	INTC_IRQ(PINT2, 82), INTC_IRQ(PINT3, 83),
600b25b7c8SPhil Edworthy 	INTC_IRQ(PINT4, 84), INTC_IRQ(PINT5, 85),
610b25b7c8SPhil Edworthy 	INTC_IRQ(PINT6, 86), INTC_IRQ(PINT7, 87),
620b25b7c8SPhil Edworthy 
630b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC0, 108), INTC_IRQ(DMAC0, 109),
640b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC1, 112), INTC_IRQ(DMAC1, 113),
650b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC2, 116), INTC_IRQ(DMAC2, 117),
660b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC3, 120), INTC_IRQ(DMAC3, 121),
670b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC4, 124), INTC_IRQ(DMAC4, 125),
680b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC5, 128), INTC_IRQ(DMAC5, 129),
690b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC6, 132), INTC_IRQ(DMAC6, 133),
700b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC7, 136), INTC_IRQ(DMAC7, 137),
710b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC8, 140), INTC_IRQ(DMAC8, 141),
720b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC9, 144), INTC_IRQ(DMAC9, 145),
730b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC10, 148), INTC_IRQ(DMAC10, 149),
740b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC11, 152), INTC_IRQ(DMAC11, 153),
750b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC12, 156), INTC_IRQ(DMAC12, 157),
760b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC13, 160), INTC_IRQ(DMAC13, 161),
770b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC14, 164), INTC_IRQ(DMAC14, 165),
780b25b7c8SPhil Edworthy 	INTC_IRQ(DMAC15, 168), INTC_IRQ(DMAC15, 169),
790b25b7c8SPhil Edworthy 
800b25b7c8SPhil Edworthy 	INTC_IRQ(USB, 170),
810b25b7c8SPhil Edworthy 
820b25b7c8SPhil Edworthy 	INTC_IRQ(VDC4, 171), INTC_IRQ(VDC4, 172),
830b25b7c8SPhil Edworthy 	INTC_IRQ(VDC4, 173), INTC_IRQ(VDC4, 174),
840b25b7c8SPhil Edworthy 	INTC_IRQ(VDC4, 175), INTC_IRQ(VDC4, 176),
850b25b7c8SPhil Edworthy 	INTC_IRQ(VDC4, 177), INTC_IRQ(VDC4, 177),
860b25b7c8SPhil Edworthy 
870b25b7c8SPhil Edworthy 	INTC_IRQ(CMT0, 188), INTC_IRQ(CMT1, 189),
880b25b7c8SPhil Edworthy 
890b25b7c8SPhil Edworthy 	INTC_IRQ(BSC, 190), INTC_IRQ(WDT, 191),
900b25b7c8SPhil Edworthy 
910b25b7c8SPhil Edworthy 	INTC_IRQ(MTU0_ABCD, 192), INTC_IRQ(MTU0_ABCD, 193),
920b25b7c8SPhil Edworthy 	INTC_IRQ(MTU0_ABCD, 194), INTC_IRQ(MTU0_ABCD, 195),
930b25b7c8SPhil Edworthy 	INTC_IRQ(MTU0_VEF, 196), INTC_IRQ(MTU0_VEF, 197),
940b25b7c8SPhil Edworthy 	INTC_IRQ(MTU0_VEF, 198),
950b25b7c8SPhil Edworthy 	INTC_IRQ(MTU1_AB, 199), INTC_IRQ(MTU1_AB, 200),
960b25b7c8SPhil Edworthy 	INTC_IRQ(MTU1_VU, 201), INTC_IRQ(MTU1_VU, 202),
970b25b7c8SPhil Edworthy 	INTC_IRQ(MTU2_AB, 203), INTC_IRQ(MTU2_AB, 204),
980b25b7c8SPhil Edworthy 	INTC_IRQ(MTU2_VU, 205), INTC_IRQ(MTU2_VU, 206),
990b25b7c8SPhil Edworthy 	INTC_IRQ(MTU3_ABCD, 207), INTC_IRQ(MTU3_ABCD, 208),
1000b25b7c8SPhil Edworthy 	INTC_IRQ(MTU3_ABCD, 209), INTC_IRQ(MTU3_ABCD, 210),
1010b25b7c8SPhil Edworthy 	INTC_IRQ(MTU3_TCI3V, 211),
1020b25b7c8SPhil Edworthy 	INTC_IRQ(MTU4_ABCD, 212), INTC_IRQ(MTU4_ABCD, 213),
1030b25b7c8SPhil Edworthy 	INTC_IRQ(MTU4_ABCD, 214), INTC_IRQ(MTU4_ABCD, 215),
1040b25b7c8SPhil Edworthy 	INTC_IRQ(MTU4_TCI4V, 216),
1050b25b7c8SPhil Edworthy 
1060b25b7c8SPhil Edworthy 	INTC_IRQ(PWMT1, 217), INTC_IRQ(PWMT2, 218),
1070b25b7c8SPhil Edworthy 
1080b25b7c8SPhil Edworthy 	INTC_IRQ(ADC_ADI, 223),
1090b25b7c8SPhil Edworthy 
1100b25b7c8SPhil Edworthy 	INTC_IRQ(SSIF0, 224), INTC_IRQ(SSIF0, 225),
1110b25b7c8SPhil Edworthy 	INTC_IRQ(SSIF0, 226),
1120b25b7c8SPhil Edworthy 	INTC_IRQ(SSII1, 227), INTC_IRQ(SSII1, 228),
1130b25b7c8SPhil Edworthy 	INTC_IRQ(SSII2, 229), INTC_IRQ(SSII2, 230),
1140b25b7c8SPhil Edworthy 	INTC_IRQ(SSII3, 231), INTC_IRQ(SSII3, 232),
1150b25b7c8SPhil Edworthy 	INTC_IRQ(SSII4, 233), INTC_IRQ(SSII4, 234),
1160b25b7c8SPhil Edworthy 	INTC_IRQ(SSII5, 235), INTC_IRQ(SSII5, 236),
1170b25b7c8SPhil Edworthy 
1180b25b7c8SPhil Edworthy 	INTC_IRQ(RSPDIF, 237),
1190b25b7c8SPhil Edworthy 
1200b25b7c8SPhil Edworthy 	INTC_IRQ(IIC30, 238), INTC_IRQ(IIC30, 239),
1210b25b7c8SPhil Edworthy 	INTC_IRQ(IIC30, 240), INTC_IRQ(IIC30, 241),
1220b25b7c8SPhil Edworthy 	INTC_IRQ(IIC30, 242),
1230b25b7c8SPhil Edworthy 	INTC_IRQ(IIC31, 243), INTC_IRQ(IIC31, 244),
1240b25b7c8SPhil Edworthy 	INTC_IRQ(IIC31, 245), INTC_IRQ(IIC31, 246),
1250b25b7c8SPhil Edworthy 	INTC_IRQ(IIC31, 247),
1260b25b7c8SPhil Edworthy 	INTC_IRQ(IIC32, 248), INTC_IRQ(IIC32, 249),
1270b25b7c8SPhil Edworthy 	INTC_IRQ(IIC32, 250), INTC_IRQ(IIC32, 251),
1280b25b7c8SPhil Edworthy 	INTC_IRQ(IIC32, 252),
1290b25b7c8SPhil Edworthy 	INTC_IRQ(IIC33, 253), INTC_IRQ(IIC33, 254),
1300b25b7c8SPhil Edworthy 	INTC_IRQ(IIC33, 255), INTC_IRQ(IIC33, 256),
1310b25b7c8SPhil Edworthy 	INTC_IRQ(IIC33, 257),
1320b25b7c8SPhil Edworthy 
1330b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF0_BRI, 258), INTC_IRQ(SCIF0_ERI, 259),
1340b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF0_RXI, 260), INTC_IRQ(SCIF0_TXI, 261),
1350b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF1_BRI, 262), INTC_IRQ(SCIF1_ERI, 263),
1360b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF1_RXI, 264), INTC_IRQ(SCIF1_TXI, 265),
1370b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF2_BRI, 266), INTC_IRQ(SCIF2_ERI, 267),
1380b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF2_RXI, 268), INTC_IRQ(SCIF2_TXI, 269),
1390b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF3_BRI, 270), INTC_IRQ(SCIF3_ERI, 271),
1400b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF3_RXI, 272), INTC_IRQ(SCIF3_TXI, 273),
1410b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF4_BRI, 274), INTC_IRQ(SCIF4_ERI, 275),
1420b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF4_RXI, 276), INTC_IRQ(SCIF4_TXI, 277),
1430b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF5_BRI, 278), INTC_IRQ(SCIF5_ERI, 279),
1440b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF5_RXI, 280), INTC_IRQ(SCIF5_TXI, 281),
1450b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF6_BRI, 282), INTC_IRQ(SCIF6_ERI, 283),
1460b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF6_RXI, 284), INTC_IRQ(SCIF6_TXI, 285),
1470b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF7_BRI, 286), INTC_IRQ(SCIF7_ERI, 287),
1480b25b7c8SPhil Edworthy 	INTC_IRQ(SCIF7_RXI, 288), INTC_IRQ(SCIF7_TXI, 289),
1490b25b7c8SPhil Edworthy 
1500b25b7c8SPhil Edworthy 	INTC_IRQ(RCAN0, 291), INTC_IRQ(RCAN0, 292),
1510b25b7c8SPhil Edworthy 	INTC_IRQ(RCAN0, 293), INTC_IRQ(RCAN0, 294),
1520b25b7c8SPhil Edworthy 	INTC_IRQ(RCAN0, 295),
1530b25b7c8SPhil Edworthy 	INTC_IRQ(RCAN1, 296), INTC_IRQ(RCAN1, 297),
1540b25b7c8SPhil Edworthy 	INTC_IRQ(RCAN1, 298), INTC_IRQ(RCAN1, 299),
1550b25b7c8SPhil Edworthy 	INTC_IRQ(RCAN1, 300),
1560b25b7c8SPhil Edworthy 	INTC_IRQ(RCAN2, 301), INTC_IRQ(RCAN2, 302),
1570b25b7c8SPhil Edworthy 	INTC_IRQ(RCAN2, 303), INTC_IRQ(RCAN2, 304),
1580b25b7c8SPhil Edworthy 	INTC_IRQ(RCAN2, 305),
1590b25b7c8SPhil Edworthy 
1600b25b7c8SPhil Edworthy 	INTC_IRQ(RSPIC0, 306), INTC_IRQ(RSPIC0, 307),
1610b25b7c8SPhil Edworthy 	INTC_IRQ(RSPIC0, 308),
1620b25b7c8SPhil Edworthy 	INTC_IRQ(RSPIC1, 309), INTC_IRQ(RSPIC1, 310),
1630b25b7c8SPhil Edworthy 	INTC_IRQ(RSPIC1, 311),
1640b25b7c8SPhil Edworthy 
1650b25b7c8SPhil Edworthy 	INTC_IRQ(IEBC, 318),
1660b25b7c8SPhil Edworthy 
1670b25b7c8SPhil Edworthy 	INTC_IRQ(CD_ROMD, 319), INTC_IRQ(CD_ROMD, 320),
1680b25b7c8SPhil Edworthy 	INTC_IRQ(CD_ROMD, 321), INTC_IRQ(CD_ROMD, 322),
1690b25b7c8SPhil Edworthy 	INTC_IRQ(CD_ROMD, 323), INTC_IRQ(CD_ROMD, 324),
1700b25b7c8SPhil Edworthy 
1710b25b7c8SPhil Edworthy 	INTC_IRQ(NFMC, 325), INTC_IRQ(NFMC, 326),
1720b25b7c8SPhil Edworthy 	INTC_IRQ(NFMC, 327), INTC_IRQ(NFMC, 328),
1730b25b7c8SPhil Edworthy 
1740b25b7c8SPhil Edworthy 	INTC_IRQ(SDHI0, 332), INTC_IRQ(SDHI0, 333),
1750b25b7c8SPhil Edworthy 	INTC_IRQ(SDHI0, 334),
1760b25b7c8SPhil Edworthy 	INTC_IRQ(SDHI1, 335), INTC_IRQ(SDHI1, 336),
1770b25b7c8SPhil Edworthy 	INTC_IRQ(SDHI1, 337),
1780b25b7c8SPhil Edworthy 
1790b25b7c8SPhil Edworthy 	INTC_IRQ(RTC, 338), INTC_IRQ(RTC, 339),
1800b25b7c8SPhil Edworthy 	INTC_IRQ(RTC, 340),
1810b25b7c8SPhil Edworthy 
1820b25b7c8SPhil Edworthy 	INTC_IRQ(SRCC0, 341), INTC_IRQ(SRCC0, 342),
1830b25b7c8SPhil Edworthy 	INTC_IRQ(SRCC0, 343), INTC_IRQ(SRCC0, 344),
1840b25b7c8SPhil Edworthy 	INTC_IRQ(SRCC0, 345),
1850b25b7c8SPhil Edworthy 	INTC_IRQ(SRCC1, 346), INTC_IRQ(SRCC1, 347),
1860b25b7c8SPhil Edworthy 	INTC_IRQ(SRCC1, 348), INTC_IRQ(SRCC1, 349),
1870b25b7c8SPhil Edworthy 	INTC_IRQ(SRCC1, 350),
1880b25b7c8SPhil Edworthy 	INTC_IRQ(SRCC2, 351), INTC_IRQ(SRCC2, 352),
1890b25b7c8SPhil Edworthy 	INTC_IRQ(SRCC2, 353), INTC_IRQ(SRCC2, 354),
1900b25b7c8SPhil Edworthy 	INTC_IRQ(SRCC2, 355),
1910b25b7c8SPhil Edworthy };
1920b25b7c8SPhil Edworthy 
1930b25b7c8SPhil Edworthy static struct intc_group groups[] __initdata = {
1940b25b7c8SPhil Edworthy 	INTC_GROUP(PINT, PINT0, PINT1, PINT2, PINT3,
1950b25b7c8SPhil Edworthy 		   PINT4, PINT5, PINT6, PINT7),
1960b25b7c8SPhil Edworthy 	INTC_GROUP(SCIF0, SCIF0_BRI, SCIF0_ERI, SCIF0_RXI, SCIF0_TXI),
1970b25b7c8SPhil Edworthy 	INTC_GROUP(SCIF1, SCIF1_BRI, SCIF1_ERI, SCIF1_RXI, SCIF1_TXI),
1980b25b7c8SPhil Edworthy 	INTC_GROUP(SCIF2, SCIF2_BRI, SCIF2_ERI, SCIF2_RXI, SCIF2_TXI),
1990b25b7c8SPhil Edworthy 	INTC_GROUP(SCIF3, SCIF3_BRI, SCIF3_ERI, SCIF3_RXI, SCIF3_TXI),
2000b25b7c8SPhil Edworthy 	INTC_GROUP(SCIF4, SCIF4_BRI, SCIF4_ERI, SCIF4_RXI, SCIF4_TXI),
2010b25b7c8SPhil Edworthy 	INTC_GROUP(SCIF5, SCIF5_BRI, SCIF5_ERI, SCIF5_RXI, SCIF5_TXI),
2020b25b7c8SPhil Edworthy 	INTC_GROUP(SCIF6, SCIF6_BRI, SCIF6_ERI, SCIF6_RXI, SCIF6_TXI),
2030b25b7c8SPhil Edworthy 	INTC_GROUP(SCIF7, SCIF7_BRI, SCIF7_ERI, SCIF7_RXI, SCIF7_TXI),
2040b25b7c8SPhil Edworthy };
2050b25b7c8SPhil Edworthy 
2060b25b7c8SPhil Edworthy static struct intc_prio_reg prio_registers[] __initdata = {
2070b25b7c8SPhil Edworthy 	{ 0xfffe0818, 0, 16, 4, /* IPR01 */ { IRQ0, IRQ1, IRQ2, IRQ3 } },
2080b25b7c8SPhil Edworthy 	{ 0xfffe081a, 0, 16, 4, /* IPR02 */ { IRQ4, IRQ5, IRQ6, IRQ7 } },
2090b25b7c8SPhil Edworthy 	{ 0xfffe0820, 0, 16, 4, /* IPR05 */ { PINT, 0, 0, 0 } },
2100b25b7c8SPhil Edworthy 	{ 0xfffe0c00, 0, 16, 4, /* IPR06 */ { DMAC0,  DMAC1, DMAC2,  DMAC3 } },
2110b25b7c8SPhil Edworthy 	{ 0xfffe0c02, 0, 16, 4, /* IPR07 */ { DMAC4,  DMAC5, DMAC6,  DMAC7 } },
2120b25b7c8SPhil Edworthy 	{ 0xfffe0c04, 0, 16, 4, /* IPR08 */ { DMAC8,  DMAC9,
2130b25b7c8SPhil Edworthy 					      DMAC10, DMAC11 } },
2140b25b7c8SPhil Edworthy 	{ 0xfffe0c06, 0, 16, 4, /* IPR09 */ { DMAC12, DMAC13,
2150b25b7c8SPhil Edworthy 					      DMAC14, DMAC15 } },
2160b25b7c8SPhil Edworthy 	{ 0xfffe0c08, 0, 16, 4, /* IPR10 */ { USB, VDC4, VDC4, VDC4 } },
2170b25b7c8SPhil Edworthy 	{ 0xfffe0c0a, 0, 16, 4, /* IPR11 */ { 0, 0, 0, 0 } },
2180b25b7c8SPhil Edworthy 	{ 0xfffe0c0c, 0, 16, 4, /* IPR12 */ { CMT0, CMT1, BSC, WDT } },
2190b25b7c8SPhil Edworthy 	{ 0xfffe0c0e, 0, 16, 4, /* IPR13 */ { MTU0_ABCD, MTU0_VEF,
2200b25b7c8SPhil Edworthy 					      MTU1_AB, MTU1_VU } },
2210b25b7c8SPhil Edworthy 	{ 0xfffe0c10, 0, 16, 4, /* IPR14 */ { MTU2_AB, MTU2_VU,
2220b25b7c8SPhil Edworthy 					      MTU3_ABCD, MTU3_TCI3V } },
2230b25b7c8SPhil Edworthy 	{ 0xfffe0c12, 0, 16, 4, /* IPR15 */ { MTU4_ABCD, MTU4_TCI4V,
2240b25b7c8SPhil Edworthy 					      PWMT1, PWMT2 } },
2250b25b7c8SPhil Edworthy 	{ 0xfffe0c14, 0, 16, 4, /* IPR16 */ { 0, 0, 0, 0 } },
2260b25b7c8SPhil Edworthy 	{ 0xfffe0c16, 0, 16, 4, /* IPR17 */ { ADC_ADI, SSIF0, SSII1, SSII2 } },
2270b25b7c8SPhil Edworthy 	{ 0xfffe0c18, 0, 16, 4, /* IPR18 */ { SSII3, SSII4, SSII5,  RSPDIF} },
2280b25b7c8SPhil Edworthy 	{ 0xfffe0c1a, 0, 16, 4, /* IPR19 */ { IIC30, IIC31, IIC32, IIC33 } },
2290b25b7c8SPhil Edworthy 	{ 0xfffe0c1c, 0, 16, 4, /* IPR20 */ { SCIF0, SCIF1, SCIF2, SCIF3 } },
2300b25b7c8SPhil Edworthy 	{ 0xfffe0c1e, 0, 16, 4, /* IPR21 */ { SCIF4, SCIF5, SCIF6, SCIF7 } },
2310b25b7c8SPhil Edworthy 	{ 0xfffe0c20, 0, 16, 4, /* IPR22 */ { 0, RCAN0, RCAN1, RCAN2 } },
2320b25b7c8SPhil Edworthy 	{ 0xfffe0c22, 0, 16, 4, /* IPR23 */ { RSPIC0, RSPIC1, 0, 0 } },
2330b25b7c8SPhil Edworthy 	{ 0xfffe0c24, 0, 16, 4, /* IPR24 */ { IEBC, CD_ROMD, NFMC, 0 } },
2340b25b7c8SPhil Edworthy 	{ 0xfffe0c26, 0, 16, 4, /* IPR25 */ { SDHI0, SDHI1, RTC, 0 } },
2350b25b7c8SPhil Edworthy 	{ 0xfffe0c28, 0, 16, 4, /* IPR26 */ { SRCC0, SRCC1, SRCC2, 0 } },
2360b25b7c8SPhil Edworthy };
2370b25b7c8SPhil Edworthy 
2380b25b7c8SPhil Edworthy static struct intc_mask_reg mask_registers[] __initdata = {
2390b25b7c8SPhil Edworthy 	{ 0xfffe0808, 0, 16, /* PINTER */
2400b25b7c8SPhil Edworthy 	  { 0, 0, 0, 0, 0, 0, 0, 0,
2410b25b7c8SPhil Edworthy 	    PINT7, PINT6, PINT5, PINT4, PINT3, PINT2, PINT1, PINT0 } },
2420b25b7c8SPhil Edworthy };
2430b25b7c8SPhil Edworthy 
2440b25b7c8SPhil Edworthy static DECLARE_INTC_DESC(intc_desc, "sh7269", vectors, groups,
2450b25b7c8SPhil Edworthy 			 mask_registers, prio_registers, NULL);
2460b25b7c8SPhil Edworthy 
2470b25b7c8SPhil Edworthy static struct plat_sci_port scif0_platform_data = {
2481b10b885SLaurent Pinchart 	.scscr		= SCSCR_REIE,
2490b25b7c8SPhil Edworthy 	.type		= PORT_SCIF,
2500b25b7c8SPhil Edworthy 	.regtype	= SCIx_SH2_SCIF_FIFODATA_REGTYPE,
2510b25b7c8SPhil Edworthy };
2520b25b7c8SPhil Edworthy 
253d850acf9SLaurent Pinchart static struct resource scif0_resources[] = {
254d850acf9SLaurent Pinchart 	DEFINE_RES_MEM(0xe8007000, 0x100),
255d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(259),
256d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(260),
257d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(261),
258d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(258),
259d850acf9SLaurent Pinchart };
260d850acf9SLaurent Pinchart 
2610b25b7c8SPhil Edworthy static struct platform_device scif0_device = {
2620b25b7c8SPhil Edworthy 	.name		= "sh-sci",
2630b25b7c8SPhil Edworthy 	.id		= 0,
264d850acf9SLaurent Pinchart 	.resource	= scif0_resources,
265d850acf9SLaurent Pinchart 	.num_resources	= ARRAY_SIZE(scif0_resources),
2660b25b7c8SPhil Edworthy 	.dev		= {
2670b25b7c8SPhil Edworthy 		.platform_data	= &scif0_platform_data,
2680b25b7c8SPhil Edworthy 	},
2690b25b7c8SPhil Edworthy };
2700b25b7c8SPhil Edworthy 
2710b25b7c8SPhil Edworthy static struct plat_sci_port scif1_platform_data = {
2721b10b885SLaurent Pinchart 	.scscr		= SCSCR_REIE,
2730b25b7c8SPhil Edworthy 	.type		= PORT_SCIF,
2740b25b7c8SPhil Edworthy 	.regtype	= SCIx_SH2_SCIF_FIFODATA_REGTYPE,
2750b25b7c8SPhil Edworthy };
2760b25b7c8SPhil Edworthy 
277d850acf9SLaurent Pinchart static struct resource scif1_resources[] = {
278d850acf9SLaurent Pinchart 	DEFINE_RES_MEM(0xe8007800, 0x100),
279d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(263),
280d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(264),
281d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(265),
282d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(262),
283d850acf9SLaurent Pinchart };
284d850acf9SLaurent Pinchart 
2850b25b7c8SPhil Edworthy static struct platform_device scif1_device = {
2860b25b7c8SPhil Edworthy 	.name		= "sh-sci",
2870b25b7c8SPhil Edworthy 	.id		= 1,
288d850acf9SLaurent Pinchart 	.resource	= scif1_resources,
289d850acf9SLaurent Pinchart 	.num_resources	= ARRAY_SIZE(scif1_resources),
2900b25b7c8SPhil Edworthy 	.dev		= {
2910b25b7c8SPhil Edworthy 		.platform_data	= &scif1_platform_data,
2920b25b7c8SPhil Edworthy 	},
2930b25b7c8SPhil Edworthy };
2940b25b7c8SPhil Edworthy 
2950b25b7c8SPhil Edworthy static struct plat_sci_port scif2_platform_data = {
2961b10b885SLaurent Pinchart 	.scscr		= SCSCR_REIE,
2970b25b7c8SPhil Edworthy 	.type		= PORT_SCIF,
2980b25b7c8SPhil Edworthy 	.regtype	= SCIx_SH2_SCIF_FIFODATA_REGTYPE,
2990b25b7c8SPhil Edworthy };
3000b25b7c8SPhil Edworthy 
301d850acf9SLaurent Pinchart static struct resource scif2_resources[] = {
302d850acf9SLaurent Pinchart 	DEFINE_RES_MEM(0xe8008000, 0x100),
303d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(267),
304d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(268),
305d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(269),
306d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(266),
307d850acf9SLaurent Pinchart };
308d850acf9SLaurent Pinchart 
3090b25b7c8SPhil Edworthy static struct platform_device scif2_device = {
3100b25b7c8SPhil Edworthy 	.name		= "sh-sci",
3110b25b7c8SPhil Edworthy 	.id		= 2,
312d850acf9SLaurent Pinchart 	.resource	= scif2_resources,
313d850acf9SLaurent Pinchart 	.num_resources	= ARRAY_SIZE(scif2_resources),
3140b25b7c8SPhil Edworthy 	.dev		= {
3150b25b7c8SPhil Edworthy 		.platform_data	= &scif2_platform_data,
3160b25b7c8SPhil Edworthy 	},
3170b25b7c8SPhil Edworthy };
3180b25b7c8SPhil Edworthy 
3190b25b7c8SPhil Edworthy static struct plat_sci_port scif3_platform_data = {
3201b10b885SLaurent Pinchart 	.scscr		= SCSCR_REIE,
3210b25b7c8SPhil Edworthy 	.type		= PORT_SCIF,
3220b25b7c8SPhil Edworthy 	.regtype	= SCIx_SH2_SCIF_FIFODATA_REGTYPE,
3230b25b7c8SPhil Edworthy };
3240b25b7c8SPhil Edworthy 
325d850acf9SLaurent Pinchart static struct resource scif3_resources[] = {
326d850acf9SLaurent Pinchart 	DEFINE_RES_MEM(0xe8008800, 0x100),
327d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(271),
328d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(272),
329d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(273),
330d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(270),
331d850acf9SLaurent Pinchart };
332d850acf9SLaurent Pinchart 
3330b25b7c8SPhil Edworthy static struct platform_device scif3_device = {
3340b25b7c8SPhil Edworthy 	.name		= "sh-sci",
3350b25b7c8SPhil Edworthy 	.id		= 3,
336d850acf9SLaurent Pinchart 	.resource	= scif3_resources,
337d850acf9SLaurent Pinchart 	.num_resources	= ARRAY_SIZE(scif3_resources),
3380b25b7c8SPhil Edworthy 	.dev		= {
3390b25b7c8SPhil Edworthy 		.platform_data	= &scif3_platform_data,
3400b25b7c8SPhil Edworthy 	},
3410b25b7c8SPhil Edworthy };
3420b25b7c8SPhil Edworthy 
3430b25b7c8SPhil Edworthy static struct plat_sci_port scif4_platform_data = {
3441b10b885SLaurent Pinchart 	.scscr		= SCSCR_REIE,
3450b25b7c8SPhil Edworthy 	.type		= PORT_SCIF,
3460b25b7c8SPhil Edworthy 	.regtype	= SCIx_SH2_SCIF_FIFODATA_REGTYPE,
3470b25b7c8SPhil Edworthy };
3480b25b7c8SPhil Edworthy 
349d850acf9SLaurent Pinchart static struct resource scif4_resources[] = {
350d850acf9SLaurent Pinchart 	DEFINE_RES_MEM(0xe8009000, 0x100),
351d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(275),
352d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(276),
353d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(277),
354d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(274),
355d850acf9SLaurent Pinchart };
356d850acf9SLaurent Pinchart 
3570b25b7c8SPhil Edworthy static struct platform_device scif4_device = {
3580b25b7c8SPhil Edworthy 	.name		= "sh-sci",
3590b25b7c8SPhil Edworthy 	.id		= 4,
360d850acf9SLaurent Pinchart 	.resource	= scif4_resources,
361d850acf9SLaurent Pinchart 	.num_resources	= ARRAY_SIZE(scif4_resources),
3620b25b7c8SPhil Edworthy 	.dev		= {
3630b25b7c8SPhil Edworthy 		.platform_data	= &scif4_platform_data,
3640b25b7c8SPhil Edworthy 	},
3650b25b7c8SPhil Edworthy };
3660b25b7c8SPhil Edworthy 
3670b25b7c8SPhil Edworthy static struct plat_sci_port scif5_platform_data = {
3681b10b885SLaurent Pinchart 	.scscr		= SCSCR_REIE,
3690b25b7c8SPhil Edworthy 	.type		= PORT_SCIF,
3700b25b7c8SPhil Edworthy 	.regtype	= SCIx_SH2_SCIF_FIFODATA_REGTYPE,
3710b25b7c8SPhil Edworthy };
3720b25b7c8SPhil Edworthy 
373d850acf9SLaurent Pinchart static struct resource scif5_resources[] = {
374d850acf9SLaurent Pinchart 	DEFINE_RES_MEM(0xe8009800, 0x100),
375d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(279),
376d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(280),
377d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(281),
378d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(278),
379d850acf9SLaurent Pinchart };
380d850acf9SLaurent Pinchart 
3810b25b7c8SPhil Edworthy static struct platform_device scif5_device = {
3820b25b7c8SPhil Edworthy 	.name		= "sh-sci",
3830b25b7c8SPhil Edworthy 	.id		= 5,
384d850acf9SLaurent Pinchart 	.resource	= scif5_resources,
385d850acf9SLaurent Pinchart 	.num_resources	= ARRAY_SIZE(scif5_resources),
3860b25b7c8SPhil Edworthy 	.dev		= {
3870b25b7c8SPhil Edworthy 		.platform_data	= &scif5_platform_data,
3880b25b7c8SPhil Edworthy 	},
3890b25b7c8SPhil Edworthy };
3900b25b7c8SPhil Edworthy 
3910b25b7c8SPhil Edworthy static struct plat_sci_port scif6_platform_data = {
3921b10b885SLaurent Pinchart 	.scscr		= SCSCR_REIE,
3930b25b7c8SPhil Edworthy 	.type		= PORT_SCIF,
3940b25b7c8SPhil Edworthy 	.regtype	= SCIx_SH2_SCIF_FIFODATA_REGTYPE,
3950b25b7c8SPhil Edworthy };
3960b25b7c8SPhil Edworthy 
397d850acf9SLaurent Pinchart static struct resource scif6_resources[] = {
398d850acf9SLaurent Pinchart 	DEFINE_RES_MEM(0xe800a000, 0x100),
399d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(283),
400d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(284),
401d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(285),
402d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(282),
403d850acf9SLaurent Pinchart };
404d850acf9SLaurent Pinchart 
4050b25b7c8SPhil Edworthy static struct platform_device scif6_device = {
4060b25b7c8SPhil Edworthy 	.name		= "sh-sci",
4070b25b7c8SPhil Edworthy 	.id		= 6,
408d850acf9SLaurent Pinchart 	.resource	= scif6_resources,
409d850acf9SLaurent Pinchart 	.num_resources	= ARRAY_SIZE(scif6_resources),
4100b25b7c8SPhil Edworthy 	.dev		= {
4110b25b7c8SPhil Edworthy 		.platform_data	= &scif6_platform_data,
4120b25b7c8SPhil Edworthy 	},
4130b25b7c8SPhil Edworthy };
4140b25b7c8SPhil Edworthy 
4150b25b7c8SPhil Edworthy static struct plat_sci_port scif7_platform_data = {
4161b10b885SLaurent Pinchart 	.scscr		= SCSCR_REIE,
4170b25b7c8SPhil Edworthy 	.type		= PORT_SCIF,
4180b25b7c8SPhil Edworthy 	.regtype	= SCIx_SH2_SCIF_FIFODATA_REGTYPE,
4190b25b7c8SPhil Edworthy };
4200b25b7c8SPhil Edworthy 
421d850acf9SLaurent Pinchart static struct resource scif7_resources[] = {
422d850acf9SLaurent Pinchart 	DEFINE_RES_MEM(0xe800a800, 0x100),
423d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(287),
424d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(288),
425d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(289),
426d850acf9SLaurent Pinchart 	DEFINE_RES_IRQ(286),
427d850acf9SLaurent Pinchart };
428d850acf9SLaurent Pinchart 
4290b25b7c8SPhil Edworthy static struct platform_device scif7_device = {
4300b25b7c8SPhil Edworthy 	.name		= "sh-sci",
4310b25b7c8SPhil Edworthy 	.id		= 7,
432d850acf9SLaurent Pinchart 	.resource	= scif7_resources,
433d850acf9SLaurent Pinchart 	.num_resources	= ARRAY_SIZE(scif7_resources),
4340b25b7c8SPhil Edworthy 	.dev		= {
4350b25b7c8SPhil Edworthy 		.platform_data	= &scif7_platform_data,
4360b25b7c8SPhil Edworthy 	},
4370b25b7c8SPhil Edworthy };
4380b25b7c8SPhil Edworthy 
4399b17e48cSLaurent Pinchart static struct sh_timer_config cmt_platform_data = {
4409b17e48cSLaurent Pinchart 	.channels_mask = 3,
4410b25b7c8SPhil Edworthy };
4420b25b7c8SPhil Edworthy 
4439b17e48cSLaurent Pinchart static struct resource cmt_resources[] = {
4449b17e48cSLaurent Pinchart 	DEFINE_RES_MEM(0xfffec000, 0x10),
4459b17e48cSLaurent Pinchart 	DEFINE_RES_IRQ(188),
4469b17e48cSLaurent Pinchart 	DEFINE_RES_IRQ(189),
4470b25b7c8SPhil Edworthy };
4480b25b7c8SPhil Edworthy 
4499b17e48cSLaurent Pinchart static struct platform_device cmt_device = {
4509b17e48cSLaurent Pinchart 	.name		= "sh-cmt-16",
4510b25b7c8SPhil Edworthy 	.id		= 0,
4520b25b7c8SPhil Edworthy 	.dev = {
4539b17e48cSLaurent Pinchart 		.platform_data	= &cmt_platform_data,
4540b25b7c8SPhil Edworthy 	},
4559b17e48cSLaurent Pinchart 	.resource	= cmt_resources,
4569b17e48cSLaurent Pinchart 	.num_resources	= ARRAY_SIZE(cmt_resources),
4570b25b7c8SPhil Edworthy };
4580b25b7c8SPhil Edworthy 
4595204601cSLaurent Pinchart static struct resource mtu2_resources[] = {
4605204601cSLaurent Pinchart 	DEFINE_RES_MEM(0xfffe4000, 0x400),
4615204601cSLaurent Pinchart 	DEFINE_RES_IRQ_NAMED(192, "tgi0a"),
4625204601cSLaurent Pinchart 	DEFINE_RES_IRQ_NAMED(203, "tgi1a"),
4630b25b7c8SPhil Edworthy };
4640b25b7c8SPhil Edworthy 
4655204601cSLaurent Pinchart static struct platform_device mtu2_device = {
4665204601cSLaurent Pinchart 	.name		= "sh-mtu2",
4675204601cSLaurent Pinchart 	.id		= -1,
4685204601cSLaurent Pinchart 	.resource	= mtu2_resources,
4695204601cSLaurent Pinchart 	.num_resources	= ARRAY_SIZE(mtu2_resources),
4700b25b7c8SPhil Edworthy };
4710b25b7c8SPhil Edworthy 
4720b25b7c8SPhil Edworthy static struct resource rtc_resources[] = {
4730b25b7c8SPhil Edworthy 	[0] = {
4740b25b7c8SPhil Edworthy 		.start	= 0xfffe6000,
4750b25b7c8SPhil Edworthy 		.end	= 0xfffe6000 + 0x30 - 1,
4760b25b7c8SPhil Edworthy 		.flags	= IORESOURCE_IO,
4770b25b7c8SPhil Edworthy 	},
4780b25b7c8SPhil Edworthy 	[1] = {
4790b25b7c8SPhil Edworthy 		/* Shared Period/Carry/Alarm IRQ */
4800b25b7c8SPhil Edworthy 		.start	= 338,
4810b25b7c8SPhil Edworthy 		.flags	= IORESOURCE_IRQ,
4820b25b7c8SPhil Edworthy 	},
4830b25b7c8SPhil Edworthy };
4840b25b7c8SPhil Edworthy 
4850b25b7c8SPhil Edworthy static struct platform_device rtc_device = {
4860b25b7c8SPhil Edworthy 	.name		= "sh-rtc",
4870b25b7c8SPhil Edworthy 	.id		= -1,
4880b25b7c8SPhil Edworthy 	.num_resources	= ARRAY_SIZE(rtc_resources),
4890b25b7c8SPhil Edworthy 	.resource	= rtc_resources,
4900b25b7c8SPhil Edworthy };
4910b25b7c8SPhil Edworthy 
4920b25b7c8SPhil Edworthy /* USB Host */
4930b25b7c8SPhil Edworthy static struct r8a66597_platdata r8a66597_data = {
4940b25b7c8SPhil Edworthy 	.on_chip = 1,
4950b25b7c8SPhil Edworthy 	.endian = 1,
4960b25b7c8SPhil Edworthy };
4970b25b7c8SPhil Edworthy 
4980b25b7c8SPhil Edworthy static struct resource r8a66597_usb_host_resources[] = {
4990b25b7c8SPhil Edworthy 	[0] = {
5000b25b7c8SPhil Edworthy 		.start	= 0xe8010000,
5010b25b7c8SPhil Edworthy 		.end	= 0xe80100e4,
5020b25b7c8SPhil Edworthy 		.flags	= IORESOURCE_MEM,
5030b25b7c8SPhil Edworthy 	},
5040b25b7c8SPhil Edworthy 	[1] = {
5050b25b7c8SPhil Edworthy 		.start	= 170,
5060b25b7c8SPhil Edworthy 		.end	= 170,
5070b25b7c8SPhil Edworthy 		.flags	= IORESOURCE_IRQ | IRQF_TRIGGER_LOW,
5080b25b7c8SPhil Edworthy 	},
5090b25b7c8SPhil Edworthy };
5100b25b7c8SPhil Edworthy 
5110b25b7c8SPhil Edworthy static struct platform_device r8a66597_usb_host_device = {
5120b25b7c8SPhil Edworthy 	.name		= "r8a66597_hcd",
5130b25b7c8SPhil Edworthy 	.id		= 0,
5140b25b7c8SPhil Edworthy 	.dev = {
5150b25b7c8SPhil Edworthy 		.dma_mask		= NULL,         /*  not use dma */
5160b25b7c8SPhil Edworthy 		.coherent_dma_mask	= 0xffffffff,
5170b25b7c8SPhil Edworthy 		.platform_data		= &r8a66597_data,
5180b25b7c8SPhil Edworthy 	},
5190b25b7c8SPhil Edworthy 	.num_resources	= ARRAY_SIZE(r8a66597_usb_host_resources),
5200b25b7c8SPhil Edworthy 	.resource	= r8a66597_usb_host_resources,
5210b25b7c8SPhil Edworthy };
5220b25b7c8SPhil Edworthy 
5230b25b7c8SPhil Edworthy static struct platform_device *sh7269_devices[] __initdata = {
5240b25b7c8SPhil Edworthy 	&scif0_device,
5250b25b7c8SPhil Edworthy 	&scif1_device,
5260b25b7c8SPhil Edworthy 	&scif2_device,
5270b25b7c8SPhil Edworthy 	&scif3_device,
5280b25b7c8SPhil Edworthy 	&scif4_device,
5290b25b7c8SPhil Edworthy 	&scif5_device,
5300b25b7c8SPhil Edworthy 	&scif6_device,
5310b25b7c8SPhil Edworthy 	&scif7_device,
5329b17e48cSLaurent Pinchart 	&cmt_device,
5335204601cSLaurent Pinchart 	&mtu2_device,
5340b25b7c8SPhil Edworthy 	&rtc_device,
5350b25b7c8SPhil Edworthy 	&r8a66597_usb_host_device,
5360b25b7c8SPhil Edworthy };
5370b25b7c8SPhil Edworthy 
5380b25b7c8SPhil Edworthy static int __init sh7269_devices_setup(void)
5390b25b7c8SPhil Edworthy {
5400b25b7c8SPhil Edworthy 	return platform_add_devices(sh7269_devices,
5410b25b7c8SPhil Edworthy 				    ARRAY_SIZE(sh7269_devices));
5420b25b7c8SPhil Edworthy }
5430b25b7c8SPhil Edworthy arch_initcall(sh7269_devices_setup);
5440b25b7c8SPhil Edworthy 
5450b25b7c8SPhil Edworthy void __init plat_irq_setup(void)
5460b25b7c8SPhil Edworthy {
5470b25b7c8SPhil Edworthy 	register_intc_controller(&intc_desc);
5480b25b7c8SPhil Edworthy }
5490b25b7c8SPhil Edworthy 
5500b25b7c8SPhil Edworthy static struct platform_device *sh7269_early_devices[] __initdata = {
5510b25b7c8SPhil Edworthy 	&scif0_device,
5520b25b7c8SPhil Edworthy 	&scif1_device,
5530b25b7c8SPhil Edworthy 	&scif2_device,
5540b25b7c8SPhil Edworthy 	&scif3_device,
5550b25b7c8SPhil Edworthy 	&scif4_device,
5560b25b7c8SPhil Edworthy 	&scif5_device,
5570b25b7c8SPhil Edworthy 	&scif6_device,
5580b25b7c8SPhil Edworthy 	&scif7_device,
5599b17e48cSLaurent Pinchart 	&cmt_device,
5605204601cSLaurent Pinchart 	&mtu2_device,
5610b25b7c8SPhil Edworthy };
5620b25b7c8SPhil Edworthy 
5630b25b7c8SPhil Edworthy void __init plat_early_device_setup(void)
5640b25b7c8SPhil Edworthy {
5650b25b7c8SPhil Edworthy 	early_platform_add_devices(sh7269_early_devices,
5660b25b7c8SPhil Edworthy 				   ARRAY_SIZE(sh7269_early_devices));
5670b25b7c8SPhil Edworthy }
568