blob: 743fd8bbb25dc16b555f302ec948a894821f1049 [file] [log] [blame]
Masahiro Yamadacc85b7b2015-07-26 02:46:26 +09001#
2# Video configuration
3#
4
5menu "Graphics support"
6
Simon Glass623d28f2016-01-18 19:52:15 -07007config 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
Simon Glass8e5a8b62021-11-19 13:24:01 -070017config VIDEO_LOGO
18 bool "Show the U-Boot logo on the display"
19 depends on DM_VIDEO
Simon Glass7a6528592021-11-19 13:24:04 -070020 default y if !SPLASH_SCREEN
Simon Glass87a3cd72021-11-19 13:24:03 -070021 select VIDEO_BMP_RLE8
Simon Glass8e5a8b62021-11-19 13:24:01 -070022 help
23 This enables showing the U-Boot logo on the display when a video
24 device is probed. It appears at the top right. The logo itself is at
25 tools/logos/u-boot_logo.bmp and looks best when the display has a
26 black background.
27
Anatolij Gustschin0dcb3fd2020-05-26 00:20:49 +020028config BACKLIGHT
29 bool "Enable panel backlight uclass support"
30 depends on DM_VIDEO
31 default y
32 help
33 This provides backlight uclass driver that enables basic panel
34 backlight support.
35
Simon Glassc3d2f352020-07-02 21:12:33 -060036config VIDEO_PCI_DEFAULT_FB_SIZE
37 hex "Default framebuffer size to use if no drivers request it"
38 depends on DM_VIDEO
39 default 0x1000000 if X86 && PCI
40 default 0 if !(X86 && PCI)
41 help
42 Generally, video drivers request the amount of memory they need for
43 the frame buffer when they are bound, by setting the size field in
Dario Binacchi2ec85772021-01-23 19:43:52 +010044 struct video_uc_plat. That memory is then reserved for use after
Simon Glassc3d2f352020-07-02 21:12:33 -060045 relocation. But PCI drivers cannot be bound before relocation unless
46 they are mentioned in the devicetree.
47
48 With this value set appropriately, it is possible for PCI video
49 devices to have a framebuffer allocated by U-Boot.
50
51 Note: the framebuffer needs to be large enough to store all pixels at
52 maximum resolution. For example, at 1920 x 1200 with 32 bits per
53 pixel, 2560 * 1600 * 32 / 8 = 0xfa0000 bytes are needed.
54
Simon Glass73c9c372020-07-02 21:12:20 -060055config VIDEO_COPY
56 bool "Enable copying the frame buffer to a hardware copy"
57 depends on DM_VIDEO
58 help
59 On some machines (e.g. x86), reading from the frame buffer is very
60 slow because it is uncached. To improve performance, this feature
61 allows the frame buffer to be kept in cached memory (allocated by
62 U-Boot) and then copied to the hardware frame-buffer as needed.
63
64 To use this, your video driver must set @copy_base in
Dario Binacchi2ec85772021-01-23 19:43:52 +010065 struct video_uc_plat.
Simon Glass73c9c372020-07-02 21:12:20 -060066
Patrick Delaunay4300f072017-08-03 12:36:06 +020067config BACKLIGHT_PWM
68 bool "Generic PWM based Backlight Driver"
Anatolij Gustschin0dcb3fd2020-05-26 00:20:49 +020069 depends on BACKLIGHT && DM_PWM
Patrick Delaunay4300f072017-08-03 12:36:06 +020070 default y
71 help
72 If you have a LCD backlight adjustable by PWM, say Y to enable
73 this driver.
74 This driver can be use with "simple-panel" and
75 it understands the standard device tree
76 (leds/backlight/pwm-backlight.txt)
77
Patrick Delaunaya3c046f2017-08-03 12:36:07 +020078config BACKLIGHT_GPIO
79 bool "Generic GPIO based Backlight Driver"
Anatolij Gustschin0dcb3fd2020-05-26 00:20:49 +020080 depends on BACKLIGHT
Patrick Delaunaya3c046f2017-08-03 12:36:07 +020081 help
82 If you have a LCD backlight adjustable by GPIO, say Y to enable
83 this driver.
84 This driver can be used with "simple-panel" and
85 it understands the standard device tree
86 (leds/backlight/gpio-backlight.txt)
87
Anatolij Gustschin20b79192020-05-25 21:47:19 +020088config CMD_VIDCONSOLE
89 bool "Enable vidconsole commands lcdputs and setcurs"
90 depends on DM_VIDEO
91 default y
92 help
93 Enabling this will provide 'setcurs' and 'lcdputs' commands which
94 support cursor positioning and drawing strings on video framebuffer.
95
Simon Glass623d28f2016-01-18 19:52:15 -070096config VIDEO_BPP8
97 bool "Support 8-bit-per-pixel displays"
98 depends on DM_VIDEO
Anatolij Gustschindba36702020-02-04 22:43:06 +010099 default y
Simon Glass623d28f2016-01-18 19:52:15 -0700100 help
101 Support drawing text and bitmaps onto a 8-bit-per-pixel display.
102 Enabling this will include code to support this display. Without
103 this option, such displays will not be supported and console output
104 will be empty.
105
106config VIDEO_BPP16
107 bool "Support 16-bit-per-pixel displays"
108 depends on DM_VIDEO
Anatolij Gustschindba36702020-02-04 22:43:06 +0100109 default y
Simon Glass623d28f2016-01-18 19:52:15 -0700110 help
111 Support drawing text and bitmaps onto a 16-bit-per-pixel display.
112 Enabling this will include code to support this display. Without
113 this option, such displays will not be supported and console output
114 will be empty.
115
116config VIDEO_BPP32
117 bool "Support 32-bit-per-pixel displays"
118 depends on DM_VIDEO
Anatolij Gustschindba36702020-02-04 22:43:06 +0100119 default y
Simon Glass623d28f2016-01-18 19:52:15 -0700120 help
121 Support drawing text and bitmaps onto a 32-bit-per-pixel display.
122 Enabling this will include code to support this display. Without
123 this option, such displays will not be supported and console output
124 will be empty.
125
Rob Clark06e7a0d2017-09-13 18:12:21 -0400126config VIDEO_ANSI
127 bool "Support ANSI escape sequences in video console"
128 depends on DM_VIDEO
Anatolij Gustschindba36702020-02-04 22:43:06 +0100129 default y
Rob Clark06e7a0d2017-09-13 18:12:21 -0400130 help
131 Enable ANSI escape sequence decoding for a more fully functional
132 console.
133
Yannick Fertréd08fb322019-10-07 15:29:04 +0200134config VIDEO_MIPI_DSI
135 bool "Support MIPI DSI interface"
136 depends on DM_VIDEO
137 help
138 Support MIPI DSI interface for driving a MIPI compatible device.
139 The MIPI Display Serial Interface (MIPI DSI) defines a high-speed
140 serial interface between a host processor and a display module.
141
Simon Glass6e0721d2016-01-22 21:53:37 +0100142config CONSOLE_NORMAL
143 bool "Support a simple text console"
144 depends on DM_VIDEO
145 default y if DM_VIDEO
146 help
147 Support drawing text on the frame buffer console so that it can be
148 used as a console. Rotation is not supported by this driver (see
149 CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used
150 for the display.
151
152config CONSOLE_ROTATION
Simon Glass87aae882016-01-18 19:52:19 -0700153 bool "Support rotated displays"
154 depends on DM_VIDEO
155 help
156 Sometimes, for example if the display is mounted in portrait
157 mode or even if it's mounted landscape but rotated by 180degree,
158 we need to rotate our content of the display relative to the
159 framebuffer, so that user can read the messages which are
160 printed out. Enable this option to include a text driver which can
161 support this. The rotation is set by the 'rot' parameter in
162 struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180
163 degrees, 3=270 degrees.
164
Simon Glass2ef353e2016-01-14 18:10:42 -0700165config CONSOLE_TRUETYPE
166 bool "Support a console that uses TrueType fonts"
167 depends on DM_VIDEO
168 help
169 TrueTrype fonts can provide outline-drawing capability rather than
170 needing to provide a bitmap for each font and size that is needed.
171 With this option you can adjust the text size and use a variety of
172 fonts. Note that this is noticeably slower than with normal console.
173
Moses Christopherdb4b2342021-01-06 15:31:35 +0000174config DM_PANEL_HX8238D
175 bool "Enable Himax HX-8238D LCD driver"
176 depends on DM_VIDEO
177 help
178 Support for HX-8238D LCD Panel
179 The HX8238-D is a single chip controller and driver LSI that
180 integrates the power circuit.
181 It can drive a maximum 960x240 dot graphics on a-TFT panel
182 displays in 16M colors with dithering.
183
Simon Glass2ef353e2016-01-14 18:10:42 -0700184config CONSOLE_TRUETYPE_SIZE
185 int "TrueType font size"
186 depends on CONSOLE_TRUETYPE
187 default 18
188 help
189 This sets the font size for the console. The size is measured in
190 pixels and is the nominal height of a character. Note that fonts
191 are commonly measured in 'points', being 1/72 inch (about 3.52mm).
192 However that measurement depends on the size of your display and
193 there is no standard display density. At present there is not a
194 method to select the display's physical size, which would allow
195 U-Boot to calculate the correct font size.
196
Simon Glassd65a1422017-04-26 22:27:57 -0600197config SYS_WHITE_ON_BLACK
198 bool "Display console as white on a black background"
Trevor Woerner513f6402020-05-06 08:02:41 -0400199 default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || ARCH_TEGRA || X86 || ARCH_SUNXI
Simon Glassd65a1422017-04-26 22:27:57 -0600200 help
201 Normally the display is black on a white background, Enable this
202 option to invert this, i.e. white on a black background. This can be
203 better in low-light situations or to reduce eye strain in some
204 cases.
205
Rob Clarkf1411882017-08-03 12:47:01 -0400206config NO_FB_CLEAR
207 bool "Skip framebuffer clear"
208 help
209 If firmware (whatever loads u-boot) has already put a splash image
210 on screen, you might want to preserve it until whatever u-boot
211 loads takes over the screen. This, for example, can be used to
212 keep splash image on screen until grub graphical boot menu starts.
213
Anatolij Gustschin0dcb3fd2020-05-26 00:20:49 +0200214config PANEL
215 bool "Enable panel uclass support"
216 depends on DM_VIDEO
217 default y
218 help
219 This provides panel uclass driver that enables basic panel support.
220
221config SIMPLE_PANEL
222 bool "Enable simple panel support"
Asherah Connor81b0f612021-03-03 14:46:47 +1100223 depends on PANEL && BACKLIGHT && DM_GPIO
Anatolij Gustschin0dcb3fd2020-05-26 00:20:49 +0200224 default y
225 help
226 This turns on a simple panel driver that enables a compatible
227 video panel.
228
Simon Glass2ef353e2016-01-14 18:10:42 -0700229source "drivers/video/fonts/Kconfig"
230
Simon Glass86f07462016-02-06 14:31:37 -0700231config VIDCONSOLE_AS_LCD
Patrick Delaunay60b92242020-07-01 14:56:10 +0200232 bool "Use 'vidconsole' when CONFIG_VIDCONSOLE_AS_NAME string is seen in stdout"
Simon Glass86f07462016-02-06 14:31:37 -0700233 depends on DM_VIDEO
Patrick Delaunay60b92242020-07-01 14:56:10 +0200234 help
235 This is a work-around for boards which have 'lcd' or 'vga' in their
236 stdout environment variable, but have moved to use driver model for
237 video. In this case the console will no-longer work. While it is
238 possible to update the environment, the breakage may be confusing for
239 users. This option will be removed around the end of 2020.
240
241config VIDCONSOLE_AS_NAME
242 string "Use 'vidconsole' when string defined here is seen in stdout"
243 depends on VIDCONSOLE_AS_LCD
Anatolij Gustschin47020642020-05-23 17:11:20 +0200244 default "lcd" if LCD || TEGRA_COMMON
245 default "vga" if !LCD
Simon Glass86f07462016-02-06 14:31:37 -0700246 help
Anatolij Gustschin47020642020-05-23 17:11:20 +0200247 This is a work-around for boards which have 'lcd' or 'vga' in their
248 stdout environment variable, but have moved to use driver model for
249 video. In this case the console will no-longer work. While it is
250 possible to update the environment, the breakage may be confusing for
251 users. This option will be removed around the end of 2020.
Simon Glass86f07462016-02-06 14:31:37 -0700252
Bin Menga0676be2016-10-09 04:14:16 -0700253config VIDEO_COREBOOT
254 bool "Enable coreboot framebuffer driver support"
Simon Glassd2398ab2021-03-15 18:00:27 +1300255 depends on X86
Bin Menga0676be2016-10-09 04:14:16 -0700256 help
257 Turn on this option to enable a framebuffer driver when U-Boot is
258 loaded by coreboot where the graphics device is configured by
259 coreboot already. This can in principle be used with any platform
260 that coreboot supports.
261
Bin Meng0f862b92018-06-12 08:36:22 -0700262config VIDEO_EFI
263 bool "Enable EFI framebuffer driver support"
Simon Glass04c26ff2021-11-03 21:09:10 -0600264 depends on EFI_STUB || EFI_APP
Bin Meng0f862b92018-06-12 08:36:22 -0700265 help
266 Turn on this option to enable a framebuffeer driver when U-Boot is
267 loaded as a payload (see README.u-boot_on_efi) by an EFI BIOS where
268 the graphics device is configured by the EFI BIOS already. This can
269 in principle be used with any platform that has an EFI BIOS.
270
Simon Glass42bf3ee2014-12-29 19:32:28 -0700271config VIDEO_VESA
272 bool "Enable VESA video driver support"
Simon Glass42bf3ee2014-12-29 19:32:28 -0700273 help
274 Turn on this option to enable a very simple driver which uses vesa
275 to discover the video mode and then provides a frame buffer for use
276 by U-Boot. This can in principle be used with any platform that
277 supports PCI and video cards that support VESA BIOS Extension (VBE).
278
Bin Meng072b79d2015-05-11 07:36:29 +0800279config FRAMEBUFFER_SET_VESA_MODE
280 bool "Set framebuffer graphics resolution"
Simon Glassdec49b72016-03-11 22:07:30 -0700281 depends on VIDEO_VESA || VIDEO_BROADWELL_IGD
Bin Meng072b79d2015-05-11 07:36:29 +0800282 help
283 Set VESA/native framebuffer mode (needed for bootsplash and graphical
284 framebuffer console)
285
286choice
287 prompt "framebuffer graphics resolution"
Bin Meng4da8a3f2018-04-11 22:02:16 -0700288 default FRAMEBUFFER_VESA_MODE_118
Bin Meng072b79d2015-05-11 07:36:29 +0800289 depends on FRAMEBUFFER_SET_VESA_MODE
290 help
291 This option sets the resolution used for the U-Boot framebuffer (and
292 bootsplash screen).
293
294config FRAMEBUFFER_VESA_MODE_100
295 bool "640x400 256-color"
296
297config FRAMEBUFFER_VESA_MODE_101
298 bool "640x480 256-color"
299
300config FRAMEBUFFER_VESA_MODE_102
301 bool "800x600 16-color"
302
303config FRAMEBUFFER_VESA_MODE_103
304 bool "800x600 256-color"
305
306config FRAMEBUFFER_VESA_MODE_104
307 bool "1024x768 16-color"
308
309config FRAMEBUFFER_VESA_MODE_105
Bin Meng932adc62015-08-09 23:26:59 -0700310 bool "1024x768 256-color"
Bin Meng072b79d2015-05-11 07:36:29 +0800311
312config FRAMEBUFFER_VESA_MODE_106
313 bool "1280x1024 16-color"
314
315config FRAMEBUFFER_VESA_MODE_107
316 bool "1280x1024 256-color"
317
318config FRAMEBUFFER_VESA_MODE_108
319 bool "80x60 text"
320
321config FRAMEBUFFER_VESA_MODE_109
322 bool "132x25 text"
323
324config FRAMEBUFFER_VESA_MODE_10A
325 bool "132x43 text"
326
327config FRAMEBUFFER_VESA_MODE_10B
328 bool "132x50 text"
329
330config FRAMEBUFFER_VESA_MODE_10C
331 bool "132x60 text"
332
333config FRAMEBUFFER_VESA_MODE_10D
334 bool "320x200 32k-color (1:5:5:5)"
335
336config FRAMEBUFFER_VESA_MODE_10E
337 bool "320x200 64k-color (5:6:5)"
338
339config FRAMEBUFFER_VESA_MODE_10F
340 bool "320x200 16.8M-color (8:8:8)"
341
342config FRAMEBUFFER_VESA_MODE_110
343 bool "640x480 32k-color (1:5:5:5)"
344
345config FRAMEBUFFER_VESA_MODE_111
346 bool "640x480 64k-color (5:6:5)"
347
348config FRAMEBUFFER_VESA_MODE_112
349 bool "640x480 16.8M-color (8:8:8)"
350
351config FRAMEBUFFER_VESA_MODE_113
352 bool "800x600 32k-color (1:5:5:5)"
353
354config FRAMEBUFFER_VESA_MODE_114
355 bool "800x600 64k-color (5:6:5)"
356
357config FRAMEBUFFER_VESA_MODE_115
358 bool "800x600 16.8M-color (8:8:8)"
359
360config FRAMEBUFFER_VESA_MODE_116
361 bool "1024x768 32k-color (1:5:5:5)"
362
363config FRAMEBUFFER_VESA_MODE_117
364 bool "1024x768 64k-color (5:6:5)"
365
366config FRAMEBUFFER_VESA_MODE_118
367 bool "1024x768 16.8M-color (8:8:8)"
368
369config FRAMEBUFFER_VESA_MODE_119
370 bool "1280x1024 32k-color (1:5:5:5)"
371
372config FRAMEBUFFER_VESA_MODE_11A
373 bool "1280x1024 64k-color (5:6:5)"
374
375config FRAMEBUFFER_VESA_MODE_11B
376 bool "1280x1024 16.8M-color (8:8:8)"
377
378config FRAMEBUFFER_VESA_MODE_USER
379 bool "Manually select VESA mode"
380
381endchoice
382
383# Map the config names to an integer (KB).
384config FRAMEBUFFER_VESA_MODE
385 prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
386 hex
387 default 0x100 if FRAMEBUFFER_VESA_MODE_100
388 default 0x101 if FRAMEBUFFER_VESA_MODE_101
389 default 0x102 if FRAMEBUFFER_VESA_MODE_102
390 default 0x103 if FRAMEBUFFER_VESA_MODE_103
391 default 0x104 if FRAMEBUFFER_VESA_MODE_104
392 default 0x105 if FRAMEBUFFER_VESA_MODE_105
393 default 0x106 if FRAMEBUFFER_VESA_MODE_106
394 default 0x107 if FRAMEBUFFER_VESA_MODE_107
395 default 0x108 if FRAMEBUFFER_VESA_MODE_108
396 default 0x109 if FRAMEBUFFER_VESA_MODE_109
397 default 0x10A if FRAMEBUFFER_VESA_MODE_10A
398 default 0x10B if FRAMEBUFFER_VESA_MODE_10B
399 default 0x10C if FRAMEBUFFER_VESA_MODE_10C
400 default 0x10D if FRAMEBUFFER_VESA_MODE_10D
401 default 0x10E if FRAMEBUFFER_VESA_MODE_10E
402 default 0x10F if FRAMEBUFFER_VESA_MODE_10F
403 default 0x110 if FRAMEBUFFER_VESA_MODE_110
404 default 0x111 if FRAMEBUFFER_VESA_MODE_111
405 default 0x112 if FRAMEBUFFER_VESA_MODE_112
406 default 0x113 if FRAMEBUFFER_VESA_MODE_113
407 default 0x114 if FRAMEBUFFER_VESA_MODE_114
408 default 0x115 if FRAMEBUFFER_VESA_MODE_115
409 default 0x116 if FRAMEBUFFER_VESA_MODE_116
410 default 0x117 if FRAMEBUFFER_VESA_MODE_117
411 default 0x118 if FRAMEBUFFER_VESA_MODE_118
412 default 0x119 if FRAMEBUFFER_VESA_MODE_119
413 default 0x11A if FRAMEBUFFER_VESA_MODE_11A
414 default 0x11B if FRAMEBUFFER_VESA_MODE_11B
415 default 0x117 if FRAMEBUFFER_VESA_MODE_USER
416
Hans de Goededfc1efe2015-08-08 16:03:29 +0200417config VIDEO_LCD_ANX9804
418 bool "ANX9804 bridge chip"
Hans de Goededfc1efe2015-08-08 16:03:29 +0200419 ---help---
420 Support for the ANX9804 bridge chip, which can take pixel data coming
421 from a parallel LCD interface and translate it on the fy into a DP
422 interface for driving eDP TFT displays. It uses I2C for configuration.
423
Tom Rini4c047422022-03-18 08:38:28 -0400424config ATMEL_LCD
425 bool "Atmel LCD panel support"
426 depends on LCD && ARCH_AT91
427
428config ATMEL_LCD_BGR555
429 bool "Display in BGR555 mode"
430 help
431 Use the BGR555 output mode. Otherwise RGB565 is used.
432
Yannick Fertré5b855d42019-10-07 15:29:08 +0200433config VIDEO_LCD_ORISETECH_OTM8009A
434 bool "OTM8009A DSI LCD panel support"
435 depends on DM_VIDEO
436 select VIDEO_MIPI_DSI
Yannick Fertré5b855d42019-10-07 15:29:08 +0200437 help
438 Say Y here if you want to enable support for Orise Technology
439 otm8009a 480x800 dsi 2dl panel.
440
Yannick Fertréb038fed2019-10-07 15:29:09 +0200441config VIDEO_LCD_RAYDIUM_RM68200
442 bool "RM68200 DSI LCD panel support"
443 depends on DM_VIDEO
444 select VIDEO_MIPI_DSI
Yannick Fertréb038fed2019-10-07 15:29:09 +0200445 help
446 Say Y here if you want to enable support for Raydium RM68200
447 720x1280 DSI video mode panel.
448
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200449config VIDEO_LCD_SSD2828
450 bool "SSD2828 bridge chip"
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200451 ---help---
452 Support for the SSD2828 bridge chip, which can take pixel data coming
453 from a parallel LCD interface and translate it on the fly into MIPI DSI
454 interface for driving a MIPI compatible LCD panel. It uses SPI for
455 configuration.
456
457config VIDEO_LCD_SSD2828_TX_CLK
458 int "SSD2828 TX_CLK frequency (in MHz)"
459 depends on VIDEO_LCD_SSD2828
Siarhei Siamashka61fb91f2015-01-19 05:23:35 +0200460 default 0
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200461 ---help---
462 The frequency of the crystal, which is clocking SSD2828. It may be
463 anything in the 8MHz-30MHz range and the exact value should be
464 retrieved from the board schematics. Or in the case of Allwinner
465 hardware, it can be usually found as 'lcd_xtal_freq' variable in
Siarhei Siamashka61fb91f2015-01-19 05:23:35 +0200466 FEX files. It can be also set to 0 for selecting PCLK from the
467 parallel LCD interface instead of TX_CLK as the PLL clock source.
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200468
469config VIDEO_LCD_SSD2828_RESET
470 string "RESET pin of SSD2828"
471 depends on VIDEO_LCD_SSD2828
472 default ""
473 ---help---
474 The reset pin of SSD2828 chip. This takes a string in the format
Samuel Hollandc7ab95d2021-09-11 16:50:48 -0500475 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200476
Neil Armstrong4a4057a2020-09-29 11:53:53 +0200477config VIDEO_LCD_TDO_TL070WSH30
478 bool "TDO TL070WSH30 DSI LCD panel support"
479 depends on DM_VIDEO
480 select VIDEO_MIPI_DSI
Neil Armstrong4a4057a2020-09-29 11:53:53 +0200481 help
482 Say Y here if you want to enable support for TDO TL070WSH30
483 1024x600 DSI video mode panel.
484
Hans de Goedec0482032015-01-20 09:22:26 +0100485config VIDEO_LCD_HITACHI_TX18D42VM
486 bool "Hitachi tx18d42vm LVDS LCD panel support"
Hans de Goedec0482032015-01-20 09:22:26 +0100487 ---help---
488 Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
489 lcd controller which needs to be initialized over SPI, once that is
490 done they work like a regular LVDS panel.
491
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200492config VIDEO_LCD_SPI_CS
493 string "SPI CS pin for LCD related config job"
Hans de Goedec0482032015-01-20 09:22:26 +0100494 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200495 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
Samuel Hollandc7ab95d2021-09-11 16:50:48 -0500500 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200501
502config VIDEO_LCD_SPI_SCLK
503 string "SPI SCLK pin for LCD related config job"
Hans de Goedec0482032015-01-20 09:22:26 +0100504 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200505 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. The option takes a string in the format
Samuel Hollandc7ab95d2021-09-11 16:50:48 -0500510 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200511
512config VIDEO_LCD_SPI_MOSI
513 string "SPI MOSI pin for LCD related config job"
Hans de Goedec0482032015-01-20 09:22:26 +0100514 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200515 default ""
516 ---help---
517 This is one of the SPI communication pins, involved in setting up a
518 working LCD configuration. The exact role of SPI may differ for
519 different hardware setups. The option takes a string in the format
Samuel Hollandc7ab95d2021-09-11 16:50:48 -0500520 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200521
522config VIDEO_LCD_SPI_MISO
523 string "SPI MISO pin for LCD related config job (optional)"
524 depends on VIDEO_LCD_SSD2828
525 default ""
526 ---help---
527 This is one of the SPI communication pins, involved in setting up a
528 working LCD configuration. The exact role of SPI may differ for
529 different hardware setups. If wired up, this pin may provide additional
530 useful functionality. Such as bi-directional communication with the
531 hardware and LCD panel id retrieval (if the panel can report it). The
Samuel Hollandc7ab95d2021-09-11 16:50:48 -0500532 option takes a string in the format understood by 'sunxi_name_to_gpio'
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200533 function, e.g. PH1 for pin 1 of port H.
Simon Glass06679ad2015-04-14 21:03:38 -0600534
Neil Armstrongadd986c2018-07-24 17:45:28 +0200535source "drivers/video/meson/Kconfig"
536
Stefan Roeseab91fd52016-01-20 08:13:28 +0100537config VIDEO_MVEBU
538 bool "Armada XP LCD controller"
Stefan Roeseab91fd52016-01-20 08:13:28 +0100539 ---help---
540 Support for the LCD controller integrated in the Marvell
541 Armada XP SoC.
542
Adam Ford60a59d42018-08-02 08:50:20 -0500543config VIDEO_OMAP3
544 bool "Enable OMAP3+ DSS Support"
545 depends on ARCH_OMAP2PLUS
546 help
547 This enables the Display subsystem (DSS) on OMAP3+ boards.
548
Anatolij Gustschin4601eb42016-01-25 17:17:22 +0100549config I2C_EDID
550 bool "Enable EDID library"
Anatolij Gustschin4601eb42016-01-25 17:17:22 +0100551 help
552 This enables library for accessing EDID data from an LCD panel.
553
Simon Glass7d3d7762016-01-21 19:45:00 -0700554config DISPLAY
555 bool "Enable Display support"
556 depends on DM
Anatolij Gustschin4601eb42016-01-25 17:17:22 +0100557 select I2C_EDID
Simon Glass06679ad2015-04-14 21:03:38 -0600558 help
Simon Glass7d3d7762016-01-21 19:45:00 -0700559 This supports drivers that provide a display, such as eDP (Embedded
560 DisplayPort) and HDMI (High Definition Multimedia Interface).
561 The devices provide a simple interface to start up the display,
562 read display information and enable it.
Simon Glass3ef2a722015-04-14 21:03:42 -0600563
Liviu Dudau33967102018-09-28 13:49:31 +0100564config NXP_TDA19988
565 bool "Enable NXP TDA19988 support"
566 depends on DISPLAY
Liviu Dudau33967102018-09-28 13:49:31 +0100567 help
568 This enables support for the NXP TDA19988 HDMI encoder. This encoder
569 will convert RGB data streams into HDMI-encoded signals.
570
Songjun Wu72ac56a2017-04-11 16:33:30 +0800571config ATMEL_HLCD
572 bool "Enable ATMEL video support using HLCDC"
Songjun Wu72ac56a2017-04-11 16:33:30 +0800573 help
574 HLCDC supports video output to an attached LCD panel.
575
Dario Binacchi36248542020-12-30 00:16:31 +0100576source "drivers/video/ti/Kconfig"
Dario Binacchi017b4692020-02-22 14:05:45 +0100577
Mario Sixc13ee192018-08-09 14:51:23 +0200578config LOGICORE_DP_TX
579 bool "Enable Logicore DP TX driver"
580 depends on DISPLAY
581 help
582 Enable the driver for the transmitter part of the Xilinx LogiCORE
583 DisplayPort, a IP core for Xilinx FPGAs that implements a DisplayPort
584 video interface as defined by VESA DisplayPort v1.2.
585
586 Note that this is a pure transmitter device, and has no display
587 capabilities by itself.
588
Simon Glassdec49b72016-03-11 22:07:30 -0700589config VIDEO_BROADWELL_IGD
590 bool "Enable Intel Broadwell integrated graphics device"
591 depends on X86
592 help
Simon Glassa3fdd002016-10-05 20:42:14 -0600593 This enables support for integrated graphics on Intel broadwell
Simon Glassdec49b72016-03-11 22:07:30 -0700594 devices. Initialisation is mostly performed by a VGA boot ROM, with
595 some setup handled by U-Boot itself. The graphics adaptor works as
596 a VESA device and supports LCD panels, eDP and LVDS outputs.
597 Configuration of most aspects of device operation is performed using
598 a special tool which configures the VGA ROM, but the graphics
599 resolution can be selected in U-Boot.
600
Simon Glass03f2a512016-10-05 20:42:15 -0600601config VIDEO_IVYBRIDGE_IGD
602 bool "Enable Intel Ivybridge integration graphics support"
603 depends on X86
604 help
605 This enables support for integrated graphics on Intel ivybridge
606 devices. Initialisation is mostly performed by a VGA boot ROM, with
607 some setup handled by U-Boot itself. The graphics adaptor works as
608 a VESA device and supports LCD panels, eDP and LVDS outputs.
609 Configuration of most aspects of device operation is performed using
610 a special tool which configures the VGA ROM, but the graphics
611 resolution can be selected in U-Boot.
612
eric.gao@rock-chips.com735ddea2017-04-17 22:24:23 +0800613source "drivers/video/rockchip/Kconfig"
Simon Glass0139ae62016-01-21 19:45:03 -0700614
Liviu Dudau8373ed32018-09-28 13:50:53 +0100615config VIDEO_ARM_MALIDP
616 bool "Enable Arm Mali Display Processor support"
617 depends on DM_VIDEO && OF_CONTROL
618 select VEXPRESS_CLK
619 help
620 This enables support for Arm Ltd Mali Display Processors from
621 the DP500, DP550 and DP650 family.
622
Simon Glass161eea72016-01-18 19:52:24 -0700623config VIDEO_SANDBOX_SDL
624 bool "Enable sandbox video console using SDL"
625 depends on SANDBOX
626 help
627 When using sandbox you can enable an emulated LCD display which
628 appears as an SDL (Simple DirectMedia Layer) window. This is a
629 console device and can display stdout output. Within U-Boot is is
630 a normal bitmap display and can display images as well as text.
631
Philippe CORNUdcbad9a2017-08-03 12:36:08 +0200632source "drivers/video/stm32/Kconfig"
633
Simon Glass89c03462016-01-30 16:37:51 -0700634config VIDEO_TEGRA20
635 bool "Enable LCD support on Tegra20"
Simon Glass54832f22016-01-30 16:37:54 -0700636 depends on OF_CONTROL
Simon Glass89c03462016-01-30 16:37:51 -0700637 help
638 Tegra20 supports video output to an attached LCD panel as well as
639 other options such as HDMI. Only the LCD is supported in U-Boot.
640 This option enables this support which can be used on devices which
641 have an LCD display connected.
642
Simon Glass3ef2a722015-04-14 21:03:42 -0600643config VIDEO_TEGRA124
644 bool "Enable video support on Tegra124"
Simon Glassfad72182016-01-30 16:37:50 -0700645 depends on DM_VIDEO
Simon Glass3ef2a722015-04-14 21:03:42 -0600646 help
647 Tegra124 supports many video output options including eDP and
648 HDMI. At present only eDP is supported by U-Boot. This option
649 enables this support which can be used on devices which
650 have an eDP display connected.
Simon Glass7cf17572015-07-02 18:16:08 -0600651
652source "drivers/video/bridge/Kconfig"
Masahiro Yamadacc85b7b2015-07-26 02:46:26 +0900653
Anatolij Gustschin411e73d2019-03-18 23:29:32 +0100654source "drivers/video/imx/Kconfig"
Anatolij Gustschin983e2f2a2019-03-18 23:29:31 +0100655
Anatolij Gustschine22e08e2021-10-04 17:33:12 +0200656config VIDEO_MXS
657 bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs"
658 depends on DM_VIDEO
659 help
660 Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors
661
Stefan Bosch5ed5ad42020-07-10 19:07:36 +0200662config VIDEO_NX
663 bool "Enable video support on Nexell SoC"
664 depends on ARCH_S5P6818 || ARCH_S5P4418
665 help
666 Nexell SoC supports many video output options including eDP and
667 HDMI. This option enables this support which can be used on devices
668 which have an eDP display connected.
669
Michal Simek32058b82020-12-03 09:31:35 +0100670config VIDEO_SEPS525
671 bool "Enable video support for Seps525"
Michal Simek9f846d92022-02-04 08:36:54 +0100672 depends on DM_VIDEO && DM_GPIO
Michal Simek32058b82020-12-03 09:31:35 +0100673 help
674 Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
675 Currently driver is supporting only SPI interface.
676
Michal Simekab2829a2022-02-23 15:52:02 +0100677config VIDEO_ZYNQMP_DPSUB
678 bool "Enable video support for ZynqMP Display Port"
679 depends on DM_VIDEO && ZYNQMP_POWER_DOMAIN
680 help
681 Enable support for Xilinx ZynqMP Display Port. Currently this file
682 is used as placeholder for driver. The main reason is to record
683 compatible string and calling power domain driver.
684
Stefan Bosch5ed5ad42020-07-10 19:07:36 +0200685source "drivers/video/nexell/Kconfig"
686
Simon Glasse9d797a2016-10-17 20:12:40 -0600687config VIDEO
688 bool "Enable legacy video support"
689 depends on !DM_VIDEO
690 help
691 Define this for video support, without using driver model. Some
692 drivers use this because they are not yet converted to driver
693 model. Video drivers typically provide a colour text console and
694 cursor.
695
Simon Glassd76f29a2016-10-17 20:12:57 -0600696config CONSOLE_SCROLL_LINES
697 int "Number of lines to scroll the console by"
Simon Glass03fbd252022-01-23 07:04:08 -0700698 depends on DM_VIDEO || LCD
Simon Glassd76f29a2016-10-17 20:12:57 -0600699 default 1
700 help
701 When the console need to be scrolled, this is the number of
702 lines to scroll by. It defaults to 1. Increasing this makes the
703 console jump but can help speed up operation when scrolling
704 is slow.
705
Simon Glass169bb3b2016-10-17 20:12:56 -0600706config LCD
707 bool "Enable legacy LCD support"
708 help
709 Define this to enable LCD support (for output to LCD display).
710 You will also need to select an LCD driver using an additional
711 CONFIG option. See the README for details. Drives which have been
712 converted to driver model will instead used CONFIG_DM_VIDEO.
713
Tom Rini8381e632022-03-18 08:38:29 -0400714config LCD_INFO
715 bool "Show LCD info on-screen"
716 depends on LCD
717
718config LCD_LOGO
719 bool "Show a logo on screen"
720 depends on LCD
721
722config LCD_INFO_BELOW_LOGO
723 bool "Show LCD info below the on-screen logo"
724 depends on LCD_INFO && LCD_LOGO
725
Philipp Tomsich3a53b3e2017-05-05 21:48:26 +0200726config VIDEO_DW_HDMI
727 bool
728 help
729 Enables the common driver code for the Designware HDMI TX
730 block found in SoCs from various vendors.
731 As this does not provide any functionality by itself (but
732 rather requires a SoC-specific glue driver to call it), it
733 can not be enabled from the configuration menu.
734
Yannick Fertré9712c822019-10-07 15:29:05 +0200735config VIDEO_DSI_HOST_SANDBOX
736 bool "Enable sandbox for dsi host"
737 depends on SANDBOX
738 select VIDEO_MIPI_DSI
739 help
740 Enable support for sandbox dsi host device used for testing
741 purposes.
742 Display Serial Interface (DSI) defines a serial bus and
743 a communication protocol between the host and the device
744 (panel, bridge).
745
Yannick Fertré764af462019-10-07 15:29:06 +0200746config VIDEO_DW_MIPI_DSI
747 bool
748 select VIDEO_MIPI_DSI
749 help
750 Enables the common driver code for the Synopsis Designware
751 MIPI DSI block found in SoCs from various vendors.
752 As this does not provide any functionality by itself (but
753 rather requires a SoC-specific glue driver to call it), it
754 can not be enabled from the configuration menu.
755
Rob Clarkcf7ab0c2017-08-03 12:47:00 -0400756config VIDEO_SIMPLE
757 bool "Simple display driver for preconfigured display"
758 help
759 Enables a simple generic display driver which utilizes the
760 simple-framebuffer devicetree bindings.
761
762 This driver assumes that the display hardware has been initialized
763 before u-boot starts, and u-boot will simply render to the pre-
764 allocated frame buffer surface.
765
Icenowy Zheng60e4b8f2017-10-26 11:14:46 +0800766config VIDEO_DT_SIMPLEFB
767 bool "Enable SimpleFB support for passing framebuffer to OS"
768 help
769 Enables the code to pass the framebuffer to the kernel as a
770 simple framebuffer in the device tree.
771 The video output is initialized by U-Boot, and kept by the
772 kernel.
773
Stephan Gerhold36f654a2021-07-02 19:21:56 +0200774config VIDEO_MCDE_SIMPLE
775 bool "Simple driver for ST-Ericsson MCDE with preconfigured display"
776 depends on DM_VIDEO
777 help
778 Enables a simple display driver for ST-Ericsson MCDE
779 (Multichannel Display Engine), which reads the configuration from
780 the MCDE registers.
781
782 This driver assumes that the display hardware has been initialized
783 before u-boot starts, and u-boot will simply render to the pre-
784 allocated frame buffer surface.
785
Mario Six1b773202018-09-27 09:19:29 +0200786config OSD
787 bool "Enable OSD support"
788 depends on DM
Mario Six1b773202018-09-27 09:19:29 +0200789 help
790 This supports drivers that provide a OSD (on-screen display), which
791 is a (usually text-oriented) graphics buffer to show information on
792 a display.
Mario Six8ea19da2018-09-27 09:19:30 +0200793
Mario Six02ad6fb2018-09-27 09:19:31 +0200794config SANDBOX_OSD
795 bool "Enable sandbox OSD"
796 depends on OSD
797 help
798 Enable support for sandbox OSD device used for testing purposes.
799
Mario Six8ea19da2018-09-27 09:19:30 +0200800config IHS_VIDEO_OUT
801 bool "Enable IHS video out driver"
802 depends on OSD
803 help
804 Enable support for the gdsys Integrated Hardware Systems (IHS) video
805 out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
806 textual overlays of the display outputs.
807
Simon Glass2d7a7942020-08-11 11:23:35 -0600808config SPLASH_SCREEN
809 bool "Show a splash-screen image"
810 help
811 If this option is set, the environment is checked for a variable
812 "splashimage". If found, the usual display of logo, copyright and
813 system information on the LCD is suppressed and the BMP image at the
814 address specified in "splashimage" is loaded instead. The console is
815 redirected to the "nulldev", too. This allows for a "silent" boot
816 where a splash screen is loaded very quickly after power-on.
817
818 The splash_screen_prepare() function is a weak function defined in
819 common/splash.c. It is called as part of the splash screen display
820 sequence. It gives the board an opportunity to prepare the splash
821 image data before it is processed and sent to the frame buffer by
822 U-Boot. Define your own version to use this feature.
823
824config SPLASHIMAGE_GUARD
825 bool "Support unaligned BMP images"
826 depends on SPLASH_SCREEN
827 help
828 If this option is set, then U-Boot will prevent the environment
829 variable "splashimage" from being set to a problematic address
830 (see doc/README.displaying-bmps).
831
832 This option is useful for targets where, due to alignment
833 restrictions, an improperly aligned BMP image will cause a data
834 abort. If you think you will not have problems with unaligned
835 accesses (for example because your toolchain prevents them)
836 there is no need to set this option.
837
838config SPLASH_SCREEN_ALIGN
839 bool "Allow positioning the splash image anywhere on the display"
840 depends on SPLASH_SCREEN || CMD_BMP
841 help
842 If this option is set the splash image can be freely positioned
843 on the screen. Environment variable "splashpos" specifies the
844 position as "x,y". If a positive number is given it is used as
845 number of pixel from left/top. If a negative number is given it
846 is used as number of pixel from right/bottom. You can also
847 specify 'm' for centering the image.
848
849 Example:
850 setenv splashpos m,m
851 => image at center of screen
852
853 setenv splashpos 30,20
854 => image at x = 30 and y = 20
855
856 setenv splashpos -10,m
857 => vertically centered image
858 at x = dspWidth - bmpWidth - 9
859
860config SPLASH_SOURCE
861 bool "Control the source of the splash image"
862 depends on SPLASH_SCREEN
863 help
864 Use the splash_source.c library. This library provides facilities to
865 declare board specific splash image locations, routines for loading
866 splash image from supported locations, and a way of controlling the
867 selected splash location using the "splashsource" environment
868 variable.
869
870 This CONFIG works as follows:
871
872 - If splashsource is set to a supported location name as defined by
873 board code, use that splash location.
874 - If splashsource is undefined, use the first splash location as
875 default.
876 - If splashsource is set to an unsupported value, do not load a splash
877 screen.
878
879 A splash source location can describe either storage with raw data, a
880 storage formatted with a file system or a FIT image. In case of a
881 filesystem, the splash screen data is loaded as a file. The name of
882 the splash screen file can be controlled with the environment variable
883 "splashfile".
884
885 To enable loading the splash image from a FIT image, CONFIG_FIT must
886 be enabled. The FIT image has to start at the 'offset' field address
887 in the selected splash location. The name of splash image within the
888 FIT shall be specified by the environment variable "splashfile".
889
890 In case the environment variable "splashfile" is not defined the
891 default name 'splash.bmp' will be used.
892
Patrick Delaunay5d0e2ab2020-09-28 11:30:14 +0200893config VIDEO_BMP_GZIP
894 bool "Gzip compressed BMP image support"
895 depends on CMD_BMP || SPLASH_SCREEN
896 help
897 If this option is set, additionally to standard BMP
898 images, gzipped BMP images can be displayed via the
899 splashscreen support or the bmp command.
900
Patrick Delaunayc47fe772020-09-28 11:30:15 +0200901config VIDEO_BMP_RLE8
902 bool "Run length encoded BMP image (RLE8) support"
Simon Glass03fbd252022-01-23 07:04:08 -0700903 depends on DM_VIDEO
Patrick Delaunayc47fe772020-09-28 11:30:15 +0200904 help
905 If this option is set, the 8-bit RLE compressed BMP images
906 is supported.
907
Patrick Delaunayb1f17632020-09-28 11:30:16 +0200908config BMP_16BPP
909 bool "16-bit-per-pixel BMP image support"
910 depends on DM_VIDEO || LCD
911 help
912 Support display of bitmaps file with 16-bit-per-pixel
913
914config BMP_24BPP
915 bool "24-bit-per-pixel BMP image support"
916 depends on DM_VIDEO || LCD
917 help
918 Support display of bitmaps file with 24-bit-per-pixel.
919
920config BMP_32BPP
921 bool "32-bit-per-pixel BMP image support"
922 depends on DM_VIDEO || LCD
923 help
924 Support display of bitmaps file with 32-bit-per-pixel.
925
Anatolij Gustschin3d471a12020-10-18 20:32:35 +0200926config VIDEO_VCXK
927 bool "Enable VCXK video controller driver support"
Anatolij Gustschin3d471a12020-10-18 20:32:35 +0200928 help
929 This enables VCXK driver which can be used with VC2K, VC4K
930 and VC8K devices on various boards from BuS Elektronik GmbH.
931
Masahiro Yamadacc85b7b2015-07-26 02:46:26 +0900932endmenu