1# 2# Video configuration 3# 4 5menu "Graphics support" 6 7config 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 17if VIDEO 18 19config VIDEO_FONT_4X6 20 bool "4 x 6 font size" 21 help 22 Font for video console driver, 4 x 6 pixels. 23 Provides character bitmap data in header file. 24 When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too. 25 26config VIDEO_FONT_8X16 27 bool "8 x 16 font size" 28 default y 29 help 30 Font for video console driver, 8 x 16 pixels 31 Provides character bitmap data in header file. 32 When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too. 33 34config VIDEO_FONT_SUN12X22 35 bool "12 x 22 font size" 36 help 37 Font for video console driver, 12 x 22 pixels 38 Provides character bitmap data in header file. 39 When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too. 40 41config VIDEO_FONT_16X32 42 bool "16 x 32 font size" 43 help 44 Font for video console driver, 16 x 32 pixels 45 Provides character bitmap data in header file. 46 When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too. 47 48config VIDEO_LOGO 49 bool "Show the U-Boot logo on the display" 50 default y if !SPLASH_SCREEN 51 select VIDEO_BMP_RLE8 52 help 53 This enables showing the U-Boot logo on the display when a video 54 device is probed. It appears at the top right. The logo itself is at 55 tools/logos/u-boot_logo.bmp and looks best when the display has a 56 black background. 57 58config BACKLIGHT 59 bool "Enable panel backlight uclass support" 60 default y 61 help 62 This provides backlight uclass driver that enables basic panel 63 backlight support. 64 65config VIDEO_PCI_DEFAULT_FB_SIZE 66 hex "Default framebuffer size to use if no drivers request it" 67 default 0x1000000 if X86 && PCI 68 default 0 if !(X86 && PCI) 69 help 70 Generally, video drivers request the amount of memory they need for 71 the frame buffer when they are bound, by setting the size field in 72 struct video_uc_plat. That memory is then reserved for use after 73 relocation. But PCI drivers cannot be bound before relocation unless 74 they are mentioned in the devicetree. 75 76 With this value set appropriately, it is possible for PCI video 77 devices to have a framebuffer allocated by U-Boot. 78 79 Note: the framebuffer needs to be large enough to store all pixels at 80 maximum resolution. For example, at 1920 x 1200 with 32 bits per 81 pixel, 2560 * 1600 * 32 / 8 = 0xfa0000 bytes are needed. 82 83config VIDEO_COPY 84 bool "Enable copying the frame buffer to a hardware copy" 85 help 86 On some machines (e.g. x86), reading from the frame buffer is very 87 slow because it is uncached. To improve performance, this feature 88 allows the frame buffer to be kept in cached memory (allocated by 89 U-Boot) and then copied to the hardware frame-buffer as needed. 90 91 To use this, your video driver must set @copy_base in 92 struct video_uc_plat. 93 94config BACKLIGHT_PWM 95 bool "Generic PWM based Backlight Driver" 96 depends on BACKLIGHT && DM_PWM 97 default y 98 help 99 If you have a LCD backlight adjustable by PWM, say Y to enable 100 this driver. 101 This driver can be use with "simple-panel" and 102 it understands the standard device tree 103 (leds/backlight/pwm-backlight.txt) 104 105config BACKLIGHT_GPIO 106 bool "Generic GPIO based Backlight Driver" 107 depends on BACKLIGHT 108 help 109 If you have a LCD backlight adjustable by GPIO, say Y to enable 110 this driver. 111 This driver can be used with "simple-panel" and 112 it understands the standard device tree 113 (leds/backlight/gpio-backlight.txt) 114 115config VIDEO_BPP8 116 bool "Support 8-bit-per-pixel displays" 117 default y 118 help 119 Support drawing text and bitmaps onto a 8-bit-per-pixel display. 120 Enabling this will include code to support this display. Without 121 this option, such displays will not be supported and console output 122 will be empty. 123 124config VIDEO_BPP16 125 bool "Support 16-bit-per-pixel displays" 126 default y 127 help 128 Support drawing text and bitmaps onto a 16-bit-per-pixel display. 129 Enabling this will include code to support this display. Without 130 this option, such displays will not be supported and console output 131 will be empty. 132 133config VIDEO_BPP32 134 bool "Support 32-bit-per-pixel displays" 135 default y 136 help 137 Support drawing text and bitmaps onto a 32-bit-per-pixel display. 138 Enabling this will include code to support this display. Without 139 this option, such displays will not be supported and console output 140 will be empty. 141 142config VIDEO_ANSI 143 bool "Support ANSI escape sequences in video console" 144 default y if EFI_LOADER 145 help 146 Enable ANSI escape sequence decoding for a more fully functional 147 console. Functionality includes changing the text colour and moving 148 the cursor. These date from the 1970s and are still widely used today 149 to control a text terminal. U-Boot implements these by decoding the 150 sequences and performing the appropriate operation. 151 152config VIDEO_MIPI_DSI 153 bool "Support MIPI DSI interface" 154 help 155 Support MIPI DSI interface for driving a MIPI compatible device. 156 The MIPI Display Serial Interface (MIPI DSI) defines a high-speed 157 serial interface between a host processor and a display module. 158 159config CONSOLE_NORMAL 160 bool "Support a simple text console" 161 default y 162 help 163 Support drawing text on the frame buffer console so that it can be 164 used as a console. Rotation is not supported by this driver (see 165 CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used 166 for the display. 167 168config CONSOLE_ROTATION 169 bool "Support rotated displays" 170 help 171 Sometimes, for example if the display is mounted in portrait 172 mode or even if it's mounted landscape but rotated by 180degree, 173 we need to rotate our content of the display relative to the 174 framebuffer, so that user can read the messages which are 175 printed out. Enable this option to include a text driver which can 176 support this. The rotation is set by the 'rot' parameter in 177 struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180 178 degrees, 3=270 degrees. 179 180config CONSOLE_TRUETYPE 181 bool "Support a console that uses TrueType fonts" 182 select CMD_SELECT_FONT 183 help 184 TrueTrype fonts can provide outline-drawing capability rather than 185 needing to provide a bitmap for each font and size that is needed. 186 With this option you can adjust the text size and use a variety of 187 fonts. Note that this is noticeably slower than with normal console. 188 189config CONSOLE_TRUETYPE_SIZE 190 int "TrueType font size" 191 depends on CONSOLE_TRUETYPE 192 default 18 193 help 194 This sets the font size for the console. The size is measured in 195 pixels and is the nominal height of a character. Note that fonts 196 are commonly measured in 'points', being 1/72 inch (about 3.52mm). 197 However that measurement depends on the size of your display and 198 there is no standard display density. At present there is not a 199 method to select the display's physical size, which would allow 200 U-Boot to calculate the correct font size. 201 202config CONSOLE_TRUETYPE_MAX_METRICS 203 int "TrueType maximum number of font / size combinations" 204 depends on CONSOLE_TRUETYPE 205 default 10 if EXPO 206 default 1 207 help 208 This sets the number of font / size combinations which can be used by 209 the console. For simple console use a single font is enough. When 210 boot menus are in use, this may need to be increased. 211 212 Note that a separate entry is needed for each font size, even if the 213 font itself is the same. This is because the entry caches various 214 font metrics which are expensive to regenerate each time the font 215 size changes. 216 217config SYS_WHITE_ON_BLACK 218 bool "Display console as white on a black background" 219 default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || ARCH_TEGRA || X86 || ARCH_SUNXI 220 help 221 Normally the display is black on a white background, Enable this 222 option to invert this, i.e. white on a black background. This can be 223 better in low-light situations or to reduce eye strain in some 224 cases. 225 226config NO_FB_CLEAR 227 bool "Skip framebuffer clear" 228 help 229 If firmware (whatever loads u-boot) has already put a splash image 230 on screen, you might want to preserve it until whatever u-boot 231 loads takes over the screen. This, for example, can be used to 232 keep splash image on screen until grub graphical boot menu starts. 233 234config PANEL 235 bool "Enable panel uclass support" 236 default y 237 help 238 This provides panel uclass driver that enables basic panel support. 239 240config SIMPLE_PANEL 241 bool "Enable simple panel support" 242 depends on PANEL && BACKLIGHT && DM_GPIO 243 default y 244 help 245 This turns on a simple panel driver that enables a compatible 246 video panel. 247 248config PANEL_HX8238D 249 bool "Enable Himax HX-8238D LCD driver" 250 depends on PANEL 251 help 252 Support for HX-8238D LCD Panel 253 The HX8238-D is a single chip controller and driver LSI that 254 integrates the power circuit. 255 It can drive a maximum 960x240 dot graphics on a-TFT panel 256 displays in 16M colors with dithering. 257 258source "drivers/video/fonts/Kconfig" 259 260config VIDCONSOLE_AS_LCD 261 bool "Use 'vidconsole' when CONFIG_VIDCONSOLE_AS_NAME string is seen in stdout" 262 help 263 This is a work-around for boards which have 'lcd' or 'vga' in their 264 stdout environment variable, but have moved to use driver model for 265 video. In this case the console will no-longer work. While it is 266 possible to update the environment, the breakage may be confusing for 267 users. This option will be removed around the end of 2020. 268 269config VIDCONSOLE_AS_NAME 270 string "Use 'vidconsole' when string defined here is seen in stdout" 271 depends on VIDCONSOLE_AS_LCD 272 default "lcd" if LCD || TEGRA_COMMON 273 default "vga" if !LCD 274 help 275 This is a work-around for boards which have 'lcd' or 'vga' in their 276 stdout environment variable, but have moved to use driver model for 277 video. In this case the console will no-longer work. While it is 278 possible to update the environment, the breakage may be confusing for 279 users. This option will be removed around the end of 2020. 280 281config VIDEO_COREBOOT 282 bool "Enable coreboot framebuffer driver support" 283 depends on X86 284 help 285 Turn on this option to enable a framebuffer driver when U-Boot is 286 loaded by coreboot where the graphics device is configured by 287 coreboot already. This can in principle be used with any platform 288 that coreboot supports. 289 290config VIDEO_EFI 291 bool "Enable EFI framebuffer driver support" 292 depends on EFI_STUB || EFI_APP 293 help 294 Turn on this option to enable a framebuffeer driver when U-Boot is 295 loaded as a payload (see README.u-boot_on_efi) by an EFI BIOS where 296 the graphics device is configured by the EFI BIOS already. This can 297 in principle be used with any platform that has an EFI BIOS. 298 299config VIDEO_VESA 300 bool "Enable VESA video driver support" 301 help 302 Turn on this option to enable a very simple driver which uses vesa 303 to discover the video mode and then provides a frame buffer for use 304 by U-Boot. This can in principle be used with any platform that 305 supports PCI and video cards that support VESA BIOS Extension (VBE). 306 307config FRAMEBUFFER_SET_VESA_MODE 308 bool "Set framebuffer graphics resolution" 309 depends on VIDEO_VESA || VIDEO_BROADWELL_IGD 310 help 311 Set VESA/native framebuffer mode (needed for bootsplash and graphical 312 framebuffer console) 313 314choice 315 prompt "framebuffer graphics resolution" 316 default FRAMEBUFFER_VESA_MODE_118 317 depends on FRAMEBUFFER_SET_VESA_MODE 318 help 319 This option sets the resolution used for the U-Boot framebuffer (and 320 bootsplash screen). 321 322config FRAMEBUFFER_VESA_MODE_100 323 bool "640x400 256-color" 324 325config FRAMEBUFFER_VESA_MODE_101 326 bool "640x480 256-color" 327 328config FRAMEBUFFER_VESA_MODE_102 329 bool "800x600 16-color" 330 331config FRAMEBUFFER_VESA_MODE_103 332 bool "800x600 256-color" 333 334config FRAMEBUFFER_VESA_MODE_104 335 bool "1024x768 16-color" 336 337config FRAMEBUFFER_VESA_MODE_105 338 bool "1024x768 256-color" 339 340config FRAMEBUFFER_VESA_MODE_106 341 bool "1280x1024 16-color" 342 343config FRAMEBUFFER_VESA_MODE_107 344 bool "1280x1024 256-color" 345 346config FRAMEBUFFER_VESA_MODE_108 347 bool "80x60 text" 348 349config FRAMEBUFFER_VESA_MODE_109 350 bool "132x25 text" 351 352config FRAMEBUFFER_VESA_MODE_10A 353 bool "132x43 text" 354 355config FRAMEBUFFER_VESA_MODE_10B 356 bool "132x50 text" 357 358config FRAMEBUFFER_VESA_MODE_10C 359 bool "132x60 text" 360 361config FRAMEBUFFER_VESA_MODE_10D 362 bool "320x200 32k-color (1:5:5:5)" 363 364config FRAMEBUFFER_VESA_MODE_10E 365 bool "320x200 64k-color (5:6:5)" 366 367config FRAMEBUFFER_VESA_MODE_10F 368 bool "320x200 16.8M-color (8:8:8)" 369 370config FRAMEBUFFER_VESA_MODE_110 371 bool "640x480 32k-color (1:5:5:5)" 372 373config FRAMEBUFFER_VESA_MODE_111 374 bool "640x480 64k-color (5:6:5)" 375 376config FRAMEBUFFER_VESA_MODE_112 377 bool "640x480 16.8M-color (8:8:8)" 378 379config FRAMEBUFFER_VESA_MODE_113 380 bool "800x600 32k-color (1:5:5:5)" 381 382config FRAMEBUFFER_VESA_MODE_114 383 bool "800x600 64k-color (5:6:5)" 384 385config FRAMEBUFFER_VESA_MODE_115 386 bool "800x600 16.8M-color (8:8:8)" 387 388config FRAMEBUFFER_VESA_MODE_116 389 bool "1024x768 32k-color (1:5:5:5)" 390 391config FRAMEBUFFER_VESA_MODE_117 392 bool "1024x768 64k-color (5:6:5)" 393 394config FRAMEBUFFER_VESA_MODE_118 395 bool "1024x768 16.8M-color (8:8:8)" 396 397config FRAMEBUFFER_VESA_MODE_119 398 bool "1280x1024 32k-color (1:5:5:5)" 399 400config FRAMEBUFFER_VESA_MODE_11A 401 bool "1280x1024 64k-color (5:6:5)" 402 403config FRAMEBUFFER_VESA_MODE_11B 404 bool "1280x1024 16.8M-color (8:8:8)" 405 406config FRAMEBUFFER_VESA_MODE_USER 407 bool "Manually select VESA mode" 408 409endchoice 410 411# Map the config names to an integer (KB). 412config FRAMEBUFFER_VESA_MODE 413 prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER 414 hex 415 default 0x100 if FRAMEBUFFER_VESA_MODE_100 416 default 0x101 if FRAMEBUFFER_VESA_MODE_101 417 default 0x102 if FRAMEBUFFER_VESA_MODE_102 418 default 0x103 if FRAMEBUFFER_VESA_MODE_103 419 default 0x104 if FRAMEBUFFER_VESA_MODE_104 420 default 0x105 if FRAMEBUFFER_VESA_MODE_105 421 default 0x106 if FRAMEBUFFER_VESA_MODE_106 422 default 0x107 if FRAMEBUFFER_VESA_MODE_107 423 default 0x108 if FRAMEBUFFER_VESA_MODE_108 424 default 0x109 if FRAMEBUFFER_VESA_MODE_109 425 default 0x10A if FRAMEBUFFER_VESA_MODE_10A 426 default 0x10B if FRAMEBUFFER_VESA_MODE_10B 427 default 0x10C if FRAMEBUFFER_VESA_MODE_10C 428 default 0x10D if FRAMEBUFFER_VESA_MODE_10D 429 default 0x10E if FRAMEBUFFER_VESA_MODE_10E 430 default 0x10F if FRAMEBUFFER_VESA_MODE_10F 431 default 0x110 if FRAMEBUFFER_VESA_MODE_110 432 default 0x111 if FRAMEBUFFER_VESA_MODE_111 433 default 0x112 if FRAMEBUFFER_VESA_MODE_112 434 default 0x113 if FRAMEBUFFER_VESA_MODE_113 435 default 0x114 if FRAMEBUFFER_VESA_MODE_114 436 default 0x115 if FRAMEBUFFER_VESA_MODE_115 437 default 0x116 if FRAMEBUFFER_VESA_MODE_116 438 default 0x117 if FRAMEBUFFER_VESA_MODE_117 439 default 0x118 if FRAMEBUFFER_VESA_MODE_118 440 default 0x119 if FRAMEBUFFER_VESA_MODE_119 441 default 0x11A if FRAMEBUFFER_VESA_MODE_11A 442 default 0x11B if FRAMEBUFFER_VESA_MODE_11B 443 default 0x117 if FRAMEBUFFER_VESA_MODE_USER 444 445config VIDEO_LCD_ANX9804 446 bool "ANX9804 bridge chip" 447 ---help--- 448 Support for the ANX9804 bridge chip, which can take pixel data coming 449 from a parallel LCD interface and translate it on the fy into a DP 450 interface for driving eDP TFT displays. It uses I2C for configuration. 451 452config ATMEL_LCD 453 bool "Atmel LCD panel support" 454 depends on ARCH_AT91 455 456config ATMEL_LCD_BGR555 457 bool "Display in BGR555 mode" 458 help 459 Use the BGR555 output mode. Otherwise RGB565 is used. 460 461config VIDEO_BCM2835 462 bool "Display support for BCM2835" 463 help 464 The graphics processor already sets up the display so this driver 465 simply checks the resolution and then sets up the frame buffer with 466 that same resolution (or as near as possible) and 32bpp depth, so 467 that U-Boot can access it with full colour depth. 468 469config VIDEO_LCD_ENDEAVORU 470 tristate "Endeavoru 720x1280 DSI video mode panel" 471 depends on PANEL && BACKLIGHT 472 select VIDEO_MIPI_DSI 473 help 474 Say Y here if you want to enable support for the IPS-LCD panel 475 module for HTC One X. Driver supports a family of panels, 476 made at least by 3 vendors (Sharp, Sony and AUO), but set up 477 using the same DSI command sequence. The panel has a 720x1280 478 resolution and uses 24 bit RGB per pixel. 479 480config VIDEO_LCD_ORISETECH_OTM8009A 481 bool "OTM8009A DSI LCD panel support" 482 select VIDEO_MIPI_DSI 483 help 484 Say Y here if you want to enable support for Orise Technology 485 otm8009a 480x800 dsi 2dl panel. 486 487config VIDEO_LCD_RAYDIUM_RM68200 488 bool "RM68200 DSI LCD panel support" 489 select VIDEO_MIPI_DSI 490 help 491 Say Y here if you want to enable support for Raydium RM68200 492 720x1280 DSI video mode panel. 493 494config VIDEO_LCD_RENESAS_R61307 495 tristate "Renesas R61307 DSI video mode panel" 496 depends on PANEL && BACKLIGHT 497 select VIDEO_MIPI_DSI 498 help 499 Say Y here if you want to enable support for KOE tx13d100vm0eaa 500 IPS-LCD module with Renesas R69328 IC. The panel has a 1024x768 501 resolution and uses 24 bit RGB per pixel. 502 503config VIDEO_LCD_RENESAS_R69328 504 tristate "Renesas R69328 720x1280 DSI video mode panel" 505 depends on PANEL && BACKLIGHT 506 select VIDEO_MIPI_DSI 507 help 508 Say Y here if you want to enable support for JDI dx12d100vm0eaa 509 IPS-LCD module with Renesas R69328 IC. The panel has a 720x1280 510 resolution and uses 24 bit RGB per pixel. 511 512config VIDEO_LCD_SSD2828 513 bool "SSD2828 bridge chip" 514 ---help--- 515 Support for the SSD2828 bridge chip, which can take pixel data coming 516 from a parallel LCD interface and translate it on the fly into MIPI DSI 517 interface for driving a MIPI compatible LCD panel. It uses SPI for 518 configuration. 519 520config VIDEO_LCD_SSD2828_TX_CLK 521 int "SSD2828 TX_CLK frequency (in MHz)" 522 depends on VIDEO_LCD_SSD2828 523 default 0 524 ---help--- 525 The frequency of the crystal, which is clocking SSD2828. It may be 526 anything in the 8MHz-30MHz range and the exact value should be 527 retrieved from the board schematics. Or in the case of Allwinner 528 hardware, it can be usually found as 'lcd_xtal_freq' variable in 529 FEX files. It can be also set to 0 for selecting PCLK from the 530 parallel LCD interface instead of TX_CLK as the PLL clock source. 531 532config VIDEO_LCD_SSD2828_RESET 533 string "RESET pin of SSD2828" 534 depends on VIDEO_LCD_SSD2828 535 default "" 536 ---help--- 537 The reset pin of SSD2828 chip. This takes a string in the format 538 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H. 539 540config VIDEO_LCD_TDO_TL070WSH30 541 bool "TDO TL070WSH30 DSI LCD panel support" 542 select VIDEO_MIPI_DSI 543 help 544 Say Y here if you want to enable support for TDO TL070WSH30 545 1024x600 DSI video mode panel. 546 547config VIDEO_LCD_HITACHI_TX18D42VM 548 bool "Hitachi tx18d42vm LVDS LCD panel support" 549 ---help--- 550 Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a 551 lcd controller which needs to be initialized over SPI, once that is 552 done they work like a regular LVDS panel. 553 554config VIDEO_LCD_SPI_CS 555 string "SPI CS pin for LCD related config job" 556 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 557 default "" 558 ---help--- 559 This is one of the SPI communication pins, involved in setting up a 560 working LCD configuration. The exact role of SPI may differ for 561 different hardware setups. The option takes a string in the format 562 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H. 563 564config VIDEO_LCD_SPI_SCLK 565 string "SPI SCLK pin for LCD related config job" 566 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 567 default "" 568 ---help--- 569 This is one of the SPI communication pins, involved in setting up a 570 working LCD configuration. The exact role of SPI may differ for 571 different hardware setups. The option takes a string in the format 572 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H. 573 574config VIDEO_LCD_SPI_MOSI 575 string "SPI MOSI pin for LCD related config job" 576 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 577 default "" 578 ---help--- 579 This is one of the SPI communication pins, involved in setting up a 580 working LCD configuration. The exact role of SPI may differ for 581 different hardware setups. The option takes a string in the format 582 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H. 583 584config VIDEO_LCD_SPI_MISO 585 string "SPI MISO pin for LCD related config job (optional)" 586 depends on VIDEO_LCD_SSD2828 587 default "" 588 ---help--- 589 This is one of the SPI communication pins, involved in setting up a 590 working LCD configuration. The exact role of SPI may differ for 591 different hardware setups. If wired up, this pin may provide additional 592 useful functionality. Such as bi-directional communication with the 593 hardware and LCD panel id retrieval (if the panel can report it). The 594 option takes a string in the format understood by 'sunxi_name_to_gpio' 595 function, e.g. PH1 for pin 1 of port H. 596 597source "drivers/video/meson/Kconfig" 598 599config VIDEO_MVEBU 600 bool "Armada XP LCD controller" 601 ---help--- 602 Support for the LCD controller integrated in the Marvell 603 Armada XP SoC. 604 605config VIDEO_OMAP3 606 bool "Enable OMAP3+ DSS Support" 607 depends on ARCH_OMAP2PLUS 608 help 609 This enables the Display subsystem (DSS) on OMAP3+ boards. 610 611config I2C_EDID 612 bool "Enable EDID library" 613 help 614 This enables library for accessing EDID data from an LCD panel. 615 616config DISPLAY 617 bool "Enable Display support" 618 depends on DM 619 select I2C_EDID 620 help 621 This supports drivers that provide a display, such as eDP (Embedded 622 DisplayPort) and HDMI (High Definition Multimedia Interface). 623 The devices provide a simple interface to start up the display, 624 read display information and enable it. 625 626config NXP_TDA19988 627 bool "Enable NXP TDA19988 support" 628 depends on DISPLAY 629 help 630 This enables support for the NXP TDA19988 HDMI encoder. This encoder 631 will convert RGB data streams into HDMI-encoded signals. 632 633config ATMEL_HLCD 634 bool "Enable ATMEL video support using HLCDC" 635 help 636 HLCDC supports video output to an attached LCD panel. 637 638config BACKLIGHT_LM3533 639 bool "Backlight Driver for LM3533" 640 depends on BACKLIGHT 641 select DM_I2C 642 help 643 Say Y to enable the backlight driver for National Semiconductor / TI 644 LM3533 Lighting Power chip. Only Bank A is supported as for now. 645 Supported backlight level range is from 2 to 255 with step of 1. 646 647source "drivers/video/ti/Kconfig" 648 649source "drivers/video/exynos/Kconfig" 650 651config LOGICORE_DP_TX 652 bool "Enable Logicore DP TX driver" 653 depends on DISPLAY 654 help 655 Enable the driver for the transmitter part of the Xilinx LogiCORE 656 DisplayPort, a IP core for Xilinx FPGAs that implements a DisplayPort 657 video interface as defined by VESA DisplayPort v1.2. 658 659 Note that this is a pure transmitter device, and has no display 660 capabilities by itself. 661 662config VIDEO_BROADWELL_IGD 663 bool "Enable Intel Broadwell integrated graphics device" 664 depends on X86 665 help 666 This enables support for integrated graphics on Intel broadwell 667 devices. Initialisation is mostly performed by a VGA boot ROM, with 668 some setup handled by U-Boot itself. The graphics adaptor works as 669 a VESA device and supports LCD panels, eDP and LVDS outputs. 670 Configuration of most aspects of device operation is performed using 671 a special tool which configures the VGA ROM, but the graphics 672 resolution can be selected in U-Boot. 673 674config VIDEO_IVYBRIDGE_IGD 675 bool "Enable Intel Ivybridge integration graphics support" 676 depends on X86 677 help 678 This enables support for integrated graphics on Intel ivybridge 679 devices. Initialisation is mostly performed by a VGA boot ROM, with 680 some setup handled by U-Boot itself. The graphics adaptor works as 681 a VESA device and supports LCD panels, eDP and LVDS outputs. 682 Configuration of most aspects of device operation is performed using 683 a special tool which configures the VGA ROM, but the graphics 684 resolution can be selected in U-Boot. 685 686source "drivers/video/rockchip/Kconfig" 687 688config VIDEO_ARM_MALIDP 689 bool "Enable Arm Mali Display Processor support" 690 depends on OF_CONTROL 691 select VEXPRESS_CLK 692 help 693 This enables support for Arm Ltd Mali Display Processors from 694 the DP500, DP550 and DP650 family. 695 696config VIDEO_SANDBOX_SDL 697 bool "Enable sandbox video console using SDL" 698 depends on SANDBOX_SDL 699 help 700 When using sandbox you can enable an emulated LCD display which 701 appears as an SDL (Simple DirectMedia Layer) window. This is a 702 console device and can display stdout output. Within U-Boot is is 703 a normal bitmap display and can display images as well as text. 704 705source "drivers/video/stm32/Kconfig" 706 707source "drivers/video/tidss/Kconfig" 708 709config VIDEO_TEGRA124 710 bool "Enable video support on Tegra124" 711 help 712 Tegra124 supports many video output options including eDP and 713 HDMI. At present only eDP is supported by U-Boot. This option 714 enables this support which can be used on devices which 715 have an eDP display connected. 716 717source "drivers/video/bridge/Kconfig" 718 719source "drivers/video/tegra20/Kconfig" 720 721source "drivers/video/imx/Kconfig" 722 723config VIDEO_MXS 724 bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs" 725 help 726 Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors 727 728config VIDEO_NX 729 bool "Enable video support on Nexell SoC" 730 depends on ARCH_S5P6818 || ARCH_S5P4418 731 help 732 Nexell SoC supports many video output options including eDP and 733 HDMI. This option enables this support which can be used on devices 734 which have an eDP display connected. 735 736config VIDEO_SEPS525 737 bool "Enable video support for Seps525" 738 depends on DM_GPIO 739 help 740 Enable support for the Syncoam PM-OLED display driver (RGB 160x128). 741 Currently driver is supporting only SPI interface. 742 743config VIDEO_ZYNQMP_DPSUB 744 bool "Enable video support for ZynqMP Display Port" 745 depends on ZYNQMP_POWER_DOMAIN 746 help 747 Enable support for Xilinx ZynqMP Display Port. Currently this file 748 is used as placeholder for driver. The main reason is to record 749 compatible string and calling power domain driver. 750 751source "drivers/video/nexell/Kconfig" 752 753config CONSOLE_SCROLL_LINES 754 int "Number of lines to scroll the console by" 755 default 1 756 help 757 When the console need to be scrolled, this is the number of 758 lines to scroll by. It defaults to 1. Increasing this makes the 759 console jump but can help speed up operation when scrolling 760 is slow. 761 762config VIDEO_DW_HDMI 763 bool 764 help 765 Enables the common driver code for the Designware HDMI TX 766 block found in SoCs from various vendors. 767 As this does not provide any functionality by itself (but 768 rather requires a SoC-specific glue driver to call it), it 769 can not be enabled from the configuration menu. 770 771config VIDEO_DSI_HOST_SANDBOX 772 bool "Enable sandbox for dsi host" 773 depends on SANDBOX 774 select VIDEO_MIPI_DSI 775 help 776 Enable support for sandbox dsi host device used for testing 777 purposes. 778 Display Serial Interface (DSI) defines a serial bus and 779 a communication protocol between the host and the device 780 (panel, bridge). 781 782config VIDEO_DW_MIPI_DSI 783 bool 784 select VIDEO_MIPI_DSI 785 help 786 Enables the common driver code for the Synopsis Designware 787 MIPI DSI block found in SoCs from various vendors. 788 As this does not provide any functionality by itself (but 789 rather requires a SoC-specific glue driver to call it), it 790 can not be enabled from the configuration menu. 791 792config VIDEO_SIMPLE 793 bool "Simple display driver for preconfigured display" 794 help 795 Enables a simple generic display driver which utilizes the 796 simple-framebuffer devicetree bindings. 797 798 This driver assumes that the display hardware has been initialized 799 before u-boot starts, and u-boot will simply render to the pre- 800 allocated frame buffer surface. 801 802config VIDEO_DT_SIMPLEFB 803 bool "Enable SimpleFB support for passing framebuffer to OS" 804 help 805 Enables the code to pass the framebuffer to the kernel as a 806 simple framebuffer in the device tree. 807 The video output is initialized by U-Boot, and kept by the 808 kernel. 809 810config VIDEO_MCDE_SIMPLE 811 bool "Simple driver for ST-Ericsson MCDE with preconfigured display" 812 help 813 Enables a simple display driver for ST-Ericsson MCDE 814 (Multichannel Display Engine), which reads the configuration from 815 the MCDE registers. 816 817 This driver assumes that the display hardware has been initialized 818 before u-boot starts, and u-boot will simply render to the pre- 819 allocated frame buffer surface. 820 821config OSD 822 bool "Enable OSD support" 823 depends on DM 824 help 825 This supports drivers that provide a OSD (on-screen display), which 826 is a (usually text-oriented) graphics buffer to show information on 827 a display. 828 829config SANDBOX_OSD 830 bool "Enable sandbox OSD" 831 depends on OSD 832 help 833 Enable support for sandbox OSD device used for testing purposes. 834 835config IHS_VIDEO_OUT 836 bool "Enable IHS video out driver" 837 depends on OSD 838 help 839 Enable support for the gdsys Integrated Hardware Systems (IHS) video 840 out On-screen Display (OSD) used on gdsys FPGAs to control dynamic 841 textual overlays of the display outputs. 842 843config SPLASH_SCREEN 844 bool "Show a splash-screen image" 845 help 846 If this option is set, the environment is checked for a variable 847 "splashimage". If found, the usual display of logo, copyright and 848 system information on the LCD is suppressed and the BMP image at the 849 address specified in "splashimage" is loaded instead. The console is 850 redirected to the "nulldev", too. This allows for a "silent" boot 851 where a splash screen is loaded very quickly after power-on. 852 853 The splash_screen_prepare() function is a weak function defined in 854 common/splash.c. It is called as part of the splash screen display 855 sequence. It gives the board an opportunity to prepare the splash 856 image data before it is processed and sent to the frame buffer by 857 U-Boot. Define your own version to use this feature. 858 859if SPLASH_SCREEN 860 861config SPLASH_SCREEN_ALIGN 862 bool "Allow positioning the splash image anywhere on the display" 863 help 864 If this option is set the splash image can be freely positioned 865 on the screen. Environment variable "splashpos" specifies the 866 position as "x,y". If a positive number is given it is used as 867 number of pixel from left/top. If a negative number is given it 868 is used as number of pixel from right/bottom. You can also 869 specify 'm' for centering the image. 870 871 Example: 872 setenv splashpos m,m 873 => image at center of screen 874 875 setenv splashpos 30,20 876 => image at x = 30 and y = 20 877 878 setenv splashpos -10,m 879 => vertically centered image 880 at x = dspWidth - bmpWidth - 9 881 882config HIDE_LOGO_VERSION 883 bool "Hide the version information on the splash screen" 884 help 885 Normally the U-Boot version string is shown on the display when the 886 splash screen is enabled. This information is not otherwise visible 887 since video starts up after U-Boot has displayed the initial banner. 888 889 Enable this option to hide this information. 890 891config SPLASH_SOURCE 892 bool "Control the source of the splash image" 893 help 894 Use the splash_source.c library. This library provides facilities to 895 declare board specific splash image locations, routines for loading 896 splash image from supported locations, and a way of controlling the 897 selected splash location using the "splashsource" environment 898 variable. 899 900 This CONFIG works as follows: 901 902 - If splashsource is set to a supported location name as defined by 903 board code, use that splash location. 904 - If splashsource is undefined, use the first splash location as 905 default. 906 - If splashsource is set to an unsupported value, do not load a splash 907 screen. 908 909 A splash source location can describe either storage with raw data, a 910 storage formatted with a file system or a FIT image. In case of a 911 filesystem, the splash screen data is loaded as a file. The name of 912 the splash screen file can be controlled with the environment variable 913 "splashfile". 914 915 To enable loading the splash image from a FIT image, CONFIG_FIT must 916 be enabled. The FIT image has to start at the 'offset' field address 917 in the selected splash location. The name of splash image within the 918 FIT shall be specified by the environment variable "splashfile". 919 920 In case the environment variable "splashfile" is not defined the 921 default name 'splash.bmp' will be used. 922 923endif # SPLASH_SCREEN 924 925config VIDEO_BMP_GZIP 926 bool "Gzip compressed BMP image support" 927 depends on BMP || SPLASH_SCREEN 928 help 929 If this option is set, additionally to standard BMP 930 images, gzipped BMP images can be displayed via the 931 splashscreen support or the bmp command. 932 933config VIDEO_LOGO_MAX_SIZE 934 hex "Maximum size of the bitmap logo in bytes" 935 default 0x100000 936 help 937 Sets the maximum uncompressed size of the logo. This is needed when 938 decompressing a BMP file using the gzip algorithm, since it cannot 939 read the size from the bitmap header. 940 941config VIDEO_BMP_RLE8 942 bool "Run length encoded BMP image (RLE8) support" 943 help 944 If this option is set, the 8-bit RLE compressed BMP images 945 is supported. 946 947config BMP_16BPP 948 bool "16-bit-per-pixel BMP image support" 949 help 950 Support display of bitmaps file with 16-bit-per-pixel 951 952config BMP_24BPP 953 bool "24-bit-per-pixel BMP image support" 954 help 955 Support display of bitmaps file with 24-bit-per-pixel. 956 957config BMP_32BPP 958 bool "32-bit-per-pixel BMP image support" 959 help 960 Support display of bitmaps file with 32-bit-per-pixel. 961 962endif # VIDEO 963 964config SPL_VIDEO 965 bool "Enable driver model support for LCD/video in SPL" 966 depends on SPL_DM 967 help 968 The video subsystem adds a small amount of overhead to the image. 969 If this is acceptable and you have a need to use video drivers in 970 SPL, enable this option. It might provide a cleaner interface to 971 setting up video within SPL, and allows the same drivers to be 972 used as U-Boot proper. 973 974if SPL_VIDEO 975source "drivers/video/tidss/Kconfig" 976 977config SPL_VIDEO_LOGO 978 bool "Show the U-Boot logo on the display at SPL" 979 default y if !SPL_SPLASH_SCREEN 980 select SPL_VIDEO_BMP_RLE8 981 help 982 This enables showing the U-Boot logo on the display when a video 983 device is probed. It appears at the top right. The logo itself is at 984 tools/logos/u-boot_logo.bmp and looks best when the display has a 985 black background. 986 987config SPL_SPLASH_SCREEN 988 bool "Show a splash-screen image at SPL" 989 help 990 If this option is set, the environment is checked for a variable 991 "splashimage" at spl stage. 992 993config SPL_SYS_WHITE_ON_BLACK 994 bool "Display console as white on a black background at SPL" 995 help 996 Normally the display is black on a white background, Enable this 997 option to invert this, i.e. white on a black background at spl stage. 998 This can be better in low-light situations or to reduce eye strain in 999 some cases. 1000 1001config SPL_VIDEO_PCI_DEFAULT_FB_SIZE 1002 hex "Default framebuffer size to use if no drivers request it at SPL" 1003 default 0x1000000 if X86 && PCI 1004 default 0 if !(X86 && PCI) 1005 help 1006 Generally, video drivers request the amount of memory they need for 1007 the frame buffer when they are bound, by setting the size field in 1008 struct video_uc_plat. That memory is then reserved for use after 1009 relocation. But PCI drivers cannot be bound before relocation unless 1010 they are mentioned in the devicetree. 1011 1012 With this value set appropriately, it is possible for PCI video 1013 devices to have a framebuffer allocated by U-Boot. 1014 1015 Note: the framebuffer needs to be large enough to store all pixels at 1016 maximum resolution. For example, at 1920 x 1200 with 32 bits per 1017 pixel, 2560 * 1600 * 32 / 8 = 0xfa0000 bytes are needed. 1018 1019config SPL_CONSOLE_SCROLL_LINES 1020 int "Number of lines to scroll the console by at SPL" 1021 default 1 1022 help 1023 When the console need to be scrolled, this is the number of 1024 lines to scroll by. It defaults to 1. Increasing this makes the 1025 console jump but can help speed up operation when scrolling 1026 is slow. 1027 1028config SPL_CONSOLE_NORMAL 1029 bool "Support a simple text console at SPL" 1030 default y 1031 help 1032 Support drawing text on the frame buffer console so that it can be 1033 used as a console. Rotation is not supported by this driver (see 1034 CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used 1035 for the display. 1036 1037config SPL_BACKLIGHT 1038 bool "Enable panel backlight uclass support at SPL" 1039 default y 1040 help 1041 This provides backlight uclass driver that enables basic panel 1042 backlight support. 1043 1044config SPL_PANEL 1045 bool "Enable panel uclass support at SPL" 1046 default y 1047 help 1048 This provides panel uclass driver that enables basic panel support. 1049 1050config SPL_SIMPLE_PANEL 1051 bool "Enable simple panel support at SPL" 1052 depends on SPL_PANEL && SPL_BACKLIGHT && SPL_DM_GPIO 1053 default y 1054 help 1055 This turns on a simple panel driver that enables a compatible 1056 video panel. 1057 1058config SPL_SYS_WHITE_ON_BLACK 1059 bool "Display console as white on a black background at SPL" 1060 help 1061 Normally the display is black on a white background, Enable this 1062 option to invert this, i.e. white on a black background at spl stage. 1063 This can be better in low-light situations or to reduce eye strain in 1064 some cases. 1065 1066if SPL_SPLASH_SCREEN 1067 1068config SPL_SPLASH_SCREEN_ALIGN 1069 bool "Allow positioning the splash image anywhere on the display at SPL" 1070 help 1071 If this option is set the splash image can be freely positioned 1072 on the screen only at SPL. Environment variable "splashpos" specifies 1073 the position as "x,y". If a positive number is given it is used as 1074 number of pixel from left/top. If a negative number is given it 1075 is used as number of pixel from right/bottom. 1076 1077config SPL_SPLASH_SOURCE 1078 bool "Control the source of the splash image at SPL" 1079 help 1080 Use the splash_source.c library. This library provides facilities to 1081 declare board specific splash image locations, routines for loading 1082 splash image from supported locations, and a way of controlling the 1083 selected splash location using the "splashsource" environment 1084 variable. 1085 1086 This CONFIG works as follows: 1087 1088 - If splashsource is set to a supported location name as defined by 1089 board code, use that splash location. 1090 - If splashsource is undefined, use the first splash location as 1091 default. 1092 - If splashsource is set to an unsupported value, do not load a splash 1093 screen. 1094 1095 A splash source location can describe either storage with raw data, a 1096 storage formatted with a file system or a FIT image. In case of a 1097 filesystem, the splash screen data is loaded as a file. The name of 1098 the splash screen file can be controlled with the environment variable 1099 "splashfile". 1100 1101 To enable loading the splash image from a FIT image, CONFIG_FIT must 1102 be enabled. The FIT image has to start at the 'offset' field address 1103 in the selected splash location. The name of splash image within the 1104 FIT shall be specified by the environment variable "splashfile". 1105 1106 In case the environment variable "splashfile" is not defined the 1107 default name 'splash.bmp' will be used. 1108 1109endif # SPL_SPLASH_SCREEN 1110 1111config SPL_VIDEO_BMP_GZIP 1112 bool "Gzip compressed BMP image support at SPL" 1113 depends on SPL_SPLASH_SCREEN || SPL_BMP 1114 help 1115 If this option is set, additionally to standard BMP 1116 images, gzipped BMP images can be displayed via the 1117 splashscreen supportat SPL stage. 1118 1119config SPL_VIDEO_LOGO_MAX_SIZE 1120 hex "Maximum size of the bitmap logo in bytes at SPL" 1121 default 0x100000 1122 help 1123 Sets the maximum uncompressed size of the logo. This is needed when 1124 decompressing a BMP file using the gzip algorithm, since it cannot 1125 read the size from the bitmap header. 1126 1127config SPL_VIDEO_BMP_RLE8 1128 bool "Run length encoded BMP image (RLE8) support at SPL" 1129 help 1130 If this option is set, the 8-bit RLE compressed BMP images 1131 is supported. 1132 1133config SPL_BMP_16BPP 1134 bool "16-bit-per-pixel BMP image support at SPL" 1135 help 1136 Support display of bitmaps file with 16-bit-per-pixel 1137 1138config SPL_BMP_24BPP 1139 bool "24-bit-per-pixel BMP image support at SPL" 1140 help 1141 Support display of bitmaps file with 24-bit-per-pixel. 1142 1143config SPL_BMP_32BPP 1144 bool "32-bit-per-pixel BMP image support at SPL" 1145 help 1146 Support display of bitmaps file with 32-bit-per-pixel. 1147 1148config SPL_VIDEO_BPP8 1149 bool "Support 8-bit-per-pixel displays at SPL" 1150 default y 1151 help 1152 Support drawing text and bitmaps onto a 8-bit-per-pixel display. 1153 Enabling this will include code to support this display. Without 1154 this option, such displays will not be supported and console output 1155 will be empty. 1156 1157config SPL_VIDEO_BPP16 1158 bool "Support 16-bit-per-pixel displays at SPL" 1159 default y 1160 help 1161 Support drawing text and bitmaps onto a 16-bit-per-pixel display. 1162 Enabling this will include code to support this display. Without 1163 this option, such displays will not be supported and console output 1164 will be empty. 1165 1166config SPL_VIDEO_BPP32 1167 bool "Support 32-bit-per-pixel displays at SPL" 1168 default y 1169 help 1170 Support drawing text and bitmaps onto a 32-bit-per-pixel display. 1171 Enabling this will include code to support this display. Without 1172 this option, such displays will not be supported and console output 1173 will be empty. 1174 1175config SPL_HIDE_LOGO_VERSION 1176 bool "Hide the version information on the splash screen at SPL" 1177 help 1178 Normally the U-Boot version string is shown on the display when the 1179 splash screen is enabled. This information is not otherwise visible 1180 since video starts up after U-Boot has displayed the initial banner. 1181 1182 Enable this option to hide this information. 1183endif 1184 1185endmenu 1186