blob: 965b5879274ef253fea78768442fe9e1e3250059 [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
Simon Glass7b3fabb2022-01-23 07:04:14 -0700433config VIDEO_BCM2835
434 bool "Display support for BCM2835"
435 help
436 The graphics processor already sets up the display so this driver
437 simply checks the resolution and then sets up the frame buffer with
438 that same resolution (or as near as possible) and 32bpp depth, so
439 that U-Boot can access it with full colour depth.
440
Yannick Fertré5b855d42019-10-07 15:29:08 +0200441config VIDEO_LCD_ORISETECH_OTM8009A
442 bool "OTM8009A DSI LCD panel support"
443 depends on DM_VIDEO
444 select VIDEO_MIPI_DSI
Yannick Fertré5b855d42019-10-07 15:29:08 +0200445 help
446 Say Y here if you want to enable support for Orise Technology
447 otm8009a 480x800 dsi 2dl panel.
448
Yannick Fertréb038fed2019-10-07 15:29:09 +0200449config VIDEO_LCD_RAYDIUM_RM68200
450 bool "RM68200 DSI LCD panel support"
451 depends on DM_VIDEO
452 select VIDEO_MIPI_DSI
Yannick Fertréb038fed2019-10-07 15:29:09 +0200453 help
454 Say Y here if you want to enable support for Raydium RM68200
455 720x1280 DSI video mode panel.
456
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200457config VIDEO_LCD_SSD2828
458 bool "SSD2828 bridge chip"
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200459 ---help---
460 Support for the SSD2828 bridge chip, which can take pixel data coming
461 from a parallel LCD interface and translate it on the fly into MIPI DSI
462 interface for driving a MIPI compatible LCD panel. It uses SPI for
463 configuration.
464
465config VIDEO_LCD_SSD2828_TX_CLK
466 int "SSD2828 TX_CLK frequency (in MHz)"
467 depends on VIDEO_LCD_SSD2828
Siarhei Siamashka61fb91f2015-01-19 05:23:35 +0200468 default 0
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200469 ---help---
470 The frequency of the crystal, which is clocking SSD2828. It may be
471 anything in the 8MHz-30MHz range and the exact value should be
472 retrieved from the board schematics. Or in the case of Allwinner
473 hardware, it can be usually found as 'lcd_xtal_freq' variable in
Siarhei Siamashka61fb91f2015-01-19 05:23:35 +0200474 FEX files. It can be also set to 0 for selecting PCLK from the
475 parallel LCD interface instead of TX_CLK as the PLL clock source.
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200476
477config VIDEO_LCD_SSD2828_RESET
478 string "RESET pin of SSD2828"
479 depends on VIDEO_LCD_SSD2828
480 default ""
481 ---help---
482 The reset pin of SSD2828 chip. This takes a string in the format
Samuel Hollandc7ab95d2021-09-11 16:50:48 -0500483 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200484
Neil Armstrong4a4057a2020-09-29 11:53:53 +0200485config VIDEO_LCD_TDO_TL070WSH30
486 bool "TDO TL070WSH30 DSI LCD panel support"
487 depends on DM_VIDEO
488 select VIDEO_MIPI_DSI
Neil Armstrong4a4057a2020-09-29 11:53:53 +0200489 help
490 Say Y here if you want to enable support for TDO TL070WSH30
491 1024x600 DSI video mode panel.
492
Hans de Goedec0482032015-01-20 09:22:26 +0100493config VIDEO_LCD_HITACHI_TX18D42VM
494 bool "Hitachi tx18d42vm LVDS LCD panel support"
Hans de Goedec0482032015-01-20 09:22:26 +0100495 ---help---
496 Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
497 lcd controller which needs to be initialized over SPI, once that is
498 done they work like a regular LVDS panel.
499
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200500config VIDEO_LCD_SPI_CS
501 string "SPI CS pin for LCD related config job"
Hans de Goedec0482032015-01-20 09:22:26 +0100502 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200503 default ""
504 ---help---
505 This is one of the SPI communication pins, involved in setting up a
506 working LCD configuration. The exact role of SPI may differ for
507 different hardware setups. The option takes a string in the format
Samuel Hollandc7ab95d2021-09-11 16:50:48 -0500508 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200509
510config VIDEO_LCD_SPI_SCLK
511 string "SPI SCLK pin for LCD related config job"
Hans de Goedec0482032015-01-20 09:22:26 +0100512 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200513 default ""
514 ---help---
515 This is one of the SPI communication pins, involved in setting up a
516 working LCD configuration. The exact role of SPI may differ for
517 different hardware setups. The option takes a string in the format
Samuel Hollandc7ab95d2021-09-11 16:50:48 -0500518 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200519
520config VIDEO_LCD_SPI_MOSI
521 string "SPI MOSI pin for LCD related config job"
Hans de Goedec0482032015-01-20 09:22:26 +0100522 depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200523 default ""
524 ---help---
525 This is one of the SPI communication pins, involved in setting up a
526 working LCD configuration. The exact role of SPI may differ for
527 different hardware setups. The option takes a string in the format
Samuel Hollandc7ab95d2021-09-11 16:50:48 -0500528 understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200529
530config VIDEO_LCD_SPI_MISO
531 string "SPI MISO pin for LCD related config job (optional)"
532 depends on VIDEO_LCD_SSD2828
533 default ""
534 ---help---
535 This is one of the SPI communication pins, involved in setting up a
536 working LCD configuration. The exact role of SPI may differ for
537 different hardware setups. If wired up, this pin may provide additional
538 useful functionality. Such as bi-directional communication with the
539 hardware and LCD panel id retrieval (if the panel can report it). The
Samuel Hollandc7ab95d2021-09-11 16:50:48 -0500540 option takes a string in the format understood by 'sunxi_name_to_gpio'
Siarhei Siamashka4c19cf22015-01-19 05:23:32 +0200541 function, e.g. PH1 for pin 1 of port H.
Simon Glass06679ad2015-04-14 21:03:38 -0600542
Neil Armstrongadd986c2018-07-24 17:45:28 +0200543source "drivers/video/meson/Kconfig"
544
Stefan Roeseab91fd52016-01-20 08:13:28 +0100545config VIDEO_MVEBU
546 bool "Armada XP LCD controller"
Stefan Roeseab91fd52016-01-20 08:13:28 +0100547 ---help---
548 Support for the LCD controller integrated in the Marvell
549 Armada XP SoC.
550
Adam Ford60a59d42018-08-02 08:50:20 -0500551config VIDEO_OMAP3
552 bool "Enable OMAP3+ DSS Support"
553 depends on ARCH_OMAP2PLUS
554 help
555 This enables the Display subsystem (DSS) on OMAP3+ boards.
556
Anatolij Gustschin4601eb42016-01-25 17:17:22 +0100557config I2C_EDID
558 bool "Enable EDID library"
Anatolij Gustschin4601eb42016-01-25 17:17:22 +0100559 help
560 This enables library for accessing EDID data from an LCD panel.
561
Simon Glass7d3d7762016-01-21 19:45:00 -0700562config DISPLAY
563 bool "Enable Display support"
564 depends on DM
Anatolij Gustschin4601eb42016-01-25 17:17:22 +0100565 select I2C_EDID
Simon Glass06679ad2015-04-14 21:03:38 -0600566 help
Simon Glass7d3d7762016-01-21 19:45:00 -0700567 This supports drivers that provide a display, such as eDP (Embedded
568 DisplayPort) and HDMI (High Definition Multimedia Interface).
569 The devices provide a simple interface to start up the display,
570 read display information and enable it.
Simon Glass3ef2a722015-04-14 21:03:42 -0600571
Liviu Dudau33967102018-09-28 13:49:31 +0100572config NXP_TDA19988
573 bool "Enable NXP TDA19988 support"
574 depends on DISPLAY
Liviu Dudau33967102018-09-28 13:49:31 +0100575 help
576 This enables support for the NXP TDA19988 HDMI encoder. This encoder
577 will convert RGB data streams into HDMI-encoded signals.
578
Songjun Wu72ac56a2017-04-11 16:33:30 +0800579config ATMEL_HLCD
580 bool "Enable ATMEL video support using HLCDC"
Songjun Wu72ac56a2017-04-11 16:33:30 +0800581 help
582 HLCDC supports video output to an attached LCD panel.
583
Dario Binacchi36248542020-12-30 00:16:31 +0100584source "drivers/video/ti/Kconfig"
Dario Binacchi017b4692020-02-22 14:05:45 +0100585
Mario Sixc13ee192018-08-09 14:51:23 +0200586config LOGICORE_DP_TX
587 bool "Enable Logicore DP TX driver"
588 depends on DISPLAY
589 help
590 Enable the driver for the transmitter part of the Xilinx LogiCORE
591 DisplayPort, a IP core for Xilinx FPGAs that implements a DisplayPort
592 video interface as defined by VESA DisplayPort v1.2.
593
594 Note that this is a pure transmitter device, and has no display
595 capabilities by itself.
596
Simon Glassdec49b72016-03-11 22:07:30 -0700597config VIDEO_BROADWELL_IGD
598 bool "Enable Intel Broadwell integrated graphics device"
599 depends on X86
600 help
Simon Glassa3fdd002016-10-05 20:42:14 -0600601 This enables support for integrated graphics on Intel broadwell
Simon Glassdec49b72016-03-11 22:07:30 -0700602 devices. Initialisation is mostly performed by a VGA boot ROM, with
603 some setup handled by U-Boot itself. The graphics adaptor works as
604 a VESA device and supports LCD panels, eDP and LVDS outputs.
605 Configuration of most aspects of device operation is performed using
606 a special tool which configures the VGA ROM, but the graphics
607 resolution can be selected in U-Boot.
608
Simon Glass03f2a512016-10-05 20:42:15 -0600609config VIDEO_IVYBRIDGE_IGD
610 bool "Enable Intel Ivybridge integration graphics support"
611 depends on X86
612 help
613 This enables support for integrated graphics on Intel ivybridge
614 devices. Initialisation is mostly performed by a VGA boot ROM, with
615 some setup handled by U-Boot itself. The graphics adaptor works as
616 a VESA device and supports LCD panels, eDP and LVDS outputs.
617 Configuration of most aspects of device operation is performed using
618 a special tool which configures the VGA ROM, but the graphics
619 resolution can be selected in U-Boot.
620
eric.gao@rock-chips.com735ddea2017-04-17 22:24:23 +0800621source "drivers/video/rockchip/Kconfig"
Simon Glass0139ae62016-01-21 19:45:03 -0700622
Liviu Dudau8373ed32018-09-28 13:50:53 +0100623config VIDEO_ARM_MALIDP
624 bool "Enable Arm Mali Display Processor support"
625 depends on DM_VIDEO && OF_CONTROL
626 select VEXPRESS_CLK
627 help
628 This enables support for Arm Ltd Mali Display Processors from
629 the DP500, DP550 and DP650 family.
630
Simon Glass161eea72016-01-18 19:52:24 -0700631config VIDEO_SANDBOX_SDL
632 bool "Enable sandbox video console using SDL"
633 depends on SANDBOX
634 help
635 When using sandbox you can enable an emulated LCD display which
636 appears as an SDL (Simple DirectMedia Layer) window. This is a
637 console device and can display stdout output. Within U-Boot is is
638 a normal bitmap display and can display images as well as text.
639
Philippe CORNUdcbad9a2017-08-03 12:36:08 +0200640source "drivers/video/stm32/Kconfig"
641
Simon Glass89c03462016-01-30 16:37:51 -0700642config VIDEO_TEGRA20
643 bool "Enable LCD support on Tegra20"
Simon Glass54832f22016-01-30 16:37:54 -0700644 depends on OF_CONTROL
Simon Glass89c03462016-01-30 16:37:51 -0700645 help
646 Tegra20 supports video output to an attached LCD panel as well as
647 other options such as HDMI. Only the LCD is supported in U-Boot.
648 This option enables this support which can be used on devices which
649 have an LCD display connected.
650
Simon Glass3ef2a722015-04-14 21:03:42 -0600651config VIDEO_TEGRA124
652 bool "Enable video support on Tegra124"
Simon Glassfad72182016-01-30 16:37:50 -0700653 depends on DM_VIDEO
Simon Glass3ef2a722015-04-14 21:03:42 -0600654 help
655 Tegra124 supports many video output options including eDP and
656 HDMI. At present only eDP is supported by U-Boot. This option
657 enables this support which can be used on devices which
658 have an eDP display connected.
Simon Glass7cf17572015-07-02 18:16:08 -0600659
660source "drivers/video/bridge/Kconfig"
Masahiro Yamadacc85b7b2015-07-26 02:46:26 +0900661
Anatolij Gustschin411e73d2019-03-18 23:29:32 +0100662source "drivers/video/imx/Kconfig"
Anatolij Gustschin983e2f2a2019-03-18 23:29:31 +0100663
Anatolij Gustschine22e08e2021-10-04 17:33:12 +0200664config VIDEO_MXS
665 bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs"
666 depends on DM_VIDEO
667 help
668 Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors
669
Stefan Bosch5ed5ad42020-07-10 19:07:36 +0200670config VIDEO_NX
671 bool "Enable video support on Nexell SoC"
672 depends on ARCH_S5P6818 || ARCH_S5P4418
673 help
674 Nexell SoC supports many video output options including eDP and
675 HDMI. This option enables this support which can be used on devices
676 which have an eDP display connected.
677
Michal Simek32058b82020-12-03 09:31:35 +0100678config VIDEO_SEPS525
679 bool "Enable video support for Seps525"
Michal Simek9f846d92022-02-04 08:36:54 +0100680 depends on DM_VIDEO && DM_GPIO
Michal Simek32058b82020-12-03 09:31:35 +0100681 help
682 Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
683 Currently driver is supporting only SPI interface.
684
Michal Simekab2829a2022-02-23 15:52:02 +0100685config VIDEO_ZYNQMP_DPSUB
686 bool "Enable video support for ZynqMP Display Port"
687 depends on DM_VIDEO && ZYNQMP_POWER_DOMAIN
688 help
689 Enable support for Xilinx ZynqMP Display Port. Currently this file
690 is used as placeholder for driver. The main reason is to record
691 compatible string and calling power domain driver.
692
Stefan Bosch5ed5ad42020-07-10 19:07:36 +0200693source "drivers/video/nexell/Kconfig"
694
Simon Glasse9d797a2016-10-17 20:12:40 -0600695config VIDEO
696 bool "Enable legacy video support"
697 depends on !DM_VIDEO
698 help
699 Define this for video support, without using driver model. Some
700 drivers use this because they are not yet converted to driver
701 model. Video drivers typically provide a colour text console and
702 cursor.
703
Simon Glassd76f29a2016-10-17 20:12:57 -0600704config CONSOLE_SCROLL_LINES
705 int "Number of lines to scroll the console by"
Simon Glass03fbd252022-01-23 07:04:08 -0700706 depends on DM_VIDEO || LCD
Simon Glassd76f29a2016-10-17 20:12:57 -0600707 default 1
708 help
709 When the console need to be scrolled, this is the number of
710 lines to scroll by. It defaults to 1. Increasing this makes the
711 console jump but can help speed up operation when scrolling
712 is slow.
713
Simon Glass169bb3b2016-10-17 20:12:56 -0600714config LCD
715 bool "Enable legacy LCD support"
716 help
717 Define this to enable LCD support (for output to LCD display).
718 You will also need to select an LCD driver using an additional
719 CONFIG option. See the README for details. Drives which have been
720 converted to driver model will instead used CONFIG_DM_VIDEO.
721
Tom Rini8381e632022-03-18 08:38:29 -0400722config LCD_INFO
723 bool "Show LCD info on-screen"
724 depends on LCD
725
726config LCD_LOGO
727 bool "Show a logo on screen"
728 depends on LCD
729
730config LCD_INFO_BELOW_LOGO
731 bool "Show LCD info below the on-screen logo"
732 depends on LCD_INFO && LCD_LOGO
733
Philipp Tomsich3a53b3e2017-05-05 21:48:26 +0200734config VIDEO_DW_HDMI
735 bool
736 help
737 Enables the common driver code for the Designware HDMI TX
738 block found in SoCs from various vendors.
739 As this does not provide any functionality by itself (but
740 rather requires a SoC-specific glue driver to call it), it
741 can not be enabled from the configuration menu.
742
Yannick Fertré9712c822019-10-07 15:29:05 +0200743config VIDEO_DSI_HOST_SANDBOX
744 bool "Enable sandbox for dsi host"
745 depends on SANDBOX
746 select VIDEO_MIPI_DSI
747 help
748 Enable support for sandbox dsi host device used for testing
749 purposes.
750 Display Serial Interface (DSI) defines a serial bus and
751 a communication protocol between the host and the device
752 (panel, bridge).
753
Yannick Fertré764af462019-10-07 15:29:06 +0200754config VIDEO_DW_MIPI_DSI
755 bool
756 select VIDEO_MIPI_DSI
757 help
758 Enables the common driver code for the Synopsis Designware
759 MIPI DSI block found in SoCs from various vendors.
760 As this does not provide any functionality by itself (but
761 rather requires a SoC-specific glue driver to call it), it
762 can not be enabled from the configuration menu.
763
Rob Clarkcf7ab0c2017-08-03 12:47:00 -0400764config VIDEO_SIMPLE
765 bool "Simple display driver for preconfigured display"
766 help
767 Enables a simple generic display driver which utilizes the
768 simple-framebuffer devicetree bindings.
769
770 This driver assumes that the display hardware has been initialized
771 before u-boot starts, and u-boot will simply render to the pre-
772 allocated frame buffer surface.
773
Icenowy Zheng60e4b8f2017-10-26 11:14:46 +0800774config VIDEO_DT_SIMPLEFB
775 bool "Enable SimpleFB support for passing framebuffer to OS"
776 help
777 Enables the code to pass the framebuffer to the kernel as a
778 simple framebuffer in the device tree.
779 The video output is initialized by U-Boot, and kept by the
780 kernel.
781
Stephan Gerhold36f654a2021-07-02 19:21:56 +0200782config VIDEO_MCDE_SIMPLE
783 bool "Simple driver for ST-Ericsson MCDE with preconfigured display"
784 depends on DM_VIDEO
785 help
786 Enables a simple display driver for ST-Ericsson MCDE
787 (Multichannel Display Engine), which reads the configuration from
788 the MCDE registers.
789
790 This driver assumes that the display hardware has been initialized
791 before u-boot starts, and u-boot will simply render to the pre-
792 allocated frame buffer surface.
793
Mario Six1b773202018-09-27 09:19:29 +0200794config OSD
795 bool "Enable OSD support"
796 depends on DM
Mario Six1b773202018-09-27 09:19:29 +0200797 help
798 This supports drivers that provide a OSD (on-screen display), which
799 is a (usually text-oriented) graphics buffer to show information on
800 a display.
Mario Six8ea19da2018-09-27 09:19:30 +0200801
Mario Six02ad6fb2018-09-27 09:19:31 +0200802config SANDBOX_OSD
803 bool "Enable sandbox OSD"
804 depends on OSD
805 help
806 Enable support for sandbox OSD device used for testing purposes.
807
Mario Six8ea19da2018-09-27 09:19:30 +0200808config IHS_VIDEO_OUT
809 bool "Enable IHS video out driver"
810 depends on OSD
811 help
812 Enable support for the gdsys Integrated Hardware Systems (IHS) video
813 out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
814 textual overlays of the display outputs.
815
Simon Glass2d7a7942020-08-11 11:23:35 -0600816config SPLASH_SCREEN
817 bool "Show a splash-screen image"
818 help
819 If this option is set, the environment is checked for a variable
820 "splashimage". If found, the usual display of logo, copyright and
821 system information on the LCD is suppressed and the BMP image at the
822 address specified in "splashimage" is loaded instead. The console is
823 redirected to the "nulldev", too. This allows for a "silent" boot
824 where a splash screen is loaded very quickly after power-on.
825
826 The splash_screen_prepare() function is a weak function defined in
827 common/splash.c. It is called as part of the splash screen display
828 sequence. It gives the board an opportunity to prepare the splash
829 image data before it is processed and sent to the frame buffer by
830 U-Boot. Define your own version to use this feature.
831
832config SPLASHIMAGE_GUARD
833 bool "Support unaligned BMP images"
834 depends on SPLASH_SCREEN
835 help
836 If this option is set, then U-Boot will prevent the environment
837 variable "splashimage" from being set to a problematic address
838 (see doc/README.displaying-bmps).
839
840 This option is useful for targets where, due to alignment
841 restrictions, an improperly aligned BMP image will cause a data
842 abort. If you think you will not have problems with unaligned
843 accesses (for example because your toolchain prevents them)
844 there is no need to set this option.
845
846config SPLASH_SCREEN_ALIGN
847 bool "Allow positioning the splash image anywhere on the display"
848 depends on SPLASH_SCREEN || CMD_BMP
849 help
850 If this option is set the splash image can be freely positioned
851 on the screen. Environment variable "splashpos" specifies the
852 position as "x,y". If a positive number is given it is used as
853 number of pixel from left/top. If a negative number is given it
854 is used as number of pixel from right/bottom. You can also
855 specify 'm' for centering the image.
856
857 Example:
858 setenv splashpos m,m
859 => image at center of screen
860
861 setenv splashpos 30,20
862 => image at x = 30 and y = 20
863
864 setenv splashpos -10,m
865 => vertically centered image
866 at x = dspWidth - bmpWidth - 9
867
868config SPLASH_SOURCE
869 bool "Control the source of the splash image"
870 depends on SPLASH_SCREEN
871 help
872 Use the splash_source.c library. This library provides facilities to
873 declare board specific splash image locations, routines for loading
874 splash image from supported locations, and a way of controlling the
875 selected splash location using the "splashsource" environment
876 variable.
877
878 This CONFIG works as follows:
879
880 - If splashsource is set to a supported location name as defined by
881 board code, use that splash location.
882 - If splashsource is undefined, use the first splash location as
883 default.
884 - If splashsource is set to an unsupported value, do not load a splash
885 screen.
886
887 A splash source location can describe either storage with raw data, a
888 storage formatted with a file system or a FIT image. In case of a
889 filesystem, the splash screen data is loaded as a file. The name of
890 the splash screen file can be controlled with the environment variable
891 "splashfile".
892
893 To enable loading the splash image from a FIT image, CONFIG_FIT must
894 be enabled. The FIT image has to start at the 'offset' field address
895 in the selected splash location. The name of splash image within the
896 FIT shall be specified by the environment variable "splashfile".
897
898 In case the environment variable "splashfile" is not defined the
899 default name 'splash.bmp' will be used.
900
Patrick Delaunay5d0e2ab2020-09-28 11:30:14 +0200901config VIDEO_BMP_GZIP
902 bool "Gzip compressed BMP image support"
903 depends on CMD_BMP || SPLASH_SCREEN
904 help
905 If this option is set, additionally to standard BMP
906 images, gzipped BMP images can be displayed via the
907 splashscreen support or the bmp command.
908
Patrick Delaunayc47fe772020-09-28 11:30:15 +0200909config VIDEO_BMP_RLE8
910 bool "Run length encoded BMP image (RLE8) support"
Simon Glass03fbd252022-01-23 07:04:08 -0700911 depends on DM_VIDEO
Patrick Delaunayc47fe772020-09-28 11:30:15 +0200912 help
913 If this option is set, the 8-bit RLE compressed BMP images
914 is supported.
915
Patrick Delaunayb1f17632020-09-28 11:30:16 +0200916config BMP_16BPP
917 bool "16-bit-per-pixel BMP image support"
918 depends on DM_VIDEO || LCD
919 help
920 Support display of bitmaps file with 16-bit-per-pixel
921
922config BMP_24BPP
923 bool "24-bit-per-pixel BMP image support"
924 depends on DM_VIDEO || LCD
925 help
926 Support display of bitmaps file with 24-bit-per-pixel.
927
928config BMP_32BPP
929 bool "32-bit-per-pixel BMP image support"
930 depends on DM_VIDEO || LCD
931 help
932 Support display of bitmaps file with 32-bit-per-pixel.
933
Anatolij Gustschin3d471a12020-10-18 20:32:35 +0200934config VIDEO_VCXK
935 bool "Enable VCXK video controller driver support"
Anatolij Gustschin3d471a12020-10-18 20:32:35 +0200936 help
937 This enables VCXK driver which can be used with VC2K, VC4K
938 and VC8K devices on various boards from BuS Elektronik GmbH.
939
Masahiro Yamadacc85b7b2015-07-26 02:46:26 +0900940endmenu