xref: /openbmc/u-boot/drivers/video/Kconfig (revision 2dcf1433)
10b11dbf7SMasahiro Yamada#
20b11dbf7SMasahiro Yamada# Video configuration
30b11dbf7SMasahiro Yamada#
40b11dbf7SMasahiro Yamada
50b11dbf7SMasahiro Yamadamenu "Graphics support"
60b11dbf7SMasahiro Yamada
71acafc73SSimon Glassconfig DM_VIDEO
81acafc73SSimon Glass	bool "Enable driver model support for LCD/video"
91acafc73SSimon Glass	depends on DM
101acafc73SSimon Glass	help
111acafc73SSimon Glass	  This enables driver model for LCD and video devices. These support
121acafc73SSimon Glass	  a bitmap display of various sizes and depths which can be drawn on
131acafc73SSimon Glass	  to display a command-line console or splash screen. Enabling this
141acafc73SSimon Glass	  option compiles in the video uclass and routes all LCD/video access
151acafc73SSimon Glass	  through this.
161acafc73SSimon Glass
171acafc73SSimon Glassconfig VIDEO_BPP8
181acafc73SSimon Glass	bool "Support 8-bit-per-pixel displays"
191acafc73SSimon Glass	depends on DM_VIDEO
201acafc73SSimon Glass	default y if DM_VIDEO
211acafc73SSimon Glass	help
221acafc73SSimon Glass	  Support drawing text and bitmaps onto a 8-bit-per-pixel display.
231acafc73SSimon Glass	  Enabling this will include code to support this display. Without
241acafc73SSimon Glass	  this option, such displays will not be supported and console output
251acafc73SSimon Glass	  will be empty.
261acafc73SSimon Glass
271acafc73SSimon Glassconfig VIDEO_BPP16
281acafc73SSimon Glass	bool "Support 16-bit-per-pixel displays"
291acafc73SSimon Glass	depends on DM_VIDEO
301acafc73SSimon Glass	default y if DM_VIDEO
311acafc73SSimon Glass	help
321acafc73SSimon Glass	  Support drawing text and bitmaps onto a 16-bit-per-pixel display.
331acafc73SSimon Glass	  Enabling this will include code to support this display. Without
341acafc73SSimon Glass	  this option, such displays will not be supported and console output
351acafc73SSimon Glass	  will be empty.
361acafc73SSimon Glass
371acafc73SSimon Glassconfig VIDEO_BPP32
381acafc73SSimon Glass	bool "Support 32-bit-per-pixel displays"
391acafc73SSimon Glass	depends on DM_VIDEO
401acafc73SSimon Glass	default y if DM_VIDEO
411acafc73SSimon Glass	help
421acafc73SSimon Glass	  Support drawing text and bitmaps onto a 32-bit-per-pixel display.
431acafc73SSimon Glass	  Enabling this will include code to support this display. Without
441acafc73SSimon Glass	  this option, such displays will not be supported and console output
451acafc73SSimon Glass	  will be empty.
461acafc73SSimon Glass
47b5146b28SSimon Glassconfig VIDEO_ROTATION
48b5146b28SSimon Glass	bool "Support rotated displays"
49b5146b28SSimon Glass	depends on DM_VIDEO
50b5146b28SSimon Glass	help
51b5146b28SSimon Glass	  Sometimes, for example if the display is mounted in portrait
52b5146b28SSimon Glass	  mode or even if it's mounted landscape but rotated by 180degree,
53b5146b28SSimon Glass	  we need to rotate our content of the display relative to the
54b5146b28SSimon Glass	  framebuffer, so that user can read the messages which are
55b5146b28SSimon Glass	  printed out. Enable this option to include a text driver which can
56b5146b28SSimon Glass	  support this. The rotation is set by the 'rot' parameter in
57b5146b28SSimon Glass	  struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180
58b5146b28SSimon Glass	  degrees, 3=270 degrees.
59b5146b28SSimon Glass
606b1ba984SSimon Glassconfig VIDEO_VESA
616b1ba984SSimon Glass	bool "Enable VESA video driver support"
626b1ba984SSimon Glass	default n
636b1ba984SSimon Glass	help
646b1ba984SSimon Glass	  Turn on this option to enable a very simple driver which uses vesa
656b1ba984SSimon Glass	  to discover the video mode and then provides a frame buffer for use
666b1ba984SSimon Glass	  by U-Boot. This can in principle be used with any platform that
676b1ba984SSimon Glass	  supports PCI and video cards that support VESA BIOS Extension (VBE).
686b1ba984SSimon Glass
696bde2dc5SBin Mengconfig FRAMEBUFFER_SET_VESA_MODE
706bde2dc5SBin Meng	bool "Set framebuffer graphics resolution"
716bde2dc5SBin Meng	depends on VIDEO_VESA
726bde2dc5SBin Meng	help
736bde2dc5SBin Meng	  Set VESA/native framebuffer mode (needed for bootsplash and graphical
746bde2dc5SBin Meng	  framebuffer console)
756bde2dc5SBin Meng
766bde2dc5SBin Mengchoice
776bde2dc5SBin Meng	prompt "framebuffer graphics resolution"
786bde2dc5SBin Meng	default FRAMEBUFFER_VESA_MODE_117
796bde2dc5SBin Meng	depends on FRAMEBUFFER_SET_VESA_MODE
806bde2dc5SBin Meng	help
816bde2dc5SBin Meng	  This option sets the resolution used for the U-Boot framebuffer (and
826bde2dc5SBin Meng	  bootsplash screen).
836bde2dc5SBin Meng
846bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_100
856bde2dc5SBin Meng	bool "640x400 256-color"
866bde2dc5SBin Meng
876bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_101
886bde2dc5SBin Meng	bool "640x480 256-color"
896bde2dc5SBin Meng
906bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_102
916bde2dc5SBin Meng	bool "800x600 16-color"
926bde2dc5SBin Meng
936bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_103
946bde2dc5SBin Meng	bool "800x600 256-color"
956bde2dc5SBin Meng
966bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_104
976bde2dc5SBin Meng	bool "1024x768 16-color"
986bde2dc5SBin Meng
996bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_105
10057dccb55SBin Meng	bool "1024x768 256-color"
1016bde2dc5SBin Meng
1026bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_106
1036bde2dc5SBin Meng	bool "1280x1024 16-color"
1046bde2dc5SBin Meng
1056bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_107
1066bde2dc5SBin Meng	bool "1280x1024 256-color"
1076bde2dc5SBin Meng
1086bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_108
1096bde2dc5SBin Meng	bool "80x60 text"
1106bde2dc5SBin Meng
1116bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_109
1126bde2dc5SBin Meng	bool "132x25 text"
1136bde2dc5SBin Meng
1146bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10A
1156bde2dc5SBin Meng	bool "132x43 text"
1166bde2dc5SBin Meng
1176bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10B
1186bde2dc5SBin Meng	bool "132x50 text"
1196bde2dc5SBin Meng
1206bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10C
1216bde2dc5SBin Meng	bool "132x60 text"
1226bde2dc5SBin Meng
1236bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10D
1246bde2dc5SBin Meng	bool "320x200 32k-color (1:5:5:5)"
1256bde2dc5SBin Meng
1266bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10E
1276bde2dc5SBin Meng	bool "320x200 64k-color (5:6:5)"
1286bde2dc5SBin Meng
1296bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_10F
1306bde2dc5SBin Meng	bool "320x200 16.8M-color (8:8:8)"
1316bde2dc5SBin Meng
1326bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_110
1336bde2dc5SBin Meng	bool "640x480 32k-color (1:5:5:5)"
1346bde2dc5SBin Meng
1356bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_111
1366bde2dc5SBin Meng	bool "640x480 64k-color (5:6:5)"
1376bde2dc5SBin Meng
1386bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_112
1396bde2dc5SBin Meng	bool "640x480 16.8M-color (8:8:8)"
1406bde2dc5SBin Meng
1416bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_113
1426bde2dc5SBin Meng	bool "800x600 32k-color (1:5:5:5)"
1436bde2dc5SBin Meng
1446bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_114
1456bde2dc5SBin Meng	bool "800x600 64k-color (5:6:5)"
1466bde2dc5SBin Meng
1476bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_115
1486bde2dc5SBin Meng	bool "800x600 16.8M-color (8:8:8)"
1496bde2dc5SBin Meng
1506bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_116
1516bde2dc5SBin Meng	bool "1024x768 32k-color (1:5:5:5)"
1526bde2dc5SBin Meng
1536bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_117
1546bde2dc5SBin Meng	bool "1024x768 64k-color (5:6:5)"
1556bde2dc5SBin Meng
1566bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_118
1576bde2dc5SBin Meng	bool "1024x768 16.8M-color (8:8:8)"
1586bde2dc5SBin Meng
1596bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_119
1606bde2dc5SBin Meng	bool "1280x1024 32k-color (1:5:5:5)"
1616bde2dc5SBin Meng
1626bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_11A
1636bde2dc5SBin Meng	bool "1280x1024 64k-color (5:6:5)"
1646bde2dc5SBin Meng
1656bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_11B
1666bde2dc5SBin Meng	bool "1280x1024 16.8M-color (8:8:8)"
1676bde2dc5SBin Meng
1686bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE_USER
1696bde2dc5SBin Meng	bool "Manually select VESA mode"
1706bde2dc5SBin Meng
1716bde2dc5SBin Mengendchoice
1726bde2dc5SBin Meng
1736bde2dc5SBin Meng# Map the config names to an integer (KB).
1746bde2dc5SBin Mengconfig FRAMEBUFFER_VESA_MODE
1756bde2dc5SBin Meng	prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
1766bde2dc5SBin Meng	hex
1776bde2dc5SBin Meng	default 0x100 if FRAMEBUFFER_VESA_MODE_100
1786bde2dc5SBin Meng	default 0x101 if FRAMEBUFFER_VESA_MODE_101
1796bde2dc5SBin Meng	default 0x102 if FRAMEBUFFER_VESA_MODE_102
1806bde2dc5SBin Meng	default 0x103 if FRAMEBUFFER_VESA_MODE_103
1816bde2dc5SBin Meng	default 0x104 if FRAMEBUFFER_VESA_MODE_104
1826bde2dc5SBin Meng	default 0x105 if FRAMEBUFFER_VESA_MODE_105
1836bde2dc5SBin Meng	default 0x106 if FRAMEBUFFER_VESA_MODE_106
1846bde2dc5SBin Meng	default 0x107 if FRAMEBUFFER_VESA_MODE_107
1856bde2dc5SBin Meng	default 0x108 if FRAMEBUFFER_VESA_MODE_108
1866bde2dc5SBin Meng	default 0x109 if FRAMEBUFFER_VESA_MODE_109
1876bde2dc5SBin Meng	default 0x10A if FRAMEBUFFER_VESA_MODE_10A
1886bde2dc5SBin Meng	default 0x10B if FRAMEBUFFER_VESA_MODE_10B
1896bde2dc5SBin Meng	default 0x10C if FRAMEBUFFER_VESA_MODE_10C
1906bde2dc5SBin Meng	default 0x10D if FRAMEBUFFER_VESA_MODE_10D
1916bde2dc5SBin Meng	default 0x10E if FRAMEBUFFER_VESA_MODE_10E
1926bde2dc5SBin Meng	default 0x10F if FRAMEBUFFER_VESA_MODE_10F
1936bde2dc5SBin Meng	default 0x110 if FRAMEBUFFER_VESA_MODE_110
1946bde2dc5SBin Meng	default 0x111 if FRAMEBUFFER_VESA_MODE_111
1956bde2dc5SBin Meng	default 0x112 if FRAMEBUFFER_VESA_MODE_112
1966bde2dc5SBin Meng	default 0x113 if FRAMEBUFFER_VESA_MODE_113
1976bde2dc5SBin Meng	default 0x114 if FRAMEBUFFER_VESA_MODE_114
1986bde2dc5SBin Meng	default 0x115 if FRAMEBUFFER_VESA_MODE_115
1996bde2dc5SBin Meng	default 0x116 if FRAMEBUFFER_VESA_MODE_116
2006bde2dc5SBin Meng	default 0x117 if FRAMEBUFFER_VESA_MODE_117
2016bde2dc5SBin Meng	default 0x118 if FRAMEBUFFER_VESA_MODE_118
2026bde2dc5SBin Meng	default 0x119 if FRAMEBUFFER_VESA_MODE_119
2036bde2dc5SBin Meng	default 0x11A if FRAMEBUFFER_VESA_MODE_11A
2046bde2dc5SBin Meng	default 0x11B if FRAMEBUFFER_VESA_MODE_11B
2056bde2dc5SBin Meng	default 0x117 if FRAMEBUFFER_VESA_MODE_USER
2066bde2dc5SBin Meng
20766525bb7SHans de Goedeconfig VIDEO_LCD_ANX9804
20866525bb7SHans de Goede	bool "ANX9804 bridge chip"
20966525bb7SHans de Goede	default n
21066525bb7SHans de Goede	---help---
21166525bb7SHans de Goede	Support for the ANX9804 bridge chip, which can take pixel data coming
21266525bb7SHans de Goede	from a parallel LCD interface and translate it on the fy into a DP
21366525bb7SHans de Goede	interface for driving eDP TFT displays. It uses I2C for configuration.
21466525bb7SHans de Goede
215b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SSD2828
216b8329acfSSiarhei Siamashka	bool "SSD2828 bridge chip"
217b8329acfSSiarhei Siamashka	default n
218b8329acfSSiarhei Siamashka	---help---
219b8329acfSSiarhei Siamashka	Support for the SSD2828 bridge chip, which can take pixel data coming
220b8329acfSSiarhei Siamashka	from a parallel LCD interface and translate it on the fly into MIPI DSI
221b8329acfSSiarhei Siamashka	interface for driving a MIPI compatible LCD panel. It uses SPI for
222b8329acfSSiarhei Siamashka	configuration.
223b8329acfSSiarhei Siamashka
224b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SSD2828_TX_CLK
225b8329acfSSiarhei Siamashka	int "SSD2828 TX_CLK frequency (in MHz)"
226b8329acfSSiarhei Siamashka	depends on VIDEO_LCD_SSD2828
227dddccd69SSiarhei Siamashka	default 0
228b8329acfSSiarhei Siamashka	---help---
229b8329acfSSiarhei Siamashka	The frequency of the crystal, which is clocking SSD2828. It may be
230b8329acfSSiarhei Siamashka	anything in the 8MHz-30MHz range and the exact value should be
231b8329acfSSiarhei Siamashka	retrieved from the board schematics. Or in the case of Allwinner
232b8329acfSSiarhei Siamashka	hardware, it can be usually found as 'lcd_xtal_freq' variable in
233dddccd69SSiarhei Siamashka	FEX files. It can be also set to 0 for selecting PCLK from the
234dddccd69SSiarhei Siamashka	parallel LCD interface instead of TX_CLK as the PLL clock source.
235b8329acfSSiarhei Siamashka
236b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SSD2828_RESET
237b8329acfSSiarhei Siamashka	string "RESET pin of SSD2828"
238b8329acfSSiarhei Siamashka	depends on VIDEO_LCD_SSD2828
239b8329acfSSiarhei Siamashka	default ""
240b8329acfSSiarhei Siamashka	---help---
241b8329acfSSiarhei Siamashka	The reset pin of SSD2828 chip. This takes a string in the format
242b8329acfSSiarhei Siamashka	understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
243b8329acfSSiarhei Siamashka
244a5464f2bSHans de Goedeconfig VIDEO_LCD_HITACHI_TX18D42VM
245a5464f2bSHans de Goede	bool "Hitachi tx18d42vm LVDS LCD panel support"
246a5464f2bSHans de Goede	depends on VIDEO
247a5464f2bSHans de Goede	default n
248a5464f2bSHans de Goede	---help---
249a5464f2bSHans de Goede	Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a
250a5464f2bSHans de Goede	lcd controller which needs to be initialized over SPI, once that is
251a5464f2bSHans de Goede	done they work like a regular LVDS panel.
252a5464f2bSHans de Goede
253b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SPI_CS
254b8329acfSSiarhei Siamashka	string "SPI CS pin for LCD related config job"
255a5464f2bSHans de Goede	depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
256b8329acfSSiarhei Siamashka	default ""
257b8329acfSSiarhei Siamashka	---help---
258b8329acfSSiarhei Siamashka	This is one of the SPI communication pins, involved in setting up a
259b8329acfSSiarhei Siamashka	working LCD configuration. The exact role of SPI may differ for
260b8329acfSSiarhei Siamashka	different hardware setups. The option takes a string in the format
261b8329acfSSiarhei Siamashka	understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
262b8329acfSSiarhei Siamashka
263b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SPI_SCLK
264b8329acfSSiarhei Siamashka	string "SPI SCLK pin for LCD related config job"
265a5464f2bSHans de Goede	depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
266b8329acfSSiarhei Siamashka	default ""
267b8329acfSSiarhei Siamashka	---help---
268b8329acfSSiarhei Siamashka	This is one of the SPI communication pins, involved in setting up a
269b8329acfSSiarhei Siamashka	working LCD configuration. The exact role of SPI may differ for
270b8329acfSSiarhei Siamashka	different hardware setups. The option takes a string in the format
271b8329acfSSiarhei Siamashka	understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
272b8329acfSSiarhei Siamashka
273b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SPI_MOSI
274b8329acfSSiarhei Siamashka	string "SPI MOSI pin for LCD related config job"
275a5464f2bSHans de Goede	depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM
276b8329acfSSiarhei Siamashka	default ""
277b8329acfSSiarhei Siamashka	---help---
278b8329acfSSiarhei Siamashka	This is one of the SPI communication pins, involved in setting up a
279b8329acfSSiarhei Siamashka	working LCD configuration. The exact role of SPI may differ for
280b8329acfSSiarhei Siamashka	different hardware setups. The option takes a string in the format
281b8329acfSSiarhei Siamashka	understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H.
282b8329acfSSiarhei Siamashka
283b8329acfSSiarhei Siamashkaconfig VIDEO_LCD_SPI_MISO
284b8329acfSSiarhei Siamashka	string "SPI MISO pin for LCD related config job (optional)"
285b8329acfSSiarhei Siamashka	depends on VIDEO_LCD_SSD2828
286b8329acfSSiarhei Siamashka	default ""
287b8329acfSSiarhei Siamashka	---help---
288b8329acfSSiarhei Siamashka	This is one of the SPI communication pins, involved in setting up a
289b8329acfSSiarhei Siamashka	working LCD configuration. The exact role of SPI may differ for
290b8329acfSSiarhei Siamashka	different hardware setups. If wired up, this pin may provide additional
291b8329acfSSiarhei Siamashka	useful functionality. Such as bi-directional communication with the
292b8329acfSSiarhei Siamashka	hardware and LCD panel id retrieval (if the panel can report it). The
293b8329acfSSiarhei Siamashka	option takes a string in the format understood by 'name_to_gpio'
294b8329acfSSiarhei Siamashka	function, e.g. PH1 for pin 1 of port H.
29551f2c99eSSimon Glass
296*2dcf1433SSimon Glassconfig DISPLAY
297*2dcf1433SSimon Glass	bool "Enable Display support"
298*2dcf1433SSimon Glass	depends on DM
299*2dcf1433SSimon Glass	default y
30051f2c99eSSimon Glass	help
301*2dcf1433SSimon Glass	   This supports drivers that provide a display, such as eDP (Embedded
302*2dcf1433SSimon Glass	   DisplayPort) and HDMI (High Definition Multimedia Interface).
303*2dcf1433SSimon Glass	   The devices provide a simple interface to start up the display,
304*2dcf1433SSimon Glass	   read display information and enable it.
305e7e8823cSSimon Glass
3061e69ad01SSimon Glassconfig VIDEO_SANDBOX_SDL
3071e69ad01SSimon Glass	bool "Enable sandbox video console using SDL"
3081e69ad01SSimon Glass	depends on SANDBOX
3091e69ad01SSimon Glass	help
3101e69ad01SSimon Glass	  When using sandbox you can enable an emulated LCD display which
3111e69ad01SSimon Glass	  appears as an SDL (Simple DirectMedia Layer) window. This is a
3121e69ad01SSimon Glass	  console device and can display stdout output. Within U-Boot is is
3131e69ad01SSimon Glass	  a normal bitmap display and can display images as well as text.
3141e69ad01SSimon Glass
315e7e8823cSSimon Glassconfig VIDEO_TEGRA124
316e7e8823cSSimon Glass	bool "Enable video support on Tegra124"
317e7e8823cSSimon Glass	help
318e7e8823cSSimon Glass	   Tegra124 supports many video output options including eDP and
319e7e8823cSSimon Glass	   HDMI. At present only eDP is supported by U-Boot. This option
320e7e8823cSSimon Glass	   enables this support which can be used on devices which
321e7e8823cSSimon Glass	   have an eDP display connected.
322801ab9e9SSimon Glass
323801ab9e9SSimon Glasssource "drivers/video/bridge/Kconfig"
3240b11dbf7SMasahiro Yamada
3250b11dbf7SMasahiro Yamadaendmenu
326