From patchwork Fri Dec 4 08:19:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Neil Armstrong X-Patchwork-Id: 11950937 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 828D3C4361A for ; Fri, 4 Dec 2020 08:20:07 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C435C22573 for ; Fri, 4 Dec 2020 08:20:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C435C22573 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9AAA96E147; Fri, 4 Dec 2020 08:20:05 +0000 (UTC) Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com [IPv6:2a00:1450:4864:20::32b]) by gabe.freedesktop.org (Postfix) with ESMTPS id B5F466E14C for ; Fri, 4 Dec 2020 08:20:03 +0000 (UTC) Received: by mail-wm1-x32b.google.com with SMTP id e25so6252762wme.0 for ; Fri, 04 Dec 2020 00:20:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=UZ5svfXMJc+AWwBiTLp5Fha5BgjT1ddit+NUZxtZtGs=; b=uclD8ntqlHe178z/C0a1JZbbPoF02giQRYLAeX/tb0onC+USZK0ODvFNNGeCiV8JVs ngSvnhLTKmufxYn/ooBdIX3J3grzdq/tdKwhNCan9/krHcJVJZcSfDzlYLCVlZnBh3Z0 3k9+Vtnj1sJRuoD5XQ43qZskxMToP11fqe5mPoG9ijipxGIaQruaYcxSFy41zkUAtPCI TLHCU8RFEHgMVRmCrA8jBTLJd1BoT4IyM7b7M7QgEm0Dh+AuFCqUNwAr69iox4+umnHF uRVSUWgrU2UXCxGyVZlEelWGVrDqVeHj0UKZx1B4xAR6uQDsIgvZUzsOmdqCgZDnnp0E 8WRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UZ5svfXMJc+AWwBiTLp5Fha5BgjT1ddit+NUZxtZtGs=; b=Pym7+dbBTEsBgi0MIzmcYDYLIv2FTgC5uyi5X0RDVacv2L1oHT/hd8p0Ob1Tudg4b6 nQh+G1IDtu4Gb+MXYGmxzoIpOQqk7k0xX/W+XpuqSM/41bkn9Lp+YFyNVkXmaPvUczjL OB4T/LbQFj5m3zd2MWCkeqK2FgVM8X4jL2FTk5EfRsTAde2n8hrHRDJLCjKa3NjhqgwA rbL6ATM9uv4Lkue3tUgwgDvhRYUsoccpnOUlPPYjlF7PnPwwas3v1wofR3jd+1uiHc7E ZnVWR8nVgMldrPv1jQUA4OAO8CH6tFLgHQ+IrEYwK61n7AIBmMKNg4KVP7u11hk2UjKX 78Qg== X-Gm-Message-State: AOAM532WU8ZpKnlKazsMM/+AhmlXRUIOsoMcssK3tCwAy0/FXjZJpqO2 qgYfvc62wZyvUo8p2+5x6JCTRg== X-Google-Smtp-Source: ABdhPJw5prhYp+BiHt+Xg4YTESJ8RYZrrclwzcmsSRsgoHnAjULgj2/fsX3axw0mnPXrEPcmDQv8JQ== X-Received: by 2002:a1c:c204:: with SMTP id s4mr1803494wmf.73.1607070001888; Fri, 04 Dec 2020 00:20:01 -0800 (PST) Received: from localhost.localdomain ([2a01:e35:2ec0:82b0:296a:40d9:d5a0:bbc5]) by smtp.gmail.com with ESMTPSA id b17sm1691156wrv.10.2020.12.04.00.19.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 04 Dec 2020 00:20:01 -0800 (PST) From: Neil Armstrong To: sam@ravnborg.org Subject: [PATCH v2 2/2] drm: panel: add Khadas TS050 panel driver Date: Fri, 4 Dec 2020 09:19:49 +0100 Message-Id: <20201204081949.38418-3-narmstrong@baylibre.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201204081949.38418-1-narmstrong@baylibre.com> References: <20201204081949.38418-1-narmstrong@baylibre.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Neil Armstrong Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This add support for the Khadas TS050 1080x1920 5" LCD DSI panel designed to work with the Khadas Edge-V, Captain, VIM3 and VIM3L Single Board Computers. It provides a MIPI DSI interface to the host, a built-in LED backlight and touch controller. The init values was taken from the vendor source tree, comments were added to the know values but most of the init table is undocumented. Signed-off-by: Neil Armstrong Reviewed-by: Sam Ravnborg --- drivers/gpu/drm/panel/Kconfig | 11 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-khadas-ts050.c | 866 +++++++++++++++++++++ 3 files changed, 878 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-khadas-ts050.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index b4e021ea30f9..8fec45b2ce02 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -145,6 +145,17 @@ config DRM_PANEL_JDI_LT070ME05000 The panel has a 1200(RGB)×1920 (WUXGA) resolution and uses 24 bit per pixel. +config DRM_PANEL_KHADAS_TS050 + tristate "Khadas TS050 panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y here if you want to enable support for Khadas TS050 TFT-LCD + panel module. The panel has a 1080x1920 resolution and uses + 24 bit RGB per pixel. It provides a MIPI DSI interface to + the host, a built-in LED backlight and touch controller. + config DRM_PANEL_KINGDISPLAY_KD097D04 tristate "Kingdisplay kd097d04 panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index ebbf488c7eac..03496695e03f 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -13,6 +13,7 @@ obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) += panel-innolux-p079zca.o obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o +obj-$(CONFIG_DRM_PANEL_KHADAS_TS050) += panel-khadas-ts050.o obj-$(CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04) += panel-kingdisplay-kd097d04.o obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W) += panel-leadtek-ltk050h3146w.o obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829) += panel-leadtek-ltk500hd1829.o diff --git a/drivers/gpu/drm/panel/panel-khadas-ts050.c b/drivers/gpu/drm/panel/panel-khadas-ts050.c new file mode 100644 index 000000000000..ced48a96ffce --- /dev/null +++ b/drivers/gpu/drm/panel/panel-khadas-ts050.c @@ -0,0 +1,866 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2020 BayLibre, SAS + * Author: Neil Armstrong + */ + +#include +#include +#include +#include +#include + +#include