From patchwork Tue Dec 9 09:29:05 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Hyungwon Hwang X-Patchwork-Id: 5461481 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id F292ABEEA8 for ; Tue, 9 Dec 2014 09:29:49 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 5629C2015E for ; Tue, 9 Dec 2014 09:29:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 954612012B for ; Tue, 9 Dec 2014 09:29:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755580AbaLIJ3p (ORCPT ); Tue, 9 Dec 2014 04:29:45 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:19069 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755213AbaLIJ3R (ORCPT ); Tue, 9 Dec 2014 04:29:17 -0500 MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 Received: from epcpsbgr2.samsung.com (u142.gpu120.samsung.co.kr [203.254.230.142]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0NGB00I976COKWB0@mailout3.samsung.com>; Tue, 09 Dec 2014 18:29:12 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [172.20.52.116]) by epcpsbgr2.samsung.com (EPCPMTA) with SMTP id 18.6F.11124.8E0C6845; Tue, 09 Dec 2014 18:29:12 +0900 (KST) X-AuditID: cbfee68e-f79b46d000002b74-59-5486c0e88792 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 12.A4.09430.8E0C6845; Tue, 09 Dec 2014 18:29:12 +0900 (KST) Content-transfer-encoding: 8BIT Received: from localhost.localdomain ([10.88.98.185]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0NGB00J246CKOU70@mmp2.samsung.com>; Tue, 09 Dec 2014 18:29:11 +0900 (KST) From: Hyungwon Hwang To: dri-devel@lists.freedesktop.org Cc: airlied@linux.ie, devicetree@vger.kernel.org, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, linux-samsung-soc@vger.kernel.org, kyungmin.park@samsung.com, inki.dae@samsung.com, a.hajda@samsung.com, kgene.kim@samsung.com, thierry.reding@gmail.com, Hyungwon Hwang Subject: [PATCH v2 2/3] drm/panel: add s6e63j0x03 LCD panel driver Date: Tue, 09 Dec 2014 18:29:05 +0900 Message-id: <1418117346-9078-3-git-send-email-human.hwang@samsung.com> X-Mailer: git-send-email 1.9.1 In-reply-to: <1418117346-9078-1-git-send-email-human.hwang@samsung.com> References: <1418117346-9078-1-git-send-email-human.hwang@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrLIsWRmVeSWpSXmKPExsWyRsSkRPfFgbYQg1dblC1urTvHatF77iST xfwjQNaVr+/ZLPrfLGS1WDqjj9Xi3KuVjBaT7k9gsehdcJXN4mzTG3aLGef3MVksvX6RyWLC 9LUsFq17j7Bb/Nw1j8WB32PNvDWMHpf7epk8ds66y+6xcvkXNo9NqzrZPLZ/e8Dqcb/7OJNH 35ZVjB6fN8kFcEZx2aSk5mSWpRbp2yVwZTz4foC5YH8bY8XHnXNZGxjf5nYxcnBICJhItF1U 62LkBDLFJC7cW88GYgsJLGWUmLFICSJuItH9/ThjFyMXUHw6o8SvCR+ZQRK8AoISPybfYwGZ wywgL3HkUjZImFlAXWLSvEXMEPWtTBKNB06B1bMJ6EksuPaDHcQWEVCW+DtxFSNEw0cmiad/ wI4QFnCS2LKhGewIFgFViSWn/7NA7HKTeLG6lwXiIDmJk8cms4LYnALuEh3PJrBAHO0msfnV XhaQxRICSzkk2lp2skAMEpD4NvkQC8TDshKbDjBDzJGUOLjiBssERrFZSN6ZhfDOLCTvLGBk XsUomlqQXFCclF5kpFecmFtcmpeul5yfu4kRGOun/z3r28F484D1IUYBDkYlHl5Ny7YQIdbE suLK3EOMpkBHTGSWEk3OByaUvJJ4Q2MzIwtTE1NjI3NLMyVx3gSpn8FCAumJJanZqakFqUXx RaU5qcWHGJk4OKUaGDkc3/l+/bbzJdvtmN92FzRuqxoJzjt0yymWr+1+BJti70a/He38r9nk N7Jx7ytg8Hj046/93T3Jn+88KuRy285qqrdltcveiu9f3HPerln7J1ZLaNLuhZu1TuoePXzN X9TPqfny35mvN52cYidUZTd9186zrr9LVzU1dMk739l3ftpxV/PLpVeUWIozEg21mIuKEwET hVEe8AIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrJKsWRmVeSWpSXmKPExsVy+t9jQd0XB9pCDK5eFLa4te4cq0XvuZNM FvOPAFlXvr5ns+h/s5DVYumMPlaLc69WMlpMuj+BxaJ3wVU2i7NNb9gtZpzfx2Sx9PpFJosJ 09eyWLTuPcJu8XPXPBYHfo8189Ywelzu62Xy2DnrLrvHyuVf2Dw2repk89j+7QGrx/3u40we fVtWMXp83iQXwBnVwGiTkZqYklqkkJqXnJ+SmZduq+QdHO8cb2pmYKhraGlhrqSQl5ibaqvk 4hOg65aZA/SDkkJZYk4pUCggsbhYSd8O04TQEDddC5jGCF3fkCC4HiMDNJCwhjHjwfcDzAX7 2xgrPu6cy9rA+Da3i5GTQ0LARKL7+3FGCFtM4sK99WxdjFwcQgLTGSV+TfjIDJLgFRCU+DH5 HksXIwcHs4C8xJFL2SBhZgF1iUnzFjFD1LcySTQeOAVWzyagJ7Hg2g92EFtEQFni78RVjBAN H5kknv5RA7GFBZwktmxoZgOxWQRUJZac/s8CsctN4sXqXhaIg+QkTh6bzApicwq4S3Q8mwAW FwKq2fxqL8sERoFZSM6bhXDeLCTnLWBkXsUomlqQXFCclJ5rpFecmFtcmpeul5yfu4kRnEye Se9gXNVgcYhRgINRiYdXw7ItRIg1say4MvcQowQHs5IIr9JSoBBvSmJlVWpRfnxRaU5q8SFG U6DDJzJLiSbnAxNdXkm8obGJmZGlkbmhhZGxuZI4r5I9UJNAemJJanZqakFqEUwfEwenVANj f0f1FwvLGDerS3vtJ24Vkti9/6k6rwPPTKlb4TMCLtzr9TrAmP6v9kbLj8Wh1iXnZBpWHdk3 bbvHDM8FU1i9ZTiUqjdOyp6yrsg25djTgkijmhkJZ1/9SniRVxzRZfx3odPc1sgcYd4vWe/O HThfsSGfJUQ88Ygf23ZfdeN7/c6MRxcKrT6rxFKckWioxVxUnAgAfz9MMDwDAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected 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=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_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 From: Inki Dae This patch adds MIPI-DSI based S6E63J0X03 AMOLED LCD panel driver which uses mipi_dsi bus to communicate with panel. The panel has 320×320 resolution in 1.63-inch physical panel. This panel is used in Samsung Galaxy Gear 2. Signed-off-by: Inki Dae Signed-off-by: Hyungwon Hwang Acked-by: Kyungmin Park --- Changes for v2: - Change the gamma table to 2-dimensional array - Change the way to make index for brightness - Make command functions to an array so that it can be called simply - Change command id for reading device ID - Change the way to handle the error condition - Remove power variable, and use the same name variable in bl_dev - Add the state FB_BLANK_NORMAL to represent the state which the panel is working but blanked - Miscellaneous changes to increase the readability and follow the coding-style standard drivers/gpu/drm/panel/Kconfig | 6 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-s6e63j0x03.c | 549 +++++++++++++++++++++++++++++++ 3 files changed, 556 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-s6e63j0x03.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index bee9f72..bc133e2 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -27,4 +27,10 @@ config DRM_PANEL_S6E8AA0 select DRM_MIPI_DSI select VIDEOMODE_HELPERS +config DRM_PANEL_S6E63J0X03 + tristate "S6E63J0X03 DSI video mode 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 8b92921..7f36dc2 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_S6E63J0X03) += panel-s6e63j0x03.o diff --git a/drivers/gpu/drm/panel/panel-s6e63j0x03.c b/drivers/gpu/drm/panel/panel-s6e63j0x03.c new file mode 100644 index 0000000..28e4a51 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-s6e63j0x03.c @@ -0,0 +1,549 @@ +/* + * MIPI-DSI based S6E63J0X03 AMOLED lcd 1.63 inch panel driver. + * + * Copyright (c) 2014 Samsung Electronics Co., Ltd + * + * Inki Dae, + * + * 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