[v10,00/18] drm: Add Samsung MIPI DSIM bridge
| Message ID | kcEE.M8v6u+rKTzSz7sYJ8gOMcw.APTbwEsR2QE@vtuxmail01.tq-net.de |
|---|---|
| Headers |
Return-Path: <linux-amarula+bncBAABBCWP6GOAMGQEFVJBHGA@amarulasolutions.com> X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 585C13F081 for <linux-amarula@patchwork.amarulasolutions.com>; Fri, 16 Dec 2022 13:41:47 +0100 (CET) Received: by mail-wr1-f71.google.com with SMTP id w11-20020adfbacb000000b002418a90da01sf429572wrg.16 for <linux-amarula@patchwork.amarulasolutions.com>; Fri, 16 Dec 2022 04:41:47 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1671194507; cv=pass; d=google.com; s=arc-20160816; b=LmGkX5K0lDoQwjX8txAAhi5sWyXQF8G99lGCUUuVaMeA0jj+KXbqEO63Sd+dnvtONe VV4ADMprE12ZFmLxFGKWNDUcd8AKNnb+7s7GOJiVu9HsnM7bRJOq7MPnlnRdoEm33HNT JEM7CCiRFuROHix9471XMcz/jN1dZhB5voCSWFDE8ZS/PwD4Y80hMpEyySX9OIM2C8O6 mq6cUkVtPu0/htUQm2SdkSqRGx0eE6dnW8U9IRII6b/5MN6VrQW6ETk5LaiFTxPJZbyT HmtE8KD7+kbqJcD3RvaOUAArRqxjXWacoNvevb6P6hXipIHe23IeSiPZ+HvybXLwoInE +uKw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:message-id:mime-version:date:cc:to:from :subject:sender:dkim-signature; bh=qy627JyNd/8Y8BiR/o3cN2xvQyXz5XUc5boNp7nRA2Y=; b=Z1D+/EWhhxS6mlSKBtrCZV36qz+PFiVlc29wIZhFvToBUnKXqpMJX1mU3BMT+0La6h hKNkSS31t9E5iQsI3Hw/U6zt1g/DwAza+4422mJ2r162CboBXvuc3CM7b8BVuDi401px +y4zeU0KDRYZ4Tqep7y8ZNd/Iuzq/bU2T3LeX+VRii5NUKHWqLLunqTY0sGtAtB95dqa G/2FNoMiqqtSSJ+f4AgysDeiwYGBNnlAfFHUWrRibLhIXaVM0VxA7p127UBcoVeeJW5p yPfLacxN2jKoXMwxD54pMkjRD22bw7ItNa1ymf5b+6PKOiUrVX8UN/Vwawx4f5qW5NqY 88hg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=a+CrgECB; dkim=pass header.i=@tq-group.com header.s=key1 header.b=a+CrgECB; spf=pass (google.com: domain of alexander.stein@ew.tq-group.com designates 93.104.207.81 as permitted sender) smtp.mailfrom=Alexander.Stein@ew.tq-group.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tq-group.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:message-id:mime-version:date:cc:to:from:subject :sender:from:to:cc:subject:date:message-id:reply-to; bh=qy627JyNd/8Y8BiR/o3cN2xvQyXz5XUc5boNp7nRA2Y=; b=Kf/Oqswavw95dCmMeti4WTC13WrodQGNqAogWMGySGXuISYHVG7oyf+jp4PWJAvCkX magSMlJCENzesKjgcFCqsMlLmwCJ+1JrfY1nIJhuEOPYMh+jy8KVKjfB/uOTuib3ajJs o1OE80Nz/UTN+rHuNyb6BvUMI7aXW8iHyQ/lA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:message-id :mime-version:date:cc:to:from:subject:x-gm-message-state:sender:from :to:cc:subject:date:message-id:reply-to; bh=qy627JyNd/8Y8BiR/o3cN2xvQyXz5XUc5boNp7nRA2Y=; b=WSGfM/q1ND7yWCNw7RVg5UvE1G5nWCxrXXIJaZC10/U9NtVsQJYygd6yQ5F3L0LVwO k6idTE+h6T8wA4Utw09D5OrZjWghIndr4rzgdXj3Rd/pNbwbr851sbZ0xLAkrZXIPWRW ZgfNCG/zVu8xKgdDTisyZ7XmlNCknKMNLlksbiy5UeA+KHktlPSC45qdMpEhnQLyYuHe Qc1clOoplhubSAaD082TXs0kO793cSd+IcxzjUXy/rngbeyIz4n2XCc5Q6xK+I2FqJwH ReLOXru3/oytAWa5cIOjBacFx+2l5IyHsyaKqzT+YnhmrgCyzspJ8Fu0RjvJC44TpI5d 76Xw== Sender: linux-amarula@amarulasolutions.com X-Gm-Message-State: ANoB5pmjfmyCcusB+xlVkwltLRF8ekmtqZld7uRM22QSiF+CCGxe4q8f XSrAYr/T81Jd/MOLvBXX21fDSoHv X-Google-Smtp-Source: AA0mqf7+yegA2rj9SER/CbNRza79nroBoXtV970x3JuOVAha4XJ7QbzqdNob6Wxuzu80uPeHyymY2g== X-Received: by 2002:adf:fb52:0:b0:250:b68f:8b78 with SMTP id c18-20020adffb52000000b00250b68f8b78mr556479wrs.691.1671194506829; Fri, 16 Dec 2022 04:41:46 -0800 (PST) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a7b:ce11:0:b0:3cf:afd2:ab84 with SMTP id m17-20020a7bce11000000b003cfafd2ab84ls1209080wmc.2.-pod-control-gmail; Fri, 16 Dec 2022 04:41:46 -0800 (PST) X-Received: by 2002:a1c:5404:0:b0:3d0:a531:5413 with SMTP id i4-20020a1c5404000000b003d0a5315413mr24467250wmb.34.1671194505911; Fri, 16 Dec 2022 04:41:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1671194505; cv=none; d=google.com; s=arc-20160816; b=Tb8cEUAkU4KF8qtTezqMuRvnWBvlpJVhdAsF9KdZU0OLbBUACxeq65wk2KhQly/8z/ wETPSnyIUOaO7zt2SaxUf2dYqOAz8qjEIg5jsLMPS/rHvp61laxKIOdbFF5Nn4Lb8DUe EHGJY5TP5J9wxrmeAtaog/uyWABLJeoPiEwue/jbRdCqnYs/9MRwZMglYKsmPIZTxe5f d5u5lfYU49fzS4H6FFhSif89gyqIeUwr6zLSNX4pFY5wu0nYVUinZ8+jGh7JOqIzPMKR PrB4YBlGY2m+CL9w+fSWYmHsg7xOv7Kz5hNllUEgLB31K/acxOsag1k2o/dLESfLLt5B eyaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=message-id:content-transfer-encoding:mime-version:date:cc:to:from :subject:dkim-signature:dkim-signature; bh=pikPuKrToRkzNeBUEXlUPGDHdgZLhXcBd7Ep3d+eRHg=; b=B1wZEdYfDQSN+ZrmNmZKEg7J5VsC4Fzkcp6i0in02dD47dTiwVBxOeo6ZZqCU36zLW DK1kil/c8gNuT3jQe/2rgWwo0PcxgkwFKrqAroqDQCC9jXHvpH0fDPo7KGP70i8kvhkj PHH8OAfcZOzGiQdX+Lsn5AK+tqcQ0nhMLIkjDAL15/R/rXJc7jxPrJn2U7c1XMcnxI2I TVqQWOx7HOMl8888cyOOVnHJ5xsh6/se4ro93wveKhp8woRdMu0UeNRH2XV1ME+JyhbX Uvc4kQ77618awIgCNt7KcuE6qoS5+dt8oaRuyuXC0HflUWZScU7pGOlFBJKd2U55CY7S IUWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=a+CrgECB; dkim=pass header.i=@tq-group.com header.s=key1 header.b=a+CrgECB; spf=pass (google.com: domain of alexander.stein@ew.tq-group.com designates 93.104.207.81 as permitted sender) smtp.mailfrom=Alexander.Stein@ew.tq-group.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tq-group.com Received: from mx1.tq-group.com (mx1.tq-group.com. [93.104.207.81]) by mx.google.com with ESMTPS id f5-20020a5d64c5000000b00241da0b373bsi2055442wri.740.2022.12.16.04.41.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 16 Dec 2022 04:41:45 -0800 (PST) Received-SPF: pass (google.com: domain of alexander.stein@ew.tq-group.com designates 93.104.207.81 as permitted sender) client-ip=93.104.207.81; X-IronPort-AV: E=Sophos;i="5.96,249,1665439200"; d="scan'208";a="28000107" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 16 Dec 2022 13:41:45 +0100 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Fri, 16 Dec 2022 13:41:45 +0100 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Fri, 16 Dec 2022 13:41:45 +0100 X-IronPort-AV: E=Sophos;i="5.96,249,1665439200"; d="scan'208";a="28000106" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 16 Dec 2022 13:41:44 +0100 Received: from vtuxmail01.tq-net.de (localhost [127.0.0.1]) by vtuxmail01.tq-net.de (Postfix) with ESMTP id C8123280071; Fri, 16 Dec 2022 13:41:44 +0100 (CET) Received: by vtuxmail01 (kopano-spooler) with MAPI; Fri, 16 Dec 2022 13:41:44 +0100 Subject: [PATCH v10 00/18] drm: Add Samsung MIPI DSIM bridge From: "Alexander Stein" <Alexander.Stein@ew.tq-group.com> To: "Andrzej Hajda" <andrzej.hajda@intel.com>, "Inki Dae" <inki.dae@samsung.com>, "Marek Szyprowski" <m.szyprowski@samsung.com>, Joonyoung Shim <jy0922.shim@samsung.com>, "Seung-Woo Kim" <sw0312.kim@samsung.com>, Kyungmin Park <kyungmin.park@samsung.com>, "Frieder Schrempf" <frieder.schrempf@kontron.de>, "Fancy Fang" <chen.fang@nxp.com>, Tim Harvey <tharvey@gateworks.com>, "Michael Nazzareno Trimarchi" <michael@amarulasolutions.com>, "Adam Ford" <aford173@gmail.com>, Neil Armstrong <narmstrong@linaro.org>, "Robert Foss" <robert.foss@linaro.org>, Laurent Pinchart <Laurent.pinchart@ideasonboard.com>, "Tommaso Merciai" <tommaso.merciai@amarulasolutions.com>, "Marek Vasut" <marex@denx.de>, dri-devel@lists.freedesktop.org <dri-devel@lists.freedesktop.org> Cc: linux-samsung-soc@vger.kernel.org <linux-samsung-soc@vger.kernel.org>, "Matteo Lisi" <matteo.lisi@engicam.com>, dri-devel@lists.freedesktop.org <dri-devel@lists.freedesktop.org>, "NXP Linux Team" <linux-imx@nxp.com>, "linux-amarula" <linux-amarula@amarulasolutions.com>, linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org>, "Jagan Teki" <jagan@amarulasolutions.com>, "Jagan Teki" <jagan@amarulasolutions.com> Date: Fri, 16 Dec 2022 12:41:44 +0000 Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" X-Priority: 3 (Normal) X-Mailer: Kopano 8.7.82 Message-Id: <kcEE.M8v6u+rKTzSz7sYJ8gOMcw.APTbwEsR2QE@vtuxmail01.tq-net.de> X-Original-Sender: alexander.stein@ew.tq-group.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@tq-group.com header.s=key1 header.b=a+CrgECB; dkim=pass header.i=@tq-group.com header.s=key1 header.b=a+CrgECB; spf=pass (google.com: domain of alexander.stein@ew.tq-group.com designates 93.104.207.81 as permitted sender) smtp.mailfrom=Alexander.Stein@ew.tq-group.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=tq-group.com Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: <linux-amarula.amarulasolutions.com> X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: <https://groups.google.com/a/amarulasolutions.com/group/linux-amarula/post>, <mailto:linux-amarula@amarulasolutions.com> List-Help: <https://support.google.com/a/amarulasolutions.com/bin/topic.py?topic=25838>, <mailto:linux-amarula+help@amarulasolutions.com> List-Archive: <https://groups.google.com/a/amarulasolutions.com/group/linux-amarula/> List-Unsubscribe: <mailto:googlegroups-manage+476853432473+unsubscribe@googlegroups.com>, <https://groups.google.com/a/amarulasolutions.com/group/linux-amarula/subscribe> |
Message
Alexander Stein
Dec. 16, 2022, 12:41 p.m. UTC
Hi, thanks for the new update. Am Mittwoch, 14. Dezember 2022, 13:58:49 CET schrieb Jagan Teki: > This series supports common bridge support for Samsung MIPI DSIM > which is used in Exynos and i.MX8MM SoC's. > > The final bridge supports both the Exynos and i.MX8M Mini/Nano/Plus. > > Patch 0001 - 0004: adding devm_drm_of_dsi_get_bridge > > Patch 0005 - 0006: optional PHY, PMS_P offset > > Patch 0007 : introduce hw_type > > Patch 0008 : fixing host init > > Patch 0009 : atomic_check > > Patch 0010 : input_bus_flags > > Patch 0011 : atomic_get_input_bus_fmts > > Patch 0012 - 0013: component vs bridge > > Patch 0014 : DSIM bridge > > Patch 0015 - 0016: i.MX8M Mini/Nano > > Patch 0017 - 0018: i.MX8M Plus Tested using LVDS bridges and works on: * imx8mp-tqma8mpql-mba8mpxl (i.MX8M Plus) * imx8mm-tqma8mqml-mba8mx (i.MX8M Mini) * imx8mn-tqma8mqnl-mba8mx (i.MX8M Nano) But I noticed that tqma8mqml and tqma8mqnl only have a stable output if I specify 'data-lanes = <0 1 2>' (not <0 1 2 3>!) on the DSI-LVDS-Bridge (TI SN65DSI83) input endpoint, e.g. dsi_lvds_bridge: bridge@2d { compatible = "ti,sn65dsi83"; reg = <0x2d>; enable-gpios = <&gpio_delays 0 130000 0>; vcc-supply = <®_sn65dsi83_1v8>; status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; lvds_bridge_in: endpoint { data-lanes = <0 1 2>; remote-endpoint = <&mipi_dsi_out>; }; }; port@2 { reg = <2>; lvds_bridge_out: endpoint { remote-endpoint = <&panel_in_lvds0>; }; }; }; }; I have no idea if this is on the DSIM side or the DSI-LVDS bridge side. Register 0xe5 on sn65dsi83 shows that CHA_LPP_ERR and CHA_SOT_BIT_ERR error bits are set, indicating there are low level protocol and SoT leader sequence bit errors. I can't find any significant difference in sn65dsi83 driver compared to downstream-kernel, so I would assume something in DSIM driver is different. Best regards, Alexander > Changes for v10: > - rebase on drm-misc-next > - add drm_of_dsi_find_panel_or_bridge > - add devm_drm_of_dsi_get_bridge > - fix host initialization (Thanks to Marek Szyprowski) > - rearrange the tiny patches for easy to review > - update simple names for enum hw_type > - add is_hw_exynos macro > - rework on commit messages > > Changes for v9: > - rebase on drm-misc-next > - drop drm bridge attach fix for Exynos > - added prepare_prev_first flag > - added pre_enable_prev_first flag > - fix bridge chain order for exynos > - added fix for Exynos host init for first DSI transfer > - added MEDIA_BUS_FMT_FIXED > - return MEDIA_BUS_FMT_RGB888_1X24 output_fmt if supported output_fmt > list is unsupported. > - added MEDIA_BUS_FMT_YUYV10_1X20 > - added MEDIA_BUS_FMT_YUYV12_1X24 > > Changes for v8: > * fixed comment lines > * fixed commit messages > * fixed video mode bits > * collect Marek Ack > * fixed video mode bit names > * update input formats logic > * added imx8mplus support > > Changes for v7: > * fix the drm bridge attach chain for exynos drm dsi driver > * fix the hw_type checking logic > > Changes for v6: > * handle previous bridge for exynos dsi while attaching bridge > > Changes for v5: > * bridge changes to support multi-arch > * updated and clear commit messages > * add hw_type via plat data > * removed unneeded quirk > * rebased on linux-next > > Changes for v4: > * include Inki Dae in MAINTAINERS > * remove dsi_driver probe in exynos_drm_drv to support multi-arch build > * update init handling to ensure host init done on first cmd transfer > > Changes for v3: > * fix the mult-arch build > * fix dsi host init > * updated commit messages > > Changes for v2: > * fix bridge handling > * fix dsi host init > * correct the commit messages > > Tested in Engicam i.Core MX8M Mini SoM. > > Repo: > https://gitlab.com/openedev/kernel/-/commits/imx8mm-dsi-v10 > > v9: > https://lore.kernel.org/all/20221209152343.180139-1-jagan@amarulasolutions.c > om/ > > Any inputs? > Jagan. > > Jagan Teki (16): > drm: of: Lookup if child node has DSI panel or bridge > drm: bridge: panel: Add devm_drm_of_dsi_get_bridge helper > drm: exynos: dsi: Drop explicit call to bridge detach > drm: exynos: dsi: Switch to devm_drm_of_dsi_get_bridge > drm: exynos: dsi: Mark PHY as optional > drm: exynos: dsi: Add platform PLL_P (PMS_P) offset > drm: exynos: dsi: Introduce hw_type platform data > drm: exynos: dsi: Add atomic check > drm: exynos: dsi: Add input_bus_flags > drm: exynos: dsi: Add atomic_get_input_bus_fmts > drm: exynos: dsi: Consolidate component and bridge > drm: exynos: dsi: Add Exynos based host irq hooks > drm: bridge: Generalize Exynos-DSI driver into a Samsung DSIM bridge > dt-bindings: display: exynos: dsim: Add NXP i.MX8M Mini/Nano support > drm: bridge: samsung-dsim: Add i.MX8M Mini/Nano support > dt-bindings: display: exynos: dsim: Add NXP i.MX8M Plus support > > Marek Szyprowski (1): > drm: exynos: dsi: Handle proper host initialization > > Marek Vasut (1): > drm: bridge: samsung-dsim: Add i.MX8M Plus support > > .../bindings/display/exynos/exynos_dsim.txt | 2 + > MAINTAINERS | 9 + > drivers/gpu/drm/bridge/Kconfig | 12 + > drivers/gpu/drm/bridge/Makefile | 1 + > drivers/gpu/drm/bridge/panel.c | 34 + > drivers/gpu/drm/bridge/samsung-dsim.c | 1883 +++++++++++++++++ > drivers/gpu/drm/drm_of.c | 113 +- > drivers/gpu/drm/exynos/Kconfig | 1 + > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1793 +--------------- > include/drm/bridge/samsung-dsim.h | 119 ++ > include/drm/drm_bridge.h | 2 + > include/drm/drm_of.h | 12 + > 12 files changed, 2285 insertions(+), 1696 deletions(-) > create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c > create mode 100644 include/drm/bridge/samsung-dsim.h