From patchwork Mon Jun 6 23:05:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Teguh Sobirin X-Patchwork-Id: 12871147 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4897ACCA484 for ; Mon, 6 Jun 2022 23:05:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232378AbiFFXFs (ORCPT ); Mon, 6 Jun 2022 19:05:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60500 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235206AbiFFXFq (ORCPT ); Mon, 6 Jun 2022 19:05:46 -0400 Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01olkn2045.outbound.protection.outlook.com [40.92.107.45]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C50F35DE4; Mon, 6 Jun 2022 16:05:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aC6qtUoTYeiNFIGqSepR+FN2VmfNMFl33xHam+xn50RoNUdmRJhYdopGnllGZKlOgjfsNe4O07tDrqyl8n7aurbgCdzlWZtkAWlfL0+jBIhuR5wsnFkGcmm359FdMDa6Z0dHJJ4/Iqa8BDx6weTGlQTqXhDPK/N14UxvGWDGdKf/JN3YN66pVs9uKmxnIWZwOT9eEz0mslpwsmnZju3EiWIqAuQ+Fy/aF3W1YCD+1AtAqyu1uxKj2zrF1EOAuVhQvmK3XE3rvLTmYtwHM9htA9/sxZJB67VZ05eudQCjUlMepla0Kb57R8m6nKWCuAKBK6rRZ6t+pS8A7l7K28jqCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=PzeIRvSm1z/qoNQEOhlsrvODgJQHnTr+rVnJabpJmLM=; b=VZJ5XrwnfDb0bRaJ0FV1rFTNtIX5P3pR+9Yie72/mDZLudjFC9dbyZ3vQedAYT/bspTKGZYQTaSHR8z7hSMcbzY9SquCsySCXP0P6//6u1wcy8fKFoyjVCH3xk6U9MiWeHajvq5POfuViJGuPGBq8azwkz0Hrw+kZzWBABvE+A8sBBoBwPz3V+CGhOmd3S46xtqJFY4dBkrJ7eDPhB8iQ4GdFWeBfE1OAevA2iGbc4/eABJfybrC65+AiEzfLtWYcsVW5uthK78rPD8yn1wshlxQJ7vtHIvtf/pwy51UDEyq9n5RzcbTgUBnDTk3jsKSYCdFrqN5tiX861my/ZVbJQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from SEZPR03MB6666.apcprd03.prod.outlook.com (2603:1096:101:7d::6) by PUZPR03MB6187.apcprd03.prod.outlook.com (2603:1096:301:ba::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.6; Mon, 6 Jun 2022 23:05:39 +0000 Received: from SEZPR03MB6666.apcprd03.prod.outlook.com ([fe80::9129:13b:1fd4:1961]) by SEZPR03MB6666.apcprd03.prod.outlook.com ([fe80::9129:13b:1fd4:1961%3]) with mapi id 15.20.5332.007; Mon, 6 Jun 2022 23:05:39 +0000 From: Teguh Sobirin To: Andy Gross , Bjorn Andersson , Rob Herring , Krzysztof Kozlowski , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, phone-devel@vger.kernel.org Subject: [PATCH 2/7] gpu: drm: panel: Add Innolux TD4328 panel driver Date: Tue, 7 Jun 2022 06:05:17 +0700 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220606230522.107428-1-teguh@sobir.in> References: <20220606230522.107428-1-teguh@sobir.in> X-TMN: [gOFivkEOeeGaEowq67y+CFBvVy3fLMpw] X-ClientProxiedBy: SI2PR01CA0051.apcprd01.prod.exchangelabs.com (2603:1096:4:193::6) To SEZPR03MB6666.apcprd03.prod.outlook.com (2603:1096:101:7d::6) X-Microsoft-Original-Message-ID: <20220606230522.107428-2-teguh@sobir.in> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d353d03f-cd30-4255-f3a9-08da4811128e X-MS-TrafficTypeDiagnostic: PUZPR03MB6187:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: feg6geMLTs+A7zDizDsxNnwPMEipzKCGxvwqzlhSEpKvOlFMIpS1bJc9r6IlmBRT8qhuq1EwpOvYdFqmA9ad8lQXKXuByMk2dNYgsXO1dvIZHMd6s18BMp69o9ZOBjPAMwJ7+fPjAZZAzCB8LlM4PhhAMCy636VldcMOc2B3atSyOPOa4Cl8KsoEKsPZlOOhSXf7nkZ9vKW8mjTdHm8UyepAHYNtUt3zKls07syrbyXnT/iYliVP94jcO5QuIssQ9H9Ie/ZKIbfYhyZihNkeCbt0iqIWUluWBZ5dmIyQ71f8a2f+pddQvf8jfYUEz61GWfM09FZeS9ymbFpXNAu5FLb6VJ95nz9kaMXu5wZe07vKGgscWk7O2beKoDvjXoRVPWqf3wxUckX4+zyEfJ6V00gScG0WhDJjFIY3NLm0T11jeuChPhf4IWWNwbQFy3BGV6m6YTY+iTtwyfIrfK6Z4aiTRwbS8F3EZ9jsywjmugn5VYoCSrbFDnEtMKyBfdUSaoCli8V0C7sSEo0O6ws/zZZ2p3VT+Elo2A8rss17hLXoiJY6BsftJvRqoYAFdd/1aavwGWO5Raoxya2q3BhwLg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zVyMUhEUdsYCaSMEQGJ0TinbKuHo4kqx8GL1RHc0xt+FwsOBlMn2ryL+yx4jRaSEKi+n9ujT/DonPFMR7Th//wwBnw6N/9a9a2ws7cYIAQII7VEsovDo4b5pbhGt/txm38SkLXjSQCeakkoJZ19NlGRab2NKO0hQH/ueYWI1l/Lt+9rOZxVNzdKijkOEtSWYxFtJmzR0Vg8GrguZkOSrESoGZY05B4fqvhm1zsEjZi+MWoU6XeCa7LBxPz59B1cJ56N3OPDif/p01q00v0G/mWc7r+cmFkZhf4BySjHCk99V1O70k2DzZ4LxobUifeA5xjR8dL7CqzgEC7WBX4zZUaOFzsjD7nPqSGv0Ybef7vblJMcVhCO1t/7QoXT7BgV4FX4rr6SqE7ZCdGwlb6h4znq+Anm/5dhpUFumTWbzOHv3q2jz22YPlST1m7aHYr0lG+s2Gam4sHmPfmPjdqbC1R/XShSj7Fv4IzwDmaCAHGq0qVJZF7lzlke1EV5ENzXQCEou39kX6aGBkI8doaAkd4GqT15Ig8EoDTeFnH1See04jP0ZVOLsBhkuQOzDboDEc+ln2Wp+LnMWA1Aa0CtKYEq/7PuEGgiPK/8O/GNb4MKvB6r72Dd0aDeBPvjK8CGhRrzHBDW/9Ee4ai3hHUMXsH+WdbSUIIabysdEi9F5Fkp6a92Q+H9UiXca2ISg10WJyavzRgDxhSrXEApY1tpv8fFkpwGZrZHKuN5zPQJmZlXwLORzNi6yysTz436v359nJDlnMkcZt1TqGTrkiwoFCMFPepEpRdJpk1c0oED2H24lWCod/5OXmI9oThXNRStinyVGauxdS5r4gOhOnCt+ljL5dfaRdhSppG17r1tf428RvEBE/l2hHkXPlhPLy0kErqJicvsFajzVmQ/kFYG8ho+8/GbPECNUoW0rM2QmCFB1gxrFxOP4P6eZeFfzm2LT5BDNeYZ3i6nh3Z63/UVaFmRsT55hZn++jT7tym3MGfFJ74uUBRAYj1UF8aceFOTvCSUbKvVCgjvWiokd/RMXqwS4cSUzEYq7odXuR/n/2z7fgeSQp7hhoTVKJMisu/JFE1nu651vBKhQpegdfPUjR3SvQxWldMDEoh9zKbxjbgnf57l9CyITp8/9pD51ehCVjcZJYbnyxaKzCWFFvUzMSNUL5TomqAl/kIV67qcUHN81Q0z/eTCyj+Q3PD40jZIcB69mLIHR4j34bSxR+Cy+f2kaWUT9EVdRxJHvnbTSABkD9EKOi3EFvDf1bH/szU9qoOLmrJquwmnwiAx3+GhGnswtNT+ywovqYhIO34GHJwB2nhanYQt6EY/wPQrHqk8X37EOvTzgjCESbwbOj9axRIpgNDSQdHtlZGI1INMdrnqcK+tC8nMAuozUbm6iBeMUS5wMSViD4XdGVkEemTa06A== X-OriginatorOrg: sct-15-20-4734-24-msonline-outlook-c0b75.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: d353d03f-cd30-4255-f3a9-08da4811128e X-MS-Exchange-CrossTenant-AuthSource: SEZPR03MB6666.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2022 23:05:39.3891 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PUZPR03MB6187 Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org Signed-off-by: Teguh Sobirin --- drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-innolux-td4328.c | 339 +++++++++++++++++++ 3 files changed, 349 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-innolux-td4328.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index a89c03379db5..50ecd01872b9 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -202,6 +202,15 @@ config DRM_PANEL_INNOLUX_P079ZCA 24 bit RGB per pixel. It provides a MIPI DSI interface to the host and has a built-in LED backlight. +config DRM_PANEL_INNOLUX_TD4328 + tristate "Innolux TD4328 DSI 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 the panels built + around the Innolux TD4328 display controller. + config DRM_PANEL_JDI_LT070ME05000 tristate "JDI LT070ME05000 WUXGA DSI panel" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index ddf488b96cb3..cc3389a13a2a 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9341) += panel-ilitek-ili9341.o obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o obj-$(CONFIG_DRM_PANEL_INNOLUX_EJ030NA) += panel-innolux-ej030na.o obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) += panel-innolux-p079zca.o +obj-$(CONFIG_DRM_PANEL_INNOLUX_TD4328) += panel-innolux-td4328.o obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o obj-$(CONFIG_DRM_PANEL_JDI_R63452) += panel-jdi-fhd-r63452.o obj-$(CONFIG_DRM_PANEL_KHADAS_TS050) += panel-khadas-ts050.o diff --git a/drivers/gpu/drm/panel/panel-innolux-td4328.c b/drivers/gpu/drm/panel/panel-innolux-td4328.c new file mode 100644 index 000000000000..7c17f8c06512 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-innolux-td4328.c @@ -0,0 +1,339 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2022 Teguh Sobirin + * Author: Teguh Sobirin + * + * This driver is for the DSI interface to Innolux panel + * Using the TD4328 display driver IC from Synaptics. + */ + +#include +#include +#include +#include +#include + +#include