mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-17 10:18:38 +00:00
a29b012037
The existing 8x16 font is adequate for most purposes. It is small and fast. However for boot screens where information must be presented to the user, the console font is not ideal. Common requirements are larger and better-looking fonts. This console driver can use TrueType fonts built into U-Boot, and render them at any size. This can be used in scripts to place text as needed on the display. This driver is not really designed to operate with the command line. Much of U-Boot expects a fixed-width font. But to keep things working correctly, rudimentary support for the console is provided. The main missing feature is support for command-line editing. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Anatolij Gustschin <agust@denx.de>
384 lines
12 KiB
Text
384 lines
12 KiB
Text
#
|
|
# Video configuration
|
|
#
|
|
|
|
menu "Graphics support"
|
|
|
|
config DM_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.
|
|
|
|
config VIDEO_BPP8
|
|
bool "Support 8-bit-per-pixel displays"
|
|
depends on DM_VIDEO
|
|
default y if DM_VIDEO
|
|
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"
|
|
depends on DM_VIDEO
|
|
default y if DM_VIDEO
|
|
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"
|
|
depends on DM_VIDEO
|
|
default y if DM_VIDEO
|
|
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 CONSOLE_NORMAL
|
|
bool "Support a simple text console"
|
|
depends on DM_VIDEO
|
|
default y if DM_VIDEO
|
|
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"
|
|
depends on DM_VIDEO
|
|
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"
|
|
depends on DM_VIDEO
|
|
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.
|
|
|
|
source "drivers/video/fonts/Kconfig"
|
|
|
|
config VIDEO_VESA
|
|
bool "Enable VESA video driver support"
|
|
default n
|
|
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
|
|
help
|
|
Set VESA/native framebuffer mode (needed for bootsplash and graphical
|
|
framebuffer console)
|
|
|
|
choice
|
|
prompt "framebuffer graphics resolution"
|
|
default FRAMEBUFFER_VESA_MODE_117
|
|
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"
|
|
default n
|
|
---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 VIDEO_LCD_SSD2828
|
|
bool "SSD2828 bridge chip"
|
|
default n
|
|
---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 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
|
|
|
|
config VIDEO_LCD_HITACHI_TX18D42VM
|
|
bool "Hitachi tx18d42vm LVDS LCD panel support"
|
|
depends on VIDEO
|
|
default n
|
|
---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 '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 '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 '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 'name_to_gpio'
|
|
function, e.g. PH1 for pin 1 of port H.
|
|
|
|
config VIDEO_MVEBU
|
|
bool "Armada XP LCD controller"
|
|
default n
|
|
---help---
|
|
Support for the LCD controller integrated in the Marvell
|
|
Armada XP SoC.
|
|
|
|
config I2C_EDID
|
|
bool "Enable EDID library"
|
|
depends on DM_I2C
|
|
default n
|
|
help
|
|
This enables library for accessing EDID data from an LCD panel.
|
|
|
|
config DISPLAY
|
|
bool "Enable Display support"
|
|
depends on DM
|
|
default n
|
|
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 VIDEO_ROCKCHIP
|
|
bool "Enable Rockchip video support"
|
|
depends on DM_VIDEO
|
|
help
|
|
Rockchip SoCs provide video output capabilities for High-Definition
|
|
Multimedia Interface (HDMI), Low-voltage Differential Signalling
|
|
(LVDS), embedded DisplayPort (eDP) and Display Serial Interface
|
|
(DSI). This driver supports the on-chip video output device, and
|
|
targets the Rockchip RK3288.
|
|
|
|
config VIDEO_SANDBOX_SDL
|
|
bool "Enable sandbox video console using SDL"
|
|
depends on SANDBOX
|
|
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.
|
|
|
|
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"
|
|
|
|
endmenu
|