diff options
author | Javier Martin <javier.martin@vista-silicon.com> | 2012-01-13 04:31:57 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-02-28 05:20:32 -0500 |
commit | 52f1a845e25dc0c6435153aca1a170e20b282429 (patch) | |
tree | 0f052c3a1fb75b38498285328766c871350c4e1f | |
parent | 8091cb7d9ce671628bb094d5e6bd5395bc3db4f4 (diff) |
[media] MX2: Add platform definitions for eMMa-PrP device
eMMa-PrP device included in Freescale i.MX2 chips can also
be used separately to process memory buffers. This patch
provides arch glue code for the driver which provides this
functionality.
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | arch/arm/mach-imx/clock-imx27.c | 2 | ||||
-rw-r--r-- | arch/arm/mach-imx/devices-imx27.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-mxc/devices/platform-mx2-camera.c | 18 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/devices-common.h | 2 |
4 files changed, 23 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/clock-imx27.c b/arch/arm/mach-imx/clock-imx27.c index 88fe00a146e3..dc2d7a511d9b 100644 --- a/arch/arm/mach-imx/clock-imx27.c +++ b/arch/arm/mach-imx/clock-imx27.c | |||
@@ -661,7 +661,7 @@ static struct clk_lookup lookups[] = { | |||
661 | _REGISTER_CLOCK(NULL, "dma", dma_clk) | 661 | _REGISTER_CLOCK(NULL, "dma", dma_clk) |
662 | _REGISTER_CLOCK(NULL, "rtic", rtic_clk) | 662 | _REGISTER_CLOCK(NULL, "rtic", rtic_clk) |
663 | _REGISTER_CLOCK(NULL, "brom", brom_clk) | 663 | _REGISTER_CLOCK(NULL, "brom", brom_clk) |
664 | _REGISTER_CLOCK(NULL, "emma", emma_clk) | 664 | _REGISTER_CLOCK("m2m-emmaprp.0", NULL, emma_clk) |
665 | _REGISTER_CLOCK(NULL, "slcdc", slcdc_clk) | 665 | _REGISTER_CLOCK(NULL, "slcdc", slcdc_clk) |
666 | _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) | 666 | _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) |
667 | _REGISTER_CLOCK(NULL, "emi", emi_clk) | 667 | _REGISTER_CLOCK(NULL, "emi", emi_clk) |
diff --git a/arch/arm/mach-imx/devices-imx27.h b/arch/arm/mach-imx/devices-imx27.h index 2f727d7c380c..28537a5d9048 100644 --- a/arch/arm/mach-imx/devices-imx27.h +++ b/arch/arm/mach-imx/devices-imx27.h | |||
@@ -50,6 +50,8 @@ extern const struct imx_imx_uart_1irq_data imx27_imx_uart_data[]; | |||
50 | extern const struct imx_mx2_camera_data imx27_mx2_camera_data; | 50 | extern const struct imx_mx2_camera_data imx27_mx2_camera_data; |
51 | #define imx27_add_mx2_camera(pdata) \ | 51 | #define imx27_add_mx2_camera(pdata) \ |
52 | imx_add_mx2_camera(&imx27_mx2_camera_data, pdata) | 52 | imx_add_mx2_camera(&imx27_mx2_camera_data, pdata) |
53 | #define imx27_add_mx2_emmaprp(pdata) \ | ||
54 | imx_add_mx2_emmaprp(&imx27_mx2_camera_data) | ||
53 | 55 | ||
54 | extern const struct imx_mxc_ehci_data imx27_mxc_ehci_otg_data; | 56 | extern const struct imx_mxc_ehci_data imx27_mxc_ehci_otg_data; |
55 | #define imx27_add_mxc_ehci_otg(pdata) \ | 57 | #define imx27_add_mxc_ehci_otg(pdata) \ |
diff --git a/arch/arm/plat-mxc/devices/platform-mx2-camera.c b/arch/arm/plat-mxc/devices/platform-mx2-camera.c index b3f4828dc447..11eace953a09 100644 --- a/arch/arm/plat-mxc/devices/platform-mx2-camera.c +++ b/arch/arm/plat-mxc/devices/platform-mx2-camera.c | |||
@@ -62,3 +62,21 @@ struct platform_device *__init imx_add_mx2_camera( | |||
62 | res, data->iobaseemmaprp ? 4 : 2, | 62 | res, data->iobaseemmaprp ? 4 : 2, |
63 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); | 63 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); |
64 | } | 64 | } |
65 | |||
66 | struct platform_device *__init imx_add_mx2_emmaprp( | ||
67 | const struct imx_mx2_camera_data *data) | ||
68 | { | ||
69 | struct resource res[] = { | ||
70 | { | ||
71 | .start = data->iobaseemmaprp, | ||
72 | .end = data->iobaseemmaprp + data->iosizeemmaprp - 1, | ||
73 | .flags = IORESOURCE_MEM, | ||
74 | }, { | ||
75 | .start = data->irqemmaprp, | ||
76 | .end = data->irqemmaprp, | ||
77 | .flags = IORESOURCE_IRQ, | ||
78 | }, | ||
79 | }; | ||
80 | return imx_add_platform_device_dmamask("m2m-emmaprp", 0, | ||
81 | res, 2, NULL, 0, DMA_BIT_MASK(32)); | ||
82 | } | ||
diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h index def9ba53e23a..1b2258daa05b 100644 --- a/arch/arm/plat-mxc/include/mach/devices-common.h +++ b/arch/arm/plat-mxc/include/mach/devices-common.h | |||
@@ -223,6 +223,8 @@ struct imx_mx2_camera_data { | |||
223 | struct platform_device *__init imx_add_mx2_camera( | 223 | struct platform_device *__init imx_add_mx2_camera( |
224 | const struct imx_mx2_camera_data *data, | 224 | const struct imx_mx2_camera_data *data, |
225 | const struct mx2_camera_platform_data *pdata); | 225 | const struct mx2_camera_platform_data *pdata); |
226 | struct platform_device *__init imx_add_mx2_emmaprp( | ||
227 | const struct imx_mx2_camera_data *data); | ||
226 | 228 | ||
227 | #include <mach/mxc_ehci.h> | 229 | #include <mach/mxc_ehci.h> |
228 | struct imx_mxc_ehci_data { | 230 | struct imx_mxc_ehci_data { |