Add screen resolutions to U-Boot for AML-S905X-CC Le Potato

Wonder if anyone would have a link to a tutorial on how to modify U-Boot for the Le Potato (or be willing to do so :grimacing:), specifically to add additional or force screen resolutions?

Problem is, for this board, U-Boot does not recognize the native 1366 by 768 resolution of the monitor so the U-Boot console and EFI boot loader cannot be used. The monitor does work fine once the OS is loaded.

More info in this Request:

Many thanks for any pointers.

libretech-builder-simple builds all of the firmware. 1366 x 768 is not a standard CEA resolution so we’re not going to support it in the bootloader.

Understood, but — could the boot loader not read the EDID info and push out a standard CEA resolution that this (and most monitors) do support?

Or could the boot loader not implement the video environment variable that would allow us to configure that? I’m referring to this:

setenv video-mode sunxi:1024x768-24@60,monitor=dvi,hpd=0,edid=1

as an example, referenced here:

Many thanks.

That is only for specific SoCs. It’s not a generic interface.

Let me ask this from the other direction:

When the board boots, at some point U-Boot determines there is an HDMI display attached. Correct?

It must also at that point determine the nature of that monitor and pick one of the standard HDMI resolutions and as well a standard clock frequency. Also correct?

If it didn’t and there was attached a monitor capable of say a standard maximum resolution of 1280 x 720 @ 60 Hz, nothing usable would be on the screen until the hand-over to the kernel. Also correct?

When U-Boot detects a monitor with a non-standard maximum resolution, what resolution and clock frequency does it output to that monitor?

If U-Boot can fall back to drive a 1280 x 720 monitor, why would it also not fall back to push out a standard resolution less than the non-standard maximum resolution reported by the the display?

Or does U-Boot on the Le Potato only boot with the HDMI port outputting 1920 x 1080 @ ?? Hz?

The current u-boot code for S905X is capable of detecting several common modes and setting up the clocks accordingly.

The code that handles this is in meson-venc.c in the u-boot repo.

The code is not designed to handle all of the different clocking and display timing.