blob: 4ecc158c4605e05f2923be568ea41f4cc2afec0f [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
Tom Rini3eeabf52022-06-10 22:59:34 -0400586source "drivers/video/exynos/Kconfig"
587
Mario Sixc13ee192018-08-09 14:51:23 +0200588config LOGICORE_DP_TX
589 bool "Enable Logicore DP TX driver"
590 depends on DISPLAY
591 help
592 Enable the driver for the transmitter part of the Xilinx LogiCORE
593 DisplayPort, a IP core for Xilinx FPGAs that implements a DisplayPort
594 video interface as defined by VESA DisplayPort v1.2.
595
596 Note that this is a pure transmitter device, and has no display
597 capabilities by itself.
598
Simon Glassdec49b72016-03-11 22:07:30 -0700599config VIDEO_BROADWELL_IGD
600 bool "Enable Intel Broadwell integrated graphics device"
601 depends on X86
602 help
Simon Glassa3fdd002016-10-05 20:42:14 -0600603 This enables support for integrated graphics on Intel broadwell
Simon Glassdec49b72016-03-11 22:07:30 -0700604 devices. Initialisation is mostly performed by a VGA boot ROM, with
605 some setup handled by U-Boot itself. The graphics adaptor works as
606 a VESA device and supports LCD panels, eDP and LVDS outputs.
607 Configuration of most aspects of device operation is performed using
608 a special tool which configures the VGA ROM, but the graphics
609 resolution can be selected in U-Boot.
610
Simon Glass03f2a512016-10-05 20:42:15 -0600611config VIDEO_IVYBRIDGE_IGD
612 bool "Enable Intel Ivybridge integration graphics support"
613 depends on X86
614 help
615 This enables support for integrated graphics on Intel ivybridge
616 devices. Initialisation is mostly performed by a VGA boot ROM, with
617 some setup handled by U-Boot itself. The graphics adaptor works as
618 a VESA device and supports LCD panels, eDP and LVDS outputs.
619 Configuration of most aspects of device operation is performed using
620 a special tool which configures the VGA ROM, but the graphics
621 resolution can be selected in U-Boot.
622
eric.gao@rock-chips.com735ddea2017-04-17 22:24:23 +0800623source "drivers/video/rockchip/Kconfig"
Simon Glass0139ae62016-01-21 19:45:03 -0700624
Liviu Dudau8373ed32018-09-28 13:50:53 +0100625config VIDEO_ARM_MALIDP
626 bool "Enable Arm Mali Display Processor support"
627 depends on DM_VIDEO && OF_CONTROL
628 select VEXPRESS_CLK
629 help
630 This enables support for Arm Ltd Mali Display Processors from
631 the DP500, DP550 and DP650 family.
632
Simon Glass161eea72016-01-18 19:52:24 -0700633config VIDEO_SANDBOX_SDL
634 bool "Enable sandbox video console using SDL"
635 depends on SANDBOX
636 help
637 When using sandbox you can enable an emulated LCD display which
638 appears as an SDL (Simple DirectMedia Layer) window. This is a
639 console device and can display stdout output. Within U-Boot is is
640 a normal bitmap display and can display images as well as text.
641
Philippe CORNUdcbad9a2017-08-03 12:36:08 +0200642source "drivers/video/stm32/Kconfig"
643
Simon Glass89c03462016-01-30 16:37:51 -0700644config VIDEO_TEGRA20
645 bool "Enable LCD support on Tegra20"
Simon Glass54832f22016-01-30 16:37:54 -0700646 depends on OF_CONTROL
Simon Glass89c03462016-01-30 16:37:51 -0700647 help
648 Tegra20 supports video output to an attached LCD panel as well as
649 other options such as HDMI. Only the LCD is supported in U-Boot.
650 This option enables this support which can be used on devices which
651 have an LCD display connected.
652
Simon Glass3ef2a722015-04-14 21:03:42 -0600653config VIDEO_TEGRA124
654 bool "Enable video support on Tegra124"
Simon Glassfad72182016-01-30 16:37:50 -0700655 depends on DM_VIDEO
Simon Glass3ef2a722015-04-14 21:03:42 -0600656 help
657 Tegra124 supports many video output options including eDP and
658 HDMI. At present only eDP is supported by U-Boot. This option
659 enables this support which can be used on devices which
660 have an eDP display connected.
Simon Glass7cf17572015-07-02 18:16:08 -0600661
662source "drivers/video/bridge/Kconfig"
Masahiro Yamadacc85b7b2015-07-26 02:46:26 +0900663
Anatolij Gustschin411e73d2019-03-18 23:29:32 +0100664source "drivers/video/imx/Kconfig"
Anatolij Gustschin983e2f2a2019-03-18 23:29:31 +0100665
Anatolij Gustschine22e08e2021-10-04 17:33:12 +0200666config VIDEO_MXS
667 bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs"
668 depends on DM_VIDEO
669 help
670 Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors
671
Stefan Bosch5ed5ad42020-07-10 19:07:36 +0200672config VIDEO_NX
673 bool "Enable video support on Nexell SoC"
674 depends on ARCH_S5P6818 || ARCH_S5P4418
675 help
676 Nexell SoC supports many video output options including eDP and
677 HDMI. This option enables this support which can be used on devices
678 which have an eDP display connected.
679
Michal Simek32058b82020-12-03 09:31:35 +0100680config VIDEO_SEPS525
681 bool "Enable video support for Seps525"
Michal Simek9f846d92022-02-04 08:36:54 +0100682 depends on DM_VIDEO && DM_GPIO
Michal Simek32058b82020-12-03 09:31:35 +0100683 help
684 Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
685 Currently driver is supporting only SPI interface.
686
Michal Simekab2829a2022-02-23 15:52:02 +0100687config VIDEO_ZYNQMP_DPSUB
688 bool "Enable video support for ZynqMP Display Port"
689 depends on DM_VIDEO && ZYNQMP_POWER_DOMAIN
690 help
691 Enable support for Xilinx ZynqMP Display Port. Currently this file
692 is used as placeholder for driver. The main reason is to record
693 compatible string and calling power domain driver.
694
Stefan Bosch5ed5ad42020-07-10 19:07:36 +0200695source "drivers/video/nexell/Kconfig"
696
Simon Glasse9d797a2016-10-17 20:12:40 -0600697config VIDEO
698 bool "Enable legacy video support"
699 depends on !DM_VIDEO
700 help
701 Define this for video support, without using driver model. Some
702 drivers use this because they are not yet converted to driver
703 model. Video drivers typically provide a colour text console and
704 cursor.
705
Simon Glassd76f29a2016-10-17 20:12:57 -0600706config CONSOLE_SCROLL_LINES
707 int "Number of lines to scroll the console by"
Simon Glass03fbd252022-01-23 07:04:08 -0700708 depends on DM_VIDEO || LCD
Simon Glassd76f29a2016-10-17 20:12:57 -0600709 default 1
710 help
711 When the console need to be scrolled, this is the number of
712 lines to scroll by. It defaults to 1. Increasing this makes the
713 console jump but can help speed up operation when scrolling
714 is slow.
715
Simon Glass169bb3b2016-10-17 20:12:56 -0600716config LCD
717 bool "Enable legacy LCD support"
718 help
719 Define this to enable LCD support (for output to LCD display).
720 You will also need to select an LCD driver using an additional
721 CONFIG option. See the README for details. Drives which have been
722 converted to driver model will instead used CONFIG_DM_VIDEO.
723
Tom Rini8381e632022-03-18 08:38:29 -0400724config LCD_INFO
725 bool "Show LCD info on-screen"
726 depends on LCD
727
728config LCD_LOGO
729 bool "Show a logo on screen"
730 depends on LCD
731
732config LCD_INFO_BELOW_LOGO
733 bool "Show LCD info below the on-screen logo"
734 depends on LCD_INFO && LCD_LOGO
735
Philipp Tomsich3a53b3e2017-05-05 21:48:26 +0200736config VIDEO_DW_HDMI
737 bool
738 help
739 Enables the common driver code for the Designware HDMI TX
740 block found in SoCs from various vendors.
741 As this does not provide any functionality by itself (but
742 rather requires a SoC-specific glue driver to call it), it
743 can not be enabled from the configuration menu.
744
Yannick Fertré9712c822019-10-07 15:29:05 +0200745config VIDEO_DSI_HOST_SANDBOX
746 bool "Enable sandbox for dsi host"
747 depends on SANDBOX
748 select VIDEO_MIPI_DSI
749 help
750 Enable support for sandbox dsi host device used for testing
751 purposes.
752 Display Serial Interface (DSI) defines a serial bus and
753 a communication protocol between the host and the device
754 (panel, bridge).
755
Yannick Fertré764af462019-10-07 15:29:06 +0200756config VIDEO_DW_MIPI_DSI
757 bool
758 select VIDEO_MIPI_DSI
759 help
760 Enables the common driver code for the Synopsis Designware
761 MIPI DSI block found in SoCs from various vendors.
762 As this does not provide any functionality by itself (but
763 rather requires a SoC-specific glue driver to call it), it
764 can not be enabled from the configuration menu.
765
Rob Clarkcf7ab0c2017-08-03 12:47:00 -0400766config VIDEO_SIMPLE
767 bool "Simple display driver for preconfigured display"
768 help
769 Enables a simple generic display driver which utilizes the
770 simple-framebuffer devicetree bindings.
771
772 This driver assumes that the display hardware has been initialized
773 before u-boot starts, and u-boot will simply render to the pre-
774 allocated frame buffer surface.
775
Icenowy Zheng60e4b8f2017-10-26 11:14:46 +0800776config VIDEO_DT_SIMPLEFB
777 bool "Enable SimpleFB support for passing framebuffer to OS"
778 help
779 Enables the code to pass the framebuffer to the kernel as a
780 simple framebuffer in the device tree.
781 The video output is initialized by U-Boot, and kept by the
782 kernel.
783
Stephan Gerhold36f654a2021-07-02 19:21:56 +0200784config VIDEO_MCDE_SIMPLE
785 bool "Simple driver for ST-Ericsson MCDE with preconfigured display"
786 depends on DM_VIDEO
787 help
788 Enables a simple display driver for ST-Ericsson MCDE
789 (Multichannel Display Engine), which reads the configuration from
790 the MCDE registers.
791
792 This driver assumes that the display hardware has been initialized
793 before u-boot starts, and u-boot will simply render to the pre-
794 allocated frame buffer surface.
795
Mario Six1b773202018-09-27 09:19:29 +0200796config OSD
797 bool "Enable OSD support"
798 depends on DM
Mario Six1b773202018-09-27 09:19:29 +0200799 help
800 This supports drivers that provide a OSD (on-screen display), which
801 is a (usually text-oriented) graphics buffer to show information on
802 a display.
Mario Six8ea19da2018-09-27 09:19:30 +0200803
Mario Six02ad6fb2018-09-27 09:19:31 +0200804config SANDBOX_OSD
805 bool "Enable sandbox OSD"
806 depends on OSD
807 help
808 Enable support for sandbox OSD device used for testing purposes.
809
Mario Six8ea19da2018-09-27 09:19:30 +0200810config IHS_VIDEO_OUT
811 bool "Enable IHS video out driver"
812 depends on OSD
813 help
814 Enable support for the gdsys Integrated Hardware Systems (IHS) video
815 out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
816 textual overlays of the display outputs.
817
Simon Glass2d7a7942020-08-11 11:23:35 -0600818config SPLASH_SCREEN
819 bool "Show a splash-screen image"
820 help
821 If this option is set, the environment is checked for a variable
822 "splashimage". If found, the usual display of logo, copyright and
823 system information on the LCD is suppressed and the BMP image at the
824 address specified in "splashimage" is loaded instead. The console is
825 redirected to the "nulldev", too. This allows for a "silent" boot
826 where a splash screen is loaded very quickly after power-on.
827
828 The splash_screen_prepare() function is a weak function defined in
829 common/splash.c. It is called as part of the splash screen display
830 sequence. It gives the board an opportunity to prepare the splash
831 image data before it is processed and sent to the frame buffer by
832 U-Boot. Define your own version to use this feature.
833
834config SPLASHIMAGE_GUARD
835 bool "Support unaligned BMP images"
836 depends on SPLASH_SCREEN
837 help
838 If this option is set, then U-Boot will prevent the environment
839 variable "splashimage" from being set to a problematic address
840 (see doc/README.displaying-bmps).
841
842 This option is useful for targets where, due to alignment
843 restrictions, an improperly aligned BMP image will cause a data
844 abort. If you think you will not have problems with unaligned
845 accesses (for example because your toolchain prevents them)
846 there is no need to set this option.
847
848config SPLASH_SCREEN_ALIGN
849 bool "Allow positioning the splash image anywhere on the display"
850 depends on SPLASH_SCREEN || CMD_BMP
851 help
852 If this option is set the splash image can be freely positioned
853 on the screen. Environment variable "splashpos" specifies the
854 position as "x,y". If a positive number is given it is used as
855 number of pixel from left/top. If a negative number is given it
856 is used as number of pixel from right/bottom. You can also
857 specify 'm' for centering the image.
858
859 Example:
860 setenv splashpos m,m
861 => image at center of screen
862
863 setenv splashpos 30,20
864 => image at x = 30 and y = 20
865
866 setenv splashpos -10,m
867 => vertically centered image
868 at x = dspWidth - bmpWidth - 9
869
870config SPLASH_SOURCE
871 bool "Control the source of the splash image"
872 depends on SPLASH_SCREEN
873 help
874 Use the splash_source.c library. This library provides facilities to
875 declare board specific splash image locations, routines for loading
876 splash image from supported locations, and a way of controlling the
877 selected splash location using the "splashsource" environment
878 variable.
879
880 This CONFIG works as follows:
881
882 - If splashsource is set to a supported location name as defined by
883 board code, use that splash location.
884 - If splashsource is undefined, use the first splash location as
885 default.
886 - If splashsource is set to an unsupported value, do not load a splash
887 screen.
888
889 A splash source location can describe either storage with raw data, a
890 storage formatted with a file system or a FIT image. In case of a
891 filesystem, the splash screen data is loaded as a file. The name of
892 the splash screen file can be controlled with the environment variable
893 "splashfile".
894
895 To enable loading the splash image from a FIT image, CONFIG_FIT must
896 be enabled. The FIT image has to start at the 'offset' field address
897 in the selected splash location. The name of splash image within the
898 FIT shall be specified by the environment variable "splashfile".
899
900 In case the environment variable "splashfile" is not defined the
901 default name 'splash.bmp' will be used.
902
Patrick Delaunay5d0e2ab2020-09-28 11:30:14 +0200903config VIDEO_BMP_GZIP
904 bool "Gzip compressed BMP image support"
905 depends on CMD_BMP || SPLASH_SCREEN
906 help
907 If this option is set, additionally to standard BMP
908 images, gzipped BMP images can be displayed via the
909 splashscreen support or the bmp command.
910
Patrick Delaunayc47fe772020-09-28 11:30:15 +0200911config VIDEO_BMP_RLE8
912 bool "Run length encoded BMP image (RLE8) support"
Simon Glass03fbd252022-01-23 07:04:08 -0700913 depends on DM_VIDEO
Patrick Delaunayc47fe772020-09-28 11:30:15 +0200914 help
915 If this option is set, the 8-bit RLE compressed BMP images
916 is supported.
917
Patrick Delaunayb1f17632020-09-28 11:30:16 +0200918config BMP_16BPP
919 bool "16-bit-per-pixel BMP image support"
920 depends on DM_VIDEO || LCD
921 help
922 Support display of bitmaps file with 16-bit-per-pixel
923
924config BMP_24BPP
925 bool "24-bit-per-pixel BMP image support"
926 depends on DM_VIDEO || LCD
927 help
928 Support display of bitmaps file with 24-bit-per-pixel.
929
930config BMP_32BPP
931 bool "32-bit-per-pixel BMP image support"
932 depends on DM_VIDEO || LCD
933 help
934 Support display of bitmaps file with 32-bit-per-pixel.
935
Anatolij Gustschin3d471a12020-10-18 20:32:35 +0200936config VIDEO_VCXK
937 bool "Enable VCXK video controller driver support"
Anatolij Gustschin3d471a12020-10-18 20:32:35 +0200938 help
939 This enables VCXK driver which can be used with VC2K, VC4K
940 and VC8K devices on various boards from BuS Elektronik GmbH.
941
Masahiro Yamadacc85b7b2015-07-26 02:46:26 +0900942endmenu