From 7258cc14f310b912b6fea5421aedb9beb69d8581 Mon Sep 17 00:00:00 2001 From: Donghwa Lee Date: Wed, 8 Feb 2012 12:47:39 -0800 Subject: video: support MIPI-DSI controller driver Samsung S5PC210 and EXYNOS SoC platform has MIPI-DSI controller and MIPI-DSI based LCD Panel could be used with it. This patch supports MIPI-DSI driver based Samsung SoC chip. LCD panel driver based MIPI-DSI should be registered to MIPI-DSI driver at machine code and LCD panel driver specific function registered to mipi_dsim_ddi structure at lcd panel init function called system init. In the MIPI-DSI driver, find lcd panel driver by using registered lcd panel name, and then initialize lcd panel driver. Signed-off-by: Donghwa Lee Signed-off-by: Inki Dae Signed-off-by: Kyungmin Park Acked-by: Jingoo Han Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Florian Tobias Schandinat --- drivers/video/exynos/Kconfig | 22 + drivers/video/exynos/Makefile | 6 + drivers/video/exynos/exynos_mipi_dsi.c | 600 ++++++++++++++++ drivers/video/exynos/exynos_mipi_dsi_common.c | 896 ++++++++++++++++++++++++ drivers/video/exynos/exynos_mipi_dsi_common.h | 46 ++ drivers/video/exynos/exynos_mipi_dsi_lowlevel.c | 618 ++++++++++++++++ drivers/video/exynos/exynos_mipi_dsi_lowlevel.h | 112 +++ drivers/video/exynos/exynos_mipi_dsi_regs.h | 149 ++++ 8 files changed, 2449 insertions(+) create mode 100644 drivers/video/exynos/Kconfig create mode 100644 drivers/video/exynos/Makefile create mode 100644 drivers/video/exynos/exynos_mipi_dsi.c create mode 100644 drivers/video/exynos/exynos_mipi_dsi_common.c create mode 100644 drivers/video/exynos/exynos_mipi_dsi_common.h create mode 100644 drivers/video/exynos/exynos_mipi_dsi_lowlevel.c create mode 100644 drivers/video/exynos/exynos_mipi_dsi_lowlevel.h create mode 100644 drivers/video/exynos/exynos_mipi_dsi_regs.h (limited to 'drivers/video/exynos') diff --git a/drivers/video/exynos/Kconfig b/drivers/video/exynos/Kconfig new file mode 100644 index 000000000000..645b8a597199 --- /dev/null +++ b/drivers/video/exynos/Kconfig @@ -0,0 +1,22 @@ +# +# Exynos Video configuration +# + +menuconfig EXYNOS_VIDEO + bool "Exynos Video driver support" + help + This enables support for EXYNOS Video device. + +if EXYNOS_VIDEO + +# +# MIPI DSI driver +# + +config EXYNOS_MIPI_DSI + bool "EXYNOS MIPI DSI driver support." + depends on (ARCH_S5PV210 || ARCH_EXYNOS) + help + This enables support for MIPI-DSI device. + +endif # EXYNOS_VIDEO diff --git a/drivers/video/exynos/Makefile b/drivers/video/exynos/Makefile new file mode 100644 index 000000000000..a1ae82abd6b8 --- /dev/null +++ b/drivers/video/exynos/Makefile @@ -0,0 +1,6 @@ +# +# Makefile for the exynos video drivers. +# + +obj-$(CONFIG_EXYNOS_MIPI_DSI) += exynos_mipi_dsi.o exynos_mipi_dsi_common.o \ + exynos_mipi_dsi_lowlevel.o diff --git a/drivers/video/exynos/exynos_mipi_dsi.c b/drivers/video/exynos/exynos_mipi_dsi.c new file mode 100644 index 000000000000..557091dc0e97 --- /dev/null +++ b/drivers/video/exynos/exynos_mipi_dsi.c @@ -0,0 +1,600 @@ +/* linux/drivers/video/exynos/exynos_mipi_dsi.c + * + * Samsung SoC MIPI-DSIM driver. + * + * Copyright (c) 2012 Samsung Electronics Co., Ltd + * + * InKi Dae, + * Donghwa Lee, + * + * 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include