[media] i.MX: coda: Add platform support for coda in i.MX27
i.MX27 SoC include a codadx6 codec that is able to encode and decode H.264, H.263 and MPEG4. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Acked-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
ccc0e3483c
commit
6d8c4529f8
|
@ -239,8 +239,8 @@ int __init mx27_clocks_init(unsigned long fref)
|
||||||
clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "imx-ssi.0");
|
clk_register_clkdev(clk[ssi1_ipg_gate], NULL, "imx-ssi.0");
|
||||||
clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "imx-ssi.1");
|
clk_register_clkdev(clk[ssi2_ipg_gate], NULL, "imx-ssi.1");
|
||||||
clk_register_clkdev(clk[nfc_baud_gate], NULL, "mxc_nand.0");
|
clk_register_clkdev(clk[nfc_baud_gate], NULL, "mxc_nand.0");
|
||||||
clk_register_clkdev(clk[vpu_baud_gate], "per", "imx-vpu");
|
clk_register_clkdev(clk[vpu_baud_gate], "per", "coda-imx27.0");
|
||||||
clk_register_clkdev(clk[vpu_ahb_gate], "ahb", "imx-vpu");
|
clk_register_clkdev(clk[vpu_ahb_gate], "ahb", "coda-imx27.0");
|
||||||
clk_register_clkdev(clk[dma_ahb_gate], "ahb", "imx-dma");
|
clk_register_clkdev(clk[dma_ahb_gate], "ahb", "imx-dma");
|
||||||
clk_register_clkdev(clk[dma_ipg_gate], "ipg", "imx-dma");
|
clk_register_clkdev(clk[dma_ipg_gate], "ipg", "imx-dma");
|
||||||
clk_register_clkdev(clk[fec_ipg_gate], "ipg", "imx27-fec.0");
|
clk_register_clkdev(clk[fec_ipg_gate], "ipg", "imx27-fec.0");
|
||||||
|
|
|
@ -17,6 +17,10 @@ extern const struct imx_fsl_usb2_udc_data imx27_fsl_usb2_udc_data;
|
||||||
#define imx27_add_fsl_usb2_udc(pdata) \
|
#define imx27_add_fsl_usb2_udc(pdata) \
|
||||||
imx_add_fsl_usb2_udc(&imx27_fsl_usb2_udc_data, pdata)
|
imx_add_fsl_usb2_udc(&imx27_fsl_usb2_udc_data, pdata)
|
||||||
|
|
||||||
|
extern const struct imx_imx27_coda_data imx27_coda_data;
|
||||||
|
#define imx27_add_coda() \
|
||||||
|
imx_add_imx27_coda(&imx27_coda_data)
|
||||||
|
|
||||||
extern const struct imx_imx2_wdt_data imx27_imx2_wdt_data;
|
extern const struct imx_imx2_wdt_data imx27_imx2_wdt_data;
|
||||||
#define imx27_add_imx2_wdt() \
|
#define imx27_add_imx2_wdt() \
|
||||||
imx_add_imx2_wdt(&imx27_imx2_wdt_data)
|
imx_add_imx2_wdt(&imx27_imx2_wdt_data)
|
||||||
|
|
|
@ -15,7 +15,11 @@ config IMX_HAVE_PLATFORM_GPIO_KEYS
|
||||||
|
|
||||||
config IMX_HAVE_PLATFORM_IMX21_HCD
|
config IMX_HAVE_PLATFORM_IMX21_HCD
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
config IMX_HAVE_PLATFORM_IMX27_CODA
|
||||||
|
bool
|
||||||
|
default y if SOC_IMX27
|
||||||
|
|
||||||
config IMX_HAVE_PLATFORM_IMX2_WDT
|
config IMX_HAVE_PLATFORM_IMX2_WDT
|
||||||
bool
|
bool
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ obj-$(CONFIG_IMX_HAVE_PLATFORM_FSL_USB2_UDC) += platform-fsl-usb2-udc.o
|
||||||
obj-$(CONFIG_IMX_HAVE_PLATFORM_GPIO_KEYS) += platform-gpio_keys.o
|
obj-$(CONFIG_IMX_HAVE_PLATFORM_GPIO_KEYS) += platform-gpio_keys.o
|
||||||
obj-y += platform-gpio-mxc.o
|
obj-y += platform-gpio-mxc.o
|
||||||
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX21_HCD) += platform-imx21-hcd.o
|
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX21_HCD) += platform-imx21-hcd.o
|
||||||
|
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX27_CODA) += platform-imx27-coda.o
|
||||||
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX2_WDT) += platform-imx2-wdt.o
|
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX2_WDT) += platform-imx2-wdt.o
|
||||||
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMXDI_RTC) += platform-imxdi_rtc.o
|
obj-$(CONFIG_IMX_HAVE_PLATFORM_IMXDI_RTC) += platform-imxdi_rtc.o
|
||||||
obj-y += platform-imx-dma.o
|
obj-y += platform-imx-dma.o
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2012 Vista Silicon
|
||||||
|
* Javier Martin <javier.martin@vista-silicon.com>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it under
|
||||||
|
* the terms of the GNU General Public License version 2 as published by the
|
||||||
|
* Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <mach/hardware.h>
|
||||||
|
#include <mach/devices-common.h>
|
||||||
|
|
||||||
|
#ifdef CONFIG_SOC_IMX27
|
||||||
|
const struct imx_imx27_coda_data imx27_coda_data __initconst = {
|
||||||
|
.iobase = MX27_VPU_BASE_ADDR,
|
||||||
|
.iosize = SZ_512,
|
||||||
|
.irq = MX27_INT_VPU,
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
struct platform_device *__init imx_add_imx27_coda(
|
||||||
|
const struct imx_imx27_coda_data *data)
|
||||||
|
{
|
||||||
|
struct resource res[] = {
|
||||||
|
{
|
||||||
|
.start = data->iobase,
|
||||||
|
.end = data->iobase + data->iosize - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
}, {
|
||||||
|
.start = data->irq,
|
||||||
|
.end = data->irq,
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
return imx_add_platform_device_dmamask("coda-imx27", 0, res, 2, NULL,
|
||||||
|
0, DMA_BIT_MASK(32));
|
||||||
|
}
|
|
@ -83,6 +83,14 @@ struct platform_device *__init imx_add_imx21_hcd(
|
||||||
const struct imx_imx21_hcd_data *data,
|
const struct imx_imx21_hcd_data *data,
|
||||||
const struct mx21_usbh_platform_data *pdata);
|
const struct mx21_usbh_platform_data *pdata);
|
||||||
|
|
||||||
|
struct imx_imx27_coda_data {
|
||||||
|
resource_size_t iobase;
|
||||||
|
resource_size_t iosize;
|
||||||
|
resource_size_t irq;
|
||||||
|
};
|
||||||
|
struct platform_device *__init imx_add_imx27_coda(
|
||||||
|
const struct imx_imx27_coda_data *data);
|
||||||
|
|
||||||
struct imx_imx2_wdt_data {
|
struct imx_imx2_wdt_data {
|
||||||
int id;
|
int id;
|
||||||
resource_size_t iobase;
|
resource_size_t iobase;
|
||||||
|
|
Loading…
Reference in New Issue