[Openpvrsgx-devgroup] CI20/JZ4780 HDMI (was Re: Status & HW to bring)

Paul Boddie paul at boddie.org.uk
Sun Nov 10 17:45:57 CET 2019


On Saturday 9. November 2019 14.16.26 H. Nikolaus Schaller wrote:
> 
> CI20 / JZ4780 loads the driver but there is sadly no mainline HDMI driver.

As far as I can tell, the Synopsys DesignWare HDMI driver in...

drivers/gpu/drm/bridge/synopsys

...could be suitable. Certainly, comparing the following files from the 3.18 
CI20 kernel and the Letux kernel...

drivers/gpu/drm/jz4780/dwc_hdmi_regs.h
drivers/gpu/drm/bridge/synopsys/dw-hdmi.h

...indicates that the same hardware appears to be involved, and some brief 
investigations into the actual code indicates some close similarities.

More documentation for the Synopsys driver and some chipsets using the 
peripheral can be found here:

Documentation/devicetree/bindings/display/bridge/dw_hdmi.txt
Documentation/devicetree/bindings/display/rockchip/dw_hdmi-rockchip.txt
Documentation/devicetree/bindings/display/sunxi/sun4i-drm.txt

(Searching for "dw-hdmi" yields these and other results.)

Some example device tree files can be found, too:

arch/arm/boot/dts/rk3288.dtsi
arch/arm/boot/dts/sun8i-r40.dtsi
arch/arm64/boot/dts/rockchip/rk3328.dtsi

However, a quick look suggests that these bindings and drivers may be distinct 
from the bridge driver:

drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
drivers/gpu/drm/sun4i/sun4i_hdmi_enc.c
drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c

So, maybe a suitable definition for the JZ4780 would still largely resemble 
that found in the 3.18 kernel:

arch/mips/boot/dts/jz4780.dtsi

Documentation is rather lacking, though, so I don't have any immediate 
suggestions about how the bridge driver would be activated.

Paul

P.S. Online references:

https://www.kernel.org/doc/html/latest/gpu/bridge/dw-hdmi.html

https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/bridge/synopsys

https://elixir.bootlin.com/linux/latest/source/Documentation/gpu/bridge/dw-hdmi.rst


More information about the openpvrsgx-devgroup mailing list