[Letux-kernel] jz4780 read out LCDC setup for HDMI
paul at boddie.org.uk
Sat Jul 18 22:57:14 CEST 2020
On Saturday, 18 July 2020 20:03:35 CEST H. Nikolaus Schaller wrote:
> Here is a hdmi-5.8-rc5.txt created on the latest kernel but by the same
> If you do a diff to the working hdmi-3.0.8.txt you may check for significant
> and insignificant differences. Most worrying to me is that the LCDC has some
> quite different parameters. Using exactly the same panel it should be
> almost the same...
Yes, there are some curious differences.
The LCD configuration register has negative hsync polarity in the 5.8-rc5
kernel register dump, presumably because I didn't set the appropriate mode
flags to assert positive hsync and negative vsync. Looking for guidance, I
found the drivers/gpu/drm/bridge/nwl-dsi.c file that uses a mode_fixup
operation to introduce these settings. And there was also a way of setting the
bus flags for pixel clock polarity. So, thanks to our friends at NXP and
Purism for the examples!
I'm not going to claim that the other register differences are not important,
but there can be some legitimate variation. One thing that indicates that the
peripheral is active in the 5.8-rc5 configuration is the presence of a value
in the JZ_REG_LCD_IID register. Here, it is using one of the values that I
have set in the driver for the JZ_REG_LCD_FID0 and JZ_REG_LCD_FID1 registers,
indicating that a frame successfully caused an interrupt condition. I don't
think the 3.0.8 kernel uses interrupts in the same way, and that influences
the control register and various other registers.
Testing some changes to the mode and bus flags doesn't give a picture, and
although the modetest utility claims that the "CRTC" uses positive hsync and
vsync, a message I sent to various driver maintainers a while ago also
indicated this. Only inspection of the registers might indicate success or
Anyway, I just pushed these most recent changes.
More information about the Letux-kernel