blob: 2a37d026bc2807d54425c663938d64d5372563fa [file] [log] [blame]
#
# Video configuration
#
menu "Graphics support"
config VIDEO
bool "Enable driver model support for LCD/video"
depends on DM
help
This enables driver model for LCD and video devices. These support
a bitmap display of various sizes and depths which can be drawn on
to display a command-line console or splash screen. Enabling this
option compiles in the video uclass and routes all LCD/video access
through this.
if VIDEO
config VIDEO_FONT_4X6
bool "4 x 6 font size"
help
Font for video console driver, 4 x 6 pixels.
Provides character bitmap data in header file.
When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.
config VIDEO_FONT_8X16
bool "8 x 16 font size"
default y
help
Font for video console driver, 8 x 16 pixels
Provides character bitmap data in header file.
When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.
config VIDEO_FONT_SUN12X22
bool "12 x 22 font size"
help
Font for video console driver, 12 x 22 pixels
Provides character bitmap data in header file.
When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.
config VIDEO_FONT_16X32
bool "16 x 32 font size"
help
Font for video console driver, 16 x 32 pixels
Provides character bitmap data in header file.
When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.
config VIDEO_LOGO
bool "Show the U-Boot logo on the display"
default y if !SPLASH_SCREEN
select VIDEO_BMP_RLE8
help
This enables showing the U-Boot logo on the display when a video
device is probed. It appears at the top right. The logo itself is at
tools/logos/u-boot_logo.bmp and looks best when the display has a
black background.
config BACKLIGHT
bool "Enable panel backlight uclass support"
default y
help
This provides backlight uclass driver that enables basic panel
backlight support.
config VIDEO_PCI_DEFAULT_FB_SIZE
hex "Default framebuffer size to use if no drivers request it"
default 0x1000000 if X86
default 0x800000 if !X86 && VIDEO_BOCHS
default 0 if !X86 && !VIDEO_BOCHS
help
Generally, video drivers request the amount of memory they need for
the frame buffer when they are bound, by setting the size field in
struct video_uc_plat. That memory is then reserved for use after
relocation. But PCI drivers cannot be bound before relocation unless
they are mentioned in the devicetree.
With this value set appropriately, it is possible for PCI video
devices to have a framebuffer allocated by U-Boot.
Note: the framebuffer needs to be large enough to store all pixels at
maximum resolution. For example, at 2560 x 1600 with 32 bits per
pixel, 2560 * 1600 * 32 / 8 = 0xfa0000 bytes are needed.
config VIDEO_COPY
bool "Enable copying the frame buffer to a hardware copy"
help
On some machines (e.g. x86), reading from the frame buffer is very
slow because it is uncached. To improve performance, this feature
allows the frame buffer to be kept in cached memory (allocated by
U-Boot) and then copied to the hardware frame-buffer as needed.
To use this, your video driver must set @copy_base in
struct video_uc_plat.
config BACKLIGHT_PWM
bool "Generic PWM based Backlight Driver"
depends on BACKLIGHT && DM_PWM
default y
help
If you have a LCD backlight adjustable by PWM, say Y to enable
this driver.
This driver can be use with "simple-panel" and
it understands the standard device tree
(leds/backlight/pwm-backlight.txt)
config BACKLIGHT_GPIO
bool "Generic GPIO based Backlight Driver"
depends on BACKLIGHT
help
If you have a LCD backlight adjustable by GPIO, say Y to enable
this driver.
This driver can be used with "simple-panel" and
it understands the standard device tree
(leds/backlight/gpio-backlight.txt)
config VIDEO_BPP8
bool "Support 8-bit-per-pixel displays"
default y
help
Support drawing text and bitmaps onto a 8-bit-per-pixel display.
Enabling this will include code to support this display. Without
this option, such displays will not be supported and console output
will be empty.
config VIDEO_BPP16
bool "Support 16-bit-per-pixel displays"
default y
help
Support drawing text and bitmaps onto a 16-bit-per-pixel display.
Enabling this will include code to support this display. Without
this option, such displays will not be supported and console output
will be empty.
config VIDEO_BPP32
bool "Support 32-bit-per-pixel displays"
default y
help
Support drawing text and bitmaps onto a 32-bit-per-pixel display.
Enabling this will include code to support this display. Without
this option, such displays will not be supported and console output
will be empty.
config VIDEO_ANSI
bool "Support ANSI escape sequences in video console"
default y if EFI_LOADER
help
Enable ANSI escape sequence decoding for a more fully functional
console. Functionality includes changing the text colour and moving
the cursor. These date from the 1970s and are still widely used today
to control a text terminal. U-Boot implements these by decoding the
sequences and performing the appropriate operation.
config VIDEO_MIPI_DSI
bool "Support MIPI DSI interface"
help
Support MIPI DSI interface for driving a MIPI compatible device.
The MIPI Display Serial Interface (MIPI DSI) defines a high-speed
serial interface between a host processor and a display module.
config CONSOLE_NORMAL
bool "Support a simple text console"
default y
help
Support drawing text on the frame buffer console so that it can be
used as a console. Rotation is not supported by this driver (see
CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used
for the display.
config CONSOLE_ROTATION
bool "Support rotated displays"
help
Sometimes, for example if the display is mounted in portrait
mode or even if it's mounted landscape but rotated by 180degree,
we need to rotate our content of the display relative to the
framebuffer, so that user can read the messages which are
printed out. Enable this option to include a text driver which can
support this. The rotation is set by the 'rot' parameter in
struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180
degrees, 3=270 degrees.
config CONSOLE_TRUETYPE
bool "Support a console that uses TrueType fonts"
select CMD_SELECT_FONT
help
TrueTrype fonts can provide outline-drawing capability rather than
needing to provide a bitmap for each font and size that is needed.
With this option you can adjust the text size and use a variety of
fonts. Note that this is noticeably slower than with normal console.
config CONSOLE_TRUETYPE_SIZE
int "TrueType font size"
depends on CONSOLE_TRUETYPE
default 18
help
This sets the font size for the console. The size is measured in
pixels and is the nominal height of a character. Note that fonts
are commonly measured in 'points', being 1/72 inch (about 3.52mm).
However that measurement depends on the size of your display and
there is no standard display density. At present there is not a
method to select the display's physical size, which would allow
U-Boot to calculate the correct font size.
config CONSOLE_TRUETYPE_MAX_METRICS
int "TrueType maximum number of font / size combinations"
depends on CONSOLE_TRUETYPE
default 10 if EXPO
default 1
help
This sets the number of font / size combinations which can be used by
the console. For simple console use a single font is enough. When
boot menus are in use, this may need to be increased.
Note that a separate entry is needed for each font size, even if the
font itself is the same. This is because the entry caches various
font metrics which are expensive to regenerate each time the font
size changes.
config SYS_WHITE_ON_BLACK
bool "Display console as white on a black background"
default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || ARCH_TEGRA || X86 || ARCH_SUNXI
help
Normally the display is black on a white background, Enable this
option to invert this, i.e. white on a black background. This can be
better in low-light situations or to reduce eye strain in some
cases.
config NO_FB_CLEAR
bool "Skip framebuffer clear"
help
If firmware (whatever loads u-boot) has already put a splash image
on screen, you might want to preserve it until whatever u-boot
loads takes over the screen. This, for example, can be used to
keep splash image on screen until grub graphical boot menu starts.
config PANEL
bool "Enable panel uclass support"
default y
help
This provides panel uclass driver that enables basic panel support.
config SIMPLE_PANEL
bool "Enable simple panel support"
depends on PANEL && BACKLIGHT && DM_GPIO
default y
help
This turns on a simple panel driver that enables a compatible
video panel.
config PANEL_HX8238D
bool "Enable Himax HX-8238D LCD driver"
depends on PANEL
help
Support for HX-8238D LCD Panel
The HX8238-D is a single chip controller and driver LSI that
integrates the power circuit.
It can drive a maximum 960x240 dot graphics on a-TFT panel
displays in 16M colors with dithering.
source "drivers/video/fonts/Kconfig"
config VIDCONSOLE_AS_LCD
bool "Use 'vidconsole' when CONFIG_VIDCONSOLE_AS_NAME string is seen in stdout"
help
This is a work-around for boards which have 'lcd' or 'vga' in their
stdout environment variable, but have moved to use driver model for
video. In this case the console will no-longer work. While it is
possible to update the environment, the breakage may be confusing for
users. This option will be removed around the end of 2020.
config VIDCONSOLE_AS_NAME
string "Use 'vidconsole' when string defined here is seen in stdout"
depends on VIDCONSOLE_AS_LCD
default "lcd" if LCD || TEGRA_COMMON
default "vga" if !LCD
help
This is a work-around for boards which have 'lcd' or 'vga' in their
stdout environment variable, but have moved to use driver model for
video. In this case the console will no-longer work. While it is
possible to update the environment, the breakage may be confusing for
users. This option will be removed around the end of 2020.
config VIDEO_BOCHS
bool "Enable Bochs video emulation for QEMU"
help
Enable this to use the Bochs video support provided in the QEMU
emulator. This appears as a PCI device which U-Boot can set up to
provide a frame buffer.
if VIDEO_BOCHS
config VIDEO_BOCHS_SIZE_X
int "Width of display (X resolution)"
default 1280
help
Sets the width of the display.
These two options control the size of the display set up by QEMU.
Typical sizes are 1024 x 768 or 1280 x 1024.
config VIDEO_BOCHS_SIZE_Y
int "High of display (Y resolution)"
default 1024
help
Sets the height of the display.
These two options control the size of the display set up by QEMU.
Typical sizes are 1024 x 768 or 1280 x 1024.
endif
config VIDEO_COREBOOT
bool "Enable coreboot framebuffer driver support"
depends on X86
help
Turn on this option to enable a framebuffer driver when U-Boot is
loaded by coreboot where the graphics device is configured by
coreboot already. This can in principle be used with any platform
that coreboot supports.
config VIDEO_EFI
bool "Enable EFI framebuffer driver support"
depends on EFI_STUB || EFI_APP
help
Turn on this option to enable a framebuffeer driver when U-Boot is
loaded as a payload (see README.u-boot_on_efi) by an EFI BIOS where
the graphics device is configured by the EFI BIOS already. This can
in principle be used with any platform that has an EFI BIOS.
config VIDEO_VESA
bool "Enable VESA video driver support"
help
Turn on this option to enable a very simple driver which uses vesa
to discover the video mode and then provides a frame buffer for use
by U-Boot. This can in principle be used with any platform that
supports PCI and video cards that support VESA BIOS Extension (VBE).
config FRAMEBUFFER_SET_VESA_MODE
bool "Set framebuffer graphics resolution"
depends on VIDEO_VESA || VIDEO_BROADWELL_IGD
help
Set VESA/native framebuffer mode (needed for bootsplash and graphical
framebuffer console)
choice
prompt "framebuffer graphics resolution"
default FRAMEBUFFER_VESA_MODE_118
depends on FRAMEBUFFER_SET_VESA_MODE
help
This option sets the resolution used for the U-Boot framebuffer (and
bootsplash screen).
config FRAMEBUFFER_VESA_MODE_100
bool "640x400 256-color"
config FRAMEBUFFER_VESA_MODE_101
bool "640x480 256-color"
config FRAMEBUFFER_VESA_MODE_102
bool "800x600 16-color"
config FRAMEBUFFER_VESA_MODE_103
bool "800x600 256-color"
config FRAMEBUFFER_VESA_MODE_104
bool "1024x768 16-color"
config FRAMEBUFFER_VESA_MODE_105
bool "1024x768 256-color"
config FRAMEBUFFER_VESA_MODE_106
bool "1280x1024 16-color"
config FRAMEBUFFER_VESA_MODE_107
bool "1280x1024 256-color"
config FRAMEBUFFER_VESA_MODE_108
bool "80x60 text"
config FRAMEBUFFER_VESA_MODE_109
bool "132x25 text"
config FRAMEBUFFER_VESA_MODE_10A
bool "132x43 text"
config FRAMEBUFFER_VESA_MODE_10B
bool "132x50 text"
config FRAMEBUFFER_VESA_MODE_10C
bool "132x60 text"
config FRAMEBUFFER_VESA_MODE_10D
bool "320x200 32k-color (1:5:5:5)"
config FRAMEBUFFER_VESA_MODE_10E
bool "320x200 64k-color (5:6:5)"
config FRAMEBUFFER_VESA_MODE_10F
bool "320x200 16.8M-color (8:8:8)"
config FRAMEBUFFER_VESA_MODE_110
bool "640x480 32k-color (1:5:5:5)"
config FRAMEBUFFER_VESA_MODE_111
bool "640x480 64k-color (5:6:5)"
config FRAMEBUFFER_VESA_MODE_112
bool "640x480 16.8M-color (8:8:8)"
config FRAMEBUFFER_VESA_MODE_113
bool "800x600 32k-color (1:5:5:5)"
config FRAMEBUFFER_VESA_MODE_114
bool "800x600 64k-color (5:6:5)"
config FRAMEBUFFER_VESA_MODE_115
bool "800x600 16.8M-color (8:8:8)"
config FRAMEBUFFER_VESA_MODE_116
bool "1024x768 32k-color (1:5:5:5)"
config FRAMEBUFFER_VESA_MODE_117
bool "1024x768 64k-color (5:6:5)"
config FRAMEBUFFER_VESA_MODE_118
bool "1024x768 16.8M-color (8:8:8)"
config FRAMEBUFFER_VESA_MODE_119
bool "1280x1024 32k-color (1:5:5:5)"
config FRAMEBUFFER_VESA_MODE_11A
bool "1280x1024 64k-color (5:6:5)"
config FRAMEBUFFER_VESA_MODE_11B
bool "1280x1024 16.8M-color (8:8:8)"
config FRAMEBUFFER_VESA_MODE_USER
bool "Manually select VESA mode"
endchoice
# Map the config names to an integer (KB).
config FRAMEBUFFER_VESA_MODE
prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
hex
default 0x100 if FRAMEBUFFER_VESA_MODE_100
default 0x101 if FRAMEBUFFER_VESA_MODE_101
default 0x102 if FRAMEBUFFER_VESA_MODE_102
default 0x103 if FRAMEBUFFER_VESA_MODE_103
default 0x104 if FRAMEBUFFER_VESA_MODE_104
default 0x105 if FRAMEBUFFER_VESA_MODE_105
default 0x106 if FRAMEBUFFER_VESA_MODE_106
default 0x107 if FRAMEBUFFER_VESA_MODE_107
default 0x108 if FRAMEBUFFER_VESA_MODE_108
default 0x109 if FRAMEBUFFER_VESA_MODE_109
default 0x10A if FRAMEBUFFER_VESA_MODE_10A
default 0x10B if FRAMEBUFFER_VESA_MODE_10B
default 0x10C if FRAMEBUFFER_VESA_MODE_10C
default 0x10D if FRAMEBUFFER_VESA_MODE_10D
default 0x10E if FRAMEBUFFER_VESA_MODE_10E
default 0x10F if FRAMEBUFFER_VESA_MODE_10F
default 0x110 if FRAMEBUFFER_VESA_MODE_110
default 0x111 if FRAMEBUFFER_VESA_MODE_111
default 0x112 if FRAMEBUFFER_VESA_MODE_112
default 0x113 if FRAMEBUFFER_VESA_MODE_113
default 0x114 if FRAMEBUFFER_VESA_MODE_114
default 0x115 if FRAMEBUFFER_VESA_MODE_115
default 0x116 if FRAMEBUFFER_VESA_MODE_116
default 0x117 if FRAMEBUFFER_VESA_MODE_117
default 0x118 if FRAMEBUFFER_VESA_MODE_118
default 0x119 if FRAMEBUFFER_VESA_MODE_119
default 0x11A if FRAMEBUFFER_VESA_MODE_11A
default 0x11B if FRAMEBUFFER_VESA_MODE_11B
default 0x117 if FRAMEBUFFER_VESA_MODE_USER
config VIDEO_LCD_ANX9804
bool "ANX9804 bridge chip"
---help---
Support for the ANX9804 bridge chip, which can take pixel data coming
from a parallel LCD interface and translate it on the fy into a DP
interface for driving eDP TFT displays. It uses I2C for configuration.
config ATMEL_LCD
bool "Atmel LCD panel support"
depends on ARCH_AT91
config ATMEL_LCD_BGR555
bool "Display in BGR555 mode"
help
Use the BGR555 output mode. Otherwise RGB565 is used.
config VIDEO_BCM2835
bool "Display support for BCM2835"
help
The graphics processor already sets up the display so this driver
simply checks the resolution and then sets up the frame buffer with
that same resolution (or as near as possible) and 32bpp depth, so
that U-Boot can access it with full colour depth.
config VIDEO_LCD_ENDEAVORU
tristate "Endeavoru 720x1280 DSI video mode panel"
depends on PANEL && BACKLIGHT
select VIDEO_MIPI_DSI
help
Say Y here if you want to enable support for the IPS-LCD panel
module for HTC One X. Driver supports a family of panels,
made at least by 3 vendors (Sharp, Sony and AUO), but set up
using the same DSI command sequence. The panel has a 720x1280
resolution and uses 24 bit RGB per pixel.
config VIDEO_LCD_HIMAX_HX8394
bool "Himax HX8394 DSI LCD panel support"
depends on PANEL && BACKLIGHT
select VIDEO_MIPI_DSI
help
Say Y here if you want to enable support for Himax HX8394
dsi 4dl panel.
config VIDEO_LCD_ORISETECH_OTM8009A
bool "OTM8009A DSI LCD panel support"
select VIDEO_MIPI_DSI
help
Say Y here if you want to enable support for Orise Technology
otm8009a 480x800 dsi 2dl panel.
config VIDEO_LCD_RAYDIUM_RM68200
bool "RM68200 DSI LCD panel support"
select VIDEO_MIPI_DSI
help
Say Y here if you want to enable support for Raydium RM68200
720x1280 DSI video mode panel.
config VIDEO_LCD_RENESAS_R61307
tristate "Renesas R61307 DSI video mode panel"
depends on PANEL && BACKLIGHT
select VIDEO_MIPI_DSI
help
Say Y here if you want to enable support for KOE tx13d100vm0eaa
IPS-LCD module with Renesas R69328 IC. The panel has a 1024x768
resolution and uses 24 bit RGB per pixel.
config VIDEO_LCD_RENESAS_R69328
tristate "Renesas R69328 720x1280 DSI video mode panel"
depends on PANEL && BACKLIGHT
select VIDEO_MIPI_DSI
help
Say Y here if you want to enable support for JDI dx12d100vm0eaa
IPS-LCD module with Renesas R69328 IC. The panel has a 720x1280
resolution and uses 24 bit RGB per pixel.
config VIDEO_LCD_SSD2828
bool "SSD2828 bridge chip"
---help---
Support for the SSD2828 bridge chip, which can take pixel data coming
from a parallel LCD interface and translate it on the fly into MIPI DSI
interface for driving a MIPI compatible LCD panel. It uses SPI for
configuration.
config VIDEO_LCD_SSD2828_TX_CLK
int "SSD2828 TX_CLK frequency (in MHz)"
depends on VIDEO_LCD_SSD2828
default 0
---help---
The frequency of the crystal, which is clocking SSD2828. It may be
anything in the 8MHz-30MHz range and the exact value should be
retrieved from the board schematics. Or in the case of Allwinner
hardware, it can be usually found as 'lcd_xtal_freq' variable in
FEX files. It can be also set to 0 for selecting PCLK from the
parallel LCD interface instead of TX_CLK as the PLL clock source.
config VIDEO_LCD_SSD2828_RESET
string "RESET pin of SSD2828"
depends on VIDEO_LCD_SSD2828
default ""
---help---
The reset pin of SSD2828 chip. This takes a string in the format
understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
config VIDEO_LCD_TDO_TL070WSH30
bool "TDO TL070WSH30 DSI LCD panel support"
select VIDEO_MIPI_DSI
help
Say Y here if you want to enable support for TDO TL070WSH30
1024x600 DSI video mode panel.
config VIDEO_LCD_HITACHI_TX18D42VM
bool "Hitachi tx18d42vm LVDS LCD panel support"
---help---
Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
lcd controller which needs to be initialized over SPI, once that is
done they work like a regular LVDS panel.
config VIDEO_LCD_SPI_CS
string "SPI CS pin for LCD related config job"
depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
default ""
---help---
This is one of the SPI communication pins, involved in setting up a
working LCD configuration. The exact role of SPI may differ for
different hardware setups. The option takes a string in the format
understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
config VIDEO_LCD_SPI_SCLK
string "SPI SCLK pin for LCD related config job"
depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
default ""
---help---
This is one of the SPI communication pins, involved in setting up a
working LCD configuration. The exact role of SPI may differ for
different hardware setups. The option takes a string in the format
understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
config VIDEO_LCD_SPI_MOSI
string "SPI MOSI pin for LCD related config job"
depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
default ""
---help---
This is one of the SPI communication pins, involved in setting up a
working LCD configuration. The exact role of SPI may differ for
different hardware setups. The option takes a string in the format
understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
config VIDEO_LCD_SPI_MISO
string "SPI MISO pin for LCD related config job (optional)"
depends on VIDEO_LCD_SSD2828
default ""
---help---
This is one of the SPI communication pins, involved in setting up a
working LCD configuration. The exact role of SPI may differ for
different hardware setups. If wired up, this pin may provide additional
useful functionality. Such as bi-directional communication with the
hardware and LCD panel id retrieval (if the panel can report it). The
option takes a string in the format understood by 'sunxi_name_to_gpio'
function, e.g. PH1 for pin 1 of port H.
source "drivers/video/meson/Kconfig"
config VIDEO_MVEBU
bool "Armada XP LCD controller"
---help---
Support for the LCD controller integrated in the Marvell
Armada XP SoC.
config VIDEO_OMAP3
bool "Enable OMAP3+ DSS Support"
depends on ARCH_OMAP2PLUS
help
This enables the Display subsystem (DSS) on OMAP3+ boards.
config I2C_EDID
bool "Enable EDID library"
help
This enables library for accessing EDID data from an LCD panel.
config DISPLAY
bool "Enable Display support"
depends on DM
select I2C_EDID
help
This supports drivers that provide a display, such as eDP (Embedded
DisplayPort) and HDMI (High Definition Multimedia Interface).
The devices provide a simple interface to start up the display,
read display information and enable it.
config NXP_TDA19988
bool "Enable NXP TDA19988 support"
depends on DISPLAY
help
This enables support for the NXP TDA19988 HDMI encoder. This encoder
will convert RGB data streams into HDMI-encoded signals.
config ATMEL_HLCD
bool "Enable ATMEL video support using HLCDC"
help
HLCDC supports video output to an attached LCD panel.
config BACKLIGHT_LM3533
bool "Backlight Driver for LM3533"
depends on BACKLIGHT
select DM_I2C
help
Say Y to enable the backlight driver for National Semiconductor / TI
LM3533 Lighting Power chip. Only Bank A is supported as for now.
Supported backlight level range is from 2 to 255 with step of 1.
source "drivers/video/ti/Kconfig"
source "drivers/video/exynos/Kconfig"
config LOGICORE_DP_TX
bool "Enable Logicore DP TX driver"
depends on DISPLAY
help
Enable the driver for the transmitter part of the Xilinx LogiCORE
DisplayPort, a IP core for Xilinx FPGAs that implements a DisplayPort
video interface as defined by VESA DisplayPort v1.2.
Note that this is a pure transmitter device, and has no display
capabilities by itself.
config VIDEO_BROADWELL_IGD
bool "Enable Intel Broadwell integrated graphics device"
depends on X86
help
This enables support for integrated graphics on Intel broadwell
devices. Initialisation is mostly performed by a VGA boot ROM, with
some setup handled by U-Boot itself. The graphics adaptor works as
a VESA device and supports LCD panels, eDP and LVDS outputs.
Configuration of most aspects of device operation is performed using
a special tool which configures the VGA ROM, but the graphics
resolution can be selected in U-Boot.
config VIDEO_IVYBRIDGE_IGD
bool "Enable Intel Ivybridge integration graphics support"
depends on X86
help
This enables support for integrated graphics on Intel ivybridge
devices. Initialisation is mostly performed by a VGA boot ROM, with
some setup handled by U-Boot itself. The graphics adaptor works as
a VESA device and supports LCD panels, eDP and LVDS outputs.
Configuration of most aspects of device operation is performed using
a special tool which configures the VGA ROM, but the graphics
resolution can be selected in U-Boot.
source "drivers/video/rockchip/Kconfig"
config VIDEO_ARM_MALIDP
bool "Enable Arm Mali Display Processor support"
depends on OF_CONTROL
select VEXPRESS_CLK
help
This enables support for Arm Ltd Mali Display Processors from
the DP500, DP550 and DP650 family.
config VIDEO_SANDBOX_SDL
bool "Enable sandbox video console using SDL"
depends on SANDBOX_SDL
help
When using sandbox you can enable an emulated LCD display which
appears as an SDL (Simple DirectMedia Layer) window. This is a
console device and can display stdout output. Within U-Boot is is
a normal bitmap display and can display images as well as text.
source "drivers/video/stm32/Kconfig"
source "drivers/video/tidss/Kconfig"
config VIDEO_TEGRA124
bool "Enable video support on Tegra124"
help
Tegra124 supports many video output options including eDP and
HDMI. At present only eDP is supported by U-Boot. This option
enables this support which can be used on devices which
have an eDP display connected.
source "drivers/video/bridge/Kconfig"
source "drivers/video/tegra20/Kconfig"
source "drivers/video/imx/Kconfig"
config VIDEO_MXS
bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs"
help
Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors
config VIDEO_NX
bool "Enable video support on Nexell SoC"
depends on ARCH_S5P6818 || ARCH_S5P4418
help
Nexell SoC supports many video output options including eDP and
HDMI. This option enables this support which can be used on devices
which have an eDP display connected.
config VIDEO_SEPS525
bool "Enable video support for Seps525"
depends on DM_GPIO
help
Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
Currently driver is supporting only SPI interface.
source "drivers/video/zynqmp/Kconfig"
source "drivers/video/nexell/Kconfig"
config CONSOLE_SCROLL_LINES
int "Number of lines to scroll the console by"
default 1
help
When the console need to be scrolled, this is the number of
lines to scroll by. It defaults to 1. Increasing this makes the
console jump but can help speed up operation when scrolling
is slow.
config VIDEO_DW_HDMI
bool
help
Enables the common driver code for the Designware HDMI TX
block found in SoCs from various vendors.
As this does not provide any functionality by itself (but
rather requires a SoC-specific glue driver to call it), it
can not be enabled from the configuration menu.
config VIDEO_DSI_HOST_SANDBOX
bool "Enable sandbox for dsi host"
depends on SANDBOX
select VIDEO_MIPI_DSI
help
Enable support for sandbox dsi host device used for testing
purposes.
Display Serial Interface (DSI) defines a serial bus and
a communication protocol between the host and the device
(panel, bridge).
config VIDEO_DW_MIPI_DSI
bool
select VIDEO_MIPI_DSI
help
Enables the common driver code for the Synopsis Designware
MIPI DSI block found in SoCs from various vendors.
As this does not provide any functionality by itself (but
rather requires a SoC-specific glue driver to call it), it
can not be enabled from the configuration menu.
config VIDEO_SIMPLE
bool "Simple display driver for preconfigured display"
help
Enables a simple generic display driver which utilizes the
simple-framebuffer devicetree bindings.
This driver assumes that the display hardware has been initialized
before u-boot starts, and u-boot will simply render to the pre-
allocated frame buffer surface.
config VIDEO_DT_SIMPLEFB
bool "Enable SimpleFB support for passing framebuffer to OS"
help
Enables the code to pass the framebuffer to the kernel as a
simple framebuffer in the device tree.
The video output is initialized by U-Boot, and kept by the
kernel.
config VIDEO_MCDE_SIMPLE
bool "Simple driver for ST-Ericsson MCDE with preconfigured display"
help
Enables a simple display driver for ST-Ericsson MCDE
(Multichannel Display Engine), which reads the configuration from
the MCDE registers.
This driver assumes that the display hardware has been initialized
before u-boot starts, and u-boot will simply render to the pre-
allocated frame buffer surface.
config OSD
bool "Enable OSD support"
depends on DM
help
This supports drivers that provide a OSD (on-screen display), which
is a (usually text-oriented) graphics buffer to show information on
a display.
config SANDBOX_OSD
bool "Enable sandbox OSD"
depends on OSD
help
Enable support for sandbox OSD device used for testing purposes.
config IHS_VIDEO_OUT
bool "Enable IHS video out driver"
depends on OSD
help
Enable support for the gdsys Integrated Hardware Systems (IHS) video
out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
textual overlays of the display outputs.
config VIDEO_REMOVE
bool "Remove video driver"
help
Use this option to specify if user wants to call remove method of
video driver in u-boot proper stage.
config SPLASH_SCREEN
bool "Show a splash-screen image"
help
If this option is set, the environment is checked for a variable
"splashimage". If found, the usual display of logo, copyright and
system information on the LCD is suppressed and the BMP image at the
address specified in "splashimage" is loaded instead. The console is
redirected to the "nulldev", too. This allows for a "silent" boot
where a splash screen is loaded very quickly after power-on.
The splash_screen_prepare() function is a weak function defined in
common/splash.c. It is called as part of the splash screen display
sequence. It gives the board an opportunity to prepare the splash
image data before it is processed and sent to the frame buffer by
U-Boot. Define your own version to use this feature.
if SPLASH_SCREEN
config SPLASH_SCREEN_ALIGN
bool "Allow positioning the splash image anywhere on the display"
help
If this option is set the splash image can be freely positioned
on the screen. Environment variable "splashpos" specifies the
position as "x,y". If a positive number is given it is used as
number of pixel from left/top. If a negative number is given it
is used as number of pixel from right/bottom. You can also
specify 'm' for centering the image.
Example:
setenv splashpos m,m
=> image at center of screen
setenv splashpos 30,20
=> image at x = 30 and y = 20
setenv splashpos -10,m
=> vertically centered image
at x = dspWidth - bmpWidth - 9
config HIDE_LOGO_VERSION
bool "Hide the version information on the splash screen"
help
Normally the U-Boot version string is shown on the display when the
splash screen is enabled. This information is not otherwise visible
since video starts up after U-Boot has displayed the initial banner.
Enable this option to hide this information.
config SPLASH_SOURCE
bool "Control the source of the splash image"
help
Use the splash_source.c library. This library provides facilities to
declare board specific splash image locations, routines for loading
splash image from supported locations, and a way of controlling the
selected splash location using the "splashsource" environment
variable.
This CONFIG works as follows:
- If splashsource is set to a supported location name as defined by
board code, use that splash location.
- If splashsource is undefined, use the first splash location as
default.
- If splashsource is set to an unsupported value, do not load a splash
screen.
A splash source location can describe either storage with raw data, a
storage formatted with a file system or a FIT image. In case of a
filesystem, the splash screen data is loaded as a file. The name of
the splash screen file can be controlled with the environment variable
"splashfile".
To enable loading the splash image from a FIT image, CONFIG_FIT must
be enabled. The FIT image has to start at the 'offset' field address
in the selected splash location. The name of splash image within the
FIT shall be specified by the environment variable "splashfile".
In case the environment variable "splashfile" is not defined the
default name 'splash.bmp' will be used.
endif # SPLASH_SCREEN
config VIDEO_BMP_GZIP
bool "Gzip compressed BMP image support"
depends on BMP || SPLASH_SCREEN
help
If this option is set, additionally to standard BMP
images, gzipped BMP images can be displayed via the
splashscreen support or the bmp command.
config VIDEO_LOGO_MAX_SIZE
hex "Maximum size of the bitmap logo in bytes"
default 0x100000
help
Sets the maximum uncompressed size of the logo. This is needed when
decompressing a BMP file using the gzip algorithm, since it cannot
read the size from the bitmap header.
config VIDEO_BMP_RLE8
bool "Run length encoded BMP image (RLE8) support"
help
If this option is set, the 8-bit RLE compressed BMP images
is supported.
config BMP_16BPP
bool "16-bit-per-pixel BMP image support"
help
Support display of bitmaps file with 16-bit-per-pixel
config BMP_24BPP
bool "24-bit-per-pixel BMP image support"
help
Support display of bitmaps file with 24-bit-per-pixel.
config BMP_32BPP
bool "32-bit-per-pixel BMP image support"
help
Support display of bitmaps file with 32-bit-per-pixel.
endif # VIDEO
config SPL_VIDEO
bool "Enable driver model support for LCD/video in SPL"
depends on SPL_DM
help
The video subsystem adds a small amount of overhead to the image.
If this is acceptable and you have a need to use video drivers in
SPL, enable this option. It might provide a cleaner interface to
setting up video within SPL, and allows the same drivers to be
used as U-Boot proper.
if SPL_VIDEO
source "drivers/video/tidss/Kconfig"
config SPL_VIDEO_HANDOFF
bool "Pass the video frame-buffer through to U-Boot proper"
depends on SPL_BLOBLIST
default y if !X86
help
Enable this to set up video-handoff information in SPL which can be
picked up in U-Boot proper. This includes the frame buffer and
various other pieces of information. With this enabled, SPL can set
up video and avoid re-initing it later.
config SPL_VIDEO_LOGO
bool "Show the U-Boot logo on the display at SPL"
default y if !SPL_SPLASH_SCREEN
select SPL_VIDEO_BMP_RLE8
help
This enables showing the U-Boot logo on the display when a video
device is probed. It appears at the top right. The logo itself is at
tools/logos/u-boot_logo.bmp and looks best when the display has a
black background.
config SPL_SPLASH_SCREEN
bool "Show a splash-screen image at SPL"
help
If this option is set, the environment is checked for a variable
"splashimage" at spl stage.
config SPL_SYS_WHITE_ON_BLACK
bool "Display console as white on a black background at SPL"
help
Normally the display is black on a white background, Enable this
option to invert this, i.e. white on a black background at spl stage.
This can be better in low-light situations or to reduce eye strain in
some cases.
config SPL_VIDEO_PCI_DEFAULT_FB_SIZE
hex "Default framebuffer size to use if no drivers request it at SPL"
default 0x1000000 if X86
default 0x800000 if !X86 && VIDEO_BOCHS
default 0 if !X86 && !VIDEO_BOCHS
help
Generally, video drivers request the amount of memory they need for
the frame buffer when they are bound, by setting the size field in
struct video_uc_plat. That memory is then reserved for use after
relocation. But PCI drivers cannot be bound before relocation unless
they are mentioned in the devicetree.
With this value set appropriately, it is possible for PCI video
devices to have a framebuffer allocated by U-Boot.
Note: the framebuffer needs to be large enough to store all pixels at
maximum resolution. For example, at 2560 x 1600 with 32 bits per
pixel, 2560 * 1600 * 32 / 8 = 0xfa0000 bytes are needed.
config SPL_CONSOLE_SCROLL_LINES
int "Number of lines to scroll the console by at SPL"
default 1
help
When the console need to be scrolled, this is the number of
lines to scroll by. It defaults to 1. Increasing this makes the
console jump but can help speed up operation when scrolling
is slow.
config SPL_CONSOLE_NORMAL
bool "Support a simple text console at SPL"
default y
help
Support drawing text on the frame buffer console so that it can be
used as a console. Rotation is not supported by this driver (see
CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used
for the display.
config SPL_BACKLIGHT
bool "Enable panel backlight uclass support at SPL"
default y
help
This provides backlight uclass driver that enables basic panel
backlight support.
config SPL_PANEL
bool "Enable panel uclass support at SPL"
default y
help
This provides panel uclass driver that enables basic panel support.
config SPL_SIMPLE_PANEL
bool "Enable simple panel support at SPL"
depends on SPL_PANEL && SPL_BACKLIGHT && SPL_DM_GPIO
default y
help
This turns on a simple panel driver that enables a compatible
video panel.
config SPL_SYS_WHITE_ON_BLACK
bool "Display console as white on a black background at SPL"
help
Normally the display is black on a white background, Enable this
option to invert this, i.e. white on a black background at spl stage.
This can be better in low-light situations or to reduce eye strain in
some cases.
config SPL_VIDEO_REMOVE
bool "Remove video driver after SPL stage"
help
if this option is enabled video driver will be removed at the end of
SPL stage, beforeloading the next stage.
if SPL_SPLASH_SCREEN
config SPL_SPLASH_SCREEN_ALIGN
bool "Allow positioning the splash image anywhere on the display at SPL"
help
If this option is set the splash image can be freely positioned
on the screen only at SPL. Environment variable "splashpos" specifies
the position as "x,y". If a positive number is given it is used as
number of pixel from left/top. If a negative number is given it
is used as number of pixel from right/bottom.
config SPL_SPLASH_SOURCE
bool "Control the source of the splash image at SPL"
help
Use the splash_source.c library. This library provides facilities to
declare board specific splash image locations, routines for loading
splash image from supported locations, and a way of controlling the
selected splash location using the "splashsource" environment
variable.
This CONFIG works as follows:
- If splashsource is set to a supported location name as defined by
board code, use that splash location.
- If splashsource is undefined, use the first splash location as
default.
- If splashsource is set to an unsupported value, do not load a splash
screen.
A splash source location can describe either storage with raw data, a
storage formatted with a file system or a FIT image. In case of a
filesystem, the splash screen data is loaded as a file. The name of
the splash screen file can be controlled with the environment variable
"splashfile".
To enable loading the splash image from a FIT image, CONFIG_FIT must
be enabled. The FIT image has to start at the 'offset' field address
in the selected splash location. The name of splash image within the
FIT shall be specified by the environment variable "splashfile".
In case the environment variable "splashfile" is not defined the
default name 'splash.bmp' will be used.
endif # SPL_SPLASH_SCREEN
config SPL_VIDEO_BMP_GZIP
bool "Gzip compressed BMP image support at SPL"
depends on SPL_SPLASH_SCREEN || SPL_BMP
help
If this option is set, additionally to standard BMP
images, gzipped BMP images can be displayed via the
splashscreen supportat SPL stage.
config SPL_VIDEO_LOGO_MAX_SIZE
hex "Maximum size of the bitmap logo in bytes at SPL"
default 0x100000
help
Sets the maximum uncompressed size of the logo. This is needed when
decompressing a BMP file using the gzip algorithm, since it cannot
read the size from the bitmap header.
config SPL_VIDEO_BMP_RLE8
bool "Run length encoded BMP image (RLE8) support at SPL"
help
If this option is set, the 8-bit RLE compressed BMP images
is supported.
config SPL_BMP_16BPP
bool "16-bit-per-pixel BMP image support at SPL"
help
Support display of bitmaps file with 16-bit-per-pixel
config SPL_BMP_24BPP
bool "24-bit-per-pixel BMP image support at SPL"
help
Support display of bitmaps file with 24-bit-per-pixel.
config SPL_BMP_32BPP
bool "32-bit-per-pixel BMP image support at SPL"
help
Support display of bitmaps file with 32-bit-per-pixel.
config SPL_VIDEO_BPP8
bool "Support 8-bit-per-pixel displays at SPL"
default y
help
Support drawing text and bitmaps onto a 8-bit-per-pixel display.
Enabling this will include code to support this display. Without
this option, such displays will not be supported and console output
will be empty.
config SPL_VIDEO_BPP16
bool "Support 16-bit-per-pixel displays at SPL"
default y
help
Support drawing text and bitmaps onto a 16-bit-per-pixel display.
Enabling this will include code to support this display. Without
this option, such displays will not be supported and console output
will be empty.
config SPL_VIDEO_BPP32
bool "Support 32-bit-per-pixel displays at SPL"
default y
help
Support drawing text and bitmaps onto a 32-bit-per-pixel display.
Enabling this will include code to support this display. Without
this option, such displays will not be supported and console output
will be empty.
config SPL_HIDE_LOGO_VERSION
bool "Hide the version information on the splash screen at SPL"
help
Normally the U-Boot version string is shown on the display when the
splash screen is enabled. This information is not otherwise visible
since video starts up after U-Boot has displayed the initial banner.
Enable this option to hide this information.
endif
endmenu