summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRobby Cai <R63905@freescale.com>2010-03-11 16:45:31 +0800
committerFrank Li <Frank.Li@freescale.com>2010-03-16 12:37:35 +0800
commit114a7aae4446c40e4dc0602bf238d3689cddd9dd (patch)
tree08f5a3cd7b41f08ace9d29c40985ce4d8672862e /arch
parent29fa63bafb6a23666ca8e5664b61e40d7140ce6b (diff)
ENGR00121274-1 [MX23] Porting PxP driver to new MSL
Add MSL-related codes Signed-off-by: Robby Cai <R63905@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mx23/device.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/arm/mach-mx23/device.c b/arch/arm/mach-mx23/device.c
index da3ffe94e99c..31f514b5266a 100644
--- a/arch/arm/mach-mx23/device.c
+++ b/arch/arm/mach-mx23/device.c
@@ -162,6 +162,36 @@ static void __init mx23_init_lcdif(void)
}
#endif
+#if defined(CONFIG_VIDEO_PXP) || \
+ defined(CONFIG_VIDEO_PXP_MODULE)
+static struct resource pxp_resource[] = {
+ {
+ .flags = IORESOURCE_MEM,
+ .start = (unsigned int)IO_ADDRESS(PXP_PHYS_ADDR),
+ .end = (unsigned int)IO_ADDRESS(PXP_PHYS_ADDR) + 0x2000 - 1,
+ }, {
+ .flags = IORESOURCE_IRQ,
+ .start = IRQ_PXP,
+ .end = IRQ_PXP,
+ },
+};
+static void __init mx23_init_pxp(void)
+{
+ struct platform_device *pdev;
+ pdev = mxs_get_device("mxs-pxp", 0);
+ if (pdev == NULL || IS_ERR(pdev))
+ return;
+ pdev->resource = pxp_resource;
+ pdev->num_resources = ARRAY_SIZE(pxp_resource);
+ mxs_add_device(pdev, 3);
+}
+#else
+static void __init mx23_init_pxp(void)
+{
+ ;
+}
+#endif
+
#if defined(CONFIG_I2C_MXS) || \
defined(CONFIG_I2C_MXS_MODULE)
static struct resource i2c_resource[] = {
@@ -586,6 +616,7 @@ int __init mx23_device_init(void)
mx23_init_dcp();
mx23_init_mmc();
mx23_init_lcdif();
+ mx23_init_pxp();
return 0;
}