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 92source "drivers/video/fonts/Kconfig" 93 94config VIDEO_VESA 95 bool "Enable VESA video driver support" 96 default n 97 help 98 Turn on this option to enable a very simple driver which uses vesa 99 to discover the video mode and then provides a frame buffer for use 100 by U-Boot. This can in principle be used with any platform that 101 supports PCI and video cards that support VESA BIOS Extension (VBE). 102 103config FRAMEBUFFER_SET_VESA_MODE 104 bool "Set framebuffer graphics resolution" 105 depends on VIDEO_VESA 106 help 107 Set VESA/native framebuffer mode (needed for bootsplash and graphical 108 framebuffer console) 109 110choice 111 prompt "framebuffer graphics resolution" 112 default FRAMEBUFFER_VESA_MODE_117 113 depends on FRAMEBUFFER_SET_VESA_MODE 114 help 115 This option sets the resolution used for the U-Boot framebuffer (and 116 bootsplash screen). 117 118config FRAMEBUFFER_VESA_MODE_100 119 bool "640x400 256-color" 120 121config FRAMEBUFFER_VESA_MODE_101 122 bool "640x480 256-color" 123 124config FRAMEBUFFER_VESA_MODE_102 125 bool "800x600 16-color" 126 127config FRAMEBUFFER_VESA_MODE_103 128 bool "800x600 256-color" 129 130config FRAMEBUFFER_VESA_MODE_104 131 bool "1024x768 16-color" 132 133config FRAMEBUFFER_VESA_MODE_105 134 bool "1024x768 256-color" 135 136config FRAMEBUFFER_VESA_MODE_106 137 bool "1280x1024 16-color" 138 139config FRAMEBUFFER_VESA_MODE_107 140 bool "1280x1024 256-color" 141 142config FRAMEBUFFER_VESA_MODE_108 143 bool "80x60 text" 144 145config FRAMEBUFFER_VESA_MODE_109 146 bool "132x25 text" 147 148config FRAMEBUFFER_VESA_MODE_10A 149 bool "132x43 text" 150 151config FRAMEBUFFER_VESA_MODE_10B 152 bool "132x50 text" 153 154config FRAMEBUFFER_VESA_MODE_10C 155 bool "132x60 text" 156 157config FRAMEBUFFER_VESA_MODE_10D 158 bool "320x200 32k-color (1:5:5:5)" 159 160config FRAMEBUFFER_VESA_MODE_10E 161 bool "320x200 64k-color (5:6:5)" 162 163config FRAMEBUFFER_VESA_MODE_10F 164 bool "320x200 16.8M-color (8:8:8)" 165 166config FRAMEBUFFER_VESA_MODE_110 167 bool "640x480 32k-color (1:5:5:5)" 168 169config FRAMEBUFFER_VESA_MODE_111 170 bool "640x480 64k-color (5:6:5)" 171 172config FRAMEBUFFER_VESA_MODE_112 173 bool "640x480 16.8M-color (8:8:8)" 174 175config FRAMEBUFFER_VESA_MODE_113 176 bool "800x600 32k-color (1:5:5:5)" 177 178config FRAMEBUFFER_VESA_MODE_114 179 bool "800x600 64k-color (5:6:5)" 180 181config FRAMEBUFFER_VESA_MODE_115 182 bool "800x600 16.8M-color (8:8:8)" 183 184config FRAMEBUFFER_VESA_MODE_116 185 bool "1024x768 32k-color (1:5:5:5)" 186 187config FRAMEBUFFER_VESA_MODE_117 188 bool "1024x768 64k-color (5:6:5)" 189 190config FRAMEBUFFER_VESA_MODE_118 191 bool "1024x768 16.8M-color (8:8:8)" 192 193config FRAMEBUFFER_VESA_MODE_119 194 bool "1280x1024 32k-color (1:5:5:5)" 195 196config FRAMEBUFFER_VESA_MODE_11A 197 bool "1280x1024 64k-color (5:6:5)" 198 199config FRAMEBUFFER_VESA_MODE_11B 200 bool "1280x1024 16.8M-color (8:8:8)" 201 202config FRAMEBUFFER_VESA_MODE_USER 203 bool "Manually select VESA mode" 204 205endchoice 206 207# Map the config names to an integer (KB). 208config FRAMEBUFFER_VESA_MODE 209 prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER 210 hex 211 default 0x100 if FRAMEBUFFER_VESA_MODE_100 212 default 0x101 if FRAMEBUFFER_VESA_MODE_101 213 default 0x102 if FRAMEBUFFER_VESA_MODE_102 214 default 0x103 if FRAMEBUFFER_VESA_MODE_103 215 default 0x104 if FRAMEBUFFER_VESA_MODE_104 216 default 0x105 if FRAMEBUFFER_VESA_MODE_105 217 default 0x106 if FRAMEBUFFER_VESA_MODE_106 218 default 0x107 if FRAMEBUFFER_VESA_MODE_107 219 default 0x108 if FRAMEBUFFER_VESA_MODE_108 220 default 0x109 if FRAMEBUFFER_VESA_MODE_109 221 default 0x10A if FRAMEBUFFER_VESA_MODE_10A 222 default 0x10B if FRAMEBUFFER_VESA_MODE_10B 223 default 0x10C if FRAMEBUFFER_VESA_MODE_10C 224 default 0x10D if FRAMEBUFFER_VESA_MODE_10D 225 default 0x10E if FRAMEBUFFER_VESA_MODE_10E 226 default 0x10F if FRAMEBUFFER_VESA_MODE_10F 227 default 0x110 if FRAMEBUFFER_VESA_MODE_110 228 default 0x111 if FRAMEBUFFER_VESA_MODE_111 229 default 0x112 if FRAMEBUFFER_VESA_MODE_112 230 default 0x113 if FRAMEBUFFER_VESA_MODE_113 231 default 0x114 if FRAMEBUFFER_VESA_MODE_114 232 default 0x115 if FRAMEBUFFER_VESA_MODE_115 233 default 0x116 if FRAMEBUFFER_VESA_MODE_116 234 default 0x117 if FRAMEBUFFER_VESA_MODE_117 235 default 0x118 if FRAMEBUFFER_VESA_MODE_118 236 default 0x119 if FRAMEBUFFER_VESA_MODE_119 237 default 0x11A if FRAMEBUFFER_VESA_MODE_11A 238 default 0x11B if FRAMEBUFFER_VESA_MODE_11B 239 default 0x117 if FRAMEBUFFER_VESA_MODE_USER 240 241config VIDEO_LCD_ANX9804 242 bool "ANX9804 bridge chip" 243 default n 244 ---help--- 245 Support for the ANX9804 bridge chip, which can take pixel data coming 246 from a parallel LCD interface and translate it on the fy into a DP 247 interface for driving eDP TFT displays. It uses I2C for configuration. 248 249config VIDEO_LCD_SSD2828 250 bool "SSD2828 bridge chip" 251 default n 252 ---help--- 253 Support for the SSD2828 bridge chip, which can take pixel data coming 254 from a parallel LCD interface and translate it on the fly into MIPI DSI 255 interface for driving a MIPI compatible LCD panel. It uses SPI for 256 configuration. 257 258config VIDEO_LCD_SSD2828_TX_CLK 259 int "SSD2828 TX_CLK frequency (in MHz)" 260 depends on VIDEO_LCD_SSD2828 261 default 0 262 ---help--- 263 The frequency of the crystal, which is clocking SSD2828. It may be 264 anything in the 8MHz-30MHz range and the exact value should be 265 retrieved from the board schematics. Or in the case of Allwinner 266 hardware, it can be usually found as 'lcd_xtal_freq' variable in 267 FEX files. It can be also set to 0 for selecting PCLK from the 268 parallel LCD interface instead of TX_CLK as the PLL clock source. 269 270config VIDEO_LCD_SSD2828_RESET 271 string "RESET pin of SSD2828" 272 depends on VIDEO_LCD_SSD2828 273 default "" 274 ---help--- 275 The reset pin of SSD2828 chip. This takes a string in the format 276 understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 277 278config VIDEO_LCD_HITACHI_TX18D42VM 279 bool "Hitachi tx18d42vm LVDS LCD panel support" 280 depends on VIDEO 281 default n 282 ---help--- 283 Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a 284 lcd controller which needs to be initialized over SPI, once that is 285 done they work like a regular LVDS panel. 286 287config VIDEO_LCD_SPI_CS 288 string "SPI CS pin for LCD related config job" 289 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 290 default "" 291 ---help--- 292 This is one of the SPI communication pins, involved in setting up a 293 working LCD configuration. The exact role of SPI may differ for 294 different hardware setups. The option takes a string in the format 295 understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 296 297config VIDEO_LCD_SPI_SCLK 298 string "SPI SCLK pin for LCD related config job" 299 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 300 default "" 301 ---help--- 302 This is one of the SPI communication pins, involved in setting up a 303 working LCD configuration. The exact role of SPI may differ for 304 different hardware setups. The option takes a string in the format 305 understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 306 307config VIDEO_LCD_SPI_MOSI 308 string "SPI MOSI pin for LCD related config job" 309 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM 310 default "" 311 ---help--- 312 This is one of the SPI communication pins, involved in setting up a 313 working LCD configuration. The exact role of SPI may differ for 314 different hardware setups. The option takes a string in the format 315 understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. 316 317config VIDEO_LCD_SPI_MISO 318 string "SPI MISO pin for LCD related config job (optional)" 319 depends on VIDEO_LCD_SSD2828 320 default "" 321 ---help--- 322 This is one of the SPI communication pins, involved in setting up a 323 working LCD configuration. The exact role of SPI may differ for 324 different hardware setups. If wired up, this pin may provide additional 325 useful functionality. Such as bi-directional communication with the 326 hardware and LCD panel id retrieval (if the panel can report it). The 327 option takes a string in the format understood by 'name_to_gpio' 328 function, e.g. PH1 for pin 1 of port H. 329 330config VIDEO_MVEBU 331 bool "Armada XP LCD controller" 332 default n 333 ---help--- 334 Support for the LCD controller integrated in the Marvell 335 Armada XP SoC. 336 337config I2C_EDID 338 bool "Enable EDID library" 339 depends on DM_I2C 340 default n 341 help 342 This enables library for accessing EDID data from an LCD panel. 343 344config DISPLAY 345 bool "Enable Display support" 346 depends on DM 347 default n 348 select I2C_EDID 349 help 350 This supports drivers that provide a display, such as eDP (Embedded 351 DisplayPort) and HDMI (High Definition Multimedia Interface). 352 The devices provide a simple interface to start up the display, 353 read display information and enable it. 354 355config VIDEO_ROCKCHIP 356 bool "Enable Rockchip video support" 357 depends on DM_VIDEO 358 help 359 Rockchip SoCs provide video output capabilities for High-Definition 360 Multimedia Interface (HDMI), Low-voltage Differential Signalling 361 (LVDS), embedded DisplayPort (eDP) and Display Serial Interface 362 (DSI). This driver supports the on-chip video output device, and 363 targets the Rockchip RK3288. 364 365config VIDEO_SANDBOX_SDL 366 bool "Enable sandbox video console using SDL" 367 depends on SANDBOX 368 help 369 When using sandbox you can enable an emulated LCD display which 370 appears as an SDL (Simple DirectMedia Layer) window. This is a 371 console device and can display stdout output. Within U-Boot is is 372 a normal bitmap display and can display images as well as text. 373 374config VIDEO_TEGRA124 375 bool "Enable video support on Tegra124" 376 help 377 Tegra124 supports many video output options including eDP and 378 HDMI. At present only eDP is supported by U-Boot. This option 379 enables this support which can be used on devices which 380 have an eDP display connected. 381 382source "drivers/video/bridge/Kconfig" 383 384endmenu 385