From patchwork Tue Jan 3 19:07:06 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Morgan X-Patchwork-Id: 638849 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 D693CC54EBC for ; Tue, 3 Jan 2023 19:07:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238730AbjACTHU (ORCPT ); Tue, 3 Jan 2023 14:07:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43086 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238401AbjACTHQ (ORCPT ); Tue, 3 Jan 2023 14:07:16 -0500 Received: from mail-oa1-x2b.google.com (mail-oa1-x2b.google.com [IPv6:2001:4860:4864:20::2b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 124B613E0B for ; Tue, 3 Jan 2023 11:07:15 -0800 (PST) Received: by mail-oa1-x2b.google.com with SMTP id 586e51a60fabf-14fb3809eaeso31878449fac.1 for ; Tue, 03 Jan 2023 11:07:15 -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=+0Um4d9FYBJt1NB9tT+HCXuVoX80Yqj9dMdEFao5ois=; b=RxjGFzl0G+YkxWQ5UeDo4vkkIJKUInLclCHG8+NKK3wvIgzBdckSTZaENtt8rbcNtX HIYtAfY7ZLpsVqi4ZVUsaVtgiNr95wrZkZf9Z3EfEzTi71YRDuQFDVl5N3Vr7HmfN1o0 DfnU7ErMpjWq+8YR9fKs7DIBEvsQpMNyGs5iZ30Ar7NbsXwK49viwdPqBPq3AUCZ2zK3 bv8PAvK7Niz3zR9qUyH5/5Jmew2sM/eFxZdXoOdFZ/gypbOJ3KzEMQCTI725P0sr4lXf pjdBDd/zXcvxd4gGUiBjf1HWgbPo1TXBRmAvohb5jhpFuwKqiNwuN9B5GfgoDT05APAI xLIQ== 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=+0Um4d9FYBJt1NB9tT+HCXuVoX80Yqj9dMdEFao5ois=; b=dCz9ie4lZQOeP3eCM01J4l1PFzUtSdNd/qb46WIv0U6NPPxVhIS8WYjEH32yloD6Pf Sy40nysVMON7JXsPAHNk1ecyasHwk+ekIcF7mJW5mFNxRRc5u6z+SYrHaHnHKAlaRruK IaQjRJwXRzKU7d7cxLrsmu6D9bMT9qbdZxhv0FRLMCHWqBgEvpmE2RF6H2GZwe+y9mCg u96yQPT1lrEb52wiu/jX90usfxa/Ry77SA/jYsliCCksPkEEROUhmgrxM3wcXJmh5Luf Q7moxY0EZD06fkiU4xlglkj2exc1ERTibMLK1v9QWe3nQTqp64sprnu9+7DfLaAc1wZF FDLw== X-Gm-Message-State: AFqh2kr2lCf8Bcc8d23zf47pBORgxWV4VDq1psNqDZpx33Svn3E8ldhO Wn+tDevQB8kdXVxOHp8owCg= X-Google-Smtp-Source: AMrXdXs0GirooKkdg1/hyFUXXEQq/Q2pGP2B1UwsIFW4/SHD9Y8zryvm0HWC1W2WMZ2SsLeUB3fCbg== X-Received: by 2002:a05:6870:4b4f:b0:150:841b:4df with SMTP id ls15-20020a0568704b4f00b00150841b04dfmr7491020oab.28.1672772834203; Tue, 03 Jan 2023 11:07:14 -0800 (PST) Received: from localhost.localdomain ([76.244.6.13]) by smtp.gmail.com with ESMTPSA id s24-20020a056870ea9800b0014c7958c55bsm14752207oap.42.2023.01.03.11.07.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Jan 2023 11:07:13 -0800 (PST) From: Chris Morgan To: dri-devel@lists.freedesktop.org Cc: devicetree@vger.kernel.org, linux-rockchip@lists.infradead.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 V7 3/4] drm/panel: Add Magnachip D53E6EA8966 Panel Driver Date: Tue, 3 Jan 2023 13:07:06 -0600 Message-Id: <20230103190707.104595-4-macroalpha82@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230103190707.104595-1-macroalpha82@gmail.com> References: <20230103190707.104595-1-macroalpha82@gmail.com> MIME-Version: 1.0 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..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..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