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.
12 #include <linux/init.h>
13 #include <linux/module.h>
14 #include <linux/platform_device.h>
15 #include <linux/ioport.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",
26 .resource = (struct resource[]) {
31 .flags = IORESOURCE_MEM,
37 .flags = IORESOURCE_MEM,
40 .start = SIU_INT_FCC1,
42 .flags = IORESOURCE_IRQ,
46 [MPC82xx_CPM_FCC2] = {
47 .name = "fsl-cpm-fcc",
50 .resource = (struct resource[]) {
55 .flags = IORESOURCE_MEM,
61 .flags = IORESOURCE_MEM,
64 .start = SIU_INT_FCC2,
66 .flags = IORESOURCE_IRQ,
70 [MPC82xx_CPM_FCC3] = {
71 .name = "fsl-cpm-fcc",
74 .resource = (struct resource[]) {
79 .flags = IORESOURCE_MEM,
85 .flags = IORESOURCE_MEM,
88 .start = SIU_INT_FCC3,
90 .flags = IORESOURCE_IRQ,
95 .name = "fsl-cpm-i2c",
98 .resource = (struct resource[]) {
103 .flags = IORESOURCE_MEM,
109 .flags = IORESOURCE_MEM,
112 .start = SIU_INT_I2C,
114 .flags = IORESOURCE_IRQ,
118 [MPC82xx_CPM_SCC1] = {
119 .name = "fsl-cpm-scc",
122 .resource = (struct resource[]) {
127 .flags = IORESOURCE_MEM,
133 .flags = IORESOURCE_MEM,
136 .start = SIU_INT_SCC1,
138 .flags = IORESOURCE_IRQ,
142 [MPC82xx_CPM_SCC2] = {
143 .name = "fsl-cpm-scc",
146 .resource = (struct resource[]) {
151 .flags = IORESOURCE_MEM,
157 .flags = IORESOURCE_MEM,
160 .start = SIU_INT_SCC2,
162 .flags = IORESOURCE_IRQ,
166 [MPC82xx_CPM_SCC3] = {
167 .name = "fsl-cpm-scc",
170 .resource = (struct resource[]) {
175 .flags = IORESOURCE_MEM,
181 .flags = IORESOURCE_MEM,
184 .start = SIU_INT_SCC3,
186 .flags = IORESOURCE_IRQ,
190 [MPC82xx_CPM_SCC4] = {
191 .name = "fsl-cpm-scc",
194 .resource = (struct resource[]) {
199 .flags = IORESOURCE_MEM,
205 .flags = IORESOURCE_MEM,
208 .start = SIU_INT_SCC4,
210 .flags = IORESOURCE_IRQ,
214 [MPC82xx_CPM_SPI] = {
215 .name = "fsl-cpm-spi",
218 .resource = (struct resource[]) {
223 .flags = IORESOURCE_MEM,
229 .flags = IORESOURCE_MEM,
232 .start = SIU_INT_SPI,
234 .flags = IORESOURCE_IRQ,
238 [MPC82xx_CPM_MCC1] = {
239 .name = "fsl-cpm-mcc",
242 .resource = (struct resource[]) {
247 .flags = IORESOURCE_MEM,
253 .flags = IORESOURCE_MEM,
256 .start = SIU_INT_MCC1,
258 .flags = IORESOURCE_IRQ,
262 [MPC82xx_CPM_MCC2] = {
263 .name = "fsl-cpm-mcc",
266 .resource = (struct resource[]) {
271 .flags = IORESOURCE_MEM,
277 .flags = IORESOURCE_MEM,
280 .start = SIU_INT_MCC2,
282 .flags = IORESOURCE_IRQ,
286 [MPC82xx_CPM_SMC1] = {
287 .name = "fsl-cpm-smc",
290 .resource = (struct resource[]) {
295 .flags = IORESOURCE_MEM,
301 .flags = IORESOURCE_MEM,
304 .start = SIU_INT_SMC1,
306 .flags = IORESOURCE_IRQ,
310 [MPC82xx_CPM_SMC2] = {
311 .name = "fsl-cpm-smc",
314 .resource = (struct resource[]) {
319 .flags = IORESOURCE_MEM,
325 .flags = IORESOURCE_MEM,
328 .start = SIU_INT_SMC2,
330 .flags = IORESOURCE_IRQ,
334 [MPC82xx_CPM_USB] = {
335 .name = "fsl-cpm-usb",
338 .resource = (struct resource[]) {
343 .flags = IORESOURCE_MEM,
349 .flags = IORESOURCE_MEM,
352 .start = SIU_INT_USB,
354 .flags = IORESOURCE_IRQ,
363 .resource = (struct resource[]) {
368 .flags = IORESOURCE_MEM,
374 static int __init mach_mpc82xx_fixup(struct platform_device *pdev)
376 ppc_sys_fixup_mem_resource(pdev, CPM_MAP_ADDR);
380 static int __init mach_mpc82xx_init(void)
383 ppc_md.progress("mach_mpc82xx_init:enter", 0);
384 ppc_sys_device_fixup = mach_mpc82xx_fixup;
388 postcore_initcall(mach_mpc82xx_init);