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