From patchwork Tue Aug 28 22:39:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abhinav Kumar X-Patchwork-Id: 10579229 X-Patchwork-Delegate: agross@codeaurora.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8814E1805 for ; Tue, 28 Aug 2018 22:40:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 74C012AAA6 for ; Tue, 28 Aug 2018 22:40:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 685932AAB1; Tue, 28 Aug 2018 22:40:02 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2B71E2AACF for ; Tue, 28 Aug 2018 22:40:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727216AbeH2Cdr (ORCPT ); Tue, 28 Aug 2018 22:33:47 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:51650 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727067AbeH2Cdq (ORCPT ); Tue, 28 Aug 2018 22:33:46 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id B1F5A6074F; Tue, 28 Aug 2018 22:39:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1535495998; bh=qMVV334HC4Gl9AG07cZzTMmIYBpOt/cFO0XYcj/XaOw=; h=From:To:Cc:Subject:Date:From; b=XTrPh4XDfgH6Qh3I8CE4AGtWtjapg5KU7L+0Bv9N5LwIhV6vHFfTCvyq3/WTVFcv5 VdUsd/PUiGguPzh7DDCwGq+FhtEAzWHWwyEzfRUs634WKWyOJ5X40xgyBlDzcD3539 ZZCtPP4/nobWCj9DtbUo5ficLPNDhMEimCEj+G2A= Received: from abhinavk-linux.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: abhinavk@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 2EEF860452; Tue, 28 Aug 2018 22:39:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1535495993; bh=qMVV334HC4Gl9AG07cZzTMmIYBpOt/cFO0XYcj/XaOw=; h=From:To:Cc:Subject:Date:From; b=cHMYcenEEC5Ke7QEVwIjlOFONGmuauGjF/HVqNxI75G4YjdNftt7dDlrrIgFrbrvd 8y/thU7HGPTB1dWN+VU6ZYPBPPt2GZ3RsyYI/hJMupuhwnovYoBi82iWQ3h1zklklU iCC6zEAgbY8eAyl9NCph1c53Af/25N+Ie7EeIEq8= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 2EEF860452 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=abhinavk@codeaurora.org From: Abhinav Kumar To: dri-devel@lists.freedesktop.org Cc: "abhinavk@codeaurora.org" , linux-arm-msm@vger.kernel.org, robdclark@gmail.com, seanpaul@chromium.org, nganji@codeaurora.org, chandanu@codeaurora.org, hoegsberg@google.com, architt@codeaurora.org, thierry.reding@gmail.com, robh@kernel.org, linus.walleij@linaro.org Subject: [PATCH RESEND v6 1/2] drm/panel: Add support for Truly NT35597 panel driver Date: Tue, 28 Aug 2018 15:39:46 -0700 Message-Id: <1535495987-22527-1-git-send-email-abhinavk@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: "abhinavk@codeaurora.org" Add support for Truly NT35597 panel driver used in MSM reference platforms. This panel driver supports both single DSI and dual DSI modes. However, this patch series adds support only for dual DSI mode. Changes in v6: - Introduce panel config to store panel specific details - Bring back the size member for the panel command structure to make the design more scalable - Move the display mode from the DT to driver - Change the compatible string to indicate which which board and panel it will be used for - Rename the functions to match the panel driver - Have a data member for each compatible string - Remove the panel commands split as its not required for the panel init functionality Signed-off-by: Archit Taneja Signed-off-by: Abhinav Kumar --- drivers/gpu/drm/panel/Kconfig | 8 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-truly-nt35597.c | 705 ++++++++++++++++++++++++++++ 3 files changed, 714 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-truly-nt35597.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 6020c30..7ae74c2 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -186,4 +186,12 @@ config DRM_PANEL_SITRONIX_ST7789V Say Y here if you want to enable support for the Sitronix ST7789V controller for 240x320 LCD panels +config DRM_PANEL_TRULY_NT35597_WQXGA + tristate "Truly WQXGA" + depends on OF + depends on DRM_MIPI_DSI + select VIDEOMODE_HELPERS + help + Say Y here if you want to enable support for Truly NT35597 WQXGA Dual DSI + Video Mode panel endmenu diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 5ccaaa9..80fd19f 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -19,3 +19,4 @@ obj-$(CONFIG_DRM_PANEL_SEIKO_43WVF1G) += panel-seiko-43wvf1g.o obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o obj-$(CONFIG_DRM_PANEL_SHARP_LS043T1LE01) += panel-sharp-ls043t1le01.o obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o +obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o diff --git a/drivers/gpu/drm/panel/panel-truly-nt35597.c b/drivers/gpu/drm/panel/panel-truly-nt35597.c new file mode 100644 index 0000000..691be03 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-truly-nt35597.c @@ -0,0 +1,705 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2018, The Linux Foundation. All rights reserved. + */ + +#include +#include +#include +#include +#include + +#include