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