| Message ID | 20221005151309.7278-1-jagan@amarulasolutions.com |
|---|---|
| Headers |
Return-Path: <linux-amarula+bncBD7MFH7A7EEBBEF662MQMGQEA5FRZYA@amarulasolutions.com> X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-il1-f198.google.com (mail-il1-f198.google.com [209.85.166.198]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 758AA3F1F7 for <linux-amarula@patchwork.amarulasolutions.com>; Wed, 5 Oct 2022 17:13:21 +0200 (CEST) Received: by mail-il1-f198.google.com with SMTP id a8-20020a92c548000000b002f6440ff96bsf13613094ilj.22 for <linux-amarula@patchwork.amarulasolutions.com>; Wed, 05 Oct 2022 08:13:21 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1664982800; cv=pass; d=google.com; s=arc-20160816; b=FFzaJbDMfOx0zli8VSaTiTbn1IZkNJ//nNjj5bEOBKNaoCSDxitxGAUZPiok2iolMH BDonRAN+ZpyeK1XJk8VdeJzwViKHn63zLO3YKZsXXakZkowxCgCu1cnX2gcHOew6w8uR miowezU5dhx5r4nh58z/0gSMTJHvB4ABHzirbzp4te7onfTBzpNA30GxujPgp6ppLClO kr35TPUkwOvIysST5jITKLLSCJlhXMcSn8Z/lUEpKCgnaa42Acgc3s0gN+lEG8pWYlvA BUwQkSlRrNVarqLq131LKLf45If8xxCwpahZTeFZjyauaC43gEQwVgonlVf7+w/k0Jbb hivg== 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:mime-version:message-id:date:subject:cc:to :from:dkim-signature; bh=0VJOVrZ5moCBftbNlm/OnLiocfG9M1rtDwZ6SLYcD5c=; b=urnqXqBy68aDslYvlYqtqvl4ohXWMz3hZymV8Yeno8Gl4cgRKddjB4x3/Be35pBfpy lD6RpFno44Wlb7MOjuRou+sXdlF2Sd9VM/HoxSDO7MLmLkjwo0U7cRLoUYLGxjyJdFuR W3jpNEcl+EdJh/fLow9yhrQguKve5VsLT8Or0gbQcnBIGPdF0P2YajeNz33gfxAbcnoE 4/zI7vTHmcXsY44oDRTViCJCXhW+TwQPizh3Hb6kbaqmvVqYmBF957Vz7vWJFbavbCpN d5OO0uCDAs4/VRxvxmPiaNKSjH2Nz++QuTvN/cQ2xr1F265EgJJVSGtCxQyEXxodO3Ec QKoQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=diIXyEYN; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.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:mime-version:message-id:date:subject:cc:to:from :from:to:cc:subject:date; bh=0VJOVrZ5moCBftbNlm/OnLiocfG9M1rtDwZ6SLYcD5c=; b=hRW0UX+0ChFVFswY9HogshvE2t55fD4oiiHaKPubnkojm23MBnVZt98ORmepdCgCUm PM0Ik5fCwHqCOLmP4260WfkNS6vIFTbMVBL/XETFDrc8iWdXvUsdbXHLJmhKdKSrhnXE Lr6g9JRs66WN0EhTfgDo32c8nRyfJN3kvsVUM= 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:mime-version :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date; bh=0VJOVrZ5moCBftbNlm/OnLiocfG9M1rtDwZ6SLYcD5c=; b=q8gbaOqgFP+AFgDAN/nxILB1V4OOS7HRAGQrpo8PJbe8Xn9TelWFTBKxbuyoKUmtEC g14+ICdiNafjidoin1eHe+W2ZmuAB1B5nu3yPG5kQ0Ba1/i7fLzkZIvZ+BnbB1hLwFWv txHyJWqdFig07nzVaXVTmYjJ6D2woVEgM4pytTiAiwFBBWX8eQdMYfbyQJ6sThknHUxa LUCl6NNC4J2y14j9BJExl1e5nu2LEFz/oRrlFATNkoZrWOCEAd5HvI8qojfyPSyV1pGO rFRurmUpVMX0U+bI3F29CnHPwuC1lo6ONsNOikiDgfThOmSe/eZ6yfBSQrnjN0GKYc+y 01jQ== X-Gm-Message-State: ACrzQf2SyrMoqdGpnvNMCP3KChfT3fxOoUTxZH20gV8XePxAS1YOlaBi Q3+lUvpR8WaQlJgldj9hBGyKii53 X-Google-Smtp-Source: AMsMyM7v3a2zctMwvZsgZsQi3+i6NdjzWaC1wZQqab5NPOeW0Fpgpcfka4BdA16E5co0VvMAz0zXXQ== X-Received: by 2002:a92:ce8e:0:b0:2f9:9700:7e71 with SMTP id r14-20020a92ce8e000000b002f997007e71mr48973ilo.261.1664982800334; Wed, 05 Oct 2022 08:13:20 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com Received: by 2002:a05:6602:25c1:b0:6a1:f79a:508a with SMTP id d1-20020a05660225c100b006a1f79a508als2313174iop.9.-pod-prod-gmail; Wed, 05 Oct 2022 08:13:20 -0700 (PDT) X-Received: by 2002:a05:6602:13c8:b0:669:c3de:776f with SMTP id o8-20020a05660213c800b00669c3de776fmr160225iov.124.1664982799788; Wed, 05 Oct 2022 08:13:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664982799; cv=none; d=google.com; s=arc-20160816; b=qpY5D8EKf7vOIVFsjX1E34Dm2gIsOZnkHJ8A7nDjzHVD8rlf2i237Du3F3tV56i7NX C18dgoGRY9v9qQzLrU4K1Twn2qWKdBzXtHPkkA7hyQhvPfNMgsZ4qdh1NtzzwP1YzYYA OVnL7Ya8Ktji+cdDB/jT79cbDNF5BEuPnX1wgBE5DD5ozCEH/f2+dioCprOWW5yykD/b LaWufxO04U2HXlZUz1IkDLTaHLJ4Gso2DDiS/1/Ir4jcQjwP+bs8zT3gec+80s7lZmFF Unl+hbqc0VBRuT/IraoWVq67jw33gjqqZmIbh4y0FikfVuHWb7LSdzFi/QJxt4HCOfAs dl+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=p1b/OkZVE0RzV7zia8rRogaQ7aQF3pfaZimR6lGLDog=; b=N+nAlreoIS9bN72XBqiV7gBwZ5XyDO53EGcL7VzPVs9uZgHJCbopSrgNh4t+mWyCaj D4Lnk8UZTzVLw4ZC4X++BXPGT85juTRBYnd5srA083KINgdoxQSPZ+B9lFpfiaFDKFIO sGW4x5pctKoxqO0gDdKoUFQXB8iiSloA7Lm/hEZsho9DNdzTzWgB/Kns7lVVFd2pKNLx VlSC3rRwXBC71V4gvws1Blp19Za+AEgXZ6gMSufehxXFvlo+mbg8a5SeWGonp632nll5 YEfOL7ifLOowkqoV+qPPL4ZTRFR+l+03FOf+pZSTsqV3O4F0mIiccgyY4EmiIvLTjZe8 7Yeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=diIXyEYN; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id q2-20020a027b02000000b00358307183eesor4738228jac.74.2022.10.05.08.13.19 for <linux-amarula@amarulasolutions.com> (Google Transport Security); Wed, 05 Oct 2022 08:13:19 -0700 (PDT) Received-SPF: pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Received: by 2002:a05:6638:13ca:b0:35a:7ece:3c6a with SMTP id i10-20020a05663813ca00b0035a7ece3c6amr54330jaj.318.1664982799364; Wed, 05 Oct 2022 08:13:19 -0700 (PDT) Received: from j-ThinkPad-E14-Gen-2.stthomas.edu ([140.209.96.21]) by smtp.gmail.com with ESMTPSA id w15-20020a056602034f00b0068a235db030sm7089276iou.27.2022.10.05.08.13.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Oct 2022 08:13:18 -0700 (PDT) From: Jagan Teki <jagan@amarulasolutions.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> Cc: Matteo Lisi <matteo.lisi@engicam.com>, dri-devel@lists.freedesktop.org, linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, NXP Linux Team <linux-imx@nxp.com>, linux-amarula <linux-amarula@amarulasolutions.com>, Jagan Teki <jagan@amarulasolutions.com> Subject: [PATCH v7 00/10] drm: bridge: Add Samsung MIPI DSIM bridge Date: Wed, 5 Oct 2022 20:42:59 +0530 Message-Id: <20221005151309.7278-1-jagan@amarulasolutions.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Original-Sender: jagan@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=diIXyEYN; spf=pass (google.com: domain of jagan@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=jagan@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com Content-Type: text/plain; charset="UTF-8" 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> |
| Series |
drm: bridge: Add Samsung MIPI DSIM bridge
|
|
Message
Jagan Teki
Oct. 5, 2022, 3:12 p.m. UTC
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.MX8MM DSI devices. 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 Patch 0001: Samsung DSIM bridge Patch 0002: PHY optional Patch 0003: OF-graph or Child node lookup Patch 0004: DSI host initialization Patch 0005: atomic check Patch 0006: PMS_P offset via plat data Patch 0007: atomic_get_input_bus_fmts Patch 0008: input_bus_flags Patch 0009: document fsl,imx8mm-mipi-dsim Patch 0010: add i.MX8MM DSIM support Tested in Engicam i.Core MX8M Mini SoM. Repo: https://gitlab.com/openedev/kernel/-/commits/imx8mm-dsi-v7 Any inputs? Jagan. Jagan Teki (10): drm: bridge: Add Samsung DSIM bridge driver drm: bridge: samsung-dsim: Lookup OF-graph or Child node devices drm: bridge: samsung-dsim: Mark PHY as optional drm: bridge: samsung-dsim: Handle proper DSI host initialization drm: bridge: samsung-dsim: Add atomic_check drm: bridge: samsung-dsim: Add platform PLL_P (PMS_P) offset drm: bridge: samsung-dsim: Add atomic_get_input_bus_fmts drm: bridge: samsung-dsim: Add input_bus_flags dt-bindings: display: exynos: dsim: Add NXP i.MX8MM support drm: bridge: samsung-dsim: Add i.MX8MM support .../bindings/display/exynos/exynos_dsim.txt | 1 + MAINTAINERS | 9 + drivers/gpu/drm/bridge/Kconfig | 12 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/samsung-dsim.c | 1856 +++++++++++++++++ drivers/gpu/drm/exynos/Kconfig | 1 + drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1766 +--------------- include/drm/bridge/samsung-dsim.h | 115 + 8 files changed, 2108 insertions(+), 1653 deletions(-) create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c create mode 100644 include/drm/bridge/samsung-dsim.h
Comments
Hi Jagan, On 05.10.2022 17:12, Jagan Teki wrote: > 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.MX8MM DSI devices. > > 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 > > Patch 0001: Samsung DSIM bridge > > Patch 0002: PHY optional > > Patch 0003: OF-graph or Child node lookup > > Patch 0004: DSI host initialization > > Patch 0005: atomic check > > Patch 0006: PMS_P offset via plat data > > Patch 0007: atomic_get_input_bus_fmts > > Patch 0008: input_bus_flags > > Patch 0009: document fsl,imx8mm-mipi-dsim > > Patch 0010: add i.MX8MM DSIM support > > Tested in Engicam i.Core MX8M Mini SoM. This finally doesn't break Exynos DSI. :) Feel free to add: Acked-by: Marek Szyprowski Tested-by: Marek Szyprowski The next step would be to merge Dave's patchset and remove the hacks added here and there. Otherwise we will end up adding even more hacks soon. > Repo: > https://gitlab.com/openedev/kernel/-/commits/imx8mm-dsi-v7 > > Any inputs? > Jagan. > > Jagan Teki (10): > drm: bridge: Add Samsung DSIM bridge driver > drm: bridge: samsung-dsim: Lookup OF-graph or Child node devices > drm: bridge: samsung-dsim: Mark PHY as optional > drm: bridge: samsung-dsim: Handle proper DSI host initialization > drm: bridge: samsung-dsim: Add atomic_check > drm: bridge: samsung-dsim: Add platform PLL_P (PMS_P) offset > drm: bridge: samsung-dsim: Add atomic_get_input_bus_fmts > drm: bridge: samsung-dsim: Add input_bus_flags > dt-bindings: display: exynos: dsim: Add NXP i.MX8MM support > drm: bridge: samsung-dsim: Add i.MX8MM support > > .../bindings/display/exynos/exynos_dsim.txt | 1 + > MAINTAINERS | 9 + > drivers/gpu/drm/bridge/Kconfig | 12 + > drivers/gpu/drm/bridge/Makefile | 1 + > drivers/gpu/drm/bridge/samsung-dsim.c | 1856 +++++++++++++++++ > drivers/gpu/drm/exynos/Kconfig | 1 + > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1766 +--------------- > include/drm/bridge/samsung-dsim.h | 115 + > 8 files changed, 2108 insertions(+), 1653 deletions(-) > create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c > create mode 100644 include/drm/bridge/samsung-dsim.h > Best regards
Hi Marek, On Thu, Oct 6, 2022 at 2:21 AM Marek Szyprowski <m.szyprowski@samsung.com> wrote: > > Hi Jagan, > > On 05.10.2022 17:12, Jagan Teki wrote: > > 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.MX8MM DSI devices. > > > > 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 > > > > Patch 0001: Samsung DSIM bridge > > > > Patch 0002: PHY optional > > > > Patch 0003: OF-graph or Child node lookup > > > > Patch 0004: DSI host initialization > > > > Patch 0005: atomic check > > > > Patch 0006: PMS_P offset via plat data > > > > Patch 0007: atomic_get_input_bus_fmts > > > > Patch 0008: input_bus_flags > > > > Patch 0009: document fsl,imx8mm-mipi-dsim > > > > Patch 0010: add i.MX8MM DSIM support > > > > Tested in Engicam i.Core MX8M Mini SoM. > > This finally doesn't break Exynos DSI. :) Feel free to add: > > Acked-by: Marek Szyprowski > > Tested-by: Marek Szyprowski > > The next step would be to merge Dave's patchset and remove the hacks > added here and there. Otherwise we will end up adding even more hacks soon. I've some concerns about one of those patches, I will try to comment on that patch in mailing list or will send updated changes on top of those. Thanks, Jagan.
On Wed, Oct 5, 2022 at 1:51 PM Marek Szyprowski <m.szyprowski@samsung.com> wrote: > > Hi Jagan, > > On 05.10.2022 17:12, Jagan Teki wrote: > > 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.MX8MM DSI devices. > > > > 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 > > > > Patch 0001: Samsung DSIM bridge > > > > Patch 0002: PHY optional > > > > Patch 0003: OF-graph or Child node lookup > > > > Patch 0004: DSI host initialization > > > > Patch 0005: atomic check > > > > Patch 0006: PMS_P offset via plat data > > > > Patch 0007: atomic_get_input_bus_fmts > > > > Patch 0008: input_bus_flags > > > > Patch 0009: document fsl,imx8mm-mipi-dsim > > > > Patch 0010: add i.MX8MM DSIM support > > > > Tested in Engicam i.Core MX8M Mini SoM. > > This finally doesn't break Exynos DSI. :) Feel free to add: > > Acked-by: Marek Szyprowski > > Tested-by: Marek Szyprowski > > The next step would be to merge Dave's patchset and remove the hacks > added here and there. Otherwise we will end up adding even more hacks soon. Jagan, I've also tested this latest series with a Gateworks imx8mm-venice-gw73xx-0x with a RaspberryPi MIPI DSI compatible DFR0550 display with the following dt overlay: /dts-v1/; /plugin/; &{/} { compatible = "gw,imx8mm-gw73xx-0x", "fsl,imx8mm"; panel { compatible = "powertip,ph800480t013-idf02"; power-supply = <&attiny>; backlight = <&attiny>; port { panel_out_bridge: endpoint { remote-endpoint = <&bridge_out_panel>; }; }; }; }; &i2c3 { #address-cells = <1>; #size-cells = <0>; attiny: regulator@45 { compatible = "raspberrypi,7inch-touchscreen-panel-regulator"; reg = <0x45>; }; }; &dsi { #address-cells = <1>; #size-cells = <0>; status = "okay"; bridge@0 { compatible = "toshiba,tc358762"; reg = <0>; vddc-supply = <&attiny>; status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; bridge_in_dsi: endpoint { remote-endpoint = <&dsi_out_bridge>; }; }; port@1 { reg = <1>; bridge_out_panel: endpoint { remote-endpoint = <&panel_out_bridge>; }; }; }; }; ports { #address-cells = <1>; #size-cells = <0>; port@1 { reg = <1>; dsi_out_bridge: endpoint { remote-endpoint = <&bridge_in_dsi>; }; }; }; }; &lcdif { status = "okay"; }; Tested-by: Tim Harvey <tharvey@gateworks.com> # imx8mm-venice-gw73xx-0x Thanks for all your work on this! Best Regards, Tim > > > Repo: > > https://gitlab.com/openedev/kernel/-/commits/imx8mm-dsi-v7 > > > > Any inputs? > > Jagan. > > > > Jagan Teki (10): > > drm: bridge: Add Samsung DSIM bridge driver > > drm: bridge: samsung-dsim: Lookup OF-graph or Child node devices > > drm: bridge: samsung-dsim: Mark PHY as optional > > drm: bridge: samsung-dsim: Handle proper DSI host initialization > > drm: bridge: samsung-dsim: Add atomic_check > > drm: bridge: samsung-dsim: Add platform PLL_P (PMS_P) offset > > drm: bridge: samsung-dsim: Add atomic_get_input_bus_fmts > > drm: bridge: samsung-dsim: Add input_bus_flags > > dt-bindings: display: exynos: dsim: Add NXP i.MX8MM support > > drm: bridge: samsung-dsim: Add i.MX8MM support > > > > .../bindings/display/exynos/exynos_dsim.txt | 1 + > > MAINTAINERS | 9 + > > drivers/gpu/drm/bridge/Kconfig | 12 + > > drivers/gpu/drm/bridge/Makefile | 1 + > > drivers/gpu/drm/bridge/samsung-dsim.c | 1856 +++++++++++++++++ > > drivers/gpu/drm/exynos/Kconfig | 1 + > > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1766 +--------------- > > include/drm/bridge/samsung-dsim.h | 115 + > > 8 files changed, 2108 insertions(+), 1653 deletions(-) > > create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c > > create mode 100644 include/drm/bridge/samsung-dsim.h > > > Best regards > -- > Marek Szyprowski, PhD > Samsung R&D Institute Poland >
Hi Jagan On Wed, 2022-10-05 at 20:42 +0530, Jagan Teki wrote: > 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.MX8MM DSI devices. > > 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 > > Patch 0001: Samsung DSIM bridge > > Patch 0002: PHY optional > > Patch 0003: OF-graph or Child node lookup > > Patch 0004: DSI host initialization > > Patch 0005: atomic check > > Patch 0006: PMS_P offset via plat data > > Patch 0007: atomic_get_input_bus_fmts > > Patch 0008: input_bus_flags > > Patch 0009: document fsl,imx8mm-mipi-dsim > > Patch 0010: add i.MX8MM DSIM support > > Tested in Engicam i.Core MX8M Mini SoM. Thanks for this work! This also works great on Verdin iMX8M Mini together with the SN65DSI84-based Verdin DSI to LVDS Adapter. Tested-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> > Repo: > https://gitlab.com/openedev/kernel/-/commits/imx8mm-dsi-v7 > > Any inputs? > Jagan. > > Jagan Teki (10): > drm: bridge: Add Samsung DSIM bridge driver > drm: bridge: samsung-dsim: Lookup OF-graph or Child node devices > drm: bridge: samsung-dsim: Mark PHY as optional > drm: bridge: samsung-dsim: Handle proper DSI host initialization > drm: bridge: samsung-dsim: Add atomic_check > drm: bridge: samsung-dsim: Add platform PLL_P (PMS_P) offset > drm: bridge: samsung-dsim: Add atomic_get_input_bus_fmts > drm: bridge: samsung-dsim: Add input_bus_flags > dt-bindings: display: exynos: dsim: Add NXP i.MX8MM support > drm: bridge: samsung-dsim: Add i.MX8MM support > > .../bindings/display/exynos/exynos_dsim.txt | 1 + > MAINTAINERS | 9 + > drivers/gpu/drm/bridge/Kconfig | 12 + > drivers/gpu/drm/bridge/Makefile | 1 + > drivers/gpu/drm/bridge/samsung-dsim.c | 1856 +++++++++++++++++ > drivers/gpu/drm/exynos/Kconfig | 1 + > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1766 +--------------- > include/drm/bridge/samsung-dsim.h | 115 + > 8 files changed, 2108 insertions(+), 1653 deletions(-) > create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c > create mode 100644 include/drm/bridge/samsung-dsim.h Cheers Marcel
Hey Jagan, On Wed, 5 Oct 2022 at 17:13, Jagan Teki <jagan@amarulasolutions.com> wrote: > > 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.MX8MM DSI devices. > > 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 > > Patch 0001: Samsung DSIM bridge > > Patch 0002: PHY optional > > Patch 0003: OF-graph or Child node lookup > > Patch 0004: DSI host initialization > > Patch 0005: atomic check > > Patch 0006: PMS_P offset via plat data > > Patch 0007: atomic_get_input_bus_fmts > > Patch 0008: input_bus_flags > > Patch 0009: document fsl,imx8mm-mipi-dsim > > Patch 0010: add i.MX8MM DSIM support > > Tested in Engicam i.Core MX8M Mini SoM. > > Repo: > https://gitlab.com/openedev/kernel/-/commits/imx8mm-dsi-v7 > > Any inputs? > Jagan. > > Jagan Teki (10): > drm: bridge: Add Samsung DSIM bridge driver > drm: bridge: samsung-dsim: Lookup OF-graph or Child node devices > drm: bridge: samsung-dsim: Mark PHY as optional > drm: bridge: samsung-dsim: Handle proper DSI host initialization > drm: bridge: samsung-dsim: Add atomic_check > drm: bridge: samsung-dsim: Add platform PLL_P (PMS_P) offset > drm: bridge: samsung-dsim: Add atomic_get_input_bus_fmts > drm: bridge: samsung-dsim: Add input_bus_flags > dt-bindings: display: exynos: dsim: Add NXP i.MX8MM support > drm: bridge: samsung-dsim: Add i.MX8MM support > > .../bindings/display/exynos/exynos_dsim.txt | 1 + > MAINTAINERS | 9 + > drivers/gpu/drm/bridge/Kconfig | 12 + > drivers/gpu/drm/bridge/Makefile | 1 + > drivers/gpu/drm/bridge/samsung-dsim.c | 1856 +++++++++++++++++ > drivers/gpu/drm/exynos/Kconfig | 1 + > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1766 +--------------- > include/drm/bridge/samsung-dsim.h | 115 + > 8 files changed, 2108 insertions(+), 1653 deletions(-) > create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c > create mode 100644 include/drm/bridge/samsung-dsim.h I'm seeing some checkpatch --strict warnings throughout this series, do you mind having a look at them?
Hi Jagan, Am Mittwoch, 5. Oktober 2022, 17:12:59 CEST 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.MX8MM DSI devices. > > 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 > > Patch 0001: Samsung DSIM bridge > > Patch 0002: PHY optional > > Patch 0003: OF-graph or Child node lookup > > Patch 0004: DSI host initialization > > Patch 0005: atomic check > > Patch 0006: PMS_P offset via plat data > > Patch 0007: atomic_get_input_bus_fmts > > Patch 0008: input_bus_flags > > Patch 0009: document fsl,imx8mm-mipi-dsim > > Patch 0010: add i.MX8MM DSIM support > > Tested in Engicam i.Core MX8M Mini SoM. Thanks for working on this! This works on TQMa8MQML + MBa8Mx (imx8mm) using a SN65DSI83 DSI-LVDS-Bridge. Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com> Best regards, Alexander > Repo: > https://gitlab.com/openedev/kernel/-/commits/imx8mm-dsi-v7 > > Any inputs? > Jagan. > > Jagan Teki (10): > drm: bridge: Add Samsung DSIM bridge driver > drm: bridge: samsung-dsim: Lookup OF-graph or Child node devices > drm: bridge: samsung-dsim: Mark PHY as optional > drm: bridge: samsung-dsim: Handle proper DSI host initialization > drm: bridge: samsung-dsim: Add atomic_check > drm: bridge: samsung-dsim: Add platform PLL_P (PMS_P) offset > drm: bridge: samsung-dsim: Add atomic_get_input_bus_fmts > drm: bridge: samsung-dsim: Add input_bus_flags > dt-bindings: display: exynos: dsim: Add NXP i.MX8MM support > drm: bridge: samsung-dsim: Add i.MX8MM support > > .../bindings/display/exynos/exynos_dsim.txt | 1 + > MAINTAINERS | 9 + > drivers/gpu/drm/bridge/Kconfig | 12 + > drivers/gpu/drm/bridge/Makefile | 1 + > drivers/gpu/drm/bridge/samsung-dsim.c | 1856 +++++++++++++++++ > drivers/gpu/drm/exynos/Kconfig | 1 + > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1766 +--------------- > include/drm/bridge/samsung-dsim.h | 115 + > 8 files changed, 2108 insertions(+), 1653 deletions(-) > create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c > create mode 100644 include/drm/bridge/samsung-dsim.h
Hello Jagan, On 10/5/22 17:12, Jagan Teki wrote: > 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.MX8MM DSI devices. > > 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 > > Patch 0001: Samsung DSIM bridge > > Patch 0002: PHY optional > > Patch 0003: OF-graph or Child node lookup > > Patch 0004: DSI host initialization > > Patch 0005: atomic check > > Patch 0006: PMS_P offset via plat data > > Patch 0007: atomic_get_input_bus_fmts > > Patch 0008: input_bus_flags > > Patch 0009: document fsl,imx8mm-mipi-dsim > > Patch 0010: add i.MX8MM DSIM support > > Tested in Engicam i.Core MX8M Mini SoM. > > Repo: > https://gitlab.com/openedev/kernel/-/commits/imx8mm-dsi-v7 > > Any inputs? I tried this series on Armadeus OPOS8MM Dev (i.MX8MM) board with the PowerTrip PH720128T004-ZBC02 DSI panel (720x1280, 2 lanes). It works after I fixed the logic of some video mode flags: in function samsung_dsim_init_link(struct samsung_dsim *dsi): -if (!(dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HFP)) +if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HFP) reg |= DSIM_HFP_MODE; The bit has to be set to disable HFP. Same logic for HPB, HSA and EOT packets. Regards, > Jagan. > > Jagan Teki (10): > drm: bridge: Add Samsung DSIM bridge driver > drm: bridge: samsung-dsim: Lookup OF-graph or Child node devices > drm: bridge: samsung-dsim: Mark PHY as optional > drm: bridge: samsung-dsim: Handle proper DSI host initialization > drm: bridge: samsung-dsim: Add atomic_check > drm: bridge: samsung-dsim: Add platform PLL_P (PMS_P) offset > drm: bridge: samsung-dsim: Add atomic_get_input_bus_fmts > drm: bridge: samsung-dsim: Add input_bus_flags > dt-bindings: display: exynos: dsim: Add NXP i.MX8MM support > drm: bridge: samsung-dsim: Add i.MX8MM support > > .../bindings/display/exynos/exynos_dsim.txt | 1 + > MAINTAINERS | 9 + > drivers/gpu/drm/bridge/Kconfig | 12 + > drivers/gpu/drm/bridge/Makefile | 1 + > drivers/gpu/drm/bridge/samsung-dsim.c | 1856 +++++++++++++++++ > drivers/gpu/drm/exynos/Kconfig | 1 + > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1766 +--------------- > include/drm/bridge/samsung-dsim.h | 115 + > 8 files changed, 2108 insertions(+), 1653 deletions(-) > create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c > create mode 100644 include/drm/bridge/samsung-dsim.h >
On 05.10.22 17:12, Jagan Teki wrote: > 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.MX8MM DSI devices. > > 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 > > Patch 0001: Samsung DSIM bridge > > Patch 0002: PHY optional > > Patch 0003: OF-graph or Child node lookup > > Patch 0004: DSI host initialization > > Patch 0005: atomic check > > Patch 0006: PMS_P offset via plat data > > Patch 0007: atomic_get_input_bus_fmts > > Patch 0008: input_bus_flags > > Patch 0009: document fsl,imx8mm-mipi-dsim > > Patch 0010: add i.MX8MM DSIM support > > Tested in Engicam i.Core MX8M Mini SoM. > > Repo: > https://gitlab.com/openedev/kernel/-/commits/imx8mm-dsi-v7 > > Any inputs? > Jagan. I tested this on the Kontron DL i.MX8MM which uses a TI SN65DSI84 bridge and a Jenson 7" LVDS Display. Thanks for your work, Jagan! Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de> # Kontron DL i.MX8MM
Hi, On Mon, Nov 7, 2022 at 1:34 PM Frieder Schrempf <frieder.schrempf@kontron.de> wrote: > I tested this on the Kontron DL i.MX8MM which uses a TI SN65DSI84 bridge > and a Jenson 7" LVDS Display. > > Thanks for your work, Jagan! > > Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de> # Kontron DL > i.MX8MM As this series has been successfully tested on multiple devices, is it possible to apply it so people can make further adjustments? Thanks
On Thu, Nov 10, 2022 at 9:24 PM Fabio Estevam <festevam@gmail.com> wrote: > > Hi, > > On Mon, Nov 7, 2022 at 1:34 PM Frieder Schrempf > <frieder.schrempf@kontron.de> wrote: > > > I tested this on the Kontron DL i.MX8MM which uses a TI SN65DSI84 bridge > > and a Jenson 7" LVDS Display. > > > > Thanks for your work, Jagan! > > > > Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de> # Kontron DL > > i.MX8MM > > As this series has been successfully tested on multiple devices, is it possible > to apply it so people can make further adjustments? I think the next version patchset on this would be clean and properly address a few comments from Marek Vasut. However, I'm still waiting for Marek's response to my comment on the input bus formats - if it is Okay I will send the v8. https://lore.kernel.org/all/CAMty3ZAM+fetmBQWaSbfjME7-Up4h+Ln3BRHaPgg5tuSsObPdw@mail.gmail.com/ Thanks, Jagan.
On 11/10/22 17:03, Jagan Teki wrote: > On Thu, Nov 10, 2022 at 9:24 PM Fabio Estevam <festevam@gmail.com> wrote: >> >> Hi, >> >> On Mon, Nov 7, 2022 at 1:34 PM Frieder Schrempf >> <frieder.schrempf@kontron.de> wrote: >> >>> I tested this on the Kontron DL i.MX8MM which uses a TI SN65DSI84 bridge >>> and a Jenson 7" LVDS Display. >>> >>> Thanks for your work, Jagan! >>> >>> Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de> # Kontron DL >>> i.MX8MM >> >> As this series has been successfully tested on multiple devices, is it possible >> to apply it so people can make further adjustments? > > I think the next version patchset on this would be clean and properly > address a few comments from Marek Vasut. However, I'm still waiting > for Marek's response to my comment on the input bus formats - if it is > Okay I will send the v8. > https://lore.kernel.org/all/CAMty3ZAM+fetmBQWaSbfjME7-Up4h+Ln3BRHaPgg5tuSsObPdw@mail.gmail.com/ Just send a V8 and let's see how that looks, no need to wait for me.
On Thu, Nov 10, 2022 at 10:29 PM Marek Vasut <marex@denx.de> wrote: > > On 11/10/22 17:03, Jagan Teki wrote: > > On Thu, Nov 10, 2022 at 9:24 PM Fabio Estevam <festevam@gmail.com> wrote: > >> > >> Hi, > >> > >> On Mon, Nov 7, 2022 at 1:34 PM Frieder Schrempf > >> <frieder.schrempf@kontron.de> wrote: > >> > >>> I tested this on the Kontron DL i.MX8MM which uses a TI SN65DSI84 bridge > >>> and a Jenson 7" LVDS Display. > >>> > >>> Thanks for your work, Jagan! > >>> > >>> Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de> # Kontron DL > >>> i.MX8MM > >> > >> As this series has been successfully tested on multiple devices, is it possible > >> to apply it so people can make further adjustments? > > > > I think the next version patchset on this would be clean and properly > > address a few comments from Marek Vasut. However, I'm still waiting > > for Marek's response to my comment on the input bus formats - if it is > > Okay I will send the v8. > > https://lore.kernel.org/all/CAMty3ZAM+fetmBQWaSbfjME7-Up4h+Ln3BRHaPgg5tuSsObPdw@mail.gmail.com/ > > Just send a V8 and let's see how that looks, no need to wait for me. Planning to include your 8M Plus patch as part of the v8, hope it's fine? Jagan.
On 11/10/22 18:37, Jagan Teki wrote: > On Thu, Nov 10, 2022 at 10:29 PM Marek Vasut <marex@denx.de> wrote: >> >> On 11/10/22 17:03, Jagan Teki wrote: >>> On Thu, Nov 10, 2022 at 9:24 PM Fabio Estevam <festevam@gmail.com> wrote: >>>> >>>> Hi, >>>> >>>> On Mon, Nov 7, 2022 at 1:34 PM Frieder Schrempf >>>> <frieder.schrempf@kontron.de> wrote: >>>> >>>>> I tested this on the Kontron DL i.MX8MM which uses a TI SN65DSI84 bridge >>>>> and a Jenson 7" LVDS Display. >>>>> >>>>> Thanks for your work, Jagan! >>>>> >>>>> Tested-by: Frieder Schrempf <frieder.schrempf@kontron.de> # Kontron DL >>>>> i.MX8MM >>>> >>>> As this series has been successfully tested on multiple devices, is it possible >>>> to apply it so people can make further adjustments? >>> >>> I think the next version patchset on this would be clean and properly >>> address a few comments from Marek Vasut. However, I'm still waiting >>> for Marek's response to my comment on the input bus formats - if it is >>> Okay I will send the v8. >>> https://lore.kernel.org/all/CAMty3ZAM+fetmBQWaSbfjME7-Up4h+Ln3BRHaPgg5tuSsObPdw@mail.gmail.com/ >> >> Just send a V8 and let's see how that looks, no need to wait for me. > > Planning to include your 8M Plus patch as part of the v8, hope it's fine? Fine