From mboxrd@z Thu Jan 1 00:00:00 1970 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.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,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 D6321C4361B for ; Fri, 4 Dec 2020 08:21:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 87909225AC for ; Fri, 4 Dec 2020 08:21:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387487AbgLDIUv (ORCPT ); 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-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 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