diff options
author | Valentin Longchamp <valentin.longchamp@epfl.ch> | 2009-02-16 06:47:52 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-03-13 05:34:22 -0400 |
commit | ca489f8e4ac1127e6aee1ffcdaea29858f89506c (patch) | |
tree | 7005a1386df1866bbfc9d5c25af554237444ccdd /arch/arm | |
parent | e00f0b4a9316c9de000697e489f6102271e94dc4 (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>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-mx3/devices.c | 48 | ||||
-rw-r--r-- | arch/arm/mach-mx3/devices.h | 2 | ||||
-rw-r--r-- | arch/arm/mach-mx3/mx31moboard.c | 1 |
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! */ | ||
249 | static 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 | |||
269 | struct 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 | |||
276 | static 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 | |||
284 | struct 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; | |||
9 | extern struct platform_device mxc_i2c_device0; | 9 | extern struct platform_device mxc_i2c_device0; |
10 | extern struct platform_device mxc_i2c_device1; | 10 | extern struct platform_device mxc_i2c_device1; |
11 | extern struct platform_device mxc_i2c_device2; | 11 | extern struct platform_device mxc_i2c_device2; |
12 | extern struct platform_device mx3_ipu; | ||
13 | extern 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 | /* |