aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValentin Longchamp <valentin.longchamp@epfl.ch>2009-02-16 06:47:52 -0500
committerSascha Hauer <s.hauer@pengutronix.de>2009-03-13 05:34:22 -0400
commitca489f8e4ac1127e6aee1ffcdaea29858f89506c (patch)
tree7005a1386df1866bbfc9d5c25af554237444ccdd
parente00f0b4a9316c9de000697e489f6102271e94dc4 (diff)
mx31: add dma and fb devices
This adds the dma (ipu_dma) and fb devices for the mx31 for which drivers now are available. v2: merge the ipu and fb device in the same patch as suggested by Sascha Signed-off-by: Valentin Longchamp <valentin.longchamp@epfl.ch> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/mach-mx3/devices.c48
-rw-r--r--arch/arm/mach-mx3/devices.h2
-rw-r--r--arch/arm/mach-mx3/mx31moboard.c1
3 files changed, 50 insertions, 1 deletions
diff --git a/arch/arm/mach-mx3/devices.c b/arch/arm/mach-mx3/devices.c
index 7cfdef0aad45..b7d4900b02e4 100644
--- a/arch/arm/mach-mx3/devices.c
+++ b/arch/arm/mach-mx3/devices.c
@@ -242,3 +242,51 @@ struct platform_device mxc_i2c_device2 = {
242 .num_resources = ARRAY_SIZE(mxc_i2c2_resources), 242 .num_resources = ARRAY_SIZE(mxc_i2c2_resources),
243 .resource = mxc_i2c2_resources, 243 .resource = mxc_i2c2_resources,
244}; 244};
245
246/* i.MX31 Image Processing Unit */
247
248/* The resource order is important! */
249static struct resource mx3_ipu_rsrc[] = {
250 {
251 .start = IPU_CTRL_BASE_ADDR,
252 .end = IPU_CTRL_BASE_ADDR + 0x5F,
253 .flags = IORESOURCE_MEM,
254 }, {
255 .start = IPU_CTRL_BASE_ADDR + 0x88,
256 .end = IPU_CTRL_BASE_ADDR + 0xB3,
257 .flags = IORESOURCE_MEM,
258 }, {
259 .start = MXC_INT_IPU_SYN,
260 .end = MXC_INT_IPU_SYN,
261 .flags = IORESOURCE_IRQ,
262 }, {
263 .start = MXC_INT_IPU_ERR,
264 .end = MXC_INT_IPU_ERR,
265 .flags = IORESOURCE_IRQ,
266 },
267};
268
269struct platform_device mx3_ipu = {
270 .name = "ipu-core",
271 .id = -1,
272 .num_resources = ARRAY_SIZE(mx3_ipu_rsrc),
273 .resource = mx3_ipu_rsrc,
274};
275
276static struct resource fb_resources[] = {
277 {
278 .start = IPU_CTRL_BASE_ADDR + 0xB4,
279 .end = IPU_CTRL_BASE_ADDR + 0x1BF,
280 .flags = IORESOURCE_MEM,
281 },
282};
283
284struct platform_device mx3_fb = {
285 .name = "mx3_sdc_fb",
286 .id = -1,
287 .num_resources = ARRAY_SIZE(fb_resources),
288 .resource = fb_resources,
289 .dev = {
290 .coherent_dma_mask = 0xffffffff,
291 },
292};
diff --git a/arch/arm/mach-mx3/devices.h b/arch/arm/mach-mx3/devices.h
index 077a90226a71..d1638518a9d6 100644
--- a/arch/arm/mach-mx3/devices.h
+++ b/arch/arm/mach-mx3/devices.h
@@ -9,3 +9,5 @@ extern struct platform_device mxc_nand_device;
9extern struct platform_device mxc_i2c_device0; 9extern struct platform_device mxc_i2c_device0;
10extern struct platform_device mxc_i2c_device1; 10extern struct platform_device mxc_i2c_device1;
11extern struct platform_device mxc_i2c_device2; 11extern struct platform_device mxc_i2c_device2;
12extern struct platform_device mx3_ipu;
13extern struct platform_device mx3_fb;
diff --git a/arch/arm/mach-mx3/mx31moboard.c b/arch/arm/mach-mx3/mx31moboard.c
index 2d51739e24bf..b30460a2a559 100644
--- a/arch/arm/mach-mx3/mx31moboard.c
+++ b/arch/arm/mach-mx3/mx31moboard.c
@@ -101,7 +101,6 @@ static void __init mxc_board_init(void)
101 default: 101 default:
102 printk(KERN_ERR "Illegal mx31moboard_baseboard type %d\n", mx31moboard_baseboard); 102 printk(KERN_ERR "Illegal mx31moboard_baseboard type %d\n", mx31moboard_baseboard);
103 } 103 }
104
105} 104}
106 105
107/* 106/*