Convert CONFIG_CONSOLE_EXTRA_INFO to Kconfig
[platform/kernel/u-boot.git] / drivers / video / Kconfig
index ccbd7e2..fa9f9fa 100644 (file)
-config VIDEO_X86
-       bool "Enable x86 video driver support"
-       depends on X86
+#
+# Video configuration
+#
+
+menu "Graphics support"
+
+config DM_VIDEO
+       bool "Enable driver model support for LCD/video"
+       depends on DM
+       help
+         This enables driver model for LCD and video devices. These support
+         a bitmap display of various sizes and depths which can be drawn on
+         to display a command-line console or splash screen. Enabling this
+         option compiles in the video uclass and routes all LCD/video access
+         through this.
+
+config VIDEO_BPP8
+       bool "Support 8-bit-per-pixel displays"
+       depends on DM_VIDEO
+       default y if DM_VIDEO
+       help
+         Support drawing text and bitmaps onto a 8-bit-per-pixel display.
+         Enabling this will include code to support this display. Without
+         this option, such displays will not be supported and console output
+         will be empty.
+
+config VIDEO_BPP16
+       bool "Support 16-bit-per-pixel displays"
+       depends on DM_VIDEO
+       default y if DM_VIDEO
+       help
+         Support drawing text and bitmaps onto a 16-bit-per-pixel display.
+         Enabling this will include code to support this display. Without
+         this option, such displays will not be supported and console output
+         will be empty.
+
+config VIDEO_BPP32
+       bool "Support 32-bit-per-pixel displays"
+       depends on DM_VIDEO
+       default y if DM_VIDEO
+       help
+         Support drawing text and bitmaps onto a 32-bit-per-pixel display.
+         Enabling this will include code to support this display. Without
+         this option, such displays will not be supported and console output
+         will be empty.
+
+config CONSOLE_NORMAL
+       bool "Support a simple text console"
+       depends on DM_VIDEO
+       default y if DM_VIDEO
+       help
+         Support drawing text on the frame buffer console so that it can be
+         used as a console. Rotation is not supported by this driver (see
+         CONFIG_CONSOLE_ROTATION for that). A built-in 8x16 font is used
+         for the display.
+
+config CONSOLE_ROTATION
+       bool "Support rotated displays"
+       depends on DM_VIDEO
+       help
+         Sometimes, for example if the display is mounted in portrait
+         mode or even if it's mounted landscape but rotated by 180degree,
+         we need to rotate our content of the display relative to the
+         framebuffer, so that user can read the messages which are
+         printed out. Enable this option to include a text driver which can
+         support this. The rotation is set by the 'rot' parameter in
+         struct video_priv: 0=unrotated, 1=90 degrees clockwise, 2=180
+         degrees, 3=270 degrees.
+
+config CONSOLE_TRUETYPE
+       bool "Support a console that uses TrueType fonts"
+       depends on DM_VIDEO
+       help
+         TrueTrype fonts can provide outline-drawing capability rather than
+         needing to provide a bitmap for each font and size that is needed.
+         With this option you can adjust the text size and use a variety of
+         fonts. Note that this is noticeably slower than with normal console.
+
+config CONSOLE_TRUETYPE_SIZE
+       int "TrueType font size"
+       depends on CONSOLE_TRUETYPE
+       default 18
+       help
+         This sets the font size for the console. The size is measured in
+         pixels and is the nominal height of a character. Note that fonts
+         are commonly measured in 'points', being 1/72 inch (about 3.52mm).
+         However that measurement depends on the size of your display and
+         there is no standard display density. At present there is not a
+         method to select the display's physical size, which would allow
+         U-Boot to calculate the correct font size.
+
+source "drivers/video/fonts/Kconfig"
+
+config VIDCONSOLE_AS_LCD
+       bool "Use 'vidconsole' when 'lcd' is seen in stdout"
+       depends on DM_VIDEO
+       help
+         This is a work-around for boards which have 'lcd' in their stdout
+         environment variable, but have moved to use driver model for video.
+         In this case the console will no-longer work. While it is possible
+         to update the environment, the breakage may be confusing for users.
+         This option will be removed around the end of 2016.
+
+config VIDEO_COREBOOT
+       bool "Enable coreboot framebuffer driver support"
+       depends on X86 && SYS_COREBOOT
+       help
+         Turn on this option to enable a framebuffer driver when U-Boot is
+         loaded by coreboot where the graphics device is configured by
+         coreboot already. This can in principle be used with any platform
+         that coreboot supports.
+
+config VIDEO_VESA
+       bool "Enable VESA video driver support"
        default n
        help
          Turn on this option to enable a very simple driver which uses vesa
          to discover the video mode and then provides a frame buffer for use
-         by U-Boot.
+         by U-Boot. This can in principle be used with any platform that
+         supports PCI and video cards that support VESA BIOS Extension (VBE).
+
+config FRAMEBUFFER_SET_VESA_MODE
+       bool "Set framebuffer graphics resolution"
+       depends on VIDEO_VESA || VIDEO_BROADWELL_IGD
+       help
+         Set VESA/native framebuffer mode (needed for bootsplash and graphical
+         framebuffer console)
+
+choice
+       prompt "framebuffer graphics resolution"
+       default FRAMEBUFFER_VESA_MODE_117
+       depends on FRAMEBUFFER_SET_VESA_MODE
+       help
+         This option sets the resolution used for the U-Boot framebuffer (and
+         bootsplash screen).
+
+config FRAMEBUFFER_VESA_MODE_100
+       bool "640x400 256-color"
+
+config FRAMEBUFFER_VESA_MODE_101
+       bool "640x480 256-color"
+
+config FRAMEBUFFER_VESA_MODE_102
+       bool "800x600 16-color"
+
+config FRAMEBUFFER_VESA_MODE_103
+       bool "800x600 256-color"
+
+config FRAMEBUFFER_VESA_MODE_104
+       bool "1024x768 16-color"
+
+config FRAMEBUFFER_VESA_MODE_105
+       bool "1024x768 256-color"
+
+config FRAMEBUFFER_VESA_MODE_106
+       bool "1280x1024 16-color"
+
+config FRAMEBUFFER_VESA_MODE_107
+       bool "1280x1024 256-color"
+
+config FRAMEBUFFER_VESA_MODE_108
+       bool "80x60 text"
+
+config FRAMEBUFFER_VESA_MODE_109
+       bool "132x25 text"
+
+config FRAMEBUFFER_VESA_MODE_10A
+       bool "132x43 text"
+
+config FRAMEBUFFER_VESA_MODE_10B
+       bool "132x50 text"
+
+config FRAMEBUFFER_VESA_MODE_10C
+       bool "132x60 text"
+
+config FRAMEBUFFER_VESA_MODE_10D
+       bool "320x200 32k-color (1:5:5:5)"
+
+config FRAMEBUFFER_VESA_MODE_10E
+       bool "320x200 64k-color (5:6:5)"
+
+config FRAMEBUFFER_VESA_MODE_10F
+       bool "320x200 16.8M-color (8:8:8)"
+
+config FRAMEBUFFER_VESA_MODE_110
+       bool "640x480 32k-color (1:5:5:5)"
+
+config FRAMEBUFFER_VESA_MODE_111
+       bool "640x480 64k-color (5:6:5)"
+
+config FRAMEBUFFER_VESA_MODE_112
+       bool "640x480 16.8M-color (8:8:8)"
+
+config FRAMEBUFFER_VESA_MODE_113
+       bool "800x600 32k-color (1:5:5:5)"
+
+config FRAMEBUFFER_VESA_MODE_114
+       bool "800x600 64k-color (5:6:5)"
+
+config FRAMEBUFFER_VESA_MODE_115
+       bool "800x600 16.8M-color (8:8:8)"
+
+config FRAMEBUFFER_VESA_MODE_116
+       bool "1024x768 32k-color (1:5:5:5)"
+
+config FRAMEBUFFER_VESA_MODE_117
+       bool "1024x768 64k-color (5:6:5)"
+
+config FRAMEBUFFER_VESA_MODE_118
+       bool "1024x768 16.8M-color (8:8:8)"
+
+config FRAMEBUFFER_VESA_MODE_119
+       bool "1280x1024 32k-color (1:5:5:5)"
+
+config FRAMEBUFFER_VESA_MODE_11A
+       bool "1280x1024 64k-color (5:6:5)"
+
+config FRAMEBUFFER_VESA_MODE_11B
+       bool "1280x1024 16.8M-color (8:8:8)"
+
+config FRAMEBUFFER_VESA_MODE_USER
+       bool "Manually select VESA mode"
+
+endchoice
+
+# Map the config names to an integer (KB).
+config FRAMEBUFFER_VESA_MODE
+       prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
+       hex
+       default 0x100 if FRAMEBUFFER_VESA_MODE_100
+       default 0x101 if FRAMEBUFFER_VESA_MODE_101
+       default 0x102 if FRAMEBUFFER_VESA_MODE_102
+       default 0x103 if FRAMEBUFFER_VESA_MODE_103
+       default 0x104 if FRAMEBUFFER_VESA_MODE_104
+       default 0x105 if FRAMEBUFFER_VESA_MODE_105
+       default 0x106 if FRAMEBUFFER_VESA_MODE_106
+       default 0x107 if FRAMEBUFFER_VESA_MODE_107
+       default 0x108 if FRAMEBUFFER_VESA_MODE_108
+       default 0x109 if FRAMEBUFFER_VESA_MODE_109
+       default 0x10A if FRAMEBUFFER_VESA_MODE_10A
+       default 0x10B if FRAMEBUFFER_VESA_MODE_10B
+       default 0x10C if FRAMEBUFFER_VESA_MODE_10C
+       default 0x10D if FRAMEBUFFER_VESA_MODE_10D
+       default 0x10E if FRAMEBUFFER_VESA_MODE_10E
+       default 0x10F if FRAMEBUFFER_VESA_MODE_10F
+       default 0x110 if FRAMEBUFFER_VESA_MODE_110
+       default 0x111 if FRAMEBUFFER_VESA_MODE_111
+       default 0x112 if FRAMEBUFFER_VESA_MODE_112
+       default 0x113 if FRAMEBUFFER_VESA_MODE_113
+       default 0x114 if FRAMEBUFFER_VESA_MODE_114
+       default 0x115 if FRAMEBUFFER_VESA_MODE_115
+       default 0x116 if FRAMEBUFFER_VESA_MODE_116
+       default 0x117 if FRAMEBUFFER_VESA_MODE_117
+       default 0x118 if FRAMEBUFFER_VESA_MODE_118
+       default 0x119 if FRAMEBUFFER_VESA_MODE_119
+       default 0x11A if FRAMEBUFFER_VESA_MODE_11A
+       default 0x11B if FRAMEBUFFER_VESA_MODE_11B
+       default 0x117 if FRAMEBUFFER_VESA_MODE_USER
+
+config VIDEO_LCD_ANX9804
+       bool "ANX9804 bridge chip"
+       default n
+       ---help---
+       Support for the ANX9804 bridge chip, which can take pixel data coming
+       from a parallel LCD interface and translate it on the fy into a DP
+       interface for driving eDP TFT displays. It uses I2C for configuration.
 
 config VIDEO_LCD_SSD2828
        bool "SSD2828 bridge chip"
@@ -87,3 +345,239 @@ config VIDEO_LCD_SPI_MISO
        hardware and LCD panel id retrieval (if the panel can report it). The
        option takes a string in the format understood by 'name_to_gpio'
        function, e.g. PH1 for pin 1 of port H.
+
+config VIDEO_MVEBU
+       bool "Armada XP LCD controller"
+       default n
+       ---help---
+       Support for the LCD controller integrated in the Marvell
+       Armada XP SoC.
+
+config I2C_EDID
+       bool "Enable EDID library"
+       depends on DM_I2C
+       default n
+       help
+          This enables library for accessing EDID data from an LCD panel.
+
+config DISPLAY
+       bool "Enable Display support"
+       depends on DM
+       default n
+       select I2C_EDID
+       help
+          This supports drivers that provide a display, such as eDP (Embedded
+          DisplayPort) and HDMI (High Definition Multimedia Interface).
+          The devices provide a simple interface to start up the display,
+          read display information and enable it.
+
+config VIDEO_BROADWELL_IGD
+       bool "Enable Intel Broadwell integrated graphics device"
+       depends on X86
+       help
+         This enables support for integrated graphics on Intel broadwell
+         devices. Initialisation is mostly performed by a VGA boot ROM, with
+         some setup handled by U-Boot itself. The graphics adaptor works as
+         a VESA device and supports LCD panels, eDP and LVDS outputs.
+         Configuration of most aspects of device operation is performed using
+         a special tool which configures the VGA ROM, but the graphics
+         resolution can be selected in U-Boot.
+
+config VIDEO_IVYBRIDGE_IGD
+       bool "Enable Intel Ivybridge integration graphics support"
+       depends on X86
+       help
+         This enables support for integrated graphics on Intel ivybridge
+         devices. Initialisation is mostly performed by a VGA boot ROM, with
+         some setup handled by U-Boot itself. The graphics adaptor works as
+         a VESA device and supports LCD panels, eDP and LVDS outputs.
+         Configuration of most aspects of device operation is performed using
+         a special tool which configures the VGA ROM, but the graphics
+         resolution can be selected in U-Boot.
+
+config VIDEO_ROCKCHIP
+       bool "Enable Rockchip video support"
+       depends on DM_VIDEO
+       help
+          Rockchip SoCs provide video output capabilities for High-Definition
+          Multimedia Interface (HDMI), Low-voltage Differential Signalling
+          (LVDS), embedded DisplayPort (eDP) and Display Serial Interface
+          (DSI). This driver supports the on-chip video output device, and
+          targets the Rockchip RK3288.
+
+config VIDEO_SANDBOX_SDL
+       bool "Enable sandbox video console using SDL"
+       depends on SANDBOX
+       help
+         When using sandbox you can enable an emulated LCD display which
+         appears as an SDL (Simple DirectMedia Layer) window. This is a
+         console device and can display stdout output. Within U-Boot is is
+         a normal bitmap display and can display images as well as text.
+
+config VIDEO_TEGRA20
+       bool "Enable LCD support on Tegra20"
+       depends on OF_CONTROL
+       help
+          Tegra20 supports video output to an attached LCD panel as well as
+          other options such as HDMI. Only the LCD is supported in U-Boot.
+          This option enables this support which can be used on devices which
+          have an LCD display connected.
+
+config VIDEO_TEGRA124
+       bool "Enable video support on Tegra124"
+       depends on DM_VIDEO
+       help
+          Tegra124 supports many video output options including eDP and
+          HDMI. At present only eDP is supported by U-Boot. This option
+          enables this support which can be used on devices which
+          have an eDP display connected.
+
+source "drivers/video/bridge/Kconfig"
+
+config VIDEO
+       bool "Enable legacy video support"
+       depends on !DM_VIDEO
+       help
+         Define this for video support, without using driver model. Some
+         drivers use this because they are not yet converted to driver
+         model. Video drivers typically provide a colour text console and
+         cursor.
+
+config CFB_CONSOLE
+       bool "Enable colour frame buffer console"
+       depends on VIDEO
+       default y if VIDEO
+       help
+         Enables the colour frame buffer driver. This supports colour
+         output on a bitmap display from an in-memory frame buffer.
+         Several colour devices are supported along with various options to
+         adjust the supported features. The driver is implemented in
+         cfb_console.c
+
+         The following defines are needed (cf. smiLynxEM, i8042)
+               VIDEO_FB_LITTLE_ENDIAN  graphic memory organisation
+                                       (default big endian)
+               VIDEO_HW_RECTFILL       graphic chip supports
+                                       rectangle fill (cf. smiLynxEM)
+               VIDEO_HW_BITBLT         graphic chip supports
+                                       bit-blit (cf. smiLynxEM)
+               VIDEO_VISIBLE_COLS      visible pixel columns (cols=pitch)
+               VIDEO_VISIBLE_ROWS      visible pixel rows
+               VIDEO_PIXEL_SIZE        bytes per pixel
+               VIDEO_DATA_FORMAT       graphic data format
+                                       (0-5, cf. cfb_console.c)
+               VIDEO_FB_ADRS           framebuffer address
+               VIDEO_KBD_INIT_FCT      keyboard int fct (i.e. rx51_kp_init())
+               VIDEO_TSTC_FCT          test char fct (i.e. rx51_kp_tstc)
+               VIDEO_GETC_FCT          get char fct (i.e. rx51_kp_getc)
+               CONFIG_VIDEO_LOGO       display Linux logo in upper left corner
+               CONFIG_VIDEO_BMP_LOGO   use bmp_logo.h instead of linux_logo.h
+                                       for logo. Requires CONFIG_VIDEO_LOGO
+               CONFIG_CONSOLE_EXTRA_INFO
+                                       additional board info beside
+                                       the logo
+               CONFIG_HIDE_LOGO_VERSION
+                                       do not display bootloader
+                                       version string
+
+         When CONFIG_CFB_CONSOLE is defined, the video console is the
+         default console. The serial console can be forced by setting the
+         environment 'console=serial'.
+
+config CFB_CONSOLE_ANSI
+       bool "Support ANSI escape sequences"
+       depends on CFB_CONSOLE
+       help
+         This allows the colour buffer frame buffer driver to support
+         a limited number of ANSI escape sequences (cursor control,
+         erase functions and limited graphics rendition control). Normal
+         output from U-Boot will pass through this filter.
+
+config VGA_AS_SINGLE_DEVICE
+       bool "Set the video as an output-only device"
+       depends on CFB_CONSOLE
+       default y
+       help
+         If enable the framebuffer device will be initialized as an
+         output-only device. The Keyboard driver will not be set up. This
+         may be used if you have no keyboard device, or more than one
+         (USB Keyboard, AT Keyboard).
+
+config VIDEO_SW_CURSOR
+       bool "Enable a software cursor"
+       depends on CFB_CONSOLE
+       default y if CFB_CONSOLE
+       help
+         This draws a cursor after the last character. No blinking is
+         provided. This makes it possible to see the current cursor
+         position when entering text on the console. It is recommended to
+         enable this.
+
+config CONSOLE_EXTRA_INFO
+       bool "Display additional board information"
+       depends on CFB_CONSOLE
+       help
+         Display additional board information strings that normally go to
+         the serial port. When this option is enabled, a board-specific
+         function video_get_info_str() is called to get the string for
+         each line of the display. The function should return the string,
+         which can be empty if there is nothing to display for that line.
+
+config VIDEO_CT69000
+       bool "Enable Chips & Technologies 69000 video driver"
+       depends on VIDEO
+       help
+         This enables a frame buffer driver for the Chips & Technologies
+         ct69000, a fairly old graphics device (circa 2000) which is used
+         on some hardware. It operates over the ISA bus, and supports
+         some acceleration features.
+
+         For the CT69000 and SMI_LYNXEM drivers, videomode is
+               selected via environment 'videomode'. Two different ways
+               are possible:
+               - "videomode=num"   'num' is a standard LiLo mode numbers.
+               Following standard modes are supported  (* is default):
+
+                     Colors    640x480 800x600 1024x768 1152x864 1280x1024
+               -------------+---------------------------------------------
+                     8 bits |  0x301*  0x303    0x305    0x161     0x307
+                    15 bits |  0x310   0x313    0x316    0x162     0x319
+                    16 bits |  0x311   0x314    0x317    0x163     0x31A
+                    24 bits |  0x312   0x315    0x318      ?       0x31B
+               -------------+---------------------------------------------
+               (i.e. setenv videomode 317; saveenv; reset;)
+
+               - "videomode=bootargs" all the video parameters are parsed
+               from the bootargs. (See drivers/video/videomodes.c)
+
+config SYS_CONSOLE_BG_COL
+       hex "Background colour"
+       depends on CFB_CONSOLE || VIDEO_CT69000
+       default 0x00
+       help
+         Defines the background colour for the console. The value is from
+         0x00 to 0xff and the meaning depends on the graphics card.
+         Typically, 0x00 means black and 0xff means white. Do not set
+         the background and foreground to the same colour or you will see
+         nothing.
+
+config SYS_CONSOLE_FG_COL
+       hex "Foreground colour"
+       depends on CFB_CONSOLE || VIDEO_CT69000
+       default 0xa0
+       help
+         Defines the foreground colour for the console. The value is from
+         0x00 to 0xff and the meaning depends on the graphics card.
+         Typically, 0x00 means black and 0xff means white. Do not set
+         the background and foreground to the same colour or you will see
+         nothing.
+
+config LCD
+       bool "Enable legacy LCD support"
+       help
+         Define this to enable LCD support (for output to LCD display).
+         You will also need to select an LCD driver using an additional
+         CONFIG option. See the README for details. Drives which have been
+         converted to driver model will instead used CONFIG_DM_VIDEO.
+
+endmenu