From patchwork Thu Jan 12 17:53:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Morgan X-Patchwork-Id: 13098523 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 35839C54EBE for ; Thu, 12 Jan 2023 17:54:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=qJpM+BjxDoDFtD5x3Fh/7mwsofZfcP5M6m4s7YLABEc=; b=4Te4xZOX06VyXx WjmzJbQx/be48okW97yS9HTjw+4L5aQ23ogW0vAtOCrNY9VsPxznVILYcV02zl9LfSVIHlGwblTlm Flw8e7CJAVsUmQNKRTB+krACp4x863/tfWU9LKK+r2GERjnmTgOSfpV9SAhCYRrnpngyCLe1eFWL1 KHerEQcVO+KeghfKQD/y6kyGWM5Q+d6HdUeL/XNu08F/fWSMJ9neGkE7jHDouYSDTKaBsYJRdV6r/ dVHLLhMTEVh5oFDH5MB5NdCFmsn4rHpqgmYWQZrJ0b5axUE8QrOxyFrfvVP39rLAquznbCDJwt3yg dP+PyV+FxFaF8ALdH9yA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pG1mS-00G8G6-BD; Thu, 12 Jan 2023 17:54:24 +0000 Received: from mail-oa1-x33.google.com ([2001:4860:4864:20::33]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pG1mB-00G851-Cs for linux-rockchip@lists.infradead.org; Thu, 12 Jan 2023 17:54:12 +0000 Received: by mail-oa1-x33.google.com with SMTP id 586e51a60fabf-12c8312131fso19721026fac.4 for ; Thu, 12 Jan 2023 09:54:06 -0800 (PST) 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 :message-id:reply-to; bh=Ug9Qalu5EQh2ykE3eLRnhG5I3plTxJnHDwIw/1EQhJ8=; b=YhlRHTBr2khuwyjq//S5NXiqRy31rTFbSt+pcuur7j41qKZrZAB/znO29FTreugUxH 3mDu82mnzfFx5zZz7ipI1KQjtL3LS/bxtwHdfjaSlxK4rM7d+VFXaUl01cJP8XEi3HpG vBk0fnDVlYR0EgHFyjmMZwkc1Zaf4fuPpZ5AmynTQNUdjA16D680L9Ymt79KFPSnUo2J BT/+YoBI5W9ul0Bd32gHM2J7oRGt8YZbge8i+NZ3iVR0wGbDxetZI6uBncEgbxTFUz58 7+ok4dNIohXHNv3hNXbMPX2yBSsbvPst8QsBhUdXg61eCS61AYkoemUut5T6fcC97N+L DkxA== 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=Ug9Qalu5EQh2ykE3eLRnhG5I3plTxJnHDwIw/1EQhJ8=; b=yNZqvAEGxm2ZRPpIuZhdlmxr6gXb6PQXg1++gJsTv+rnby1StOOeLLN61JyhZOoM24 LnWCUVt1MUhqsPWhIDCLBzAig+GJoodlM200keuyO4F7ANHB1fcE0o5INqe4iRQgeBuq 3f0AY58QGYgHbWQPZzS+jSvSSj5/IV00zrHYPm0X6lvNR4LHTOYy+i3lUKA0EtTLusVG eArhJwf0fNQUVgHij8n119DloJ1ue+uWhGQdbkDFGTEmULrSNqCQ5w6SrV2u2fkwSbnM 3jOKo4wX1lXqgsEaESi0k+y8BA+52D55WVYUjTbBT860g7e/hBBqR0Ypg7iXu5RSpDZi WtQw== X-Gm-Message-State: AFqh2kqtCuWR6GT0Wicc6q5JvT0EWOop72mA+7WOQVgJbYz2Q0BgYPvO cVNMlpDKLg0bkuOgiLtIyIMCr+jzTh4= X-Google-Smtp-Source: AMrXdXtQw02qOdpriAzWOCtXnCjDorVPTQSrRvegaLddYQ3w24ncV3bM0vMYb/nOrn9zLh7AY3AbCw== X-Received: by 2002:a05:6870:c103:b0:143:b833:b5c5 with SMTP id f3-20020a056870c10300b00143b833b5c5mr36576082oad.50.1673546045977; Thu, 12 Jan 2023 09:54:05 -0800 (PST) Received: from localhost.localdomain (76-244-6-13.lightspeed.rcsntx.sbcglobal.net. [76.244.6.13]) by smtp.gmail.com with ESMTPSA id v17-20020a05687105d100b0014866eb34cesm9317049oan.48.2023.01.12.09.54.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jan 2023 09:54:05 -0800 (PST) From: Chris Morgan To: dri-devel@lists.freedesktop.org Cc: linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linus.walleij@linaro.org, maccraft123mc@gmail.com, tzimmermann@suse.de, mripard@kernel.org, maarten.lankhorst@linux.intel.com, heiko@sntech.de, krzysztof.kozlowski+dt@linaro.org, robh+dt@kernel.org, daniel@ffwll.ch, airlied@gmail.com, sam@ravnborg.org, thierry.reding@gmail.com, Chris Morgan Subject: [PATCH V10 3/4] drm/panel: Add Magnachip D53E6EA8966 Panel Driver Date: Thu, 12 Jan 2023 11:53:57 -0600 Message-Id: <20230112175358.421975-4-macroalpha82@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230112175358.421975-1-macroalpha82@gmail.com> References: <20230112175358.421975-1-macroalpha82@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230112_095407_573940_A9DB3B4B X-CRM114-Status: GOOD ( 22.24 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org From: Chris Morgan Support Magnachip D53E6EA8966 based panels such as the Samsung AMS495QA01 panel as found on the Anbernic RG503. Note this driver supports only the AMS495QA01 today which receives video signals via DSI, however it receives commands via 3-wire SPI using DBI. Signed-off-by: Chris Morgan Signed-off-by: Maya Matuszczyk --- drivers/gpu/drm/panel/Kconfig | 11 + drivers/gpu/drm/panel/Makefile | 1 + .../drm/panel/panel-magnachip-d53e6ea8966.c | 522 ++++++++++++++++++ 3 files changed, 534 insertions(+) create mode 100644 drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig index 737edcdf9eef..204b84a83604 100644 --- a/drivers/gpu/drm/panel/Kconfig +++ b/drivers/gpu/drm/panel/Kconfig @@ -298,6 +298,17 @@ config DRM_PANEL_LG_LG4573 Say Y here if you want to enable support for LG4573 RGB panel. To compile this driver as a module, choose M here. +config DRM_PANEL_MAGNACHIP_D53E6EA8966 + tristate "Magnachip D53E6EA8966 DSI panel" + depends on OF && SPI + depends on DRM_MIPI_DSI + depends on BACKLIGHT_CLASS_DEVICE + select DRM_MIPI_DBI + help + DRM panel driver for the Samsung AMS495QA01 panel controlled + with the Magnachip D53E6EA8966 panel IC. This panel receives + video data via DSI but commands via 9-bit SPI using DBI. + config DRM_PANEL_NEC_NL8048HL11 tristate "NEC NL8048HL11 RGB panel" depends on GPIOLIB && OF && SPI diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile index f8f9d9f6a307..20de312aa5e9 100644 --- a/drivers/gpu/drm/panel/Makefile +++ b/drivers/gpu/drm/panel/Makefile @@ -27,6 +27,7 @@ obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W) += panel-leadtek-ltk050h3146w.o 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_MAGNACHIP_D53E6EA8966) += panel-magnachip-d53e6ea8966.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 diff --git a/drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c b/drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c new file mode 100644 index 000000000000..09ee12f0a147 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c @@ -0,0 +1,522 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Magnachip d53e6ea8966 MIPI-DSI panel driver + * Copyright (C) 2023 Chris Morgan + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include