From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f45.google.com (mail-ot1-f45.google.com [209.85.210.45]) (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 B2F5E2F549C for ; Mon, 1 Jun 2026 16:32:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780331528; cv=none; b=IAgETbKSkP/pxg3hTGb77z/ftiY9ZcmJ4xmOHPD/Gf2nt/dyxgydPXSFqmK5nl8R+wY7a2mzNEbBGKrs0rRaKdAY48ckbMpMS98JgYWd4KOARplxqWNlz1r/MF/vtq+okUpvIWtxl0SIo034WQscMFyzDklteUXvwqw/Q60urIM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780331528; c=relaxed/simple; bh=g27PqVX1qKxXWs5Qsdl62UPlO32uJIgns1iOt54JgG0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ot/J2vDKcPFdkNANPwDI68pSLWRSlBSBnivjxhVWJvZVGkAV2D79M3ll2E3wkEAM0j2PQFY3WtG7oQABlJN2sc9kgTsGVPSw1b0xmg9vKyp/RGga6dMTMSPoL1C06guWl90XZ+3UGvWvjbC3p8GiGPXMselbUFiTMaQ9sXPmWFw= 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=sob1J6e4; arc=none smtp.client-ip=209.85.210.45 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="sob1J6e4" Received: by mail-ot1-f45.google.com with SMTP id 46e09a7af769-7e6b5c374e5so1408357a34.0 for ; Mon, 01 Jun 2026 09:32:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780331526; x=1780936326; 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; bh=VX+MXV4Xgo7Jb5XTxDEzSEBuVrIUS1CzwOhsBUVGJ6M=; b=sob1J6e4CpLSYgFf2UCKVKmRROn97idEnCK/SpaUmM0OUZfpWznVv4Nfj/wwVxcEEg JIwyIik0D4fVeahb3eh5FzmsoN6rtjMXFpn/wqH1Rzl9UiQQtC3+VsJLPYJ8EQu5ESMS nbXUJJEMJCzehm+IdQvWga38J2ibt1No8lLZXqoqaQG9dz/Xs/du6w/bOl50jkQknuH3 Sm2zQwHNsw1KVgBoxR0E8fLTtxWh62B4iwcWPchPzSdU6njwI5L7QeeNuSn9NKLEfHsm BX3sO1gQty/MWzcXH0j8gV6ayZtXcEfS/GsKLI3fcaB2JMblm7ke+nW5JN1VzRgZ2IT2 enkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780331526; x=1780936326; 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; bh=VX+MXV4Xgo7Jb5XTxDEzSEBuVrIUS1CzwOhsBUVGJ6M=; b=VZiup7ZVpvk/imwSDWrdXH48fK9tmhdeDBNMwfEUBUDwzGQkHxp2xXyPnS1pV7++XC yA0/CyUyoCZasUS3BpEWKM9w7f2Rn5MYEi2mejO+1z9lQ406hT17lZ+jSR0qYpARYLy9 IssQmC2CrUXw/O0huHUu+ffW4hGnlKIYXLr5Mf8zsJWOPTPfYHT7pLf5a/VX01fpw5zU h0JOC65M8Ru3fbx6qrkUebHwm4HHLJ7R7wEzSOjrGfh8Vq6DOBX5lkTLtJCCYryJqi7G d3frOJmoPDKqxIgc1AOQpU0CaP8AaKFkfbeVlLS3/vhDOIKsarbnnJRaq0RR6D0xQNcu kgpQ== X-Gm-Message-State: AOJu0YwP/yiACWyf4+Cc4dELJxT7AKrcsq+zB4xA5WkLS/2Q7T2DOHFu H7CP5gaddcXsBAGUBvFEtsTxnrw/y95Uv3b0I56Kxl65zEV0By5NJNFP X-Gm-Gg: Acq92OERPuK7kWe9/XuVDBXBZHlN8FgrEmLS5G1Iru0d8OdcvD3cRzw9smMXVXm+QkS RNNTu6plO8LynPl+59cKyc+cRnp1zElFp2aGTVAouc1kmhCxCapmSoycqaCqsBv6JdQG+VfVq2n 77sXhBJmm78kSXLsVK36Lf1zO7MmkEf1J8lhrzdCIQVwhqwLCeTCdm3A7sD9dX+wr/GSKuEWV4m 1SIohONuSmhTyrjGGf6T94eFhtuZlAXQ3yzN50IFXGwx3YFTuTnlFrrmdKyvAWG0nDSHhFmt0GA Uz/WPEle9z7NqpQoi08toQftXYqoUg0/S8tJidNdQcaq6HYNpJlNsQIkpfpibLMxUhuh1cox5vl s0fof23tV3Hs3/QCMunDomoDvb9ZAFZKJr9pXz8k6KSSwLbc52VJPyNl7MHo4GNZCH9h61m20TU uFa5zFPlxItzpBaEhFjKQGP/OQDc1Exd/ofbSI2n0wfg== X-Received: by 2002:a05:6830:6486:b0:7dc:e78b:158 with SMTP id 46e09a7af769-7e6d2208842mr157567a34.4.1780331525688; Mon, 01 Jun 2026 09:32:05 -0700 (PDT) Received: from localhost.localdomain ([2600:1700:fb0:1bc0::54]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7e695d69b20sm8024928a34.22.2026.06.01.09.32.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jun 2026 09:32:05 -0700 (PDT) From: Chris Morgan To: linux-rockchip@lists.infradead.org Cc: devicetree@vger.kernel.org, xsf@rock-chips.com, sre@kernel.org, simona@ffwll.ch, airlied@gmail.com, tzimmermann@suse.de, mripard@kernel.org, maarten.lankhorst@linux.intel.com, jesszhan0024@gmail.com, neil.armstrong@linaro.org, heiko@sntech.de, conor+dt@kernel.org, krzk+dt@kernel.org, robh@kernel.org, Chris Morgan Subject: [PATCH V3 4/6] drm/panel: anbernic-td4310: Add RG Vita Pro panel Date: Mon, 1 Jun 2026 11:29:49 -0500 Message-ID: <20260601162951.254968-5-macroalpha82@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260601162951.254968-1-macroalpha82@gmail.com> References: <20260601162951.254968-1-macroalpha82@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: Chris Morgan The panel used by Anbernic in the RG Vita-Pro is a DSI panel based on the TD4310 controller IC. It measures approximately 5.5 inches diagonally and is 1080x1920 in resolution. Signed-off-by: Chris Morgan --- drivers/gpu/drm/panel/Kconfig | 10 + drivers/gpu/drm/panel/Makefile | 1 + drivers/gpu/drm/panel/panel-anbernic-td4310.c | 251 ++++++++++++++++++ 3 files changed, 262 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-anbernic-td4310.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index d592f4f4b939..61dd00297ecc 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -17,6 +17,16 @@ config DRM_PANEL_ABT_Y030XX067A Y030XX067A 320x480 3.0" panel as found in the YLM RG-280M, RG-300 and RG-99 handheld gaming consoles. +config DRM_PANEL_ANBERNIC_TD4310 + tristate "Anbernic TD4310 LCD panel" + depends on GPIOLIB && OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + Say Y here to enable support for Anbernic designed panels with the + TD4310 panel controller such as the ones used on the Anbernic RG + Vita Pro. + config DRM_PANEL_ARM_VERSATILE tristate "ARM Versatile panel driver" depends on OF diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index a4291dc3905b..9d8f70c9de3e 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -1,5 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_DRM_PANEL_ABT_Y030XX067A) += panel-abt-y030xx067a.o +obj-$(CONFIG_DRM_PANEL_ANBERNIC_TD4310) += panel-anbernic-td4310.o obj-$(CONFIG_DRM_PANEL_ARM_VERSATILE) += panel-arm-versatile.o obj-$(CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596) += panel-asus-z00t-tm5p5-n35596.o obj-$(CONFIG_DRM_PANEL_AUO_A030JTN01) += panel-auo-a030jtn01.o diff --git a/drivers/gpu/drm/panel/panel-anbernic-td4310.c b/drivers/gpu/drm/panel/panel-anbernic-td4310.c new file mode 100644 index 000000000000..d277682f63a3 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-anbernic-td4310.c @@ -0,0 +1,251 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Driver for Anbernic panels with TD4310 panel controller. + * + * Copyright (C) 2026 Chris Morgan + * + */ + +#include +#include +#include +#include + +#include +#include +#include + +#include