[PATCH v2 00/14] Support more HDMI modes on RK3228/RK3328

From: Jonas Karlman
Date: Wed Jan 08 2020 - 16:07:50 EST


This series make it possible to use more HDMI modes on RK3328,
and presumably also on RK3228. It also prepares for a future YUV420 and
10-bit output series.

Part of this has been reworked from vendor BSP 4.4 kernel commits.

Patch 1-5 fixes issues and shortcomings in the inno hdmi phy driver.

Patch 6 prepares for use of high TMDS bit rates used with HDMI 2.0 and
10-bit output modes.

Patch 7-13 changes rk3228/rk3328 to use mode_valid functions suited for
the inno hdmi phy instead of the dw-hdmi phy. These changes allows for
more CEA modes to be usable, e.g. some 4K and fractal modes.

Patch 14 adds support for more pixel clock rates in order to support
common DMT modes in addition to CEA modes.

Note: I have only been able to build test RK322x related changes
as I do not have any RK322x device to test on.

All modes, including fractal modes, has been tested with modetest on
a RK3328 Rock64 device using e.g.

modetest -M rockchip -s 39:3840x2160-29.97

Changes in v2:
- collect acked-by tag
- drop the limit resolution width to 3840 patch

This series is also available at [1] and the early work on YUV420 and
10-bit output is available at [2].

[1] https://github.com/Kwiboo/linux-rockchip/commits/next-20200108-inno-hdmi-phy
[2] https://github.com/Kwiboo/linux-rockchip/commits/next-20200108-bus-format

Regards,
Jonas

Algea Cao (1):
phy/rockchip: inno-hdmi: Support more pre-pll configuration

Huicong Xu (1):
phy/rockchip: inno-hdmi: force set_rate on power_on

Jonas Karlman (11):
phy/rockchip: inno-hdmi: use correct vco_div_5 macro on rk3328
phy/rockchip: inno-hdmi: remove unused no_c from rk3328 recalc_rate
phy/rockchip: inno-hdmi: do not power on rk3328 post pll on reg write
drm/rockchip: dw-hdmi: allow high tmds bit rates
drm/rockchip: dw-hdmi: require valid vpll clock rate on rk3228/rk3328
clk: rockchip: set parent rate for DCLK_VOP clock on rk3228
arm64: dts: rockchip: increase vop clock rate on rk3328
arm64: dts: rockchip: add vpll clock to hdmi node on rk3328
ARM: dts: rockchip: add vpll clock to hdmi node on rk3228
drm/rockchip: dw-hdmi: limit tmds to 340mhz on rk3228/rk3328
drm/rockchip: dw-hdmi: remove unused plat_data on rk3228/rk3328

Zheng Yang (1):
phy/rockchip: inno-hdmi: round fractal pixclock in rk3328 recalc_rate

arch/arm/boot/dts/rk322x.dtsi | 4 +-
arch/arm64/boot/dts/rockchip/rk3328.dtsi | 6 +-
drivers/clk/rockchip/clk-rk3228.c | 2 +-
drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 47 ++++++--
drivers/phy/rockchip/phy-rockchip-inno-hdmi.c | 110 ++++++++++++------
5 files changed, 120 insertions(+), 49 deletions(-)

--
2.17.1