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);