On Thursday, 6 October 2022 22:20:39 CEST Paul Cercueil wrote:
> Hi Paul,
>
> You can parent the HDMI clock to the VPLL which is not used right now
> (AFAIK).
The VPLL currently is the parent clock. Here is an abridged and condensed
extract from clk_summary showing a working configuration:
vpll 2 2 0 888000000 0 0 50000 Y
hdmi 1 1 0 26909090 0 0 50000 Y
lcd1pixclk 0 0 0 888000000 0 0 50000 Y
lcd0pixclk 1 1 0 111000000 0 0 50000 Y
> You can set the VPLL to 108 MHz or any multiple. The best value might
> be 1944 MHz (max. is 2 GHz) as a higher value means less difference
> when using a higher-than-perfect divider. Probably sips more power
> though.
I think 888MHz divided by eight is just fine in this situation, and this is
precisely what the legacy 3.18 kernel did for the CI20. But I suppose that
since the VPLL is only used for the HDMI and LCD frequencies, we could try and
choose a better value.
The input to VPLL is the 12MHz oscillator and the HDMI frequency is supposed
to be between 18MHz and 27MHz, according to the manual, while the desired
pixel clock frequency is 108MHz in this case. So, taking the lowest common
multiple would actually be 108MHz.
However, I don't know what the mechanism is to set up VPLL, as in how any of
these things reach their eventual values. Clearly, something concludes that
888MHz is a good VPLL setting, and then the clocks are derived from that.
> If you know what frequencies your monitor asks for 720p and 1080p,
> there's maybe a particular frequency that works fine for all of them.
It can do up to 1280x1024 at 60Hz or 75Hz, 1024x768 at 60Hz, 70Hz or 75Hz, and
a bunch of other intermediate and lower resolutions. Since I bought it
seventeen years ago, it does more traditional resolutions rather than being
specified in terms of 720p and 1080p.
But as I noted, the problem isn't really about my configuration because the
3.18 kernel worked just fine. It is about selecting clock frequencies
appropriately, and since they aren't being selected appropriately in this
case, I start to wonder if there aren't other situations where
misconfigurations occur and prevent things from functioning as they should.
Paul