Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp192266pxu; Fri, 4 Dec 2020 00:25:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJyH6wNdF0NKA2H/KPT2xYxgymEKoSNXVtOlwDDhZyvlyHEbzTUjyBszY9bCA7unG3cw4ul1 X-Received: by 2002:a05:6402:1c9b:: with SMTP id cy27mr6388615edb.253.1607070356328; Fri, 04 Dec 2020 00:25:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1607070356; cv=none; d=google.com; s=arc-20160816; b=BabYV04XniAoEfC717QuQDUb+72EMJe8/eupveaMNToCNkxm9uitrmeRq5RO/CrHJe 4v+zSDaYQHp04/IYKemxGHkH9SkI/rLIV5k0qNx8cAU17y3YR5GP9e+zzYcIspcBC9bd uOMLobp5EmzpnYmYu4r3BjeZEUfpAxafe6f7EKJAVx0lgvdHjQdQBImuWK/CO0NUhPsM Y8fM48fMZyZq8VaAO6i08s+UN1hkVibBphnejQar6YFAsi0N3kA3oS1MbInP+Q6cvE3h LL6/obXCBL+ZHqg6KyNaUTFrWr5Whlb/rTo0cb+Es0XhccxFLjUaHrV+cm54mos51Pde PxxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=UZ5svfXMJc+AWwBiTLp5Fha5BgjT1ddit+NUZxtZtGs=; b=PWLoeyp7vDyyWybPyvmdNVzxkqTRt3MDmu4VMlfClU0IZVOofJo0CEbkKsc8EhD/Wb 3mNLbQsZWbJ4158ZLMDFBBAVhe6czfAG30ns6A7uf5gjr5l6qgpmBSvbVaNnqJOJydlq p2G4tYzujGLRWFfqLQGV1omP+DJ4m+o0gBLkUPOQXbRHn1kthSXofz1Vhpg4UyacA7qx RfUVEdEZcXo5Z4sKMV6IsjGDWaDDRJLujdNZYDC787N5j4nXu0/x77b0Qc3BJ3vrVquK m/AXJ9I1hHjjrqyA+pmGMJjNg8kr2Abjxi+6wmnE9iEzZ4fkiz9yzd40LmvcleHrZj4M V4jg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=uclD8ntq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id n6si927534ejy.51.2020.12.04.00.25.32; Fri, 04 Dec 2020 00:25:56 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=uclD8ntq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387474AbgLDIUv (ORCPT + 99 others); Fri, 4 Dec 2020 03:20:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36858 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387448AbgLDIUu (ORCPT ); Fri, 4 Dec 2020 03:20:50 -0500 Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5321AC061A53 for ; Fri, 4 Dec 2020 00:20:04 -0800 (PST) Received: by mail-wm1-x332.google.com with SMTP id v14so4813070wml.1 for ; Fri, 04 Dec 2020 00:20:04 -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=nvsU+sgERM9cdoMMozVOD1YAU44MdcZRScfblCIbtRthQlDqXoVrWoAJs+lQHgo31U yx3ftwU5D2a3egoKA9Bx/WAknW1zlSjJT6T6GgBiVxh2GDFU+DDgIcx4iKuGQR2cA7S3 GTU45YDHueiB64ZU8m+p6YAcSgQPX6rvFIaRab93BT7xyNaK/Kqu3Ooj2M9eNlOgNzFm /eRRGiaYnplyOYN/TKiJC25+b0ymtZOiaFM2ngdEVPAOomwgE2SfoDn8OuJNkfODdFm8 +hjS3zbiY4pMJnOtfgDLMv61uB7DHCgkkKWpExIOzyqaksFi1doDsXYnnR+ACXYK+u1j QdwA== X-Gm-Message-State: AOAM5316bcMbYdM/0bgYCrWQJQG40vqFYHVbdxvdctXdLCE+VD4Xe6Gu IStku6RXeFDGcj1gZ8xCd6yLPA== 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 Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Neil Armstrong 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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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