]> git.sur5r.net Git - u-boot/blob - drivers/video/Kconfig
Merge git://www.denx.de/git/u-boot-imx
[u-boot] / 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_BPP8
18         bool "Support 8-bit-per-pixel displays"
19         depends on DM_VIDEO
20         default y if DM_VIDEO
21         help
22           Support drawing text and bitmaps onto a 8-bit-per-pixel display.
23           Enabling this will include code to support this display. Without
24           this option, such displays will not be supported and console output
25           will be empty.
26
27 config VIDEO_BPP16
28         bool "Support 16-bit-per-pixel displays"
29         depends on DM_VIDEO
30         default y if DM_VIDEO
31         help
32           Support drawing text and bitmaps onto a 16-bit-per-pixel display.
33           Enabling this will include code to support this display. Without
34           this option, such displays will not be supported and console output
35           will be empty.
36
37 config VIDEO_BPP32
38         bool "Support 32-bit-per-pixel displays"
39         depends on DM_VIDEO
40         default y if DM_VIDEO
41         help
42           Support drawing text and bitmaps onto a 32-bit-per-pixel display.
43           Enabling this will include code to support this display. Without
44           this option, such displays will not be supported and console output
45           will be empty.
46
47 config CONSOLE_NORMAL
48         bool "Support a simple text console"
49         depends on DM_VIDEO
50         default y if DM_VIDEO
51         help
52           Support drawing text on the frame buffer console so that it can be
53           used as a console. Rotation is not supported by this driver (see
54           CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used
55           for the display.
56
57 config CONSOLE_ROTATION
58         bool "Support rotated displays"
59         depends on DM_VIDEO
60         help
61           Sometimes, for example if the display is mounted in portrait
62           mode or even if it's mounted landscape but rotated by 180degree,
63           we need to rotate our content of the display relative to the
64           framebuffer, so that user can read the messages which are
65           printed out. Enable this option to include a text driver which can
66           support this. The rotation is set by the 'rot' parameter in
67           struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180
68           degrees, 3=270 degrees.
69
70 config CONSOLE_TRUETYPE
71         bool "Support a console that uses TrueType fonts"
72         depends on DM_VIDEO
73         help
74           TrueTrype fonts can provide outline-drawing capability rather than
75           needing to provide a bitmap for each font and size that is needed.
76           With this option you can adjust the text size and use a variety of
77           fonts. Note that this is noticeably slower than with normal console.
78
79 config CONSOLE_TRUETYPE_SIZE
80         int "TrueType font size"
81         depends on CONSOLE_TRUETYPE
82         default 18
83         help
84           This sets the font size for the console. The size is measured in
85           pixels and is the nominal height of a character. Note that fonts
86           are commonly measured in 'points', being 1/72 inch (about 3.52mm).
87           However that measurement depends on the size of your display and
88           there is no standard display density. At present there is not a
89           method to select the display's physical size, which would allow
90           U-Boot to calculate the correct font size.
91
92 config SYS_WHITE_ON_BLACK
93         bool "Display console as white on a black background"
94         default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || TEGRA || X86
95         help
96          Normally the display is black on a white background, Enable this
97          option to invert this, i.e. white on a black background. This can be
98          better in low-light situations or to reduce eye strain in some
99          cases.
100
101 source "drivers/video/fonts/Kconfig"
102
103 config VIDCONSOLE_AS_LCD
104         bool "Use 'vidconsole' when 'lcd' is seen in stdout"
105         depends on DM_VIDEO
106         help
107           This is a work-around for boards which have 'lcd' in their stdout
108           environment variable, but have moved to use driver model for video.
109           In this case the console will no-longer work. While it is possible
110           to update the environment, the breakage may be confusing for users.
111           This option will be removed around the end of 2016.
112
113 config VIDEO_COREBOOT
114         bool "Enable coreboot framebuffer driver support"
115         depends on X86 && SYS_COREBOOT
116         help
117           Turn on this option to enable a framebuffer driver when U-Boot is
118           loaded by coreboot where the graphics device is configured by
119           coreboot already. This can in principle be used with any platform
120           that coreboot supports.
121
122 config VIDEO_VESA
123         bool "Enable VESA video driver support"
124         default n
125         help
126           Turn on this option to enable a very simple driver which uses vesa
127           to discover the video mode and then provides a frame buffer for use
128           by U-Boot. This can in principle be used with any platform that
129           supports PCI and video cards that support VESA BIOS Extension (VBE).
130
131 config FRAMEBUFFER_SET_VESA_MODE
132         bool "Set framebuffer graphics resolution"
133         depends on VIDEO_VESA || VIDEO_BROADWELL_IGD
134         help
135           Set VESA/native framebuffer mode (needed for bootsplash and graphical
136           framebuffer console)
137
138 choice
139         prompt "framebuffer graphics resolution"
140         default FRAMEBUFFER_VESA_MODE_117
141         depends on FRAMEBUFFER_SET_VESA_MODE
142         help
143           This option sets the resolution used for the U-Boot framebuffer (and
144           bootsplash screen).
145
146 config FRAMEBUFFER_VESA_MODE_100
147         bool "640x400 256-color"
148
149 config FRAMEBUFFER_VESA_MODE_101
150         bool "640x480 256-color"
151
152 config FRAMEBUFFER_VESA_MODE_102
153         bool "800x600 16-color"
154
155 config FRAMEBUFFER_VESA_MODE_103
156         bool "800x600 256-color"
157
158 config FRAMEBUFFER_VESA_MODE_104
159         bool "1024x768 16-color"
160
161 config FRAMEBUFFER_VESA_MODE_105
162         bool "1024x768 256-color"
163
164 config FRAMEBUFFER_VESA_MODE_106
165         bool "1280x1024 16-color"
166
167 config FRAMEBUFFER_VESA_MODE_107
168         bool "1280x1024 256-color"
169
170 config FRAMEBUFFER_VESA_MODE_108
171         bool "80x60 text"
172
173 config FRAMEBUFFER_VESA_MODE_109
174         bool "132x25 text"
175
176 config FRAMEBUFFER_VESA_MODE_10A
177         bool "132x43 text"
178
179 config FRAMEBUFFER_VESA_MODE_10B
180         bool "132x50 text"
181
182 config FRAMEBUFFER_VESA_MODE_10C
183         bool "132x60 text"
184
185 config FRAMEBUFFER_VESA_MODE_10D
186         bool "320x200 32k-color (1:5:5:5)"
187
188 config FRAMEBUFFER_VESA_MODE_10E
189         bool "320x200 64k-color (5:6:5)"
190
191 config FRAMEBUFFER_VESA_MODE_10F
192         bool "320x200 16.8M-color (8:8:8)"
193
194 config FRAMEBUFFER_VESA_MODE_110
195         bool "640x480 32k-color (1:5:5:5)"
196
197 config FRAMEBUFFER_VESA_MODE_111
198         bool "640x480 64k-color (5:6:5)"
199
200 config FRAMEBUFFER_VESA_MODE_112
201         bool "640x480 16.8M-color (8:8:8)"
202
203 config FRAMEBUFFER_VESA_MODE_113
204         bool "800x600 32k-color (1:5:5:5)"
205
206 config FRAMEBUFFER_VESA_MODE_114
207         bool "800x600 64k-color (5:6:5)"
208
209 config FRAMEBUFFER_VESA_MODE_115
210         bool "800x600 16.8M-color (8:8:8)"
211
212 config FRAMEBUFFER_VESA_MODE_116
213         bool "1024x768 32k-color (1:5:5:5)"
214
215 config FRAMEBUFFER_VESA_MODE_117
216         bool "1024x768 64k-color (5:6:5)"
217
218 config FRAMEBUFFER_VESA_MODE_118
219         bool "1024x768 16.8M-color (8:8:8)"
220
221 config FRAMEBUFFER_VESA_MODE_119
222         bool "1280x1024 32k-color (1:5:5:5)"
223
224 config FRAMEBUFFER_VESA_MODE_11A
225         bool "1280x1024 64k-color (5:6:5)"
226
227 config FRAMEBUFFER_VESA_MODE_11B
228         bool "1280x1024 16.8M-color (8:8:8)"
229
230 config FRAMEBUFFER_VESA_MODE_USER
231         bool "Manually select VESA mode"
232
233 endchoice
234
235 # Map the config names to an integer (KB).
236 config FRAMEBUFFER_VESA_MODE
237         prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
238         hex
239         default 0x100 if FRAMEBUFFER_VESA_MODE_100
240         default 0x101 if FRAMEBUFFER_VESA_MODE_101
241         default 0x102 if FRAMEBUFFER_VESA_MODE_102
242         default 0x103 if FRAMEBUFFER_VESA_MODE_103
243         default 0x104 if FRAMEBUFFER_VESA_MODE_104
244         default 0x105 if FRAMEBUFFER_VESA_MODE_105
245         default 0x106 if FRAMEBUFFER_VESA_MODE_106
246         default 0x107 if FRAMEBUFFER_VESA_MODE_107
247         default 0x108 if FRAMEBUFFER_VESA_MODE_108
248         default 0x109 if FRAMEBUFFER_VESA_MODE_109
249         default 0x10A if FRAMEBUFFER_VESA_MODE_10A
250         default 0x10B if FRAMEBUFFER_VESA_MODE_10B
251         default 0x10C if FRAMEBUFFER_VESA_MODE_10C
252         default 0x10D if FRAMEBUFFER_VESA_MODE_10D
253         default 0x10E if FRAMEBUFFER_VESA_MODE_10E
254         default 0x10F if FRAMEBUFFER_VESA_MODE_10F
255         default 0x110 if FRAMEBUFFER_VESA_MODE_110
256         default 0x111 if FRAMEBUFFER_VESA_MODE_111
257         default 0x112 if FRAMEBUFFER_VESA_MODE_112
258         default 0x113 if FRAMEBUFFER_VESA_MODE_113
259         default 0x114 if FRAMEBUFFER_VESA_MODE_114
260         default 0x115 if FRAMEBUFFER_VESA_MODE_115
261         default 0x116 if FRAMEBUFFER_VESA_MODE_116
262         default 0x117 if FRAMEBUFFER_VESA_MODE_117
263         default 0x118 if FRAMEBUFFER_VESA_MODE_118
264         default 0x119 if FRAMEBUFFER_VESA_MODE_119
265         default 0x11A if FRAMEBUFFER_VESA_MODE_11A
266         default 0x11B if FRAMEBUFFER_VESA_MODE_11B
267         default 0x117 if FRAMEBUFFER_VESA_MODE_USER
268
269 config VIDEO_LCD_ANX9804
270         bool "ANX9804 bridge chip"
271         default n
272         ---help---
273         Support for the ANX9804 bridge chip, which can take pixel data coming
274         from a parallel LCD interface and translate it on the fy into a DP
275         interface for driving eDP TFT displays. It uses I2C for configuration.
276
277 config VIDEO_LCD_SSD2828
278         bool "SSD2828 bridge chip"
279         default n
280         ---help---
281         Support for the SSD2828 bridge chip, which can take pixel data coming
282         from a parallel LCD interface and translate it on the fly into MIPI DSI
283         interface for driving a MIPI compatible LCD panel. It uses SPI for
284         configuration.
285
286 config VIDEO_LCD_SSD2828_TX_CLK
287         int "SSD2828 TX_CLK frequency (in MHz)"
288         depends on VIDEO_LCD_SSD2828
289         default 0
290         ---help---
291         The frequency of the crystal, which is clocking SSD2828. It may be
292         anything in the 8MHz-30MHz range and the exact value should be
293         retrieved from the board schematics. Or in the case of Allwinner
294         hardware, it can be usually found as 'lcd_xtal_freq' variable in
295         FEX files. It can be also set to 0 for selecting PCLK from the
296         parallel LCD interface instead of TX_CLK as the PLL clock source.
297
298 config VIDEO_LCD_SSD2828_RESET
299         string "RESET pin of SSD2828"
300         depends on VIDEO_LCD_SSD2828
301         default ""
302         ---help---
303         The reset pin of SSD2828 chip. This takes a string in the format
304         understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
305
306 config VIDEO_LCD_HITACHI_TX18D42VM
307         bool "Hitachi tx18d42vm LVDS LCD panel support"
308         depends on VIDEO
309         default n
310         ---help---
311         Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
312         lcd controller which needs to be initialized over SPI, once that is
313         done they work like a regular LVDS panel.
314
315 config VIDEO_LCD_SPI_CS
316         string "SPI CS pin for LCD related config job"
317         depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
318         default ""
319         ---help---
320         This is one of the SPI communication pins, involved in setting up a
321         working LCD configuration. The exact role of SPI may differ for
322         different hardware setups. The option takes a string in the format
323         understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
324
325 config VIDEO_LCD_SPI_SCLK
326         string "SPI SCLK pin for LCD related config job"
327         depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
328         default ""
329         ---help---
330         This is one of the SPI communication pins, involved in setting up a
331         working LCD configuration. The exact role of SPI may differ for
332         different hardware setups. The option takes a string in the format
333         understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
334
335 config VIDEO_LCD_SPI_MOSI
336         string "SPI MOSI pin for LCD related config job"
337         depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
338         default ""
339         ---help---
340         This is one of the SPI communication pins, involved in setting up a
341         working LCD configuration. The exact role of SPI may differ for
342         different hardware setups. The option takes a string in the format
343         understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
344
345 config VIDEO_LCD_SPI_MISO
346         string "SPI MISO pin for LCD related config job (optional)"
347         depends on VIDEO_LCD_SSD2828
348         default ""
349         ---help---
350         This is one of the SPI communication pins, involved in setting up a
351         working LCD configuration. The exact role of SPI may differ for
352         different hardware setups. If wired up, this pin may provide additional
353         useful functionality. Such as bi-directional communication with the
354         hardware and LCD panel id retrieval (if the panel can report it). The
355         option takes a string in the format understood by 'name_to_gpio'
356         function, e.g. PH1 for pin 1 of port H.
357
358 config VIDEO_MVEBU
359         bool "Armada XP LCD controller"
360         default n
361         ---help---
362         Support for the LCD controller integrated in the Marvell
363         Armada XP SoC.
364
365 config I2C_EDID
366         bool "Enable EDID library"
367         depends on DM_I2C
368         default n
369         help
370            This enables library for accessing EDID data from an LCD panel.
371
372 config DISPLAY
373         bool "Enable Display support"
374         depends on DM
375         default n
376         select I2C_EDID
377         help
378            This supports drivers that provide a display, such as eDP (Embedded
379            DisplayPort) and HDMI (High Definition Multimedia Interface).
380            The devices provide a simple interface to start up the display,
381            read display information and enable it.
382
383 config ATMEL_HLCD
384         bool "Enable ATMEL video support using HLCDC"
385         depends on DM_VIDEO
386         help
387            HLCDC supports video output to an attached LCD panel.
388
389 config VIDEO_BROADWELL_IGD
390         bool "Enable Intel Broadwell integrated graphics device"
391         depends on X86
392         help
393           This enables support for integrated graphics on Intel broadwell
394           devices. Initialisation is mostly performed by a VGA boot ROM, with
395           some setup handled by U-Boot itself. The graphics adaptor works as
396           a VESA device and supports LCD panels, eDP and LVDS outputs.
397           Configuration of most aspects of device operation is performed using
398           a special tool which configures the VGA ROM, but the graphics
399           resolution can be selected in U-Boot.
400
401 config VIDEO_IVYBRIDGE_IGD
402         bool "Enable Intel Ivybridge integration graphics support"
403         depends on X86
404         help
405           This enables support for integrated graphics on Intel ivybridge
406           devices. Initialisation is mostly performed by a VGA boot ROM, with
407           some setup handled by U-Boot itself. The graphics adaptor works as
408           a VESA device and supports LCD panels, eDP and LVDS outputs.
409           Configuration of most aspects of device operation is performed using
410           a special tool which configures the VGA ROM, but the graphics
411           resolution can be selected in U-Boot.
412
413 config VIDEO_FSL_DCU_FB
414         bool "Enable Freescale Display Control Unit"
415         depends on VIDEO
416         help
417          This enables support for Freescale Display Control Unit (DCU4)
418          module found on Freescale Vybrid and QorIQ family of SoCs.
419
420 config VIDEO_FSL_DCU_MAX_FB_SIZE_MB
421         int "Freescale DCU framebuffer size"
422         depends on VIDEO_FSL_DCU_FB
423         default 4194304
424         help
425          Set maximum framebuffer size to be used for Freescale Display
426          Controller Unit (DCU4).
427
428 source "drivers/video/rockchip/Kconfig"
429
430 config VIDEO_SANDBOX_SDL
431         bool "Enable sandbox video console using SDL"
432         depends on SANDBOX
433         help
434           When using sandbox you can enable an emulated LCD display which
435           appears as an SDL (Simple DirectMedia Layer) window. This is a
436           console device and can display stdout output. Within U-Boot is is
437           a normal bitmap display and can display images as well as text.
438
439 config VIDEO_TEGRA20
440         bool "Enable LCD support on Tegra20"
441         depends on OF_CONTROL
442         help
443            Tegra20 supports video output to an attached LCD panel as well as
444            other options such as HDMI. Only the LCD is supported in U-Boot.
445            This option enables this support which can be used on devices which
446            have an LCD display connected.
447
448 config VIDEO_TEGRA124
449         bool "Enable video support on Tegra124"
450         depends on DM_VIDEO
451         help
452            Tegra124 supports many video output options including eDP and
453            HDMI. At present only eDP is supported by U-Boot. This option
454            enables this support which can be used on devices which
455            have an eDP display connected.
456
457 source "drivers/video/bridge/Kconfig"
458
459 config VIDEO
460         bool "Enable legacy video support"
461         depends on !DM_VIDEO
462         help
463           Define this for video support, without using driver model. Some
464           drivers use this because they are not yet converted to driver
465           model. Video drivers typically provide a colour text console and
466           cursor.
467
468 config VIDEO_IPUV3
469         bool "i.MX IPUv3 Core video support"
470         depends on VIDEO && MX6
471         help
472           This enables framebuffer driver for i.MX processors working
473           on the IPUv3(Image Processing Unit) internal graphic processor.
474
475 config CFB_CONSOLE
476         bool "Enable colour frame buffer console"
477         depends on VIDEO
478         default y if VIDEO
479         help
480           Enables the colour frame buffer driver. This supports colour
481           output on a bitmap display from an in-memory frame buffer.
482           Several colour devices are supported along with various options to
483           adjust the supported features. The driver is implemented in
484           cfb_console.c
485
486           The following defines are needed (cf. smiLynxEM, i8042)
487                 VIDEO_FB_LITTLE_ENDIAN  graphic memory organisation
488                                         (default big endian)
489                 VIDEO_HW_RECTFILL       graphic chip supports
490                                         rectangle fill (cf. smiLynxEM)
491                 VIDEO_HW_BITBLT         graphic chip supports
492                                         bit-blit (cf. smiLynxEM)
493                 VIDEO_VISIBLE_COLS      visible pixel columns (cols=pitch)
494                 VIDEO_VISIBLE_ROWS      visible pixel rows
495                 VIDEO_PIXEL_SIZE        bytes per pixel
496                 VIDEO_DATA_FORMAT       graphic data format
497                                         (0-5, cf. cfb_console.c)
498                 VIDEO_FB_ADRS           framebuffer address
499                 VIDEO_KBD_INIT_FCT      keyboard int fct (i.e. rx51_kp_init())
500                 VIDEO_TSTC_FCT          test char fct (i.e. rx51_kp_tstc)
501                 VIDEO_GETC_FCT          get char fct (i.e. rx51_kp_getc)
502                 CONFIG_VIDEO_LOGO       display Linux logo in upper left corner
503                 CONFIG_VIDEO_BMP_LOGO   use bmp_logo.h instead of linux_logo.h
504                                         for logo. Requires CONFIG_VIDEO_LOGO
505                 CONFIG_CONSOLE_EXTRA_INFO
506                                         additional board info beside
507                                         the logo
508                 CONFIG_HIDE_LOGO_VERSION
509                                         do not display bootloader
510                                         version string
511
512           When CONFIG_CFB_CONSOLE is defined, the video console is the
513           default console. The serial console can be forced by setting the
514           environment 'console=serial'.
515
516 config CFB_CONSOLE_ANSI
517         bool "Support ANSI escape sequences"
518         depends on CFB_CONSOLE
519         help
520           This allows the colour buffer frame buffer driver to support
521           a limited number of ANSI escape sequences (cursor control,
522           erase functions and limited graphics rendition control). Normal
523           output from U-Boot will pass through this filter.
524
525 config VGA_AS_SINGLE_DEVICE
526         bool "Set the video as an output-only device"
527         depends on CFB_CONSOLE
528         default y
529         help
530           If enable the framebuffer device will be initialized as an
531           output-only device. The Keyboard driver will not be set up. This
532           may be used if you have no keyboard device, or more than one
533           (USB Keyboard, AT Keyboard).
534
535 config VIDEO_SW_CURSOR
536         bool "Enable a software cursor"
537         depends on CFB_CONSOLE
538         default y if CFB_CONSOLE
539         help
540           This draws a cursor after the last character. No blinking is
541           provided. This makes it possible to see the current cursor
542           position when entering text on the console. It is recommended to
543           enable this.
544
545 config CONSOLE_EXTRA_INFO
546         bool "Display additional board information"
547         depends on CFB_CONSOLE
548         help
549           Display additional board information strings that normally go to
550           the serial port. When this option is enabled, a board-specific
551           function video_get_info_str() is called to get the string for
552           each line of the display. The function should return the string,
553           which can be empty if there is nothing to display for that line.
554
555 config CONSOLE_SCROLL_LINES
556         int "Number of lines to scroll the console by"
557         depends on CFB_CONSOLE || DM_VIDEO || LCD
558         default 1
559         help
560           When the console need to be scrolled, this is the number of
561           lines to scroll by. It defaults to 1. Increasing this makes the
562           console jump but can help speed up operation when scrolling
563           is slow.
564
565 config SYS_CONSOLE_BG_COL
566         hex "Background colour"
567         depends on CFB_CONSOLE
568         default 0x00
569         help
570           Defines the background colour for the console. The value is from
571           0x00 to 0xff and the meaning depends on the graphics card.
572           Typically, 0x00 means black and 0xff means white. Do not set
573           the background and foreground to the same colour or you will see
574           nothing.
575
576 config SYS_CONSOLE_FG_COL
577         hex "Foreground colour"
578         depends on CFB_CONSOLE
579         default 0xa0
580         help
581           Defines the foreground colour for the console. The value is from
582           0x00 to 0xff and the meaning depends on the graphics card.
583           Typically, 0x00 means black and 0xff means white. Do not set
584           the background and foreground to the same colour or you will see
585           nothing.
586
587 config LCD
588         bool "Enable legacy LCD support"
589         help
590           Define this to enable LCD support (for output to LCD display).
591           You will also need to select an LCD driver using an additional
592           CONFIG option. See the README for details. Drives which have been
593           converted to driver model will instead used CONFIG_DM_VIDEO.
594
595 config VIDEO_DW_HDMI
596         bool
597         help
598           Enables the common driver code for the Designware HDMI TX
599           block found in SoCs from various vendors.
600           As this does not provide any functionality by itself (but
601           rather requires a SoC-specific glue driver to call it), it
602           can not be enabled from the configuration menu.
603
604 endmenu