Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp1322959rwb; Thu, 19 Jan 2023 09:11:00 -0800 (PST) X-Google-Smtp-Source: AMrXdXsBc7j8l2fVLF9HtR7Lcb/wVZIwtWB8IDvO438nx4TcrmStBToXukjwGJosoCQ5cYcl21eO X-Received: by 2002:a17:902:8208:b0:193:f76:aed4 with SMTP id x8-20020a170902820800b001930f76aed4mr11504492pln.1.1674148260004; Thu, 19 Jan 2023 09:11:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674148259; cv=none; d=google.com; s=arc-20160816; b=Ud2GSV2cjNSIWa3fKtnQBrvj6YSlKblBJDBPQxXtI+LSJTDiegml7IHL7wd11Rg3rQ eBZHy7bSBNgphHBBH2928wR4cC2pam19eKDkqHmCOHYP3uoSfdiRJFMxKuFWVFLi+CNG 6q/K8cUXWmwQatUn2DQbUl9mrV5BcZaGWaskROefRw99VxHsFvwb3sO//QMoxm59Mq2+ KF8O6yZ5UWi+QWTvt4DVPlzt1AyC7nKqe5Ci5eSzLOsJ2HxxIQkGY37R2pcktTtA23qy vPcONgDQD/P9KanKVo/4BVjxOAQpe04bZc7VorVFUBblgqbtJKqW5XfiuEtQazthSIwd MsFw== 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=ElGHLl1p07NWckigrAo4Z4Nh91TagT335zgulDzAc7s=; b=AcNFvNc48pAhxsmzFjijhQ3eO4VtyMiegBRR9BoAMxLOPkGyKRFelSLo2QvXYM43TC GSM4hTLtGHTzTdaGnFqDeZPM3GxlSmibGmBddH12fGn9EMMF2Jqtp5ys/T2gii23jaMf w18mQTvUSeDn6kiwR++UbwrDSkGHkfs0ylBL0DsMYbDu58jLIlp6SvHLpwbNqOlYr5wd TtOUwW79Om4Zku2XruOjI1TfwvEzmFfT5DoUWyOf+Be8mWD8DNyd98Z2zMC4t2cIlDbA UVsm/6zBmd2KSQtAxA0jk4ILoHURsTABxbYyYi56W0B86HySvc8fHowiocTCvA2RpUxf 8Z/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=YSWxBFBl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p9-20020a170902eac900b00191ffe197bbsi38240947pld.212.2023.01.19.09.10.54; Thu, 19 Jan 2023 09:10:59 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=YSWxBFBl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230057AbjASQcQ (ORCPT + 45 others); Thu, 19 Jan 2023 11:32:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56282 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229899AbjASQcN (ORCPT ); Thu, 19 Jan 2023 11:32:13 -0500 Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com [IPv6:2a00:1450:4864:20::529]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 875406EA2 for ; Thu, 19 Jan 2023 08:32:10 -0800 (PST) Received: by mail-ed1-x529.google.com with SMTP id 18so3530100edw.7 for ; Thu, 19 Jan 2023 08:32:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ElGHLl1p07NWckigrAo4Z4Nh91TagT335zgulDzAc7s=; b=YSWxBFBldsha8Wz6TAtG0mjkZ8gqt2PYkVMxad91exTjqAvblot8cNrz81JNT4kQfm Sq98YG+SFnbhvIbZIIe+nzIZAedvAW2myzVX9Spa4lqQJmMQFAC6afIcPLBtBE8unJSe G8dfBtqKfj7cPV4aUFW/3D9nA+hQmYv/OcGRHf5UbEcyxG/TKQ+VUe0abNo77x+znAOm siMJlw6I40Bg/GBjwSmoR4+u9ulVpO7T3VMQ4HX5B1CVsix4s42DoOzj4VQZHWLZzqhS aFmfSFPMxqZI8tWPuKOVSHIYuPrCUfYKz7PUnQd8hVGqXKhcvC/yMFpnbvUkXXctyWFp 5aBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ElGHLl1p07NWckigrAo4Z4Nh91TagT335zgulDzAc7s=; b=zg06/5Z8A/gPSptt3zRPG6i982kXdTtiAmmNq+mFDgoYHoyHhZH5E+gW+yyJp+bRDj UPf8uTkrUBlvZi4NPpJaRdcSNS0+YAPSjeh48GB0Mn9fAOCxfHsP81fT/a+JIOAH5qbb SsBLgfZcnNHiQznLyVMdYnJIRKgRdoOJs894SYqxFgDtXU2U+SLKaZNhkfaPc1TJH9RL zmohjXnRKN/VQoqE7crwkRr87z8iGlc4gNLZVD/k84Y3bd860g0T8cJfdVyqY2dF4WSx hkyszXV+lkuVYPQsx+cPQeU/guWSAhBFSXgtIHkaHJrr5tF3k5u7l0EVTKuXQvx96tOu QVew== X-Gm-Message-State: AFqh2koSCJw8wJBgguvSWq9HnsfoLdJ9spur5vx4gRAkMFuHxhbWLGAX uoSpbtEmkNNvOHIbDHxTcK1cEA== X-Received: by 2002:a05:6402:5306:b0:49b:b274:b815 with SMTP id eo6-20020a056402530600b0049bb274b815mr12246564edb.39.1674145928963; Thu, 19 Jan 2023 08:32:08 -0800 (PST) Received: from localhost.localdomain (abyk37.neoplus.adsl.tpnet.pl. [83.9.30.37]) by smtp.gmail.com with ESMTPSA id fg11-20020a056402548b00b004873927780bsm15669466edb.20.2023.01.19.08.32.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Jan 2023 08:32:08 -0800 (PST) From: Konrad Dybcio To: linux-arm-msm@vger.kernel.org, andersson@kernel.org, agross@kernel.org, krzysztof.kozlowski@linaro.org Cc: marijn.suijten@somainline.org, Konrad Dybcio , Konrad Dybcio , Thierry Reding , Sam Ravnborg , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v4 2/2] gpu/drm/panel: Add Sony TD4353 JDI panel driver Date: Thu, 19 Jan 2023 17:32:00 +0100 Message-Id: <20230119163201.580858-2-konrad.dybcio@linaro.org> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20230119163201.580858-1-konrad.dybcio@linaro.org> References: <20230119163201.580858-1-konrad.dybcio@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Konrad Dybcio Add support for the Sony TD4353 JDI 2160x1080 display panel used in some Sony Xperia XZ2 and XZ2 Compact smartphones. Due to the specifics of smartphone manufacturing, it is impossible to retrieve a better name for this panel. This revision adds support for the default 60 Hz configuration, however there could possibly be some room for expansion, as the display panels used on Sony devices have historically been capable of >2x refresh rate overclocking. Signed-off-by: Konrad Dybcio Signed-off-by: Konrad Dybcio Reviewed-by: Marijn Suijten --- v3 -> v4: - De-magicize some numbers - Pick up rb drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-sony-td4353-jdi.c | 329 ++++++++++++++++++ 3 files changed, 340 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-sony-td4353-jdi.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index d03a64155d15..8da741f1c2ba 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -677,6 +677,16 @@ config DRM_PANEL_SONY_ACX565AKM Say Y here if you want to enable support for the Sony ACX565AKM 800x600 3.5" panel (found on the Nokia N900). +config DRM_PANEL_SONY_TD4353_JDI + tristate "Sony TD4353 JDI panel" + depends on GPIOLIB && OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y here if you want to enable support for the Sony Tama + TD4353 JDI command mode panel as found on some Sony Xperia + XZ2 and XZ2 Compact smartphones. + config DRM_PANEL_SONY_TULIP_TRULY_NT35521 tristate "Sony Tulip Truly NT35521 panel" depends on GPIOLIB && OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 1630dd0c69ae..22155d62bec0 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -68,6 +68,7 @@ obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701) += panel-sitronix-st7701.o obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7703) += panel-sitronix-st7703.o obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o obj-$(CONFIG_DRM_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o +obj-$(CONFIG_DRM_PANEL_SONY_TD4353_JDI) += panel-sony-td4353-jdi.o obj-$(CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521) += panel-sony-tulip-truly-nt35521.o obj-$(CONFIG_DRM_PANEL_SONY_SYNAPTICS_JDI) += panel-sony-synaptics-jdi.o obj-$(CONFIG_DRM_PANEL_TDO_TL070WSH30) += panel-tdo-tl070wsh30.o diff --git a/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c b/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c new file mode 100644 index 000000000000..8d8813dbaa45 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-sony-td4353-jdi.c @@ -0,0 +1,329 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (c) 2022 Konrad Dybcio + * + * Generated with linux-mdss-dsi-panel-driver-generator with a + * substantial amount of manual adjustments. + * + * SONY Downstream kernel calls this one: + * - "JDI ID3" for Akari (XZ2) + * - "JDI ID4" for Apollo (XZ2 Compact) + */ + +#include +#include +#include +#include +#include +#include + +#include