Received: by 2002:a25:b323:0:0:0:0:0 with SMTP id l35csp1813376ybj; Sun, 22 Sep 2019 12:31:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqy4eeqA/oImV3H0kJTsX4jlfakvp+Fi15YDY5x2uKSrRfVrOB5+Lvdrl67Ane2hhgYUkVYe X-Received: by 2002:a05:6402:782:: with SMTP id d2mr31685090edy.296.1569180687893; Sun, 22 Sep 2019 12:31:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569180687; cv=none; d=google.com; s=arc-20160816; b=rS4TyeOOEyvti0n0ZW2a6FUc3lR8Z5iUqf1GyRISRI8V4rnz0jS/2O1+VBE4esC+4T O+6OubIbuAAu37LtsQU7IFVwYt1f03S8XA38VuyX2rNE/abbGEX9QH7BEGQ9SF/5RFlM khc3JHijP2cJI47eAQ6qrXCNArRIVTjoEzT8BWzlpv+3+nMMx8WcNf1ce0o4Y+0T/K31 VDhCSqnn3DXLmbtb0+V3X80V+J1SY8WLQf5REVIBdKoJZ3fHKzugMl/CrSwQU+oFeJxk cCLcH1rBGZq+3kPHGfC+j9CvmLyHnAbghRZBgx0KzXUow46GKCOvj4n0TEAZH7eLoCSW /wPw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:to:from; bh=H9QHcxx2Dqb3vhWX8aEqWs1r620JXI96QqOuXVwdzJ8=; b=dbw1w0VPig3DUoMlY5boOKZzwfSNyeVIxuiLQYoInyRvw8dY2OyNekCnJ3+rOu4SA5 Bkwmf45GYkGn6fZqJHwRS3gNcc/eExvVStcM7g/HtYQPijKigrUOVqXmrsPzeDTFA9sx qLlpGSU+8fVDlD2QTyi8rUPPZQRwWU3bk/RY0V9jG0MklUsPIj/duafem7vUwdtnOKkP xLLnjplZX1u24C945NrS1fxjDwAT+ypGlT77gzLupSWLmFLRvJLYhmHmlGg3za+RKFag epG8/aZ6+RCFxtAF69m+1FvOBTh8np1dLKzu7Zrb/JtvHTSdjTEdvyrcwx2pDF+rKNDk xN2w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 64si5917402eda.384.2019.09.22.12.31.03; Sun, 22 Sep 2019 12:31:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388107AbfIVQr0 (ORCPT + 99 others); Sun, 22 Sep 2019 12:47:26 -0400 Received: from honk.sigxcpu.org ([24.134.29.49]:42460 "EHLO honk.sigxcpu.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387583AbfIVQrZ (ORCPT ); Sun, 22 Sep 2019 12:47:25 -0400 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id 3E089FB04; Sun, 22 Sep 2019 18:47:22 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at honk.sigxcpu.org Received: from honk.sigxcpu.org ([127.0.0.1]) by localhost (honk.sigxcpu.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ehu5RXGdjCD8; Sun, 22 Sep 2019 18:47:13 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id 373F940113; Sun, 22 Sep 2019 09:47:12 -0700 (PDT) From: =?UTF-8?q?Guido=20G=C3=BCnther?= To: David Airlie , Daniel Vetter , Rob Herring , Mark Rutland , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , Andrzej Hajda , Neil Armstrong , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Lee Jones , =?UTF-8?q?Guido=20G=C3=BCnther?= , dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Robert Chiras , Sam Ravnborg , Arnd Bergmann Subject: [PATCH v6 2/2] drm/bridge: Add NWL MIPI DSI host controller support Date: Sun, 22 Sep 2019 09:47:12 -0700 Message-Id: X-Mailer: git-send-email 2.23.0.rc1 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This adds initial support for the NWL MIPI DSI Host controller found on i.MX8 SoCs. It adds support for the i.MX8MQ but the same IP can be found on e.g. the i.MX8QXP. It has been tested on the Librem 5 devkit using mxsfb. Signed-off-by: Guido Günther Co-developed-by: Robert Chiras Signed-off-by: Robert Chiras Tested-by: Robert Chiras --- drivers/gpu/drm/bridge/Kconfig | 16 + drivers/gpu/drm/bridge/Makefile | 3 + drivers/gpu/drm/bridge/nwl-dsi.c | 1180 ++++++++++++++++++++++++++++++ drivers/gpu/drm/bridge/nwl-dsi.h | 144 ++++ 4 files changed, 1343 insertions(+) create mode 100644 drivers/gpu/drm/bridge/nwl-dsi.c create mode 100644 drivers/gpu/drm/bridge/nwl-dsi.h diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig index 1cc9f502c1f2..13021f9a6107 100644 --- a/drivers/gpu/drm/bridge/Kconfig +++ b/drivers/gpu/drm/bridge/Kconfig @@ -65,6 +65,22 @@ config DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW to DP++. This is used with the i.MX6 imx-ldb driver. You are likely to say N here. +config DRM_NWL_MIPI_DSI + tristate "Northwest Logic MIPI DSI Host controller" + depends on DRM + depends on COMMON_CLK + depends on OF && HAS_IOMEM + select DRM_KMS_HELPER + select DRM_MIPI_DSI + select DRM_PANEL_BRIDGE + select GENERIC_PHY_MIPI_DPHY + select MFD_SYSCON + select MULTIPLEXER + select REGMAP_MMIO + help + This enables the Northwest Logic MIPI DSI Host controller as + for example found on NXP's i.MX8 Processors. + config DRM_NXP_PTN3460 tristate "NXP PTN3460 DP/LVDS bridge" depends on OF diff --git a/drivers/gpu/drm/bridge/Makefile b/drivers/gpu/drm/bridge/Makefile index 4934fcf5a6f8..c3f3a43e9b8f 100644 --- a/drivers/gpu/drm/bridge/Makefile +++ b/drivers/gpu/drm/bridge/Makefile @@ -16,4 +16,7 @@ obj-$(CONFIG_DRM_ANALOGIX_DP) += analogix/ obj-$(CONFIG_DRM_I2C_ADV7511) += adv7511/ obj-$(CONFIG_DRM_TI_SN65DSI86) += ti-sn65dsi86.o obj-$(CONFIG_DRM_TI_TFP410) += ti-tfp410.o +obj-$(CONFIG_DRM_NWL_MIPI_DSI) += nwl-dsi.o obj-y += synopsys/ + +header-test-y += nwl-dsi.h diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-dsi.c new file mode 100644 index 000000000000..dea5429a1e17 --- /dev/null +++ b/drivers/gpu/drm/bridge/nwl-dsi.c @@ -0,0 +1,1180 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * i.MX8 NWL MIPI DSI host driver + * + * Copyright (C) 2017 NXP + * Copyright (C) 2019 Purism SPC + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include