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 BACKLIGHT 18 bool "Enable panel backlight uclass support" 19 depends on DM_VIDEO 20 default y 21 help 22 This provides backlight uclass driver that enables basic panel 23 backlight support. 24 25config VIDEO_PCI_DEFAULT_FB_SIZE 26 hex "Default framebuffer size to use if no drivers request it" 27 depends on DM_VIDEO 28 default 0x1000000 if X86 && PCI 29 default 0 if !(X86 && PCI) 30 help 31 Generally, video drivers request the amount of memory they need for 32 the frame buffer when they are bound, by setting the size field in 33 struct video_uc_plat. That memory is then reserved for use after 34 relocation. But PCI drivers cannot be bound before relocation unless 35 they are mentioned in the devicetree. 36 37 With this value set appropriately, it is possible for PCI video 38 devices to have a framebuffer allocated by U-Boot. 39 40 Note: the framebuffer needs to be large enough to store all pixels at 41 maximum resolution. For example, at 1920 x 1200 with 32 bits per 42 pixel, 2560 * 1600 * 32 / 8 = 0xfa0000 bytes are needed. 43 44config VIDEO_COPY 45 bool "Enable copying the frame buffer to a hardware copy" 46 depends on DM_VIDEO 47 help 48 On some machines (e.g. x86), reading from the frame buffer is very 49 slow because it is uncached. To improve performance, this feature 50 allows the frame buffer to be kept in cached memory (allocated by 51 U-Boot) and then copied to the hardware frame-buffer as needed. 52 53 To use this, your video driver must set @copy_base in 54 struct video_uc_plat. 55 56config BACKLIGHT_PWM 57 bool "Generic PWM based Backlight Driver" 58 depends on BACKLIGHT && DM_PWM 59 default y 60 help 61 If you have a LCD backlight adjustable by PWM, say Y to enable 62 this driver. 63 This driver can be use with "simple-panel" and 64 it understands the standard device tree 65 (leds/backlight/pwm-backlight.txt) 66 67config BACKLIGHT_GPIO 68 bool "Generic GPIO based Backlight Driver" 69 depends on BACKLIGHT 70 help 71 If you have a LCD backlight adjustable by GPIO, say Y to enable 72 this driver. 73 This driver can be used with "simple-panel" and 74 it understands the standard device tree 75 (leds/backlight/gpio-backlight.txt) 76 77config CMD_VIDCONSOLE 78 bool "Enable vidconsole commands lcdputs and setcurs" 79 depends on DM_VIDEO 80 default y 81 help 82 Enabling this will provide 'setcurs' and 'lcdputs' commands which 83 support cursor positioning and drawing strings on video framebuffer. 84 85config VIDEO_BPP8 86 bool "Support 8-bit-per-pixel displays" 87 depends on DM_VIDEO 88 default y 89 help 90 Support drawing text and bitmaps onto a 8-bit-per-pixel display. 91 Enabling this will include code to support this display. Without 92 this option, such displays will not be supported and console output 93 will be empty. 94 95config VIDEO_BPP16 96 bool "Support 16-bit-per-pixel displays" 97 depends on DM_VIDEO 98 default y 99 help 100 Support drawing text and bitmaps onto a 16-bit-per-pixel display. 101 Enabling this will include code to support this display. Without 102 this option, such displays will not be supported and console output 103 will be empty. 104 105config VIDEO_BPP32 106 bool "Support 32-bit-per-pixel displays" 107 depends on DM_VIDEO 108 default y 109 help 110 Support drawing text and bitmaps onto a 32-bit-per-pixel display. 111 Enabling this will include code to support this display. Without 112 this option, such displays will not be supported and console output 113 will be empty. 114 115config VIDEO_ANSI 116 bool "Support ANSI escape sequences in video console" 117 depends on DM_VIDEO 118 default y 119 help 120 Enable ANSI escape sequence decoding for a more fully functional 121 console. 122 123config VIDEO_MIPI_DSI 124 bool "Support MIPI DSI interface" 125 depends on DM_VIDEO 126 help 127 Support MIPI DSI interface for driving a MIPI compatible device. 128 The MIPI Display Serial Interface (MIPI DSI) defines a high-speed 129 serial interface between a host processor and a display module. 130 131config CONSOLE_NORMAL 132 bool "Support a simple text console" 133 depends on DM_VIDEO 134 default y if DM_VIDEO 135 help 136 Support drawing text on the frame buffer console so that it can be 137 used as a console. Rotation is not supported by this driver (see 138 CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used 139 for the display. 140 141config CONSOLE_ROTATION 142 bool "Support rotated displays" 143 depends on DM_VIDEO 144 help 145 Sometimes, for example if the display is mounted in portrait 146 mode or even if it's mounted landscape but rotated by 180degree, 147 we need to rotate our content of the display relative to the 148 framebuffer, so that user can read the messages which are 149 printed out. Enable this option to include a text driver which can 150 support this. The rotation is set by the 'rot' parameter in 151 struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180 152 degrees, 3=270 degrees. 153 154config CONSOLE_TRUETYPE 155 bool "Support a console that uses TrueType fonts" 156 depends on DM_VIDEO 157 help 158 TrueTrype fonts can provide outline-drawing capability rather than 159 needing to provide a bitmap for each font and size that is needed. 160 With this option you can adjust the text size and use a variety of 161 fonts. Note that this is noticeably slower than with normal console. 162 163config DM_PANEL_HX8238D 164 bool "Enable Himax HX-8238D LCD driver" 165 depends on DM_VIDEO 166 help 167 Support for HX-8238D LCD Panel 168 The HX8238-D is a single chip controller and driver LSI that 169 integrates the power circuit. 170 It can drive a maximum 960x240 dot graphics on a-TFT panel 171 displays in 16M colors with dithering. 172 173config CONSOLE_TRUETYPE_SIZE 174 int "TrueType font size" 175 depends on CONSOLE_TRUETYPE 176 default 18 177 help 178 This sets the font size for the console. The size is measured in 179 pixels and is the nominal height of a character. Note that fonts 180 are commonly measured in 'points', being 1/72 inch (about 3.52mm). 181 However that measurement depends on the size of your display and 182 there is no standard display density. At present there is not a 183 method to select the display's physical size, which would allow 184 U-Boot to calculate the correct font size. 185 186config SYS_WHITE_ON_BLACK 187 bool "Display console as white on a black background" 188 default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || ARCH_TEGRA || X86 || ARCH_SUNXI 189 help 190 Normally the display is black on a white background, Enable this 191 option to invert this, i.e. white on a black background. This can be 192 better in low-light situations or to reduce eye strain in some 193 cases. 194 195config NO_FB_CLEAR 196 bool "Skip framebuffer clear" 197 help 198 If firmware (whatever loads u-boot) has already put a splash image 199 on screen, you might want to preserve it until whatever u-boot 200 loads takes over the screen. This, for example, can be used to 201 keep splash image on screen until grub graphical boot menu starts. 202 203config PANEL 204 bool "Enable panel uclass support" 205 depends on DM_VIDEO 206 default y 207 help 208 This provides panel uclass driver that enables basic panel support. 209 210config SIMPLE_PANEL 211 bool "Enable simple panel support" 212 depends on PANEL && BACKLIGHT && DM_GPIO 213 default y 214 help 215 This turns on a simple panel driver that enables a compatible 216 video panel. 217 218source "drivers/video/fonts/Kconfig" 219 220config VIDCONSOLE_AS_LCD 221 bool "Use 'vidconsole' when CONFIG_VIDCONSOLE_AS_NAME string is seen in stdout" 222 depends on DM_VIDEO 223 help 224 This is a work-around for boards which have 'lcd' or 'vga' in their 225 stdout environment variable, but have moved to use driver model for 226 video. In this case the console will no-longer work. While it is 227 possible to update the environment, the breakage may be confusing for 228 users. This option will be removed around the end of 2020. 229 230config VIDCONSOLE_AS_NAME 231 string "Use 'vidconsole' when string defined here is seen in stdout" 232 depends on VIDCONSOLE_AS_LCD 233 default "lcd" if LCD || TEGRA_COMMON 234 default "vga" if !LCD 235 help 236 This is a work-around for boards which have 'lcd' or 'vga' in their 237 stdout environment variable, but have moved to use driver model for 238 video. In this case the console will no-longer work. While it is 239 possible to update the environment, the breakage may be confusing for 240 users. This option will be removed around the end of 2020. 241 242config VIDEO_COREBOOT 243 bool "Enable coreboot framebuffer driver support" 244 depends on X86 245 help 246 Turn on this option to enable a framebuffer driver when U-Boot is 247 loaded by coreboot where the graphics device is configured by 248 coreboot already. This can in principle be used with any platform 249 that coreboot supports. 250 251config VIDEO_EFI 252 bool "Enable EFI framebuffer driver support" 253 depends on EFI_STUB 254 help 255 Turn on this option to enable a framebuffeer driver when U-Boot is 256 loaded as a payload (see README.u-boot_on_efi) by an EFI BIOS where 257 the graphics device is configured by the EFI BIOS already. This can 258 in principle be used with any platform that has an EFI BIOS. 259 260config VIDEO_VESA 261 bool "Enable VESA video driver support" 262 help 263 Turn on this option to enable a very simple driver which uses vesa 264 to discover the video mode and then provides a frame buffer for use 265 by U-Boot. This can in principle be used with any platform that 266 supports PCI and video cards that support VESA BIOS Extension (VBE). 267 268config FRAMEBUFFER_SET_VESA_MODE 269 bool "Set framebuffer graphics resolution" 270 depends on VIDEO_VESA || VIDEO_BROADWELL_IGD 271 help 272 Set VESA/native framebuffer mode (needed for bootsplash and graphical 273 framebuffer console) 274 275choice 276 prompt "framebuffer graphics resolution" 277 default FRAMEBUFFER_VESA_MODE_118 278 depends on FRAMEBUFFER_SET_VESA_MODE 279 help 280 This option sets the resolution used for the U-Boot framebuffer (and 281 bootsplash screen). 282 283config FRAMEBUFFER_VESA_MODE_100 284 bool "640x400 256-color" 285 286config FRAMEBUFFER_VESA_MODE_101 287 bool "640x480 256-color" 288 289config FRAMEBUFFER_VESA_MODE_102 290 bool "800x600 16-color" 291 292config FRAMEBUFFER_VESA_MODE_103 293 bool "800x600 256-color" 294 295config FRAMEBUFFER_VESA_MODE_104 296 bool "1024x768 16-color" 297 298config FRAMEBUFFER_VESA_MODE_105 299 bool "1024x768 256-color" 300 301config FRAMEBUFFER_VESA_MODE_106 302 bool "1280x1024 16-color" 303 304config FRAMEBUFFER_VESA_MODE_107 305 bool "1280x1024 256-color" 306 307config FRAMEBUFFER_VESA_MODE_108 308 bool "80x60 text" 309 310config FRAMEBUFFER_VESA_MODE_109 311 bool "132x25 text" 312 313config FRAMEBUFFER_VESA_MODE_10A 314 bool "132x43 text" 315 316config FRAMEBUFFER_VESA_MODE_10B 317 bool "132x50 text" 318 319config FRAMEBUFFER_VESA_MODE_10C 320 bool "132x60 text" 321 322config FRAMEBUFFER_VESA_MODE_10D 323 bool "320x200 32k-color (1:5:5:5)" 324 325config FRAMEBUFFER_VESA_MODE_10E 326 bool "320x200 64k-color (5:6:5)" 327 328config FRAMEBUFFER_VESA_MODE_10F 329 bool "320x200 16.8M-color (8:8:8)" 330 331config FRAMEBUFFER_VESA_MODE_110 332 bool "640x480 32k-color (1:5:5:5)" 333 334config FRAMEBUFFER_VESA_MODE_111 335 bool "640x480 64k-color (5:6:5)" 336 337config FRAMEBUFFER_VESA_MODE_112 338 bool "640x480 16.8M-color (8:8:8)" 339 340config FRAMEBUFFER_VESA_MODE_113 341 bool "800x600 32k-color (1:5:5:5)" 342 343config FRAMEBUFFER_VESA_MODE_114 344 bool "800x600 64k-color (5:6:5)" 345 346config FRAMEBUFFER_VESA_MODE_115 347 bool "800x600 16.8M-color (8:8:8)" 348 349config FRAMEBUFFER_VESA_MODE_116 350 bool "1024x768 32k-color (1:5:5:5)" 351 352config FRAMEBUFFER_VESA_MODE_117 353 bool "1024x768 64k-color (5:6:5)" 354 355config FRAMEBUFFER_VESA_MODE_118 356 bool "1024x768 16.8M-color (8:8:8)" 357 358config FRAMEBUFFER_VESA_MODE_119 359 bool "1280x1024 32k-color (1:5:5:5)" 360 361config FRAMEBUFFER_VESA_MODE_11A 362 bool "1280x1024 64k-color (5:6:5)" 363 364config FRAMEBUFFER_VESA_MODE_11B 365 bool "1280x1024 16.8M-color (8:8:8)" 366 367config FRAMEBUFFER_VESA_MODE_USER 368 bool "Manually select VESA mode" 369 370endchoice 371 372# Map the config names to an integer (KB). 373config FRAMEBUFFER_VESA_MODE 374 prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER 375 hex 376 default 0x100 if FRAMEBUFFER_VESA_MODE_100 377 default 0x101 if FRAMEBUFFER_VESA_MODE_101 378 default 0x102 if FRAMEBUFFER_VESA_MODE_102 379 default 0x103 if FRAMEBUFFER_VESA_MODE_103 380 default 0x104 if FRAMEBUFFER_VESA_MODE_104 381 default 0x105 if FRAMEBUFFER_VESA_MODE_105 382 default 0x106 if FRAMEBUFFER_VESA_MODE_106 383 default 0x107 if FRAMEBUFFER_VESA_MODE_107 384 default 0x108 if FRAMEBUFFER_VESA_MODE_108 385 default 0x109 if FRAMEBUFFER_VESA_MODE_109 386 default 0x10A if FRAMEBUFFER_VESA_MODE_10A 387 default 0x10B if FRAMEBUFFER_VESA_MODE_10B 388 default 0x10C if FRAMEBUFFER_VESA_MODE_10C 389 default 0x10D if FRAMEBUFFER_VESA_MODE_10D 390 default 0x10E if FRAMEBUFFER_VESA_MODE_10E 391 default 0x10F if FRAMEBUFFER_VESA_MODE_10F 392 default 0x110 if FRAMEBUFFER_VESA_MODE_110 393 default 0x111 if FRAMEBUFFER_VESA_MODE_111 394 default 0x112 if FRAMEBUFFER_VESA_MODE_112 395 default 0x113 if FRAMEBUFFER_VESA_MODE_113 396 default 0x114 if FRAMEBUFFER_VESA_MODE_114 397 default 0x115 if FRAMEBUFFER_VESA_MODE_115 398 default 0x116 if FRAMEBUFFER_VESA_MODE_116 399 default 0x117 if FRAMEBUFFER_VESA_MODE_117 400 default 0x118 if FRAMEBUFFER_VESA_MODE_118 401 default 0x119 if FRAMEBUFFER_VESA_MODE_119 402 default 0x11A if FRAMEBUFFER_VESA_MODE_11A 403 default 0x11B if FRAMEBUFFER_VESA_MODE_11B 404 default 0x117 if FRAMEBUFFER_VESA_MODE_USER 405 406config VIDEO_LCD_ANX9804 407 bool "ANX9804 bridge chip" 408 ---help--- 409 Support for the ANX9804 bridge chip, which can take pixel data coming 410 from a parallel LCD interface and translate it on the fy into a DP 411 interface for driving eDP TFT displays. It uses I2C for configuration. 412 413config VIDEO_LCD_ORISETECH_OTM8009A 414 bool "OTM8009A DSI LCD panel support" 415 depends on DM_VIDEO 416 select VIDEO_MIPI_DSI 417 help 418 Say Y here if you want to enable support for Orise Technology 419 otm8009a 480x800 dsi 2dl panel. 420 421config VIDEO_LCD_RAYDIUM_RM68200 422 bool "RM68200 DSI LCD panel support" 423 depends on DM_VIDEO 424 select VIDEO_MIPI_DSI 425 help 426 Say Y here if you want to enable support for Raydium RM68200 427 720x1280 DSI video mode panel. 428 429config VIDEO_LCD_SSD2828 430 bool "SSD2828 bridge chip" 431 ---help--- 432 Support for the SSD2828 bridge chip, which can take pixel data coming 433 from a parallel LCD interface and translate it on the fly into MIPI DSI 434 interface for driving a MIPI compatible LCD panel. It uses SPI for 435 configuration. 436 437config VIDEO_LCD_SSD2828_TX_CLK 438 int "SSD2828 TX_CLK frequency (in MHz)" 439 depends on VIDEO_LCD_SSD2828 440 default 0 441 ---help--- 442 The frequency of the crystal, which is clocking SSD2828. It may be 443 anything in the 8MHz-30MHz range and the exact value should be 444 retrieved from the board schematics. Or in the case of Allwinner 445 hardware, it can be usually found as 'lcd_xtal_freq' variable in 446 FEX files. It can be also set to 0 for selecting PCLK from the 447 parallel LCD interface instead of TX_CLK as the PLL clock source. 448 449config VIDEO_LCD_SSD2828_RESET 450 string "RESET pin of SSD2828" 451 depends on VIDEO_LCD_SSD2828 452 default "" 453 ---help--- 454 The reset pin of SSD2828 chip. This takes a string in the format 455 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H. 456 457config VIDEO_LCD_TDO_TL070WSH30 458 bool "TDO TL070WSH30 DSI LCD panel support" 459 depends on DM_VIDEO 460 select VIDEO_MIPI_DSI 461 help 462 Say Y here if you want to enable support for TDO TL070WSH30 463 1024x600 DSI video mode panel. 464 465config VIDEO_LCD_HITACHI_TX18D42VM 466 bool "Hitachi tx18d42vm LVDS LCD panel support" 467 ---help--- 468 Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a 469 lcd controller which needs to be initialized over SPI, once that is 470 done they work like a regular LVDS panel. 471 472config VIDEO_LCD_SPI_CS 473 string "SPI CS pin for LCD related config job" 474 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 475 default "" 476 ---help--- 477 This is one of the SPI communication pins, involved in setting up a 478 working LCD configuration. The exact role of SPI may differ for 479 different hardware setups. The option takes a string in the format 480 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H. 481 482config VIDEO_LCD_SPI_SCLK 483 string "SPI SCLK pin for LCD related config job" 484 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 485 default "" 486 ---help--- 487 This is one of the SPI communication pins, involved in setting up a 488 working LCD configuration. The exact role of SPI may differ for 489 different hardware setups. The option takes a string in the format 490 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H. 491 492config VIDEO_LCD_SPI_MOSI 493 string "SPI MOSI pin for LCD related config job" 494 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 495 default "" 496 ---help--- 497 This is one of the SPI communication pins, involved in setting up a 498 working LCD configuration. The exact role of SPI may differ for 499 different hardware setups. The option takes a string in the format 500 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H. 501 502config VIDEO_LCD_SPI_MISO 503 string "SPI MISO pin for LCD related config job (optional)" 504 depends on VIDEO_LCD_SSD2828 505 default "" 506 ---help--- 507 This is one of the SPI communication pins, involved in setting up a 508 working LCD configuration. The exact role of SPI may differ for 509 different hardware setups. If wired up, this pin may provide additional 510 useful functionality. Such as bi-directional communication with the 511 hardware and LCD panel id retrieval (if the panel can report it). The 512 option takes a string in the format understood by 'sunxi_name_to_gpio' 513 function, e.g. PH1 for pin 1 of port H. 514 515source "drivers/video/meson/Kconfig" 516 517config VIDEO_MVEBU 518 bool "Armada XP LCD controller" 519 ---help--- 520 Support for the LCD controller integrated in the Marvell 521 Armada XP SoC. 522 523config VIDEO_OMAP3 524 bool "Enable OMAP3+ DSS Support" 525 depends on ARCH_OMAP2PLUS 526 help 527 This enables the Display subsystem (DSS) on OMAP3+ boards. 528 529config I2C_EDID 530 bool "Enable EDID library" 531 help 532 This enables library for accessing EDID data from an LCD panel. 533 534config DISPLAY 535 bool "Enable Display support" 536 depends on DM 537 select I2C_EDID 538 help 539 This supports drivers that provide a display, such as eDP (Embedded 540 DisplayPort) and HDMI (High Definition Multimedia Interface). 541 The devices provide a simple interface to start up the display, 542 read display information and enable it. 543 544config NXP_TDA19988 545 bool "Enable NXP TDA19988 support" 546 depends on DISPLAY 547 help 548 This enables support for the NXP TDA19988 HDMI encoder. This encoder 549 will convert RGB data streams into HDMI-encoded signals. 550 551config ATMEL_HLCD 552 bool "Enable ATMEL video support using HLCDC" 553 help 554 HLCDC supports video output to an attached LCD panel. 555 556source "drivers/video/ti/Kconfig" 557 558config LOGICORE_DP_TX 559 bool "Enable Logicore DP TX driver" 560 depends on DISPLAY 561 help 562 Enable the driver for the transmitter part of the Xilinx LogiCORE 563 DisplayPort, a IP core for Xilinx FPGAs that implements a DisplayPort 564 video interface as defined by VESA DisplayPort v1.2. 565 566 Note that this is a pure transmitter device, and has no display 567 capabilities by itself. 568 569config VIDEO_BROADWELL_IGD 570 bool "Enable Intel Broadwell integrated graphics device" 571 depends on X86 572 help 573 This enables support for integrated graphics on Intel broadwell 574 devices. Initialisation is mostly performed by a VGA boot ROM, with 575 some setup handled by U-Boot itself. The graphics adaptor works as 576 a VESA device and supports LCD panels, eDP and LVDS outputs. 577 Configuration of most aspects of device operation is performed using 578 a special tool which configures the VGA ROM, but the graphics 579 resolution can be selected in U-Boot. 580 581config VIDEO_IVYBRIDGE_IGD 582 bool "Enable Intel Ivybridge integration graphics support" 583 depends on X86 584 help 585 This enables support for integrated graphics on Intel ivybridge 586 devices. Initialisation is mostly performed by a VGA boot ROM, with 587 some setup handled by U-Boot itself. The graphics adaptor works as 588 a VESA device and supports LCD panels, eDP and LVDS outputs. 589 Configuration of most aspects of device operation is performed using 590 a special tool which configures the VGA ROM, but the graphics 591 resolution can be selected in U-Boot. 592 593config VIDEO_FSL_DCU_FB 594 bool "Enable Freescale Display Control Unit" 595 depends on VIDEO || DM_VIDEO 596 help 597 This enables support for Freescale Display Control Unit (DCU4) 598 module found on Freescale Vybrid and QorIQ family of SoCs. 599 600config VIDEO_FSL_DCU_MAX_FB_SIZE_MB 601 int "Freescale DCU framebuffer size" 602 depends on VIDEO_FSL_DCU_FB 603 default 4194304 604 help 605 Set maximum framebuffer size to be used for Freescale Display 606 Controller Unit (DCU4). 607 608source "drivers/video/rockchip/Kconfig" 609 610config VIDEO_ARM_MALIDP 611 bool "Enable Arm Mali Display Processor support" 612 depends on DM_VIDEO && OF_CONTROL 613 select VEXPRESS_CLK 614 help 615 This enables support for Arm Ltd Mali Display Processors from 616 the DP500, DP550 and DP650 family. 617 618config VIDEO_SANDBOX_SDL 619 bool "Enable sandbox video console using SDL" 620 depends on SANDBOX 621 help 622 When using sandbox you can enable an emulated LCD display which 623 appears as an SDL (Simple DirectMedia Layer) window. This is a 624 console device and can display stdout output. Within U-Boot is is 625 a normal bitmap display and can display images as well as text. 626 627source "drivers/video/stm32/Kconfig" 628 629config VIDEO_TEGRA20 630 bool "Enable LCD support on Tegra20" 631 depends on OF_CONTROL 632 help 633 Tegra20 supports video output to an attached LCD panel as well as 634 other options such as HDMI. Only the LCD is supported in U-Boot. 635 This option enables this support which can be used on devices which 636 have an LCD display connected. 637 638config VIDEO_TEGRA124 639 bool "Enable video support on Tegra124" 640 depends on DM_VIDEO 641 help 642 Tegra124 supports many video output options including eDP and 643 HDMI. At present only eDP is supported by U-Boot. This option 644 enables this support which can be used on devices which 645 have an eDP display connected. 646 647source "drivers/video/bridge/Kconfig" 648 649source "drivers/video/imx/Kconfig" 650 651config VIDEO_MXS 652 bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs" 653 depends on DM_VIDEO 654 help 655 Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors 656 657config VIDEO_NX 658 bool "Enable video support on Nexell SoC" 659 depends on ARCH_S5P6818 || ARCH_S5P4418 660 help 661 Nexell SoC supports many video output options including eDP and 662 HDMI. This option enables this support which can be used on devices 663 which have an eDP display connected. 664 665config VIDEO_SEPS525 666 bool "Enable video support for Seps525" 667 depends on DM_VIDEO 668 help 669 Enable support for the Syncoam PM-OLED display driver (RGB 160x128). 670 Currently driver is supporting only SPI interface. 671 672source "drivers/video/nexell/Kconfig" 673 674config VIDEO 675 bool "Enable legacy video support" 676 depends on !DM_VIDEO 677 help 678 Define this for video support, without using driver model. Some 679 drivers use this because they are not yet converted to driver 680 model. Video drivers typically provide a colour text console and 681 cursor. 682 683config CFB_CONSOLE 684 bool "Enable colour frame buffer console" 685 depends on VIDEO || ARCH_OMAP2PLUS 686 default y if VIDEO 687 help 688 Enables the colour frame buffer driver. This supports colour 689 output on a bitmap display from an in-memory frame buffer. 690 Several colour devices are supported along with various options to 691 adjust the supported features. The driver is implemented in 692 cfb_console.c 693 694 The following defines are needed (cf. smiLynxEM, i8042) 695 VIDEO_FB_LITTLE_ENDIAN graphic memory organisation 696 (default big endian) 697 VIDEO_HW_RECTFILL graphic chip supports 698 rectangle fill (cf. smiLynxEM) 699 VIDEO_HW_BITBLT graphic chip supports 700 bit-blit (cf. smiLynxEM) 701 VIDEO_VISIBLE_COLS visible pixel columns (cols=pitch) 702 VIDEO_VISIBLE_ROWS visible pixel rows 703 VIDEO_PIXEL_SIZE bytes per pixel 704 VIDEO_DATA_FORMAT graphic data format 705 (0-5, cf. cfb_console.c) 706 VIDEO_FB_ADRS framebuffer address 707 VIDEO_KBD_INIT_FCT keyboard int fct (i.e. rx51_kp_init()) 708 VIDEO_TSTC_FCT test char fct (i.e. rx51_kp_tstc) 709 VIDEO_GETC_FCT get char fct (i.e. rx51_kp_getc) 710 CONFIG_VIDEO_LOGO display Linux logo in upper left corner 711 CONFIG_VIDEO_BMP_LOGO use bmp_logo.h instead of linux_logo.h 712 for logo. Requires CONFIG_VIDEO_LOGO 713 CONFIG_CONSOLE_EXTRA_INFO 714 additional board info beside 715 the logo 716 CONFIG_HIDE_LOGO_VERSION 717 do not display bootloader 718 version string 719 720 When CONFIG_CFB_CONSOLE is defined, the video console is the 721 default console. The serial console can be forced by setting the 722 environment 'console=serial'. 723 724config CFB_CONSOLE_ANSI 725 bool "Support ANSI escape sequences" 726 depends on CFB_CONSOLE 727 help 728 This allows the colour buffer frame buffer driver to support 729 a limited number of ANSI escape sequences (cursor control, 730 erase functions and limited graphics rendition control). Normal 731 output from U-Boot will pass through this filter. 732 733config VGA_AS_SINGLE_DEVICE 734 bool "Set the video as an output-only device" 735 depends on CFB_CONSOLE 736 default y 737 help 738 If enable the framebuffer device will be initialized as an 739 output-only device. The Keyboard driver will not be set up. This 740 may be used if you have no keyboard device, or more than one 741 (USB Keyboard, AT Keyboard). 742 743config VIDEO_SW_CURSOR 744 bool "Enable a software cursor" 745 depends on CFB_CONSOLE 746 default y if CFB_CONSOLE 747 help 748 This draws a cursor after the last character. No blinking is 749 provided. This makes it possible to see the current cursor 750 position when entering text on the console. It is recommended to 751 enable this. 752 753config CONSOLE_EXTRA_INFO 754 bool "Display additional board information" 755 depends on CFB_CONSOLE 756 help 757 Display additional board information strings that normally go to 758 the serial port. When this option is enabled, a board-specific 759 function video_get_info_str() is called to get the string for 760 each line of the display. The function should return the string, 761 which can be empty if there is nothing to display for that line. 762 763config CONSOLE_SCROLL_LINES 764 int "Number of lines to scroll the console by" 765 depends on CFB_CONSOLE || DM_VIDEO || LCD 766 default 1 767 help 768 When the console need to be scrolled, this is the number of 769 lines to scroll by. It defaults to 1. Increasing this makes the 770 console jump but can help speed up operation when scrolling 771 is slow. 772 773config SYS_CONSOLE_BG_COL 774 hex "Background colour" 775 depends on CFB_CONSOLE 776 default 0x00 777 help 778 Defines the background colour for the console. The value is from 779 0x00 to 0xff and the meaning depends on the graphics card. 780 Typically, 0x00 means black and 0xff means white. Do not set 781 the background and foreground to the same colour or you will see 782 nothing. 783 784config SYS_CONSOLE_FG_COL 785 hex "Foreground colour" 786 depends on CFB_CONSOLE 787 default 0xa0 788 help 789 Defines the foreground colour for the console. The value is from 790 0x00 to 0xff and the meaning depends on the graphics card. 791 Typically, 0x00 means black and 0xff means white. Do not set 792 the background and foreground to the same colour or you will see 793 nothing. 794 795config LCD 796 bool "Enable legacy LCD support" 797 help 798 Define this to enable LCD support (for output to LCD display). 799 You will also need to select an LCD driver using an additional 800 CONFIG option. See the README for details. Drives which have been 801 converted to driver model will instead used CONFIG_DM_VIDEO. 802 803config VIDEO_DW_HDMI 804 bool 805 help 806 Enables the common driver code for the Designware HDMI TX 807 block found in SoCs from various vendors. 808 As this does not provide any functionality by itself (but 809 rather requires a SoC-specific glue driver to call it), it 810 can not be enabled from the configuration menu. 811 812config VIDEO_DSI_HOST_SANDBOX 813 bool "Enable sandbox for dsi host" 814 depends on SANDBOX 815 select VIDEO_MIPI_DSI 816 help 817 Enable support for sandbox dsi host device used for testing 818 purposes. 819 Display Serial Interface (DSI) defines a serial bus and 820 a communication protocol between the host and the device 821 (panel, bridge). 822 823config VIDEO_DW_MIPI_DSI 824 bool 825 select VIDEO_MIPI_DSI 826 help 827 Enables the common driver code for the Synopsis Designware 828 MIPI DSI block found in SoCs from various vendors. 829 As this does not provide any functionality by itself (but 830 rather requires a SoC-specific glue driver to call it), it 831 can not be enabled from the configuration menu. 832 833config VIDEO_SIMPLE 834 bool "Simple display driver for preconfigured display" 835 help 836 Enables a simple generic display driver which utilizes the 837 simple-framebuffer devicetree bindings. 838 839 This driver assumes that the display hardware has been initialized 840 before u-boot starts, and u-boot will simply render to the pre- 841 allocated frame buffer surface. 842 843config VIDEO_DT_SIMPLEFB 844 bool "Enable SimpleFB support for passing framebuffer to OS" 845 help 846 Enables the code to pass the framebuffer to the kernel as a 847 simple framebuffer in the device tree. 848 The video output is initialized by U-Boot, and kept by the 849 kernel. 850 851config VIDEO_MCDE_SIMPLE 852 bool "Simple driver for ST-Ericsson MCDE with preconfigured display" 853 depends on DM_VIDEO 854 help 855 Enables a simple display driver for ST-Ericsson MCDE 856 (Multichannel Display Engine), which reads the configuration from 857 the MCDE registers. 858 859 This driver assumes that the display hardware has been initialized 860 before u-boot starts, and u-boot will simply render to the pre- 861 allocated frame buffer surface. 862 863config OSD 864 bool "Enable OSD support" 865 depends on DM 866 help 867 This supports drivers that provide a OSD (on-screen display), which 868 is a (usually text-oriented) graphics buffer to show information on 869 a display. 870 871config SANDBOX_OSD 872 bool "Enable sandbox OSD" 873 depends on OSD 874 help 875 Enable support for sandbox OSD device used for testing purposes. 876 877config IHS_VIDEO_OUT 878 bool "Enable IHS video out driver" 879 depends on OSD 880 help 881 Enable support for the gdsys Integrated Hardware Systems (IHS) video 882 out On-screen Display (OSD) used on gdsys FPGAs to control dynamic 883 textual overlays of the display outputs. 884 885config SPLASH_SCREEN 886 bool "Show a splash-screen image" 887 help 888 If this option is set, the environment is checked for a variable 889 "splashimage". If found, the usual display of logo, copyright and 890 system information on the LCD is suppressed and the BMP image at the 891 address specified in "splashimage" is loaded instead. The console is 892 redirected to the "nulldev", too. This allows for a "silent" boot 893 where a splash screen is loaded very quickly after power-on. 894 895 The splash_screen_prepare() function is a weak function defined in 896 common/splash.c. It is called as part of the splash screen display 897 sequence. It gives the board an opportunity to prepare the splash 898 image data before it is processed and sent to the frame buffer by 899 U-Boot. Define your own version to use this feature. 900 901config SPLASHIMAGE_GUARD 902 bool "Support unaligned BMP images" 903 depends on SPLASH_SCREEN 904 help 905 If this option is set, then U-Boot will prevent the environment 906 variable "splashimage" from being set to a problematic address 907 (see doc/README.displaying-bmps). 908 909 This option is useful for targets where, due to alignment 910 restrictions, an improperly aligned BMP image will cause a data 911 abort. If you think you will not have problems with unaligned 912 accesses (for example because your toolchain prevents them) 913 there is no need to set this option. 914 915config SPLASH_SCREEN_ALIGN 916 bool "Allow positioning the splash image anywhere on the display" 917 depends on SPLASH_SCREEN || CMD_BMP 918 help 919 If this option is set the splash image can be freely positioned 920 on the screen. Environment variable "splashpos" specifies the 921 position as "x,y". If a positive number is given it is used as 922 number of pixel from left/top. If a negative number is given it 923 is used as number of pixel from right/bottom. You can also 924 specify 'm' for centering the image. 925 926 Example: 927 setenv splashpos m,m 928 => image at center of screen 929 930 setenv splashpos 30,20 931 => image at x = 30 and y = 20 932 933 setenv splashpos -10,m 934 => vertically centered image 935 at x = dspWidth - bmpWidth - 9 936 937config SPLASH_SOURCE 938 bool "Control the source of the splash image" 939 depends on SPLASH_SCREEN 940 help 941 Use the splash_source.c library. This library provides facilities to 942 declare board specific splash image locations, routines for loading 943 splash image from supported locations, and a way of controlling the 944 selected splash location using the "splashsource" environment 945 variable. 946 947 This CONFIG works as follows: 948 949 - If splashsource is set to a supported location name as defined by 950 board code, use that splash location. 951 - If splashsource is undefined, use the first splash location as 952 default. 953 - If splashsource is set to an unsupported value, do not load a splash 954 screen. 955 956 A splash source location can describe either storage with raw data, a 957 storage formatted with a file system or a FIT image. In case of a 958 filesystem, the splash screen data is loaded as a file. The name of 959 the splash screen file can be controlled with the environment variable 960 "splashfile". 961 962 To enable loading the splash image from a FIT image, CONFIG_FIT must 963 be enabled. The FIT image has to start at the 'offset' field address 964 in the selected splash location. The name of splash image within the 965 FIT shall be specified by the environment variable "splashfile". 966 967 In case the environment variable "splashfile" is not defined the 968 default name 'splash.bmp' will be used. 969 970config VIDEO_BMP_GZIP 971 bool "Gzip compressed BMP image support" 972 depends on CMD_BMP || SPLASH_SCREEN 973 help 974 If this option is set, additionally to standard BMP 975 images, gzipped BMP images can be displayed via the 976 splashscreen support or the bmp command. 977 978config VIDEO_BMP_RLE8 979 bool "Run length encoded BMP image (RLE8) support" 980 depends on DM_VIDEO || CFB_CONSOLE 981 help 982 If this option is set, the 8-bit RLE compressed BMP images 983 is supported. 984 985config BMP_16BPP 986 bool "16-bit-per-pixel BMP image support" 987 depends on DM_VIDEO || LCD 988 help 989 Support display of bitmaps file with 16-bit-per-pixel 990 991config BMP_24BPP 992 bool "24-bit-per-pixel BMP image support" 993 depends on DM_VIDEO || LCD 994 help 995 Support display of bitmaps file with 24-bit-per-pixel. 996 997config BMP_32BPP 998 bool "32-bit-per-pixel BMP image support" 999 depends on DM_VIDEO || LCD 1000 help 1001 Support display of bitmaps file with 32-bit-per-pixel. 1002 1003config VIDEO_VCXK 1004 bool "Enable VCXK video controller driver support" 1005 help 1006 This enables VCXK driver which can be used with VC2K, VC4K 1007 and VC8K devices on various boards from BuS Elektronik GmbH. 1008 1009endmenu 1010