From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pz2-f5.google.com (mail-pz2-f5.google.com [74.125.228.5]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6E8EA3B531A for ; Sat, 17 Oct 2026 10:34:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.5 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792233263; cv=none; b=AD5TC+B7NTOUWz2kv4e1uj97h3dhNLaVfEIpOLoPCVjWf5ldkBDKWRuRRF8C3dxMmKCataYs6Q4Yc5JpCQQOaThUe1RtA57XsG/9PxLjihtKOVyHUdxV7xngp0idcSQOyeBWrRa9Bj1ryLajP4RWZjFKejpDARyOwzCzIbbhPCE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792233263; c=relaxed/simple; bh=9+jl9FDVu+RV3NES3Jh+tmu31ocodeERMXQQnFKY5Uk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CNCyl2miRr6yk+agnshltTph/a6QYu5nJWs2HjkZysDbKnqcuozqdLAleKNkBP//3GGSr04L5kD5XZqknmCPiZoPa9lyyNa1QQGgQf0fORhHc3+Eeo0r8oeaMcvHz7eKIVOSAztFmxijms0EB+VD3/8DNde3LySpd6zNysV+PcM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=XO708yWe; arc=none smtp.client-ip=74.125.228.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XO708yWe" Received: by mail-pz2-f5.google.com with SMTP id 41be03b00d2f7-cc7c286026aso433945a12.0 for ; Sat, 17 Oct 2026 03:34:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1792233262; x=1792838062; darn=vger.kernel.org; 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:content-type; bh=WiyBe7vhMbtf4uRkYpBiNCvTHoDTzCk8KGb/Yp4fKF4=; b=XO708yWeqVhe5Q0YlVQzEoKoa3z5gwKul7djKX/ypGZQe9m0BGZ7oDJ1yBGGobXu9d yk3RO9TlYqyO1+9u+gza3G4pQ6h1gEHHz9h+k6ynUnYJz1sDCgwEy94md0DpLAgbnjdP 9heNb6HyezikV3F1hldJgb8xPaVGXDFTo5zVBWMD3YcBlCwUp1rIXbfnStaIwr5L+2X3 v40Y0ijRcJkchFZuekd2cfUz5d/KtIl8qQM0IbjCXW+r2BCS8dR+z34AF5hVflNkWUV8 n8DR6E1m/Qp6yvR8+sCDAR9woQNcKI4AYj/l5FMWYnckoLDslc5zuU61SDH297TxP+xm 4VKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792233262; x=1792838062; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=WiyBe7vhMbtf4uRkYpBiNCvTHoDTzCk8KGb/Yp4fKF4=; b=V4DcvYBm2imHtijLz6JNW5u+ZibFKH3BuzY8xpaJL9qEkNars7iEqzwg94rOioRrvi gCyUYn3PV0Qy7bpYEYH47i1iLFTQUXfa6a6RPJPRYSbYuL713GL+hQb1QCkGC0v5RUt1 oNfVknTkU1je06mbLjS87pCwV+Dqk9uQ/6NkH73Yo91IpGi5eLXUUOy4b/icmqXfITT2 4+kDxHdvUqm3IFq6j5jZOQIGoiCrH1Ng6pLNFrKT/CeMm1P+oxjDjmhI4w4mmU/GwKAl eq4BPcO5342m5M8yO/j305a5jW6xTWS9+fZp+5l2ymec6w0kFdkwqhJ7oCG3WZ343zWn JG4A== X-Forwarded-Encrypted: i=1; AKwUvBwC+/tc+ptNyDlqWptI22zv8nj0zND941EXwRyg61BV/B7FBqSOvdFaN3vKnwgn385qoJc8m7/9/ZKZ@vger.kernel.org X-Gm-Message-State: AFq9FYLr8BaKHKdGrktMe0KbhMIkE+MNgf6GmAS+6OFjp86HUUt+aRGM PmtThlEkDb1na7DiwWAqQQNt885/RYWBMPeMv0/HlxU9s4S90FE5xinf X-Gm-Gg: AYBFou1FDeIxWkdJ8gCOZ1j43GmDECcZEhyLGAVWtl6dNYlVtJtonDFZ3jYqN0MJp25 nUKSFPSQwBcMKza5Bdp1uadPzKfB3Ei4p2LD+CWP3B3orirfVXP6g12jXeKFhxG1tyqbby5f4Fe OnDoy3LTt4krjsUciWQ8RLvJHONkDp9y88QQRL10uAUM84EmP1DrOftx3urW3pcdgOpGAOUkFyD uRsFt5ZqOuimrXyeAKWU46zPIqh9t/bjJE9xb8ItvWyp1ZW3VhbroKBvvaUC7pzGjvbRjOcH6Nw pP/LPMQXGVdyoZ867z6ubBPBCM+h9cfarcF1U7rUTX145B72qjSb0gx8NGrYzlUWUWTS70735Nk DX19P2gi97OCibTRnmrbfZe/gX2th0YlOQ868sbApTTT/xHX0PpptZ3E58z4OkiOhRfaxE+oBgN Pu+l0vMgXc+vi+PzspA4ug4UHamirsoyuqOXXSFnwjEd0FinljvwXoguOe X-Received: by 2002:a05:6a00:1f12:b0:880:973d:597a with SMTP id d2e1a72fcca58-8a04d04e513mr1777109b3a.53.1792233261655; Sat, 17 Oct 2026 03:34:21 -0700 (PDT) Received: from Linux-PC ([2a09:bac5:1f0f:372d::57f:4e]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-89f58414986sm2051585b3a.57.2026.10.17.03.33.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 17 Oct 2026 03:34:19 -0700 (PDT) From: tianshi12127 To: Neil Armstrong , dri-devel@lists.freedesktop.org Cc: Jessica Zhang , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Simona Vetter , devicetree@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-kernel@vger.kernel.org, Lu Chen Subject: [PATCH v2 3/3] drm/panel: add driver for Smartisan TD4362 Date: Sat, 17 Oct 2026 18:32:50 +0800 Message-ID: <20261017103250.800109-4-tianshi12127@gmail.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261017103250.800109-1-tianshi12127@gmail.com> References: <20261017083531.766557-1-tianshi12127@gmail.com> <20261017103250.800109-1-tianshi12127@gmail.com> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Lu Chen Add support for the Smartisan TD4362 1080x2242 command mode DSI panel found in the Smartisan R1 (trident) smartphone. The initialization and power sequences were generated from the downstream device tree with linux-mdss-dsi-panel-driver-generator. Tested on a Smartisan R1 (trident). Signed-off-by: Lu Chen --- drivers/gpu/drm/panel/Kconfig | 13 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-smartisan-td4362.c | 263 ++++++++++++++++++ 3 files changed, 277 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-smartisan-td4362.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index b30d7781745c..0b413152267f 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -1124,6 +1124,19 @@ config DRM_PANEL_SITRONIX_ST7789V Say Y here if you want to enable support for the Sitronix ST7789V controller for 240x320 LCD panels +config DRM_PANEL_SMARTISAN_TD4362 + tristate "Smartisan TD4362 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 Smartisan TD4362 + 1080x2242 command mode panel found in the Smartisan R1 (trident) + smartphone. The panel is driven over four MIPI DSI lanes in + command mode. + + If unsure, say N. + config DRM_PANEL_SONY_ACX565AKM tristate "Sony ACX565AKM panel" depends on GPIOLIB && OF && SPI diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 4532f79021ea..bc4fad310554 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -112,6 +112,7 @@ obj-$(CONFIG_DRM_PANEL_SHARP_LS060T1SX01) += panel-sharp-ls060t1sx01.o 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_SMARTISAN_TD4362) += panel-smartisan-td4362.o obj-$(CONFIG_DRM_PANEL_SUMMIT) += panel-summit.o obj-$(CONFIG_DRM_PANEL_SYNAPTICS_R63353) += panel-synaptics-r63353.o obj-$(CONFIG_DRM_PANEL_SYNAPTICS_TDDI) += panel-synaptics-tddi.o diff --git a/drivers/gpu/drm/panel/panel-smartisan-td4362.c b/drivers/gpu/drm/panel/panel-smartisan-td4362.c new file mode 100644 index 000000000000..7fb0ca43780d --- /dev/null +++ b/drivers/gpu/drm/panel/panel-smartisan-td4362.c @@ -0,0 +1,263 @@ +// SPDX-License-Identifier: GPL-2.0-only +// Copyright (c) 2026 Lu Chen +// Generated with linux-mdss-dsi-panel-driver-generator from vendor device tree: +// Copyright (c) 2013, The Linux Foundation. All rights reserved. + +#include +#include +#include +#include +#include + +#include