From patchwork Thu Jul 17 20:43:50 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajay Kumar X-Patchwork-Id: 4587111 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 6CA139F39B for ; Fri, 18 Jul 2014 18:13:48 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 5659420142 for ; Fri, 18 Jul 2014 18:13:47 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 2AF2C20166 for ; Fri, 18 Jul 2014 18:13:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A2DF96E7FA; Fri, 18 Jul 2014 11:13:31 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mailout3.samsung.com (mailout3.samsung.com [203.254.224.33]) by gabe.freedesktop.org (Postfix) with ESMTP id 3DB3E6E6BD for ; Thu, 17 Jul 2014 13:47:03 -0700 (PDT) Received: from epcpsbgr3.samsung.com (u143.gpu120.samsung.co.kr [203.254.230.143]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N8V00BUVJ2E1D70@mailout3.samsung.com> for dri-devel@lists.freedesktop.org; Fri, 18 Jul 2014 05:47:02 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [172.20.52.124]) by epcpsbgr3.samsung.com (EPCPMTA) with SMTP id A2.05.14704.64638C35; Fri, 18 Jul 2014 05:47:02 +0900 (KST) X-AuditID: cbfee68f-b7fef6d000003970-a5-53c836465709 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 9C.C6.05196.64638C35; Fri, 18 Jul 2014 05:47:02 +0900 (KST) Received: from chromebld-server.sisodomain.com ([107.108.73.106]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0N8V002BCJ1T7D60@mmp1.samsung.com>; Fri, 18 Jul 2014 05:47:02 +0900 (KST) From: Ajay Kumar To: dri-devel@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org Subject: [PATCH V5 04/12] drm/panel: Add driver for lvds/edp based panels Date: Fri, 18 Jul 2014 02:13:50 +0530 Message-id: <1405629839-12086-5-git-send-email-ajaykumar.rs@samsung.com> X-Mailer: git-send-email 1.7.9.5 In-reply-to: <1405629839-12086-1-git-send-email-ajaykumar.rs@samsung.com> References: <1405629839-12086-1-git-send-email-ajaykumar.rs@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrIIsWRmVeSWpSXmKPExsWyRsSkRtfN7ESwwZInkhYH3h9ksdjwZiGz xcKHd5ktrnx9z2Yx6f4EFotrv2ewWVxeeInV4vuuL+wWM87vY7JYdXgDu8WURYdZLZ4v/MFs MfdgrsXPXfNYHPg8/s5uZfbY+20Bi8fOWXfZPRZsKvW4332cyaNvyypGj8+b5ALYo7hsUlJz MstSi/TtErgy2r5+Ziv46FFx5RJ3A+N7my5GTg4JAROJzgvnWSFsMYkL99azdTFycQgJLGWU ePJxGyNM0bLOO1CJRYwSn77sZoVwJjBJPD3TD9bOJqAtsW36TRYQW0TATaLp8EywImaBbUwS 8w9cYgdJCAt4Svy4dJEJxGYRUJW4OOMfM4jNK+AhcWn/QqAaDqB1ChJzJoGdxwlUPrPzB9hM IaCSn7u/M4PMlBC4xi7R9LWREWKOgMS3yYdYIHplJTYdYIa4WlLi4IobLBMYhRcwMqxiFE0t SC4oTkovMtYrTswtLs1L10vOz93ECIye0/+e9e9gvHvA+hBjMtC4icxSosn5wOjLK4k3NDYz sjA1MTU2Mrc0I01YSZz3/sOkICGB9MSS1OzU1ILUovii0pzU4kOMTBycUg2My+/mX5oesLbt y8yktY9uvBaK2N5yqePMnJ5vvOc26ufVbzSW2+RmZxzCLMnozjW7z/OLwMr1kuc1ZgesStVQ sbjsuCTzxgJV923pMi8frije8muzl2R7Tyyf28MVKV2Bhpbix31VT19Q3puc6vrTiWdK5Z1d 2QuP1Xldj/W153jszH1KUXSWEktxRqKhFnNRcSIAVy+HLLQCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrAIsWRmVeSWpSXmKPExsVy+t9jAV03sxPBBote8VkceH+QxWLDm4XM Fgsf3mW2uPL1PZvFpPsTWCyu/Z7BZnF54SVWi++7vrBbzDi/j8li1eEN7BZTFh1mtXi+8Aez xdyDuRY/d81jceDz+Du7ldlj77cFLB47Z91l91iwqdTjfvdxJo++LasYPT5vkgtgj2pgtMlI TUxJLVJIzUvOT8nMS7dV8g6Od443NTMw1DW0tDBXUshLzE21VXLxCdB1y8wBOllJoSwxpxQo FJBYXKykb4dpQmiIm64FTGOErm9IEFyPkQEaSFjDmNH29TNbwUePiiuXuBsY39t0MXJySAiY SCzrvMMGYYtJXLi3Hsjm4hASWMQo8enLblYIZwKTxNMz/awgVWwC2hLbpt9kAbFFBNwkmg7P BCtiFtjGJDH/wCV2kISwgKfEj0sXmUBsFgFViYsz/jGD2LwCHhKX9i8EquEAWqcgMWcS2BWc QOUzO3+AzRQCKvm5+zvzBEbeBYwMqxhFUwuSC4qT0nON9IoTc4tL89L1kvNzNzGCY/OZ9A7G VQ0WhxgFOBiVeHgtbh4PFmJNLCuuzD3EKMHBrCTCm30fKMSbklhZlVqUH19UmpNafIjRFOio icxSosn5wLSRVxJvaGxibmpsamliYWJmqSTOe7DVOlBIID2xJDU7NbUgtQimj4mDU6qBscor 1SzkcmP3JxlxHtVqX6buhedCUkKXLHS2Eow46m2VfSanlq2vRaAg5tUncwuZqvWGf3fM8z7D taBqS/x/sXfeTNdPK+zRvH/KdoKq5amSMxueX0pJjPrz5MXHpNrUxb7TOPdM93Xc0P9saeYE vvlvJnZsY6t7e/7hQgnlV+sLn5p4rb4VosRSnJFoqMVcVJwIAED0EyTjAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-Mailman-Approved-At: Fri, 18 Jul 2014 11:13:28 -0700 Cc: seanpaul@google.com, daniel.vetter@ffwll.ch, joshi@samsung.com, ajaynumb@gmail.com, javier@dowhile0.org, prashanth.g@samsung.com, Ajay Kumar , Rahul Sharma X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This patch adds a simple driver to handle all the LCD and LED powerup/down routines needed to support eDP/LVDS panels. The LCD and LED units are usually powered up via regulators, and almost on all boards, we will have a BACKLIGHT_EN pin to enable/ disable the backlight. Sometimes, we can have LCD_EN switches as well. The routines in this driver can be used to control panel power sequence on such boards. Signed-off-by: Ajay Kumar Signed-off-by: Rahul Sharma --- drivers/gpu/drm/panel/Kconfig | 10 ++ drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-lvds.c | 268 ++++++++++++++++++++++++++++++++++++ 3 files changed, 279 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-lvds.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 4ec874d..8fe7ee5 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -30,4 +30,14 @@ config DRM_PANEL_S6E8AA0 select DRM_MIPI_DSI select VIDEOMODE_HELPERS +config DRM_PANEL_EDP_LVDS + tristate "support for eDP/LVDS panels" + depends on OF && DRM_PANEL + select VIDEOMODE_HELPERS + help + DRM panel driver for direct eDP panels or LVDS connected + via DP bridges, that need at most a regulator for LCD unit, + a regulator for LED unit and/or enable GPIOs for LCD or LED units. + Delay values can also be specified to support powerup and + powerdown process. endmenu diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 8b92921..eaafa01 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -1,3 +1,4 @@ obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o obj-$(CONFIG_DRM_PANEL_LD9040) += panel-ld9040.o obj-$(CONFIG_DRM_PANEL_S6E8AA0) += panel-s6e8aa0.o +obj-$(CONFIG_DRM_PANEL_EDP_LVDS) += panel-lvds.o diff --git a/drivers/gpu/drm/panel/panel-lvds.c b/drivers/gpu/drm/panel/panel-lvds.c new file mode 100644 index 0000000..ce20587 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-lvds.c @@ -0,0 +1,268 @@ +/* + * panel driver for lvds and eDP panels + * + * Copyright (c) 2014 Samsung Electronics Co., Ltd + * + * Ajay Kumar + * + * 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