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 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 036D4ECAAD5 for ; Tue, 6 Sep 2022 18:52:26 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EB64710E130; Tue, 6 Sep 2022 18:52:19 +0000 (UTC) Received: from mail-oa1-x33.google.com (mail-oa1-x33.google.com [IPv6:2001:4860:4864:20::33]) by gabe.freedesktop.org (Postfix) with ESMTPS id B155A10E130 for ; Tue, 6 Sep 2022 18:52:14 +0000 (UTC) Received: by mail-oa1-x33.google.com with SMTP id 586e51a60fabf-11eab59db71so30358933fac.11 for ; Tue, 06 Sep 2022 11:52:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date; bh=YPktpomhXdnRkrCR6CBSt1ACWZQ4QwUVMPMuYlEKAQY=; b=KD3PPj9zM4qIOSJ8HNwWjx9UBUAzvvhWfFP6G5FcSEA14hfbYhT0aL+nFiLcgw8kqv ckkWxMm1MxngkSDMbwuGLjyDBN4tdcGlvwEl7O2fv/AokVuBC5RRFTUb5HoDI8k3MYqC FK2Jm0myOjgpUzjxdK7R64ZGhSjzVnqi3RvYxwhL6pqexcTuc873E8I2rkOnLjIYYUeF kecnFCJoc4mHUh/xdJxZFHFOqnhaSZ/tPUZDrOwGmnMmWpdyNfBx8K9LDXObn+6c5qyK yr4f2on+wckduLtBZ/AtxM/rET/sS/QyARwKq2PexCUGWehmPGLxLDiugybbBL782oGS pRXg== 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; bh=YPktpomhXdnRkrCR6CBSt1ACWZQ4QwUVMPMuYlEKAQY=; b=j30zgFBLM+avIDUyTBCGi4yF17N129ozLFAp6CqWSxpLScCsxVHeBT85opohVMSEp5 iiNISbMjUHw3Z7upEVEzinr1/3IOvQbqanvZ90l6jPVGfDnif9vfh1aBmiHQt6D3qq7l /DGRm+8XbYFFdI0shQfbkLQfJsriAOVi4nFZCWBsrQCOeBLmpDtdFYsgmh3MqNvbyi+T 2cq0FxDnAnf6vwVq2PZTmkzWlt9MJZQbZ3fao1ZINA44PWBOCH7wWUuXnUBY9kaVnM2s ygAJ7QviUBT9lN2xqhw4Z0KeHUcAbZ+8toAT3sQo9D/M44FliJ0MgGTs9h5csJawDhhM nj7g== X-Gm-Message-State: ACgBeo1O5VDG7SBvCigNYT3N1y4D44J9Lfr1Lm2T83/V+6Gtnv93yOVh TzwZL3bvjM+oWIvuqoGny3TLzhmzq9Q= X-Google-Smtp-Source: AA6agR6u8zOSPs/1GVqrFF6x32x1I6ZTdEVVWxxhrVgg6BSaVxFh/XkVuH+hhCaSXqPgDmT17xCzXA== X-Received: by 2002:a05:6870:1718:b0:127:399a:b26f with SMTP id h24-20020a056870171800b00127399ab26fmr6811870oae.158.1662490333926; Tue, 06 Sep 2022 11:52:13 -0700 (PDT) Received: from wintermute.localdomain (cpe-76-183-134-35.tx.res.rr.com. [76.183.134.35]) by smtp.gmail.com with ESMTPSA id f205-20020aca38d6000000b003449ff2299esm5666177oia.4.2022.09.06.11.52.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 06 Sep 2022 11:52:13 -0700 (PDT) From: Chris Morgan To: dri-devel@lists.freedesktop.org Subject: [PATCH 2/2] drm/panel: Add NewVision NV3051D MIPI-DSI LCD panel Date: Tue, 6 Sep 2022 13:52:08 -0500 Message-Id: <20220906185208.13395-3-macroalpha82@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220906185208.13395-1-macroalpha82@gmail.com> References: <20220906185208.13395-1-macroalpha82@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, krzysztof.kozlowski+dt@linaro.org, airlied@linux.ie, Chris Morgan , robh+dt@kernel.org, thierry.reding@gmail.com, sam@ravnborg.org Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: Chris Morgan Support NewVision NV3051D panels as found on the Anbernic RG353P and RG353V. The underlying panel part number for the RG353x devices is unknown, so the device name is used instead. Signed-off-by: Chris Morgan --- drivers/gpu/drm/panel/Kconfig | 9 + drivers/gpu/drm/panel/Makefile | 1 + .../gpu/drm/panel/panel-newvision-nv3051d.c | 478 ++++++++++++++++++ 3 files changed, 488 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-newvision-nv3051d.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index a9043eacce97..7258d28dda2f 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -296,6 +296,15 @@ config DRM_PANEL_NEC_NL8048HL11 panel (found on the Zoom2/3/3630 SDP boards). To compile this driver as a module, choose M here. +config DRM_PANEL_NEWVISION_NV3051D + tristate "NewVision NV3051D DSI panel" + depends on OF + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + help + This driver supports the NV3051D based panel found on the Anbernic + RG353P and RG353V. + config DRM_PANEL_NEWVISION_NV3052C tristate "NewVision NV3052C RGB/SPI panel" depends on OF && SPI diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index 34e717382dbb..cb03b3a82738 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -27,6 +27,7 @@ obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829) += panel-leadtek-ltk500hd1829.o obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) += panel-lg-lb035q02.o obj-$(CONFIG_DRM_PANEL_LG_LG4573) += panel-lg-lg4573.o obj-$(CONFIG_DRM_PANEL_NEC_NL8048HL11) += panel-nec-nl8048hl11.o +obj-$(CONFIG_DRM_PANEL_NEWVISION_NV3051D) += panel-newvision-nv3051d.o obj-$(CONFIG_DRM_PANEL_NEWVISION_NV3052C) += panel-newvision-nv3052c.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35510) += panel-novatek-nt35510.o obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35560) += panel-novatek-nt35560.o diff --git a/drivers/gpu/drm/panel/panel-newvision-nv3051d.c b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c new file mode 100644 index 000000000000..c46edd4df765 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-newvision-nv3051d.c @@ -0,0 +1,478 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * NV3051D MIPI-DSI panel driver for Anbernic RG353x + * Copyright (C) 2022 Chris Morgan + * + * based on + * + * Elida kd35t133 3.5" MIPI-DSI panel driver + * Copyright (C) Theobroma Systems 2020 + */ + +#include +#include +#include +#include +#include +#include + +#include