Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp9786759ybi; Wed, 24 Jul 2019 09:57:06 -0700 (PDT) X-Google-Smtp-Source: APXvYqzmcSIQWIAcOPxGff5WbEy24tR75Cqfx2+C0o1ICVTzKPWUStnwOr7oJFZ88xs1lJ16RoI2 X-Received: by 2002:aa7:8106:: with SMTP id b6mr12288934pfi.5.1563987426880; Wed, 24 Jul 2019 09:57:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563987426; cv=none; d=google.com; s=arc-20160816; b=fsnokp402d7Z64PCCmh+IBDk7ACP5KEa1dSj7Yncu7rU3LGcPSDsrerJWYThJv5TYi SBgBWn+O5d8j5s6L61YisttfuH7qe0ZIbmlQHecPlffR6+D6uZqYyjI/9W3NVjOPbaYl ZxPNzSnJQWHrb/D8AU+bUHzSrODzjdFoKAWG64UTny93cgAlNtYB3dF+EIljdA/mPWAP 4Ixoc0FCrSCR4JM+HVS5wMhqM0vMMWO/wUo8jZFjkjjWSNdX8kQeS6780ZQSFKRHqw7y JKMdPQ62YoMxANmEyZ/QDlFOyZZQwuyxc5xr0O1HQ6qvEXOwABralkEUDvy0tvglk2Jy 7LPw== 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 :message-id:date:subject:to:from; bh=MCbu1Pw3eT5YNenz+iw8p3piccUuoVn3b6hKa7xrDAA=; b=dJKTX7lAmLPx0n4CeQpPuGgZ1O5dqQ/r2uxws5poQ4rvBzT48Grx38yHIKKzuMKgR5 XGWO31XMFd8BEFibZCK0o1jXUPt3+XCRs/u7V0BPsx8hkC53QcOWK5YmRJRRWcGq6tHu K+RaZ4XcBwzu0AzjV2t/HauqN3diPU4IZLsqqBnP8LpPrQsOQjk5QCiPQIWLqlsoQT1p yglHvZI/knLQ6ScZJSTgNJTZc1MjQTZ0nBy8gvVigw2v/BKt2Eoi6gOIfCnL7EHE+3Cr x1LYyteuFd/643wFir7yvh2VDCto4bWsZ19newLN5RqFXNwhTnBC5y95X+gcPGO7y39Q eB7Q== 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 bg10si43976862plb.160.2019.07.24.09.56.51; Wed, 24 Jul 2019 09:57:06 -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 S1728351AbfGXPwd (ORCPT + 99 others); Wed, 24 Jul 2019 11:52:33 -0400 Received: from honk.sigxcpu.org ([24.134.29.49]:33530 "EHLO honk.sigxcpu.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726001AbfGXPwc (ORCPT ); Wed, 24 Jul 2019 11:52:32 -0400 Received: from localhost (localhost [127.0.0.1]) by honk.sigxcpu.org (Postfix) with ESMTP id 3F193FB06; Wed, 24 Jul 2019 17:52:29 +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 c2rVJsA1noyh; Wed, 24 Jul 2019 17:52:27 +0200 (CEST) Received: by bogon.sigxcpu.org (Postfix, from userid 1000) id E638A43417; Wed, 24 Jul 2019 17:52:26 +0200 (CEST) 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 Subject: [PATCH 0/3] drm: bridge: Add NWL MIPI DSI host controller support Date: Wed, 24 Jul 2019 17:52:23 +0200 Message-Id: X-Mailer: git-send-email 2.20.1 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 core can also be found on e.g. i.MX8QXP. I added the necessary hooks to support other imx8 variants but since I only have imx8mq boards to test I omitted the platform data for other SoCs. The code is based on NXPs BSP so I added Robert Chiras as Co-authored-by. Robert, if this looks sane could you add your Signed-off-by:? The most notable changes over the BSP driver are - Calculate HS mode timing from phy_configure_opts_mipi_dphy - Perform all clock setup via DT - Merge nwl-imx and nwl drivers - Add B0 silion revision quirk - become a bridge driver to hook into mxsfb (from what I read[0] DCSS, which also can drive the nwl on the imx8mq will likely not become part of imx-display-subsystem so it makes sense to make it drive a bridge for dsi as well). - Use panel_bridge to attach the panel This has been tested on a Librem 5 devkit using mxsfb with Robert's patches[1] and the rocktech-jh057n00900 panel driver. The DCSS can later on also act as input source too. Changes from v0: - Add quirk for IMQ8MQ silicon B0 revision to not mess with the system reset controller on power down since enable() won't work otherwise. - Drop devm_free_irq() handled by the device driver core - Disable tx esc clock after the phy power down to unbreak disable/enable (unblank/blank) - Add ports to dt binding docs - Select GENERIC_PHY_MIPI_DPHY instead of GENERIC_PHY for phy_mipi_dphy_get_default_config - Select DRM_MIPI_DSI - Include drm_print.h to fix build on next-20190408 - Drop some debugging messages - Newline terminate all DRM_ printouts - Turn component driver into a drm bridge [0]: https://lists.freedesktop.org/archives/dri-devel/2019-May/219484.html [1]: https://patchwork.freedesktop.org/series/62822/ Guido Günther (3): arm64: imx8mq: add imx8mq iomux-gpr field defines dt-bindings: display/bridge: Add binding for IMX NWL mipi dsi host controller drm/bridge: Add NWL MIPI DSI host controller support .../bindings/display/bridge/imx-nwl-dsi.txt | 89 +++ drivers/gpu/drm/bridge/Kconfig | 2 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/imx-nwl/Kconfig | 15 + drivers/gpu/drm/bridge/imx-nwl/Makefile | 2 + drivers/gpu/drm/bridge/imx-nwl/nwl-drv.c | 529 +++++++++++++ drivers/gpu/drm/bridge/imx-nwl/nwl-drv.h | 72 ++ drivers/gpu/drm/bridge/imx-nwl/nwl-dsi.c | 745 ++++++++++++++++++ drivers/gpu/drm/bridge/imx-nwl/nwl-dsi.h | 111 +++ include/linux/mfd/syscon/imx8mq-iomuxc-gpr.h | 62 ++ 10 files changed, 1628 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/imx-nwl-dsi.txt create mode 100644 drivers/gpu/drm/bridge/imx-nwl/Kconfig create mode 100644 drivers/gpu/drm/bridge/imx-nwl/Makefile create mode 100644 drivers/gpu/drm/bridge/imx-nwl/nwl-drv.c create mode 100644 drivers/gpu/drm/bridge/imx-nwl/nwl-drv.h create mode 100644 drivers/gpu/drm/bridge/imx-nwl/nwl-dsi.c create mode 100644 drivers/gpu/drm/bridge/imx-nwl/nwl-dsi.h create mode 100644 include/linux/mfd/syscon/imx8mq-iomuxc-gpr.h -- 2.20.1