Hi, On Thu, Mar 07, 2019 at 11:30:51AM +0100, Guido Günther wrote: > 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 but > I'm happy to swap Author: and Co-authored-by: if that looks more appropriate. > 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 > > Posting this is likely a bit premature (hence v0) but I wanted for one show how > this hooks into the mixel dphy posted earlier [1] and avoid duplicating work. > So if there's other code out there doing the same I'm be happy to merge > efforts. Since this is likely not going anywhere until we have a dcss driver aimed for mainline I'm not going spam the list with further revisions. However the 5.x version is maintained here: https://source.puri.sm/guido.gunther/linux-imx8/tree/forward-upstream/next-20190506/imx-nwl/v1-wip Feedback is still welcome. It'll eventually be forwarded to newer linux-next versions. Changes over the posted version are: - Add quirk for IMQ8MQ silicon B0 revision to not mess with the system reset controller on power down since enable won't work afterwards otherwise. - Disable tx esc clock *after* the phy power down to unbreak disable/enable (unblank/blank) - Drop devm_free_irq() handled by the device driver core - Add ports to dt binding docs - Select GENERIC_PHY_MIPI_DPHY instead of GENERIC_PHY for phy_mipi_dphy_get_default_config - Include drm_print.h to fix build on next-20190408 - Drop some debugging messages - Newline terminate all DRM_ printouts If somebody is working on DCSS support it'd be cool to know since this driver is currently a component of imx-display-subsystem which will only work out if dcss is handled like this as well. Cheers, -- Guido > > It has been tested quite bit (in a version backported to 4.18) on Librem 5 > devkit using DCSS (which is not mainlined yet) and a MIPI DSI panel[2]. In > principle LCDIF can also act as input source. I intend look into next so this > can actually be tested without further patches on mainline kernels. > > [1]: https://lists.freedesktop.org/archives/dri-devel/2019-March/209680.html > [2]: https://source.puri.sm/guido.gunther/linux-imx8/tree/imx8-4.18-wip-nwl-dsi-rework > > Guido Günther (2): > dt-bindings: imx: Add binding for IMX NWL mipi dsi host controller > drm/imx: Add NWL MIPI DSI host controller support > > .../bindings/display/imx/imx-nwl-dsi.txt | 72 ++ > drivers/gpu/drm/Kconfig | 2 + > drivers/gpu/drm/Makefile | 1 + > drivers/gpu/drm/nwl/Kconfig | 12 + > drivers/gpu/drm/nwl/Makefile | 2 + > drivers/gpu/drm/nwl/nwl-drv.c | 594 ++++++++++++++ > drivers/gpu/drm/nwl/nwl-drv.h | 68 ++ > drivers/gpu/drm/nwl/nwl-dsi.c | 752 ++++++++++++++++++ > drivers/gpu/drm/nwl/nwl-dsi.h | 105 +++ > 9 files changed, 1608 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/imx/imx-nwl-dsi.txt > create mode 100644 drivers/gpu/drm/nwl/Kconfig > create mode 100644 drivers/gpu/drm/nwl/Makefile > create mode 100644 drivers/gpu/drm/nwl/nwl-drv.c > create mode 100644 drivers/gpu/drm/nwl/nwl-drv.h > create mode 100644 drivers/gpu/drm/nwl/nwl-dsi.c > create mode 100644 drivers/gpu/drm/nwl/nwl-dsi.h > > -- > 2.20.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel