From: Hyungwon Hwang Date: Fri, 2 Aug 2013 08:09:48 +0000 (+0900) Subject: DT: support l5f31188 panel X-Git-Tag: submit/tizen/20141121.110247~3344 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a76b1878856e6fdea50085adea1d155c4159e991;p=platform%2Fkernel%2Flinux-3.10.git DT: support l5f31188 panel Signed-off-by: Hyungwon Hwang --- diff --git a/arch/arm/boot/dts/exynos4412-redwoodlte.dts b/arch/arm/boot/dts/exynos4412-redwoodlte.dts index 86fa455..a846ea9 100644 --- a/arch/arm/boot/dts/exynos4412-redwoodlte.dts +++ b/arch/arm/boot/dts/exynos4412-redwoodlte.dts @@ -574,6 +574,61 @@ regulator-always-on; }; + fimd0_lcd: panel { + compatible = "samsung,l5f31188"; + width = <720>; + height = <1280>; + reset-gpio = <&gpf2 1 0>; + reset-delay1 = <15>; + reset-delay2 = <180>; + power-on-delay = <120>; + power-off-delay1 = <100>; + power-off-delay2 = <200>; + vdd-supply = <&ldo25_reg>; + vddi-supply = <&ldo5_reg>; + video-source = <&dsi_0>; + samsung,panel-width-mm = <59>; /* FIXME */ + samsung,panel-height-mm = <105>; /* FIXME */ + + display-timings { + native-mode = <&timing0>; + + timing0: timing-0 { + clock-frequency = <0>; + hactive = <720>; + vactive = <1280>; + hfront-porch = <81>; + hback-porch = <81>; + hsync-len = <27>; + vfront-porch = <11>; + vback-porch = <4>; + vsync-len = <2>; + }; + }; + }; + + dsi_0: dsi@11C80000 { + samsung,pll-stable-time = <500>; + samsung,stop-holding-count = <0x7ff>; + samsung,bta-timeout = <0xff>; + samsung,rx-timeout = <0xffff>; + samsung,pll-clk-freq = <24000000>; + samsung,cmd-allow = <0xf>; + vdd11-supply = <&ldo8_reg>; + vdd18-supply = <&ldo10_reg>; + status = "okay"; + }; + + fimd@11c00000 { + samsung,fimd-display = <&fimd0_lcd>; + samsung,fimd-vidout-rgb; + samsung,fimd-inv-vclk; + samsung,fimd-frame-rate = <60>; + samsung,default-window = <3>; + samsung,fimd-win-bpp = <32>; + status = "okay"; + }; + vidi { compatible = "samsung,exynos-drm-vidi"; }; diff --git a/arch/arm/configs/tizen_defconfig b/arch/arm/configs/tizen_defconfig index 7bc6e6e..481ffe7 100644 --- a/arch/arm/configs/tizen_defconfig +++ b/arch/arm/configs/tizen_defconfig @@ -2149,6 +2149,7 @@ CONFIG_BACKLIGHT_GENERIC=y CONFIG_DISPLAY_CORE=y CONFIG_DISPLAY_PANEL_S6D6AA1=y CONFIG_DISPLAY_PANEL_S6E8AA0=y +CONFIG_DISPLAY_PANEL_L5F31188=y CONFIG_DISPLAY_SOURCE_EXYNOS_DSI=y # diff --git a/drivers/video/display/Kconfig b/drivers/video/display/Kconfig index 49f6dab..f0ab8d2 100644 --- a/drivers/video/display/Kconfig +++ b/drivers/video/display/Kconfig @@ -13,6 +13,11 @@ config DISPLAY_PANEL_S6E8AA0 tristate "S6E8AA0 DSI video mode panel" select OF_VIDEOMODE +config DISPLAY_PANEL_L5F31188 + tristate "L5F31188 DSI video mode panel" + depends on OF + select VIDEOMODE_HELPERS + config DISPLAY_SOURCE_EXYNOS_DSI tristate "Samsung SoC MIPI DSI Master" diff --git a/drivers/video/display/Makefile b/drivers/video/display/Makefile index 55ab711..4cfab97 100644 --- a/drivers/video/display/Makefile +++ b/drivers/video/display/Makefile @@ -1,4 +1,5 @@ obj-$(CONFIG_DISPLAY_CORE) += display-core.o obj-$(CONFIG_DISPLAY_PANEL_S6D6AA1) += panel-s6d6aa1.o obj-$(CONFIG_DISPLAY_PANEL_S6E8AA0) += panel-s6e8aa0.o +obj-$(CONFIG_DISPLAY_PANEL_L5F31188) += panel-l5f31188.o obj-$(CONFIG_DISPLAY_SOURCE_EXYNOS_DSI) += source-exynos_dsi.o diff --git a/drivers/video/display/panel-l5f31188.c b/drivers/video/display/panel-l5f31188.c new file mode 100644 index 0000000..4330a68 --- /dev/null +++ b/drivers/video/display/panel-l5f31188.c @@ -0,0 +1,674 @@ +/* + * Copyright (c) 2013 Samsung Electronics Co., Ltd. All rights reserved. + * Hyungwon Hwang + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include