Merge branch 'master' of git://git.denx.de/u-boot-atmel
[oweals/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_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 source "drivers/video/fonts/Kconfig"
93
94 config VIDCONSOLE_AS_LCD
95         bool "Use 'vidconsole' when 'lcd' is seen in stdout"
96         depends on DM_VIDEO
97         help
98           This is a work-around for boards which have 'lcd' in their stdout
99           environment variable, but have moved to use driver model for video.
100           In this case the console will no-longer work. While it is possible
101           to update the environment, the breakage may be confusing for users.
102           This option will be removed around the end of 2016.
103
104 config VIDEO_VESA
105         bool "Enable VESA video driver support"
106         default n
107         help
108           Turn on this option to enable a very simple driver which uses vesa
109           to discover the video mode and then provides a frame buffer for use
110           by U-Boot. This can in principle be used with any platform that
111           supports PCI and video cards that support VESA BIOS Extension (VBE).
112
113 config FRAMEBUFFER_SET_VESA_MODE
114         bool "Set framebuffer graphics resolution"
115         depends on VIDEO_VESA
116         help
117           Set VESA/native framebuffer mode (needed for bootsplash and graphical
118           framebuffer console)
119
120 choice
121         prompt "framebuffer graphics resolution"
122         default FRAMEBUFFER_VESA_MODE_117
123         depends on FRAMEBUFFER_SET_VESA_MODE
124         help
125           This option sets the resolution used for the U-Boot framebuffer (and
126           bootsplash screen).
127
128 config FRAMEBUFFER_VESA_MODE_100
129         bool "640x400 256-color"
130
131 config FRAMEBUFFER_VESA_MODE_101
132         bool "640x480 256-color"
133
134 config FRAMEBUFFER_VESA_MODE_102
135         bool "800x600 16-color"
136
137 config FRAMEBUFFER_VESA_MODE_103
138         bool "800x600 256-color"
139
140 config FRAMEBUFFER_VESA_MODE_104
141         bool "1024x768 16-color"
142
143 config FRAMEBUFFER_VESA_MODE_105
144         bool "1024x768 256-color"
145
146 config FRAMEBUFFER_VESA_MODE_106
147         bool "1280x1024 16-color"
148
149 config FRAMEBUFFER_VESA_MODE_107
150         bool "1280x1024 256-color"
151
152 config FRAMEBUFFER_VESA_MODE_108
153         bool "80x60 text"
154
155 config FRAMEBUFFER_VESA_MODE_109
156         bool "132x25 text"
157
158 config FRAMEBUFFER_VESA_MODE_10A
159         bool "132x43 text"
160
161 config FRAMEBUFFER_VESA_MODE_10B
162         bool "132x50 text"
163
164 config FRAMEBUFFER_VESA_MODE_10C
165         bool "132x60 text"
166
167 config FRAMEBUFFER_VESA_MODE_10D
168         bool "320x200 32k-color (1:5:5:5)"
169
170 config FRAMEBUFFER_VESA_MODE_10E
171         bool "320x200 64k-color (5:6:5)"
172
173 config FRAMEBUFFER_VESA_MODE_10F
174         bool "320x200 16.8M-color (8:8:8)"
175
176 config FRAMEBUFFER_VESA_MODE_110
177         bool "640x480 32k-color (1:5:5:5)"
178
179 config FRAMEBUFFER_VESA_MODE_111
180         bool "640x480 64k-color (5:6:5)"
181
182 config FRAMEBUFFER_VESA_MODE_112
183         bool "640x480 16.8M-color (8:8:8)"
184
185 config FRAMEBUFFER_VESA_MODE_113
186         bool "800x600 32k-color (1:5:5:5)"
187
188 config FRAMEBUFFER_VESA_MODE_114
189         bool "800x600 64k-color (5:6:5)"
190
191 config FRAMEBUFFER_VESA_MODE_115
192         bool "800x600 16.8M-color (8:8:8)"
193
194 config FRAMEBUFFER_VESA_MODE_116
195         bool "1024x768 32k-color (1:5:5:5)"
196
197 config FRAMEBUFFER_VESA_MODE_117
198         bool "1024x768 64k-color (5:6:5)"
199
200 config FRAMEBUFFER_VESA_MODE_118
201         bool "1024x768 16.8M-color (8:8:8)"
202
203 config FRAMEBUFFER_VESA_MODE_119
204         bool "1280x1024 32k-color (1:5:5:5)"
205
206 config FRAMEBUFFER_VESA_MODE_11A
207         bool "1280x1024 64k-color (5:6:5)"
208
209 config FRAMEBUFFER_VESA_MODE_11B
210         bool "1280x1024 16.8M-color (8:8:8)"
211
212 config FRAMEBUFFER_VESA_MODE_USER
213         bool "Manually select VESA mode"
214
215 endchoice
216
217 # Map the config names to an integer (KB).
218 config FRAMEBUFFER_VESA_MODE
219         prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
220         hex
221         default 0x100 if FRAMEBUFFER_VESA_MODE_100
222         default 0x101 if FRAMEBUFFER_VESA_MODE_101
223         default 0x102 if FRAMEBUFFER_VESA_MODE_102
224         default 0x103 if FRAMEBUFFER_VESA_MODE_103
225         default 0x104 if FRAMEBUFFER_VESA_MODE_104
226         default 0x105 if FRAMEBUFFER_VESA_MODE_105
227         default 0x106 if FRAMEBUFFER_VESA_MODE_106
228         default 0x107 if FRAMEBUFFER_VESA_MODE_107
229         default 0x108 if FRAMEBUFFER_VESA_MODE_108
230         default 0x109 if FRAMEBUFFER_VESA_MODE_109
231         default 0x10A if FRAMEBUFFER_VESA_MODE_10A
232         default 0x10B if FRAMEBUFFER_VESA_MODE_10B
233         default 0x10C if FRAMEBUFFER_VESA_MODE_10C
234         default 0x10D if FRAMEBUFFER_VESA_MODE_10D
235         default 0x10E if FRAMEBUFFER_VESA_MODE_10E
236         default 0x10F if FRAMEBUFFER_VESA_MODE_10F
237         default 0x110 if FRAMEBUFFER_VESA_MODE_110
238         default 0x111 if FRAMEBUFFER_VESA_MODE_111
239         default 0x112 if FRAMEBUFFER_VESA_MODE_112
240         default 0x113 if FRAMEBUFFER_VESA_MODE_113
241         default 0x114 if FRAMEBUFFER_VESA_MODE_114
242         default 0x115 if FRAMEBUFFER_VESA_MODE_115
243         default 0x116 if FRAMEBUFFER_VESA_MODE_116
244         default 0x117 if FRAMEBUFFER_VESA_MODE_117
245         default 0x118 if FRAMEBUFFER_VESA_MODE_118
246         default 0x119 if FRAMEBUFFER_VESA_MODE_119
247         default 0x11A if FRAMEBUFFER_VESA_MODE_11A
248         default 0x11B if FRAMEBUFFER_VESA_MODE_11B
249         default 0x117 if FRAMEBUFFER_VESA_MODE_USER
250
251 config VIDEO_LCD_ANX9804
252         bool "ANX9804 bridge chip"
253         default n
254         ---help---
255         Support for the ANX9804 bridge chip, which can take pixel data coming
256         from a parallel LCD interface and translate it on the fy into a DP
257         interface for driving eDP TFT displays. It uses I2C for configuration.
258
259 config VIDEO_LCD_SSD2828
260         bool "SSD2828 bridge chip"
261         default n
262         ---help---
263         Support for the SSD2828 bridge chip, which can take pixel data coming
264         from a parallel LCD interface and translate it on the fly into MIPI DSI
265         interface for driving a MIPI compatible LCD panel. It uses SPI for
266         configuration.
267
268 config VIDEO_LCD_SSD2828_TX_CLK
269         int "SSD2828 TX_CLK frequency (in MHz)"
270         depends on VIDEO_LCD_SSD2828
271         default 0
272         ---help---
273         The frequency of the crystal, which is clocking SSD2828. It may be
274         anything in the 8MHz-30MHz range and the exact value should be
275         retrieved from the board schematics. Or in the case of Allwinner
276         hardware, it can be usually found as 'lcd_xtal_freq' variable in
277         FEX files. It can be also set to 0 for selecting PCLK from the
278         parallel LCD interface instead of TX_CLK as the PLL clock source.
279
280 config VIDEO_LCD_SSD2828_RESET
281         string "RESET pin of SSD2828"
282         depends on VIDEO_LCD_SSD2828
283         default ""
284         ---help---
285         The reset pin of SSD2828 chip. This takes a string in the format
286         understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
287
288 config VIDEO_LCD_HITACHI_TX18D42VM
289         bool "Hitachi tx18d42vm LVDS LCD panel support"
290         depends on VIDEO
291         default n
292         ---help---
293         Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
294         lcd controller which needs to be initialized over SPI, once that is
295         done they work like a regular LVDS panel.
296
297 config VIDEO_LCD_SPI_CS
298         string "SPI CS pin for LCD related config job"
299         depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
300         default ""
301         ---help---
302         This is one of the SPI communication pins, involved in setting up a
303         working LCD configuration. The exact role of SPI may differ for
304         different hardware setups. The option takes a string in the format
305         understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
306
307 config VIDEO_LCD_SPI_SCLK
308         string "SPI SCLK pin for LCD related config job"
309         depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
310         default ""
311         ---help---
312         This is one of the SPI communication pins, involved in setting up a
313         working LCD configuration. The exact role of SPI may differ for
314         different hardware setups. The option takes a string in the format
315         understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
316
317 config VIDEO_LCD_SPI_MOSI
318         string "SPI MOSI pin for LCD related config job"
319         depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
320         default ""
321         ---help---
322         This is one of the SPI communication pins, involved in setting up a
323         working LCD configuration. The exact role of SPI may differ for
324         different hardware setups. The option takes a string in the format
325         understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
326
327 config VIDEO_LCD_SPI_MISO
328         string "SPI MISO pin for LCD related config job (optional)"
329         depends on VIDEO_LCD_SSD2828
330         default ""
331         ---help---
332         This is one of the SPI communication pins, involved in setting up a
333         working LCD configuration. The exact role of SPI may differ for
334         different hardware setups. If wired up, this pin may provide additional
335         useful functionality. Such as bi-directional communication with the
336         hardware and LCD panel id retrieval (if the panel can report it). The
337         option takes a string in the format understood by 'name_to_gpio'
338         function, e.g. PH1 for pin 1 of port H.
339
340 config VIDEO_MVEBU
341         bool "Armada XP LCD controller"
342         default n
343         ---help---
344         Support for the LCD controller integrated in the Marvell
345         Armada XP SoC.
346
347 config I2C_EDID
348         bool "Enable EDID library"
349         depends on DM_I2C
350         default n
351         help
352            This enables library for accessing EDID data from an LCD panel.
353
354 config DISPLAY
355         bool "Enable Display support"
356         depends on DM
357         default n
358         select I2C_EDID
359         help
360            This supports drivers that provide a display, such as eDP (Embedded
361            DisplayPort) and HDMI (High Definition Multimedia Interface).
362            The devices provide a simple interface to start up the display,
363            read display information and enable it.
364
365 config VIDEO_ROCKCHIP
366         bool "Enable Rockchip video support"
367         depends on DM_VIDEO
368         help
369            Rockchip SoCs provide video output capabilities for High-Definition
370            Multimedia Interface (HDMI), Low-voltage Differential Signalling
371            (LVDS), embedded DisplayPort (eDP) and Display Serial Interface
372            (DSI). This driver supports the on-chip video output device, and
373            targets the Rockchip RK3288.
374
375 config VIDEO_SANDBOX_SDL
376         bool "Enable sandbox video console using SDL"
377         depends on SANDBOX
378         help
379           When using sandbox you can enable an emulated LCD display which
380           appears as an SDL (Simple DirectMedia Layer) window. This is a
381           console device and can display stdout output. Within U-Boot is is
382           a normal bitmap display and can display images as well as text.
383
384 config VIDEO_TEGRA20
385         bool "Enable LCD support on Tegra20"
386         depends on OF_CONTROL
387         help
388            Tegra20 supports video output to an attached LCD panel as well as
389            other options such as HDMI. Only the LCD is supported in U-Boot.
390            This option enables this support which can be used on devices which
391            have an LCD display connected.
392
393 config VIDEO_TEGRA124
394         bool "Enable video support on Tegra124"
395         depends on DM_VIDEO
396         help
397            Tegra124 supports many video output options including eDP and
398            HDMI. At present only eDP is supported by U-Boot. This option
399            enables this support which can be used on devices which
400            have an eDP display connected.
401
402 source "drivers/video/bridge/Kconfig"
403
404 endmenu