From e5af227899c5650c39dd115f6e17db18f191e508 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Fri, 14 Mar 2014 10:14:58 +0100 Subject: [PATCH] video: Add i.MX IPUv3 support Signed-off-by: Sascha Hauer --- drivers/video/Kconfig | 2 + drivers/video/Makefile | 1 + drivers/video/imx-ipu-v3/Kconfig | 8 + drivers/video/imx-ipu-v3/Makefile | 3 + drivers/video/imx-ipu-v3/imx-ipu-v3.h | 344 ++++++++++ drivers/video/imx-ipu-v3/ipu-common.c | 836 +++++++++++++++++++++++++ drivers/video/imx-ipu-v3/ipu-dc.c | 392 ++++++++++++ drivers/video/imx-ipu-v3/ipu-di.c | 762 ++++++++++++++++++++++ drivers/video/imx-ipu-v3/ipu-dmfc.c | 397 ++++++++++++ drivers/video/imx-ipu-v3/ipu-dp.c | 313 +++++++++ drivers/video/imx-ipu-v3/ipu-prv.h | 204 ++++++ drivers/video/imx-ipu-v3/ipufb.c | 353 +++++++++++ drivers/video/imx-ipu-v3/ipuv3-plane.c | 239 +++++++ drivers/video/imx-ipu-v3/ipuv3-plane.h | 51 ++ 14 files changed, 3905 insertions(+) create mode 100644 drivers/video/imx-ipu-v3/Kconfig create mode 100644 drivers/video/imx-ipu-v3/Makefile create mode 100644 drivers/video/imx-ipu-v3/imx-ipu-v3.h create mode 100644 drivers/video/imx-ipu-v3/ipu-common.c create mode 100644 drivers/video/imx-ipu-v3/ipu-dc.c create mode 100644 drivers/video/imx-ipu-v3/ipu-di.c create mode 100644 drivers/video/imx-ipu-v3/ipu-dmfc.c create mode 100644 drivers/video/imx-ipu-v3/ipu-dp.c create mode 100644 drivers/video/imx-ipu-v3/ipu-prv.h create mode 100644 drivers/video/imx-ipu-v3/ipufb.c create mode 100644 drivers/video/imx-ipu-v3/ipuv3-plane.c create mode 100644 drivers/video/imx-ipu-v3/ipuv3-plane.h diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 2bab95710..34177b3f0 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -77,6 +77,8 @@ config DRIVER_VIDEO_BCM2835 help Add support for the BCM2835/VideoCore frame buffer device. +source drivers/video/imx-ipu-v3/Kconfig + config DRIVER_VIDEO_SIMPLEFB bool "Simple framebuffer support" depends on OFTREE diff --git a/drivers/video/Makefile b/drivers/video/Makefile index a33284875..ae9f6e545 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -13,3 +13,4 @@ obj-$(CONFIG_DRIVER_VIDEO_SDL) += sdl.o obj-$(CONFIG_DRIVER_VIDEO_OMAP) += omap.o obj-$(CONFIG_DRIVER_VIDEO_BCM2835) += bcm2835.o obj-$(CONFIG_DRIVER_VIDEO_SIMPLEFB) += simplefb.o +obj-$(CONFIG_DRIVER_VIDEO_IMX_IPUV3) += imx-ipu-v3/ diff --git a/drivers/video/imx-ipu-v3/Kconfig b/drivers/video/imx-ipu-v3/Kconfig new file mode 100644 index 000000000..84ef36367 --- /dev/null +++ b/drivers/video/imx-ipu-v3/Kconfig @@ -0,0 +1,8 @@ +config DRIVER_VIDEO_IMX_IPUV3 + bool "i.MX IPUv3 driver" + help + Support the IPUv3 found on Freescale i.MX51/53/6 SoCs + +if DRIVER_VIDEO_IMX_IPUV3 + +endif diff --git a/drivers/video/imx-ipu-v3/Makefile b/drivers/video/imx-ipu-v3/Makefile new file mode 100644 index 000000000..0edc1a4a4 --- /dev/null +++ b/drivers/video/imx-ipu-v3/Makefile @@ -0,0 +1,3 @@ +obj-$(CONFIG_DRIVER_VIDEO_IMX_IPUV3) += ipu-common.o ipu-dmfc.o ipu-di.o +obj-$(CONFIG_DRIVER_VIDEO_IMX_IPUV3) += ipu-dp.o ipuv3-plane.o ipufb.o +obj-$(CONFIG_DRIVER_VIDEO_IMX_IPUV3) += ipu-dc.o diff --git a/drivers/video/imx-ipu-v3/imx-ipu-v3.h b/drivers/video/imx-ipu-v3/imx-ipu-v3.h new file mode 100644 index 000000000..7c48a7ce3 --- /dev/null +++ b/drivers/video/imx-ipu-v3/imx-ipu-v3.h @@ -0,0 +1,344 @@ +/* + * Copyright 2005-2009 Freescale Semiconductor, Inc. + * + * The code contained herein is licensed under the GNU Lesser General + * Public License. You may obtain a copy of the GNU Lesser General + * Public License Version 2.1 or later at the following locations: + * + * http://www.opensource.org/licenses/lgpl-license.html + * http://www.gnu.org/copyleft/lgpl.html + */ + +#ifndef __DRM_IPU_H__ +#define __DRM_IPU_H__ + +#include +#include +#include