From patchwork Tue Jan 10 20:02:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Morgan X-Patchwork-Id: 13095616 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 DCE69C46467 for ; Tue, 10 Jan 2023 20:03:28 +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=aquwm7CQ0EDG3c Tjdeomk8aXgNt5ruIcVRKnxz+Kezb/BAZsMBWtDN7LfSZIJZ+K+Tyb4fFxehcDygKhM+OrCLRLeFS TPtfY7UEUciDH9UxxMoXF5q8KPzFkH7wl6+hp9tAhDnW4Ee12JCnMnZUy7S/UWw62+o8tBtCI19vU VUdkuErHbpla4MgBGZyAXAmBL0DDIz8zSwg9KthFDzCAfA/qNC1OZW45n9iixhqIJBWv+294Wdc3I WtaSripn+nghN9SLx0MJFJdcrMNYTe8ItIH/oim8lPmRS9axZEfAdujXXq7le4CWBbOTB25TwG4fE IHHhOi5WKJ1+BVsy1otw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pFKq0-008QWT-W3; Tue, 10 Jan 2023 20:03:13 +0000 Received: from mail-oo1-xc35.google.com ([2607:f8b0:4864:20::c35]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pFKpw-008QTF-Im for linux-rockchip@lists.infradead.org; Tue, 10 Jan 2023 20:03:11 +0000 Received: by mail-oo1-xc35.google.com with SMTP id t15-20020a4a96cf000000b0049f7e18db0dso3499506ooi.10 for ; Tue, 10 Jan 2023 12:03:07 -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=R9O3FGzGI2egRe81BxLh6Q/JSF3GQ7qc6/AgYWiOK2qSr+lLIwfBWkPlp59bFtsrg9 bmGFFI18F1b98zg2nHrqzGA7+4p0ekuh+A46m3zBJWAUtQtN4BGpm2uorwqWKnK01rAW +FbZWzk3hGjMdIeRTexsC3BHxF5DygFVJEB/atftj5w4JmbLb8MQCXdT+CS+iSdTehBl Tf6io2zzEwH9avLb45F/cLRVoQm1n2VSyeOnrbuCo4U1cIFOG+QAtUwwKOvYbmbp1t2V J4BW9TY7sYgGH8nQY2tA17ZGiYIerKAjHfIJ4tZzC5jh23YrEIjRxj/WlDTLg2FcyxUZ zIuQ== 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=oZhxG+UQOZFsMEzYtn4/p70Qv5B/VQojYDUWS1mQ7/zSXpxSkYYb1TK19Bl2kbqd1K 1kjSZYrkf5zXSUy78X3uM6iLR8Z1pLP8JYx54tPBWVw/mIVF2K0Yj4qytSqeJXB/EVsF XQiABh8WtcC6ZfkP8CPaJWAxpdxKdLwYG3F/mm7CpH+Q7Ot8caS6cTpYt66AG1aZ3X7P DuL9iiHWwuVYXZj9Onw9sm5zULggn8edjqLjcdi8x7R2210zVAweR0txFdn7skPPXY2O jay3lu8S47aSUn9MCn8ieyJCaffs+BcHI1QVnjn2+ynIoWjupQy8XR+tqtUisREH7bCJ 1jqg== X-Gm-Message-State: AFqh2ko5fmg8NdQeA+e7nOWDi8ap48PhAO/7tJT3EHZoHLOKG8du1RCi VmkfyRvJg0CCXJDUp05ydLs= X-Google-Smtp-Source: AMrXdXv1ZFWWxlJ9+r8RetCCCpbrOon7U7KDZnmdvQjIbsone6id9rwTBgILp37xDKFME2XjnWmfvQ== X-Received: by 2002:a4a:e84a:0:b0:4d1:c23:3c51 with SMTP id m10-20020a4ae84a000000b004d10c233c51mr26865012oom.9.1673380986339; Tue, 10 Jan 2023 12:03:06 -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 r4-20020a4aad04000000b004a394578e14sm6089779oon.32.2023.01.10.12.03.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Jan 2023 12:03:05 -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 v8 3/4] drm/panel: Add Magnachip D53E6EA8966 Panel Driver Date: Tue, 10 Jan 2023 14:02:54 -0600 Message-Id: <20230110200255.1218738-4-macroalpha82@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230110200255.1218738-1-macroalpha82@gmail.com> References: <20230110200255.1218738-1-macroalpha82@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230110_120308_675987_D7BC7A57 X-CRM114-Status: GOOD ( 22.81 ) 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