[PATCH 00/11] drm: bridge: Add Samsung MIPI DSIM bridge
Tim Harvey
tharvey at gateworks.com
Fri Apr 8 17:25:23 PDT 2022
On Fri, Apr 8, 2022 at 9:22 AM Jagan Teki <jagan at 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 at 45 {
compatible = "raspberrypi,7inch-touchscreen-panel-regulator";
reg = <0x45>;
};
};
&lcdif {
status = "okay";
};
&dsi {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
bridge at 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 at 0 {
reg = <0>;
bridge_in_dsi: endpoint {
remote-endpoint = <&dsi_out_bridge>;
data-lanes = <0 1>;
};
};
port at 1 {
reg = <1>;
bridge_out_panel: endpoint {
remote-endpoint = <&panel_out_bridge>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port at 1 {
reg = <1>;
dsi_out_bridge: endpoint {
remote-endpoint = <&bridge_in_dsi>;
};
};
};
};
Tested-by: Tim Harvey <tharvey at 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
More information about the linux-arm-kernel
mailing list