From patchwork Fri Mar 28 11:52:42 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrzej Hajda X-Patchwork-Id: 3902741 Return-Path: X-Original-To: patchwork-linux-samsung-soc@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 2CF8C9F2E8 for ; Fri, 28 Mar 2014 11:53:50 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0BBC4202FE for ; Fri, 28 Mar 2014 11:53:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B32FB202EC for ; Fri, 28 Mar 2014 11:53:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752115AbaC1Lxi (ORCPT ); Fri, 28 Mar 2014 07:53:38 -0400 Received: from mailout3.w1.samsung.com ([210.118.77.13]:62417 "EHLO mailout3.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752110AbaC1Lxf (ORCPT ); Fri, 28 Mar 2014 07:53:35 -0400 Received: from eucpsbgm1.samsung.com (unknown [203.254.199.244]) by mailout3.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N3500KNOAD92SA0@mailout3.w1.samsung.com>; Fri, 28 Mar 2014 11:53:33 +0000 (GMT) X-AuditID: cbfec7f4-b7f796d000005a13-cc-533562bdf470 Received: from eusync4.samsung.com ( [203.254.199.214]) by eucpsbgm1.samsung.com (EUCPMTA) with SMTP id 06.39.23059.DB265335; Fri, 28 Mar 2014 11:53:33 +0000 (GMT) Received: from AMDC1061.digital.local ([106.116.147.88]) by eusync4.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0N3500JZBACMH5A0@eusync4.samsung.com>; Fri, 28 Mar 2014 11:53:33 +0000 (GMT) From: Andrzej Hajda To: dri-devel@lists.freedesktop.org Cc: Andrzej Hajda , Mark Rutland , devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, Pawel Moll , Ian Campbell , Kyungmin Park , Rob Herring , Kumar Gala , Grant Likely , Sean Paul , Inki Dae , Marek Szyprowski Subject: [PATCH v3 07/12] drm/panel: add S6E8AA0 driver Date: Fri, 28 Mar 2014 12:52:42 +0100 Message-id: <1396007567-4015-8-git-send-email-a.hajda@samsung.com> X-Mailer: git-send-email 1.8.3.2 In-reply-to: <1396007567-4015-1-git-send-email-a.hajda@samsung.com> References: <1396007567-4015-1-git-send-email-a.hajda@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrHLMWRmVeSWpSXmKPExsVy+t/xa7p7k0yDDTYvEra4te4cq8X8I0Di ytf3bBb9bxayWhz4s4PR4tyrlYwWk+5PYLE42/SG3WLG+X1MFmuP3GW3WHr9IpPFhOlrWSxa 9x5ht7i74SyjA5/HmnlrGD1mN1xk8bjc18vksXL5FzaPTas62TzuXNvD5nG/+ziTR9+WVYwe nzfJBXBGcdmkpOZklqUW6dslcGXsO3SLtWBJO1PF/w1rmRsYj1xi7GLk5JAQMJG4OmcHC4Qt JnHh3nq2LkYuDiGBpYwSsw++YIRw+pgkrm16ywZSxSagKfF3800wW0RAWeLvxFVgRcwC75kl 9l6ZDORwcAgLmEt0LJMFMVkEVCXaLteDlPMKOEmcXzObCWKZgsSyL2uZQWxOAWeJVW8ngo0U Aqq587yReQIj7wJGhlWMoqmlyQXFSem5hnrFibnFpXnpesn5uZsYIWH8ZQfj4mNWhxgFOBiV eHhnWJkEC7EmlhVX5h5ilOBgVhLhXWJrGizEm5JYWZValB9fVJqTWnyIkYmDU6qBsdHldaDv b/es9wd6fXiftJaL8L4+w1L2eO7y1LVCDw4qZUlxHFgres/f/GOtdJl0u3TGq+qVj+qUCi84 PRaMvGDRk7U635vpw+6Hxaej7ebvreozf7Ws+jivkr+j9eEG9k/Kd9Tf2B/VVNM7Zx+y/c62 yxlvJrT3WznYRxRd/3ihWOjbsdKdSizFGYmGWsxFxYkAhuqVv0ECAAA= Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, 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 The patch adds MIPI-DSI based S6E8AA0 AMOLED LCD panel driver. Driver uses mipi_dsi bus to communicate with panel and exposes drm_panel interface. Signed-off-by: Andrzej Hajda --- v2 - added bus error handling, - set maxmimum DSI packet size on init, - removed unsupported brightness drm_panel callbacks, - minor improvements v3 - switched to gpiod framework, - minor fixes in error handling --- drivers/gpu/drm/panel/Kconfig | 7 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-s6e8aa0.c | 1069 +++++++++++++++++++++++++++++++++ 3 files changed, 1077 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-s6e8aa0.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index f0fcb62..4ec874d 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -23,4 +23,11 @@ config DRM_PANEL_LD9040 select SPI select VIDEOMODE_HELPERS +config DRM_PANEL_S6E8AA0 + tristate "S6E8AA0 DSI video mode panel" + depends on DRM && DRM_PANEL + depends on OF + select DRM_MIPI_DSI + select VIDEOMODE_HELPERS + endmenu diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 4f7dfce..8b92921 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -1,2 +1,3 @@ obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o obj-$(CONFIG_DRM_PANEL_LD9040) += panel-ld9040.o +obj-$(CONFIG_DRM_PANEL_S6E8AA0) += panel-s6e8aa0.o diff --git a/drivers/gpu/drm/panel/panel-s6e8aa0.c b/drivers/gpu/drm/panel/panel-s6e8aa0.c new file mode 100644 index 0000000..35941d2 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-s6e8aa0.c @@ -0,0 +1,1069 @@ +/* + * MIPI-DSI based s6e8aa0 AMOLED LCD 5.3 inch panel driver. + * + * Copyright (c) 2013 Samsung Electronics Co., Ltd + * + * Inki Dae, + * Donghwa Lee, + * Joongmock Shin + * Eunchul Kim + * Tomasz Figa + * Andrzej Hajda + * + * 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