From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vinay Simha BN Subject: [PATCH v3] drm/panel: Add JDI LT070ME05000 WUXGA DSI Panel Date: Thu, 2 Jun 2016 08:44:32 +0530 Message-ID: <1464837274-27689-1-git-send-email-simhavcs@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Sender: linux-kernel-owner@vger.kernel.org Cc: Vinay Simha BN , Archit Taneja , Sumit Semwal , John Stultz , Rob Clark , Thierry Reding , David Airlie , open list , "open list:DRM PANEL DRIVERS" List-Id: dri-devel@lists.freedesktop.org Add support for the JDI lt070me05000 WUXGA DSI panel used in Nexus 7 2013 devices. Programming sequence for the panel is was originally found in the android-msm-flo-3.4-lollipop-release branch from: https://android.googlesource.com/kernel/msm.git And video mode setting is from dsi-panel-jdi-dualmipi1-video.dtsi file in: git://codeaurora.org/kernel/msm-3.10.git LNX.LA.3.6_rb1.27 Other fixes folded in were provided by Archit Taneja Cc: Archit Taneja [sumit.semwal: Ported to the drm/panel framework] Signed-off-by: Sumit Semwal [jstultz: Cherry-picked to mainline, folded down other fixes from Vinay and Archit] Signed-off-by: John Stultz [vinay simha bn: removed interface setting cmd mode, video mode panel setting selection] Cc: Rob Clark Signed-off-by: Vinay Simha BN -- v2: * incorporated code reviews from theiry, archit code style, alphabetical soring in Makefile, Kconfig, regulator_bulk= , arrays of u8, generic helper function, documentation bindings, v3: * dcs backlight support added * tested this panel driver in nexus7 2013 device --- drivers/gpu/drm/panel/Kconfig | 11 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-jdi-lt070me05000.c | 479 +++++++++++++++++= ++++++++ 3 files changed, 491 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-jdi-lt070me05000.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kcon= fig index 1500ab9..83e89e7 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -7,6 +7,17 @@ config DRM_PANEL menu "Display Panels" depends on DRM && DRM_PANEL =20 +config DRM_PANEL_JDI_LT070ME05000 + tristate "JDI LT070ME05000 WUXGA DSI panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y here if you want to enable support for JDI WUXGA DSI video + mode panel as found in Google Nexus 7 (2013) devices. + The panel has a 1200(RGB)=C3=971920 (WUXGA) resolution and uses + 24 bit RGB per pixel. + config DRM_PANEL_SIMPLE tristate "support for simple panels" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Mak= efile index f277eed..5d74ac2 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -1,3 +1,4 @@ +obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) +=3D panel-jdi-lt070me05000.o obj-$(CONFIG_DRM_PANEL_SIMPLE) +=3D panel-simple.o obj-$(CONFIG_DRM_PANEL_LG_LG4573) +=3D panel-lg-lg4573.o obj-$(CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00) +=3D panel-panasonic-vv= x10f034n00.o diff --git a/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c b/drivers/g= pu/drm/panel/panel-jdi-lt070me05000.c new file mode 100644 index 0000000..44a1aff2f --- /dev/null +++ b/drivers/gpu/drm/panel/panel-jdi-lt070me05000.c @@ -0,0 +1,479 @@ +/* + * Copyright (C) 2016 InforceComputing + * Author: Vinay Simha BN + * + * Copyright (C) 2016 Linaro Ltd + * Author: Sumit Semwal + * + * From internet archives, the panel for Nexus 7 2nd Gen, 2013 model i= s a + * JDI model LT070ME05000, and its data sheet is at: + * http://panelone.net/en/7-0-inch/JDI_LT070ME05000_7.0_inch-datasheet + * + * This program is free software; you can redistribute it and/or modif= y it + * under the terms of the GNU General Public License version 2 as publ= ished by + * the Free Software Foundation. + * + * 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 Licen= se for + * more details. + * + * You should have received a copy of the GNU General Public License a= long with + * this program. If not, see . + */ + +#include +#include +#include +#include + +#include +#include +#include +#include + +#include