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

Tim Harvey
2022-10-06T15:28:57Z

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