[PATCH 00/22] R-Car Gen3 HDMI output support
Laurent Pinchart
laurent.pinchart+renesas at ideasonboard.com
Thu Dec 1 23:43:15 UTC 2016
Hello,
This patch series implements support for the HDMI output on Renesas R-Car Gen3
SoCs, and more specifically on the R-Car H3.
R-Car Gen3 SoCs include one or multiple Synopsys DWC HDMI TX controllers. The
series thus starts with 13 cleanup or feature patches for the dw-hdmi driver.
Patches 01/22 to 05/22 are small miscellaneous cleanups. Patch 06/22 fixes a
crash when the HPD interrupt is generated before the bridge gets attached to a
DRM device.
Patch 07/22 then starts refactoring the API towards platform glue by moving
common I/O and clock resource allocation to common code. Patches 08/22 and
09/22 continue by moving connector creation to the bridge attach operation to
comply with the DRM bridge API. Patch 10/22 implements a new API for platform
glue to register the bridge with the DRM core, for platform that doesn't use
the component framework. Patches 11/22 to 13/22 finally abstract PHY setup to
allow platforms to implement configuration for custom PHYs.
The next three patches add glue code for the DWC HDMI on Renesas R-Car Gen3
platforms. Patch 14/22 rework the DWC HDMI DT bindings to make them more
modular, and patch 15/22 makes use of them to document the R-Car Gen DWC HDMI
TX DT bindings. Patch 16/22 then implements the platform glue code.
The next three patches implement support for the R8A7795 HDMI outputs in the
R-Car DU driver. Patch 17/22 fixes a bug that makes the driver defer probe
forever if an encoder is disabled. Patch 18/22 implement DPLL support to
generate more precise clocks required by the HDMI controller, and patch 19/22
then enables the two HDMI output on the R-Car H3 SoC.
The last three patches enable the HDMI outputs on the H3 Salvator-X board by
adding the HDMI encoders to the R-Car H3 DT (20/22), adding HDMI connectors
and enabling the encoders (21/22) and adding the external dot clocks (22/22).
The code has been tested on a Renesas Salvator-X H3 board, and modifications
to the dw-hdmi Freescale and Rockchip platform glues have been compile-tested.
More improvements to the dw-hdmi driver would be beneficial. The PHY
modularization is based on the limited understanding of the HDMI PHYs used on
the three supported platforms and will possibly be enhanced later when adding
support for more platforms. The DT bindings would also benefit from a
standardized definition of the ports, and the reg-io-width property could
possibly be deprecated in favour of encoding the information in platform glue
code. The patch series is however big enough as is to be submitted for review
and merge before the dw-hdmi driver achieves perfection.
Kieran Bingham (4):
drm: bridge: dw-hdmi: Remove unused function parameter
drm: bridge: dw-hdmi: Refactor hdmi_phy_configure resolution parameter
drm: bridge: dw-hdmi: Abstract the platform PHY configuration
drm: bridge: dw-hdmi: Replace device type with platform quirks
Koji Matsuoka (4):
drm: rcar-du: Add Gen3 HDMI encoder support
drm: rcar-du: Add DPLL support
drm: rcar-du: Add HDMI outputs to R8A7795 device description
arm64: dts: r8a7795: salvator-x: Enable HDMI outputs
Laurent Pinchart (13):
drm: bridge: dw-hdmi: Merge __hdmi_phy_i2c_write and
hdmi_phy_i2c_write
drm: bridge: dw-hdmi: Remove unneeded arguments to bind/unbind
functions
drm: bridge: dw-hdmi: Embed drm_bridge in struct dw_hdmi
drm: bridge: dw-hdmi: Remove encoder field from struct dw_hdmi
drm: bridge: dw-hdmi: Don't forward HPD events to DRM core before
attach
drm: bridge: dw-hdmi: Move IRQ and IO resource allocation to common
code
drm: bridge: dw-hdmi: Reorder functions to prepare for next commit
drm: bridge: dw-hdmi: Create connector in the bridge attach operation
drm: bridge: dw-hdmi: Implement DRM bridge registration
dt-bindings: display: dw-hdmi: Clean up DT bindings documentation
dt-bindings: display: renesas: Add R-Car Gen3 HDMI TX DT bindings
drm: rcar-du: Skip disabled outputs
arm64: dts: r8a7795: salvator-x: Add DU1 and DU2 external dot clocks
Ulrich Hecht (1):
arm64: dts: r8a7795: Add HDMI encoder support
.../devicetree/bindings/display/bridge/dw_hdmi.txt | 85 ++---
.../bindings/display/bridge/renesas,dw-hdmi.txt | 75 +++++
.../devicetree/bindings/display/imx/hdmi.txt | 51 +--
.../bindings/display/rockchip/dw_hdmi-rockchip.txt | 43 ++-
MAINTAINERS | 1 +
arch/arm64/boot/dts/renesas/r8a7795-salvator-x.dts | 73 +++++
arch/arm64/boot/dts/renesas/r8a7795.dtsi | 50 +++
drivers/gpu/drm/bridge/dw-hdmi.c | 364 ++++++++++++---------
drivers/gpu/drm/bridge/dw-hdmi.h | 4 +-
drivers/gpu/drm/imx/dw_hdmi-imx.c | 19 +-
drivers/gpu/drm/rcar-du/Kconfig | 8 +
drivers/gpu/drm/rcar-du/Makefile | 1 +
drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 81 ++++-
drivers/gpu/drm/rcar-du/rcar_du_crtc.h | 4 +-
drivers/gpu/drm/rcar-du/rcar_du_drv.c | 13 +-
drivers/gpu/drm/rcar-du/rcar_du_drv.h | 1 +
drivers/gpu/drm/rcar-du/rcar_du_kms.c | 7 +
drivers/gpu/drm/rcar-du/rcar_du_regs.h | 23 ++
drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c | 105 ++++++
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 17 +-
include/drm/bridge/dw_hdmi.h | 35 +-
21 files changed, 765 insertions(+), 295 deletions(-)
create mode 100644 Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.txt
create mode 100644 drivers/gpu/drm/rcar-du/rcar_dw_hdmi.c
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list