Committer: Michael Beasley <mike@snafu.setup>
[mikesnafu-overlay.git] / arch / ppc / syslib / pq2_devices.c
blobfefbc217a56d0600726e6f4c788832c22648bc60
1 /*
2 * PQ2 Device descriptions
4 * Maintainer: Kumar Gala <galak@kernel.crashing.org>
6 * This file is licensed under the terms of the GNU General Public License
7 * version 2. This program is licensed "as is" without any warranty of any
8 * kind, whether express or implied.
9 */
12 #include <linux/init.h>
13 #include <linux/module.h>
14 #include <linux/platform_device.h>
15 #include <linux/ioport.h>
16 #include <asm/cpm2.h>
17 #include <asm/irq.h>
18 #include <asm/ppc_sys.h>
19 #include <asm/machdep.h>
21 struct platform_device ppc_sys_platform_devices[] = {
22 [MPC82xx_CPM_FCC1] = {
23 .name = "fsl-cpm-fcc",
24 .id = 1,
25 .num_resources = 3,
26 .resource = (struct resource[]) {
28 .name = "fcc_regs",
29 .start = 0x11300,
30 .end = 0x1131f,
31 .flags = IORESOURCE_MEM,
34 .name = "fcc_pram",
35 .start = 0x8400,
36 .end = 0x84ff,
37 .flags = IORESOURCE_MEM,
40 .start = SIU_INT_FCC1,
41 .end = SIU_INT_FCC1,
42 .flags = IORESOURCE_IRQ,
46 [MPC82xx_CPM_FCC2] = {
47 .name = "fsl-cpm-fcc",
48 .id = 2,
49 .num_resources = 3,
50 .resource = (struct resource[]) {
52 .name = "fcc_regs",
53 .start = 0x11320,
54 .end = 0x1133f,
55 .flags = IORESOURCE_MEM,
58 .name = "fcc_pram",
59 .start = 0x8500,
60 .end = 0x85ff,
61 .flags = IORESOURCE_MEM,
64 .start = SIU_INT_FCC2,
65 .end = SIU_INT_FCC2,
66 .flags = IORESOURCE_IRQ,
70 [MPC82xx_CPM_FCC3] = {
71 .name = "fsl-cpm-fcc",
72 .id = 3,
73 .num_resources = 3,
74 .resource = (struct resource[]) {
76 .name = "fcc_regs",
77 .start = 0x11340,
78 .end = 0x1135f,
79 .flags = IORESOURCE_MEM,
82 .name = "fcc_pram",
83 .start = 0x8600,
84 .end = 0x86ff,
85 .flags = IORESOURCE_MEM,
88 .start = SIU_INT_FCC3,
89 .end = SIU_INT_FCC3,
90 .flags = IORESOURCE_IRQ,
94 [MPC82xx_CPM_I2C] = {
95 .name = "fsl-cpm-i2c",
96 .id = 1,
97 .num_resources = 3,
98 .resource = (struct resource[]) {
100 .name = "i2c_mem",
101 .start = 0x11860,
102 .end = 0x118BF,
103 .flags = IORESOURCE_MEM,
106 .name = "i2c_pram",
107 .start = 0x8afc,
108 .end = 0x8afd,
109 .flags = IORESOURCE_MEM,
112 .start = SIU_INT_I2C,
113 .end = SIU_INT_I2C,
114 .flags = IORESOURCE_IRQ,
118 [MPC82xx_CPM_SCC1] = {
119 .name = "fsl-cpm-scc",
120 .id = 1,
121 .num_resources = 3,
122 .resource = (struct resource[]) {
124 .name = "regs",
125 .start = 0x11A00,
126 .end = 0x11A1F,
127 .flags = IORESOURCE_MEM,
130 .name = "pram",
131 .start = 0x8000,
132 .end = 0x80ff,
133 .flags = IORESOURCE_MEM,
136 .start = SIU_INT_SCC1,
137 .end = SIU_INT_SCC1,
138 .flags = IORESOURCE_IRQ,
142 [MPC82xx_CPM_SCC2] = {
143 .name = "fsl-cpm-scc",
144 .id = 2,
145 .num_resources = 3,
146 .resource = (struct resource[]) {
148 .name = "regs",
149 .start = 0x11A20,
150 .end = 0x11A3F,
151 .flags = IORESOURCE_MEM,
154 .name = "pram",
155 .start = 0x8100,
156 .end = 0x81ff,
157 .flags = IORESOURCE_MEM,
160 .start = SIU_INT_SCC2,
161 .end = SIU_INT_SCC2,
162 .flags = IORESOURCE_IRQ,
166 [MPC82xx_CPM_SCC3] = {
167 .name = "fsl-cpm-scc",
168 .id = 3,
169 .num_resources = 3,
170 .resource = (struct resource[]) {
172 .name = "regs",
173 .start = 0x11A40,
174 .end = 0x11A5F,
175 .flags = IORESOURCE_MEM,
178 .name = "pram",
179 .start = 0x8200,
180 .end = 0x82ff,
181 .flags = IORESOURCE_MEM,
184 .start = SIU_INT_SCC3,
185 .end = SIU_INT_SCC3,
186 .flags = IORESOURCE_IRQ,
190 [MPC82xx_CPM_SCC4] = {
191 .name = "fsl-cpm-scc",
192 .id = 4,
193 .num_resources = 3,
194 .resource = (struct resource[]) {
196 .name = "regs",
197 .start = 0x11A60,
198 .end = 0x11A7F,
199 .flags = IORESOURCE_MEM,
202 .name = "pram",
203 .start = 0x8300,
204 .end = 0x83ff,
205 .flags = IORESOURCE_MEM,
208 .start = SIU_INT_SCC4,
209 .end = SIU_INT_SCC4,
210 .flags = IORESOURCE_IRQ,
214 [MPC82xx_CPM_SPI] = {
215 .name = "fsl-cpm-spi",
216 .id = 1,
217 .num_resources = 3,
218 .resource = (struct resource[]) {
220 .name = "spi_mem",
221 .start = 0x11AA0,
222 .end = 0x11AFF,
223 .flags = IORESOURCE_MEM,
226 .name = "spi_pram",
227 .start = 0x89fc,
228 .end = 0x89fd,
229 .flags = IORESOURCE_MEM,
232 .start = SIU_INT_SPI,
233 .end = SIU_INT_SPI,
234 .flags = IORESOURCE_IRQ,
238 [MPC82xx_CPM_MCC1] = {
239 .name = "fsl-cpm-mcc",
240 .id = 1,
241 .num_resources = 3,
242 .resource = (struct resource[]) {
244 .name = "mcc_mem",
245 .start = 0x11B30,
246 .end = 0x11B3F,
247 .flags = IORESOURCE_MEM,
250 .name = "mcc_pram",
251 .start = 0x8700,
252 .end = 0x877f,
253 .flags = IORESOURCE_MEM,
256 .start = SIU_INT_MCC1,
257 .end = SIU_INT_MCC1,
258 .flags = IORESOURCE_IRQ,
262 [MPC82xx_CPM_MCC2] = {
263 .name = "fsl-cpm-mcc",
264 .id = 2,
265 .num_resources = 3,
266 .resource = (struct resource[]) {
268 .name = "mcc_mem",
269 .start = 0x11B50,
270 .end = 0x11B5F,
271 .flags = IORESOURCE_MEM,
274 .name = "mcc_pram",
275 .start = 0x8800,
276 .end = 0x887f,
277 .flags = IORESOURCE_MEM,
280 .start = SIU_INT_MCC2,
281 .end = SIU_INT_MCC2,
282 .flags = IORESOURCE_IRQ,
286 [MPC82xx_CPM_SMC1] = {
287 .name = "fsl-cpm-smc",
288 .id = 1,
289 .num_resources = 3,
290 .resource = (struct resource[]) {
292 .name = "smc_mem",
293 .start = 0x11A80,
294 .end = 0x11A8F,
295 .flags = IORESOURCE_MEM,
298 .name = "smc_pram",
299 .start = 0x87fc,
300 .end = 0x87fd,
301 .flags = IORESOURCE_MEM,
304 .start = SIU_INT_SMC1,
305 .end = SIU_INT_SMC1,
306 .flags = IORESOURCE_IRQ,
310 [MPC82xx_CPM_SMC2] = {
311 .name = "fsl-cpm-smc",
312 .id = 2,
313 .num_resources = 3,
314 .resource = (struct resource[]) {
316 .name = "smc_mem",
317 .start = 0x11A90,
318 .end = 0x11A9F,
319 .flags = IORESOURCE_MEM,
322 .name = "smc_pram",
323 .start = 0x88fc,
324 .end = 0x88fd,
325 .flags = IORESOURCE_MEM,
328 .start = SIU_INT_SMC2,
329 .end = SIU_INT_SMC2,
330 .flags = IORESOURCE_IRQ,
334 [MPC82xx_CPM_USB] = {
335 .name = "fsl-cpm-usb",
336 .id = 1,
337 .num_resources = 3,
338 .resource = (struct resource[]) {
340 .name = "usb_mem",
341 .start = 0x11b60,
342 .end = 0x11b78,
343 .flags = IORESOURCE_MEM,
346 .name = "usb_pram",
347 .start = 0x8b00,
348 .end = 0x8bff,
349 .flags = IORESOURCE_MEM,
352 .start = SIU_INT_USB,
353 .end = SIU_INT_USB,
354 .flags = IORESOURCE_IRQ,
359 [MPC82xx_SEC1] = {
360 .name = "fsl-sec",
361 .id = 1,
362 .num_resources = 1,
363 .resource = (struct resource[]) {
365 .name = "sec_mem",
366 .start = 0x40000,
367 .end = 0x52fff,
368 .flags = IORESOURCE_MEM,
372 [MPC82xx_MDIO_BB] = {
373 .name = "fsl-bb-mdio",
374 .id = 0,
375 .num_resources = 0,
379 static int __init mach_mpc82xx_fixup(struct platform_device *pdev)
381 ppc_sys_fixup_mem_resource(pdev, CPM_MAP_ADDR);
382 return 0;
385 static int __init mach_mpc82xx_init(void)
387 if (ppc_md.progress)
388 ppc_md.progress("mach_mpc82xx_init:enter", 0);
389 ppc_sys_device_fixup = mach_mpc82xx_fixup;
390 return 0;
393 postcore_initcall(mach_mpc82xx_init);