mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
sunxi: video: Add support for video-mode environment variable
Add support for the standard video-mode environment variable using the videomodes.c video_get_ctfb_res_modes() helper function. This will allow users to specify the resolution e.g. : setenv video-mode sunxi:video-mode=1280x1024-24@60 saveenv Also make the reserved fb mem slightly larger to allow 1920x1200 to work. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk> Acked-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
parent
be8ec63306
commit
5f33993b7e
2 changed files with 14 additions and 4 deletions
|
@ -358,7 +358,9 @@ retry:
|
|||
void *video_hw_init(void)
|
||||
{
|
||||
static GraphicDevice *graphic_device = &sunxi_display.graphic_device;
|
||||
const struct ctfb_res_modes *mode = &res_mode_init[RES_MODE_1024x768];
|
||||
const struct ctfb_res_modes *mode;
|
||||
const char *options;
|
||||
unsigned int depth;
|
||||
int ret;
|
||||
|
||||
memset(&sunxi_display, 0, sizeof(struct sunxi_display));
|
||||
|
@ -367,14 +369,22 @@ void *video_hw_init(void)
|
|||
CONFIG_SUNXI_FB_SIZE >> 10);
|
||||
gd->fb_base = gd->ram_top;
|
||||
|
||||
video_get_ctfb_res_modes(RES_MODE_1024x768, 24, &mode, &depth, &options);
|
||||
|
||||
ret = sunxi_hdmi_hpd_detect();
|
||||
if (!ret)
|
||||
return NULL;
|
||||
|
||||
printf("HDMI connected.\n");
|
||||
sunxi_display.enabled = true;
|
||||
|
||||
printf("Setting up a %dx%d console.\n", mode->xres, mode->yres);
|
||||
if (mode->vmode != FB_VMODE_NONINTERLACED) {
|
||||
printf("Only non-interlaced modes supported, falling back to 1024x768\n");
|
||||
mode = &res_mode_init[RES_MODE_1024x768];
|
||||
} else {
|
||||
printf("Setting up a %dx%d console\n", mode->xres, mode->yres);
|
||||
}
|
||||
|
||||
sunxi_display.enabled = true;
|
||||
sunxi_engines_init();
|
||||
sunxi_mode_set(mode, gd->fb_base - CONFIG_SYS_SDRAM_BASE);
|
||||
|
||||
|
|
|
@ -205,7 +205,7 @@
|
|||
* The amount of RAM that is reserved for the FB. This will not show up as
|
||||
* RAM to the kernel, but will be reclaimed by a KMS driver in future.
|
||||
*/
|
||||
#define CONFIG_SUNXI_FB_SIZE (8 << 20)
|
||||
#define CONFIG_SUNXI_FB_SIZE (9 << 20)
|
||||
|
||||
/* Do we want to initialize a simple FB? */
|
||||
#define CONFIG_VIDEO_DT_SIMPLEFB
|
||||
|
|
Loading…
Add table
Reference in a new issue