aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-imx/mach-imx27_visstrim_m10.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
index 3194362aa782..821d6aac411c 100644
--- a/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
+++ b/arch/arm/mach-imx/mach-imx27_visstrim_m10.c
@@ -233,7 +233,7 @@ static void __init visstrim_camera_init(void)
233static void __init visstrim_reserve(void) 233static void __init visstrim_reserve(void)
234{ 234{
235 /* reserve 4 MiB for mx2-camera */ 235 /* reserve 4 MiB for mx2-camera */
236 mx2_camera_base = arm_memblock_steal(2 * MX2_CAMERA_BUF_SIZE, 236 mx2_camera_base = arm_memblock_steal(3 * MX2_CAMERA_BUF_SIZE,
237 MX2_CAMERA_BUF_SIZE); 237 MX2_CAMERA_BUF_SIZE);
238} 238}
239 239
@@ -420,6 +420,30 @@ static void __init visstrim_coda_init(void)
420 return; 420 return;
421} 421}
422 422
423/* DMA deinterlace */
424static struct platform_device visstrim_deinterlace = {
425 .name = "m2m-deinterlace",
426 .id = 0,
427};
428
429static void __init visstrim_deinterlace_init(void)
430{
431 int ret = -ENOMEM;
432 struct platform_device *pdev = &visstrim_deinterlace;
433 int dma;
434
435 ret = platform_device_register(pdev);
436
437 dma = dma_declare_coherent_memory(&pdev->dev,
438 mx2_camera_base + 2 * MX2_CAMERA_BUF_SIZE,
439 mx2_camera_base + 2 * MX2_CAMERA_BUF_SIZE,
440 MX2_CAMERA_BUF_SIZE,
441 DMA_MEMORY_MAP | DMA_MEMORY_EXCLUSIVE);
442 if (!(dma & DMA_MEMORY_MAP))
443 return;
444}
445
446
423static void __init visstrim_m10_revision(void) 447static void __init visstrim_m10_revision(void)
424{ 448{
425 int exp_version = 0; 449 int exp_version = 0;
@@ -482,6 +506,7 @@ static void __init visstrim_m10_board_init(void)
482 platform_device_register_resndata(NULL, "soc-camera-pdrv", 0, NULL, 0, 506 platform_device_register_resndata(NULL, "soc-camera-pdrv", 0, NULL, 0,
483 &iclink_tvp5150, sizeof(iclink_tvp5150)); 507 &iclink_tvp5150, sizeof(iclink_tvp5150));
484 gpio_led_register_device(0, &visstrim_m10_led_data); 508 gpio_led_register_device(0, &visstrim_m10_led_data);
509 visstrim_deinterlace_init();
485 visstrim_camera_init(); 510 visstrim_camera_init();
486 visstrim_coda_init(); 511 visstrim_coda_init();
487} 512}