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