Re: [PATCH v7 00/10] drm: bridge: Add Samsung MIPI DSIM bridge

Sébastien Szymanski
2022-10-28T14:41:44Z

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
>

--
Sébastien Szymanski, Armadeus Systems
Software engineer