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 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 325A0C433F5 for ; Fri, 17 Dec 2021 15:12:26 +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=rrexz0Tb5pXfw9oR76oyb4qvnmf9StKXy652BXfIxNM=; b=a22i0JrjUydrrK lKq/5MStsy+AZHhXGChjRYiHjgnBMuxtijlUGEpEOL94EmhYiT3dossi1JCQhu73dDptT9zdmxBOl fxeJNBiJtPdG4Vy48wij6bCeG7LVEgCYj+6MJ/D1IDm3h1IHavHTz9Nu5lzT0oz3Ry83DEPFpfl94 wtJOCiqtSR7vtEICFIKNVz9ZMw7+PQF48hPBKer/ihhi1inVB0cgpgBEH7+RbtS2jnLBHxyYitJDN jIkVRWK66SjPNhAmrt+8x9qgxRpSEcsVyBj53ziMjoOcrQuFE4sOsC5d7ONIIDU/MwwXRbnwX4PyD ofcFZtu0kVqNdEzMj2qg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1myEu5-00Aq4A-Nv; Fri, 17 Dec 2021 15:12:13 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1myErV-00Aogh-SY for linux-mediatek@lists.infradead.org; Fri, 17 Dec 2021 15:09:48 +0000 Received: by mail-wr1-x441.google.com with SMTP id q16so4641640wrg.7 for ; Fri, 17 Dec 2021 07:09:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KJherw28pnVAXYmEWSXbhersLyRnnmRnoLKFlrBS1hY=; b=Rp28AGdwqxdZs6aFjfO3z8fkbt5YRzdmEClP7LKQL6la769nQOZcAoTb+qeMD1LTm/ HHWh6hrifOW/sfjlQ7RwQPyv8O77ikw41ih5XMhMktPOaScKbsFHYrI/bdd+E+A1qyij bb4NTEZckuxt79SLlyLDRYM0EMDsY0PeKuMYNSVqb39HB/JSxrdUaw6R1+ymB2xRHPPq OPLIQ3F8RqxIbylAMZYQPZ503cK4ebzyqWSZMwJDhmOeX/FaRdPanH6Nm/QgiaxfBHJ/ KRtkQ3IpgNqWglL9nXRAEApbpf2WQ8rwbYd2mYHlFRwEMLMD6LN3cby6F39twKVdCCpR vkJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KJherw28pnVAXYmEWSXbhersLyRnnmRnoLKFlrBS1hY=; b=ZQvFFvx4D8TNYF1iIqRpAJC4UlIkm4+9kBXb99hO73tW6CEqT1T8boGEy+0kMFatxA wh+wVA4qciJLE0+uW3xlzlgEJd1635GXG9oSIA8ObJ6ASeYZ88tafqqp3t+MDdQIjLQv HxXwIqyKtCjOt3xsXmNJkvcJN7GowZ/W+P8j/UJXIgV1sVv9XqqAen2FhHPBwnUYRJFA ihRPtI6zHv48EKG1SbesqDfgSdcY4k1bqwBt8gM8Vthp8/KeH6SvfxbwBfBJIOBnRG0E XjH3b+Fnm3O9gyNk9V2mP+YpZjlijngtUu4tqaXOHy1IPkVVYkm0RpCQm3aplOi/OCzQ BEFw== X-Gm-Message-State: AOAM530CEJLC1Ro7+xbHsdwzI8DNqyOp2/b4fZSVjGxXhlDJnBdSvR2b fNQHQxUJQe2bSBiCxOL3GjWYNg== X-Google-Smtp-Source: ABdhPJyVPE51dxBhUVU+MTfUCNx4E1XziIhLblWuYdXaV84dFIUMSxvTIS7vQ6D4i0Hcc83o4an4jA== X-Received: by 2002:a05:6000:144d:: with SMTP id v13mr2959694wrx.393.1639753771845; Fri, 17 Dec 2021 07:09:31 -0800 (PST) Received: from localhost.localdomain (2a02-8440-6441-43a4-3074-96af-9642-0003.rev.sfr.net. [2a02:8440:6441:43a4:3074:96af:9642:3]) by smtp.gmail.com with ESMTPSA id g18sm12655132wmq.4.2021.12.17.07.09.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Dec 2021 07:09:31 -0800 (PST) From: Guillaume Ranquet To: Chun-Kuang Hu , Philipp Zabel , David Airlie , Daniel Vetter , Matthias Brugger Cc: Markus Schneider-Pargmann , kernel test robot , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v7 7/8] drm/mediatek: Add mt8195 DisplayPort driver Date: Fri, 17 Dec 2021 16:08:53 +0100 Message-Id: <20211217150854.2081-8-granquet@baylibre.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211217150854.2081-1-granquet@baylibre.com> References: <20211217150854.2081-1-granquet@baylibre.com> MIME-Version: 1.0 X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org From: Markus Schneider-Pargmann This patch adds a DisplayPort driver for the Mediatek mt8195 SoC. It supports the mt8195, the external DisplayPort units. It offers hot-plug-detection, audio up to 8 channels, and DisplayPort 1.4 with up to 4 lanes. The driver creates a child device for the phy. The child device will never exist without the parent being active. As they are sharing a register range, the parent passes a regmap pointer to the child so that both can work with the same register range. The phy driver sets device data that is read by the parent to get the phy device that can be used to control the phy properties. This driver is based on an initial version by Jason-JH.Lin . Signed-off-by: Markus Schneider-Pargmann Signed-off-by: Guillaume Ranquet Reported-by: kernel test robot --- drivers/gpu/drm/mediatek/Kconfig | 7 + drivers/gpu/drm/mediatek/Makefile | 2 + drivers/gpu/drm/mediatek/mtk_dp.c | 3028 ++++++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dp_reg.h | 568 +++++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 1 + drivers/gpu/drm/mediatek/mtk_drm_drv.h | 1 + 6 files changed, 3607 insertions(+) create mode 100644 drivers/gpu/drm/mediatek/mtk_dp.c create mode 100644 drivers/gpu/drm/mediatek/mtk_dp_reg.h diff --git a/drivers/gpu/drm/mediatek/Kconfig b/drivers/gpu/drm/mediatek/Kconfig index 2976d21e9a34a..029b94c716131 100644 --- a/drivers/gpu/drm/mediatek/Kconfig +++ b/drivers/gpu/drm/mediatek/Kconfig @@ -28,3 +28,10 @@ config DRM_MEDIATEK_HDMI select PHY_MTK_HDMI help DRM/KMS HDMI driver for Mediatek SoCs + +config MTK_DPTX_SUPPORT + tristate "DRM DPTX Support for Mediatek SoCs" + depends on DRM_MEDIATEK + select PHY_MTK_DP + help + DRM/KMS Display Port driver for Mediatek SoCs. diff --git a/drivers/gpu/drm/mediatek/Makefile b/drivers/gpu/drm/mediatek/Makefile index 29098d7c8307c..d86a6406055e6 100644 --- a/drivers/gpu/drm/mediatek/Makefile +++ b/drivers/gpu/drm/mediatek/Makefile @@ -21,3 +21,5 @@ mediatek-drm-hdmi-objs := mtk_cec.o \ mtk_hdmi_ddc.o obj-$(CONFIG_DRM_MEDIATEK_HDMI) += mediatek-drm-hdmi.o + +obj-$(CONFIG_MTK_DPTX_SUPPORT) += mtk_dp.o diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c b/drivers/gpu/drm/mediatek/mtk_dp.c new file mode 100644 index 0000000000000..41e95a0bcaa2c --- /dev/null +++ b/drivers/gpu/drm/mediatek/mtk_dp.c @@ -0,0 +1,3028 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (c) 2019 MediaTek Inc. + * Copyright (c) 2021 BayLibre + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include