From patchwork Wed Jan 18 23:31:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Morgan X-Patchwork-Id: 13107199 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 87A28C32793 for ; Wed, 18 Jan 2023 23:32:00 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 41E0610E209; Wed, 18 Jan 2023 23:31:59 +0000 (UTC) Received: from mail-ot1-x334.google.com (mail-ot1-x334.google.com [IPv6:2607:f8b0:4864:20::334]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9CE7610E07A for ; Wed, 18 Jan 2023 23:31:47 +0000 (UTC) Received: by mail-ot1-x334.google.com with SMTP id f88-20020a9d03e1000000b00684c4041ff1so277836otf.8 for ; Wed, 18 Jan 2023 15:31:47 -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=xEI2mifYxajHJaXVWarCPjQqfLFjK63aOcXmGLPy5O0=; b=X1cwwdMPutU97x3N/F7XF8YQOntdWXKldPHcHQgthP75IUNcbTTy1SpyKsq/1Zmn8T mkKgbZaP62Mknji+PdSYn9c1r4OJsYa3VjQkOt1msxSEAzsm9kOKobRGURvuxV0qdBBC xAaEA13Ovpb98B6q+xd+0NujhOs535sVPSyh/fBD24kPF66bTpkdOE/ImSU3sCubfoXw dc8rbFiwsJb+lz3aMENdANoyuOAWYLgFx/vgx+phXxVIk7zuYc3NhhjYbbWw2rdtPhkM KJ0kE+ckxfluyAx5TSEsGAT25NWbz3RYmPbhOEG1mzUsrLuXpQ9dQK9lKAbTs+AWvHuM P7VA== 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=xEI2mifYxajHJaXVWarCPjQqfLFjK63aOcXmGLPy5O0=; b=wAatj7djte726oB0T1S6zaNx+PwAnfn/q+9YnDI8XesdBRIFmdbcjhPfTehzm7mM0j Ei0RdQGUTzuLVQTD64FTng9zKJilYu0Oa0IvbrYvEtmZZfQj+hbxeV6yLw1qrUFH3Ady I+ZelPeQWU70YJ5/NU3VuoseHYQeHFTs0Wg9uFWYP0GLJmtMNEKkRMkV3Rqbzoj2/Czd XqhA6anHmjemQO9EeA9ss+nLZfc/i9o97iEBzh1Zq+4Q2RnBLstgFWsTd11rLKOGTpUd j7KabKPk2AZbML0sKqFnVyMcGOXgXmEhDl5xAHP3CeA41nu3w+pQc6/GGeazFJg+KRx9 u/nA== X-Gm-Message-State: AFqh2krHRNWcq1NgU3B1fEFUzM2j3aa//WDs2nwW8KQPmtdk+cOBw6VB A7fFpJLj0nRAP+5d766NcygFPlvSr8Q= X-Google-Smtp-Source: AMrXdXvv5gV8MV92iUN5Smkj5GPbL4dmvDIX7SnFfU7fZpgEN1GR/5d+ijLihpwsnk27liqm4jOYFw== X-Received: by 2002:a05:6830:1b74:b0:684:a65c:66f with SMTP id d20-20020a0568301b7400b00684a65c066fmr2414730ote.37.1674084706455; Wed, 18 Jan 2023 15:31:46 -0800 (PST) Received: from localhost.localdomain ([76.244.6.13]) by smtp.gmail.com with ESMTPSA id q10-20020acad90a000000b00354932bae03sm16966933oig.10.2023.01.18.15.31.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Jan 2023 15:31:46 -0800 (PST) From: Chris Morgan To: dri-devel@lists.freedesktop.org Subject: [PATCH V11 3/4] drm/panel: Add Magnachip D53E6EA8966 Panel Driver Date: Wed, 18 Jan 2023 17:31:34 -0600 Message-Id: <20230118233135.1174859-4-macroalpha82@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230118233135.1174859-1-macroalpha82@gmail.com> References: <20230118233135.1174859-1-macroalpha82@gmail.com> MIME-Version: 1.0 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, Chris Morgan , krzysztof.kozlowski+dt@linaro.org, sam@ravnborg.org, linux-rockchip@lists.infradead.org, robh+dt@kernel.org, thierry.reding@gmail.com, tzimmermann@suse.de, Maya Matuszczyk Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" 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..6ee4d577e67f --- /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