Masahiro Yamada | cc85b7b | 2015-07-26 02:46:26 +0900 | [diff] [blame] | 1 | # |
| 2 | # Video configuration |
| 3 | # |
| 4 | |
| 5 | menu "Graphics support" |
| 6 | |
Simon Glass | 623d28f | 2016-01-18 19:52:15 -0700 | [diff] [blame] | 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 | |
Patrick Delaunay | 4300f07 | 2017-08-03 12:36:06 +0200 | [diff] [blame] | 17 | config BACKLIGHT_PWM |
| 18 | bool "Generic PWM based Backlight Driver" |
| 19 | depends on DM_VIDEO && DM_PWM |
| 20 | default y |
| 21 | help |
| 22 | If you have a LCD backlight adjustable by PWM, say Y to enable |
| 23 | this driver. |
| 24 | This driver can be use with "simple-panel" and |
| 25 | it understands the standard device tree |
| 26 | (leds/backlight/pwm-backlight.txt) |
| 27 | |
Patrick Delaunay | a3c046f | 2017-08-03 12:36:07 +0200 | [diff] [blame] | 28 | config BACKLIGHT_GPIO |
| 29 | bool "Generic GPIO based Backlight Driver" |
| 30 | depends on DM_VIDEO |
| 31 | help |
| 32 | If you have a LCD backlight adjustable by GPIO, say Y to enable |
| 33 | this driver. |
| 34 | This driver can be used with "simple-panel" and |
| 35 | it understands the standard device tree |
| 36 | (leds/backlight/gpio-backlight.txt) |
| 37 | |
Simon Glass | 623d28f | 2016-01-18 19:52:15 -0700 | [diff] [blame] | 38 | config VIDEO_BPP8 |
| 39 | bool "Support 8-bit-per-pixel displays" |
| 40 | depends on DM_VIDEO |
Anatolij Gustschin | dba3670 | 2020-02-04 22:43:06 +0100 | [diff] [blame] | 41 | default y |
Simon Glass | 623d28f | 2016-01-18 19:52:15 -0700 | [diff] [blame] | 42 | help |
| 43 | Support drawing text and bitmaps onto a 8-bit-per-pixel display. |
| 44 | Enabling this will include code to support this display. Without |
| 45 | this option, such displays will not be supported and console output |
| 46 | will be empty. |
| 47 | |
| 48 | config VIDEO_BPP16 |
| 49 | bool "Support 16-bit-per-pixel displays" |
| 50 | depends on DM_VIDEO |
Anatolij Gustschin | dba3670 | 2020-02-04 22:43:06 +0100 | [diff] [blame] | 51 | default y |
Simon Glass | 623d28f | 2016-01-18 19:52:15 -0700 | [diff] [blame] | 52 | help |
| 53 | Support drawing text and bitmaps onto a 16-bit-per-pixel display. |
| 54 | Enabling this will include code to support this display. Without |
| 55 | this option, such displays will not be supported and console output |
| 56 | will be empty. |
| 57 | |
| 58 | config VIDEO_BPP32 |
| 59 | bool "Support 32-bit-per-pixel displays" |
| 60 | depends on DM_VIDEO |
Anatolij Gustschin | dba3670 | 2020-02-04 22:43:06 +0100 | [diff] [blame] | 61 | default y |
Simon Glass | 623d28f | 2016-01-18 19:52:15 -0700 | [diff] [blame] | 62 | help |
| 63 | Support drawing text and bitmaps onto a 32-bit-per-pixel display. |
| 64 | Enabling this will include code to support this display. Without |
| 65 | this option, such displays will not be supported and console output |
| 66 | will be empty. |
| 67 | |
Rob Clark | 06e7a0d | 2017-09-13 18:12:21 -0400 | [diff] [blame] | 68 | config VIDEO_ANSI |
| 69 | bool "Support ANSI escape sequences in video console" |
| 70 | depends on DM_VIDEO |
Anatolij Gustschin | dba3670 | 2020-02-04 22:43:06 +0100 | [diff] [blame] | 71 | default y |
Rob Clark | 06e7a0d | 2017-09-13 18:12:21 -0400 | [diff] [blame] | 72 | help |
| 73 | Enable ANSI escape sequence decoding for a more fully functional |
| 74 | console. |
| 75 | |
Yannick Fertré | d08fb32 | 2019-10-07 15:29:04 +0200 | [diff] [blame] | 76 | config VIDEO_MIPI_DSI |
| 77 | bool "Support MIPI DSI interface" |
| 78 | depends on DM_VIDEO |
| 79 | help |
| 80 | Support MIPI DSI interface for driving a MIPI compatible device. |
| 81 | The MIPI Display Serial Interface (MIPI DSI) defines a high-speed |
| 82 | serial interface between a host processor and a display module. |
| 83 | |
Simon Glass | 6e0721d | 2016-01-22 21:53:37 +0100 | [diff] [blame] | 84 | config CONSOLE_NORMAL |
| 85 | bool "Support a simple text console" |
| 86 | depends on DM_VIDEO |
| 87 | default y if DM_VIDEO |
| 88 | help |
| 89 | Support drawing text on the frame buffer console so that it can be |
| 90 | used as a console. Rotation is not supported by this driver (see |
| 91 | CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used |
| 92 | for the display. |
| 93 | |
| 94 | config CONSOLE_ROTATION |
Simon Glass | 87aae88 | 2016-01-18 19:52:19 -0700 | [diff] [blame] | 95 | bool "Support rotated displays" |
| 96 | depends on DM_VIDEO |
| 97 | help |
| 98 | Sometimes, for example if the display is mounted in portrait |
| 99 | mode or even if it's mounted landscape but rotated by 180degree, |
| 100 | we need to rotate our content of the display relative to the |
| 101 | framebuffer, so that user can read the messages which are |
| 102 | printed out. Enable this option to include a text driver which can |
| 103 | support this. The rotation is set by the 'rot' parameter in |
| 104 | struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180 |
| 105 | degrees, 3=270 degrees. |
| 106 | |
Simon Glass | 2ef353e | 2016-01-14 18:10:42 -0700 | [diff] [blame] | 107 | config CONSOLE_TRUETYPE |
| 108 | bool "Support a console that uses TrueType fonts" |
| 109 | depends on DM_VIDEO |
| 110 | help |
| 111 | TrueTrype fonts can provide outline-drawing capability rather than |
| 112 | needing to provide a bitmap for each font and size that is needed. |
| 113 | With this option you can adjust the text size and use a variety of |
| 114 | fonts. Note that this is noticeably slower than with normal console. |
| 115 | |
| 116 | config CONSOLE_TRUETYPE_SIZE |
| 117 | int "TrueType font size" |
| 118 | depends on CONSOLE_TRUETYPE |
| 119 | default 18 |
| 120 | help |
| 121 | This sets the font size for the console. The size is measured in |
| 122 | pixels and is the nominal height of a character. Note that fonts |
| 123 | are commonly measured in 'points', being 1/72 inch (about 3.52mm). |
| 124 | However that measurement depends on the size of your display and |
| 125 | there is no standard display density. At present there is not a |
| 126 | method to select the display's physical size, which would allow |
| 127 | U-Boot to calculate the correct font size. |
| 128 | |
Simon Glass | d65a142 | 2017-04-26 22:27:57 -0600 | [diff] [blame] | 129 | config SYS_WHITE_ON_BLACK |
| 130 | bool "Display console as white on a black background" |
Andre Przywara | 24db29d | 2019-03-23 01:30:02 +0000 | [diff] [blame] | 131 | default y if ARCH_AT91 || ARCH_EXYNOS || ARCH_ROCKCHIP || TEGRA || X86 || ARCH_SUNXI |
Simon Glass | d65a142 | 2017-04-26 22:27:57 -0600 | [diff] [blame] | 132 | help |
| 133 | Normally the display is black on a white background, Enable this |
| 134 | option to invert this, i.e. white on a black background. This can be |
| 135 | better in low-light situations or to reduce eye strain in some |
| 136 | cases. |
| 137 | |
Rob Clark | f141188 | 2017-08-03 12:47:01 -0400 | [diff] [blame] | 138 | config NO_FB_CLEAR |
| 139 | bool "Skip framebuffer clear" |
| 140 | help |
| 141 | If firmware (whatever loads u-boot) has already put a splash image |
| 142 | on screen, you might want to preserve it until whatever u-boot |
| 143 | loads takes over the screen. This, for example, can be used to |
| 144 | keep splash image on screen until grub graphical boot menu starts. |
| 145 | |
Simon Glass | 2ef353e | 2016-01-14 18:10:42 -0700 | [diff] [blame] | 146 | source "drivers/video/fonts/Kconfig" |
| 147 | |
Simon Glass | 86f0746 | 2016-02-06 14:31:37 -0700 | [diff] [blame] | 148 | config VIDCONSOLE_AS_LCD |
| 149 | bool "Use 'vidconsole' when 'lcd' is seen in stdout" |
| 150 | depends on DM_VIDEO |
| 151 | help |
| 152 | This is a work-around for boards which have 'lcd' in their stdout |
| 153 | environment variable, but have moved to use driver model for video. |
| 154 | In this case the console will no-longer work. While it is possible |
| 155 | to update the environment, the breakage may be confusing for users. |
| 156 | This option will be removed around the end of 2016. |
| 157 | |
Bin Meng | a0676be | 2016-10-09 04:14:16 -0700 | [diff] [blame] | 158 | config VIDEO_COREBOOT |
| 159 | bool "Enable coreboot framebuffer driver support" |
| 160 | depends on X86 && SYS_COREBOOT |
| 161 | help |
| 162 | Turn on this option to enable a framebuffer driver when U-Boot is |
| 163 | loaded by coreboot where the graphics device is configured by |
| 164 | coreboot already. This can in principle be used with any platform |
| 165 | that coreboot supports. |
| 166 | |
Bin Meng | 0f862b9 | 2018-06-12 08:36:22 -0700 | [diff] [blame] | 167 | config VIDEO_EFI |
| 168 | bool "Enable EFI framebuffer driver support" |
| 169 | depends on EFI_STUB |
| 170 | help |
| 171 | Turn on this option to enable a framebuffeer driver when U-Boot is |
| 172 | loaded as a payload (see README.u-boot_on_efi) by an EFI BIOS where |
| 173 | the graphics device is configured by the EFI BIOS already. This can |
| 174 | in principle be used with any platform that has an EFI BIOS. |
| 175 | |
Simon Glass | 42bf3ee | 2014-12-29 19:32:28 -0700 | [diff] [blame] | 176 | config VIDEO_VESA |
| 177 | bool "Enable VESA video driver support" |
Simon Glass | 42bf3ee | 2014-12-29 19:32:28 -0700 | [diff] [blame] | 178 | default n |
| 179 | help |
| 180 | Turn on this option to enable a very simple driver which uses vesa |
| 181 | to discover the video mode and then provides a frame buffer for use |
| 182 | by U-Boot. This can in principle be used with any platform that |
| 183 | supports PCI and video cards that support VESA BIOS Extension (VBE). |
| 184 | |
Bin Meng | 072b79d | 2015-05-11 07:36:29 +0800 | [diff] [blame] | 185 | config FRAMEBUFFER_SET_VESA_MODE |
| 186 | bool "Set framebuffer graphics resolution" |
Simon Glass | dec49b7 | 2016-03-11 22:07:30 -0700 | [diff] [blame] | 187 | depends on VIDEO_VESA || VIDEO_BROADWELL_IGD |
Bin Meng | 072b79d | 2015-05-11 07:36:29 +0800 | [diff] [blame] | 188 | help |
| 189 | Set VESA/native framebuffer mode (needed for bootsplash and graphical |
| 190 | framebuffer console) |
| 191 | |
| 192 | choice |
| 193 | prompt "framebuffer graphics resolution" |
Bin Meng | 4da8a3f | 2018-04-11 22:02:16 -0700 | [diff] [blame] | 194 | default FRAMEBUFFER_VESA_MODE_118 |
Bin Meng | 072b79d | 2015-05-11 07:36:29 +0800 | [diff] [blame] | 195 | depends on FRAMEBUFFER_SET_VESA_MODE |
| 196 | help |
| 197 | This option sets the resolution used for the U-Boot framebuffer (and |
| 198 | bootsplash screen). |
| 199 | |
| 200 | config FRAMEBUFFER_VESA_MODE_100 |
| 201 | bool "640x400 256-color" |
| 202 | |
| 203 | config FRAMEBUFFER_VESA_MODE_101 |
| 204 | bool "640x480 256-color" |
| 205 | |
| 206 | config FRAMEBUFFER_VESA_MODE_102 |
| 207 | bool "800x600 16-color" |
| 208 | |
| 209 | config FRAMEBUFFER_VESA_MODE_103 |
| 210 | bool "800x600 256-color" |
| 211 | |
| 212 | config FRAMEBUFFER_VESA_MODE_104 |
| 213 | bool "1024x768 16-color" |
| 214 | |
| 215 | config FRAMEBUFFER_VESA_MODE_105 |
Bin Meng | 932adc6 | 2015-08-09 23:26:59 -0700 | [diff] [blame] | 216 | bool "1024x768 256-color" |
Bin Meng | 072b79d | 2015-05-11 07:36:29 +0800 | [diff] [blame] | 217 | |
| 218 | config FRAMEBUFFER_VESA_MODE_106 |
| 219 | bool "1280x1024 16-color" |
| 220 | |
| 221 | config FRAMEBUFFER_VESA_MODE_107 |
| 222 | bool "1280x1024 256-color" |
| 223 | |
| 224 | config FRAMEBUFFER_VESA_MODE_108 |
| 225 | bool "80x60 text" |
| 226 | |
| 227 | config FRAMEBUFFER_VESA_MODE_109 |
| 228 | bool "132x25 text" |
| 229 | |
| 230 | config FRAMEBUFFER_VESA_MODE_10A |
| 231 | bool "132x43 text" |
| 232 | |
| 233 | config FRAMEBUFFER_VESA_MODE_10B |
| 234 | bool "132x50 text" |
| 235 | |
| 236 | config FRAMEBUFFER_VESA_MODE_10C |
| 237 | bool "132x60 text" |
| 238 | |
| 239 | config FRAMEBUFFER_VESA_MODE_10D |
| 240 | bool "320x200 32k-color (1:5:5:5)" |
| 241 | |
| 242 | config FRAMEBUFFER_VESA_MODE_10E |
| 243 | bool "320x200 64k-color (5:6:5)" |
| 244 | |
| 245 | config FRAMEBUFFER_VESA_MODE_10F |
| 246 | bool "320x200 16.8M-color (8:8:8)" |
| 247 | |
| 248 | config FRAMEBUFFER_VESA_MODE_110 |
| 249 | bool "640x480 32k-color (1:5:5:5)" |
| 250 | |
| 251 | config FRAMEBUFFER_VESA_MODE_111 |
| 252 | bool "640x480 64k-color (5:6:5)" |
| 253 | |
| 254 | config FRAMEBUFFER_VESA_MODE_112 |
| 255 | bool "640x480 16.8M-color (8:8:8)" |
| 256 | |
| 257 | config FRAMEBUFFER_VESA_MODE_113 |
| 258 | bool "800x600 32k-color (1:5:5:5)" |
| 259 | |
| 260 | config FRAMEBUFFER_VESA_MODE_114 |
| 261 | bool "800x600 64k-color (5:6:5)" |
| 262 | |
| 263 | config FRAMEBUFFER_VESA_MODE_115 |
| 264 | bool "800x600 16.8M-color (8:8:8)" |
| 265 | |
| 266 | config FRAMEBUFFER_VESA_MODE_116 |
| 267 | bool "1024x768 32k-color (1:5:5:5)" |
| 268 | |
| 269 | config FRAMEBUFFER_VESA_MODE_117 |
| 270 | bool "1024x768 64k-color (5:6:5)" |
| 271 | |
| 272 | config FRAMEBUFFER_VESA_MODE_118 |
| 273 | bool "1024x768 16.8M-color (8:8:8)" |
| 274 | |
| 275 | config FRAMEBUFFER_VESA_MODE_119 |
| 276 | bool "1280x1024 32k-color (1:5:5:5)" |
| 277 | |
| 278 | config FRAMEBUFFER_VESA_MODE_11A |
| 279 | bool "1280x1024 64k-color (5:6:5)" |
| 280 | |
| 281 | config FRAMEBUFFER_VESA_MODE_11B |
| 282 | bool "1280x1024 16.8M-color (8:8:8)" |
| 283 | |
| 284 | config FRAMEBUFFER_VESA_MODE_USER |
| 285 | bool "Manually select VESA mode" |
| 286 | |
| 287 | endchoice |
| 288 | |
| 289 | # Map the config names to an integer (KB). |
| 290 | config FRAMEBUFFER_VESA_MODE |
| 291 | prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER |
| 292 | hex |
| 293 | default 0x100 if FRAMEBUFFER_VESA_MODE_100 |
| 294 | default 0x101 if FRAMEBUFFER_VESA_MODE_101 |
| 295 | default 0x102 if FRAMEBUFFER_VESA_MODE_102 |
| 296 | default 0x103 if FRAMEBUFFER_VESA_MODE_103 |
| 297 | default 0x104 if FRAMEBUFFER_VESA_MODE_104 |
| 298 | default 0x105 if FRAMEBUFFER_VESA_MODE_105 |
| 299 | default 0x106 if FRAMEBUFFER_VESA_MODE_106 |
| 300 | default 0x107 if FRAMEBUFFER_VESA_MODE_107 |
| 301 | default 0x108 if FRAMEBUFFER_VESA_MODE_108 |
| 302 | default 0x109 if FRAMEBUFFER_VESA_MODE_109 |
| 303 | default 0x10A if FRAMEBUFFER_VESA_MODE_10A |
| 304 | default 0x10B if FRAMEBUFFER_VESA_MODE_10B |
| 305 | default 0x10C if FRAMEBUFFER_VESA_MODE_10C |
| 306 | default 0x10D if FRAMEBUFFER_VESA_MODE_10D |
| 307 | default 0x10E if FRAMEBUFFER_VESA_MODE_10E |
| 308 | default 0x10F if FRAMEBUFFER_VESA_MODE_10F |
| 309 | default 0x110 if FRAMEBUFFER_VESA_MODE_110 |
| 310 | default 0x111 if FRAMEBUFFER_VESA_MODE_111 |
| 311 | default 0x112 if FRAMEBUFFER_VESA_MODE_112 |
| 312 | default 0x113 if FRAMEBUFFER_VESA_MODE_113 |
| 313 | default 0x114 if FRAMEBUFFER_VESA_MODE_114 |
| 314 | default 0x115 if FRAMEBUFFER_VESA_MODE_115 |
| 315 | default 0x116 if FRAMEBUFFER_VESA_MODE_116 |
| 316 | default 0x117 if FRAMEBUFFER_VESA_MODE_117 |
| 317 | default 0x118 if FRAMEBUFFER_VESA_MODE_118 |
| 318 | default 0x119 if FRAMEBUFFER_VESA_MODE_119 |
| 319 | default 0x11A if FRAMEBUFFER_VESA_MODE_11A |
| 320 | default 0x11B if FRAMEBUFFER_VESA_MODE_11B |
| 321 | default 0x117 if FRAMEBUFFER_VESA_MODE_USER |
| 322 | |
Hans de Goede | dfc1efe | 2015-08-08 16:03:29 +0200 | [diff] [blame] | 323 | config VIDEO_LCD_ANX9804 |
| 324 | bool "ANX9804 bridge chip" |
| 325 | default n |
| 326 | ---help--- |
| 327 | Support for the ANX9804 bridge chip, which can take pixel data coming |
| 328 | from a parallel LCD interface and translate it on the fy into a DP |
| 329 | interface for driving eDP TFT displays. It uses I2C for configuration. |
| 330 | |
Yannick Fertré | 5b855d4 | 2019-10-07 15:29:08 +0200 | [diff] [blame] | 331 | config VIDEO_LCD_ORISETECH_OTM8009A |
| 332 | bool "OTM8009A DSI LCD panel support" |
| 333 | depends on DM_VIDEO |
| 334 | select VIDEO_MIPI_DSI |
| 335 | default n |
| 336 | help |
| 337 | Say Y here if you want to enable support for Orise Technology |
| 338 | otm8009a 480x800 dsi 2dl panel. |
| 339 | |
Yannick Fertré | b038fed | 2019-10-07 15:29:09 +0200 | [diff] [blame] | 340 | config VIDEO_LCD_RAYDIUM_RM68200 |
| 341 | bool "RM68200 DSI LCD panel support" |
| 342 | depends on DM_VIDEO |
| 343 | select VIDEO_MIPI_DSI |
| 344 | default n |
| 345 | help |
| 346 | Say Y here if you want to enable support for Raydium RM68200 |
| 347 | 720x1280 DSI video mode panel. |
| 348 | |
Siarhei Siamashka | 4c19cf2 | 2015-01-19 05:23:32 +0200 | [diff] [blame] | 349 | config VIDEO_LCD_SSD2828 |
| 350 | bool "SSD2828 bridge chip" |
| 351 | default n |
| 352 | ---help--- |
| 353 | Support for the SSD2828 bridge chip, which can take pixel data coming |
| 354 | from a parallel LCD interface and translate it on the fly into MIPI DSI |
| 355 | interface for driving a MIPI compatible LCD panel. It uses SPI for |
| 356 | configuration. |
| 357 | |
| 358 | config VIDEO_LCD_SSD2828_TX_CLK |
| 359 | int "SSD2828 TX_CLK frequency (in MHz)" |
| 360 | depends on VIDEO_LCD_SSD2828 |
Siarhei Siamashka | 61fb91f | 2015-01-19 05:23:35 +0200 | [diff] [blame] | 361 | default 0 |
Siarhei Siamashka | 4c19cf2 | 2015-01-19 05:23:32 +0200 | [diff] [blame] | 362 | ---help--- |
| 363 | The frequency of the crystal, which is clocking SSD2828. It may be |
| 364 | anything in the 8MHz-30MHz range and the exact value should be |
| 365 | retrieved from the board schematics. Or in the case of Allwinner |
| 366 | hardware, it can be usually found as 'lcd_xtal_freq' variable in |
Siarhei Siamashka | 61fb91f | 2015-01-19 05:23:35 +0200 | [diff] [blame] | 367 | FEX files. It can be also set to 0 for selecting PCLK from the |
| 368 | parallel LCD interface instead of TX_CLK as the PLL clock source. |
Siarhei Siamashka | 4c19cf2 | 2015-01-19 05:23:32 +0200 | [diff] [blame] | 369 | |
| 370 | config VIDEO_LCD_SSD2828_RESET |
| 371 | string "RESET pin of SSD2828" |
| 372 | depends on VIDEO_LCD_SSD2828 |
| 373 | default "" |
| 374 | ---help--- |
| 375 | The reset pin of SSD2828 chip. This takes a string in the format |
| 376 | understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. |
| 377 | |
Hans de Goede | c048203 | 2015-01-20 09:22:26 +0100 | [diff] [blame] | 378 | config VIDEO_LCD_HITACHI_TX18D42VM |
| 379 | bool "Hitachi tx18d42vm LVDS LCD panel support" |
| 380 | depends on VIDEO |
| 381 | default n |
| 382 | ---help--- |
| 383 | Support for Hitachi tx18d42vm LVDS LCD panels, these panels have a |
| 384 | lcd controller which needs to be initialized over SPI, once that is |
| 385 | done they work like a regular LVDS panel. |
| 386 | |
Siarhei Siamashka | 4c19cf2 | 2015-01-19 05:23:32 +0200 | [diff] [blame] | 387 | config VIDEO_LCD_SPI_CS |
| 388 | string "SPI CS pin for LCD related config job" |
Hans de Goede | c048203 | 2015-01-20 09:22:26 +0100 | [diff] [blame] | 389 | depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM |
Siarhei Siamashka | 4c19cf2 | 2015-01-19 05:23:32 +0200 | [diff] [blame] | 390 | default "" |
| 391 | ---help--- |
| 392 | This is one of the SPI communication pins, involved in setting up a |
| 393 | working LCD configuration. The exact role of SPI may differ for |
| 394 | different hardware setups. The option takes a string in the format |
| 395 | understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. |
| 396 | |
| 397 | config VIDEO_LCD_SPI_SCLK |
| 398 | string "SPI SCLK pin for LCD related config job" |
Hans de Goede | c048203 | 2015-01-20 09:22:26 +0100 | [diff] [blame] | 399 | depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM |
Siarhei Siamashka | 4c19cf2 | 2015-01-19 05:23:32 +0200 | [diff] [blame] | 400 | default "" |
| 401 | ---help--- |
| 402 | This is one of the SPI communication pins, involved in setting up a |
| 403 | working LCD configuration. The exact role of SPI may differ for |
| 404 | different hardware setups. The option takes a string in the format |
| 405 | understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. |
| 406 | |
| 407 | config VIDEO_LCD_SPI_MOSI |
| 408 | string "SPI MOSI pin for LCD related config job" |
Hans de Goede | c048203 | 2015-01-20 09:22:26 +0100 | [diff] [blame] | 409 | depends on VIDEO_LCD_SSD2828 || VIDEO_LCD_HITACHI_TX18D42VM |
Siarhei Siamashka | 4c19cf2 | 2015-01-19 05:23:32 +0200 | [diff] [blame] | 410 | default "" |
| 411 | ---help--- |
| 412 | This is one of the SPI communication pins, involved in setting up a |
| 413 | working LCD configuration. The exact role of SPI may differ for |
| 414 | different hardware setups. The option takes a string in the format |
| 415 | understood by 'name_to_gpio' function, e.g. PH1 for pin 1 of port H. |
| 416 | |
| 417 | config VIDEO_LCD_SPI_MISO |
| 418 | string "SPI MISO pin for LCD related config job (optional)" |
| 419 | depends on VIDEO_LCD_SSD2828 |
| 420 | default "" |
| 421 | ---help--- |
| 422 | This is one of the SPI communication pins, involved in setting up a |
| 423 | working LCD configuration. The exact role of SPI may differ for |
| 424 | different hardware setups. If wired up, this pin may provide additional |
| 425 | useful functionality. Such as bi-directional communication with the |
| 426 | hardware and LCD panel id retrieval (if the panel can report it). The |
| 427 | option takes a string in the format understood by 'name_to_gpio' |
| 428 | function, e.g. PH1 for pin 1 of port H. |
Simon Glass | 06679ad | 2015-04-14 21:03:38 -0600 | [diff] [blame] | 429 | |
Neil Armstrong | add986c | 2018-07-24 17:45:28 +0200 | [diff] [blame] | 430 | source "drivers/video/meson/Kconfig" |
| 431 | |
Stefan Roese | ab91fd5 | 2016-01-20 08:13:28 +0100 | [diff] [blame] | 432 | config VIDEO_MVEBU |
| 433 | bool "Armada XP LCD controller" |
| 434 | default n |
| 435 | ---help--- |
| 436 | Support for the LCD controller integrated in the Marvell |
| 437 | Armada XP SoC. |
| 438 | |
Adam Ford | 60a59d4 | 2018-08-02 08:50:20 -0500 | [diff] [blame] | 439 | config VIDEO_OMAP3 |
| 440 | bool "Enable OMAP3+ DSS Support" |
| 441 | depends on ARCH_OMAP2PLUS |
| 442 | help |
| 443 | This enables the Display subsystem (DSS) on OMAP3+ boards. |
| 444 | |
Anatolij Gustschin | 4601eb4 | 2016-01-25 17:17:22 +0100 | [diff] [blame] | 445 | config I2C_EDID |
| 446 | bool "Enable EDID library" |
Anatolij Gustschin | 4601eb4 | 2016-01-25 17:17:22 +0100 | [diff] [blame] | 447 | default n |
| 448 | help |
| 449 | This enables library for accessing EDID data from an LCD panel. |
| 450 | |
Simon Glass | 7d3d776 | 2016-01-21 19:45:00 -0700 | [diff] [blame] | 451 | config DISPLAY |
| 452 | bool "Enable Display support" |
| 453 | depends on DM |
Anatolij Gustschin | 4601eb4 | 2016-01-25 17:17:22 +0100 | [diff] [blame] | 454 | default n |
| 455 | select I2C_EDID |
Simon Glass | 06679ad | 2015-04-14 21:03:38 -0600 | [diff] [blame] | 456 | help |
Simon Glass | 7d3d776 | 2016-01-21 19:45:00 -0700 | [diff] [blame] | 457 | This supports drivers that provide a display, such as eDP (Embedded |
| 458 | DisplayPort) and HDMI (High Definition Multimedia Interface). |
| 459 | The devices provide a simple interface to start up the display, |
| 460 | read display information and enable it. |
Simon Glass | 3ef2a72 | 2015-04-14 21:03:42 -0600 | [diff] [blame] | 461 | |
Liviu Dudau | 3396710 | 2018-09-28 13:49:31 +0100 | [diff] [blame] | 462 | config NXP_TDA19988 |
| 463 | bool "Enable NXP TDA19988 support" |
| 464 | depends on DISPLAY |
| 465 | default n |
| 466 | help |
| 467 | This enables support for the NXP TDA19988 HDMI encoder. This encoder |
| 468 | will convert RGB data streams into HDMI-encoded signals. |
| 469 | |
Songjun Wu | 72ac56a | 2017-04-11 16:33:30 +0800 | [diff] [blame] | 470 | config ATMEL_HLCD |
| 471 | bool "Enable ATMEL video support using HLCDC" |
| 472 | depends on DM_VIDEO |
| 473 | help |
| 474 | HLCDC supports video output to an attached LCD panel. |
| 475 | |
Dario Binacchi | 017b469 | 2020-02-22 14:05:45 +0100 | [diff] [blame] | 476 | config AM335X_LCD |
| 477 | bool "Enable AM335x video support" |
| 478 | depends on DM_VIDEO |
| 479 | help |
| 480 | Supports video output to an attached LCD panel. |
| 481 | |
Mario Six | c13ee19 | 2018-08-09 14:51:23 +0200 | [diff] [blame] | 482 | config LOGICORE_DP_TX |
| 483 | bool "Enable Logicore DP TX driver" |
| 484 | depends on DISPLAY |
| 485 | help |
| 486 | Enable the driver for the transmitter part of the Xilinx LogiCORE |
| 487 | DisplayPort, a IP core for Xilinx FPGAs that implements a DisplayPort |
| 488 | video interface as defined by VESA DisplayPort v1.2. |
| 489 | |
| 490 | Note that this is a pure transmitter device, and has no display |
| 491 | capabilities by itself. |
| 492 | |
Simon Glass | dec49b7 | 2016-03-11 22:07:30 -0700 | [diff] [blame] | 493 | config VIDEO_BROADWELL_IGD |
| 494 | bool "Enable Intel Broadwell integrated graphics device" |
| 495 | depends on X86 |
| 496 | help |
Simon Glass | a3fdd00 | 2016-10-05 20:42:14 -0600 | [diff] [blame] | 497 | This enables support for integrated graphics on Intel broadwell |
Simon Glass | dec49b7 | 2016-03-11 22:07:30 -0700 | [diff] [blame] | 498 | devices. Initialisation is mostly performed by a VGA boot ROM, with |
| 499 | some setup handled by U-Boot itself. The graphics adaptor works as |
| 500 | a VESA device and supports LCD panels, eDP and LVDS outputs. |
| 501 | Configuration of most aspects of device operation is performed using |
| 502 | a special tool which configures the VGA ROM, but the graphics |
| 503 | resolution can be selected in U-Boot. |
| 504 | |
Simon Glass | 03f2a51 | 2016-10-05 20:42:15 -0600 | [diff] [blame] | 505 | config VIDEO_IVYBRIDGE_IGD |
| 506 | bool "Enable Intel Ivybridge integration graphics support" |
| 507 | depends on X86 |
| 508 | help |
| 509 | This enables support for integrated graphics on Intel ivybridge |
| 510 | devices. Initialisation is mostly performed by a VGA boot ROM, with |
| 511 | some setup handled by U-Boot itself. The graphics adaptor works as |
| 512 | a VESA device and supports LCD panels, eDP and LVDS outputs. |
| 513 | Configuration of most aspects of device operation is performed using |
| 514 | a special tool which configures the VGA ROM, but the graphics |
| 515 | resolution can be selected in U-Boot. |
| 516 | |
Sanchayan Maity | e15479b | 2017-04-11 11:12:09 +0530 | [diff] [blame] | 517 | config VIDEO_FSL_DCU_FB |
| 518 | bool "Enable Freescale Display Control Unit" |
Igor Opaniuk | 295ef9d | 2019-06-10 14:47:50 +0300 | [diff] [blame] | 519 | depends on VIDEO || DM_VIDEO |
Sanchayan Maity | e15479b | 2017-04-11 11:12:09 +0530 | [diff] [blame] | 520 | help |
| 521 | This enables support for Freescale Display Control Unit (DCU4) |
| 522 | module found on Freescale Vybrid and QorIQ family of SoCs. |
| 523 | |
Stefan Agner | ec95423 | 2017-04-11 11:12:10 +0530 | [diff] [blame] | 524 | config VIDEO_FSL_DCU_MAX_FB_SIZE_MB |
| 525 | int "Freescale DCU framebuffer size" |
| 526 | depends on VIDEO_FSL_DCU_FB |
| 527 | default 4194304 |
| 528 | help |
| 529 | Set maximum framebuffer size to be used for Freescale Display |
| 530 | Controller Unit (DCU4). |
| 531 | |
eric.gao@rock-chips.com | 735ddea | 2017-04-17 22:24:23 +0800 | [diff] [blame] | 532 | source "drivers/video/rockchip/Kconfig" |
Simon Glass | 0139ae6 | 2016-01-21 19:45:03 -0700 | [diff] [blame] | 533 | |
Liviu Dudau | 8373ed3 | 2018-09-28 13:50:53 +0100 | [diff] [blame] | 534 | config VIDEO_ARM_MALIDP |
| 535 | bool "Enable Arm Mali Display Processor support" |
| 536 | depends on DM_VIDEO && OF_CONTROL |
| 537 | select VEXPRESS_CLK |
| 538 | help |
| 539 | This enables support for Arm Ltd Mali Display Processors from |
| 540 | the DP500, DP550 and DP650 family. |
| 541 | |
Simon Glass | 161eea7 | 2016-01-18 19:52:24 -0700 | [diff] [blame] | 542 | config VIDEO_SANDBOX_SDL |
| 543 | bool "Enable sandbox video console using SDL" |
| 544 | depends on SANDBOX |
| 545 | help |
| 546 | When using sandbox you can enable an emulated LCD display which |
| 547 | appears as an SDL (Simple DirectMedia Layer) window. This is a |
| 548 | console device and can display stdout output. Within U-Boot is is |
| 549 | a normal bitmap display and can display images as well as text. |
| 550 | |
Philippe CORNU | dcbad9a | 2017-08-03 12:36:08 +0200 | [diff] [blame] | 551 | source "drivers/video/stm32/Kconfig" |
| 552 | |
Simon Glass | 89c0346 | 2016-01-30 16:37:51 -0700 | [diff] [blame] | 553 | config VIDEO_TEGRA20 |
| 554 | bool "Enable LCD support on Tegra20" |
Simon Glass | 54832f2 | 2016-01-30 16:37:54 -0700 | [diff] [blame] | 555 | depends on OF_CONTROL |
Simon Glass | 89c0346 | 2016-01-30 16:37:51 -0700 | [diff] [blame] | 556 | help |
| 557 | Tegra20 supports video output to an attached LCD panel as well as |
| 558 | other options such as HDMI. Only the LCD is supported in U-Boot. |
| 559 | This option enables this support which can be used on devices which |
| 560 | have an LCD display connected. |
| 561 | |
Simon Glass | 3ef2a72 | 2015-04-14 21:03:42 -0600 | [diff] [blame] | 562 | config VIDEO_TEGRA124 |
| 563 | bool "Enable video support on Tegra124" |
Simon Glass | fad7218 | 2016-01-30 16:37:50 -0700 | [diff] [blame] | 564 | depends on DM_VIDEO |
Simon Glass | 3ef2a72 | 2015-04-14 21:03:42 -0600 | [diff] [blame] | 565 | help |
| 566 | Tegra124 supports many video output options including eDP and |
| 567 | HDMI. At present only eDP is supported by U-Boot. This option |
| 568 | enables this support which can be used on devices which |
| 569 | have an eDP display connected. |
Simon Glass | 7cf1757 | 2015-07-02 18:16:08 -0600 | [diff] [blame] | 570 | |
| 571 | source "drivers/video/bridge/Kconfig" |
Masahiro Yamada | cc85b7b | 2015-07-26 02:46:26 +0900 | [diff] [blame] | 572 | |
Anatolij Gustschin | 411e73d | 2019-03-18 23:29:32 +0100 | [diff] [blame] | 573 | source "drivers/video/imx/Kconfig" |
Anatolij Gustschin | 983e2f2a | 2019-03-18 23:29:31 +0100 | [diff] [blame] | 574 | |
Simon Glass | e9d797a | 2016-10-17 20:12:40 -0600 | [diff] [blame] | 575 | config VIDEO |
| 576 | bool "Enable legacy video support" |
| 577 | depends on !DM_VIDEO |
| 578 | help |
| 579 | Define this for video support, without using driver model. Some |
| 580 | drivers use this because they are not yet converted to driver |
| 581 | model. Video drivers typically provide a colour text console and |
| 582 | cursor. |
| 583 | |
Simon Glass | e64c724 | 2016-10-17 20:12:41 -0600 | [diff] [blame] | 584 | config CFB_CONSOLE |
| 585 | bool "Enable colour frame buffer console" |
| 586 | depends on VIDEO |
| 587 | default y if VIDEO |
| 588 | help |
| 589 | Enables the colour frame buffer driver. This supports colour |
| 590 | output on a bitmap display from an in-memory frame buffer. |
| 591 | Several colour devices are supported along with various options to |
| 592 | adjust the supported features. The driver is implemented in |
| 593 | cfb_console.c |
| 594 | |
| 595 | The following defines are needed (cf. smiLynxEM, i8042) |
| 596 | VIDEO_FB_LITTLE_ENDIAN graphic memory organisation |
| 597 | (default big endian) |
| 598 | VIDEO_HW_RECTFILL graphic chip supports |
| 599 | rectangle fill (cf. smiLynxEM) |
| 600 | VIDEO_HW_BITBLT graphic chip supports |
| 601 | bit-blit (cf. smiLynxEM) |
| 602 | VIDEO_VISIBLE_COLS visible pixel columns (cols=pitch) |
| 603 | VIDEO_VISIBLE_ROWS visible pixel rows |
| 604 | VIDEO_PIXEL_SIZE bytes per pixel |
| 605 | VIDEO_DATA_FORMAT graphic data format |
| 606 | (0-5, cf. cfb_console.c) |
| 607 | VIDEO_FB_ADRS framebuffer address |
| 608 | VIDEO_KBD_INIT_FCT keyboard int fct (i.e. rx51_kp_init()) |
| 609 | VIDEO_TSTC_FCT test char fct (i.e. rx51_kp_tstc) |
| 610 | VIDEO_GETC_FCT get char fct (i.e. rx51_kp_getc) |
| 611 | CONFIG_VIDEO_LOGO display Linux logo in upper left corner |
| 612 | CONFIG_VIDEO_BMP_LOGO use bmp_logo.h instead of linux_logo.h |
| 613 | for logo. Requires CONFIG_VIDEO_LOGO |
| 614 | CONFIG_CONSOLE_EXTRA_INFO |
| 615 | additional board info beside |
| 616 | the logo |
| 617 | CONFIG_HIDE_LOGO_VERSION |
| 618 | do not display bootloader |
| 619 | version string |
| 620 | |
| 621 | When CONFIG_CFB_CONSOLE is defined, the video console is the |
| 622 | default console. The serial console can be forced by setting the |
| 623 | environment 'console=serial'. |
| 624 | |
Simon Glass | 8d0efc1 | 2016-10-17 20:12:42 -0600 | [diff] [blame] | 625 | config CFB_CONSOLE_ANSI |
| 626 | bool "Support ANSI escape sequences" |
| 627 | depends on CFB_CONSOLE |
| 628 | help |
| 629 | This allows the colour buffer frame buffer driver to support |
| 630 | a limited number of ANSI escape sequences (cursor control, |
| 631 | erase functions and limited graphics rendition control). Normal |
| 632 | output from U-Boot will pass through this filter. |
| 633 | |
Simon Glass | dcff692 | 2016-10-17 20:12:49 -0600 | [diff] [blame] | 634 | config VGA_AS_SINGLE_DEVICE |
| 635 | bool "Set the video as an output-only device" |
| 636 | depends on CFB_CONSOLE |
| 637 | default y |
| 638 | help |
| 639 | If enable the framebuffer device will be initialized as an |
| 640 | output-only device. The Keyboard driver will not be set up. This |
| 641 | may be used if you have no keyboard device, or more than one |
| 642 | (USB Keyboard, AT Keyboard). |
| 643 | |
Simon Glass | 706605f | 2016-10-17 20:12:51 -0600 | [diff] [blame] | 644 | config VIDEO_SW_CURSOR |
| 645 | bool "Enable a software cursor" |
| 646 | depends on CFB_CONSOLE |
| 647 | default y if CFB_CONSOLE |
| 648 | help |
| 649 | This draws a cursor after the last character. No blinking is |
| 650 | provided. This makes it possible to see the current cursor |
| 651 | position when entering text on the console. It is recommended to |
| 652 | enable this. |
| 653 | |
Simon Glass | 5a77235 | 2016-10-17 20:12:53 -0600 | [diff] [blame] | 654 | config CONSOLE_EXTRA_INFO |
| 655 | bool "Display additional board information" |
| 656 | depends on CFB_CONSOLE |
| 657 | help |
| 658 | Display additional board information strings that normally go to |
| 659 | the serial port. When this option is enabled, a board-specific |
| 660 | function video_get_info_str() is called to get the string for |
| 661 | each line of the display. The function should return the string, |
| 662 | which can be empty if there is nothing to display for that line. |
| 663 | |
Simon Glass | d76f29a | 2016-10-17 20:12:57 -0600 | [diff] [blame] | 664 | config CONSOLE_SCROLL_LINES |
| 665 | int "Number of lines to scroll the console by" |
| 666 | depends on CFB_CONSOLE || DM_VIDEO || LCD |
| 667 | default 1 |
| 668 | help |
| 669 | When the console need to be scrolled, this is the number of |
| 670 | lines to scroll by. It defaults to 1. Increasing this makes the |
| 671 | console jump but can help speed up operation when scrolling |
| 672 | is slow. |
| 673 | |
Simon Glass | 884889d | 2016-10-17 20:12:44 -0600 | [diff] [blame] | 674 | config SYS_CONSOLE_BG_COL |
| 675 | hex "Background colour" |
Bin Meng | fb4beba | 2017-08-03 21:56:50 -0700 | [diff] [blame] | 676 | depends on CFB_CONSOLE |
Simon Glass | 884889d | 2016-10-17 20:12:44 -0600 | [diff] [blame] | 677 | default 0x00 |
| 678 | help |
| 679 | Defines the background colour for the console. The value is from |
| 680 | 0x00 to 0xff and the meaning depends on the graphics card. |
| 681 | Typically, 0x00 means black and 0xff means white. Do not set |
| 682 | the background and foreground to the same colour or you will see |
| 683 | nothing. |
| 684 | |
| 685 | config SYS_CONSOLE_FG_COL |
| 686 | hex "Foreground colour" |
Bin Meng | fb4beba | 2017-08-03 21:56:50 -0700 | [diff] [blame] | 687 | depends on CFB_CONSOLE |
Simon Glass | 884889d | 2016-10-17 20:12:44 -0600 | [diff] [blame] | 688 | default 0xa0 |
| 689 | help |
| 690 | Defines the foreground colour for the console. The value is from |
| 691 | 0x00 to 0xff and the meaning depends on the graphics card. |
| 692 | Typically, 0x00 means black and 0xff means white. Do not set |
| 693 | the background and foreground to the same colour or you will see |
| 694 | nothing. |
| 695 | |
Simon Glass | 169bb3b | 2016-10-17 20:12:56 -0600 | [diff] [blame] | 696 | config LCD |
| 697 | bool "Enable legacy LCD support" |
| 698 | help |
| 699 | Define this to enable LCD support (for output to LCD display). |
| 700 | You will also need to select an LCD driver using an additional |
| 701 | CONFIG option. See the README for details. Drives which have been |
| 702 | converted to driver model will instead used CONFIG_DM_VIDEO. |
| 703 | |
Philipp Tomsich | 3a53b3e | 2017-05-05 21:48:26 +0200 | [diff] [blame] | 704 | config VIDEO_DW_HDMI |
| 705 | bool |
| 706 | help |
| 707 | Enables the common driver code for the Designware HDMI TX |
| 708 | block found in SoCs from various vendors. |
| 709 | As this does not provide any functionality by itself (but |
| 710 | rather requires a SoC-specific glue driver to call it), it |
| 711 | can not be enabled from the configuration menu. |
| 712 | |
Yannick Fertré | 9712c82 | 2019-10-07 15:29:05 +0200 | [diff] [blame] | 713 | config VIDEO_DSI_HOST_SANDBOX |
| 714 | bool "Enable sandbox for dsi host" |
| 715 | depends on SANDBOX |
| 716 | select VIDEO_MIPI_DSI |
| 717 | help |
| 718 | Enable support for sandbox dsi host device used for testing |
| 719 | purposes. |
| 720 | Display Serial Interface (DSI) defines a serial bus and |
| 721 | a communication protocol between the host and the device |
| 722 | (panel, bridge). |
| 723 | |
Yannick Fertré | 764af46 | 2019-10-07 15:29:06 +0200 | [diff] [blame] | 724 | config VIDEO_DW_MIPI_DSI |
| 725 | bool |
| 726 | select VIDEO_MIPI_DSI |
| 727 | help |
| 728 | Enables the common driver code for the Synopsis Designware |
| 729 | MIPI DSI block found in SoCs from various vendors. |
| 730 | As this does not provide any functionality by itself (but |
| 731 | rather requires a SoC-specific glue driver to call it), it |
| 732 | can not be enabled from the configuration menu. |
| 733 | |
Rob Clark | cf7ab0c | 2017-08-03 12:47:00 -0400 | [diff] [blame] | 734 | config VIDEO_SIMPLE |
| 735 | bool "Simple display driver for preconfigured display" |
| 736 | help |
| 737 | Enables a simple generic display driver which utilizes the |
| 738 | simple-framebuffer devicetree bindings. |
| 739 | |
| 740 | This driver assumes that the display hardware has been initialized |
| 741 | before u-boot starts, and u-boot will simply render to the pre- |
| 742 | allocated frame buffer surface. |
| 743 | |
Icenowy Zheng | 60e4b8f | 2017-10-26 11:14:46 +0800 | [diff] [blame] | 744 | config VIDEO_DT_SIMPLEFB |
| 745 | bool "Enable SimpleFB support for passing framebuffer to OS" |
| 746 | help |
| 747 | Enables the code to pass the framebuffer to the kernel as a |
| 748 | simple framebuffer in the device tree. |
| 749 | The video output is initialized by U-Boot, and kept by the |
| 750 | kernel. |
| 751 | |
Mario Six | 1b77320 | 2018-09-27 09:19:29 +0200 | [diff] [blame] | 752 | config OSD |
| 753 | bool "Enable OSD support" |
| 754 | depends on DM |
| 755 | default n |
| 756 | help |
| 757 | This supports drivers that provide a OSD (on-screen display), which |
| 758 | is a (usually text-oriented) graphics buffer to show information on |
| 759 | a display. |
Mario Six | 8ea19da | 2018-09-27 09:19:30 +0200 | [diff] [blame] | 760 | |
Mario Six | 02ad6fb | 2018-09-27 09:19:31 +0200 | [diff] [blame] | 761 | config SANDBOX_OSD |
| 762 | bool "Enable sandbox OSD" |
| 763 | depends on OSD |
| 764 | help |
| 765 | Enable support for sandbox OSD device used for testing purposes. |
| 766 | |
Mario Six | 8ea19da | 2018-09-27 09:19:30 +0200 | [diff] [blame] | 767 | config IHS_VIDEO_OUT |
| 768 | bool "Enable IHS video out driver" |
| 769 | depends on OSD |
| 770 | help |
| 771 | Enable support for the gdsys Integrated Hardware Systems (IHS) video |
| 772 | out On-screen Display (OSD) used on gdsys FPGAs to control dynamic |
| 773 | textual overlays of the display outputs. |
| 774 | |
Masahiro Yamada | cc85b7b | 2015-07-26 02:46:26 +0900 | [diff] [blame] | 775 | endmenu |