video: Support showing the U-Boot logo
[platform/kernel/u-boot.git] / drivers / video / Kconfig
1 #
2 # Video configuration
3 #
4
5 menu "Graphics support"
6
7 config DM_VIDEO
8         bool "Enable driver model support for LCD/video"
9         depends on DM
10         help
11           This enables driver model for LCD and video devices. These support
12           a bitmap display of various sizes and depths which can be drawn on
13           to display a command-line console or splash screen. Enabling this
14           option compiles in the video uclass and routes all LCD/video access
15           through this.
16
17 config VIDEO_LOGO
18         bool "Show the U-Boot logo on the display"
19         depends on DM_VIDEO
20         select VIDEO_BMP_RLE8
21         help
22           This enables showing the U-Boot logo on the display when a video
23           device is probed. It appears at the top right. The logo itself is at
24           tools/logos/u-boot_logo.bmp and looks best when the display has a
25           black background.
26
27 config BACKLIGHT
28         bool "Enable panel backlight uclass support"
29         depends on DM_VIDEO
30         default y
31         help
32           This provides backlight uclass driver that enables basic panel
33           backlight support.
34
35 config VIDEO_PCI_DEFAULT_FB_SIZE
36         hex "Default framebuffer size to use if no drivers request it"
37         depends on DM_VIDEO
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         depends on DM_VIDEO
57         help
58           On some machines (e.g. x86), reading from the frame buffer is very
59           slow because it is uncached. To improve performance, this feature
60           allows the frame buffer to be kept in cached memory (allocated by
61           U-Boot) and then copied to the hardware frame-buffer as needed.
62
63           To use this, your video driver must set @copy_base in
64           struct video_uc_plat.
65
66 config BACKLIGHT_PWM
67         bool "Generic PWM based Backlight Driver"
68         depends on BACKLIGHT && DM_PWM
69         default y
70         help
71           If you have a LCD backlight adjustable by PWM, say Y to enable
72           this driver.
73           This driver can be use with "simple-panel" and
74           it understands the standard device tree
75           (leds/backlight/pwm-backlight.txt)
76
77 config BACKLIGHT_GPIO
78         bool "Generic GPIO based Backlight Driver"
79         depends on BACKLIGHT
80         help
81           If you have a LCD backlight adjustable by GPIO, say Y to enable
82           this driver.
83           This driver can be used with "simple-panel" and
84           it understands the standard device tree
85           (leds/backlight/gpio-backlight.txt)
86
87 config CMD_VIDCONSOLE
88         bool "Enable vidconsole commands lcdputs and setcurs"
89         depends on DM_VIDEO
90         default y
91         help
92           Enabling this will provide 'setcurs' and 'lcdputs' commands which
93           support cursor positioning and drawing strings on video framebuffer.
94
95 config VIDEO_BPP8
96         bool "Support 8-bit-per-pixel displays"
97         depends on DM_VIDEO
98         default y
99         help
100           Support drawing text and bitmaps onto a 8-bit-per-pixel display.
101           Enabling this will include code to support this display. Without
102           this option, such displays will not be supported and console output
103           will be empty.
104
105 config VIDEO_BPP16
106         bool "Support 16-bit-per-pixel displays"
107         depends on DM_VIDEO
108         default y
109         help
110           Support drawing text and bitmaps onto a 16-bit-per-pixel display.
111           Enabling this will include code to support this display. Without
112           this option, such displays will not be supported and console output
113           will be empty.
114
115 config VIDEO_BPP32
116         bool "Support 32-bit-per-pixel displays"
117         depends on DM_VIDEO
118         default y
119         help
120           Support drawing text and bitmaps onto a 32-bit-per-pixel display.
121           Enabling this will include code to support this display. Without
122           this option, such displays will not be supported and console output
123           will be empty.
124
125 config VIDEO_ANSI
126         bool "Support ANSI escape sequences in video console"
127         depends on DM_VIDEO
128         default y
129         help
130           Enable ANSI escape sequence decoding for a more fully functional
131           console.
132
133 config VIDEO_MIPI_DSI
134         bool "Support MIPI DSI interface"
135         depends on DM_VIDEO
136         help
137           Support MIPI DSI interface for driving a MIPI compatible device.
138           The MIPI Display Serial Interface (MIPI DSI) defines a high-speed
139           serial interface between a host processor and a display module.
140
141 config CONSOLE_NORMAL
142         bool "Support a simple text console"
143         depends on DM_VIDEO
144         default y if DM_VIDEO
145         help
146           Support drawing text on the frame buffer console so that it can be
147           used as a console. Rotation is not supported by this driver (see
148           CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used
149           for the display.
150
151 config CONSOLE_ROTATION
152         bool "Support rotated displays"
153         depends on DM_VIDEO
154         help
155           Sometimes, for example if the display is mounted in portrait
156           mode or even if it's mounted landscape but rotated by 180degree,
157           we need to rotate our content of the display relative to the
158           framebuffer, so that user can read the messages which are
159           printed out. Enable this option to include a text driver which can
160           support this. The rotation is set by the 'rot' parameter in
161           struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180
162           degrees, 3=270 degrees.
163
164 config CONSOLE_TRUETYPE
165         bool "Support a console that uses TrueType fonts"
166         depends on DM_VIDEO
167         help
168           TrueTrype fonts can provide outline-drawing capability rather than
169           needing to provide a bitmap for each font and size that is needed.
170           With this option you can adjust the text size and use a variety of
171           fonts. Note that this is noticeably slower than with normal console.
172
173 config DM_PANEL_HX8238D
174         bool "Enable Himax HX-8238D LCD driver"
175         depends on DM_VIDEO
176         help
177           Support for HX-8238D LCD Panel
178           The  HX8238-D is a single chip controller and driver LSI that
179           integrates the power circuit.
180           It can drive a maximum 960x240 dot graphics on a-TFT panel
181           displays in 16M colors with dithering.
182
183 config CONSOLE_TRUETYPE_SIZE
184         int "TrueType font size"
185         depends on CONSOLE_TRUETYPE
186         default 18
187         help
188           This sets the font size for the console. The size is measured in
189           pixels and is the nominal height of a character. Note that fonts
190           are commonly measured in 'points', being 1/72 inch (about 3.52mm).
191           However that measurement depends on the size of your display and
192           there is no standard display density. At present there is not a
193           method to select the display's physical size, which would allow
194           U-Boot to calculate the correct font size.
195
196 config SYS_WHITE_ON_BLACK
197         bool "Display console as white on a black background"
198         default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || ARCH_TEGRA || X86 || ARCH_SUNXI
199         help
200          Normally the display is black on a white background, Enable this
201          option to invert this, i.e. white on a black background. This can be
202          better in low-light situations or to reduce eye strain in some
203          cases.
204
205 config NO_FB_CLEAR
206         bool "Skip framebuffer clear"
207         help
208           If firmware (whatever loads u-boot) has already put a splash image
209           on screen, you might want to preserve it until whatever u-boot
210           loads takes over the screen.  This, for example, can be used to
211           keep splash image on screen until grub graphical boot menu starts.
212
213 config PANEL
214         bool "Enable panel uclass support"
215         depends on DM_VIDEO
216         default y
217         help
218           This provides panel uclass driver that enables basic panel support.
219
220 config SIMPLE_PANEL
221         bool "Enable simple panel support"
222         depends on PANEL && BACKLIGHT && DM_GPIO
223         default y
224         help
225           This turns on a simple panel driver that enables a compatible
226           video panel.
227
228 source "drivers/video/fonts/Kconfig"
229
230 config VIDCONSOLE_AS_LCD
231         bool "Use 'vidconsole' when CONFIG_VIDCONSOLE_AS_NAME string is seen in stdout"
232         depends on DM_VIDEO
233         help
234           This is a work-around for boards which have 'lcd' or 'vga' in their
235           stdout environment variable, but have moved to use driver model for
236           video. In this case the console will no-longer work. While it is
237           possible to update the environment, the breakage may be confusing for
238           users. This option will be removed around the end of 2020.
239
240 config VIDCONSOLE_AS_NAME
241         string "Use 'vidconsole' when string defined here is seen in stdout"
242         depends on VIDCONSOLE_AS_LCD
243         default "lcd" if LCD || TEGRA_COMMON
244         default "vga" if !LCD
245         help
246           This is a work-around for boards which have 'lcd' or 'vga' in their
247           stdout environment variable, but have moved to use driver model for
248           video. In this case the console will no-longer work. While it is
249           possible to update the environment, the breakage may be confusing for
250           users. This option will be removed around the end of 2020.
251
252 config VIDEO_COREBOOT
253         bool "Enable coreboot framebuffer driver support"
254         depends on X86
255         help
256           Turn on this option to enable a framebuffer driver when U-Boot is
257           loaded by coreboot where the graphics device is configured by
258           coreboot already. This can in principle be used with any platform
259           that coreboot supports.
260
261 config VIDEO_EFI
262         bool "Enable EFI framebuffer driver support"
263         depends on EFI_STUB || EFI_APP
264         help
265           Turn on this option to enable a framebuffeer driver when U-Boot is
266           loaded as a payload (see README.u-boot_on_efi) by an EFI BIOS where
267           the graphics device is configured by the EFI BIOS already. This can
268           in principle be used with any platform that has an EFI BIOS.
269
270 config VIDEO_VESA
271         bool "Enable VESA video driver support"
272         help
273           Turn on this option to enable a very simple driver which uses vesa
274           to discover the video mode and then provides a frame buffer for use
275           by U-Boot. This can in principle be used with any platform that
276           supports PCI and video cards that support VESA BIOS Extension (VBE).
277
278 config FRAMEBUFFER_SET_VESA_MODE
279         bool "Set framebuffer graphics resolution"
280         depends on VIDEO_VESA || VIDEO_BROADWELL_IGD
281         help
282           Set VESA/native framebuffer mode (needed for bootsplash and graphical
283           framebuffer console)
284
285 choice
286         prompt "framebuffer graphics resolution"
287         default FRAMEBUFFER_VESA_MODE_118
288         depends on FRAMEBUFFER_SET_VESA_MODE
289         help
290           This option sets the resolution used for the U-Boot framebuffer (and
291           bootsplash screen).
292
293 config FRAMEBUFFER_VESA_MODE_100
294         bool "640x400 256-color"
295
296 config FRAMEBUFFER_VESA_MODE_101
297         bool "640x480 256-color"
298
299 config FRAMEBUFFER_VESA_MODE_102
300         bool "800x600 16-color"
301
302 config FRAMEBUFFER_VESA_MODE_103
303         bool "800x600 256-color"
304
305 config FRAMEBUFFER_VESA_MODE_104
306         bool "1024x768 16-color"
307
308 config FRAMEBUFFER_VESA_MODE_105
309         bool "1024x768 256-color"
310
311 config FRAMEBUFFER_VESA_MODE_106
312         bool "1280x1024 16-color"
313
314 config FRAMEBUFFER_VESA_MODE_107
315         bool "1280x1024 256-color"
316
317 config FRAMEBUFFER_VESA_MODE_108
318         bool "80x60 text"
319
320 config FRAMEBUFFER_VESA_MODE_109
321         bool "132x25 text"
322
323 config FRAMEBUFFER_VESA_MODE_10A
324         bool "132x43 text"
325
326 config FRAMEBUFFER_VESA_MODE_10B
327         bool "132x50 text"
328
329 config FRAMEBUFFER_VESA_MODE_10C
330         bool "132x60 text"
331
332 config FRAMEBUFFER_VESA_MODE_10D
333         bool "320x200 32k-color (1:5:5:5)"
334
335 config FRAMEBUFFER_VESA_MODE_10E
336         bool "320x200 64k-color (5:6:5)"
337
338 config FRAMEBUFFER_VESA_MODE_10F
339         bool "320x200 16.8M-color (8:8:8)"
340
341 config FRAMEBUFFER_VESA_MODE_110
342         bool "640x480 32k-color (1:5:5:5)"
343
344 config FRAMEBUFFER_VESA_MODE_111
345         bool "640x480 64k-color (5:6:5)"
346
347 config FRAMEBUFFER_VESA_MODE_112
348         bool "640x480 16.8M-color (8:8:8)"
349
350 config FRAMEBUFFER_VESA_MODE_113
351         bool "800x600 32k-color (1:5:5:5)"
352
353 config FRAMEBUFFER_VESA_MODE_114
354         bool "800x600 64k-color (5:6:5)"
355
356 config FRAMEBUFFER_VESA_MODE_115
357         bool "800x600 16.8M-color (8:8:8)"
358
359 config FRAMEBUFFER_VESA_MODE_116
360         bool "1024x768 32k-color (1:5:5:5)"
361
362 config FRAMEBUFFER_VESA_MODE_117
363         bool "1024x768 64k-color (5:6:5)"
364
365 config FRAMEBUFFER_VESA_MODE_118
366         bool "1024x768 16.8M-color (8:8:8)"
367
368 config FRAMEBUFFER_VESA_MODE_119
369         bool "1280x1024 32k-color (1:5:5:5)"
370
371 config FRAMEBUFFER_VESA_MODE_11A
372         bool "1280x1024 64k-color (5:6:5)"
373
374 config FRAMEBUFFER_VESA_MODE_11B
375         bool "1280x1024 16.8M-color (8:8:8)"
376
377 config FRAMEBUFFER_VESA_MODE_USER
378         bool "Manually select VESA mode"
379
380 endchoice
381
382 # Map the config names to an integer (KB).
383 config FRAMEBUFFER_VESA_MODE
384         prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
385         hex
386         default 0x100 if FRAMEBUFFER_VESA_MODE_100
387         default 0x101 if FRAMEBUFFER_VESA_MODE_101
388         default 0x102 if FRAMEBUFFER_VESA_MODE_102
389         default 0x103 if FRAMEBUFFER_VESA_MODE_103
390         default 0x104 if FRAMEBUFFER_VESA_MODE_104
391         default 0x105 if FRAMEBUFFER_VESA_MODE_105
392         default 0x106 if FRAMEBUFFER_VESA_MODE_106
393         default 0x107 if FRAMEBUFFER_VESA_MODE_107
394         default 0x108 if FRAMEBUFFER_VESA_MODE_108
395         default 0x109 if FRAMEBUFFER_VESA_MODE_109
396         default 0x10A if FRAMEBUFFER_VESA_MODE_10A
397         default 0x10B if FRAMEBUFFER_VESA_MODE_10B
398         default 0x10C if FRAMEBUFFER_VESA_MODE_10C
399         default 0x10D if FRAMEBUFFER_VESA_MODE_10D
400         default 0x10E if FRAMEBUFFER_VESA_MODE_10E
401         default 0x10F if FRAMEBUFFER_VESA_MODE_10F
402         default 0x110 if FRAMEBUFFER_VESA_MODE_110
403         default 0x111 if FRAMEBUFFER_VESA_MODE_111
404         default 0x112 if FRAMEBUFFER_VESA_MODE_112
405         default 0x113 if FRAMEBUFFER_VESA_MODE_113
406         default 0x114 if FRAMEBUFFER_VESA_MODE_114
407         default 0x115 if FRAMEBUFFER_VESA_MODE_115
408         default 0x116 if FRAMEBUFFER_VESA_MODE_116
409         default 0x117 if FRAMEBUFFER_VESA_MODE_117
410         default 0x118 if FRAMEBUFFER_VESA_MODE_118
411         default 0x119 if FRAMEBUFFER_VESA_MODE_119
412         default 0x11A if FRAMEBUFFER_VESA_MODE_11A
413         default 0x11B if FRAMEBUFFER_VESA_MODE_11B
414         default 0x117 if FRAMEBUFFER_VESA_MODE_USER
415
416 config VIDEO_LCD_ANX9804
417         bool "ANX9804 bridge chip"
418         ---help---
419         Support for the ANX9804 bridge chip, which can take pixel data coming
420         from a parallel LCD interface and translate it on the fy into a DP
421         interface for driving eDP TFT displays. It uses I2C for configuration.
422
423 config VIDEO_LCD_ORISETECH_OTM8009A
424         bool "OTM8009A DSI LCD panel support"
425         depends on DM_VIDEO
426         select VIDEO_MIPI_DSI
427         help
428         Say Y here if you want to enable support for Orise Technology
429         otm8009a 480x800 dsi 2dl panel.
430
431 config VIDEO_LCD_RAYDIUM_RM68200
432         bool "RM68200 DSI LCD panel support"
433         depends on DM_VIDEO
434         select VIDEO_MIPI_DSI
435         help
436         Say Y here if you want to enable support for Raydium RM68200
437         720x1280 DSI video mode panel.
438
439 config VIDEO_LCD_SSD2828
440         bool "SSD2828 bridge chip"
441         ---help---
442         Support for the SSD2828 bridge chip, which can take pixel data coming
443         from a parallel LCD interface and translate it on the fly into MIPI DSI
444         interface for driving a MIPI compatible LCD panel. It uses SPI for
445         configuration.
446
447 config VIDEO_LCD_SSD2828_TX_CLK
448         int "SSD2828 TX_CLK frequency (in MHz)"
449         depends on VIDEO_LCD_SSD2828
450         default 0
451         ---help---
452         The frequency of the crystal, which is clocking SSD2828. It may be
453         anything in the 8MHz-30MHz range and the exact value should be
454         retrieved from the board schematics. Or in the case of Allwinner
455         hardware, it can be usually found as 'lcd_xtal_freq' variable in
456         FEX files. It can be also set to 0 for selecting PCLK from the
457         parallel LCD interface instead of TX_CLK as the PLL clock source.
458
459 config VIDEO_LCD_SSD2828_RESET
460         string "RESET pin of SSD2828"
461         depends on VIDEO_LCD_SSD2828
462         default ""
463         ---help---
464         The reset pin of SSD2828 chip. This takes a string in the format
465         understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
466
467 config VIDEO_LCD_TDO_TL070WSH30
468         bool "TDO TL070WSH30 DSI LCD panel support"
469         depends on DM_VIDEO
470         select VIDEO_MIPI_DSI
471         help
472         Say Y here if you want to enable support for TDO TL070WSH30
473         1024x600 DSI video mode panel.
474
475 config VIDEO_LCD_HITACHI_TX18D42VM
476         bool "Hitachi tx18d42vm LVDS LCD panel support"
477         ---help---
478         Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
479         lcd controller which needs to be initialized over SPI, once that is
480         done they work like a regular LVDS panel.
481
482 config VIDEO_LCD_SPI_CS
483         string "SPI CS pin for LCD related config job"
484         depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
485         default ""
486         ---help---
487         This is one of the SPI communication pins, involved in setting up a
488         working LCD configuration. The exact role of SPI may differ for
489         different hardware setups. The option takes a string in the format
490         understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
491
492 config VIDEO_LCD_SPI_SCLK
493         string "SPI SCLK 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_MOSI
503         string "SPI MOSI 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_MISO
513         string "SPI MISO pin for LCD related config job (optional)"
514         depends on VIDEO_LCD_SSD2828
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. If wired up, this pin may provide additional
520         useful functionality. Such as bi-directional communication with the
521         hardware and LCD panel id retrieval (if the panel can report it). The
522         option takes a string in the format understood by 'sunxi_name_to_gpio'
523         function, e.g. PH1 for pin 1 of port H.
524
525 source "drivers/video/meson/Kconfig"
526
527 config VIDEO_MVEBU
528         bool "Armada XP LCD controller"
529         ---help---
530         Support for the LCD controller integrated in the Marvell
531         Armada XP SoC.
532
533 config VIDEO_OMAP3
534         bool "Enable OMAP3+ DSS Support"
535         depends on ARCH_OMAP2PLUS
536         help
537           This enables the Display subsystem (DSS) on OMAP3+ boards.
538
539 config I2C_EDID
540         bool "Enable EDID library"
541         help
542            This enables library for accessing EDID data from an LCD panel.
543
544 config DISPLAY
545         bool "Enable Display support"
546         depends on DM
547         select I2C_EDID
548         help
549            This supports drivers that provide a display, such as eDP (Embedded
550            DisplayPort) and HDMI (High Definition Multimedia Interface).
551            The devices provide a simple interface to start up the display,
552            read display information and enable it.
553
554 config NXP_TDA19988
555         bool "Enable NXP TDA19988 support"
556         depends on DISPLAY
557         help
558           This enables support for the NXP TDA19988 HDMI encoder. This encoder
559           will convert RGB data streams into HDMI-encoded signals.
560
561 config ATMEL_HLCD
562         bool "Enable ATMEL video support using HLCDC"
563         help
564            HLCDC supports video output to an attached LCD panel.
565
566 source "drivers/video/ti/Kconfig"
567
568 config LOGICORE_DP_TX
569         bool "Enable Logicore DP TX driver"
570         depends on DISPLAY
571         help
572           Enable the driver for the transmitter part of the Xilinx LogiCORE
573           DisplayPort, a IP core for Xilinx FPGAs that implements a DisplayPort
574           video interface as defined by VESA DisplayPort v1.2.
575
576           Note that this is a pure transmitter device, and has no display
577           capabilities by itself.
578
579 config VIDEO_BROADWELL_IGD
580         bool "Enable Intel Broadwell integrated graphics device"
581         depends on X86
582         help
583           This enables support for integrated graphics on Intel broadwell
584           devices. Initialisation is mostly performed by a VGA boot ROM, with
585           some setup handled by U-Boot itself. The graphics adaptor works as
586           a VESA device and supports LCD panels, eDP and LVDS outputs.
587           Configuration of most aspects of device operation is performed using
588           a special tool which configures the VGA ROM, but the graphics
589           resolution can be selected in U-Boot.
590
591 config VIDEO_IVYBRIDGE_IGD
592         bool "Enable Intel Ivybridge integration graphics support"
593         depends on X86
594         help
595           This enables support for integrated graphics on Intel ivybridge
596           devices. Initialisation is mostly performed by a VGA boot ROM, with
597           some setup handled by U-Boot itself. The graphics adaptor works as
598           a VESA device and supports LCD panels, eDP and LVDS outputs.
599           Configuration of most aspects of device operation is performed using
600           a special tool which configures the VGA ROM, but the graphics
601           resolution can be selected in U-Boot.
602
603 config VIDEO_FSL_DCU_FB
604         bool "Enable Freescale Display Control Unit"
605         depends on VIDEO || DM_VIDEO
606         help
607          This enables support for Freescale Display Control Unit (DCU4)
608          module found on Freescale Vybrid and QorIQ family of SoCs.
609
610 config VIDEO_FSL_DCU_MAX_FB_SIZE_MB
611         int "Freescale DCU framebuffer size"
612         depends on VIDEO_FSL_DCU_FB
613         default 4194304
614         help
615          Set maximum framebuffer size to be used for Freescale Display
616          Controller Unit (DCU4).
617
618 source "drivers/video/rockchip/Kconfig"
619
620 config VIDEO_ARM_MALIDP
621         bool "Enable Arm Mali Display Processor support"
622         depends on DM_VIDEO && OF_CONTROL
623         select VEXPRESS_CLK
624         help
625           This enables support for Arm Ltd Mali Display Processors from
626           the DP500, DP550 and DP650 family.
627
628 config VIDEO_SANDBOX_SDL
629         bool "Enable sandbox video console using SDL"
630         depends on SANDBOX
631         help
632           When using sandbox you can enable an emulated LCD display which
633           appears as an SDL (Simple DirectMedia Layer) window. This is a
634           console device and can display stdout output. Within U-Boot is is
635           a normal bitmap display and can display images as well as text.
636
637 source "drivers/video/stm32/Kconfig"
638
639 config VIDEO_TEGRA20
640         bool "Enable LCD support on Tegra20"
641         depends on OF_CONTROL
642         help
643            Tegra20 supports video output to an attached LCD panel as well as
644            other options such as HDMI. Only the LCD is supported in U-Boot.
645            This option enables this support which can be used on devices which
646            have an LCD display connected.
647
648 config VIDEO_TEGRA124
649         bool "Enable video support on Tegra124"
650         depends on DM_VIDEO
651         help
652            Tegra124 supports many video output options including eDP and
653            HDMI. At present only eDP is supported by U-Boot. This option
654            enables this support which can be used on devices which
655            have an eDP display connected.
656
657 source "drivers/video/bridge/Kconfig"
658
659 source "drivers/video/imx/Kconfig"
660
661 config VIDEO_MXS
662         bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs"
663         depends on DM_VIDEO
664         help
665           Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors
666
667 config VIDEO_NX
668         bool "Enable video support on Nexell SoC"
669         depends on ARCH_S5P6818 || ARCH_S5P4418
670         help
671            Nexell SoC supports many video output options including eDP and
672            HDMI. This option enables this support which can be used on devices
673            which have an eDP display connected.
674
675 config VIDEO_SEPS525
676         bool "Enable video support for Seps525"
677         depends on DM_VIDEO
678         help
679           Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
680           Currently driver is supporting only SPI interface.
681
682 source "drivers/video/nexell/Kconfig"
683
684 config VIDEO
685         bool "Enable legacy video support"
686         depends on !DM_VIDEO
687         help
688           Define this for video support, without using driver model. Some
689           drivers use this because they are not yet converted to driver
690           model. Video drivers typically provide a colour text console and
691           cursor.
692
693 config CFB_CONSOLE
694         bool "Enable colour frame buffer console"
695         depends on VIDEO || ARCH_OMAP2PLUS
696         default y if VIDEO
697         help
698           Enables the colour frame buffer driver. This supports colour
699           output on a bitmap display from an in-memory frame buffer.
700           Several colour devices are supported along with various options to
701           adjust the supported features. The driver is implemented in
702           cfb_console.c
703
704           The following defines are needed (cf. smiLynxEM, i8042)
705                 VIDEO_FB_LITTLE_ENDIAN  graphic memory organisation
706                                         (default big endian)
707                 VIDEO_HW_RECTFILL       graphic chip supports
708                                         rectangle fill (cf. smiLynxEM)
709                 VIDEO_HW_BITBLT         graphic chip supports
710                                         bit-blit (cf. smiLynxEM)
711                 VIDEO_VISIBLE_COLS      visible pixel columns (cols=pitch)
712                 VIDEO_VISIBLE_ROWS      visible pixel rows
713                 VIDEO_PIXEL_SIZE        bytes per pixel
714                 VIDEO_DATA_FORMAT       graphic data format
715                                         (0-5, cf. cfb_console.c)
716                 VIDEO_FB_ADRS           framebuffer address
717                 VIDEO_KBD_INIT_FCT      keyboard int fct (i.e. rx51_kp_init())
718                 VIDEO_TSTC_FCT          test char fct (i.e. rx51_kp_tstc)
719                 VIDEO_GETC_FCT          get char fct (i.e. rx51_kp_getc)
720                 CONFIG_VIDEO_LOGO       display Linux logo in upper left corner
721                 CONFIG_VIDEO_BMP_LOGO   use bmp_logo.h instead of linux_logo.h
722                                         for logo. Requires CONFIG_VIDEO_LOGO
723                 CONFIG_CONSOLE_EXTRA_INFO
724                                         additional board info beside
725                                         the logo
726                 CONFIG_HIDE_LOGO_VERSION
727                                         do not display bootloader
728                                         version string
729
730           When CONFIG_CFB_CONSOLE is defined, the video console is the
731           default console. The serial console can be forced by setting the
732           environment 'console=serial'.
733
734 config CFB_CONSOLE_ANSI
735         bool "Support ANSI escape sequences"
736         depends on CFB_CONSOLE
737         help
738           This allows the colour buffer frame buffer driver to support
739           a limited number of ANSI escape sequences (cursor control,
740           erase functions and limited graphics rendition control). Normal
741           output from U-Boot will pass through this filter.
742
743 config VGA_AS_SINGLE_DEVICE
744         bool "Set the video as an output-only device"
745         depends on CFB_CONSOLE
746         default y
747         help
748           If enable the framebuffer device will be initialized as an
749           output-only device. The Keyboard driver will not be set up. This
750           may be used if you have no keyboard device, or more than one
751           (USB Keyboard, AT Keyboard).
752
753 config VIDEO_SW_CURSOR
754         bool "Enable a software cursor"
755         depends on CFB_CONSOLE
756         default y if CFB_CONSOLE
757         help
758           This draws a cursor after the last character. No blinking is
759           provided. This makes it possible to see the current cursor
760           position when entering text on the console. It is recommended to
761           enable this.
762
763 config CONSOLE_EXTRA_INFO
764         bool "Display additional board information"
765         depends on CFB_CONSOLE
766         help
767           Display additional board information strings that normally go to
768           the serial port. When this option is enabled, a board-specific
769           function video_get_info_str() is called to get the string for
770           each line of the display. The function should return the string,
771           which can be empty if there is nothing to display for that line.
772
773 config CONSOLE_SCROLL_LINES
774         int "Number of lines to scroll the console by"
775         depends on CFB_CONSOLE || DM_VIDEO || LCD
776         default 1
777         help
778           When the console need to be scrolled, this is the number of
779           lines to scroll by. It defaults to 1. Increasing this makes the
780           console jump but can help speed up operation when scrolling
781           is slow.
782
783 config SYS_CONSOLE_BG_COL
784         hex "Background colour"
785         depends on CFB_CONSOLE
786         default 0x00
787         help
788           Defines the background colour for the console. The value is from
789           0x00 to 0xff and the meaning depends on the graphics card.
790           Typically, 0x00 means black and 0xff means white. Do not set
791           the background and foreground to the same colour or you will see
792           nothing.
793
794 config SYS_CONSOLE_FG_COL
795         hex "Foreground colour"
796         depends on CFB_CONSOLE
797         default 0xa0
798         help
799           Defines the foreground colour for the console. The value is from
800           0x00 to 0xff and the meaning depends on the graphics card.
801           Typically, 0x00 means black and 0xff means white. Do not set
802           the background and foreground to the same colour or you will see
803           nothing.
804
805 config LCD
806         bool "Enable legacy LCD support"
807         help
808           Define this to enable LCD support (for output to LCD display).
809           You will also need to select an LCD driver using an additional
810           CONFIG option. See the README for details. Drives which have been
811           converted to driver model will instead used CONFIG_DM_VIDEO.
812
813 config VIDEO_DW_HDMI
814         bool
815         help
816           Enables the common driver code for the Designware HDMI TX
817           block found in SoCs from various vendors.
818           As this does not provide any functionality by itself (but
819           rather requires a SoC-specific glue driver to call it), it
820           can not be enabled from the configuration menu.
821
822 config VIDEO_DSI_HOST_SANDBOX
823         bool "Enable sandbox for dsi host"
824         depends on SANDBOX
825         select VIDEO_MIPI_DSI
826         help
827           Enable support for sandbox dsi host device used for testing
828           purposes.
829           Display Serial Interface (DSI) defines a serial bus and
830           a communication protocol between the host and the device
831           (panel, bridge).
832
833 config VIDEO_DW_MIPI_DSI
834         bool
835         select VIDEO_MIPI_DSI
836         help
837           Enables the common driver code for the Synopsis Designware
838           MIPI DSI block found in SoCs from various vendors.
839           As this does not provide any functionality by itself (but
840           rather requires a SoC-specific glue driver to call it), it
841           can not be enabled from the configuration menu.
842
843 config VIDEO_SIMPLE
844         bool "Simple display driver for preconfigured display"
845         help
846           Enables a simple generic display driver which utilizes the
847           simple-framebuffer devicetree bindings.
848
849           This driver assumes that the display hardware has been initialized
850           before u-boot starts, and u-boot will simply render to the pre-
851           allocated frame buffer surface.
852
853 config VIDEO_DT_SIMPLEFB
854         bool "Enable SimpleFB support for passing framebuffer to OS"
855         help
856           Enables the code to pass the framebuffer to the kernel as a
857           simple framebuffer in the device tree.
858           The video output is initialized by U-Boot, and kept by the
859           kernel.
860
861 config VIDEO_MCDE_SIMPLE
862         bool "Simple driver for ST-Ericsson MCDE with preconfigured display"
863         depends on DM_VIDEO
864         help
865           Enables a simple display driver for ST-Ericsson MCDE
866           (Multichannel Display Engine), which reads the configuration from
867           the MCDE registers.
868
869           This driver assumes that the display hardware has been initialized
870           before u-boot starts, and u-boot will simply render to the pre-
871           allocated frame buffer surface.
872
873 config OSD
874         bool "Enable OSD support"
875         depends on DM
876         help
877            This supports drivers that provide a OSD (on-screen display), which
878            is a (usually text-oriented) graphics buffer to show information on
879            a display.
880
881 config SANDBOX_OSD
882         bool "Enable sandbox OSD"
883         depends on OSD
884         help
885           Enable support for sandbox OSD device used for testing purposes.
886
887 config IHS_VIDEO_OUT
888         bool "Enable IHS video out driver"
889         depends on OSD
890         help
891           Enable support for the gdsys Integrated Hardware Systems (IHS) video
892           out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
893           textual overlays of the display outputs.
894
895 config SPLASH_SCREEN
896         bool "Show a splash-screen image"
897         help
898           If this option is set, the environment is checked for a variable
899           "splashimage". If found, the usual display of logo, copyright and
900           system information on the LCD is suppressed and the BMP image at the
901           address specified in "splashimage" is loaded instead. The console is
902           redirected to the "nulldev", too. This allows for a "silent" boot
903           where a splash screen is loaded very quickly after power-on.
904
905           The splash_screen_prepare() function is a weak function defined in
906           common/splash.c. It is called as part of the splash screen display
907           sequence. It gives the board an opportunity to prepare the splash
908           image data before it is processed and sent to the frame buffer by
909           U-Boot. Define your own version to use this feature.
910
911 config SPLASHIMAGE_GUARD
912         bool "Support unaligned BMP images"
913         depends on SPLASH_SCREEN
914         help
915           If this option is set, then U-Boot will prevent the environment
916           variable "splashimage" from being set to a problematic address
917           (see doc/README.displaying-bmps).
918
919           This option is useful for targets where, due to alignment
920           restrictions, an improperly aligned BMP image will cause a data
921           abort. If you think you will not have problems with unaligned
922           accesses (for example because your toolchain prevents them)
923           there is no need to set this option.
924
925 config SPLASH_SCREEN_ALIGN
926         bool "Allow positioning the splash image anywhere on the display"
927         depends on SPLASH_SCREEN || CMD_BMP
928         help
929           If this option is set the splash image can be freely positioned
930           on the screen. Environment variable "splashpos" specifies the
931           position as "x,y". If a positive number is given it is used as
932           number of pixel from left/top. If a negative number is given it
933           is used as number of pixel from right/bottom. You can also
934           specify 'm' for centering the image.
935
936           Example:
937           setenv splashpos m,m
938                 => image at center of screen
939
940           setenv splashpos 30,20
941                 => image at x = 30 and y = 20
942
943           setenv splashpos -10,m
944                 => vertically centered image
945                    at x = dspWidth - bmpWidth - 9
946
947 config SPLASH_SOURCE
948         bool "Control the source of the splash image"
949         depends on SPLASH_SCREEN
950         help
951           Use the splash_source.c library. This library provides facilities to
952           declare board specific splash image locations, routines for loading
953           splash image from supported locations, and a way of controlling the
954           selected splash location using the "splashsource" environment
955           variable.
956
957           This CONFIG works as follows:
958
959           - If splashsource is set to a supported location name as defined by
960             board code, use that splash location.
961           - If splashsource is undefined, use the first splash location as
962             default.
963           - If splashsource is set to an unsupported value, do not load a splash
964             screen.
965
966           A splash source location can describe either storage with raw data, a
967           storage formatted with a file system or a FIT image. In case of a
968           filesystem, the splash screen data is loaded as a file. The name of
969           the splash screen file can be controlled with the environment variable
970           "splashfile".
971
972           To enable loading the splash image from a FIT image, CONFIG_FIT must
973           be enabled. The FIT image has to start at the 'offset' field address
974           in the selected splash location. The name of splash image within the
975           FIT shall be specified by the environment variable "splashfile".
976
977           In case the environment variable "splashfile" is not defined the
978           default name 'splash.bmp' will be used.
979
980 config VIDEO_BMP_GZIP
981         bool "Gzip compressed BMP image support"
982         depends on CMD_BMP || SPLASH_SCREEN
983         help
984           If this option is set, additionally to standard BMP
985           images, gzipped BMP images can be displayed via the
986           splashscreen support or the bmp command.
987
988 config VIDEO_BMP_RLE8
989         bool "Run length encoded BMP image (RLE8) support"
990         depends on DM_VIDEO || CFB_CONSOLE
991         help
992           If this option is set, the 8-bit RLE compressed BMP images
993           is supported.
994
995 config BMP_16BPP
996         bool "16-bit-per-pixel BMP image support"
997         depends on DM_VIDEO || LCD
998         help
999           Support display of bitmaps file with 16-bit-per-pixel
1000
1001 config BMP_24BPP
1002         bool "24-bit-per-pixel BMP image support"
1003         depends on DM_VIDEO || LCD
1004         help
1005           Support display of bitmaps file with 24-bit-per-pixel.
1006
1007 config BMP_32BPP
1008         bool "32-bit-per-pixel BMP image support"
1009         depends on DM_VIDEO || LCD
1010         help
1011           Support display of bitmaps file with 32-bit-per-pixel.
1012
1013 config VIDEO_VCXK
1014         bool "Enable VCXK video controller driver support"
1015         help
1016           This enables VCXK driver which can be used with VC2K, VC4K
1017           and VC8K devices on various boards from BuS Elektronik GmbH.
1018
1019 endmenu