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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 022AAC46467 for ; Wed, 11 Jan 2023 16:31:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239359AbjAKQbl (ORCPT ); Wed, 11 Jan 2023 11:31:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40672 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234188AbjAKQbF (ORCPT ); Wed, 11 Jan 2023 11:31:05 -0500 Received: from mail-oa1-x31.google.com (mail-oa1-x31.google.com [IPv6:2001:4860:4864:20::31]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1BE7935926 for ; Wed, 11 Jan 2023 08:30:25 -0800 (PST) Received: by mail-oa1-x31.google.com with SMTP id 586e51a60fabf-15027746720so16030607fac.13 for ; Wed, 11 Jan 2023 08:30:25 -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=VtR+OrCVZbhFyS0t9lG0yMTWeKF5YHNYvH48cuNDc+maj3lSo1gcqwBzcdjJ5hUdry bKyEaDYOksoexlQnx70WwajoMQqvsX0ZdvW1ZDescJWTHnafcPZikr+wQ+qDap0zXqJy Agp7Bw2PpwbDKjypCyikUyxkx7SiBvKy1XgWhgtw0sfB4ORu16x+5x4YLOhKVxQH1pV3 LivmXjtYD46cTSkoN0PsTwlMqhe3nnPJ+3uII4coBuMIWP21kTiWFM2akATatFi7qmDv RFjBBPkpl7V5glOPPaEVgOIhRR3GrDo2ePvLeojidfVLLXTbXbB2+bRIzXbPzLv65Ofw 7/Xg== 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=AZLXeMyymcistJeEPF+EkchizZ5BAHb9FRsFmzF2iAGdZ/uE+LAWQR+AVT5s9HbUYC F0/JjDvZIjuMkRDvqYdJMyn7/TkaFEzDcKSsNFIt7N3TeDQaketQaZscXGOzhriw3FMu VYJQGFz6FlaNidpBXRBFWG5Tc8iGakoBr6WRPw6e1ODHgV/Xa7PXZduLqbEoL/lb47fn oBXM1+eoQtg1N//01hS1YhCgENfUM9txLhHR0kDuP+RtuX0k0lVpB0DEkoE01fUbVWXh L1vXoirT+wUA0m8zNmdjGWzjoBrAl6E3GLU1mVjzMmkfBk9ptKny9jGPmwGNU5UpotB5 7bng== X-Gm-Message-State: AFqh2kqQW/DPT1yJrYnNsXNKYJ/qoUPVGoQKwYhLjML56ucFecwI2fPQ My16XSJTIoNNh3NIhn7z/Zw= X-Google-Smtp-Source: AMrXdXs8aiaUa41cpYoWafAJ8VopY2MHpG6lH4II5rzZGR3LSPh3oC4rkO+ULWZoCv7Z/nFTWU1MTQ== X-Received: by 2002:a05:6871:8508:b0:15b:8fc1:fb14 with SMTP id sx8-20020a056871850800b0015b8fc1fb14mr4579135oab.33.1673454623741; Wed, 11 Jan 2023 08:30:23 -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 z13-20020a056870738d00b0013ae39d0575sm7629003oam.15.2023.01.11.08.30.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Jan 2023 08:30:23 -0800 (PST) From: Chris Morgan To: dri-devel@lists.freedesktop.org Cc: linux-rockchip@lists.infradead.org, devicetree@vger.kernel.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, linus.walleij@linaro.org, Chris Morgan Subject: [PATCH v9 3/4] drm/panel: Add Magnachip D53E6EA8966 Panel Driver Date: Wed, 11 Jan 2023 10:30:11 -0600 Message-Id: <20230111163012.310945-4-macroalpha82@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230111163012.310945-1-macroalpha82@gmail.com> References: <20230111163012.310945-1-macroalpha82@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.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