SPDX-License-Identifier: GPL-2.0+
/*
 * (C) Copyright 2000
 * Paolo Scaffardi, AIRVENT SAM s.p.a - RIMINI(ITALY), arsenio@tin.it
 */

"video-mode" environment variable
=================================

The 'video-mode' environment variable can be used to enable and configure
some video drivers.  The format matches the video= command-line option used
for Linux:

	video-mode=<driver>:<xres>x<yres>-<depth>@<freq><,option=string>

	<driver>	The video driver name, ignored by U-Boot
	<xres>		The X resolution (in pixels) to use.
	<yres>		The Y resolution (in pixels) to use.
	<depth>		The color depth (in bits) to use.
	<freq>		The frequency (in Hz) to use.
	<options>	A comma-separated list of device-specific options


U-Boot MPC8xx video controller driver
=====================================

The driver has been tested with the following configurations:

- MPC823FADS with AD7176 on a PAL TV (YCbYCr)	- arsenio@tin.it

Example: video-mode=fslfb:1280x1024-32@60,monitor=dvi


U-Boot sunxi video controller driver
====================================

U-Boot supports hdmi and lcd output on Allwinner sunxi SoCs, lcd output
requires the CONFIG_VIDEO_LCD_MODE Kconfig value to be set.

The sunxi U-Boot driver supports the following video-mode options:

- monitor=[none|dvi|hdmi|lcd|vga|composite-*] - Select the video output to use
 none:     Disable video output.
 dvi/hdmi: Selects output over the hdmi connector with dvi resp. hdmi output
           format, if edid is used the format is automatically selected.
 lcd:      Selects video output to a LCD screen.
 vga:      Selects video output over the VGA connector.
 composite-pal/composite-ntsc/composite-pal-m/composite-pal-nc:
           Selects composite video output, note the specified resolution is
           ignored with composite video output.
 Defaults to monitor=dvi.

- hpd=[0|1] - Enable use of the hdmi HotPlug Detect feature
 0: Disabled. Configure dvi/hdmi output even if no cable is detected
 1: Enabled.  Fallback to the lcd / vga / none in that order (if available)
 Defaults to hpd=1.

- hpd_delay=<int> - How long to wait for the hdmi HPD signal in milliseconds
 When the monitor and the board power up at the same time, it may take some
 time for the monitor to assert the HPD signal. This configures how long to
 wait for the HPD signal before assuming no cable is connected.
 Defaults to hpd_delay=500.

- edid=[0|1] - Enable use of DDC + EDID to get monitor info
 0: Disabled.
 1: Enabled. If valid EDID info was read from the monitor the EDID info will
    overrides the xres, yres and refresh from the video-mode env. variable.
 Defaults to edid=1.

- overscan_x/overscan_y=<int> - Set x/y overscan value
 This configures a black border on the left and right resp. top and bottom
 to deal with overscanning displays. Defaults to overscan_x=32 and
 overscan_y=20 for composite monitors, 0 for other monitors.

For example to always use the hdmi connector, even if no cable is inserted,
using edid info when available and otherwise initalizing it at 1024x768@60Hz,
use: "setenv video-mode sunxi:1024x768-24@60,monitor=dvi,hpd=0,edid=1".


TrueType fonts
--------------

U-Boot supports the use of antialiased TrueType fonts on some platforms. This
has been tested in x86, ARMv7 and sandbox.

To enable this, select CONFIG_CONSOLE_TRUETYPE. You can choose between several
fonts, with CONSOLE_TRUETYPE_NIMBUS being the default.

TrueType support requires floating point at present. On ARMv7 platforms you
need to disable use of the private libgcc. You can do this by disabling
CONFIG_USE_PRIVATE_LIBGCC. See chromebook_jerry for an example. Note that this
increases U-Boot's size by about 70KB at present.

On ARM you should also make sure your toolchain supports hardfp. This is
normally given in the name of your toolchain, e.g. arm-linux-gnueabihf (hf
means hardware floating point). You can also run gcc with -v to see if it has
this option.