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 81A55C4708D for ; Thu, 15 Dec 2022 18:52:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230447AbiLOSwd (ORCPT ); Thu, 15 Dec 2022 13:52:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46956 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230450AbiLOSw0 (ORCPT ); Thu, 15 Dec 2022 13:52:26 -0500 Received: from mail-oa1-x2c.google.com (mail-oa1-x2c.google.com [IPv6:2001:4860:4864:20::2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA087419BE for ; Thu, 15 Dec 2022 10:52:21 -0800 (PST) Received: by mail-oa1-x2c.google.com with SMTP id 586e51a60fabf-1442977d77dso421571fac.6 for ; Thu, 15 Dec 2022 10:52:21 -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=DPCglAEbRJpSIj0IExAJLedLOzM/yqHo7P3ZSPUs9oo=; b=LGXn66bUmiYQBni+DUI6/iYoDeN/AXKfYqHH0aE6bQy6PC0aRFyWmowcz8FJj1SeYX l60O25Z57EVwwBktkfdU6qyRDjKAMQ0uk57FW6t4izJuWwtN4e1yQFHIjV/6NhwRsWMM ZLB5+dpiGYye7ruxkrKZpP4ykpk1pRKErt5HXy1whQriS+dxZCBrzA0gE1C1XjgSQFQD 1ASEanzgXXqv3aRwljDpY6V7Hi3DfWLS/xISHqmEEySRY198fAPf4LmSsW04OvnYC6w6 EhRgrwL1LcRZEXnDgYzNjTPQR1xTR2pv1pKZkompGRCVxDmuj2Cts3KcXCYHYacOdGFg RY1g== 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=DPCglAEbRJpSIj0IExAJLedLOzM/yqHo7P3ZSPUs9oo=; b=LzVmstGEQdoEumFCAtJEUFrq6Z3MwI+Y5vS8/VbwWuOjm3rxpPg3SSbBOUYhz9axv5 lnHyj/a81MqGU/HlG3WGMvYCIXeyfGxX0K6uuX9Auuze3AVPApdFMV8GncxBs9+P+fHI oaC9fzqSbwPfCPqGaZ4FCbD6sovo6TPasIzMNKnBacukW+epWOoWHr9/B2TMHQ9lYYNG sv2izf2WeuDmlSQsmN/QmWerR3PzAUsvW4nBrvQV/mS4yIL75yvXJLsKut+k1cmxprZ+ q6s3yvqTiW+YYnRqho7cqoyEH3ZFtha+7VCJ52fVK4yaaHQpTnHape2ufZE+knSMxqBD KZvQ== X-Gm-Message-State: ANoB5pnFfF8lFETDocDqed21I0cYda8REdVuC/rc7AXSIlm0emXDx6FA T7khGTR9wKdXv8IjnFDOSDg= X-Google-Smtp-Source: AA0mqf4Iao9iuhUieQ1Fa6p/ftvl03foqbmcCxZwdLImqObZQ8V347h4jS31HVTe44oBLEWHFZJjBQ== X-Received: by 2002:a05:6870:2420:b0:144:77eb:7a7 with SMTP id n32-20020a056870242000b0014477eb07a7mr14920383oap.47.1671130340770; Thu, 15 Dec 2022 10:52:20 -0800 (PST) Received: from localhost.localdomain ([76.244.6.13]) by smtp.gmail.com with ESMTPSA id g11-20020a4ad84b000000b004a09df5a1dbsm72264oov.8.2022.12.15.10.52.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Dec 2022 10:52:20 -0800 (PST) From: Chris Morgan To: dri-devel@lists.freedesktop.org Cc: devicetree@vger.kernel.org, maccraft123mc@gmail.com, tzimmermann@suse.de, mripard@kernel.org, maarten.lankhorst@linux.intel.com, heiko@sntech.de, linux-rockchip@lists.infradead.org, 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 V6 3/4] drm/panel: Add Magnachip D53E6EA8966 Panel Driver Date: Thu, 15 Dec 2022 12:52:10 -0600 Message-Id: <20221215185211.1560736-4-macroalpha82@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221215185211.1560736-1-macroalpha82@gmail.com> References: <20221215185211.1560736-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 Reviewed-by: Linus Walleij --- drivers/gpu/drm/panel/Kconfig | 11 + drivers/gpu/drm/panel/Makefile | 1 + .../drm/panel/panel-magnachip-d53e6ea8966.c | 514 ++++++++++++++++++ 3 files changed, 526 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..2aa73f8aeef3 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..ec90da8e2ae7 --- /dev/null +++ b/drivers/gpu/drm/panel/panel-magnachip-d53e6ea8966.c @@ -0,0 +1,514 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Magnachip d53e6ea8966 MIPI-DSI panel driver + * Copyright (C) 2022 Chris Morgan + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include