global: Migrate CONFIG_STACKBASE to CFG
[platform/kernel/u-boot.git] / drivers / video / Kconfig
1 #
2 # Video configuration
3 #
4
5 menu "Graphics support"
6
7 config VIDEO
8         bool "Enable driver model support for LCD/video"
9         depends on DM
10         help
11           This enables driver model for LCD and video devices. These support
12           a bitmap display of various sizes and depths which can be drawn on
13           to display a command-line console or splash screen. Enabling this
14           option compiles in the video uclass and routes all LCD/video access
15           through this.
16
17 if VIDEO
18
19 config VIDEO_LOGO
20         bool "Show the U-Boot logo on the display"
21         default y if !SPLASH_SCREEN
22         select VIDEO_BMP_RLE8
23         help
24           This enables showing the U-Boot logo on the display when a video
25           device is probed. It appears at the top right. The logo itself is at
26           tools/logos/u-boot_logo.bmp and looks best when the display has a
27           black background.
28
29 config BACKLIGHT
30         bool "Enable panel backlight uclass support"
31         default y
32         help
33           This provides backlight uclass driver that enables basic panel
34           backlight support.
35
36 config VIDEO_PCI_DEFAULT_FB_SIZE
37         hex "Default framebuffer size to use if no drivers request it"
38         default 0x1000000 if X86 && PCI
39         default 0 if !(X86 && PCI)
40         help
41           Generally, video drivers request the amount of memory they need for
42           the frame buffer when they are bound, by setting the size field in
43           struct video_uc_plat. That memory is then reserved for use after
44           relocation. But PCI drivers cannot be bound before relocation unless
45           they are mentioned in the devicetree.
46
47           With this value set appropriately, it is possible for PCI video
48           devices to have a framebuffer allocated by U-Boot.
49
50           Note: the framebuffer needs to be large enough to store all pixels at
51           maximum resolution. For example, at 1920 x 1200 with 32 bits per
52           pixel, 2560 * 1600 * 32 / 8 = 0xfa0000 bytes are needed.
53
54 config VIDEO_COPY
55         bool "Enable copying the frame buffer to a hardware copy"
56         help
57           On some machines (e.g. x86), reading from the frame buffer is very
58           slow because it is uncached. To improve performance, this feature
59           allows the frame buffer to be kept in cached memory (allocated by
60           U-Boot) and then copied to the hardware frame-buffer as needed.
61
62           To use this, your video driver must set @copy_base in
63           struct video_uc_plat.
64
65 config BACKLIGHT_PWM
66         bool "Generic PWM based Backlight Driver"
67         depends on BACKLIGHT && DM_PWM
68         default y
69         help
70           If you have a LCD backlight adjustable by PWM, say Y to enable
71           this driver.
72           This driver can be use with "simple-panel" and
73           it understands the standard device tree
74           (leds/backlight/pwm-backlight.txt)
75
76 config BACKLIGHT_GPIO
77         bool "Generic GPIO based Backlight Driver"
78         depends on BACKLIGHT
79         help
80           If you have a LCD backlight adjustable by GPIO, say Y to enable
81           this driver.
82           This driver can be used with "simple-panel" and
83           it understands the standard device tree
84           (leds/backlight/gpio-backlight.txt)
85
86 config VIDEO_BPP8
87         bool "Support 8-bit-per-pixel displays"
88         default y
89         help
90           Support drawing text and bitmaps onto a 8-bit-per-pixel display.
91           Enabling this will include code to support this display. Without
92           this option, such displays will not be supported and console output
93           will be empty.
94
95 config VIDEO_BPP16
96         bool "Support 16-bit-per-pixel displays"
97         default y
98         help
99           Support drawing text and bitmaps onto a 16-bit-per-pixel display.
100           Enabling this will include code to support this display. Without
101           this option, such displays will not be supported and console output
102           will be empty.
103
104 config VIDEO_BPP32
105         bool "Support 32-bit-per-pixel displays"
106         default y
107         help
108           Support drawing text and bitmaps onto a 32-bit-per-pixel display.
109           Enabling this will include code to support this display. Without
110           this option, such displays will not be supported and console output
111           will be empty.
112
113 config VIDEO_ANSI
114         bool "Support ANSI escape sequences in video console"
115         default y
116         help
117           Enable ANSI escape sequence decoding for a more fully functional
118           console.
119
120 config VIDEO_MIPI_DSI
121         bool "Support MIPI DSI interface"
122         help
123           Support MIPI DSI interface for driving a MIPI compatible device.
124           The MIPI Display Serial Interface (MIPI DSI) defines a high-speed
125           serial interface between a host processor and a display module.
126
127 config CONSOLE_NORMAL
128         bool "Support a simple text console"
129         default y
130         help
131           Support drawing text on the frame buffer console so that it can be
132           used as a console. Rotation is not supported by this driver (see
133           CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used
134           for the display.
135
136 config CONSOLE_ROTATION
137         bool "Support rotated displays"
138         help
139           Sometimes, for example if the display is mounted in portrait
140           mode or even if it's mounted landscape but rotated by 180degree,
141           we need to rotate our content of the display relative to the
142           framebuffer, so that user can read the messages which are
143           printed out. Enable this option to include a text driver which can
144           support this. The rotation is set by the 'rot' parameter in
145           struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180
146           degrees, 3=270 degrees.
147
148 config CONSOLE_TRUETYPE
149         bool "Support a console that uses TrueType fonts"
150         help
151           TrueTrype fonts can provide outline-drawing capability rather than
152           needing to provide a bitmap for each font and size that is needed.
153           With this option you can adjust the text size and use a variety of
154           fonts. Note that this is noticeably slower than with normal console.
155
156 config CONSOLE_TRUETYPE_SIZE
157         int "TrueType font size"
158         depends on CONSOLE_TRUETYPE
159         default 18
160         help
161           This sets the font size for the console. The size is measured in
162           pixels and is the nominal height of a character. Note that fonts
163           are commonly measured in 'points', being 1/72 inch (about 3.52mm).
164           However that measurement depends on the size of your display and
165           there is no standard display density. At present there is not a
166           method to select the display's physical size, which would allow
167           U-Boot to calculate the correct font size.
168
169 config CONSOLE_TRUETYPE_MAX_METRICS
170         int "TrueType maximum number of font / size combinations"
171         depends on CONSOLE_TRUETYPE
172         default 10 if EXPO
173         default 1
174         help
175           This sets the number of font / size combinations which can be used by
176           the console. For simple console use a single font is enough. When
177           boot menus are in use, this may need to be increased.
178
179           Note that a separate entry is needed for each font size, even if the
180           font itself is the same. This is because the entry caches various
181           font metrics which are expensive to regenerate each time the font
182           size changes.
183
184 config SYS_WHITE_ON_BLACK
185         bool "Display console as white on a black background"
186         default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || ARCH_TEGRA || X86 || ARCH_SUNXI
187         help
188          Normally the display is black on a white background, Enable this
189          option to invert this, i.e. white on a black background. This can be
190          better in low-light situations or to reduce eye strain in some
191          cases.
192
193 config NO_FB_CLEAR
194         bool "Skip framebuffer clear"
195         help
196           If firmware (whatever loads u-boot) has already put a splash image
197           on screen, you might want to preserve it until whatever u-boot
198           loads takes over the screen.  This, for example, can be used to
199           keep splash image on screen until grub graphical boot menu starts.
200
201 config PANEL
202         bool "Enable panel uclass support"
203         default y
204         help
205           This provides panel uclass driver that enables basic panel support.
206
207 config SIMPLE_PANEL
208         bool "Enable simple panel support"
209         depends on PANEL && BACKLIGHT && DM_GPIO
210         default y
211         help
212           This turns on a simple panel driver that enables a compatible
213           video panel.
214
215 config PANEL_HX8238D
216         bool "Enable Himax HX-8238D LCD driver"
217         depends on PANEL
218         help
219           Support for HX-8238D LCD Panel
220           The  HX8238-D is a single chip controller and driver LSI that
221           integrates the power circuit.
222           It can drive a maximum 960x240 dot graphics on a-TFT panel
223           displays in 16M colors with dithering.
224
225 source "drivers/video/fonts/Kconfig"
226
227 config VIDCONSOLE_AS_LCD
228         bool "Use 'vidconsole' when CONFIG_VIDCONSOLE_AS_NAME string is seen in stdout"
229         help
230           This is a work-around for boards which have 'lcd' or 'vga' in their
231           stdout environment variable, but have moved to use driver model for
232           video. In this case the console will no-longer work. While it is
233           possible to update the environment, the breakage may be confusing for
234           users. This option will be removed around the end of 2020.
235
236 config VIDCONSOLE_AS_NAME
237         string "Use 'vidconsole' when string defined here is seen in stdout"
238         depends on VIDCONSOLE_AS_LCD
239         default "lcd" if LCD || TEGRA_COMMON
240         default "vga" if !LCD
241         help
242           This is a work-around for boards which have 'lcd' or 'vga' in their
243           stdout environment variable, but have moved to use driver model for
244           video. In this case the console will no-longer work. While it is
245           possible to update the environment, the breakage may be confusing for
246           users. This option will be removed around the end of 2020.
247
248 config VIDEO_COREBOOT
249         bool "Enable coreboot framebuffer driver support"
250         depends on X86
251         help
252           Turn on this option to enable a framebuffer driver when U-Boot is
253           loaded by coreboot where the graphics device is configured by
254           coreboot already. This can in principle be used with any platform
255           that coreboot supports.
256
257 config VIDEO_EFI
258         bool "Enable EFI framebuffer driver support"
259         depends on EFI_STUB || EFI_APP
260         help
261           Turn on this option to enable a framebuffeer driver when U-Boot is
262           loaded as a payload (see README.u-boot_on_efi) by an EFI BIOS where
263           the graphics device is configured by the EFI BIOS already. This can
264           in principle be used with any platform that has an EFI BIOS.
265
266 config VIDEO_VESA
267         bool "Enable VESA video driver support"
268         help
269           Turn on this option to enable a very simple driver which uses vesa
270           to discover the video mode and then provides a frame buffer for use
271           by U-Boot. This can in principle be used with any platform that
272           supports PCI and video cards that support VESA BIOS Extension (VBE).
273
274 config FRAMEBUFFER_SET_VESA_MODE
275         bool "Set framebuffer graphics resolution"
276         depends on VIDEO_VESA || VIDEO_BROADWELL_IGD
277         help
278           Set VESA/native framebuffer mode (needed for bootsplash and graphical
279           framebuffer console)
280
281 choice
282         prompt "framebuffer graphics resolution"
283         default FRAMEBUFFER_VESA_MODE_118
284         depends on FRAMEBUFFER_SET_VESA_MODE
285         help
286           This option sets the resolution used for the U-Boot framebuffer (and
287           bootsplash screen).
288
289 config FRAMEBUFFER_VESA_MODE_100
290         bool "640x400 256-color"
291
292 config FRAMEBUFFER_VESA_MODE_101
293         bool "640x480 256-color"
294
295 config FRAMEBUFFER_VESA_MODE_102
296         bool "800x600 16-color"
297
298 config FRAMEBUFFER_VESA_MODE_103
299         bool "800x600 256-color"
300
301 config FRAMEBUFFER_VESA_MODE_104
302         bool "1024x768 16-color"
303
304 config FRAMEBUFFER_VESA_MODE_105
305         bool "1024x768 256-color"
306
307 config FRAMEBUFFER_VESA_MODE_106
308         bool "1280x1024 16-color"
309
310 config FRAMEBUFFER_VESA_MODE_107
311         bool "1280x1024 256-color"
312
313 config FRAMEBUFFER_VESA_MODE_108
314         bool "80x60 text"
315
316 config FRAMEBUFFER_VESA_MODE_109
317         bool "132x25 text"
318
319 config FRAMEBUFFER_VESA_MODE_10A
320         bool "132x43 text"
321
322 config FRAMEBUFFER_VESA_MODE_10B
323         bool "132x50 text"
324
325 config FRAMEBUFFER_VESA_MODE_10C
326         bool "132x60 text"
327
328 config FRAMEBUFFER_VESA_MODE_10D
329         bool "320x200 32k-color (1:5:5:5)"
330
331 config FRAMEBUFFER_VESA_MODE_10E
332         bool "320x200 64k-color (5:6:5)"
333
334 config FRAMEBUFFER_VESA_MODE_10F
335         bool "320x200 16.8M-color (8:8:8)"
336
337 config FRAMEBUFFER_VESA_MODE_110
338         bool "640x480 32k-color (1:5:5:5)"
339
340 config FRAMEBUFFER_VESA_MODE_111
341         bool "640x480 64k-color (5:6:5)"
342
343 config FRAMEBUFFER_VESA_MODE_112
344         bool "640x480 16.8M-color (8:8:8)"
345
346 config FRAMEBUFFER_VESA_MODE_113
347         bool "800x600 32k-color (1:5:5:5)"
348
349 config FRAMEBUFFER_VESA_MODE_114
350         bool "800x600 64k-color (5:6:5)"
351
352 config FRAMEBUFFER_VESA_MODE_115
353         bool "800x600 16.8M-color (8:8:8)"
354
355 config FRAMEBUFFER_VESA_MODE_116
356         bool "1024x768 32k-color (1:5:5:5)"
357
358 config FRAMEBUFFER_VESA_MODE_117
359         bool "1024x768 64k-color (5:6:5)"
360
361 config FRAMEBUFFER_VESA_MODE_118
362         bool "1024x768 16.8M-color (8:8:8)"
363
364 config FRAMEBUFFER_VESA_MODE_119
365         bool "1280x1024 32k-color (1:5:5:5)"
366
367 config FRAMEBUFFER_VESA_MODE_11A
368         bool "1280x1024 64k-color (5:6:5)"
369
370 config FRAMEBUFFER_VESA_MODE_11B
371         bool "1280x1024 16.8M-color (8:8:8)"
372
373 config FRAMEBUFFER_VESA_MODE_USER
374         bool "Manually select VESA mode"
375
376 endchoice
377
378 # Map the config names to an integer (KB).
379 config FRAMEBUFFER_VESA_MODE
380         prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
381         hex
382         default 0x100 if FRAMEBUFFER_VESA_MODE_100
383         default 0x101 if FRAMEBUFFER_VESA_MODE_101
384         default 0x102 if FRAMEBUFFER_VESA_MODE_102
385         default 0x103 if FRAMEBUFFER_VESA_MODE_103
386         default 0x104 if FRAMEBUFFER_VESA_MODE_104
387         default 0x105 if FRAMEBUFFER_VESA_MODE_105
388         default 0x106 if FRAMEBUFFER_VESA_MODE_106
389         default 0x107 if FRAMEBUFFER_VESA_MODE_107
390         default 0x108 if FRAMEBUFFER_VESA_MODE_108
391         default 0x109 if FRAMEBUFFER_VESA_MODE_109
392         default 0x10A if FRAMEBUFFER_VESA_MODE_10A
393         default 0x10B if FRAMEBUFFER_VESA_MODE_10B
394         default 0x10C if FRAMEBUFFER_VESA_MODE_10C
395         default 0x10D if FRAMEBUFFER_VESA_MODE_10D
396         default 0x10E if FRAMEBUFFER_VESA_MODE_10E
397         default 0x10F if FRAMEBUFFER_VESA_MODE_10F
398         default 0x110 if FRAMEBUFFER_VESA_MODE_110
399         default 0x111 if FRAMEBUFFER_VESA_MODE_111
400         default 0x112 if FRAMEBUFFER_VESA_MODE_112
401         default 0x113 if FRAMEBUFFER_VESA_MODE_113
402         default 0x114 if FRAMEBUFFER_VESA_MODE_114
403         default 0x115 if FRAMEBUFFER_VESA_MODE_115
404         default 0x116 if FRAMEBUFFER_VESA_MODE_116
405         default 0x117 if FRAMEBUFFER_VESA_MODE_117
406         default 0x118 if FRAMEBUFFER_VESA_MODE_118
407         default 0x119 if FRAMEBUFFER_VESA_MODE_119
408         default 0x11A if FRAMEBUFFER_VESA_MODE_11A
409         default 0x11B if FRAMEBUFFER_VESA_MODE_11B
410         default 0x117 if FRAMEBUFFER_VESA_MODE_USER
411
412 config VIDEO_LCD_ANX9804
413         bool "ANX9804 bridge chip"
414         ---help---
415         Support for the ANX9804 bridge chip, which can take pixel data coming
416         from a parallel LCD interface and translate it on the fy into a DP
417         interface for driving eDP TFT displays. It uses I2C for configuration.
418
419 config ATMEL_LCD
420         bool "Atmel LCD panel support"
421         depends on ARCH_AT91
422
423 config ATMEL_LCD_BGR555
424         bool "Display in BGR555 mode"
425         help
426           Use the BGR555 output mode.  Otherwise RGB565 is used.
427
428 config VIDEO_BCM2835
429         bool "Display support for BCM2835"
430         help
431           The graphics processor already sets up the display so this driver
432           simply checks the resolution and then sets up the frame buffer with
433           that same resolution (or as near as possible) and 32bpp depth, so
434           that U-Boot can access it with full colour depth.
435
436 config VIDEO_LCD_ORISETECH_OTM8009A
437         bool "OTM8009A DSI LCD panel support"
438         select VIDEO_MIPI_DSI
439         help
440         Say Y here if you want to enable support for Orise Technology
441         otm8009a 480x800 dsi 2dl panel.
442
443 config VIDEO_LCD_RAYDIUM_RM68200
444         bool "RM68200 DSI LCD panel support"
445         select VIDEO_MIPI_DSI
446         help
447         Say Y here if you want to enable support for Raydium RM68200
448         720x1280 DSI video mode panel.
449
450 config VIDEO_LCD_SSD2828
451         bool "SSD2828 bridge chip"
452         ---help---
453         Support for the SSD2828 bridge chip, which can take pixel data coming
454         from a parallel LCD interface and translate it on the fly into MIPI DSI
455         interface for driving a MIPI compatible LCD panel. It uses SPI for
456         configuration.
457
458 config VIDEO_LCD_SSD2828_TX_CLK
459         int "SSD2828 TX_CLK frequency (in MHz)"
460         depends on VIDEO_LCD_SSD2828
461         default 0
462         ---help---
463         The frequency of the crystal, which is clocking SSD2828. It may be
464         anything in the 8MHz-30MHz range and the exact value should be
465         retrieved from the board schematics. Or in the case of Allwinner
466         hardware, it can be usually found as 'lcd_xtal_freq' variable in
467         FEX files. It can be also set to 0 for selecting PCLK from the
468         parallel LCD interface instead of TX_CLK as the PLL clock source.
469
470 config VIDEO_LCD_SSD2828_RESET
471         string "RESET pin of SSD2828"
472         depends on VIDEO_LCD_SSD2828
473         default ""
474         ---help---
475         The reset pin of SSD2828 chip. This takes a string in the format
476         understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
477
478 config VIDEO_LCD_TDO_TL070WSH30
479         bool "TDO TL070WSH30 DSI LCD panel support"
480         select VIDEO_MIPI_DSI
481         help
482         Say Y here if you want to enable support for TDO TL070WSH30
483         1024x600 DSI video mode panel.
484
485 config VIDEO_LCD_HITACHI_TX18D42VM
486         bool "Hitachi tx18d42vm LVDS LCD panel support"
487         ---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
492 config VIDEO_LCD_SPI_CS
493         string "SPI CS pin for LCD related config job"
494         depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
495         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
500         understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
501
502 config VIDEO_LCD_SPI_SCLK
503         string "SPI SCLK pin for LCD related config job"
504         depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
505         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
510         understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
511
512 config VIDEO_LCD_SPI_MOSI
513         string "SPI MOSI pin for LCD related config job"
514         depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
515         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
520         understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
521
522 config 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
532         option takes a string in the format understood by 'sunxi_name_to_gpio'
533         function, e.g. PH1 for pin 1 of port H.
534
535 source "drivers/video/meson/Kconfig"
536
537 config VIDEO_MVEBU
538         bool "Armada XP LCD controller"
539         ---help---
540         Support for the LCD controller integrated in the Marvell
541         Armada XP SoC.
542
543 config 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
549 config I2C_EDID
550         bool "Enable EDID library"
551         help
552            This enables library for accessing EDID data from an LCD panel.
553
554 config DISPLAY
555         bool "Enable Display support"
556         depends on DM
557         select I2C_EDID
558         help
559            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.
563
564 config NXP_TDA19988
565         bool "Enable NXP TDA19988 support"
566         depends on DISPLAY
567         help
568           This enables support for the NXP TDA19988 HDMI encoder. This encoder
569           will convert RGB data streams into HDMI-encoded signals.
570
571 config ATMEL_HLCD
572         bool "Enable ATMEL video support using HLCDC"
573         help
574            HLCDC supports video output to an attached LCD panel.
575
576 source "drivers/video/exynos/Kconfig"
577
578 config 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
589 config VIDEO_BROADWELL_IGD
590         bool "Enable Intel Broadwell integrated graphics device"
591         depends on X86
592         help
593           This enables support for integrated graphics on Intel broadwell
594           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
601 config 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
613 source "drivers/video/rockchip/Kconfig"
614
615 config VIDEO_ARM_MALIDP
616         bool "Enable Arm Mali Display Processor support"
617         depends on 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
623 config VIDEO_SANDBOX_SDL
624         bool "Enable sandbox video console using SDL"
625         depends on SANDBOX_SDL
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
632 source "drivers/video/stm32/Kconfig"
633
634 config VIDEO_TEGRA20
635         bool "Enable LCD support on Tegra20"
636         depends on OF_CONTROL
637         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
643 config VIDEO_TEGRA124
644         bool "Enable video support on Tegra124"
645         help
646            Tegra124 supports many video output options including eDP and
647            HDMI. At present only eDP is supported by U-Boot. This option
648            enables this support which can be used on devices which
649            have an eDP display connected.
650
651 source "drivers/video/bridge/Kconfig"
652
653 source "drivers/video/imx/Kconfig"
654
655 config VIDEO_MXS
656         bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs"
657         help
658           Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors
659
660 config VIDEO_NX
661         bool "Enable video support on Nexell SoC"
662         depends on ARCH_S5P6818 || ARCH_S5P4418
663         help
664            Nexell SoC supports many video output options including eDP and
665            HDMI. This option enables this support which can be used on devices
666            which have an eDP display connected.
667
668 config VIDEO_SEPS525
669         bool "Enable video support for Seps525"
670         depends on DM_GPIO
671         help
672           Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
673           Currently driver is supporting only SPI interface.
674
675 config VIDEO_ZYNQMP_DPSUB
676         bool "Enable video support for ZynqMP Display Port"
677         depends on ZYNQMP_POWER_DOMAIN
678         help
679           Enable support for Xilinx ZynqMP Display Port. Currently this file
680           is used as placeholder for driver. The main reason is to record
681           compatible string and calling power domain driver.
682
683 source "drivers/video/nexell/Kconfig"
684
685 config CONSOLE_SCROLL_LINES
686         int "Number of lines to scroll the console by"
687         default 1
688         help
689           When the console need to be scrolled, this is the number of
690           lines to scroll by. It defaults to 1. Increasing this makes the
691           console jump but can help speed up operation when scrolling
692           is slow.
693
694 config VIDEO_DW_HDMI
695         bool
696         help
697           Enables the common driver code for the Designware HDMI TX
698           block found in SoCs from various vendors.
699           As this does not provide any functionality by itself (but
700           rather requires a SoC-specific glue driver to call it), it
701           can not be enabled from the configuration menu.
702
703 config VIDEO_DSI_HOST_SANDBOX
704         bool "Enable sandbox for dsi host"
705         depends on SANDBOX
706         select VIDEO_MIPI_DSI
707         help
708           Enable support for sandbox dsi host device used for testing
709           purposes.
710           Display Serial Interface (DSI) defines a serial bus and
711           a communication protocol between the host and the device
712           (panel, bridge).
713
714 config VIDEO_DW_MIPI_DSI
715         bool
716         select VIDEO_MIPI_DSI
717         help
718           Enables the common driver code for the Synopsis Designware
719           MIPI DSI block found in SoCs from various vendors.
720           As this does not provide any functionality by itself (but
721           rather requires a SoC-specific glue driver to call it), it
722           can not be enabled from the configuration menu.
723
724 config VIDEO_SIMPLE
725         bool "Simple display driver for preconfigured display"
726         help
727           Enables a simple generic display driver which utilizes the
728           simple-framebuffer devicetree bindings.
729
730           This driver assumes that the display hardware has been initialized
731           before u-boot starts, and u-boot will simply render to the pre-
732           allocated frame buffer surface.
733
734 config VIDEO_DT_SIMPLEFB
735         bool "Enable SimpleFB support for passing framebuffer to OS"
736         help
737           Enables the code to pass the framebuffer to the kernel as a
738           simple framebuffer in the device tree.
739           The video output is initialized by U-Boot, and kept by the
740           kernel.
741
742 config VIDEO_MCDE_SIMPLE
743         bool "Simple driver for ST-Ericsson MCDE with preconfigured display"
744         help
745           Enables a simple display driver for ST-Ericsson MCDE
746           (Multichannel Display Engine), which reads the configuration from
747           the MCDE registers.
748
749           This driver assumes that the display hardware has been initialized
750           before u-boot starts, and u-boot will simply render to the pre-
751           allocated frame buffer surface.
752
753 config OSD
754         bool "Enable OSD support"
755         depends on DM
756         help
757            This supports drivers that provide a OSD (on-screen display), which
758            is a (usually text-oriented) graphics buffer to show information on
759            a display.
760
761 config SANDBOX_OSD
762         bool "Enable sandbox OSD"
763         depends on OSD
764         help
765           Enable support for sandbox OSD device used for testing purposes.
766
767 config IHS_VIDEO_OUT
768         bool "Enable IHS video out driver"
769         depends on OSD
770         help
771           Enable support for the gdsys Integrated Hardware Systems (IHS) video
772           out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
773           textual overlays of the display outputs.
774
775 config SPLASH_SCREEN
776         bool "Show a splash-screen image"
777         help
778           If this option is set, the environment is checked for a variable
779           "splashimage". If found, the usual display of logo, copyright and
780           system information on the LCD is suppressed and the BMP image at the
781           address specified in "splashimage" is loaded instead. The console is
782           redirected to the "nulldev", too. This allows for a "silent" boot
783           where a splash screen is loaded very quickly after power-on.
784
785           The splash_screen_prepare() function is a weak function defined in
786           common/splash.c. It is called as part of the splash screen display
787           sequence. It gives the board an opportunity to prepare the splash
788           image data before it is processed and sent to the frame buffer by
789           U-Boot. Define your own version to use this feature.
790
791 if SPLASH_SCREEN
792
793 config SPLASH_SCREEN_ALIGN
794         bool "Allow positioning the splash image anywhere on the display"
795         help
796           If this option is set the splash image can be freely positioned
797           on the screen. Environment variable "splashpos" specifies the
798           position as "x,y". If a positive number is given it is used as
799           number of pixel from left/top. If a negative number is given it
800           is used as number of pixel from right/bottom. You can also
801           specify 'm' for centering the image.
802
803           Example:
804           setenv splashpos m,m
805                 => image at center of screen
806
807           setenv splashpos 30,20
808                 => image at x = 30 and y = 20
809
810           setenv splashpos -10,m
811                 => vertically centered image
812                    at x = dspWidth - bmpWidth - 9
813
814 config HIDE_LOGO_VERSION
815         bool "Hide the version information on the splash screen"
816         help
817           Normally the U-Boot version string is shown on the display when the
818           splash screen is enabled. This information is not otherwise visible
819           since video starts up after U-Boot has displayed the initial banner.
820
821           Enable this option to hide this information.
822
823 config SPLASH_SOURCE
824         bool "Control the source of the splash image"
825         help
826           Use the splash_source.c library. This library provides facilities to
827           declare board specific splash image locations, routines for loading
828           splash image from supported locations, and a way of controlling the
829           selected splash location using the "splashsource" environment
830           variable.
831
832           This CONFIG works as follows:
833
834           - If splashsource is set to a supported location name as defined by
835             board code, use that splash location.
836           - If splashsource is undefined, use the first splash location as
837             default.
838           - If splashsource is set to an unsupported value, do not load a splash
839             screen.
840
841           A splash source location can describe either storage with raw data, a
842           storage formatted with a file system or a FIT image. In case of a
843           filesystem, the splash screen data is loaded as a file. The name of
844           the splash screen file can be controlled with the environment variable
845           "splashfile".
846
847           To enable loading the splash image from a FIT image, CONFIG_FIT must
848           be enabled. The FIT image has to start at the 'offset' field address
849           in the selected splash location. The name of splash image within the
850           FIT shall be specified by the environment variable "splashfile".
851
852           In case the environment variable "splashfile" is not defined the
853           default name 'splash.bmp' will be used.
854
855 endif # SPLASH_SCREEN
856
857 config VIDEO_BMP_GZIP
858         bool "Gzip compressed BMP image support"
859         depends on CMD_BMP || SPLASH_SCREEN
860         help
861           If this option is set, additionally to standard BMP
862           images, gzipped BMP images can be displayed via the
863           splashscreen support or the bmp command.
864
865 config VIDEO_LOGO_MAX_SIZE
866         hex "Maximum size of the bitmap logo in bytes"
867         default 0x100000
868         help
869           Sets the maximum uncompressed size of the logo. This is needed when
870           decompressing a BMP file using the gzip algorithm, since it cannot
871           read the size from the bitmap header.
872
873 config VIDEO_BMP_RLE8
874         bool "Run length encoded BMP image (RLE8) support"
875         help
876           If this option is set, the 8-bit RLE compressed BMP images
877           is supported.
878
879 config BMP_16BPP
880         bool "16-bit-per-pixel BMP image support"
881         help
882           Support display of bitmaps file with 16-bit-per-pixel
883
884 config BMP_24BPP
885         bool "24-bit-per-pixel BMP image support"
886         help
887           Support display of bitmaps file with 24-bit-per-pixel.
888
889 config BMP_32BPP
890         bool "32-bit-per-pixel BMP image support"
891         help
892           Support display of bitmaps file with 32-bit-per-pixel.
893
894 endif # VIDEO
895
896 endmenu