10b11dbf7SMasahiro Yamada# 20b11dbf7SMasahiro Yamada# Video configuration 30b11dbf7SMasahiro Yamada# 40b11dbf7SMasahiro Yamada 50b11dbf7SMasahiro Yamadamenu "Graphics support" 60b11dbf7SMasahiro Yamada 71acafc73SSimon Glassconfig DM_VIDEO 81acafc73SSimon Glass bool "Enable driver model support for LCD/video" 91acafc73SSimon Glass depends on DM 101acafc73SSimon Glass help 111acafc73SSimon Glass This enables driver model for LCD and video devices. These support 121acafc73SSimon Glass a bitmap display of various sizes and depths which can be drawn on 131acafc73SSimon Glass to display a command-line console or splash screen. Enabling this 141acafc73SSimon Glass option compiles in the video uclass and routes all LCD/video access 151acafc73SSimon Glass through this. 161acafc73SSimon Glass 171acafc73SSimon Glassconfig VIDEO_BPP8 181acafc73SSimon Glass bool "Support 8-bit-per-pixel displays" 191acafc73SSimon Glass depends on DM_VIDEO 201acafc73SSimon Glass default y if DM_VIDEO 211acafc73SSimon Glass help 221acafc73SSimon Glass Support drawing text and bitmaps onto a 8-bit-per-pixel display. 231acafc73SSimon Glass Enabling this will include code to support this display. Without 241acafc73SSimon Glass this option, such displays will not be supported and console output 251acafc73SSimon Glass will be empty. 261acafc73SSimon Glass 271acafc73SSimon Glassconfig VIDEO_BPP16 281acafc73SSimon Glass bool "Support 16-bit-per-pixel displays" 291acafc73SSimon Glass depends on DM_VIDEO 301acafc73SSimon Glass default y if DM_VIDEO 311acafc73SSimon Glass help 321acafc73SSimon Glass Support drawing text and bitmaps onto a 16-bit-per-pixel display. 331acafc73SSimon Glass Enabling this will include code to support this display. Without 341acafc73SSimon Glass this option, such displays will not be supported and console output 351acafc73SSimon Glass will be empty. 361acafc73SSimon Glass 371acafc73SSimon Glassconfig VIDEO_BPP32 381acafc73SSimon Glass bool "Support 32-bit-per-pixel displays" 391acafc73SSimon Glass depends on DM_VIDEO 401acafc73SSimon Glass default y if DM_VIDEO 411acafc73SSimon Glass help 421acafc73SSimon Glass Support drawing text and bitmaps onto a 32-bit-per-pixel display. 431acafc73SSimon Glass Enabling this will include code to support this display. Without 441acafc73SSimon Glass this option, such displays will not be supported and console output 451acafc73SSimon Glass will be empty. 461acafc73SSimon Glass 47b5146b28SSimon Glassconfig VIDEO_ROTATION 48b5146b28SSimon Glass bool "Support rotated displays" 49b5146b28SSimon Glass depends on DM_VIDEO 50b5146b28SSimon Glass help 51b5146b28SSimon Glass Sometimes, for example if the display is mounted in portrait 52b5146b28SSimon Glass mode or even if it's mounted landscape but rotated by 180degree, 53b5146b28SSimon Glass we need to rotate our content of the display relative to the 54b5146b28SSimon Glass framebuffer, so that user can read the messages which are 55b5146b28SSimon Glass printed out. Enable this option to include a text driver which can 56b5146b28SSimon Glass support this. The rotation is set by the 'rot' parameter in 57b5146b28SSimon Glass struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180 58b5146b28SSimon Glass degrees, 3=270 degrees. 59b5146b28SSimon Glass 606b1ba984SSimon Glassconfig VIDEO_VESA 616b1ba984SSimon Glass bool "Enable VESA video driver support" 626b1ba984SSimon Glass default n 636b1ba984SSimon Glass help 646b1ba984SSimon Glass Turn on this option to enable a very simple driver which uses vesa 656b1ba984SSimon Glass to discover the video mode and then provides a frame buffer for use 666b1ba984SSimon Glass by U-Boot. This can in principle be used with any platform that 676b1ba984SSimon Glass supports PCI and video cards that support VESA BIOS Extension (VBE). 686b1ba984SSimon Glass 696bde2dc5SBin Mengconfig FRAMEBUFFER_SET_VESA_MODE 706bde2dc5SBin Meng bool "Set framebuffer graphics resolution" 716bde2dc5SBin Meng depends on VIDEO_VESA 726bde2dc5SBin Meng help 736bde2dc5SBin Meng Set VESA/native framebuffer mode (needed for bootsplash and graphical 746bde2dc5SBin Meng framebuffer console) 756bde2dc5SBin Meng 766bde2dc5SBin Mengchoice 776bde2dc5SBin Meng prompt "framebuffer graphics resolution" 786bde2dc5SBin Meng default FRAMEBUFFER_VESA_MODE_117 796bde2dc5SBin Meng depends on FRAMEBUFFER_SET_VESA_MODE 806bde2dc5SBin Meng help 816bde2dc5SBin Meng This option sets the resolution used for the U-Boot framebuffer (and 826bde2dc5SBin Meng bootsplash screen). 836bde2dc5SBin Meng 846bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_100 856bde2dc5SBin Meng bool "640x400 256-color" 866bde2dc5SBin Meng 876bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_101 886bde2dc5SBin Meng bool "640x480 256-color" 896bde2dc5SBin Meng 906bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_102 916bde2dc5SBin Meng bool "800x600 16-color" 926bde2dc5SBin Meng 936bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_103 946bde2dc5SBin Meng bool "800x600 256-color" 956bde2dc5SBin Meng 966bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_104 976bde2dc5SBin Meng bool "1024x768 16-color" 986bde2dc5SBin Meng 996bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_105 10057dccb55SBin Meng bool "1024x768 256-color" 1016bde2dc5SBin Meng 1026bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_106 1036bde2dc5SBin Meng bool "1280x1024 16-color" 1046bde2dc5SBin Meng 1056bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_107 1066bde2dc5SBin Meng bool "1280x1024 256-color" 1076bde2dc5SBin Meng 1086bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_108 1096bde2dc5SBin Meng bool "80x60 text" 1106bde2dc5SBin Meng 1116bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_109 1126bde2dc5SBin Meng bool "132x25 text" 1136bde2dc5SBin Meng 1146bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10A 1156bde2dc5SBin Meng bool "132x43 text" 1166bde2dc5SBin Meng 1176bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10B 1186bde2dc5SBin Meng bool "132x50 text" 1196bde2dc5SBin Meng 1206bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10C 1216bde2dc5SBin Meng bool "132x60 text" 1226bde2dc5SBin Meng 1236bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10D 1246bde2dc5SBin Meng bool "320x200 32k-color (1:5:5:5)" 1256bde2dc5SBin Meng 1266bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10E 1276bde2dc5SBin Meng bool "320x200 64k-color (5:6:5)" 1286bde2dc5SBin Meng 1296bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10F 1306bde2dc5SBin Meng bool "320x200 16.8M-color (8:8:8)" 1316bde2dc5SBin Meng 1326bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_110 1336bde2dc5SBin Meng bool "640x480 32k-color (1:5:5:5)" 1346bde2dc5SBin Meng 1356bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_111 1366bde2dc5SBin Meng bool "640x480 64k-color (5:6:5)" 1376bde2dc5SBin Meng 1386bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_112 1396bde2dc5SBin Meng bool "640x480 16.8M-color (8:8:8)" 1406bde2dc5SBin Meng 1416bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_113 1426bde2dc5SBin Meng bool "800x600 32k-color (1:5:5:5)" 1436bde2dc5SBin Meng 1446bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_114 1456bde2dc5SBin Meng bool "800x600 64k-color (5:6:5)" 1466bde2dc5SBin Meng 1476bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_115 1486bde2dc5SBin Meng bool "800x600 16.8M-color (8:8:8)" 1496bde2dc5SBin Meng 1506bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_116 1516bde2dc5SBin Meng bool "1024x768 32k-color (1:5:5:5)" 1526bde2dc5SBin Meng 1536bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_117 1546bde2dc5SBin Meng bool "1024x768 64k-color (5:6:5)" 1556bde2dc5SBin Meng 1566bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_118 1576bde2dc5SBin Meng bool "1024x768 16.8M-color (8:8:8)" 1586bde2dc5SBin Meng 1596bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_119 1606bde2dc5SBin Meng bool "1280x1024 32k-color (1:5:5:5)" 1616bde2dc5SBin Meng 1626bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_11A 1636bde2dc5SBin Meng bool "1280x1024 64k-color (5:6:5)" 1646bde2dc5SBin Meng 1656bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_11B 1666bde2dc5SBin Meng bool "1280x1024 16.8M-color (8:8:8)" 1676bde2dc5SBin Meng 1686bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_USER 1696bde2dc5SBin Meng bool "Manually select VESA mode" 1706bde2dc5SBin Meng 1716bde2dc5SBin Mengendchoice 1726bde2dc5SBin Meng 1736bde2dc5SBin Meng# Map the config names to an integer (KB). 1746bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE 1756bde2dc5SBin Meng prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER 1766bde2dc5SBin Meng hex 1776bde2dc5SBin Meng default 0x100 if FRAMEBUFFER_VESA_MODE_100 1786bde2dc5SBin Meng default 0x101 if FRAMEBUFFER_VESA_MODE_101 1796bde2dc5SBin Meng default 0x102 if FRAMEBUFFER_VESA_MODE_102 1806bde2dc5SBin Meng default 0x103 if FRAMEBUFFER_VESA_MODE_103 1816bde2dc5SBin Meng default 0x104 if FRAMEBUFFER_VESA_MODE_104 1826bde2dc5SBin Meng default 0x105 if FRAMEBUFFER_VESA_MODE_105 1836bde2dc5SBin Meng default 0x106 if FRAMEBUFFER_VESA_MODE_106 1846bde2dc5SBin Meng default 0x107 if FRAMEBUFFER_VESA_MODE_107 1856bde2dc5SBin Meng default 0x108 if FRAMEBUFFER_VESA_MODE_108 1866bde2dc5SBin Meng default 0x109 if FRAMEBUFFER_VESA_MODE_109 1876bde2dc5SBin Meng default 0x10A if FRAMEBUFFER_VESA_MODE_10A 1886bde2dc5SBin Meng default 0x10B if FRAMEBUFFER_VESA_MODE_10B 1896bde2dc5SBin Meng default 0x10C if FRAMEBUFFER_VESA_MODE_10C 1906bde2dc5SBin Meng default 0x10D if FRAMEBUFFER_VESA_MODE_10D 1916bde2dc5SBin Meng default 0x10E if FRAMEBUFFER_VESA_MODE_10E 1926bde2dc5SBin Meng default 0x10F if FRAMEBUFFER_VESA_MODE_10F 1936bde2dc5SBin Meng default 0x110 if FRAMEBUFFER_VESA_MODE_110 1946bde2dc5SBin Meng default 0x111 if FRAMEBUFFER_VESA_MODE_111 1956bde2dc5SBin Meng default 0x112 if FRAMEBUFFER_VESA_MODE_112 1966bde2dc5SBin Meng default 0x113 if FRAMEBUFFER_VESA_MODE_113 1976bde2dc5SBin Meng default 0x114 if FRAMEBUFFER_VESA_MODE_114 1986bde2dc5SBin Meng default 0x115 if FRAMEBUFFER_VESA_MODE_115 1996bde2dc5SBin Meng default 0x116 if FRAMEBUFFER_VESA_MODE_116 2006bde2dc5SBin Meng default 0x117 if FRAMEBUFFER_VESA_MODE_117 2016bde2dc5SBin Meng default 0x118 if FRAMEBUFFER_VESA_MODE_118 2026bde2dc5SBin Meng default 0x119 if FRAMEBUFFER_VESA_MODE_119 2036bde2dc5SBin Meng default 0x11A if FRAMEBUFFER_VESA_MODE_11A 2046bde2dc5SBin Meng default 0x11B if FRAMEBUFFER_VESA_MODE_11B 2056bde2dc5SBin Meng default 0x117 if FRAMEBUFFER_VESA_MODE_USER 2066bde2dc5SBin Meng 20766525bb7SHans de Goedeconfig VIDEO_LCD_ANX9804 20866525bb7SHans de Goede bool "ANX9804 bridge chip" 20966525bb7SHans de Goede default n 21066525bb7SHans de Goede ---help--- 21166525bb7SHans de Goede Support for the ANX9804 bridge chip, which can take pixel data coming 21266525bb7SHans de Goede from a parallel LCD interface and translate it on the fy into a DP 21366525bb7SHans de Goede interface for driving eDP TFT displays. It uses I2C for configuration. 21466525bb7SHans de Goede 215b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SSD2828 216b8329acfSSiarhei Siamashka bool "SSD2828 bridge chip" 217b8329acfSSiarhei Siamashka default n 218b8329acfSSiarhei Siamashka ---help--- 219b8329acfSSiarhei Siamashka Support for the SSD2828 bridge chip, which can take pixel data coming 220b8329acfSSiarhei Siamashka from a parallel LCD interface and translate it on the fly into MIPI DSI 221b8329acfSSiarhei Siamashka interface for driving a MIPI compatible LCD panel. It uses SPI for 222b8329acfSSiarhei Siamashka configuration. 223b8329acfSSiarhei Siamashka 224b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SSD2828_TX_CLK 225b8329acfSSiarhei Siamashka int "SSD2828 TX_CLK frequency (in MHz)" 226b8329acfSSiarhei Siamashka depends on VIDEO_LCD_SSD2828 227dddccd69SSiarhei Siamashka default 0 228b8329acfSSiarhei Siamashka ---help--- 229b8329acfSSiarhei Siamashka The frequency of the crystal, which is clocking SSD2828. It may be 230b8329acfSSiarhei Siamashka anything in the 8MHz-30MHz range and the exact value should be 231b8329acfSSiarhei Siamashka retrieved from the board schematics. Or in the case of Allwinner 232b8329acfSSiarhei Siamashka hardware, it can be usually found as 'lcd_xtal_freq' variable in 233dddccd69SSiarhei Siamashka FEX files. It can be also set to 0 for selecting PCLK from the 234dddccd69SSiarhei Siamashka parallel LCD interface instead of TX_CLK as the PLL clock source. 235b8329acfSSiarhei Siamashka 236b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SSD2828_RESET 237b8329acfSSiarhei Siamashka string "RESET pin of SSD2828" 238b8329acfSSiarhei Siamashka depends on VIDEO_LCD_SSD2828 239b8329acfSSiarhei Siamashka default "" 240b8329acfSSiarhei Siamashka ---help--- 241b8329acfSSiarhei Siamashka The reset pin of SSD2828 chip. This takes a string in the format 242b8329acfSSiarhei Siamashka understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 243b8329acfSSiarhei Siamashka 244a5464f2bSHans de Goedeconfig VIDEO_LCD_HITACHI_TX18D42VM 245a5464f2bSHans de Goede bool "Hitachi tx18d42vm LVDS LCD panel support" 246a5464f2bSHans de Goede depends on VIDEO 247a5464f2bSHans de Goede default n 248a5464f2bSHans de Goede ---help--- 249a5464f2bSHans de Goede Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a 250a5464f2bSHans de Goede lcd controller which needs to be initialized over SPI, once that is 251a5464f2bSHans de Goede done they work like a regular LVDS panel. 252a5464f2bSHans de Goede 253b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SPI_CS 254b8329acfSSiarhei Siamashka string "SPI CS pin for LCD related config job" 255a5464f2bSHans de Goede depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 256b8329acfSSiarhei Siamashka default "" 257b8329acfSSiarhei Siamashka ---help--- 258b8329acfSSiarhei Siamashka This is one of the SPI communication pins, involved in setting up a 259b8329acfSSiarhei Siamashka working LCD configuration. The exact role of SPI may differ for 260b8329acfSSiarhei Siamashka different hardware setups. The option takes a string in the format 261b8329acfSSiarhei Siamashka understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 262b8329acfSSiarhei Siamashka 263b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SPI_SCLK 264b8329acfSSiarhei Siamashka string "SPI SCLK pin for LCD related config job" 265a5464f2bSHans de Goede depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 266b8329acfSSiarhei Siamashka default "" 267b8329acfSSiarhei Siamashka ---help--- 268b8329acfSSiarhei Siamashka This is one of the SPI communication pins, involved in setting up a 269b8329acfSSiarhei Siamashka working LCD configuration. The exact role of SPI may differ for 270b8329acfSSiarhei Siamashka different hardware setups. The option takes a string in the format 271b8329acfSSiarhei Siamashka understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 272b8329acfSSiarhei Siamashka 273b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SPI_MOSI 274b8329acfSSiarhei Siamashka string "SPI MOSI pin for LCD related config job" 275a5464f2bSHans de Goede depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 276b8329acfSSiarhei Siamashka default "" 277b8329acfSSiarhei Siamashka ---help--- 278b8329acfSSiarhei Siamashka This is one of the SPI communication pins, involved in setting up a 279b8329acfSSiarhei Siamashka working LCD configuration. The exact role of SPI may differ for 280b8329acfSSiarhei Siamashka different hardware setups. The option takes a string in the format 281b8329acfSSiarhei Siamashka understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 282b8329acfSSiarhei Siamashka 283b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SPI_MISO 284b8329acfSSiarhei Siamashka string "SPI MISO pin for LCD related config job (optional)" 285b8329acfSSiarhei Siamashka depends on VIDEO_LCD_SSD2828 286b8329acfSSiarhei Siamashka default "" 287b8329acfSSiarhei Siamashka ---help--- 288b8329acfSSiarhei Siamashka This is one of the SPI communication pins, involved in setting up a 289b8329acfSSiarhei Siamashka working LCD configuration. The exact role of SPI may differ for 290b8329acfSSiarhei Siamashka different hardware setups. If wired up, this pin may provide additional 291b8329acfSSiarhei Siamashka useful functionality. Such as bi-directional communication with the 292b8329acfSSiarhei Siamashka hardware and LCD panel id retrieval (if the panel can report it). The 293b8329acfSSiarhei Siamashka option takes a string in the format understood by 'name_to_gpio' 294b8329acfSSiarhei Siamashka function, e.g. PH1 for pin 1 of port H. 29551f2c99eSSimon Glass 296*2dcf1433SSimon Glassconfig DISPLAY 297*2dcf1433SSimon Glass bool "Enable Display support" 298*2dcf1433SSimon Glass depends on DM 299*2dcf1433SSimon Glass default y 30051f2c99eSSimon Glass help 301*2dcf1433SSimon Glass This supports drivers that provide a display, such as eDP (Embedded 302*2dcf1433SSimon Glass DisplayPort) and HDMI (High Definition Multimedia Interface). 303*2dcf1433SSimon Glass The devices provide a simple interface to start up the display, 304*2dcf1433SSimon Glass read display information and enable it. 305e7e8823cSSimon Glass 3061e69ad01SSimon Glassconfig VIDEO_SANDBOX_SDL 3071e69ad01SSimon Glass bool "Enable sandbox video console using SDL" 3081e69ad01SSimon Glass depends on SANDBOX 3091e69ad01SSimon Glass help 3101e69ad01SSimon Glass When using sandbox you can enable an emulated LCD display which 3111e69ad01SSimon Glass appears as an SDL (Simple DirectMedia Layer) window. This is a 3121e69ad01SSimon Glass console device and can display stdout output. Within U-Boot is is 3131e69ad01SSimon Glass a normal bitmap display and can display images as well as text. 3141e69ad01SSimon Glass 315e7e8823cSSimon Glassconfig VIDEO_TEGRA124 316e7e8823cSSimon Glass bool "Enable video support on Tegra124" 317e7e8823cSSimon Glass help 318e7e8823cSSimon Glass Tegra124 supports many video output options including eDP and 319e7e8823cSSimon Glass HDMI. At present only eDP is supported by U-Boot. This option 320e7e8823cSSimon Glass enables this support which can be used on devices which 321e7e8823cSSimon Glass have an eDP display connected. 322801ab9e9SSimon Glass 323801ab9e9SSimon Glasssource "drivers/video/bridge/Kconfig" 3240b11dbf7SMasahiro Yamada 3250b11dbf7SMasahiro Yamadaendmenu 326