1# 2# Video configuration 3# 4 5menu "Graphics support" 6 7config DM_VIDEO 8 bool "Enable driver model support for LCD/video" 9 depends on DM 10 help 11 This enables driver model for LCD and video devices. These support 12 a bitmap display of various sizes and depths which can be drawn on 13 to display a command-line console or splash screen. Enabling this 14 option compiles in the video uclass and routes all LCD/video access 15 through this. 16 17config VIDEO_BPP8 18 bool "Support 8-bit-per-pixel displays" 19 depends on DM_VIDEO 20 default y if DM_VIDEO 21 help 22 Support drawing text and bitmaps onto a 8-bit-per-pixel display. 23 Enabling this will include code to support this display. Without 24 this option, such displays will not be supported and console output 25 will be empty. 26 27config VIDEO_BPP16 28 bool "Support 16-bit-per-pixel displays" 29 depends on DM_VIDEO 30 default y if DM_VIDEO 31 help 32 Support drawing text and bitmaps onto a 16-bit-per-pixel display. 33 Enabling this will include code to support this display. Without 34 this option, such displays will not be supported and console output 35 will be empty. 36 37config VIDEO_BPP32 38 bool "Support 32-bit-per-pixel displays" 39 depends on DM_VIDEO 40 default y if DM_VIDEO 41 help 42 Support drawing text and bitmaps onto a 32-bit-per-pixel display. 43 Enabling this will include code to support this display. Without 44 this option, such displays will not be supported and console output 45 will be empty. 46 47config CONSOLE_NORMAL 48 bool "Support a simple text console" 49 depends on DM_VIDEO 50 default y if DM_VIDEO 51 help 52 Support drawing text on the frame buffer console so that it can be 53 used as a console. Rotation is not supported by this driver (see 54 CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used 55 for the display. 56 57config CONSOLE_ROTATION 58 bool "Support rotated displays" 59 depends on DM_VIDEO 60 help 61 Sometimes, for example if the display is mounted in portrait 62 mode or even if it's mounted landscape but rotated by 180degree, 63 we need to rotate our content of the display relative to the 64 framebuffer, so that user can read the messages which are 65 printed out. Enable this option to include a text driver which can 66 support this. The rotation is set by the 'rot' parameter in 67 struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180 68 degrees, 3=270 degrees. 69 70config CONSOLE_TRUETYPE 71 bool "Support a console that uses TrueType fonts" 72 depends on DM_VIDEO 73 help 74 TrueTrype fonts can provide outline-drawing capability rather than 75 needing to provide a bitmap for each font and size that is needed. 76 With this option you can adjust the text size and use a variety of 77 fonts. Note that this is noticeably slower than with normal console. 78 79config CONSOLE_TRUETYPE_SIZE 80 int "TrueType font size" 81 depends on CONSOLE_TRUETYPE 82 default 18 83 help 84 This sets the font size for the console. The size is measured in 85 pixels and is the nominal height of a character. Note that fonts 86 are commonly measured in 'points', being 1/72 inch (about 3.52mm). 87 However that measurement depends on the size of your display and 88 there is no standard display density. At present there is not a 89 method to select the display's physical size, which would allow 90 U-Boot to calculate the correct font size. 91 92config SYS_WHITE_ON_BLACK 93 bool "Display console as white on a black background" 94 default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || TEGRA || X86 95 help 96 Normally the display is black on a white background, Enable this 97 option to invert this, i.e. white on a black background. This can be 98 better in low-light situations or to reduce eye strain in some 99 cases. 100 101source "drivers/video/fonts/Kconfig" 102 103config VIDCONSOLE_AS_LCD 104 bool "Use 'vidconsole' when 'lcd' is seen in stdout" 105 depends on DM_VIDEO 106 help 107 This is a work-around for boards which have 'lcd' in their stdout 108 environment variable, but have moved to use driver model for video. 109 In this case the console will no-longer work. While it is possible 110 to update the environment, the breakage may be confusing for users. 111 This option will be removed around the end of 2016. 112 113config VIDEO_COREBOOT 114 bool "Enable coreboot framebuffer driver support" 115 depends on X86 && SYS_COREBOOT 116 help 117 Turn on this option to enable a framebuffer driver when U-Boot is 118 loaded by coreboot where the graphics device is configured by 119 coreboot already. This can in principle be used with any platform 120 that coreboot supports. 121 122config VIDEO_VESA 123 bool "Enable VESA video driver support" 124 default n 125 help 126 Turn on this option to enable a very simple driver which uses vesa 127 to discover the video mode and then provides a frame buffer for use 128 by U-Boot. This can in principle be used with any platform that 129 supports PCI and video cards that support VESA BIOS Extension (VBE). 130 131config FRAMEBUFFER_SET_VESA_MODE 132 bool "Set framebuffer graphics resolution" 133 depends on VIDEO_VESA || VIDEO_BROADWELL_IGD 134 help 135 Set VESA/native framebuffer mode (needed for bootsplash and graphical 136 framebuffer console) 137 138choice 139 prompt "framebuffer graphics resolution" 140 default FRAMEBUFFER_VESA_MODE_117 141 depends on FRAMEBUFFER_SET_VESA_MODE 142 help 143 This option sets the resolution used for the U-Boot framebuffer (and 144 bootsplash screen). 145 146config FRAMEBUFFER_VESA_MODE_100 147 bool "640x400 256-color" 148 149config FRAMEBUFFER_VESA_MODE_101 150 bool "640x480 256-color" 151 152config FRAMEBUFFER_VESA_MODE_102 153 bool "800x600 16-color" 154 155config FRAMEBUFFER_VESA_MODE_103 156 bool "800x600 256-color" 157 158config FRAMEBUFFER_VESA_MODE_104 159 bool "1024x768 16-color" 160 161config FRAMEBUFFER_VESA_MODE_105 162 bool "1024x768 256-color" 163 164config FRAMEBUFFER_VESA_MODE_106 165 bool "1280x1024 16-color" 166 167config FRAMEBUFFER_VESA_MODE_107 168 bool "1280x1024 256-color" 169 170config FRAMEBUFFER_VESA_MODE_108 171 bool "80x60 text" 172 173config FRAMEBUFFER_VESA_MODE_109 174 bool "132x25 text" 175 176config FRAMEBUFFER_VESA_MODE_10A 177 bool "132x43 text" 178 179config FRAMEBUFFER_VESA_MODE_10B 180 bool "132x50 text" 181 182config FRAMEBUFFER_VESA_MODE_10C 183 bool "132x60 text" 184 185config FRAMEBUFFER_VESA_MODE_10D 186 bool "320x200 32k-color (1:5:5:5)" 187 188config FRAMEBUFFER_VESA_MODE_10E 189 bool "320x200 64k-color (5:6:5)" 190 191config FRAMEBUFFER_VESA_MODE_10F 192 bool "320x200 16.8M-color (8:8:8)" 193 194config FRAMEBUFFER_VESA_MODE_110 195 bool "640x480 32k-color (1:5:5:5)" 196 197config FRAMEBUFFER_VESA_MODE_111 198 bool "640x480 64k-color (5:6:5)" 199 200config FRAMEBUFFER_VESA_MODE_112 201 bool "640x480 16.8M-color (8:8:8)" 202 203config FRAMEBUFFER_VESA_MODE_113 204 bool "800x600 32k-color (1:5:5:5)" 205 206config FRAMEBUFFER_VESA_MODE_114 207 bool "800x600 64k-color (5:6:5)" 208 209config FRAMEBUFFER_VESA_MODE_115 210 bool "800x600 16.8M-color (8:8:8)" 211 212config FRAMEBUFFER_VESA_MODE_116 213 bool "1024x768 32k-color (1:5:5:5)" 214 215config FRAMEBUFFER_VESA_MODE_117 216 bool "1024x768 64k-color (5:6:5)" 217 218config FRAMEBUFFER_VESA_MODE_118 219 bool "1024x768 16.8M-color (8:8:8)" 220 221config FRAMEBUFFER_VESA_MODE_119 222 bool "1280x1024 32k-color (1:5:5:5)" 223 224config FRAMEBUFFER_VESA_MODE_11A 225 bool "1280x1024 64k-color (5:6:5)" 226 227config FRAMEBUFFER_VESA_MODE_11B 228 bool "1280x1024 16.8M-color (8:8:8)" 229 230config FRAMEBUFFER_VESA_MODE_USER 231 bool "Manually select VESA mode" 232 233endchoice 234 235# Map the config names to an integer (KB). 236config FRAMEBUFFER_VESA_MODE 237 prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER 238 hex 239 default 0x100 if FRAMEBUFFER_VESA_MODE_100 240 default 0x101 if FRAMEBUFFER_VESA_MODE_101 241 default 0x102 if FRAMEBUFFER_VESA_MODE_102 242 default 0x103 if FRAMEBUFFER_VESA_MODE_103 243 default 0x104 if FRAMEBUFFER_VESA_MODE_104 244 default 0x105 if FRAMEBUFFER_VESA_MODE_105 245 default 0x106 if FRAMEBUFFER_VESA_MODE_106 246 default 0x107 if FRAMEBUFFER_VESA_MODE_107 247 default 0x108 if FRAMEBUFFER_VESA_MODE_108 248 default 0x109 if FRAMEBUFFER_VESA_MODE_109 249 default 0x10A if FRAMEBUFFER_VESA_MODE_10A 250 default 0x10B if FRAMEBUFFER_VESA_MODE_10B 251 default 0x10C if FRAMEBUFFER_VESA_MODE_10C 252 default 0x10D if FRAMEBUFFER_VESA_MODE_10D 253 default 0x10E if FRAMEBUFFER_VESA_MODE_10E 254 default 0x10F if FRAMEBUFFER_VESA_MODE_10F 255 default 0x110 if FRAMEBUFFER_VESA_MODE_110 256 default 0x111 if FRAMEBUFFER_VESA_MODE_111 257 default 0x112 if FRAMEBUFFER_VESA_MODE_112 258 default 0x113 if FRAMEBUFFER_VESA_MODE_113 259 default 0x114 if FRAMEBUFFER_VESA_MODE_114 260 default 0x115 if FRAMEBUFFER_VESA_MODE_115 261 default 0x116 if FRAMEBUFFER_VESA_MODE_116 262 default 0x117 if FRAMEBUFFER_VESA_MODE_117 263 default 0x118 if FRAMEBUFFER_VESA_MODE_118 264 default 0x119 if FRAMEBUFFER_VESA_MODE_119 265 default 0x11A if FRAMEBUFFER_VESA_MODE_11A 266 default 0x11B if FRAMEBUFFER_VESA_MODE_11B 267 default 0x117 if FRAMEBUFFER_VESA_MODE_USER 268 269config VIDEO_LCD_ANX9804 270 bool "ANX9804 bridge chip" 271 default n 272 ---help--- 273 Support for the ANX9804 bridge chip, which can take pixel data coming 274 from a parallel LCD interface and translate it on the fy into a DP 275 interface for driving eDP TFT displays. It uses I2C for configuration. 276 277config VIDEO_LCD_SSD2828 278 bool "SSD2828 bridge chip" 279 default n 280 ---help--- 281 Support for the SSD2828 bridge chip, which can take pixel data coming 282 from a parallel LCD interface and translate it on the fly into MIPI DSI 283 interface for driving a MIPI compatible LCD panel. It uses SPI for 284 configuration. 285 286config VIDEO_LCD_SSD2828_TX_CLK 287 int "SSD2828 TX_CLK frequency (in MHz)" 288 depends on VIDEO_LCD_SSD2828 289 default 0 290 ---help--- 291 The frequency of the crystal, which is clocking SSD2828. It may be 292 anything in the 8MHz-30MHz range and the exact value should be 293 retrieved from the board schematics. Or in the case of Allwinner 294 hardware, it can be usually found as 'lcd_xtal_freq' variable in 295 FEX files. It can be also set to 0 for selecting PCLK from the 296 parallel LCD interface instead of TX_CLK as the PLL clock source. 297 298config VIDEO_LCD_SSD2828_RESET 299 string "RESET pin of SSD2828" 300 depends on VIDEO_LCD_SSD2828 301 default "" 302 ---help--- 303 The reset pin of SSD2828 chip. This takes a string in the format 304 understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 305 306config VIDEO_LCD_HITACHI_TX18D42VM 307 bool "Hitachi tx18d42vm LVDS LCD panel support" 308 depends on VIDEO 309 default n 310 ---help--- 311 Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a 312 lcd controller which needs to be initialized over SPI, once that is 313 done they work like a regular LVDS panel. 314 315config VIDEO_LCD_SPI_CS 316 string "SPI CS pin for LCD related config job" 317 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 318 default "" 319 ---help--- 320 This is one of the SPI communication pins, involved in setting up a 321 working LCD configuration. The exact role of SPI may differ for 322 different hardware setups. The option takes a string in the format 323 understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 324 325config VIDEO_LCD_SPI_SCLK 326 string "SPI SCLK pin for LCD related config job" 327 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 328 default "" 329 ---help--- 330 This is one of the SPI communication pins, involved in setting up a 331 working LCD configuration. The exact role of SPI may differ for 332 different hardware setups. The option takes a string in the format 333 understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 334 335config VIDEO_LCD_SPI_MOSI 336 string "SPI MOSI pin for LCD related config job" 337 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 338 default "" 339 ---help--- 340 This is one of the SPI communication pins, involved in setting up a 341 working LCD configuration. The exact role of SPI may differ for 342 different hardware setups. The option takes a string in the format 343 understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 344 345config VIDEO_LCD_SPI_MISO 346 string "SPI MISO pin for LCD related config job (optional)" 347 depends on VIDEO_LCD_SSD2828 348 default "" 349 ---help--- 350 This is one of the SPI communication pins, involved in setting up a 351 working LCD configuration. The exact role of SPI may differ for 352 different hardware setups. If wired up, this pin may provide additional 353 useful functionality. Such as bi-directional communication with the 354 hardware and LCD panel id retrieval (if the panel can report it). The 355 option takes a string in the format understood by 'name_to_gpio' 356 function, e.g. PH1 for pin 1 of port H. 357 358config VIDEO_MVEBU 359 bool "Armada XP LCD controller" 360 default n 361 ---help--- 362 Support for the LCD controller integrated in the Marvell 363 Armada XP SoC. 364 365config I2C_EDID 366 bool "Enable EDID library" 367 depends on DM_I2C 368 default n 369 help 370 This enables library for accessing EDID data from an LCD panel. 371 372config DISPLAY 373 bool "Enable Display support" 374 depends on DM 375 default n 376 select I2C_EDID 377 help 378 This supports drivers that provide a display, such as eDP (Embedded 379 DisplayPort) and HDMI (High Definition Multimedia Interface). 380 The devices provide a simple interface to start up the display, 381 read display information and enable it. 382 383config ATMEL_HLCD 384 bool "Enable ATMEL video support using HLCDC" 385 depends on DM_VIDEO 386 help 387 HLCDC supports video output to an attached LCD panel. 388 389config VIDEO_BROADWELL_IGD 390 bool "Enable Intel Broadwell integrated graphics device" 391 depends on X86 392 help 393 This enables support for integrated graphics on Intel broadwell 394 devices. Initialisation is mostly performed by a VGA boot ROM, with 395 some setup handled by U-Boot itself. The graphics adaptor works as 396 a VESA device and supports LCD panels, eDP and LVDS outputs. 397 Configuration of most aspects of device operation is performed using 398 a special tool which configures the VGA ROM, but the graphics 399 resolution can be selected in U-Boot. 400 401config VIDEO_IVYBRIDGE_IGD 402 bool "Enable Intel Ivybridge integration graphics support" 403 depends on X86 404 help 405 This enables support for integrated graphics on Intel ivybridge 406 devices. Initialisation is mostly performed by a VGA boot ROM, with 407 some setup handled by U-Boot itself. The graphics adaptor works as 408 a VESA device and supports LCD panels, eDP and LVDS outputs. 409 Configuration of most aspects of device operation is performed using 410 a special tool which configures the VGA ROM, but the graphics 411 resolution can be selected in U-Boot. 412 413config VIDEO_FSL_DCU_FB 414 bool "Enable Freescale Display Control Unit" 415 depends on VIDEO 416 help 417 This enables support for Freescale Display Control Unit (DCU4) 418 module found on Freescale Vybrid and QorIQ family of SoCs. 419 420config VIDEO_FSL_DCU_MAX_FB_SIZE_MB 421 int "Freescale DCU framebuffer size" 422 depends on VIDEO_FSL_DCU_FB 423 default 4194304 424 help 425 Set maximum framebuffer size to be used for Freescale Display 426 Controller Unit (DCU4). 427 428source "drivers/video/rockchip/Kconfig" 429 430config VIDEO_SANDBOX_SDL 431 bool "Enable sandbox video console using SDL" 432 depends on SANDBOX 433 help 434 When using sandbox you can enable an emulated LCD display which 435 appears as an SDL (Simple DirectMedia Layer) window. This is a 436 console device and can display stdout output. Within U-Boot is is 437 a normal bitmap display and can display images as well as text. 438 439config VIDEO_TEGRA20 440 bool "Enable LCD support on Tegra20" 441 depends on OF_CONTROL 442 help 443 Tegra20 supports video output to an attached LCD panel as well as 444 other options such as HDMI. Only the LCD is supported in U-Boot. 445 This option enables this support which can be used on devices which 446 have an LCD display connected. 447 448config VIDEO_TEGRA124 449 bool "Enable video support on Tegra124" 450 depends on DM_VIDEO 451 help 452 Tegra124 supports many video output options including eDP and 453 HDMI. At present only eDP is supported by U-Boot. This option 454 enables this support which can be used on devices which 455 have an eDP display connected. 456 457source "drivers/video/bridge/Kconfig" 458 459config VIDEO 460 bool "Enable legacy video support" 461 depends on !DM_VIDEO 462 help 463 Define this for video support, without using driver model. Some 464 drivers use this because they are not yet converted to driver 465 model. Video drivers typically provide a colour text console and 466 cursor. 467 468config VIDEO_IPUV3 469 bool "i.MX IPUv3 Core video support" 470 depends on VIDEO && MX6 471 help 472 This enables framebuffer driver for i.MX processors working 473 on the IPUv3(Image Processing Unit) internal graphic processor. 474 475config CFB_CONSOLE 476 bool "Enable colour frame buffer console" 477 depends on VIDEO 478 default y if VIDEO 479 help 480 Enables the colour frame buffer driver. This supports colour 481 output on a bitmap display from an in-memory frame buffer. 482 Several colour devices are supported along with various options to 483 adjust the supported features. The driver is implemented in 484 cfb_console.c 485 486 The following defines are needed (cf. smiLynxEM, i8042) 487 VIDEO_FB_LITTLE_ENDIAN graphic memory organisation 488 (default big endian) 489 VIDEO_HW_RECTFILL graphic chip supports 490 rectangle fill (cf. smiLynxEM) 491 VIDEO_HW_BITBLT graphic chip supports 492 bit-blit (cf. smiLynxEM) 493 VIDEO_VISIBLE_COLS visible pixel columns (cols=pitch) 494 VIDEO_VISIBLE_ROWS visible pixel rows 495 VIDEO_PIXEL_SIZE bytes per pixel 496 VIDEO_DATA_FORMAT graphic data format 497 (0-5, cf. cfb_console.c) 498 VIDEO_FB_ADRS framebuffer address 499 VIDEO_KBD_INIT_FCT keyboard int fct (i.e. rx51_kp_init()) 500 VIDEO_TSTC_FCT test char fct (i.e. rx51_kp_tstc) 501 VIDEO_GETC_FCT get char fct (i.e. rx51_kp_getc) 502 CONFIG_VIDEO_LOGO display Linux logo in upper left corner 503 CONFIG_VIDEO_BMP_LOGO use bmp_logo.h instead of linux_logo.h 504 for logo. Requires CONFIG_VIDEO_LOGO 505 CONFIG_CONSOLE_EXTRA_INFO 506 additional board info beside 507 the logo 508 CONFIG_HIDE_LOGO_VERSION 509 do not display bootloader 510 version string 511 512 When CONFIG_CFB_CONSOLE is defined, the video console is the 513 default console. The serial console can be forced by setting the 514 environment 'console=serial'. 515 516config CFB_CONSOLE_ANSI 517 bool "Support ANSI escape sequences" 518 depends on CFB_CONSOLE 519 help 520 This allows the colour buffer frame buffer driver to support 521 a limited number of ANSI escape sequences (cursor control, 522 erase functions and limited graphics rendition control). Normal 523 output from U-Boot will pass through this filter. 524 525config VGA_AS_SINGLE_DEVICE 526 bool "Set the video as an output-only device" 527 depends on CFB_CONSOLE 528 default y 529 help 530 If enable the framebuffer device will be initialized as an 531 output-only device. The Keyboard driver will not be set up. This 532 may be used if you have no keyboard device, or more than one 533 (USB Keyboard, AT Keyboard). 534 535config VIDEO_SW_CURSOR 536 bool "Enable a software cursor" 537 depends on CFB_CONSOLE 538 default y if CFB_CONSOLE 539 help 540 This draws a cursor after the last character. No blinking is 541 provided. This makes it possible to see the current cursor 542 position when entering text on the console. It is recommended to 543 enable this. 544 545config CONSOLE_EXTRA_INFO 546 bool "Display additional board information" 547 depends on CFB_CONSOLE 548 help 549 Display additional board information strings that normally go to 550 the serial port. When this option is enabled, a board-specific 551 function video_get_info_str() is called to get the string for 552 each line of the display. The function should return the string, 553 which can be empty if there is nothing to display for that line. 554 555config CONSOLE_SCROLL_LINES 556 int "Number of lines to scroll the console by" 557 depends on CFB_CONSOLE || DM_VIDEO || LCD 558 default 1 559 help 560 When the console need to be scrolled, this is the number of 561 lines to scroll by. It defaults to 1. Increasing this makes the 562 console jump but can help speed up operation when scrolling 563 is slow. 564 565config SYS_CONSOLE_BG_COL 566 hex "Background colour" 567 depends on CFB_CONSOLE 568 default 0x00 569 help 570 Defines the background colour for the console. The value is from 571 0x00 to 0xff and the meaning depends on the graphics card. 572 Typically, 0x00 means black and 0xff means white. Do not set 573 the background and foreground to the same colour or you will see 574 nothing. 575 576config SYS_CONSOLE_FG_COL 577 hex "Foreground colour" 578 depends on CFB_CONSOLE 579 default 0xa0 580 help 581 Defines the foreground colour for the console. The value is from 582 0x00 to 0xff and the meaning depends on the graphics card. 583 Typically, 0x00 means black and 0xff means white. Do not set 584 the background and foreground to the same colour or you will see 585 nothing. 586 587config LCD 588 bool "Enable legacy LCD support" 589 help 590 Define this to enable LCD support (for output to LCD display). 591 You will also need to select an LCD driver using an additional 592 CONFIG option. See the README for details. Drives which have been 593 converted to driver model will instead used CONFIG_DM_VIDEO. 594 595config VIDEO_DW_HDMI 596 bool 597 help 598 Enables the common driver code for the Designware HDMI TX 599 block found in SoCs from various vendors. 600 As this does not provide any functionality by itself (but 601 rather requires a SoC-specific glue driver to call it), it 602 can not be enabled from the configuration menu. 603 604endmenu 605