aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Chen <jason.chen@linaro.org>2011-11-28 14:23:28 +0800
committerJason Chen <jason.chen@linaro.org>2011-11-28 14:23:28 +0800
commit8fb3bd1b7d1174a60d62960bf220dc1cac09cd87 (patch)
tree58bffd7df749d66443a1c9b05fbeba6aea0ddab1
parent6d21b6793648fd07f3335b2f44ae99fa09b589f0 (diff)
imx6q-sabrelite: add ipuv3 fb dt support
Signed-off-by: Jason Chen <jason.chen@linaro.org>
-rw-r--r--arch/arm/boot/dts/imx6q-sabrelite.dts12
-rw-r--r--arch/arm/mach-imx/mach-imx6q.c11
-rw-r--r--drivers/video/mxc/mxc_ipuv3_fb.c6
3 files changed, 29 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/imx6q-sabrelite.dts b/arch/arm/boot/dts/imx6q-sabrelite.dts
index 6d1f57ce32b..95c7fcc2c71 100644
--- a/arch/arm/boot/dts/imx6q-sabrelite.dts
+++ b/arch/arm/boot/dts/imx6q-sabrelite.dts
@@ -68,4 +68,16 @@
linux,default-trigger = "heartbeat";
};
};
+
+ fbs {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "simple-bus";
+ ranges;
+
+ fb@0 {
+ compatible = "fsl,mxcfb_ipuv3";
+ reg = <0x00000000 0x0>; /* reserve fb mem */
+ };
+ };
};
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c
index c662c5f4520..ddb57901f1f 100644
--- a/arch/arm/mach-imx/mach-imx6q.c
+++ b/arch/arm/mach-imx/mach-imx6q.c
@@ -85,9 +85,20 @@ static struct fsl_mxc_hdmi_core_platform_data hdmi_core_data = {
.disp_id = 0,
};
+static struct ipuv3_fb_platform_data sabr_fb_data[] = {
+ { /*fb0*/
+ .disp_dev = "hdmi",
+ .interface_pix_fmt = IPU_PIX_FMT_RGB24,
+ .mode_str = "1280x720M@60",
+ .default_bpp = 16,
+ .int_clk = false,
+ },
+};
+
static const struct of_dev_auxdata imx6q_auxdata_lookup[] __initconst = {
OF_DEV_AUXDATA("fsl,ipuv3", MX6Q_IPU1_BASE_ADDR, "imx-ipuv3.0", &ipuv3_pdata),
OF_DEV_AUXDATA("fsl,ipuv3", MX6Q_IPU2_BASE_ADDR, "imx-ipuv3.1", &ipuv3_pdata),
+ OF_DEV_AUXDATA("fsl,mxcfb_ipuv3", 0, "mxc_sdc_fb.0", &sabr_fb_data[0]),
OF_DEV_AUXDATA("fsl,imx6q-hdmi-core", MX6Q_HDMI_BASE_ADDR, "mxc_hdmi_core.0", &hdmi_core_data),
};
diff --git a/drivers/video/mxc/mxc_ipuv3_fb.c b/drivers/video/mxc/mxc_ipuv3_fb.c
index 63807917350..b65632cc233 100644
--- a/drivers/video/mxc/mxc_ipuv3_fb.c
+++ b/drivers/video/mxc/mxc_ipuv3_fb.c
@@ -2031,12 +2031,18 @@ static int mxcfb_remove(struct platform_device *pdev)
return 0;
}
+static const struct of_device_id mxcfb_ipuv3_dt_ids[] = {
+ { .compatible = "fsl,mxcfb_ipuv3", },
+ { /* sentinel */ }
+};
+
/*!
* This structure contains pointers to the power management callback functions.
*/
static struct platform_driver mxcfb_driver = {
.driver = {
.name = MXCFB_NAME,
+ .of_match_table = mxcfb_ipuv3_dt_ids,
},
.probe = mxcfb_probe,
.remove = mxcfb_remove,