mbox series

[00/19] video: sunxi: Rework DE2 driver

Message ID 20210223204631.1609597-1-jernej.skrabec@siol.net
Headers show
Series video: sunxi: Rework DE2 driver | expand


Jernej Škrabec Feb. 23, 2021, 8:46 p.m. UTC
This series greatly reworks DE2 mixer and accompanying DW-HDMI platform
driver. Main goal was to use as many information from device tree as
possible and thus removing SoC speficic ifdefs from the code. This was
largely accomplished for mixer driver and mostly for HDMI driver.

Most of these changes are not user visible. Only improvements relevant
to the user are filtering HDMI modes based on pixel clock and searching
for additional detailed timings in EDID extension block. This change
allows me to use 4k monitor that I have - base EDID block on this monitor
holds only 4k@60 detailed timing. Other detailed timings, which are
appropriate for HDMI 1.4 controller, are contained in extension block.

There is plenty of work to do. TCON handling should go to dedicated
driver and clock related code in TCON and DW-HDMI code should be moved
to clock drivers.

Testing was done only on H3.

Best regards,

Jernej Skrabec (19):
  sunxi: video: select dw-hdmi in Kconfig, not Makefile
  video: sunxi: Add mode_valid callback to sunxi_dw_hdmi
  common: edid: check for digital display earlier
  common: edid: extract code for detailed timing search
  common: edid: Search for valid timing in extension block
  video: sunxi: Use DW-HDMI hpd function
  video: sunxi: Remove check for ddc-i2c-bus property
  video: sunxi: Remove TV probe from DE2
  video: sunxi: de2: switch to public uclass functions
  video: sunxi: dw-hdmi: probe driver by compatible
  video: sunxi: dw-hdmi: read address from DT node
  video: dw-hdmi: modify phy init callback to include full timings
  video: sunxi: dw-hdmi: move PHY config to appropriate place
  video: sunxi: dw-hdmi: rework PHY initialization
  video: sunxi: de2: switch to DT probing
  video: sunxi: de2: read address from DT node
  clk: sunxi: Add DE2 clocks to H3 and A64
  clk: sunxi: add DE2 clock driver
  video: sunxi: de2: switch clock setup to DM model

 arch/arm/mach-sunxi/Kconfig         |   2 +
 common/edid.c                       |  82 +++--
 drivers/clk/sunxi/Kconfig           |   5 +
 drivers/clk/sunxi/Makefile          |   1 +
 drivers/clk/sunxi/clk_a64.c         |   6 +
 drivers/clk/sunxi/clk_de2.c         |  85 +++++
 drivers/clk/sunxi/clk_h3.c          |   6 +
 drivers/video/dw_hdmi.c             |   6 +-
 drivers/video/meson/meson_dw_hdmi.c |   5 +-
 drivers/video/sunxi/Makefile        |   2 +-
 drivers/video/sunxi/sunxi_de2.c     | 191 +++++------
 drivers/video/sunxi/sunxi_dw_hdmi.c | 498 ++++++++++++++++++----------
 include/dw_hdmi.h                   |   4 +-
 13 files changed, 570 insertions(+), 323 deletions(-)
 create mode 100644 drivers/clk/sunxi/clk_de2.c