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

Tim Harvey
2022-04-09T00:27:01Z

On Fri, Apr 8, 2022 at 9:22 AM 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.
>
> 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@ravnborg.org/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@gateworks.com> #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