[PATCH v13 00/18] drm: Add Samsung MIPI DSIM bridge
Jagan Teki
jagan at amarulasolutions.com
Mon Feb 27 03:39:07 PST 2023
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.MX8M Mini/Nano/Plus.
Patch 0001 - 0004: find child DSI bridge and panel
Patch 0005 - 0006: optional PHY, PMS_P offset
Patch 0007 : introduce hw_type
Patch 0008 : fixing host init
Patch 0009 : atomic_check
Patch 0010 : input_bus_flags
Patch 0011 : atomic_get_input_bus_fmts
Patch 0012 - 0013: component vs bridge
Patch 0014 : DSIM bridge
Patch 0015 - 0016: i.MX8M Mini/Nano
Patch 0017 - 0018: i.MX8M Plus
Changes for v13:
- remove devm call for DSI panel or bridge finding
- rebased on drm-misc-next
Changes for v12:
- collect RB from Marek V
- add te_irq_handler hook
- fix comments from Marek V
- update atomic_get_input_bus_fmts logic
Changes for v11:
- collect RB from Frieder Schrempf
- collect ACK from Rob
- collect ACK from Robert
- fix BIT macro replacements
- fix checkpatch --strict warnings
- fix unneeded commit text
- drop extra lines
Changes for v10:
- rebase on drm-misc-next
- add drm_of_dsi_find_panel_or_bridge
- add devm_drm_of_dsi_get_bridge
- fix host initialization (Thanks to Marek Szyprowski)
- rearrange the tiny patches for easy to review
- update simple names for enum hw_type
- add is_hw_exynos macro
- rework on commit messages
Changes for v9:
- rebase on drm-misc-next
- drop drm bridge attach fix for Exynos
- added prepare_prev_first flag
- added pre_enable_prev_first flag
- fix bridge chain order for exynos
- added fix for Exynos host init for first DSI transfer
- added MEDIA_BUS_FMT_FIXED
- return MEDIA_BUS_FMT_RGB888_1X24 output_fmt if supported output_fmt
list is unsupported.
- added MEDIA_BUS_FMT_YUYV10_1X20
- added MEDIA_BUS_FMT_YUYV12_1X24
Changes for v8:
* fixed comment lines
* fixed commit messages
* fixed video mode bits
* collect Marek Ack
* fixed video mode bit names
* update input formats logic
* added imx8mplus support
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
Tested in Engicam i.Core MX8M Mini SoM.
Repo:
https://github.com/openedev/kernel/tree/imx8mm-dsi-v13
v11:
https://lore.kernel.org/all/20230126144427.607098-1-jagan@amarulasolutions.com/
Any inputs?
Jagan.
Jagan Teki (16):
drm: of: Lookup if child node has DSI panel or bridge
drm: bridge: panel: Support nodrm case for drmm_panel_bridge_add
drm: exynos: dsi: Drop explicit call to bridge detach
drm: exynos: dsi: Switch to DSI panel or bridge find helper
drm: exynos: dsi: Mark PHY as optional
drm: exynos: dsi: Add platform PLL_P (PMS_P) offset
drm: exynos: dsi: Introduce hw_type platform data
drm: exynos: dsi: Add atomic check
drm: exynos: dsi: Add input_bus_flags
drm: exynos: dsi: Add atomic_get_input_bus_fmts
drm: exynos: dsi: Consolidate component and bridge
drm: exynos: dsi: Add host helper for te_irq_handler
drm: bridge: Generalize Exynos-DSI driver into a Samsung DSIM bridge
dt-bindings: display: exynos: dsim: Add NXP i.MX8M Mini/Nano support
drm: bridge: samsung-dsim: Add i.MX8M Mini/Nano support
dt-bindings: display: exynos: dsim: Add NXP i.MX8M Plus support
Marek Szyprowski (1):
drm: exynos: dsi: Handle proper host initialization
Marek Vasut (1):
drm: bridge: samsung-dsim: Add i.MX8M Plus support
.../bindings/display/exynos/exynos_dsim.txt | 2 +
MAINTAINERS | 9 +
drivers/gpu/drm/bridge/Kconfig | 12 +
drivers/gpu/drm/bridge/Makefile | 1 +
drivers/gpu/drm/bridge/panel.c | 7 +
drivers/gpu/drm/bridge/samsung-dsim.c | 1933 +++++++++++++++++
drivers/gpu/drm/drm_of.c | 112 +-
drivers/gpu/drm/exynos/Kconfig | 1 +
drivers/gpu/drm/exynos/exynos_drm_dsi.c | 1819 +---------------
include/drm/bridge/samsung-dsim.h | 115 +
include/drm/drm_of.h | 12 +
11 files changed, 2271 insertions(+), 1752 deletions(-)
create mode 100644 drivers/gpu/drm/bridge/samsung-dsim.c
create mode 100644 include/drm/bridge/samsung-dsim.h
--
2.25.1
More information about the linux-arm-kernel
mailing list