On Fri, Apr 8, 2022 at 9:22 AM Jagan Teki <jagan@xxxxxxxxxxxxxxxxxxxx> wrote: > > This series supports common bridge support for Samsung MIPI DSIM > which is used in Exynos and i.MX8MM SoC's. > > Previous RFC can be available here [1]. > > The final bridge supports both the Exynos and i.MX8MM DSI devices. > > On, summary this patch-set break the entire DSIM driver into > - platform specific glue code for platform ops, component_ops. > - common bridge driver which handle platform glue init and invoke. > > Patch 0000: Samsung DSIM bridge > > Patch 0001: platform init flag via driver_data > > Patch 0002/9: bridge fixes, atomic API's > > Patch 0010: document fsl,imx8mm-mipi-dsim > > Patch 0011: add i.MX8MM DSIM support > > Tested in Engicam i.Core MX8M Mini SoM. > > Anyone interested, please have a look on this repo [2] > > [2] https://github.com/openedev/kernel/tree/imx8mm-dsi-v1 > [1] https://lore.kernel.org/linux-arm-kernel/YP2j9k5SrZ2%2Fo2%2F5@xxxxxxxxxxxx/T/ > > Any inputs? > Jagan. > > Jagan Teki (11): > drm: bridge: Add Samsung DSIM bridge driver > drm: bridge: samsung-dsim: Handle platform init via driver_data > drm: bridge: samsung-dsim: Mark PHY as optional > drm: bridge: samsung-dsim: Add DSI init in bridge pre_enable() > drm: bridge: samsung-dsim: Fix PLL_P (PMS_P) offset > drm: bridge: samsung-dsim: Add module init, exit > drm: bridge: samsung-dsim: Add atomic_check > 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 | 12 + > drivers/gpu/drm/bridge/Kconfig | 12 + > drivers/gpu/drm/bridge/Makefile | 1 + > drivers/gpu/drm/bridge/samsung-dsim.c | 1803 +++++++++++++++++ > drivers/gpu/drm/exynos/Kconfig | 1 + > drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1704 +--------------- > include/drm/bridge/samsung-dsim.h | 97 + > 8 files changed, 1982 insertions(+), 1649 deletions(-) > create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c > create mode 100644 include/drm/bridge/samsung-dsim.h > > -- > 2.25.1 > Jagan, Thanks so much for continuing to work this through! I've successfully tested this series on imx8mm-venice-gw73xx-0x using the following: - DFROBOT 7" raspberrypi touchscreen display (DFR0506) [1] - the following defconfig: CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY CONFIG_DRM_PANEL_SIMPLE CONFIG_DRM_PANEL_BRIDGE CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN CONFIG_DRM_TOSHIBA_TC358762 CONFIG_DRM_SAMSUNG_DSIM CONFIG_DRM_MXSFB - the following dt overlay: // SPDX-License-Identifier: (GPL-2.0+ OR MIT) /* * Copyright 2022 Gateworks Corporation */ #include <dt-bindings/gpio/gpio.h> #include "imx8mm-pinfunc.h" /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>; }; }; &lcdif { status = "okay"; }; &dsi { #address-cells = <1>; #size-cells = <0>; status = "okay"; bridge@0 { compatible = "toshiba,tc358762"; reg = <0>; vddc-supply = <&attiny>; #address-cells = <1>; #size-cells = <0>; status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; bridge_in_dsi: endpoint { remote-endpoint = <&dsi_out_bridge>; data-lanes = <0 1>; }; }; 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>; }; }; }; }; Tested-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> #imx8mm-venice-gw73xx with DFR0506 I'll be happy to test any follow-on series as needed. Best Regards, Tim [1] https://www.dfrobot.com/product-1655.html