1#
2# Video configuration
3#
4
5menu "Graphics support"
6
7config VIDEO
8	bool "Enable driver model support for LCD/video"
9	depends on DM
10	imply CYCLIC
11	help
12	  This enables driver model for LCD and video devices. These support
13	  a bitmap display of various sizes and depths which can be drawn on
14	  to display a command-line console or splash screen. Enabling this
15	  option compiles in the video uclass and routes all LCD/video access
16	  through this.
17
18	  If CYCLIC is enabled (which it is by default), the cyclic subsystem
19	  is used to flush pending output to the display periodically, rather
20	  than this happening with every chunk of output. This allows for more
21	  efficient operation and faster display output.
22
23if VIDEO
24
25config VIDEO_FONT_4X6
26	bool "4 x 6 font size"
27	help
28	  Font for video console driver, 4 x 6 pixels.
29	  Provides character bitmap data in header file.
30	  When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.
31
32config VIDEO_FONT_8X16
33	bool "8 x 16 font size"
34	default y
35	help
36	  Font for video console driver, 8 x 16 pixels
37	  Provides character bitmap data in header file.
38	  When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.
39
40config VIDEO_FONT_SUN12X22
41	bool "12 x 22 font size"
42	help
43	  Font for video console driver, 12 x 22 pixels
44	  Provides character bitmap data in header file.
45	  When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.
46
47config VIDEO_FONT_16X32
48	bool "16 x 32 font size"
49	help
50	  Font for video console driver, 16 x 32 pixels
51	  Provides character bitmap data in header file.
52	  When selecting multiple fonts, you may want to enable CMD_SELECT_FONT too.
53
54config VIDEO_LOGO
55	bool "Show the U-Boot logo on the display"
56	default y if !SPLASH_SCREEN
57	select VIDEO_BMP_RLE8
58	help
59	  This enables showing the U-Boot logo on the display when a video
60	  device is probed. It appears at the top right. The logo itself is at
61	  tools/logos/u-boot_logo.bmp and looks best when the display has a
62	  black background.
63
64config BACKLIGHT
65	bool "Enable panel backlight uclass support"
66	default y
67	help
68	  This provides backlight uclass driver that enables basic panel
69	  backlight support.
70
71config VIDEO_PCI_DEFAULT_FB_SIZE
72	hex "Default framebuffer size to use if no drivers request it"
73	default 0x1000000 if X86
74	default 0x800000 if !X86 && VIDEO_BOCHS
75	default 0x0 if !X86 && !VIDEO_BOCHS
76	help
77	  Generally, video drivers request the amount of memory they need for
78	  the frame buffer when they are bound, by setting the size field in
79	  struct video_uc_plat. That memory is then reserved for use after
80	  relocation. But PCI drivers cannot be bound before relocation unless
81	  they are mentioned in the devicetree.
82
83	  With this value set appropriately, it is possible for PCI video
84	  devices to have a framebuffer allocated by U-Boot.
85
86	  Note: the framebuffer needs to be large enough to store all pixels at
87	  maximum resolution. For example, at 2560 x 1600 with 32 bits per
88	  pixel, 2560 * 1600 * 32 / 8 = 0xfa0000 bytes are needed.
89
90config VIDEO_COPY
91	bool "Enable copying the frame buffer to a hardware copy"
92	select VIDEO_DAMAGE
93	help
94	  On some machines (e.g. x86), reading from the frame buffer is very
95	  slow because it is uncached. To improve performance, this feature
96	  allows the frame buffer to be kept in cached memory (allocated by
97	  U-Boot) and then copied to the hardware frame-buffer as needed.
98	  It uses the VIDEO_DAMAGE feature to keep track of regions to copy
99	  and will only copy actually touched regions.
100
101	  To use this, your video driver must set @copy_base in
102	  struct video_uc_plat.
103
104config VIDEO_DAMAGE
105	bool "Enable damage tracking of frame buffer regions"
106	help
107	  On some machines (most ARM), the display frame buffer resides in
108	  RAM. To make the display controller pick up screen updates, we
109	  have to flush frame buffer contents from CPU caches into RAM which
110	  can be a slow operation.
111
112	  This feature adds damage tracking to collect information about regions
113	  that received updates. When we want to sync, we then only flush
114	  regions of the frame buffer that were modified before, speeding up
115	  screen refreshes significantly.
116
117	  It is also used by VIDEO_COPY to identify which regions changed.
118
119config BACKLIGHT_PWM
120	bool "Generic PWM based Backlight Driver"
121	depends on BACKLIGHT && DM_PWM
122	default y
123	help
124	  If you have a LCD backlight adjustable by PWM, say Y to enable
125	  this driver.
126	  This driver can be use with "simple-panel" and
127	  it understands the standard device tree
128	  (leds/backlight/pwm-backlight.txt)
129
130config BACKLIGHT_GPIO
131	bool "Generic GPIO based Backlight Driver"
132	depends on BACKLIGHT
133	help
134	  If you have a LCD backlight adjustable by GPIO, say Y to enable
135	  this driver.
136	  This driver can be used with "simple-panel" and
137	  it understands the standard device tree
138	  (leds/backlight/gpio-backlight.txt)
139
140config VIDEO_BPP8
141	bool "Support 8-bit-per-pixel displays"
142	default y
143	help
144	  Support drawing text and bitmaps onto a 8-bit-per-pixel display.
145	  Enabling this will include code to support this display. Without
146	  this option, such displays will not be supported and console output
147	  will be empty.
148
149config VIDEO_BPP16
150	bool "Support 16-bit-per-pixel displays"
151	default y
152	help
153	  Support drawing text and bitmaps onto a 16-bit-per-pixel display.
154	  Enabling this will include code to support this display. Without
155	  this option, such displays will not be supported and console output
156	  will be empty.
157
158config VIDEO_BPP32
159	bool "Support 32-bit-per-pixel displays"
160	default y
161	help
162	  Support drawing text and bitmaps onto a 32-bit-per-pixel display.
163	  Enabling this will include code to support this display. Without
164	  this option, such displays will not be supported and console output
165	  will be empty.
166
167config VIDEO_ANSI
168	bool "Support ANSI escape sequences in video console"
169	default y if EFI_LOADER
170	help
171	  Enable ANSI escape sequence decoding for a more fully functional
172	  console. Functionality includes changing the text colour and moving
173	  the cursor. These date from the 1970s and are still widely used today
174	  to control a text terminal. U-Boot implements these by decoding the
175	  sequences and performing the appropriate operation.
176
177config VIDEO_MIPI_DSI
178	bool "Support MIPI DSI interface"
179	help
180	  Support MIPI DSI interface for driving a MIPI compatible device.
181	  The MIPI Display Serial Interface (MIPI DSI) defines a high-speed
182	  serial interface between a host processor and a display module.
183
184config CONSOLE_NORMAL
185	bool "Support a simple text console"
186	default y
187	help
188	  Support drawing text on the frame buffer console so that it can be
189	  used as a console. Rotation is not supported by this driver (see
190	  CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used
191	  for the display.
192
193config CONSOLE_ROTATION
194	bool "Support rotated displays"
195	help
196	  Sometimes, for example if the display is mounted in portrait
197	  mode or even if it's mounted landscape but rotated by 180degree,
198	  we need to rotate our content of the display relative to the
199	  framebuffer, so that user can read the messages which are
200	  printed out. Enable this option to include a text driver which can
201	  support this. The rotation is set by the 'rot' parameter in
202	  struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180
203	  degrees, 3=270 degrees.
204
205config CONSOLE_TRUETYPE
206	bool "Support a console that uses TrueType fonts"
207	select X86_HARDFP if X86
208	help
209	  TrueTrype fonts can provide outline-drawing capability rather than
210	  needing to provide a bitmap for each font and size that is needed.
211	  With this option you can adjust the text size and use a variety of
212	  fonts. Note that this is noticeably slower than with normal console.
213
214config CONSOLE_TRUETYPE_SIZE
215	int "TrueType font size"
216	depends on CONSOLE_TRUETYPE
217	default 18
218	help
219	  This sets the font size for the console. The size is measured in
220	  pixels and is the nominal height of a character. Note that fonts
221	  are commonly measured in 'points', being 1/72 inch (about 3.52mm).
222	  However that measurement depends on the size of your display and
223	  there is no standard display density. At present there is not a
224	  method to select the display's physical size, which would allow
225	  U-Boot to calculate the correct font size.
226
227config CONSOLE_TRUETYPE_MAX_METRICS
228	int "TrueType maximum number of font / size combinations"
229	depends on CONSOLE_TRUETYPE
230	default 10 if EXPO
231	default 1
232	help
233	  This sets the number of font / size combinations which can be used by
234	  the console. For simple console use a single font is enough. When
235	  boot menus are in use, this may need to be increased.
236
237	  Note that a separate entry is needed for each font size, even if the
238	  font itself is the same. This is because the entry caches various
239	  font metrics which are expensive to regenerate each time the font
240	  size changes.
241
242config SYS_WHITE_ON_BLACK
243	bool "Display console as white on a black background"
244	default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || ARCH_TEGRA || X86 || ARCH_SUNXI
245	help
246	 Normally the display is black on a white background, Enable this
247	 option to invert this, i.e. white on a black background. This can be
248	 better in low-light situations or to reduce eye strain in some
249	 cases.
250
251config NO_FB_CLEAR
252	bool "Skip framebuffer clear"
253	help
254	  If firmware (whatever loads u-boot) has already put a splash image
255	  on screen, you might want to preserve it until whatever u-boot
256	  loads takes over the screen.  This, for example, can be used to
257	  keep splash image on screen until grub graphical boot menu starts.
258
259config VIDEO_SYNC_MS
260	int "Video-sync period in milliseconds for foreground processing"
261	default 300 if SANDBOX
262	default 100
263	help
264	  This sets the requested, maximum time before a video sync will take
265	  place, in milliseconds. Note that the time between video syncs
266	  may be longer than this, since syncs only happen when the video system
267	  is used, e.g. by outputting a character to the console.
268
269	  It may also be shorter, since the video uclass will automatically
270	  force a sync in certain situations.
271
272	  Many video-output systems require a sync operation before any output
273	  is visible. This may flush the CPU cache or perhaps copy the
274	  display contents to a hardware framebuffer. Without this, change to
275	  the video may never be displayed.
276
277config VIDEO_SYNC_CYCLIC_MS
278	int "Video-sync period in milliseconds for cyclic processing"
279	depends on CYCLIC
280	default 100 if SANDBOX
281	default 10
282	help
283	  This sets the frequency of cyclic video syncs. The cyclic system is
284	  used to ensure that when U-Boot is idle, it syncs the video. This
285	  improves the responsiveness of the command line to new characters
286	  being entered.
287
288config PANEL
289	bool "Enable panel uclass support"
290	default y
291	help
292	  This provides panel uclass driver that enables basic panel support.
293
294config SIMPLE_PANEL
295	bool "Enable simple panel support"
296	depends on PANEL && BACKLIGHT && DM_GPIO
297	default y
298	help
299	  This turns on a simple panel driver that enables a compatible
300	  video panel.
301
302config PANEL_HX8238D
303	bool "Enable Himax HX-8238D LCD driver"
304	depends on PANEL
305	help
306	  Support for HX-8238D LCD Panel
307	  The  HX8238-D is a single chip controller and driver LSI that
308	  integrates the power circuit.
309	  It can drive a maximum 960x240 dot graphics on a-TFT panel
310	  displays in 16M colors with dithering.
311
312source "drivers/video/fonts/Kconfig"
313
314config VIDEO_BOCHS
315	bool "Enable Bochs video emulation for QEMU"
316	help
317	  Enable this to use the Bochs video support provided in the QEMU
318	  emulator. This appears as a PCI device which U-Boot can set up to
319	  provide a frame buffer.
320
321if VIDEO_BOCHS
322
323config VIDEO_BOCHS_SIZE_X
324	int "Width of display (X resolution)"
325	default 1280
326	help
327	  Sets the width of the display.
328
329	  These two options control the size of the display set up by QEMU.
330	  Typical sizes are 1024 x 768 or 1280 x 1024.
331
332config VIDEO_BOCHS_SIZE_Y
333	int "High of display (Y resolution)"
334	default 1024
335	help
336	  Sets the height of the display.
337
338	  These two options control the size of the display set up by QEMU.
339	  Typical sizes are 1024 x 768 or 1280 x 1024.
340
341endif
342
343config VIDEO_COREBOOT
344	bool "Enable coreboot framebuffer driver support"
345	depends on X86
346	help
347	  Turn on this option to enable a framebuffer driver when U-Boot is
348	  loaded by coreboot where the graphics device is configured by
349	  coreboot already. This can in principle be used with any platform
350	  that coreboot supports.
351
352config VIDEO_EFI
353	bool "Enable EFI framebuffer driver support"
354	depends on EFI_STUB || EFI_APP
355	help
356	  Turn on this option to enable a framebuffeer driver when U-Boot is
357	  loaded as a payload (see README.u-boot_on_efi) by an EFI BIOS where
358	  the graphics device is configured by the EFI BIOS already. This can
359	  in principle be used with any platform that has an EFI BIOS.
360
361config VIDEO_VESA
362	bool "Enable VESA video driver support"
363	help
364	  Turn on this option to enable a very simple driver which uses vesa
365	  to discover the video mode and then provides a frame buffer for use
366	  by U-Boot. This can in principle be used with any platform that
367	  supports PCI and video cards that support VESA BIOS Extension (VBE).
368
369config FRAMEBUFFER_SET_VESA_MODE
370	bool "Set framebuffer graphics resolution"
371	depends on VIDEO_VESA || VIDEO_BROADWELL_IGD
372	help
373	  Set VESA/native framebuffer mode (needed for bootsplash and graphical
374	  framebuffer console)
375
376choice
377	prompt "framebuffer graphics resolution"
378	default FRAMEBUFFER_VESA_MODE_118
379	depends on FRAMEBUFFER_SET_VESA_MODE
380	help
381	  This option sets the resolution used for the U-Boot framebuffer (and
382	  bootsplash screen).
383
384config FRAMEBUFFER_VESA_MODE_100
385	bool "640x400 256-color"
386
387config FRAMEBUFFER_VESA_MODE_101
388	bool "640x480 256-color"
389
390config FRAMEBUFFER_VESA_MODE_102
391	bool "800x600 16-color"
392
393config FRAMEBUFFER_VESA_MODE_103
394	bool "800x600 256-color"
395
396config FRAMEBUFFER_VESA_MODE_104
397	bool "1024x768 16-color"
398
399config FRAMEBUFFER_VESA_MODE_105
400	bool "1024x768 256-color"
401
402config FRAMEBUFFER_VESA_MODE_106
403	bool "1280x1024 16-color"
404
405config FRAMEBUFFER_VESA_MODE_107
406	bool "1280x1024 256-color"
407
408config FRAMEBUFFER_VESA_MODE_108
409	bool "80x60 text"
410
411config FRAMEBUFFER_VESA_MODE_109
412	bool "132x25 text"
413
414config FRAMEBUFFER_VESA_MODE_10A
415	bool "132x43 text"
416
417config FRAMEBUFFER_VESA_MODE_10B
418	bool "132x50 text"
419
420config FRAMEBUFFER_VESA_MODE_10C
421	bool "132x60 text"
422
423config FRAMEBUFFER_VESA_MODE_10D
424	bool "320x200 32k-color (1:5:5:5)"
425
426config FRAMEBUFFER_VESA_MODE_10E
427	bool "320x200 64k-color (5:6:5)"
428
429config FRAMEBUFFER_VESA_MODE_10F
430	bool "320x200 16.8M-color (8:8:8)"
431
432config FRAMEBUFFER_VESA_MODE_110
433	bool "640x480 32k-color (1:5:5:5)"
434
435config FRAMEBUFFER_VESA_MODE_111
436	bool "640x480 64k-color (5:6:5)"
437
438config FRAMEBUFFER_VESA_MODE_112
439	bool "640x480 16.8M-color (8:8:8)"
440
441config FRAMEBUFFER_VESA_MODE_113
442	bool "800x600 32k-color (1:5:5:5)"
443
444config FRAMEBUFFER_VESA_MODE_114
445	bool "800x600 64k-color (5:6:5)"
446
447config FRAMEBUFFER_VESA_MODE_115
448	bool "800x600 16.8M-color (8:8:8)"
449
450config FRAMEBUFFER_VESA_MODE_116
451	bool "1024x768 32k-color (1:5:5:5)"
452
453config FRAMEBUFFER_VESA_MODE_117
454	bool "1024x768 64k-color (5:6:5)"
455
456config FRAMEBUFFER_VESA_MODE_118
457	bool "1024x768 16.8M-color (8:8:8)"
458
459config FRAMEBUFFER_VESA_MODE_119
460	bool "1280x1024 32k-color (1:5:5:5)"
461
462config FRAMEBUFFER_VESA_MODE_11A
463	bool "1280x1024 64k-color (5:6:5)"
464
465config FRAMEBUFFER_VESA_MODE_11B
466	bool "1280x1024 16.8M-color (8:8:8)"
467
468config FRAMEBUFFER_VESA_MODE_USER
469	bool "Manually select VESA mode"
470
471endchoice
472
473# Map the config names to an integer (KB).
474config FRAMEBUFFER_VESA_MODE
475	prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
476	hex
477	default 0x100 if FRAMEBUFFER_VESA_MODE_100
478	default 0x101 if FRAMEBUFFER_VESA_MODE_101
479	default 0x102 if FRAMEBUFFER_VESA_MODE_102
480	default 0x103 if FRAMEBUFFER_VESA_MODE_103
481	default 0x104 if FRAMEBUFFER_VESA_MODE_104
482	default 0x105 if FRAMEBUFFER_VESA_MODE_105
483	default 0x106 if FRAMEBUFFER_VESA_MODE_106
484	default 0x107 if FRAMEBUFFER_VESA_MODE_107
485	default 0x108 if FRAMEBUFFER_VESA_MODE_108
486	default 0x109 if FRAMEBUFFER_VESA_MODE_109
487	default 0x10A if FRAMEBUFFER_VESA_MODE_10A
488	default 0x10B if FRAMEBUFFER_VESA_MODE_10B
489	default 0x10C if FRAMEBUFFER_VESA_MODE_10C
490	default 0x10D if FRAMEBUFFER_VESA_MODE_10D
491	default 0x10E if FRAMEBUFFER_VESA_MODE_10E
492	default 0x10F if FRAMEBUFFER_VESA_MODE_10F
493	default 0x110 if FRAMEBUFFER_VESA_MODE_110
494	default 0x111 if FRAMEBUFFER_VESA_MODE_111
495	default 0x112 if FRAMEBUFFER_VESA_MODE_112
496	default 0x113 if FRAMEBUFFER_VESA_MODE_113
497	default 0x114 if FRAMEBUFFER_VESA_MODE_114
498	default 0x115 if FRAMEBUFFER_VESA_MODE_115
499	default 0x116 if FRAMEBUFFER_VESA_MODE_116
500	default 0x117 if FRAMEBUFFER_VESA_MODE_117
501	default 0x118 if FRAMEBUFFER_VESA_MODE_118
502	default 0x119 if FRAMEBUFFER_VESA_MODE_119
503	default 0x11A if FRAMEBUFFER_VESA_MODE_11A
504	default 0x11B if FRAMEBUFFER_VESA_MODE_11B
505	default 0x117 if FRAMEBUFFER_VESA_MODE_USER
506
507config VIDEO_LCD_ANX9804
508	bool "ANX9804 bridge chip"
509	---help---
510	Support for the ANX9804 bridge chip, which can take pixel data coming
511	from a parallel LCD interface and translate it on the fy into a DP
512	interface for driving eDP TFT displays. It uses I2C for configuration.
513
514config ATMEL_LCD
515	bool "Atmel LCD panel support"
516	imply VIDEO_DAMAGE
517	depends on ARCH_AT91
518
519config ATMEL_LCD_BGR555
520	bool "Display in BGR555 mode"
521	help
522	  Use the BGR555 output mode.  Otherwise RGB565 is used.
523
524config VIDEO_BCM2835
525	bool "Display support for BCM2835"
526	imply VIDEO_DAMAGE
527	help
528	  The graphics processor already sets up the display so this driver
529	  simply checks the resolution and then sets up the frame buffer with
530	  that same resolution (or as near as possible) and 32bpp depth, so
531	  that U-Boot can access it with full colour depth.
532
533config VIDEO_LCD_ENDEAVORU
534	tristate "Endeavoru 720x1280 DSI video mode panel"
535	depends on PANEL && BACKLIGHT
536	select VIDEO_MIPI_DSI
537	help
538	  Say Y here if you want to enable support for the IPS-LCD panel
539	  module for HTC One X. Driver supports a family of panels,
540	  made at least by 3 vendors (Sharp, Sony and AUO), but set up
541	  using the same DSI command sequence. The panel has a 720x1280
542	  resolution and uses 24 bit RGB per pixel.
543
544config VIDEO_LCD_HIMAX_HX8394
545	bool "Himax HX8394 DSI LCD panel support"
546	depends on PANEL && BACKLIGHT
547	select VIDEO_MIPI_DSI
548	help
549	Say Y here if you want to enable support for Himax HX8394
550	dsi 4dl panel.
551
552config VIDEO_LCD_MOT
553	tristate "Atrix 4G and Droid X2 540x960 DSI video mode panel"
554	depends on PANEL && BACKLIGHT
555	select VIDEO_MIPI_DSI
556	help
557	  Say Y here if you want to enable support for the LCD panel module for
558	  Motorola Atrix 4G or Droid X2. Exact panel vendor and model are
559	  unknown. The panel has a 540x960 resolution and uses 24 bit RGB per
560	  pixel.
561
562config VIDEO_LCD_NOVATEK_NT35510
563	bool "Novatek NT35510 DSI LCD panel support"
564	select VIDEO_MIPI_DSI
565	help
566	Say Y here if you want to enable support for Novatek nt35510
567	dsi panel.
568
569config VIDEO_LCD_ORISETECH_OTM8009A
570	bool "OTM8009A DSI LCD panel support"
571	select VIDEO_MIPI_DSI
572	help
573	Say Y here if you want to enable support for Orise Technology
574	otm8009a 480x800 dsi 2dl panel.
575
576config VIDEO_LCD_LG_LD070WX3
577	bool "LD070WX3 DSI LCD panel support"
578	depends on PANEL && BACKLIGHT
579	select VIDEO_MIPI_DSI
580	help
581	  Say Y here if you want to enable support for LG LD070WX3
582	  800x1280 DSI video mode panel.
583
584config VIDEO_LCD_LG_LH400WV3
585	bool "LH400WV3-SD04 DSI LCD panel support"
586	depends on PANEL && BACKLIGHT
587	select VIDEO_MIPI_DSI
588	help
589	  Say Y here if you want to enable support for LG LH400WV3
590	  480x800 DSI video mode panel.
591
592config VIDEO_LCD_RAYDIUM_RM68200
593	bool "RM68200 DSI LCD panel support"
594	select VIDEO_MIPI_DSI
595	help
596	Say Y here if you want to enable support for Raydium RM68200
597	720x1280 DSI video mode panel.
598
599config VIDEO_LCD_RENESAS_R61307
600	tristate "Renesas R61307 DSI video mode panel"
601	depends on PANEL && BACKLIGHT
602	select VIDEO_MIPI_DSI
603	help
604	  Say Y here if you want to enable support for KOE tx13d100vm0eaa
605	  IPS-LCD module with Renesas R69328 IC. The panel has a 1024x768
606	  resolution and uses 24 bit RGB per pixel.
607
608config VIDEO_LCD_RENESAS_R69328
609	tristate "Renesas R69328 720x1280 DSI video mode panel"
610	depends on PANEL && BACKLIGHT
611	select VIDEO_MIPI_DSI
612	help
613	  Say Y here if you want to enable support for JDI dx12d100vm0eaa
614	  IPS-LCD module with Renesas R69328 IC. The panel has a 720x1280
615	  resolution and uses 24 bit RGB per pixel.
616
617config VIDEO_LCD_SAMSUNG_LTL106HL02
618	tristate "Samsung LTL106HL02 1920x1080 DSI video mode panel"
619	depends on PANEL && BACKLIGHT
620	select VIDEO_MIPI_DSI
621	help
622	  Say Y here if you want to enable support for Samsung LTL106HL02
623	  LCD module found in Microsoft Surface 2. The panel has a FullHD
624	  resolution (1920x1080).
625
626config VIDEO_LCD_SHARP_LQ079L1SX01
627	tristate "Sharp LQ079L1SX01 1536x2048 DSI video mode panel"
628	depends on PANEL && BACKLIGHT
629	select VIDEO_MIPI_DSI
630	help
631	  Say Y here if you want to enable support for Sharp LQ079L1SX01
632	  LCD module found in Xiaomi Mi Pad tablet. The panel has a QXGA
633	  resolution (1536x2048).
634
635config VIDEO_LCD_SHARP_LQ101R1SX01
636	tristate "Sharp LQ101R1SX01 2560x1600 DSI video mode panel"
637	depends on PANEL && BACKLIGHT
638	select VIDEO_MIPI_DSI
639	help
640	  Say Y here if you want to enable support for Sharp LQ101R1SX01
641	  LCD module found in ASUS Transformer TF701T. The panel has a
642	  WQXGA resolution (2560x1600).
643
644config VIDEO_LCD_SSD2828
645	bool "SSD2828 bridge chip"
646	---help---
647	Support for the SSD2828 bridge chip, which can take pixel data coming
648	from a parallel LCD interface and translate it on the fly into MIPI DSI
649	interface for driving a MIPI compatible LCD panel. It uses SPI for
650	configuration.
651
652config VIDEO_LCD_SSD2828_TX_CLK
653	int "SSD2828 TX_CLK frequency (in MHz)"
654	depends on VIDEO_LCD_SSD2828
655	default 0
656	---help---
657	The frequency of the crystal, which is clocking SSD2828. It may be
658	anything in the 8MHz-30MHz range and the exact value should be
659	retrieved from the board schematics. Or in the case of Allwinner
660	hardware, it can be usually found as 'lcd_xtal_freq' variable in
661	FEX files. It can be also set to 0 for selecting PCLK from the
662	parallel LCD interface instead of TX_CLK as the PLL clock source.
663
664config VIDEO_LCD_SSD2828_RESET
665	string "RESET pin of SSD2828"
666	depends on VIDEO_LCD_SSD2828
667	default ""
668	---help---
669	The reset pin of SSD2828 chip. This takes a string in the format
670	understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
671
672config VIDEO_LCD_TDO_TL070WSH30
673	bool "TDO TL070WSH30 DSI LCD panel support"
674	select VIDEO_MIPI_DSI
675	help
676	Say Y here if you want to enable support for TDO TL070WSH30
677	1024x600 DSI video mode panel.
678
679config VIDEO_LCD_HITACHI_TX10D07VM0BAA
680	tristate "Hitachi TX10D07VM0BAA 480x800 MIPI DSI video mode panel"
681	depends on PANEL && BACKLIGHT
682	select VIDEO_MIPI_DSI
683	help
684	  Say Y here if you want to enable support for Hitachi TX10D07VM0BAA
685	  TFT-LCD module. The panel has a 480x800 resolution.
686
687config VIDEO_LCD_HITACHI_TX18D42VM
688	bool "Hitachi tx18d42vm LVDS LCD panel support"
689	---help---
690	Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
691	lcd controller which needs to be initialized over SPI, once that is
692	done they work like a regular LVDS panel.
693
694config VIDEO_LCD_SONY_L4F00430T01
695	tristate "Sony L4F00430T01 480x800 LCD panel support"
696	depends on PANEL
697	help
698	  Say Y here if you want to enable support for Sony L4F00430T01
699	  LCD module found in Samsung Galaxy R. The panel has a
700	  WVGA resolution (480x800) and is setup over SPI, video
701	  data comes from RGB.
702
703config VIDEO_LCD_SAMSUNG_S6E63M0
704	tristate "Samsung S6E63M0 controller based panel support"
705	depends on PANEL && BACKLIGHT
706	help
707	  Say Y here if you want to enable support for Samsung S6E63M0
708	  controller found in some panels like on Samsung Captivate Glide.
709	  Currently only DBI C panel is implemented.
710
711config VIDEO_LCD_SPI_CS
712	string "SPI CS pin for LCD related config job"
713	depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
714	default ""
715	---help---
716	This is one of the SPI communication pins, involved in setting up a
717	working LCD configuration. The exact role of SPI may differ for
718	different hardware setups. The option takes a string in the format
719	understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
720
721config VIDEO_LCD_SPI_SCLK
722	string "SPI SCLK pin for LCD related config job"
723	depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
724	default ""
725	---help---
726	This is one of the SPI communication pins, involved in setting up a
727	working LCD configuration. The exact role of SPI may differ for
728	different hardware setups. The option takes a string in the format
729	understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
730
731config VIDEO_LCD_SPI_MOSI
732	string "SPI MOSI pin for LCD related config job"
733	depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
734	default ""
735	---help---
736	This is one of the SPI communication pins, involved in setting up a
737	working LCD configuration. The exact role of SPI may differ for
738	different hardware setups. The option takes a string in the format
739	understood by 'sunxi_name_to_gpio' function, e.g. PH1 for pin 1 of port H.
740
741config VIDEO_LCD_SPI_MISO
742	string "SPI MISO pin for LCD related config job (optional)"
743	depends on VIDEO_LCD_SSD2828
744	default ""
745	---help---
746	This is one of the SPI communication pins, involved in setting up a
747	working LCD configuration. The exact role of SPI may differ for
748	different hardware setups. If wired up, this pin may provide additional
749	useful functionality. Such as bi-directional communication with the
750	hardware and LCD panel id retrieval (if the panel can report it). The
751	option takes a string in the format understood by 'sunxi_name_to_gpio'
752	function, e.g. PH1 for pin 1 of port H.
753
754source "drivers/video/meson/Kconfig"
755
756config VIDEO_MVEBU
757	bool "Armada XP LCD controller"
758	imply VIDEO_DAMAGE
759	---help---
760	Support for the LCD controller integrated in the Marvell
761	Armada XP SoC.
762
763config VIDEO_OMAP3
764	bool "Enable OMAP3+ DSS Support"
765	depends on ARCH_OMAP2PLUS
766	help
767	  This enables the Display subsystem (DSS) on OMAP3+ boards.
768
769config I2C_EDID
770	bool "Enable EDID library"
771	help
772	   This enables library for accessing EDID data from an LCD panel.
773
774config I2C_EDID_STANDARD
775	bool "Enable standard timings EDID library expansion"
776	depends on I2C_EDID
777	help
778	   This enables standard timings expansion for EDID data from an LCD panel.
779
780config DISPLAY
781	bool "Enable Display support"
782	depends on DM
783	select I2C_EDID
784	help
785	   This supports drivers that provide a display, such as eDP (Embedded
786	   DisplayPort) and HDMI (High Definition Multimedia Interface).
787	   The devices provide a simple interface to start up the display,
788	   read display information and enable it.
789
790config NXP_TDA19988
791	bool "Enable NXP TDA19988 support"
792	depends on DISPLAY
793	help
794	  This enables support for the NXP TDA19988 HDMI encoder. This encoder
795	  will convert RGB data streams into HDMI-encoded signals.
796
797config ATMEL_HLCD
798	bool "Enable ATMEL video support using HLCDC"
799	imply VIDEO_DAMAGE
800	help
801	   HLCDC supports video output to an attached LCD panel.
802
803config BACKLIGHT_AAT2870
804	bool "Backlight Driver for AAT2870"
805	depends on BACKLIGHT
806	select DM_I2C
807	help
808	  Say Y to enable the backlight driver for Skyworks AAT2870 LED
809	  Backlight Driver and Multiple LDO Lighting Management Unit.
810	  Only backlight is supported as for now. Supported backlight
811	  level range is from 2 to 255 with step of 1.
812
813config BACKLIGHT_LM3532
814	bool "Backlight Driver for LM3532"
815	depends on BACKLIGHT
816	select DM_I2C
817	help
818	  Say Y to enable the backlight driver for National Semiconductor / TI
819	  LM3532 Lighting Power chip. Only backlight functions is supported as
820	  for now. Supported backlight level range is from 1 to 255.
821
822config BACKLIGHT_LM3533
823	bool "Backlight Driver for LM3533"
824	depends on BACKLIGHT
825	select DM_I2C
826	help
827	  Say Y to enable the backlight driver for National Semiconductor / TI
828	  LM3533 Lighting Power chip. Only Bank A is supported as for now.
829	  Supported backlight level range is from 2 to 255 with step of 1.
830
831config BACKLIGHT_LP855x
832	bool "Backlight Driver for LP855x"
833	depends on BACKLIGHT
834	select DM_I2C
835	help
836	  Say Y to enable the backlight driver for National Semiconductor / TI
837	  LP8550/1/2/3/5/6/7 LED Backlight Driver. Only register driven mode is
838	  supported for now, PWM mode can be added if there will be any need in
839	  it. Supported backlight level range is from 0 to 255 with step of 1.
840
841config BACKLIGHT_SAMSUNG_CMC623
842	bool "Backlight Driver for Samsung CMC623"
843	depends on VIDEO_BRIDGE_SAMSUNG_CMC623
844	help
845	  Say Y to enable the backlight driver for Samsung CMC623 image converter
846	  chip's PWM output to control backlight brightness.
847
848source "drivers/video/ti/Kconfig"
849
850source "drivers/video/exynos/Kconfig"
851
852config LOGICORE_DP_TX
853	bool "Enable Logicore DP TX driver"
854	depends on DISPLAY
855	help
856	  Enable the driver for the transmitter part of the Xilinx LogiCORE
857	  DisplayPort, a IP core for Xilinx FPGAs that implements a DisplayPort
858	  video interface as defined by VESA DisplayPort v1.2.
859
860	  Note that this is a pure transmitter device, and has no display
861	  capabilities by itself.
862
863config VIDEO_BROADWELL_IGD
864	bool "Enable Intel Broadwell integrated graphics device"
865	depends on X86
866	help
867	  This enables support for integrated graphics on Intel broadwell
868	  devices. Initialisation is mostly performed by a VGA boot ROM, with
869	  some setup handled by U-Boot itself. The graphics adaptor works as
870	  a VESA device and supports LCD panels, eDP and LVDS outputs.
871	  Configuration of most aspects of device operation is performed using
872	  a special tool which configures the VGA ROM, but the graphics
873	  resolution can be selected in U-Boot.
874
875config VIDEO_IVYBRIDGE_IGD
876	bool "Enable Intel Ivybridge integration graphics support"
877	depends on X86
878	help
879	  This enables support for integrated graphics on Intel ivybridge
880	  devices. Initialisation is mostly performed by a VGA boot ROM, with
881	  some setup handled by U-Boot itself. The graphics adaptor works as
882	  a VESA device and supports LCD panels, eDP and LVDS outputs.
883	  Configuration of most aspects of device operation is performed using
884	  a special tool which configures the VGA ROM, but the graphics
885	  resolution can be selected in U-Boot.
886
887source "drivers/video/rockchip/Kconfig"
888
889config VIDEO_ARM_MALIDP
890	bool "Enable Arm Mali Display Processor support"
891	depends on OF_CONTROL
892	select VEXPRESS_CLK
893	help
894	  This enables support for Arm Ltd Mali Display Processors from
895	  the DP500, DP550 and DP650 family.
896
897config VIDEO_SANDBOX_SDL
898	bool "Enable sandbox video console using SDL"
899	depends on SANDBOX_SDL
900	help
901	  When using sandbox you can enable an emulated LCD display which
902	  appears as an SDL (Simple DirectMedia Layer) window. This is a
903	  console device and can display stdout output. Within U-Boot is is
904	  a normal bitmap display and can display images as well as text.
905
906source "drivers/video/stm32/Kconfig"
907
908source "drivers/video/tidss/Kconfig"
909
910source "drivers/video/bridge/Kconfig"
911
912source "drivers/video/tegra/Kconfig"
913
914source "drivers/video/imx/Kconfig"
915
916config VIDEO_MXS
917	bool "Enable video support on i.MX28/i.MX6UL/i.MX7 SoCs"
918	imply VIDEO_DAMAGE
919	help
920	  Enable framebuffer driver for i.MX28/i.MX6UL/i.MX7 processors
921
922config VIDEO_NX
923	bool "Enable video support on Nexell SoC"
924	depends on ARCH_S5P6818 || ARCH_S5P4418
925	help
926	   Nexell SoC supports many video output options including eDP and
927	   HDMI. This option enables this support which can be used on devices
928	   which have an eDP display connected.
929
930config VIDEO_SEPS525
931	bool "Enable video support for Seps525"
932	depends on DM_GPIO
933	help
934	  Enable support for the Syncoam PM-OLED display driver (RGB 160x128).
935	  Currently driver is supporting only SPI interface.
936
937source "drivers/video/zynqmp/Kconfig"
938source "drivers/video/nexell/Kconfig"
939
940config CONSOLE_SCROLL_LINES
941	int "Number of lines to scroll the console by"
942	default 1
943	help
944	  When the console need to be scrolled, this is the number of
945	  lines to scroll by. It defaults to 1. Increasing this makes the
946	  console jump but can help speed up operation when scrolling
947	  is slow.
948
949config VIDEO_DW_HDMI
950	bool
951	help
952	  Enables the common driver code for the Designware HDMI TX
953	  block found in SoCs from various vendors.
954	  As this does not provide any functionality by itself (but
955	  rather requires a SoC-specific glue driver to call it), it
956	  can not be enabled from the configuration menu.
957
958config VIDEO_DSI_HOST_SANDBOX
959	bool "Enable sandbox for dsi host"
960	depends on SANDBOX
961	select VIDEO_MIPI_DSI
962	help
963	  Enable support for sandbox dsi host device used for testing
964	  purposes.
965	  Display Serial Interface (DSI) defines a serial bus and
966	  a communication protocol between the host and the device
967	  (panel, bridge).
968
969config VIDEO_DW_MIPI_DSI
970	bool
971	select VIDEO_MIPI_DSI
972	help
973	  Enables the common driver code for the Synopsis Designware
974	  MIPI DSI block found in SoCs from various vendors.
975	  As this does not provide any functionality by itself (but
976	  rather requires a SoC-specific glue driver to call it), it
977	  can not be enabled from the configuration menu.
978
979config VIDEO_SIMPLE
980	bool "Simple display driver for preconfigured display"
981	imply VIDEO_DAMAGE
982	help
983	  Enables a simple generic display driver which utilizes the
984	  simple-framebuffer devicetree bindings.
985
986	  This driver assumes that the display hardware has been initialized
987	  before u-boot starts, and u-boot will simply render to the pre-
988	  allocated frame buffer surface.
989
990config VIDEO_DT_SIMPLEFB
991	bool "Enable SimpleFB support for passing framebuffer to OS"
992	help
993	  Enables the code to pass the framebuffer to the kernel as a
994	  simple framebuffer in the device tree.
995	  The video output is initialized by U-Boot, and kept by the
996	  kernel.
997
998config VIDEO_MCDE_SIMPLE
999	bool "Simple driver for ST-Ericsson MCDE with preconfigured display"
1000	imply VIDEO_DAMAGE
1001	help
1002	  Enables a simple display driver for ST-Ericsson MCDE
1003	  (Multichannel Display Engine), which reads the configuration from
1004	  the MCDE registers.
1005
1006	  This driver assumes that the display hardware has been initialized
1007	  before u-boot starts, and u-boot will simply render to the pre-
1008	  allocated frame buffer surface.
1009
1010config OSD
1011	bool "Enable OSD support"
1012	depends on DM
1013	help
1014	   This supports drivers that provide a OSD (on-screen display), which
1015	   is a (usually text-oriented) graphics buffer to show information on
1016	   a display.
1017
1018config SANDBOX_OSD
1019	bool "Enable sandbox OSD"
1020	depends on OSD
1021	help
1022	  Enable support for sandbox OSD device used for testing purposes.
1023
1024config IHS_VIDEO_OUT
1025	bool "Enable IHS video out driver"
1026	depends on OSD
1027	help
1028	  Enable support for the gdsys Integrated Hardware Systems (IHS) video
1029	  out On-screen Display (OSD) used on gdsys FPGAs to control dynamic
1030	  textual overlays of the display outputs.
1031
1032config VIDEO_REMOVE
1033	bool "Remove video driver"
1034	help
1035	  Use this option to specify if user wants to call remove method of
1036	  video driver in u-boot proper stage.
1037
1038config SPLASH_SCREEN
1039	bool "Show a splash-screen image"
1040	help
1041	  If this option is set, the environment is checked for a variable
1042	  "splashimage". If found, the usual display of logo, copyright and
1043	  system information on the LCD is suppressed and the BMP image at the
1044	  address specified in "splashimage" is loaded instead. The console is
1045	  redirected to the "nulldev", too. This allows for a "silent" boot
1046	  where a splash screen is loaded very quickly after power-on.
1047
1048	  The splash_screen_prepare() function is a weak function defined in
1049	  common/splash.c. It is called as part of the splash screen display
1050	  sequence. It gives the board an opportunity to prepare the splash
1051	  image data before it is processed and sent to the frame buffer by
1052	  U-Boot. Define your own version to use this feature.
1053
1054if SPLASH_SCREEN
1055
1056config SPLASH_SCREEN_ALIGN
1057	bool "Allow positioning the splash image anywhere on the display"
1058	help
1059	  If this option is set the splash image can be freely positioned
1060	  on the screen. Environment variable "splashpos" specifies the
1061	  position as "x,y". If a positive number is given it is used as
1062	  number of pixel from left/top. If a negative number is given it
1063	  is used as number of pixel from right/bottom. You can also
1064	  specify 'm' for centering the image.
1065
1066	  Example:
1067	  setenv splashpos m,m
1068	  	=> image at center of screen
1069
1070	  setenv splashpos 30,20
1071	  	=> image at x = 30 and y = 20
1072
1073	  setenv splashpos -10,m
1074	  	=> vertically centered image
1075	  	   at x = dspWidth - bmpWidth - 9
1076
1077config HIDE_LOGO_VERSION
1078	bool "Hide the version information on the splash screen"
1079	help
1080	  Normally the U-Boot version string is shown on the display when the
1081	  splash screen is enabled. This information is not otherwise visible
1082	  since video starts up after U-Boot has displayed the initial banner.
1083
1084	  Enable this option to hide this information.
1085
1086config SPLASH_SOURCE
1087	bool "Control the source of the splash image"
1088	help
1089	  Use the splash_source.c library. This library provides facilities to
1090	  declare board specific splash image locations, routines for loading
1091	  splash image from supported locations, and a way of controlling the
1092	  selected splash location using the "splashsource" environment
1093	  variable.
1094
1095	  This CONFIG works as follows:
1096
1097	  - If splashsource is set to a supported location name as defined by
1098	    board code, use that splash location.
1099	  - If splashsource is undefined, use the first splash location as
1100	    default.
1101	  - If splashsource is set to an unsupported value, do not load a splash
1102	    screen.
1103
1104	  A splash source location can describe either storage with raw data, a
1105	  storage formatted with a file system or a FIT image. In case of a
1106	  filesystem, the splash screen data is loaded as a file. The name of
1107	  the splash screen file can be controlled with the environment variable
1108	  "splashfile".
1109
1110	  To enable loading the splash image from a FIT image, CONFIG_FIT must
1111	  be enabled. The FIT image has to start at the 'offset' field address
1112	  in the selected splash location. The name of splash image within the
1113	  FIT shall be specified by the environment variable "splashfile".
1114
1115	  In case the environment variable "splashfile" is not defined the
1116	  default name 'splash.bmp' will be used.
1117
1118endif # SPLASH_SCREEN
1119
1120config BMP
1121	bool "Enable bmp image display"
1122	help
1123	  Enable bmp functions to display bmp image and get bmp info.
1124
1125	  BMP is a simple graphics-image file format designed to store bitmap
1126	  images. It is primarily used on Windows devices.
1127
1128config VIDEO_BMP_GZIP
1129	bool "Gzip compressed BMP image support"
1130	depends on BMP || SPLASH_SCREEN
1131	help
1132	  If this option is set, additionally to standard BMP
1133	  images, gzipped BMP images can be displayed via the
1134	  splashscreen support or the bmp command.
1135
1136config VIDEO_LOGO_MAX_SIZE
1137	hex "Maximum size of the bitmap logo in bytes"
1138	default 0x100000
1139	help
1140	  Sets the maximum uncompressed size of the logo. This is needed when
1141	  decompressing a BMP file using the gzip algorithm, since it cannot
1142	  read the size from the bitmap header.
1143
1144config VIDEO_BMP_RLE8
1145	bool "Run length encoded BMP image (RLE8) support"
1146	help
1147	  If this option is set, the 8-bit RLE compressed BMP images
1148	  is supported.
1149
1150config BMP_16BPP
1151	bool "16-bit-per-pixel BMP image support"
1152	help
1153	  Support display of bitmaps file with 16-bit-per-pixel
1154
1155config BMP_24BPP
1156	bool "24-bit-per-pixel BMP image support"
1157	help
1158	  Support display of bitmaps file with 24-bit-per-pixel.
1159
1160config BMP_32BPP
1161	bool "32-bit-per-pixel BMP image support"
1162	help
1163	  Support display of bitmaps file with 32-bit-per-pixel.
1164
1165endif # VIDEO
1166
1167config SPL_VIDEO
1168	bool "Enable driver model support for LCD/video in SPL"
1169	depends on SPL_DM
1170	help
1171	  The video subsystem adds a small amount of overhead to the image.
1172	  If this is acceptable and you have a need to use video drivers in
1173	  SPL, enable this option. It might provide a cleaner interface to
1174	  setting up video within SPL, and allows the same drivers to be
1175	  used as U-Boot proper.
1176
1177if SPL_VIDEO
1178source "drivers/video/tidss/Kconfig"
1179
1180config SPL_VIDEO_HANDOFF
1181	bool "Pass the video frame-buffer through to U-Boot proper"
1182	depends on SPL_BLOBLIST
1183	default y if !X86
1184	help
1185	  Enable this to set up video-handoff information in SPL which can be
1186	  picked up in U-Boot proper. This includes the frame buffer and
1187	  various other pieces of information. With this enabled, SPL can set
1188	  up video and avoid re-initing it later.
1189
1190config SPL_VIDEO_LOGO
1191	bool "Show the U-Boot logo on the display at SPL"
1192	default y if !SPL_SPLASH_SCREEN
1193	select SPL_VIDEO_BMP_RLE8
1194	help
1195	  This enables showing the U-Boot logo on the display when a video
1196	  device is probed. It appears at the top right. The logo itself is at
1197	  tools/logos/u-boot_logo.bmp and looks best when the display has a
1198	  black background.
1199
1200config SPL_SPLASH_SCREEN
1201	bool "Show a splash-screen image at SPL"
1202	help
1203	  If this option is set, the environment is checked for a variable
1204	  "splashimage" at spl stage.
1205
1206config SPL_SYS_WHITE_ON_BLACK
1207	bool "Display console as white on a black background at SPL"
1208	help
1209	 Normally the display is black on a white background, Enable this
1210	 option to invert this, i.e. white on a black background at spl stage.
1211	 This can be better in low-light situations or to reduce eye strain in
1212	 some cases.
1213
1214config SPL_VIDEO_PCI_DEFAULT_FB_SIZE
1215	hex "Default framebuffer size to use if no drivers request it at SPL"
1216	default 0x1000000 if X86
1217	default 0x800000 if !X86 && VIDEO_BOCHS
1218	default 0x0 if !X86 && !VIDEO_BOCHS
1219	help
1220	  Generally, video drivers request the amount of memory they need for
1221	  the frame buffer when they are bound, by setting the size field in
1222	  struct video_uc_plat. That memory is then reserved for use after
1223	  relocation. But PCI drivers cannot be bound before relocation unless
1224	  they are mentioned in the devicetree.
1225
1226	  With this value set appropriately, it is possible for PCI video
1227	  devices to have a framebuffer allocated by U-Boot.
1228
1229	  Note: the framebuffer needs to be large enough to store all pixels at
1230	  maximum resolution. For example, at 2560 x 1600 with 32 bits per
1231	  pixel, 2560 * 1600 * 32 / 8 = 0xfa0000 bytes are needed.
1232
1233config SPL_CONSOLE_SCROLL_LINES
1234	int "Number of lines to scroll the console by at SPL"
1235	default 1
1236	help
1237	  When the console need to be scrolled, this is the number of
1238	  lines to scroll by. It defaults to 1. Increasing this makes the
1239	  console jump but can help speed up operation when scrolling
1240	  is slow.
1241
1242config SPL_CONSOLE_NORMAL
1243	bool "Support a simple text console at SPL"
1244	default y
1245	help
1246	  Support drawing text on the frame buffer console so that it can be
1247	  used as a console. Rotation is not supported by this driver (see
1248	  CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used
1249	  for the display.
1250
1251config SPL_BACKLIGHT
1252	bool "Enable panel backlight uclass support at SPL"
1253	default y
1254	help
1255	  This provides backlight uclass driver that enables basic panel
1256	  backlight support.
1257
1258config SPL_PANEL
1259	bool "Enable panel uclass support at SPL"
1260	default y
1261	help
1262	  This provides panel uclass driver that enables basic panel support.
1263
1264config SPL_SIMPLE_PANEL
1265	bool "Enable simple panel support at SPL"
1266	depends on SPL_PANEL && SPL_BACKLIGHT && SPL_DM_GPIO
1267	default y
1268	help
1269	  This turns on a simple panel driver that enables a compatible
1270	  video panel.
1271
1272config SPL_SYS_WHITE_ON_BLACK
1273	bool "Display console as white on a black background at SPL"
1274	help
1275	 Normally the display is black on a white background, Enable this
1276	 option to invert this, i.e. white on a black background at spl stage.
1277	 This can be better in low-light situations or to reduce eye strain in
1278	 some cases.
1279
1280config SPL_VIDEO_REMOVE
1281	bool "Remove video driver after SPL stage"
1282	help
1283	  if this  option is enabled video driver will be removed at the end of
1284	  SPL stage, before loading the next stage.
1285
1286if SPL_SPLASH_SCREEN
1287
1288config SPL_SPLASH_SCREEN_ALIGN
1289	bool "Allow positioning the splash image anywhere on the display at SPL"
1290	help
1291	  If this option is set the splash image can be freely positioned
1292	  on the screen only at SPL. Environment variable "splashpos" specifies
1293	  the position as "x,y". If a positive number is given it is used as
1294	  number of pixel from left/top. If a negative number is given it
1295	  is used as number of pixel from right/bottom.
1296
1297config SPL_SPLASH_SOURCE
1298	bool "Control the source of the splash image at SPL"
1299	help
1300	  Use the splash_source.c library. This library provides facilities to
1301	  declare board specific splash image locations, routines for loading
1302	  splash image from supported locations, and a way of controlling the
1303	  selected splash location using the "splashsource" environment
1304	  variable.
1305
1306	  This CONFIG works as follows:
1307
1308	  - If splashsource is set to a supported location name as defined by
1309	    board code, use that splash location.
1310	  - If splashsource is undefined, use the first splash location as
1311	    default.
1312	  - If splashsource is set to an unsupported value, do not load a splash
1313	    screen.
1314
1315	  A splash source location can describe either storage with raw data, a
1316	  storage formatted with a file system or a FIT image. In case of a
1317	  filesystem, the splash screen data is loaded as a file. The name of
1318	  the splash screen file can be controlled with the environment variable
1319	  "splashfile".
1320
1321	  To enable loading the splash image from a FIT image, CONFIG_FIT must
1322	  be enabled. The FIT image has to start at the 'offset' field address
1323	  in the selected splash location. The name of splash image within the
1324	  FIT shall be specified by the environment variable "splashfile".
1325
1326	  In case the environment variable "splashfile" is not defined the
1327	  default name 'splash.bmp' will be used.
1328
1329endif # SPL_SPLASH_SCREEN
1330
1331config SPL_BMP
1332	bool "Enable bmp image display at SPL"
1333	help
1334	  Enable bmp functions to display bmp image and get bmp info in SPL.
1335
1336	  BMP is a simple graphics-image file format designed to store bitmap
1337	  images. It is primarily used on Windows devices.
1338
1339config SPL_VIDEO_BMP_GZIP
1340	bool "Gzip compressed BMP image support at SPL"
1341	depends on SPL_SPLASH_SCREEN || SPL_BMP
1342	help
1343	  If this option is set, additionally to standard BMP
1344	  images, gzipped BMP images can be displayed via the
1345	  splashscreen supportat SPL stage.
1346
1347config SPL_VIDEO_LOGO_MAX_SIZE
1348	hex "Maximum size of the bitmap logo in bytes at SPL"
1349	default 0x100000
1350	help
1351	  Sets the maximum uncompressed size of the logo. This is needed when
1352	  decompressing a BMP file using the gzip algorithm, since it cannot
1353	  read the size from the bitmap header.
1354
1355config SPL_VIDEO_BMP_RLE8
1356	bool "Run length encoded BMP image (RLE8) support at SPL"
1357	help
1358	  If this option is set, the 8-bit RLE compressed BMP images
1359	  is supported.
1360
1361config SPL_BMP_16BPP
1362	bool "16-bit-per-pixel BMP image support at SPL"
1363	help
1364	  Support display of bitmaps file with 16-bit-per-pixel
1365
1366config SPL_BMP_24BPP
1367	bool "24-bit-per-pixel BMP image support at SPL"
1368	help
1369	  Support display of bitmaps file with 24-bit-per-pixel.
1370
1371config SPL_BMP_32BPP
1372	bool "32-bit-per-pixel BMP image support at SPL"
1373	help
1374	  Support display of bitmaps file with 32-bit-per-pixel.
1375
1376config SPL_VIDEO_BPP8
1377	bool "Support 8-bit-per-pixel displays at SPL"
1378	default y
1379	help
1380	  Support drawing text and bitmaps onto a 8-bit-per-pixel display.
1381	  Enabling this will include code to support this display. Without
1382	  this option, such displays will not be supported and console output
1383	  will be empty.
1384
1385config SPL_VIDEO_BPP16
1386	bool "Support 16-bit-per-pixel displays at SPL"
1387	default y
1388	help
1389	  Support drawing text and bitmaps onto a 16-bit-per-pixel display.
1390	  Enabling this will include code to support this display. Without
1391	  this option, such displays will not be supported and console output
1392	  will be empty.
1393
1394config SPL_VIDEO_BPP32
1395	bool "Support 32-bit-per-pixel displays at SPL"
1396	default y
1397	help
1398	  Support drawing text and bitmaps onto a 32-bit-per-pixel display.
1399	  Enabling this will include code to support this display. Without
1400	  this option, such displays will not be supported and console output
1401	  will be empty.
1402
1403config SPL_HIDE_LOGO_VERSION
1404    bool "Hide the version information on the splash screen at SPL"
1405    help
1406      Normally the U-Boot version string is shown on the display when the
1407      splash screen is enabled. This information is not otherwise visible
1408      since video starts up after U-Boot has displayed the initial banner.
1409
1410      Enable this option to hide this information.
1411endif
1412
1413endmenu
1414