From patchwork Sat Aug 18 02:06:59 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abhinav Kumar X-Patchwork-Id: 10569471 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 CA377109C for ; Sat, 18 Aug 2018 02:07:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A8F262BC8F for ; Sat, 18 Aug 2018 02:07:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9D0A62BC90; Sat, 18 Aug 2018 02:07:12 +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 5DEA92BC92 for ; Sat, 18 Aug 2018 02:07:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725900AbeHRFNB (ORCPT ); Sat, 18 Aug 2018 01:13:01 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:41516 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725862AbeHRFNB (ORCPT ); Sat, 18 Aug 2018 01:13:01 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id B5FBA62413; Sat, 18 Aug 2018 02:07:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1534558028; bh=qMVV334HC4Gl9AG07cZzTMmIYBpOt/cFO0XYcj/XaOw=; h=From:To:Cc:Subject:Date:From; b=OJXLqRnC5F0oHBqRblh7NGL5Uya07Gj/YD7NF3e+p0PTekfrwEEALPUcxi+zrVT6J K79sHXa5M/2tHISKPn0vyR5783pFvs9BoitdI3vzCFRmSmaQxOm/BJ17wfb1V1zcne /SbiE7K3Q+jjF8YBj4EeHDLN9fAUMC+9j+8GSl6o= 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 0595D61661; Sat, 18 Aug 2018 02:07:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1534558025; bh=qMVV334HC4Gl9AG07cZzTMmIYBpOt/cFO0XYcj/XaOw=; h=From:To:Cc:Subject:Date:From; b=A4kJZxCph+G3Hv/C1c8SWhw4EefxacvUdBucKQNCJmetzEveej8ea4/CAf0X5dXQo XhVzOZ+YlMxhE7f8cs2HJ8n7Sf5BICfcRDq9ePO9RmDU6/aE4OJr8xae/zGLFUnI1P lj1m3yR0C7a8p+ekecLiQd5hx67ge1wF1Hki5QtY= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 0595D61661 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 v6 1/2] drm/panel: Add support for Truly NT35597 panel driver Date: Fri, 17 Aug 2018 19:06:59 -0700 Message-Id: <1534558020-9921-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