[Openpvrsgx-devgroup] CI20/JZ4780 HDMI (was Re: Status & HW to bring)
Paul Boddie
paul at boddie.org.uk
Mon Nov 11 13:32:52 CET 2019
On Monday 11. November 2019 10.12.44 H. Nikolaus Schaller wrote:
>
> Ah, here is the relevant comment:
>
> https://lore.kernel.org/patchwork/patch/549312/#731123
>
> Unfortunately I have no idea what they are talking about :)
I interpret it as the patch not using that particular week's way of doing
things in the Linux kernel.
> Maybe the drivers/gpu/drm/bridge/synopsys gives hints how to improve the
> jz4780 driver - or the synopsys driver.
I think there is already an upstream display driver that might be made
suitable:
drivers/gpu/drm/ingenic/ingenic-drm.c
As for the Synopsys bridge driver, I wasn't convinced that anything else I
found was making use of it. I imagine that it must need to be wired up to some
other device, but it doesn't have the usual MODULE_DEVICE_TABLE declaration.
Looking at other such drivers, it seems possible that the device tree
declaration would employ some input ports which then reference the output
ports of the display devices.
For example, from arch/arm64/boot/dts/renesas/r8a77990.dtsi which uses the
lvds-encoder bridge driver:
lvds0: lvds-encoder at feb90000 {
compatible = "renesas,r8a77990-lvds";
...
ports {
...
port at 0 {
...
lvds0_in: endpoint {
remote-endpoint = <&du_out_lvds0>;
This kind of thing isn't done in the CI20 kernel because it doesn't have a
shiny-enough DRM driver, and so the display device references the HDMI device
in the device tree, with the code confirming this:
drivers/gpu/drm/jz4780/jz4780_drv.c
In fact, the port/endpoint mechanism is supported in the submitted driver (see
above), whereas the upstream Ingenic driver doesn't have that support, perhaps
because many of the devices involved don't need to enable LVDS or HDMI to get
video working.
So, the Ingenic driver would need to be augmented with port/endpoint support,
and there would need to be a way of activating the Synopsys driver in the
device tree. Exactly how the latter should be done remains a mystery to me at
the moment.
Paul
More information about the openpvrsgx-devgroup
mailing list