devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 00/12] drm: sun4i: Convert Allwinner DSI to bridge
@ 2023-03-29 13:16 Jagan Teki
  2023-03-29 13:16 ` [PATCH v7 01/12] drm: of: Lookup if child node has DSI panel or bridge Jagan Teki
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Jagan Teki @ 2023-03-29 13:16 UTC (permalink / raw)
  To: Dave Stevenson, Maxime Ripard, Maarten Lankhorst,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Andrzej Hajda,
	Neil Armstrong, Robert Foss, Chen-Yu Tsai, Jernej Skrabec,
	Samuel Holland, Sam Ravnborg, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-kernel, linux-sunxi, devicetree, dri-devel, Marek Vasut,
	linux-amarula, Jagan Teki

This is v7 revision of converting Allwinner DSI to brige driver.

Patch 1 and 2 implements drmm_of_dsi_get_bridge which is required to
lookup the DSI sink device represented either child or OF-graph port or
ports node. This is essential as not to break the existing bindings
which indeed uses child node represention for DSI sink devices.

Patch 3 to 7 enables the prepare_prev_first flag for essential panels
which effects sun6i-mipi-dsi host init order sequencing.

Patch 8 and 9 added endpoint 0 to dsi_in_tcon0 of A33 and A64 which is
required for I2C-Configured bridges to represent.

Patch 10 and 11 implements enable_next_first flag, which is essential
If the DSI host enables with the @enable_next_first flag then the
@enable for the DSI sink will be called first before the @enable of
the DSI host. This alter bridge init order makes sure that the MIPI-DCS
commands send first and then switch to the HS mode properly by DSI host.

Patch 12 is final patch bridge conversion.

Series has been tested in DSI Panel, DSI Bridge and I2C-Configured DSI
Bridge.

v6:
https://lore.kernel.org/all/20211210111711.2072660-1-jagan@amarulasolutions.com/
v5:
https://lore.kernel.org/all/20211122065223.88059-4-jagan@amarulasolutions.com/

Any inputs?
Jagan.

Jagan Teki (12):
  drm: of: Lookup if child node has DSI panel or bridge
  drm: bridge: panel: Implement drmm_of_dsi_get_bridge helper
  drm: panel: feiyang-fy07024di26a30d: Enable prepare_prev_first flag
  drm: panel: sitronix-st7701: Enable prepare_prev_first for ts8550b
  drm: panel: sitronix-st7703: Enable prepare_prev_first for xbd599
  drm: panel: feixin-k101-im2ba02: Enable prepare_prev_first flag
  drm: panel: ilitek-ili9881c: Enable prepare_prev_first for k101_im2byl02
  ARM: dts: sun8i: a33: Add endpoint@0 to dsi_in_tcon0
  arm64: dts: rockchip: a64: Add endpoint@0 to dsi_in_tcon0
  drm/bridge: Implement enable_next_first to alter bridge init order
  drm/bridge: Document bridge init order with enable_next_first
  drm: sun4: dsi: Convert to bridge driver

 arch/arm/boot/dts/sun8i-a33.dtsi              |   6 +-
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi |   6 +-
 drivers/gpu/drm/bridge/panel.c                |  34 ++++
 drivers/gpu/drm/drm_bridge.c                  | 186 +++++++++++++++---
 drivers/gpu/drm/drm_of.c                      | 112 +++++++++--
 .../gpu/drm/panel/panel-feixin-k101-im2ba02.c |   1 +
 .../drm/panel/panel-feiyang-fy07024di26a30d.c |   1 +
 drivers/gpu/drm/panel/panel-ilitek-ili9881c.c |   3 +
 drivers/gpu/drm/panel/panel-sitronix-st7701.c |   3 +
 drivers/gpu/drm/panel/panel-sitronix-st7703.c |   3 +
 drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c        | 143 ++++++--------
 drivers/gpu/drm/sun4i/sun6i_mipi_dsi.h        |  10 +-
 include/drm/drm_bridge.h                      |  18 ++
 include/drm/drm_of.h                          |  12 ++
 14 files changed, 399 insertions(+), 139 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-03-29 16:16 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-29 13:16 [PATCH v7 00/12] drm: sun4i: Convert Allwinner DSI to bridge Jagan Teki
2023-03-29 13:16 ` [PATCH v7 01/12] drm: of: Lookup if child node has DSI panel or bridge Jagan Teki
2023-03-29 13:16 ` [PATCH v7 02/12] drm: bridge: panel: Implement drmm_of_dsi_get_bridge helper Jagan Teki
2023-03-29 15:03   ` Maxime Ripard
2023-03-29 15:26     ` Jagan Teki
2023-03-29 16:08       ` Maxime Ripard
2023-03-29 13:16 ` [PATCH v7 03/12] drm: panel: feiyang-fy07024di26a30d: Enable prepare_prev_first flag Jagan Teki
2023-03-29 13:16 ` [PATCH v7 04/12] drm: panel: sitronix-st7701: Enable prepare_prev_first for ts8550b Jagan Teki
2023-03-29 13:16 ` [PATCH v7 05/12] drm: panel: sitronix-st7703: Enable prepare_prev_first for xbd599 Jagan Teki
2023-03-29 13:16 ` [PATCH v7 06/12] drm: panel: feixin-k101-im2ba02: Enable prepare_prev_first flag Jagan Teki
2023-03-29 13:16 ` [PATCH v7 07/12] drm: panel: ilitek-ili9881c: Enable prepare_prev_first for k101_im2byl02 Jagan Teki
2023-03-29 13:16 ` [PATCH v7 08/12] ARM: dts: sun8i: a33: Add endpoint@0 to dsi_in_tcon0 Jagan Teki
2023-03-29 13:16 ` [PATCH v7 09/12] arm64: dts: rockchip: a64: " Jagan Teki
2023-03-29 15:02   ` Maxime Ripard
2023-03-29 15:30     ` Jagan Teki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).