2 * arch/ppc/syslib/pq2_devices.c
4 * PQ2 Device descriptions
6 * Maintainer: Kumar Gala <kumar.gala@freescale.com>
8 * This file is licensed under the terms of the GNU General Public License
9 * version 2. This program is licensed "as is" without any warranty of any
10 * kind, whether express or implied.
14 #include <linux/init.h>
15 #include <linux/module.h>
16 #include <linux/device.h>
17 #include <linux/ioport.h>
20 #include <asm/ppc_sys.h>
22 struct platform_device ppc_sys_platform_devices
[] = {
23 [MPC82xx_CPM_FCC1
] = {
24 .name
= "fsl-cpm-fcc",
27 .resource
= (struct resource
[]) {
32 .flags
= IORESOURCE_MEM
,
38 .flags
= IORESOURCE_MEM
,
41 .start
= SIU_INT_FCC1
,
43 .flags
= IORESOURCE_IRQ
,
47 [MPC82xx_CPM_FCC2
] = {
48 .name
= "fsl-cpm-fcc",
51 .resource
= (struct resource
[]) {
56 .flags
= IORESOURCE_MEM
,
62 .flags
= IORESOURCE_MEM
,
65 .start
= SIU_INT_FCC2
,
67 .flags
= IORESOURCE_IRQ
,
71 [MPC82xx_CPM_FCC3
] = {
72 .name
= "fsl-cpm-fcc",
75 .resource
= (struct resource
[]) {
80 .flags
= IORESOURCE_MEM
,
86 .flags
= IORESOURCE_MEM
,
89 .start
= SIU_INT_FCC3
,
91 .flags
= IORESOURCE_IRQ
,
96 .name
= "fsl-cpm-i2c",
99 .resource
= (struct resource
[]) {
104 .flags
= IORESOURCE_MEM
,
110 .flags
= IORESOURCE_MEM
,
113 .start
= SIU_INT_I2C
,
115 .flags
= IORESOURCE_IRQ
,
119 [MPC82xx_CPM_SCC1
] = {
120 .name
= "fsl-cpm-scc",
123 .resource
= (struct resource
[]) {
128 .flags
= IORESOURCE_MEM
,
134 .flags
= IORESOURCE_MEM
,
137 .start
= SIU_INT_SCC1
,
139 .flags
= IORESOURCE_IRQ
,
143 [MPC82xx_CPM_SCC2
] = {
144 .name
= "fsl-cpm-scc",
147 .resource
= (struct resource
[]) {
152 .flags
= IORESOURCE_MEM
,
158 .flags
= IORESOURCE_MEM
,
161 .start
= SIU_INT_SCC2
,
163 .flags
= IORESOURCE_IRQ
,
167 [MPC82xx_CPM_SCC3
] = {
168 .name
= "fsl-cpm-scc",
171 .resource
= (struct resource
[]) {
176 .flags
= IORESOURCE_MEM
,
182 .flags
= IORESOURCE_MEM
,
185 .start
= SIU_INT_SCC3
,
187 .flags
= IORESOURCE_IRQ
,
191 [MPC82xx_CPM_SCC4
] = {
192 .name
= "fsl-cpm-scc",
195 .resource
= (struct resource
[]) {
200 .flags
= IORESOURCE_MEM
,
206 .flags
= IORESOURCE_MEM
,
209 .start
= SIU_INT_SCC4
,
211 .flags
= IORESOURCE_IRQ
,
215 [MPC82xx_CPM_SPI
] = {
216 .name
= "fsl-cpm-spi",
219 .resource
= (struct resource
[]) {
224 .flags
= IORESOURCE_MEM
,
230 .flags
= IORESOURCE_MEM
,
233 .start
= SIU_INT_SPI
,
235 .flags
= IORESOURCE_IRQ
,
239 [MPC82xx_CPM_MCC1
] = {
240 .name
= "fsl-cpm-mcc",
243 .resource
= (struct resource
[]) {
248 .flags
= IORESOURCE_MEM
,
254 .flags
= IORESOURCE_MEM
,
257 .start
= SIU_INT_MCC1
,
259 .flags
= IORESOURCE_IRQ
,
263 [MPC82xx_CPM_MCC2
] = {
264 .name
= "fsl-cpm-mcc",
267 .resource
= (struct resource
[]) {
272 .flags
= IORESOURCE_MEM
,
278 .flags
= IORESOURCE_MEM
,
281 .start
= SIU_INT_MCC2
,
283 .flags
= IORESOURCE_IRQ
,
287 [MPC82xx_CPM_SMC1
] = {
288 .name
= "fsl-cpm-smc",
291 .resource
= (struct resource
[]) {
296 .flags
= IORESOURCE_MEM
,
302 .flags
= IORESOURCE_MEM
,
305 .start
= SIU_INT_SMC1
,
307 .flags
= IORESOURCE_IRQ
,
311 [MPC82xx_CPM_SMC2
] = {
312 .name
= "fsl-cpm-smc",
315 .resource
= (struct resource
[]) {
320 .flags
= IORESOURCE_MEM
,
326 .flags
= IORESOURCE_MEM
,
329 .start
= SIU_INT_SMC2
,
331 .flags
= IORESOURCE_IRQ
,
335 [MPC82xx_CPM_USB
] = {
336 .name
= "fsl-cpm-usb",
339 .resource
= (struct resource
[]) {
344 .flags
= IORESOURCE_MEM
,
350 .flags
= IORESOURCE_MEM
,
353 .start
= SIU_INT_USB
,
355 .flags
= IORESOURCE_IRQ
,
364 .resource
= (struct resource
[]) {
369 .flags
= IORESOURCE_MEM
,
375 static int __init
mach_mpc82xx_fixup(struct platform_device
*pdev
)
377 ppc_sys_fixup_mem_resource(pdev
, CPM_MAP_ADDR
);
381 static int __init
mach_mpc82xx_init(void)
384 ppc_md
.progress("mach_mpc82xx_init:enter", 0);
385 ppc_sys_device_fixup
= mach_mpc82xx_fixup
;
389 postcore_initcall(mach_mpc82xx_init
);