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