linux/drivers/video/fbdev/Kconfig
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0-only
   2#
   3# fbdev configuration
   4#
   5
   6config FB_CMDLINE
   7        bool
   8
   9config FB_NOTIFY
  10        bool
  11
  12menuconfig FB
  13        tristate "Support for frame buffer devices"
  14        select FB_CMDLINE
  15        select FB_NOTIFY
  16        help
  17          The frame buffer device provides an abstraction for the graphics
  18          hardware. It represents the frame buffer of some video hardware and
  19          allows application software to access the graphics hardware through
  20          a well-defined interface, so the software doesn't need to know
  21          anything about the low-level (hardware register) stuff.
  22
  23          Frame buffer devices work identically across the different
  24          architectures supported by Linux and make the implementation of
  25          application programs easier and more portable; at this point, an X
  26          server exists which uses the frame buffer device exclusively.
  27          On several non-X86 architectures, the frame buffer device is the
  28          only way to use the graphics hardware.
  29
  30          The device is accessed through special device nodes, usually located
  31          in the /dev directory, i.e. /dev/fb*.
  32
  33          You need an utility program called fbset to make full use of frame
  34          buffer devices. Please read <file:Documentation/fb/framebuffer.rst>
  35          and the Framebuffer-HOWTO at
  36          <http://www.munted.org.uk/programming/Framebuffer-HOWTO-1.3.html> for more
  37          information.
  38
  39          Say Y here and to the driver for your graphics board below if you
  40          are compiling a kernel for a non-x86 architecture.
  41
  42          If you are compiling for the x86 architecture, you can say Y if you
  43          want to play with it, but it is not essential. Please note that
  44          running graphical applications that directly touch the hardware
  45          (e.g. an accelerated X server) and that are not frame buffer
  46          device-aware may cause unexpected results. If unsure, say N.
  47
  48config FIRMWARE_EDID
  49        bool "Enable firmware EDID"
  50        depends on FB
  51        help
  52          This enables access to the EDID transferred from the firmware.
  53          On the i386, this is from the Video BIOS. Enable this if DDC/I2C
  54          transfers do not work for your driver and if you are using
  55          nvidiafb, i810fb or savagefb.
  56
  57          In general, choosing Y for this option is safe.  If you
  58          experience extremely long delays while booting before you get
  59          something on your display, try setting this to N.  Matrox cards in
  60          combination with certain motherboards and monitors are known to
  61          suffer from this problem.
  62
  63config FB_DDC
  64        tristate
  65        depends on FB
  66        select I2C_ALGOBIT
  67        select I2C
  68
  69config FB_BOOT_VESA_SUPPORT
  70        bool
  71        depends on FB
  72        help
  73          If true, at least one selected framebuffer driver can take advantage
  74          of VESA video modes set at an early boot stage via the vga= parameter.
  75
  76config FB_CFB_FILLRECT
  77        tristate
  78        depends on FB
  79        help
  80          Include the cfb_fillrect function for generic software rectangle
  81          filling. This is used by drivers that don't provide their own
  82          (accelerated) version.
  83
  84config FB_CFB_COPYAREA
  85        tristate
  86        depends on FB
  87        help
  88          Include the cfb_copyarea function for generic software area copying.
  89          This is used by drivers that don't provide their own (accelerated)
  90          version.
  91
  92config FB_CFB_IMAGEBLIT
  93        tristate
  94        depends on FB
  95        help
  96          Include the cfb_imageblit function for generic software image
  97          blitting. This is used by drivers that don't provide their own
  98          (accelerated) version.
  99
 100config FB_CFB_REV_PIXELS_IN_BYTE
 101        bool
 102        depends on FB
 103        help
 104          Allow generic frame-buffer functions to work on displays with 1, 2
 105          and 4 bits per pixel depths which has opposite order of pixels in
 106          byte order to bytes in long order.
 107
 108config FB_SYS_FILLRECT
 109        tristate
 110        depends on FB
 111        help
 112          Include the sys_fillrect function for generic software rectangle
 113          filling. This is used by drivers that don't provide their own
 114          (accelerated) version and the framebuffer is in system RAM.
 115
 116config FB_SYS_COPYAREA
 117        tristate
 118        depends on FB
 119        help
 120          Include the sys_copyarea function for generic software area copying.
 121          This is used by drivers that don't provide their own (accelerated)
 122          version and the framebuffer is in system RAM.
 123
 124config FB_SYS_IMAGEBLIT
 125        tristate
 126        depends on FB
 127        help
 128          Include the sys_imageblit function for generic software image
 129          blitting. This is used by drivers that don't provide their own
 130          (accelerated) version and the framebuffer is in system RAM.
 131
 132config FB_PROVIDE_GET_FB_UNMAPPED_AREA
 133        bool
 134        depends on FB
 135        help
 136          Allow generic frame-buffer to provide get_fb_unmapped_area
 137          function.
 138
 139menuconfig FB_FOREIGN_ENDIAN
 140        bool "Framebuffer foreign endianness support"
 141        depends on FB
 142        help
 143          This menu will let you enable support for the framebuffers with
 144          non-native endianness (e.g. Little-Endian framebuffer on a
 145          Big-Endian machine). Most probably you don't have such hardware,
 146          so it's safe to say "n" here.
 147
 148choice
 149        prompt "Choice endianness support"
 150        depends on FB_FOREIGN_ENDIAN
 151
 152config FB_BOTH_ENDIAN
 153        bool "Support for Big- and Little-Endian framebuffers"
 154
 155config FB_BIG_ENDIAN
 156        bool "Support for Big-Endian framebuffers only"
 157
 158config FB_LITTLE_ENDIAN
 159        bool "Support for Little-Endian framebuffers only"
 160
 161endchoice
 162
 163config FB_SYS_FOPS
 164        tristate
 165        depends on FB
 166
 167config FB_DEFERRED_IO
 168        bool
 169        depends on FB
 170
 171config FB_HECUBA
 172        tristate
 173        depends on FB
 174        depends on FB_DEFERRED_IO
 175
 176config FB_SVGALIB
 177        tristate
 178        depends on FB
 179        help
 180          Common utility functions useful to fbdev drivers of VGA-based
 181          cards.
 182
 183config FB_MACMODES
 184        tristate
 185        depends on FB
 186
 187config FB_BACKLIGHT
 188        tristate
 189        depends on FB
 190        select BACKLIGHT_CLASS_DEVICE
 191
 192config FB_MODE_HELPERS
 193        bool "Enable Video Mode Handling Helpers"
 194        depends on FB
 195        help
 196          This enables functions for handling video modes using the
 197          Generalized Timing Formula and the EDID parser. A few drivers rely
 198          on this feature such as the radeonfb, rivafb, and the i810fb. If
 199          your driver does not take advantage of this feature, choosing Y will
 200          just increase the kernel size by about 5K.
 201
 202config FB_TILEBLITTING
 203        bool "Enable Tile Blitting Support"
 204        depends on FB
 205        help
 206          This enables tile blitting.  Tile blitting is a drawing technique
 207          where the screen is divided into rectangular sections (tiles), whereas
 208          the standard blitting divides the screen into pixels. Because the
 209          default drawing element is a tile, drawing functions will be passed
 210          parameters in terms of number of tiles instead of number of pixels.
 211          For example, to draw a single character, instead of using bitmaps,
 212          an index to an array of bitmaps will be used.  To clear or move a
 213          rectangular section of a screen, the rectangle will be described in
 214          terms of number of tiles in the x- and y-axis.
 215
 216          This is particularly important to one driver, matroxfb.  If
 217          unsure, say N.
 218
 219comment "Frame buffer hardware drivers"
 220        depends on FB
 221
 222config FB_GRVGA
 223        tristate "Aeroflex Gaisler framebuffer support"
 224        depends on FB && SPARC
 225        select FB_CFB_FILLRECT
 226        select FB_CFB_COPYAREA
 227        select FB_CFB_IMAGEBLIT
 228        help
 229          This enables support for the SVGACTRL framebuffer in the GRLIB IP library from Aeroflex Gaisler.
 230
 231config FB_CIRRUS
 232        tristate "Cirrus Logic support"
 233        depends on FB && (ZORRO || PCI)
 234        select FB_CFB_FILLRECT
 235        select FB_CFB_COPYAREA
 236        select FB_CFB_IMAGEBLIT
 237        help
 238          This enables support for Cirrus Logic GD542x/543x based boards on
 239          Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum.
 240
 241          If you have a PCI-based system, this enables support for these
 242          chips: GD-543x, GD-544x, GD-5480.
 243
 244          Please read the file <file:Documentation/fb/cirrusfb.rst>.
 245
 246          Say N unless you have such a graphics board or plan to get one
 247          before you next recompile the kernel.
 248
 249config FB_PM2
 250        tristate "Permedia2 support"
 251        depends on FB && ((AMIGA && BROKEN) || PCI)
 252        select FB_CFB_FILLRECT
 253        select FB_CFB_COPYAREA
 254        select FB_CFB_IMAGEBLIT
 255        help
 256          This is the frame buffer device driver for cards based on
 257          the 3D Labs Permedia, Permedia 2 and Permedia 2V chips.
 258          The driver was tested on the following cards:
 259                Diamond FireGL 1000 PRO AGP
 260                ELSA Gloria Synergy PCI
 261                Appian Jeronimo PRO (both heads) PCI
 262                3DLabs Oxygen ACX aka EONtronics Picasso P2 PCI
 263                Techsource Raptor GFX-8P (aka Sun PGX-32) on SPARC
 264                ASK Graphic Blaster Exxtreme AGP
 265
 266          To compile this driver as a module, choose M here: the
 267          module will be called pm2fb.
 268
 269config FB_PM2_FIFO_DISCONNECT
 270        bool "enable FIFO disconnect feature"
 271        depends on FB_PM2 && PCI
 272        help
 273          Support the Permedia2 FIFO disconnect feature.
 274
 275config FB_ARMCLCD
 276        tristate "ARM PrimeCell PL110 support"
 277        depends on ARM || ARM64 || COMPILE_TEST
 278        depends on FB && ARM_AMBA && HAS_IOMEM
 279        select FB_CFB_FILLRECT
 280        select FB_CFB_COPYAREA
 281        select FB_CFB_IMAGEBLIT
 282        select FB_MODE_HELPERS if OF
 283        select VIDEOMODE_HELPERS if OF
 284        select BACKLIGHT_CLASS_DEVICE if OF
 285        help
 286          This framebuffer device driver is for the ARM PrimeCell PL110
 287          Colour LCD controller.  ARM PrimeCells provide the building
 288          blocks for System on a Chip devices.
 289
 290          If you want to compile this as a module (=code which can be
 291          inserted into and removed from the running kernel), say M
 292          here and read <file:Documentation/kbuild/modules.rst>.  The module
 293          will be called amba-clcd.
 294
 295config FB_ACORN
 296        bool "Acorn VIDC support"
 297        depends on (FB = y) && ARM && ARCH_ACORN
 298        select FB_CFB_FILLRECT
 299        select FB_CFB_COPYAREA
 300        select FB_CFB_IMAGEBLIT
 301        help
 302          This is the frame buffer device driver for the Acorn VIDC graphics
 303          hardware found in Acorn RISC PCs and other ARM-based machines.  If
 304          unsure, say N.
 305
 306config FB_CLPS711X
 307        tristate "CLPS711X LCD support"
 308        depends on FB && (ARCH_CLPS711X || COMPILE_TEST)
 309        select FB_MODE_HELPERS
 310        select FB_SYS_FILLRECT
 311        select FB_SYS_COPYAREA
 312        select FB_SYS_IMAGEBLIT
 313        select LCD_CLASS_DEVICE
 314        select VIDEOMODE_HELPERS
 315        help
 316          Say Y to enable the Framebuffer driver for the Cirrus Logic
 317          CLPS711X CPUs.
 318
 319config FB_SA1100
 320        bool "SA-1100 LCD support"
 321        depends on (FB = y) && ARM && ARCH_SA1100
 322        select FB_CFB_FILLRECT
 323        select FB_CFB_COPYAREA
 324        select FB_CFB_IMAGEBLIT
 325        help
 326          This is a framebuffer device for the SA-1100 LCD Controller.
 327          See <http://www.linux-fbdev.org/> for information on framebuffer
 328          devices.
 329
 330          If you plan to use the LCD display with your SA-1100 system, say
 331          Y here.
 332
 333config FB_IMX
 334        tristate "Freescale i.MX1/21/25/27 LCD support"
 335        depends on FB && HAVE_CLK && HAS_IOMEM
 336        depends on ARCH_MXC || COMPILE_TEST
 337        select LCD_CLASS_DEVICE
 338        select FB_CFB_FILLRECT
 339        select FB_CFB_COPYAREA
 340        select FB_CFB_IMAGEBLIT
 341        select FB_MODE_HELPERS
 342        select VIDEOMODE_HELPERS
 343
 344config FB_CYBER2000
 345        tristate "CyberPro 2000/2010/5000 support"
 346        depends on FB && PCI && (BROKEN || !SPARC64)
 347        select FB_CFB_FILLRECT
 348        select FB_CFB_COPYAREA
 349        select FB_CFB_IMAGEBLIT
 350        help
 351          This enables support for the Integraphics CyberPro 20x0 and 5000
 352          VGA chips used in the Rebel.com Netwinder and other machines.
 353          Say Y if you have a NetWinder or a graphics card containing this
 354          device, otherwise say N.
 355
 356config FB_CYBER2000_DDC
 357        bool "DDC for CyberPro support"
 358        depends on FB_CYBER2000
 359        select FB_DDC
 360        default y
 361        help
 362          Say Y here if you want DDC support for your CyberPro graphics
 363          card. This is only I2C bus support, driver does not use EDID.
 364
 365config FB_CYBER2000_I2C
 366        bool "CyberPro 2000/2010/5000 I2C support"
 367        depends on FB_CYBER2000 && I2C && ARCH_NETWINDER
 368        depends on I2C=y || FB_CYBER2000=m
 369        select I2C_ALGOBIT
 370        help
 371          Enable support for the I2C video decoder interface on the
 372          Integraphics CyberPro 20x0 and 5000 VGA chips.  This is used
 373          on the Netwinder machines for the SAA7111 video capture.
 374
 375config FB_APOLLO
 376        bool
 377        depends on (FB = y) && APOLLO
 378        default y
 379        select FB_CFB_FILLRECT
 380        select FB_CFB_IMAGEBLIT
 381
 382config FB_Q40
 383        bool
 384        depends on (FB = y) && Q40
 385        default y
 386        select FB_CFB_FILLRECT
 387        select FB_CFB_COPYAREA
 388        select FB_CFB_IMAGEBLIT
 389
 390config FB_AMIGA
 391        tristate "Amiga native chipset support"
 392        depends on FB && AMIGA
 393        help
 394          This is the frame buffer device driver for the builtin graphics
 395          chipset found in Amigas.
 396
 397          To compile this driver as a module, choose M here: the
 398          module will be called amifb.
 399
 400config FB_AMIGA_OCS
 401        bool "Amiga OCS chipset support"
 402        depends on FB_AMIGA
 403        help
 404          This enables support for the original Agnus and Denise video chips,
 405          found in the Amiga 1000 and most A500's and A2000's. If you intend
 406          to run Linux on any of these systems, say Y; otherwise say N.
 407
 408config FB_AMIGA_ECS
 409        bool "Amiga ECS chipset support"
 410        depends on FB_AMIGA
 411        help
 412          This enables support for the Enhanced Chip Set, found in later
 413          A500's, later A2000's, the A600, the A3000, the A3000T and CDTV. If
 414          you intend to run Linux on any of these systems, say Y; otherwise
 415          say N.
 416
 417config FB_AMIGA_AGA
 418        bool "Amiga AGA chipset support"
 419        depends on FB_AMIGA
 420        help
 421          This enables support for the Advanced Graphics Architecture (also
 422          known as the AGA or AA) Chip Set, found in the A1200, A4000, A4000T
 423          and CD32. If you intend to run Linux on any of these systems, say Y;
 424          otherwise say N.
 425
 426config FB_FM2
 427        bool "Amiga FrameMaster II/Rainbow II support"
 428        depends on (FB = y) && ZORRO
 429        select FB_CFB_FILLRECT
 430        select FB_CFB_COPYAREA
 431        select FB_CFB_IMAGEBLIT
 432        help
 433          This is the frame buffer device driver for the Amiga FrameMaster
 434          card from BSC (exhibited 1992 but not shipped as a CBM product).
 435
 436config FB_ARC
 437        tristate "Arc Monochrome LCD board support"
 438        depends on FB && (X86 || COMPILE_TEST)
 439        select FB_SYS_FILLRECT
 440        select FB_SYS_COPYAREA
 441        select FB_SYS_IMAGEBLIT
 442        select FB_SYS_FOPS
 443        help
 444          This enables support for the Arc Monochrome LCD board. The board
 445          is based on the KS-108 lcd controller and is typically a matrix
 446          of 2*n chips. This driver was tested with a 128x64 panel. This
 447          driver supports it for use with x86 SBCs through a 16 bit GPIO
 448          interface (8 bit data, 8 bit control). If you anticipate using
 449          this driver, say Y or M; otherwise say N. You must specify the
 450          GPIO IO address to be used for setting control and data.
 451
 452config FB_ATARI
 453        bool "Atari native chipset support"
 454        depends on (FB = y) && ATARI
 455        select FB_CFB_FILLRECT
 456        select FB_CFB_COPYAREA
 457        select FB_CFB_IMAGEBLIT
 458        help
 459          This is the frame buffer device driver for the builtin graphics
 460          chipset found in Ataris.
 461
 462config FB_OF
 463        bool "Open Firmware frame buffer device support"
 464        depends on (FB = y) && PPC && (!PPC_PSERIES || PCI)
 465        select FB_CFB_FILLRECT
 466        select FB_CFB_COPYAREA
 467        select FB_CFB_IMAGEBLIT
 468        select FB_MACMODES
 469        help
 470          Say Y if you want support with Open Firmware for your graphics
 471          board.
 472
 473config FB_CONTROL
 474        bool "Apple \"control\" display support"
 475        depends on (FB = y) && ((PPC_PMAC && PPC32) || COMPILE_TEST)
 476        select FB_CFB_FILLRECT
 477        select FB_CFB_COPYAREA
 478        select FB_CFB_IMAGEBLIT
 479        select FB_MACMODES
 480        help
 481          This driver supports a frame buffer for the graphics adapter in the
 482          Power Macintosh 7300 and others.
 483
 484config FB_PLATINUM
 485        bool "Apple \"platinum\" display support"
 486        depends on (FB = y) && PPC_PMAC && PPC32
 487        select FB_CFB_FILLRECT
 488        select FB_CFB_COPYAREA
 489        select FB_CFB_IMAGEBLIT
 490        select FB_MACMODES
 491        help
 492          This driver supports a frame buffer for the "platinum" graphics
 493          adapter in some Power Macintoshes.
 494
 495config FB_VALKYRIE
 496        bool "Apple \"valkyrie\" display support"
 497        depends on (FB = y) && (MAC || (PPC_PMAC && PPC32))
 498        select FB_CFB_FILLRECT
 499        select FB_CFB_COPYAREA
 500        select FB_CFB_IMAGEBLIT
 501        select FB_MACMODES
 502        help
 503          This driver supports a frame buffer for the "valkyrie" graphics
 504          adapter in some Power Macintoshes.
 505
 506config FB_CT65550
 507        bool "Chips 65550 display support"
 508        depends on (FB = y) && PPC32 && PCI
 509        select FB_CFB_FILLRECT
 510        select FB_CFB_COPYAREA
 511        select FB_CFB_IMAGEBLIT
 512        help
 513          This is the frame buffer device driver for the Chips & Technologies
 514          65550 graphics chip in PowerBooks.
 515
 516config FB_ASILIANT
 517        bool "Asiliant (Chips) 69000 display support"
 518        depends on (FB = y) && PCI
 519        select FB_CFB_FILLRECT
 520        select FB_CFB_COPYAREA
 521        select FB_CFB_IMAGEBLIT
 522        help
 523          This is the frame buffer device driver for the Asiliant 69030 chipset
 524
 525config FB_IMSTT
 526        bool "IMS Twin Turbo display support"
 527        depends on (FB = y) && PCI
 528        select FB_CFB_IMAGEBLIT
 529        select FB_MACMODES if PPC_PMAC
 530        help
 531          The IMS Twin Turbo is a PCI-based frame buffer card bundled with
 532          many Macintosh and compatible computers.
 533
 534config FB_VGA16
 535        tristate "VGA 16-color graphics support"
 536        depends on FB && (X86 || PPC)
 537        select FB_CFB_FILLRECT
 538        select FB_CFB_COPYAREA
 539        select FB_CFB_IMAGEBLIT
 540        select VGASTATE
 541        select FONT_8x16 if FRAMEBUFFER_CONSOLE
 542        help
 543          This is the frame buffer device driver for VGA 16 color graphic
 544          cards. Say Y if you have such a card.
 545
 546          To compile this driver as a module, choose M here: the
 547          module will be called vga16fb.
 548
 549config FB_STI
 550        tristate "HP STI frame buffer device support"
 551        depends on FB && PARISC
 552        select FB_CFB_FILLRECT
 553        select FB_CFB_COPYAREA
 554        select FB_CFB_IMAGEBLIT
 555        default y
 556        help
 557          STI refers to the HP "Standard Text Interface" which is a set of
 558          BIOS routines contained in a ROM chip in HP PA-RISC based machines.
 559          Enabling this option will implement the linux framebuffer device
 560          using calls to the STI BIOS routines for initialisation.
 561        
 562          If you enable this option, you will get a planar framebuffer device
 563          /dev/fb which will work on the most common HP graphic cards of the
 564          NGLE family, including the artist chips (in the 7xx and Bxxx series),
 565          HCRX, HCRX24, CRX, CRX24 and VisEG series.
 566
 567          It is safe to enable this option, so you should probably say "Y".
 568
 569config FB_MAC
 570        bool "Generic Macintosh display support"
 571        depends on (FB = y) && MAC
 572        select FB_CFB_FILLRECT
 573        select FB_CFB_COPYAREA
 574        select FB_CFB_IMAGEBLIT
 575        select FB_MACMODES
 576
 577config FB_HP300
 578        bool
 579        depends on (FB = y) && DIO
 580        select FB_CFB_IMAGEBLIT
 581        default y
 582
 583config FB_TGA
 584        tristate "TGA/SFB+ framebuffer support"
 585        depends on FB && (ALPHA || TC)
 586        select FB_CFB_FILLRECT
 587        select FB_CFB_COPYAREA
 588        select FB_CFB_IMAGEBLIT
 589        select BITREVERSE
 590        help
 591          This is the frame buffer device driver for generic TGA and SFB+
 592          graphic cards.  These include DEC ZLXp-E1, -E2 and -E3 PCI cards,
 593          also known as PBXGA-A, -B and -C, and DEC ZLX-E1, -E2 and -E3
 594          TURBOchannel cards, also known as PMAGD-A, -B and -C.
 595
 596          Due to hardware limitations ZLX-E2 and E3 cards are not supported
 597          for DECstation 5000/200 systems.  Additionally due to firmware
 598          limitations these cards may cause troubles with booting DECstation
 599          5000/240 and /260 systems, but are fully supported under Linux if
 600          you manage to get it going. ;-)
 601
 602          Say Y if you have one of those.
 603
 604config FB_UVESA
 605        tristate "Userspace VESA VGA graphics support"
 606        depends on FB && CONNECTOR
 607        select FB_CFB_FILLRECT
 608        select FB_CFB_COPYAREA
 609        select FB_CFB_IMAGEBLIT
 610        select FB_MODE_HELPERS
 611        help
 612          This is the frame buffer driver for generic VBE 2.0 compliant
 613          graphic cards. It can also take advantage of VBE 3.0 features,
 614          such as refresh rate adjustment.
 615
 616          This driver generally provides more features than vesafb but
 617          requires a userspace helper application called 'v86d'. See
 618          <file:Documentation/fb/uvesafb.rst> for more information.
 619
 620          If unsure, say N.
 621
 622config FB_VESA
 623        bool "VESA VGA graphics support"
 624        depends on (FB = y) && X86
 625        select FB_CFB_FILLRECT
 626        select FB_CFB_COPYAREA
 627        select FB_CFB_IMAGEBLIT
 628        select FB_BOOT_VESA_SUPPORT
 629        help
 630          This is the frame buffer device driver for generic VESA 2.0
 631          compliant graphic cards. The older VESA 1.2 cards are not supported.
 632          You will get a boot time penguin logo at no additional cost. Please
 633          read <file:Documentation/fb/vesafb.rst>. If unsure, say Y.
 634
 635config FB_EFI
 636        bool "EFI-based Framebuffer Support"
 637        depends on (FB = y) && !IA64 && EFI
 638        select DRM_PANEL_ORIENTATION_QUIRKS
 639        select FB_CFB_FILLRECT
 640        select FB_CFB_COPYAREA
 641        select FB_CFB_IMAGEBLIT
 642        help
 643          This is the EFI frame buffer device driver. If the firmware on
 644          your platform is EFI 1.10 or UEFI 2.0, select Y to add support for
 645          using the EFI framebuffer as your console.
 646
 647config FB_N411
 648        tristate "N411 Apollo/Hecuba devkit support"
 649        depends on FB && X86 && MMU
 650        select FB_SYS_FILLRECT
 651        select FB_SYS_COPYAREA
 652        select FB_SYS_IMAGEBLIT
 653        select FB_SYS_FOPS
 654        select FB_DEFERRED_IO
 655        select FB_HECUBA
 656        help
 657          This enables support for the Apollo display controller in its
 658          Hecuba form using the n411 devkit.
 659
 660config FB_HGA
 661        tristate "Hercules mono graphics support"
 662        depends on FB && X86
 663        help
 664          Say Y here if you have a Hercules mono graphics card.
 665
 666          To compile this driver as a module, choose M here: the
 667          module will be called hgafb.
 668
 669          As this card technology is at least 25 years old,
 670          most people will answer N here.
 671
 672config FB_GBE
 673        bool "SGI Graphics Backend frame buffer support"
 674        depends on (FB = y) && HAS_IOMEM
 675        depends on SGI_IP32 || COMPILE_TEST
 676        select FB_CFB_FILLRECT
 677        select FB_CFB_COPYAREA
 678        select FB_CFB_IMAGEBLIT
 679        help
 680          This is the frame buffer device driver for SGI Graphics Backend.
 681          This chip is used in SGI O2 and Visual Workstation 320/540.
 682
 683config FB_GBE_MEM
 684        int "Video memory size in MB"
 685        depends on FB_GBE
 686        default 4
 687        help
 688          This is the amount of memory reserved for the framebuffer,
 689          which can be any value between 1MB and 8MB.
 690
 691config FB_SBUS
 692        bool "SBUS and UPA framebuffers"
 693        depends on (FB = y) && SPARC
 694        help
 695          Say Y if you want support for SBUS or UPA based frame buffer device.
 696
 697config FB_BW2
 698        bool "BWtwo support"
 699        depends on (FB = y) && (SPARC && FB_SBUS)
 700        select FB_CFB_FILLRECT
 701        select FB_CFB_COPYAREA
 702        select FB_CFB_IMAGEBLIT
 703        help
 704          This is the frame buffer device driver for the BWtwo frame buffer.
 705
 706config FB_CG3
 707        bool "CGthree support"
 708        depends on (FB = y) && (SPARC && FB_SBUS)
 709        select FB_CFB_FILLRECT
 710        select FB_CFB_COPYAREA
 711        select FB_CFB_IMAGEBLIT
 712        help
 713          This is the frame buffer device driver for the CGthree frame buffer.
 714
 715config FB_CG6
 716        bool "CGsix (GX,TurboGX) support"
 717        depends on (FB = y) && (SPARC && FB_SBUS)
 718        select FB_CFB_COPYAREA
 719        select FB_CFB_IMAGEBLIT
 720        help
 721          This is the frame buffer device driver for the CGsix (GX, TurboGX)
 722          frame buffer.
 723
 724config FB_FFB
 725        bool "Creator/Creator3D/Elite3D support"
 726        depends on FB_SBUS && SPARC64
 727        select FB_CFB_COPYAREA
 728        select FB_CFB_IMAGEBLIT
 729        help
 730          This is the frame buffer device driver for the Creator, Creator3D,
 731          and Elite3D graphics boards.
 732
 733config FB_TCX
 734        bool "TCX (SS4/SS5 only) support"
 735        depends on FB_SBUS
 736        select FB_CFB_FILLRECT
 737        select FB_CFB_COPYAREA
 738        select FB_CFB_IMAGEBLIT
 739        help
 740          This is the frame buffer device driver for the TCX 24/8bit frame
 741          buffer.
 742
 743config FB_CG14
 744        bool "CGfourteen (SX) support"
 745        depends on FB_SBUS
 746        select FB_CFB_FILLRECT
 747        select FB_CFB_COPYAREA
 748        select FB_CFB_IMAGEBLIT
 749        help
 750          This is the frame buffer device driver for the CGfourteen frame
 751          buffer on Desktop SPARCsystems with the SX graphics option.
 752
 753config FB_P9100
 754        bool "P9100 (Sparcbook 3 only) support"
 755        depends on FB_SBUS
 756        select FB_CFB_FILLRECT
 757        select FB_CFB_COPYAREA
 758        select FB_CFB_IMAGEBLIT
 759        help
 760          This is the frame buffer device driver for the P9100 card
 761          supported on Sparcbook 3 machines.
 762
 763config FB_LEO
 764        bool "Leo (ZX) support"
 765        depends on FB_SBUS
 766        select FB_CFB_FILLRECT
 767        select FB_CFB_COPYAREA
 768        select FB_CFB_IMAGEBLIT
 769        help
 770          This is the frame buffer device driver for the SBUS-based Sun ZX
 771          (leo) frame buffer cards.
 772
 773config FB_XVR500
 774        bool "Sun XVR-500 3DLABS Wildcat support"
 775        depends on (FB = y) && PCI && SPARC64
 776        select FB_CFB_FILLRECT
 777        select FB_CFB_COPYAREA
 778        select FB_CFB_IMAGEBLIT
 779        help
 780          This is the framebuffer device for the Sun XVR-500 and similar
 781          graphics cards based upon the 3DLABS Wildcat chipset.  The driver
 782          only works on sparc64 systems where the system firmware has
 783          mostly initialized the card already.  It is treated as a
 784          completely dumb framebuffer device.
 785
 786config FB_XVR2500
 787        bool "Sun XVR-2500 3DLABS Wildcat support"
 788        depends on (FB = y) && PCI && SPARC64
 789        select FB_CFB_FILLRECT
 790        select FB_CFB_COPYAREA
 791        select FB_CFB_IMAGEBLIT
 792        help
 793          This is the framebuffer device for the Sun XVR-2500 and similar
 794          graphics cards based upon the 3DLABS Wildcat chipset.  The driver
 795          only works on sparc64 systems where the system firmware has
 796          mostly initialized the card already.  It is treated as a
 797          completely dumb framebuffer device.
 798
 799config FB_XVR1000
 800        bool "Sun XVR-1000 support"
 801        depends on (FB = y) && SPARC64
 802        select FB_CFB_FILLRECT
 803        select FB_CFB_COPYAREA
 804        select FB_CFB_IMAGEBLIT
 805        help
 806          This is the framebuffer device for the Sun XVR-1000 and similar
 807          graphics cards.  The driver only works on sparc64 systems where
 808          the system firmware has mostly initialized the card already.  It
 809          is treated as a completely dumb framebuffer device.
 810
 811config FB_PVR2
 812        tristate "NEC PowerVR 2 display support"
 813        depends on FB && HAS_IOMEM
 814        depends on SH_DREAMCAST || COMPILE_TEST
 815        select FB_CFB_FILLRECT
 816        select FB_CFB_COPYAREA
 817        select FB_CFB_IMAGEBLIT
 818        help
 819          Say Y here if you have a PowerVR 2 card in your box.  If you plan to
 820          run linux on your Dreamcast, you will have to say Y here.
 821          This driver may or may not work on other PowerVR 2 cards, but is
 822          totally untested.  Use at your own risk.  If unsure, say N.
 823
 824          To compile this driver as a module, choose M here: the
 825          module will be called pvr2fb.
 826
 827          You can pass several parameters to the driver at boot time or at
 828          module load time.  The parameters look like "video=pvr2:XXX", where
 829          the meaning of XXX can be found at the end of the main source file
 830          (<file:drivers/video/pvr2fb.c>). Please see the file
 831          <file:Documentation/fb/pvr2fb.rst>.
 832
 833config FB_OPENCORES
 834        tristate "OpenCores VGA/LCD core 2.0 framebuffer support"
 835        depends on FB && HAS_DMA
 836        select FB_CFB_FILLRECT
 837        select FB_CFB_COPYAREA
 838        select FB_CFB_IMAGEBLIT
 839        help
 840          This enables support for the OpenCores VGA/LCD core.
 841
 842          The OpenCores VGA/LCD core is typically used together with
 843          softcore CPUs (e.g. OpenRISC or Microblaze) or hard processor
 844          systems (e.g. Altera socfpga or Xilinx Zynq) on FPGAs.
 845
 846          The source code and specification for the core is available at
 847          <https://opencores.org/project,vga_lcd>
 848
 849config FB_S1D13XXX
 850        tristate "Epson S1D13XXX framebuffer support"
 851        depends on FB
 852        select FB_CFB_FILLRECT
 853        select FB_CFB_COPYAREA
 854        select FB_CFB_IMAGEBLIT
 855        help
 856          Support for S1D13XXX framebuffer device family (currently only
 857          working with S1D13806). Product specs at
 858          <https://vdc.epson.com/>
 859
 860config FB_ATMEL
 861        tristate "AT91 LCD Controller support"
 862        depends on FB && OF && HAVE_CLK && HAS_IOMEM
 863        depends on HAVE_FB_ATMEL || COMPILE_TEST
 864        select FB_BACKLIGHT
 865        select FB_CFB_FILLRECT
 866        select FB_CFB_COPYAREA
 867        select FB_CFB_IMAGEBLIT
 868        select FB_MODE_HELPERS
 869        select VIDEOMODE_HELPERS
 870        help
 871          This enables support for the AT91 LCD Controller.
 872
 873config FB_NVIDIA
 874        tristate "nVidia Framebuffer Support"
 875        depends on FB && PCI
 876        select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT
 877        select FB_MODE_HELPERS
 878        select FB_CFB_FILLRECT
 879        select FB_CFB_COPYAREA
 880        select FB_CFB_IMAGEBLIT
 881        select BITREVERSE
 882        select VGASTATE
 883        help
 884          This driver supports graphics boards with the nVidia chips, TNT
 885          and newer. For very old chipsets, such as the RIVA128, then use
 886          the rivafb.
 887          Say Y if you have such a graphics board.
 888
 889          To compile this driver as a module, choose M here: the
 890          module will be called nvidiafb.
 891
 892config FB_NVIDIA_I2C
 893        bool "Enable DDC Support"
 894        depends on FB_NVIDIA
 895        select FB_DDC
 896        help
 897          This enables I2C support for nVidia Chipsets.  This is used
 898          only for getting EDID information from the attached display
 899          allowing for robust video mode handling and switching.
 900
 901          Because fbdev-2.6 requires that drivers must be able to
 902          independently validate video mode parameters, you should say Y
 903          here.
 904
 905config FB_NVIDIA_DEBUG
 906        bool "Lots of debug output"
 907        depends on FB_NVIDIA
 908        help
 909          Say Y here if you want the nVidia driver to output all sorts
 910          of debugging information to provide to the maintainer when
 911          something goes wrong.
 912
 913config FB_NVIDIA_BACKLIGHT
 914        bool "Support for backlight control"
 915        depends on FB_NVIDIA
 916        default y
 917        help
 918          Say Y here if you want to control the backlight of your display.
 919
 920config FB_RIVA
 921        tristate "nVidia Riva support"
 922        depends on FB && PCI
 923        select FB_BACKLIGHT if FB_RIVA_BACKLIGHT
 924        select FB_MODE_HELPERS
 925        select FB_CFB_FILLRECT
 926        select FB_CFB_COPYAREA
 927        select FB_CFB_IMAGEBLIT
 928        select BITREVERSE
 929        select VGASTATE
 930        help
 931          This driver supports graphics boards with the nVidia Riva/Geforce
 932          chips.
 933          Say Y if you have such a graphics board.
 934
 935          To compile this driver as a module, choose M here: the
 936          module will be called rivafb.
 937
 938config FB_RIVA_I2C
 939        bool "Enable DDC Support"
 940        depends on FB_RIVA
 941        select FB_DDC
 942        help
 943          This enables I2C support for nVidia Chipsets.  This is used
 944          only for getting EDID information from the attached display
 945          allowing for robust video mode handling and switching.
 946
 947          Because fbdev-2.6 requires that drivers must be able to
 948          independently validate video mode parameters, you should say Y
 949          here.
 950
 951config FB_RIVA_DEBUG
 952        bool "Lots of debug output"
 953        depends on FB_RIVA
 954        help
 955          Say Y here if you want the Riva driver to output all sorts
 956          of debugging information to provide to the maintainer when
 957          something goes wrong.
 958
 959config FB_RIVA_BACKLIGHT
 960        bool "Support for backlight control"
 961        depends on FB_RIVA
 962        default y
 963        help
 964          Say Y here if you want to control the backlight of your display.
 965
 966config FB_I740
 967        tristate "Intel740 support"
 968        depends on FB && PCI
 969        select FB_MODE_HELPERS
 970        select FB_CFB_FILLRECT
 971        select FB_CFB_COPYAREA
 972        select FB_CFB_IMAGEBLIT
 973        select VGASTATE
 974        select FB_DDC
 975        help
 976          This driver supports graphics cards based on Intel740 chip.
 977
 978config FB_I810
 979        tristate "Intel 810/815 support"
 980        depends on FB && PCI && X86_32 && AGP_INTEL
 981        select FB_MODE_HELPERS
 982        select FB_CFB_FILLRECT
 983        select FB_CFB_COPYAREA
 984        select FB_CFB_IMAGEBLIT
 985        select VGASTATE
 986        help
 987          This driver supports the on-board graphics built in to the Intel 810
 988          and 815 chipsets.  Say Y if you have and plan to use such a board.
 989
 990          To compile this driver as a module, choose M here: the
 991          module will be called i810fb.
 992
 993          For more information, please read
 994          <file:Documentation/fb/intel810.rst>
 995
 996config FB_I810_GTF
 997        bool "use VESA Generalized Timing Formula"
 998        depends on FB_I810
 999        help
1000          If you say Y, then the VESA standard, Generalized Timing Formula
1001          or GTF, will be used to calculate the required video timing values
1002          per video mode.  Since the GTF allows nondiscrete timings
1003          (nondiscrete being a range of values as opposed to discrete being a
1004          set of values), you'll be able to use any combination of horizontal
1005          and vertical resolutions, and vertical refresh rates without having
1006          to specify your own timing parameters.  This is especially useful
1007          to maximize the performance of an aging display, or if you just
1008          have a display with nonstandard dimensions. A VESA compliant
1009          monitor is recommended, but can still work with non-compliant ones.
1010          If you need or want this, then select this option. The timings may
1011          not be compliant with Intel's recommended values. Use at your own
1012          risk.
1013
1014          If you say N, the driver will revert to discrete video timings
1015          using a set recommended by Intel in their documentation.
1016
1017          If unsure, say N.
1018
1019config FB_I810_I2C
1020        bool "Enable DDC Support"
1021        depends on FB_I810 && FB_I810_GTF
1022        select FB_DDC
1023        help
1024          Add DDC/I2C support for i810fb.  This will allow the driver to get
1025          display information, especially for monitors with fickle timings.
1026
1027          If unsure, say Y.
1028
1029config FB_LE80578
1030        tristate "Intel LE80578 (Vermilion) support"
1031        depends on FB && PCI && X86
1032        select FB_MODE_HELPERS
1033        select FB_CFB_FILLRECT
1034        select FB_CFB_COPYAREA
1035        select FB_CFB_IMAGEBLIT
1036        help
1037          This driver supports the LE80578 (Vermilion Range) chipset
1038
1039config FB_CARILLO_RANCH
1040        tristate "Intel Carillo Ranch support"
1041        depends on FB_LE80578 && FB && PCI && X86
1042        help
1043          This driver supports the LE80578 (Carillo Ranch) board
1044
1045config FB_INTEL
1046        tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support"
1047        depends on FB && PCI && X86 && AGP_INTEL && EXPERT
1048        select FB_MODE_HELPERS
1049        select FB_CFB_FILLRECT
1050        select FB_CFB_COPYAREA
1051        select FB_CFB_IMAGEBLIT
1052        select FB_BOOT_VESA_SUPPORT if FB_INTEL = y
1053        depends on !DRM_I915
1054        help
1055          This driver supports the on-board graphics built in to the Intel
1056          830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets.
1057          Say Y if you have and plan to use such a board.
1058
1059          To make FB_INTEL=Y work you need to say AGP_INTEL=y too.
1060
1061          To compile this driver as a module, choose M here: the
1062          module will be called intelfb.
1063
1064          For more information, please read <file:Documentation/fb/intelfb.rst>
1065
1066config FB_INTEL_DEBUG
1067        bool "Intel driver Debug Messages"
1068        depends on FB_INTEL
1069        help
1070          Say Y here if you want the Intel driver to output all sorts
1071          of debugging information to provide to the maintainer when
1072          something goes wrong.
1073
1074config FB_INTEL_I2C
1075        bool "DDC/I2C for Intel framebuffer support"
1076        depends on FB_INTEL
1077        select FB_DDC
1078        default y
1079        help
1080          Say Y here if you want DDC/I2C support for your on-board Intel graphics.
1081
1082config FB_MATROX
1083        tristate "Matrox acceleration"
1084        depends on FB && PCI
1085        select FB_CFB_FILLRECT
1086        select FB_CFB_COPYAREA
1087        select FB_CFB_IMAGEBLIT
1088        select FB_TILEBLITTING
1089        select FB_MACMODES if PPC_PMAC
1090        help
1091          Say Y here if you have a Matrox Millennium, Matrox Millennium II,
1092          Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
1093          Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video,
1094          Matrox G400, G450 or G550 card in your box.
1095
1096          To compile this driver as a module, choose M here: the
1097          module will be called matroxfb.
1098
1099          You can pass several parameters to the driver at boot time or at
1100          module load time. The parameters look like "video=matroxfb:XXX", and
1101          are described in <file:Documentation/fb/matroxfb.rst>.
1102
1103config FB_MATROX_MILLENIUM
1104        bool "Millennium I/II support"
1105        depends on FB_MATROX
1106        help
1107          Say Y here if you have a Matrox Millennium or Matrox Millennium II
1108          video card. If you select "Advanced lowlevel driver options" below,
1109          you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp
1110          packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can
1111          also use font widths different from 8.
1112
1113config FB_MATROX_MYSTIQUE
1114        bool "Mystique support"
1115        depends on FB_MATROX
1116        help
1117          Say Y here if you have a Matrox Mystique or Matrox Mystique 220
1118          video card. If you select "Advanced lowlevel driver options" below,
1119          you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp
1120          packed pixel and 32 bpp packed pixel. You can also use font widths
1121          different from 8.
1122
1123config FB_MATROX_G
1124        bool "G100/G200/G400/G450/G550 support"
1125        depends on FB_MATROX
1126        help
1127          Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based
1128          video card. If you select "Advanced lowlevel driver options", you
1129          should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
1130          pixel and 32 bpp packed pixel. You can also use font widths
1131          different from 8.
1132
1133          If you need support for G400 secondary head, you must say Y to
1134          "Matrox I2C support" and "G400 second head support" right below.
1135          G450/G550 secondary head and digital output are supported without
1136          additional modules.
1137
1138          The driver starts in monitor mode. You must use the matroxset tool
1139          (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
1140          swap primary and secondary head outputs, or to change output mode.
1141          Secondary head driver always start in 640x480 resolution and you
1142          must use fbset to change it.
1143
1144          Do not forget that second head supports only 16 and 32 bpp
1145          packed pixels, so it is a good idea to compile them into the kernel
1146          too. You can use only some font widths, as the driver uses generic
1147          painting procedures (the secondary head does not use acceleration
1148          engine).
1149
1150          G450/G550 hardware can display TV picture only from secondary CRTC,
1151          and it performs no scaling, so picture must have 525 or 625 lines.
1152
1153config FB_MATROX_I2C
1154        tristate "Matrox I2C support"
1155        depends on FB_MATROX
1156        select FB_DDC
1157        help
1158          This drivers creates I2C buses which are needed for accessing the
1159          DDC (I2C) bus present on all Matroxes, an I2C bus which
1160          interconnects Matrox optional devices, like MGA-TVO on G200 and
1161          G400, and the secondary head DDC bus, present on G400 only.
1162
1163          You can say Y or M here if you want to experiment with monitor
1164          detection code. You must say Y or M here if you want to use either
1165          second head of G400 or MGA-TVO on G200 or G400.
1166
1167          If you compile it as module, it will create a module named
1168          i2c-matroxfb.
1169
1170config FB_MATROX_MAVEN
1171        tristate "G400 second head support"
1172        depends on FB_MATROX_G && FB_MATROX_I2C
1173        help
1174          WARNING !!! This support does not work with G450 !!!
1175
1176          Say Y or M here if you want to use a secondary head (meaning two
1177          monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary
1178          head is not compatible with accelerated XFree 3.3.x SVGA servers -
1179          secondary head output is blanked while you are in X. With XFree
1180          3.9.17 preview you can use both heads if you use SVGA over fbdev or
1181          the fbdev driver on first head and the fbdev driver on second head.
1182
1183          If you compile it as module, two modules are created,
1184          matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for
1185          both G200 and G400, matroxfb_crtc2 is needed only by G400. You must
1186          also load i2c-matroxfb to get it to run.
1187
1188          The driver starts in monitor mode and you must use the matroxset
1189          tool (available at
1190          <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to
1191          PAL or NTSC or to swap primary and secondary head outputs.
1192          Secondary head driver also always start in 640x480 resolution, you
1193          must use fbset to change it.
1194
1195          Also do not forget that second head supports only 16 and 32 bpp
1196          packed pixels, so it is a good idea to compile them into the kernel
1197          too.  You can use only some font widths, as the driver uses generic
1198          painting procedures (the secondary head does not use acceleration
1199          engine).
1200
1201config FB_RADEON
1202        tristate "ATI Radeon display support"
1203        depends on FB && PCI
1204        select FB_BACKLIGHT if FB_RADEON_BACKLIGHT
1205        select FB_MODE_HELPERS
1206        select FB_CFB_FILLRECT
1207        select FB_CFB_COPYAREA
1208        select FB_CFB_IMAGEBLIT
1209        select FB_MACMODES if PPC
1210        help
1211          Choose this option if you want to use an ATI Radeon graphics card as
1212          a framebuffer device.  There are both PCI and AGP versions.  You
1213          don't need to choose this to run the Radeon in plain VGA mode.
1214
1215          There is a product page at
1216          https://products.amd.com/en-us/GraphicCardResult.aspx
1217
1218config FB_RADEON_I2C
1219        bool "DDC/I2C for ATI Radeon support"
1220        depends on FB_RADEON
1221        select FB_DDC
1222        default y
1223        help
1224          Say Y here if you want DDC/I2C support for your Radeon board.
1225
1226config FB_RADEON_BACKLIGHT
1227        bool "Support for backlight control"
1228        depends on FB_RADEON
1229        default y
1230        help
1231          Say Y here if you want to control the backlight of your display.
1232
1233config FB_RADEON_DEBUG
1234        bool "Lots of debug output from Radeon driver"
1235        depends on FB_RADEON
1236        help
1237          Say Y here if you want the Radeon driver to output all sorts
1238          of debugging information to provide to the maintainer when
1239          something goes wrong.
1240
1241config FB_ATY128
1242        tristate "ATI Rage128 display support"
1243        depends on FB && PCI
1244        select FB_CFB_FILLRECT
1245        select FB_CFB_COPYAREA
1246        select FB_CFB_IMAGEBLIT
1247        select FB_BACKLIGHT if FB_ATY128_BACKLIGHT
1248        select FB_MACMODES if PPC_PMAC
1249        help
1250          This driver supports graphics boards with the ATI Rage128 chips.
1251          Say Y if you have such a graphics board and read
1252          <file:Documentation/fb/aty128fb.rst>.
1253
1254          To compile this driver as a module, choose M here: the
1255          module will be called aty128fb.
1256
1257config FB_ATY128_BACKLIGHT
1258        bool "Support for backlight control"
1259        depends on FB_ATY128
1260        default y
1261        help
1262          Say Y here if you want to control the backlight of your display.
1263
1264config FB_ATY
1265        tristate "ATI Mach64 display support" if PCI || ATARI
1266        depends on FB && !SPARC32
1267        select FB_CFB_FILLRECT
1268        select FB_CFB_COPYAREA
1269        select FB_CFB_IMAGEBLIT
1270        select FB_BACKLIGHT if FB_ATY_BACKLIGHT
1271        select FB_MACMODES if PPC
1272        help
1273          This driver supports graphics boards with the ATI Mach64 chips.
1274          Say Y if you have such a graphics board.
1275
1276          To compile this driver as a module, choose M here: the
1277          module will be called atyfb.
1278
1279config FB_ATY_CT
1280        bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support"
1281        depends on PCI && FB_ATY
1282        default y if SPARC64 && PCI
1283        help
1284          Say Y here to support use of ATI's 64-bit Rage boards (or other
1285          boards based on the Mach64 CT, VT, GT, and LT chipsets) as a
1286          framebuffer device.  The ATI product support page for these boards
1287          is at <http://support.ati.com/products/pc/mach64/mach64.html>.
1288
1289config FB_ATY_GENERIC_LCD
1290        bool "Mach64 generic LCD support"
1291        depends on FB_ATY_CT
1292        help
1293          Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
1294          Rage XC, or Rage XL chipset.
1295
1296config FB_ATY_GX
1297        bool "Mach64 GX support" if PCI
1298        depends on FB_ATY
1299        default y if ATARI
1300        help
1301          Say Y here to support use of the ATI Mach64 Graphics Expression
1302          board (or other boards based on the Mach64 GX chipset) as a
1303          framebuffer device.  The ATI product support page for these boards
1304          is at
1305          <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
1306
1307config FB_ATY_BACKLIGHT
1308        bool "Support for backlight control"
1309        depends on FB_ATY
1310        default y
1311        help
1312          Say Y here if you want to control the backlight of your display.
1313
1314config FB_S3
1315        tristate "S3 Trio/Virge support"
1316        depends on FB && PCI
1317        select FB_CFB_FILLRECT
1318        select FB_CFB_COPYAREA
1319        select FB_CFB_IMAGEBLIT
1320        select FB_TILEBLITTING
1321        select FB_SVGALIB
1322        select VGASTATE
1323        select FONT_8x16 if FRAMEBUFFER_CONSOLE
1324        help
1325          Driver for graphics boards with S3 Trio / S3 Virge chip.
1326
1327config FB_S3_DDC
1328        bool "DDC for S3 support"
1329        depends on FB_S3
1330        select FB_DDC
1331        default y
1332        help
1333          Say Y here if you want DDC support for your S3 graphics card.
1334
1335config FB_SAVAGE
1336        tristate "S3 Savage support"
1337        depends on FB && PCI
1338        select FB_MODE_HELPERS
1339        select FB_CFB_FILLRECT
1340        select FB_CFB_COPYAREA
1341        select FB_CFB_IMAGEBLIT
1342        select VGASTATE
1343        help
1344          This driver supports notebooks and computers with S3 Savage PCI/AGP
1345          chips.
1346
1347          Say Y if you have such a graphics card.
1348
1349          To compile this driver as a module, choose M here; the module
1350          will be called savagefb.
1351
1352config FB_SAVAGE_I2C
1353        bool "Enable DDC2 Support"
1354        depends on FB_SAVAGE
1355        select FB_DDC
1356        help
1357          This enables I2C support for S3 Savage Chipsets.  This is used
1358          only for getting EDID information from the attached display
1359          allowing for robust video mode handling and switching.
1360
1361          Because fbdev-2.6 requires that drivers must be able to
1362          independently validate video mode parameters, you should say Y
1363          here.
1364
1365config FB_SAVAGE_ACCEL
1366        bool "Enable Console Acceleration"
1367        depends on FB_SAVAGE
1368        help
1369          This option will compile in console acceleration support. If
1370          the resulting framebuffer console has bothersome glitches, then
1371          choose N here.
1372
1373config FB_SIS
1374        tristate "SiS/XGI display support"
1375        depends on FB && PCI
1376        select FB_CFB_FILLRECT
1377        select FB_CFB_COPYAREA
1378        select FB_CFB_IMAGEBLIT
1379        select FB_BOOT_VESA_SUPPORT if FB_SIS = y
1380        select FB_SIS_300 if !FB_SIS_315
1381        help
1382          This is the frame buffer device driver for the SiS 300, 315, 330
1383          and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets.
1384          Specs available at <https://www.sis.com> and <http://www.xgitech.com>.
1385
1386          To compile this driver as a module, choose M here; the module
1387          will be called sisfb.
1388
1389config FB_SIS_300
1390        bool "SiS 300 series support"
1391        depends on FB_SIS
1392        help
1393          Say Y here to support use of the SiS 300/305, 540, 630 and 730.
1394
1395config FB_SIS_315
1396        bool "SiS 315/330/340 series and XGI support"
1397        depends on FB_SIS
1398        help
1399          Say Y here to support use of the SiS 315, 330 and 340 series
1400          (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well
1401          as XGI V3XT, V5, V8 and Z7.
1402
1403config FB_VIA
1404        tristate "VIA UniChrome (Pro) and Chrome9 display support"
1405        depends on FB && PCI && GPIOLIB && I2C && (X86 || COMPILE_TEST)
1406        select FB_CFB_FILLRECT
1407        select FB_CFB_COPYAREA
1408        select FB_CFB_IMAGEBLIT
1409        select I2C_ALGOBIT
1410        help
1411          This is the frame buffer device driver for Graphics chips of VIA
1412          UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/
1413          CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896
1414          /P4M900,VX800)
1415          Say Y if you have a VIA UniChrome graphics board.
1416
1417          To compile this driver as a module, choose M here: the
1418          module will be called viafb.
1419
1420if FB_VIA
1421
1422config FB_VIA_DIRECT_PROCFS
1423        bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)"
1424        help
1425          Allow direct hardware access to some output registers via procfs.
1426          This is dangerous but may provide the only chance to get the
1427          correct output device configuration.
1428          Its use is strongly discouraged.
1429
1430config FB_VIA_X_COMPATIBILITY
1431        bool "X server compatibility"
1432        help
1433          This option reduces the functionality (power saving, ...) of the
1434          framebuffer to avoid negative impact on the OpenChrome X server.
1435          If you use any X server other than fbdev you should enable this
1436          otherwise it should be safe to disable it and allow using all
1437          features.
1438
1439endif
1440
1441config FB_NEOMAGIC
1442        tristate "NeoMagic display support"
1443        depends on FB && PCI
1444        select FB_MODE_HELPERS
1445        select FB_CFB_FILLRECT
1446        select FB_CFB_COPYAREA
1447        select FB_CFB_IMAGEBLIT
1448        select VGASTATE
1449        help
1450          This driver supports notebooks with NeoMagic PCI chips.
1451          Say Y if you have such a graphics card.
1452
1453          To compile this driver as a module, choose M here: the
1454          module will be called neofb.
1455
1456config FB_KYRO
1457        tristate "IMG Kyro support"
1458        depends on FB && PCI
1459        select FB_CFB_FILLRECT
1460        select FB_CFB_COPYAREA
1461        select FB_CFB_IMAGEBLIT
1462        help
1463          Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
1464          graphics board.
1465
1466          To compile this driver as a module, choose M here: the
1467          module will be called kyrofb.
1468
1469config FB_3DFX
1470        tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
1471        depends on FB && PCI
1472        select FB_CFB_IMAGEBLIT
1473        select FB_CFB_FILLRECT
1474        select FB_CFB_COPYAREA
1475        select FB_MODE_HELPERS
1476        help
1477          This driver supports graphics boards with the 3Dfx Banshee,
1478          Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have
1479          such a graphics board.
1480
1481          To compile this driver as a module, choose M here: the
1482          module will be called tdfxfb.
1483
1484config FB_3DFX_ACCEL
1485        bool "3Dfx Acceleration functions"
1486        depends on FB_3DFX
1487        help
1488        This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer
1489        device driver with acceleration functions.
1490
1491config FB_3DFX_I2C
1492        bool "Enable DDC/I2C support"
1493        depends on FB_3DFX
1494        select FB_DDC
1495        default y
1496        help
1497          Say Y here if you want DDC/I2C support for your 3dfx Voodoo3.
1498
1499config FB_VOODOO1
1500        tristate "3Dfx Voodoo Graphics (sst1) support"
1501        depends on FB && PCI
1502        select FB_CFB_FILLRECT
1503        select FB_CFB_COPYAREA
1504        select FB_CFB_IMAGEBLIT
1505        help
1506          Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
1507          Voodoo2 (cvg) based graphics card.
1508
1509          To compile this driver as a module, choose M here: the
1510          module will be called sstfb.
1511
1512          WARNING: Do not use any application that uses the 3D engine
1513          (namely glide) while using this driver.
1514          Please read the <file:Documentation/fb/sstfb.rst> for supported
1515          options and other important info  support.
1516
1517config FB_VT8623
1518        tristate "VIA VT8623 support"
1519        depends on FB && PCI
1520        select FB_CFB_FILLRECT
1521        select FB_CFB_COPYAREA
1522        select FB_CFB_IMAGEBLIT
1523        select FB_TILEBLITTING
1524        select FB_SVGALIB
1525        select VGASTATE
1526        select FONT_8x16 if FRAMEBUFFER_CONSOLE
1527        help
1528          Driver for CastleRock integrated graphics core in the
1529          VIA VT8623 [Apollo CLE266] chipset.
1530
1531config FB_TRIDENT
1532        tristate "Trident/CyberXXX/CyberBlade support"
1533        depends on FB && PCI
1534        select FB_CFB_FILLRECT
1535        select FB_CFB_COPYAREA
1536        select FB_CFB_IMAGEBLIT
1537        select FB_DDC
1538        select FB_MODE_HELPERS
1539        help
1540          This is the frame buffer device driver for Trident PCI/AGP chipsets.
1541          Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D
1542          and Blade XP.
1543          There are also integrated versions of these chips called CyberXXXX,
1544          CyberImage or CyberBlade. These chips are mostly found in laptops
1545          but also on some motherboards including early VIA EPIA motherboards.
1546          For more information, read <file:Documentation/fb/tridentfb.rst>
1547
1548          Say Y if you have such a graphics board.
1549
1550          To compile this driver as a module, choose M here: the
1551          module will be called tridentfb.
1552
1553config FB_ARK
1554        tristate "ARK 2000PV support"
1555        depends on FB && PCI
1556        select FB_CFB_FILLRECT
1557        select FB_CFB_COPYAREA
1558        select FB_CFB_IMAGEBLIT
1559        select FB_TILEBLITTING
1560        select FB_SVGALIB
1561        select VGASTATE
1562        select FONT_8x16 if FRAMEBUFFER_CONSOLE
1563        help
1564          Driver for PCI graphics boards with ARK 2000PV chip
1565          and ICS 5342 RAMDAC.
1566
1567config FB_PM3
1568        tristate "Permedia3 support"
1569        depends on FB && PCI
1570        select FB_CFB_FILLRECT
1571        select FB_CFB_COPYAREA
1572        select FB_CFB_IMAGEBLIT
1573        help
1574          This is the frame buffer device driver for the 3DLabs Permedia3
1575          chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
1576          similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
1577          and maybe other boards.
1578
1579config FB_CARMINE
1580        tristate "Fujitsu carmine frame buffer support"
1581        depends on FB && PCI
1582        select FB_CFB_FILLRECT
1583        select FB_CFB_COPYAREA
1584        select FB_CFB_IMAGEBLIT
1585        help
1586          This is the frame buffer device driver for the Fujitsu Carmine chip.
1587          The driver provides two independent frame buffer devices.
1588
1589choice
1590        depends on FB_CARMINE
1591        prompt "DRAM timing"
1592        default FB_CARMINE_DRAM_EVAL
1593
1594config FB_CARMINE_DRAM_EVAL
1595        bool "Eval board timings"
1596        help
1597          Use timings which work on the eval card.
1598
1599config CARMINE_DRAM_CUSTOM
1600        bool "Custom board timings"
1601        help
1602          Use custom board timings.
1603endchoice
1604
1605config FB_AU1100
1606        bool "Au1100 LCD Driver"
1607        depends on (FB = y) && MIPS_ALCHEMY
1608        select FB_CFB_FILLRECT
1609        select FB_CFB_COPYAREA
1610        select FB_CFB_IMAGEBLIT
1611        help
1612          This is the framebuffer driver for the AMD Au1100 SOC.  It can drive
1613          various panels and CRTs by passing in kernel cmd line option
1614          au1100fb:panel=<name>.
1615
1616config FB_AU1200
1617        bool "Au1200/Au1300 LCD Driver"
1618        depends on (FB = y) && MIPS_ALCHEMY
1619        select FB_SYS_FILLRECT
1620        select FB_SYS_COPYAREA
1621        select FB_SYS_IMAGEBLIT
1622        select FB_SYS_FOPS
1623        help
1624          This is the framebuffer driver for the Au1200/Au1300 SOCs.
1625          It can drive various panels and CRTs by passing in kernel cmd line
1626          option au1200fb:panel=<name>.
1627
1628config FB_VT8500
1629        bool "VIA VT8500 framebuffer support"
1630        depends on (FB = y) && ARM && ARCH_VT8500
1631        select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1632        select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1633        select FB_SYS_IMAGEBLIT
1634        select FB_MODE_HELPERS
1635        select VIDEOMODE_HELPERS
1636        help
1637          This is the framebuffer driver for VIA VT8500 integrated LCD
1638          controller.
1639
1640config FB_WM8505
1641        bool "Wondermedia WM8xxx-series frame buffer support"
1642        depends on (FB = y) && HAS_IOMEM && (ARCH_VT8500 || COMPILE_TEST)
1643        select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1644        select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1645        select FB_SYS_IMAGEBLIT
1646        select FB_MODE_HELPERS
1647        select VIDEOMODE_HELPERS
1648        help
1649          This is the framebuffer driver for WonderMedia WM8xxx-series
1650          integrated LCD controller. This driver covers the WM8505, WM8650
1651          and WM8850 SoCs.
1652
1653config FB_WMT_GE_ROPS
1654        bool "VT8500/WM8xxx accelerated raster ops support"
1655        depends on (FB = y) && (FB_VT8500 || FB_WM8505)
1656        help
1657          This adds support for accelerated raster operations on the
1658          VIA VT8500 and Wondermedia 85xx series SoCs.
1659
1660source "drivers/video/fbdev/geode/Kconfig"
1661
1662config FB_HIT
1663        tristate "HD64461 Frame Buffer support"
1664        depends on FB && HD64461
1665        select FB_CFB_FILLRECT
1666        select FB_CFB_COPYAREA
1667        select FB_CFB_IMAGEBLIT
1668        help
1669          This is the frame buffer device driver for the Hitachi HD64461 LCD
1670          frame buffer card.
1671
1672config FB_PMAG_AA
1673        tristate "PMAG-AA TURBOchannel framebuffer support"
1674        depends on FB && TC
1675        select FB_CFB_FILLRECT
1676        select FB_CFB_COPYAREA
1677        select FB_CFB_IMAGEBLIT
1678        help
1679          Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
1680          used mainly in the MIPS-based DECstation series.
1681
1682config FB_PMAG_BA
1683        tristate "PMAG-BA TURBOchannel framebuffer support"
1684        depends on FB && TC
1685        select FB_CFB_FILLRECT
1686        select FB_CFB_COPYAREA
1687        select FB_CFB_IMAGEBLIT
1688        help
1689          Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
1690          used mainly in the MIPS-based DECstation series.
1691
1692config FB_PMAGB_B
1693        tristate "PMAGB-B TURBOchannel framebuffer support"
1694        depends on FB && TC
1695        select FB_CFB_FILLRECT
1696        select FB_CFB_COPYAREA
1697        select FB_CFB_IMAGEBLIT
1698        help
1699          Support for the PMAGB-B TURBOchannel framebuffer card used mainly
1700          in the MIPS-based DECstation series. The card is currently only
1701          supported in 1280x1024x8 mode.
1702
1703config FB_MAXINE
1704        bool "Maxine (Personal DECstation) onboard framebuffer support"
1705        depends on (FB = y) && MACH_DECSTATION
1706        select FB_CFB_FILLRECT
1707        select FB_CFB_COPYAREA
1708        select FB_CFB_IMAGEBLIT
1709        help
1710          Support for the onboard framebuffer (1024x768x8) in the Personal
1711          DECstation series (Personal DECstation 5000/20, /25, /33, /50,
1712          Codename "Maxine").
1713
1714config FB_G364
1715        bool "G364 frame buffer support"
1716        depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
1717        select FB_CFB_FILLRECT
1718        select FB_CFB_COPYAREA
1719        select FB_CFB_IMAGEBLIT
1720        help
1721          The G364 driver is the framebuffer used in MIPS Magnum 4000 and
1722          Olivetti M700-10 systems.
1723
1724config FB_68328
1725        bool "Motorola 68328 native frame buffer support"
1726        depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
1727        select FB_CFB_FILLRECT
1728        select FB_CFB_COPYAREA
1729        select FB_CFB_IMAGEBLIT
1730        help
1731          Say Y here if you want to support the built-in frame buffer of
1732          the Motorola 68328 CPU family.
1733
1734config FB_PXA168
1735        tristate "PXA168/910 LCD framebuffer support"
1736        depends on FB && HAVE_CLK && HAS_IOMEM
1737        depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST
1738        select FB_CFB_FILLRECT
1739        select FB_CFB_COPYAREA
1740        select FB_CFB_IMAGEBLIT
1741        help
1742          Frame buffer driver for the built-in LCD controller in the Marvell
1743          MMP processor.
1744
1745config FB_PXA
1746        tristate "PXA LCD framebuffer support"
1747        depends on FB && ARCH_PXA
1748        select FB_CFB_FILLRECT
1749        select FB_CFB_COPYAREA
1750        select FB_CFB_IMAGEBLIT
1751        select VIDEOMODE_HELPERS if OF
1752        select FB_MODE_HELPERS if OF
1753        help
1754          Frame buffer driver for the built-in LCD controller in the Intel
1755          PXA2x0 processor.
1756
1757          This driver is also available as a module ( = code which can be
1758          inserted and removed from the running kernel whenever you want). The
1759          module will be called pxafb. If you want to compile it as a module,
1760          say M here and read <file:Documentation/kbuild/modules.rst>.
1761
1762          If unsure, say N.
1763
1764config FB_PXA_OVERLAY
1765        bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer"
1766        depends on FB_PXA && (PXA27x || PXA3xx)
1767
1768config FB_PXA_SMARTPANEL
1769        bool "PXA Smartpanel LCD support"
1770        depends on FB_PXA
1771
1772config FB_PXA_PARAMETERS
1773        bool "PXA LCD command line parameters"
1774        depends on FB_PXA
1775        help
1776          Enable the use of kernel command line or module parameters
1777          to configure the physical properties of the LCD panel when
1778          using the PXA LCD driver.
1779
1780          This option allows you to override the panel parameters
1781          supplied by the platform in order to support multiple
1782          different models of flatpanel. If you will only be using a
1783          single model of flatpanel then you can safely leave this
1784          option disabled.
1785
1786          <file:Documentation/fb/pxafb.rst> describes the available parameters.
1787
1788config PXA3XX_GCU
1789        tristate "PXA3xx 2D graphics accelerator driver"
1790        depends on FB_PXA
1791        help
1792          Kernelspace driver for the 2D graphics controller unit (GCU)
1793          found on PXA3xx processors. There is a counterpart driver in the
1794          DirectFB suite, see http://www.directfb.org/
1795
1796          If you compile this as a module, it will be called pxa3xx_gcu.
1797
1798config FB_FSL_DIU
1799        tristate "Freescale DIU framebuffer support"
1800        depends on FB && FSL_SOC
1801        select FB_MODE_HELPERS
1802        select FB_CFB_FILLRECT
1803        select FB_CFB_COPYAREA
1804        select FB_CFB_IMAGEBLIT
1805        select PPC_LIB_RHEAP
1806        help
1807          Framebuffer driver for the Freescale SoC DIU
1808
1809config FB_W100
1810        tristate "W100 frame buffer support"
1811        depends on FB && HAS_IOMEM && (ARCH_PXA || COMPILE_TEST)
1812        select FB_CFB_FILLRECT
1813        select FB_CFB_COPYAREA
1814        select FB_CFB_IMAGEBLIT
1815        help
1816          Frame buffer driver for the w100 as found on the Sharp SL-Cxx series.
1817          It can also drive the w3220 chip found on iPAQ hx4700.
1818
1819          This driver is also available as a module ( = code which can be
1820          inserted and removed from the running kernel whenever you want). The
1821          module will be called w100fb. If you want to compile it as a module,
1822          say M here and read <file:Documentation/kbuild/modules.rst>.
1823
1824          If unsure, say N.
1825
1826config FB_SH_MOBILE_LCDC
1827        tristate "SuperH Mobile LCDC framebuffer support"
1828        depends on FB && HAVE_CLK && HAS_IOMEM
1829        depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
1830        select FB_SYS_FILLRECT
1831        select FB_SYS_COPYAREA
1832        select FB_SYS_IMAGEBLIT
1833        select FB_SYS_FOPS
1834        select FB_DEFERRED_IO
1835        select FB_BACKLIGHT
1836        help
1837          Frame buffer driver for the on-chip SH-Mobile LCD controller.
1838
1839config FB_TMIO
1840        tristate "Toshiba Mobile IO FrameBuffer support"
1841        depends on FB && (MFD_TMIO || COMPILE_TEST)
1842        select FB_CFB_FILLRECT
1843        select FB_CFB_COPYAREA
1844        select FB_CFB_IMAGEBLIT
1845        help
1846          Frame buffer driver for the Toshiba Mobile IO integrated as found
1847          on the Sharp SL-6000 series
1848
1849          This driver is also available as a module ( = code which can be
1850          inserted and removed from the running kernel whenever you want). The
1851          module will be called tmiofb. If you want to compile it as a module,
1852          say M here and read <file:Documentation/kbuild/modules.rst>.
1853
1854          If unsure, say N.
1855
1856config FB_TMIO_ACCELL
1857        bool "tmiofb acceleration"
1858        depends on FB_TMIO
1859        default y
1860
1861config FB_S3C
1862        tristate "Samsung S3C framebuffer support"
1863        depends on FB && HAVE_CLK && HAS_IOMEM
1864        depends on (CPU_S3C2416 || ARCH_S3C64XX) || COMPILE_TEST
1865        select FB_CFB_FILLRECT
1866        select FB_CFB_COPYAREA
1867        select FB_CFB_IMAGEBLIT
1868        help
1869          Frame buffer driver for the built-in FB controller in the Samsung
1870          SoC line from the S3C2443 onwards, including the S3C2416, S3C2450,
1871          and the S3C64XX series such as the S3C6400 and S3C6410.
1872
1873          These chips all have the same basic framebuffer design with the
1874          actual capabilities depending on the chip. For instance the S3C6400
1875          and S3C6410 support 4 hardware windows whereas the S3C24XX series
1876          currently only have two.
1877
1878          Currently the support is only for the S3C6400 and S3C6410 SoCs.
1879
1880config FB_S3C_DEBUG_REGWRITE
1881        bool "Debug register writes"
1882        depends on FB_S3C
1883        help
1884          Show all register writes via pr_debug()
1885
1886config FB_S3C2410
1887        tristate "S3C2410 LCD framebuffer support"
1888        depends on FB && ARCH_S3C24XX
1889        select FB_CFB_FILLRECT
1890        select FB_CFB_COPYAREA
1891        select FB_CFB_IMAGEBLIT
1892        help
1893          Frame buffer driver for the built-in LCD controller in the Samsung
1894          S3C2410 processor.
1895
1896          This driver is also available as a module ( = code which can be
1897          inserted and removed from the running kernel whenever you want). The
1898          module will be called s3c2410fb. If you want to compile it as a module,
1899          say M here and read <file:Documentation/kbuild/modules.rst>.
1900
1901          If unsure, say N.
1902config FB_S3C2410_DEBUG
1903        bool "S3C2410 lcd debug messages"
1904        depends on FB_S3C2410
1905        help
1906          Turn on debugging messages. Note that you can set/unset at run time
1907          through sysfs
1908
1909config FB_SM501
1910        tristate "Silicon Motion SM501 framebuffer support"
1911        depends on FB && MFD_SM501
1912        select FB_CFB_FILLRECT
1913        select FB_CFB_COPYAREA
1914        select FB_CFB_IMAGEBLIT
1915        help
1916          Frame buffer driver for the CRT and LCD controllers in the Silicon
1917          Motion SM501.
1918
1919          This driver is also available as a module ( = code which can be
1920          inserted and removed from the running kernel whenever you want). The
1921          module will be called sm501fb. If you want to compile it as a module,
1922          say M here and read <file:Documentation/kbuild/modules.rst>.
1923
1924          If unsure, say N.
1925
1926config FB_SMSCUFX
1927        tristate "SMSC UFX6000/7000 USB Framebuffer support"
1928        depends on FB && USB
1929        select FB_MODE_HELPERS
1930        select FB_SYS_FILLRECT
1931        select FB_SYS_COPYAREA
1932        select FB_SYS_IMAGEBLIT
1933        select FB_SYS_FOPS
1934        select FB_DEFERRED_IO
1935        help
1936          This is a kernel framebuffer driver for SMSC UFX USB devices.
1937          Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1938          mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000
1939          (USB 3.0) devices.
1940          To compile as a module, choose M here: the module name is smscufx.
1941
1942config FB_UDL
1943        tristate "Displaylink USB Framebuffer support"
1944        depends on FB && USB
1945        select FB_MODE_HELPERS
1946        select FB_SYS_FILLRECT
1947        select FB_SYS_COPYAREA
1948        select FB_SYS_IMAGEBLIT
1949        select FB_SYS_FOPS
1950        select FB_DEFERRED_IO
1951        help
1952          This is a kernel framebuffer driver for DisplayLink USB devices.
1953          Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1954          mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices.
1955          To compile as a module, choose M here: the module name is udlfb.
1956
1957config FB_IBM_GXT4500
1958        tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
1959        depends on FB
1960        select FB_CFB_FILLRECT
1961        select FB_CFB_COPYAREA
1962        select FB_CFB_IMAGEBLIT
1963        help
1964          Say Y here to enable support for the IBM GXT4000P/6000P and
1965          GXT4500P/6500P display adaptor based on Raster Engine RC1000,
1966          found on some IBM System P (pSeries) machines. This driver
1967          doesn't use Geometry Engine GT1000. This driver also supports
1968          AGP Fire GL2/3/4 cards on x86.
1969
1970config FB_PS3
1971        tristate "PS3 GPU framebuffer driver"
1972        depends on FB && PS3_PS3AV
1973        select FB_SYS_FILLRECT
1974        select FB_SYS_COPYAREA
1975        select FB_SYS_IMAGEBLIT
1976        select FB_SYS_FOPS
1977        help
1978          Include support for the virtual frame buffer in the PS3 platform.
1979
1980config FB_PS3_DEFAULT_SIZE_M
1981        int "PS3 default frame buffer size (in MiB)"
1982        depends on FB_PS3
1983        default 9
1984        help
1985          This is the default size (in MiB) of the virtual frame buffer in
1986          the PS3.
1987          The default value can be overridden on the kernel command line
1988          using the "ps3fb" option (e.g. "ps3fb=9M");
1989
1990config FB_XILINX
1991        tristate "Xilinx frame buffer support"
1992        depends on FB && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
1993        select FB_CFB_FILLRECT
1994        select FB_CFB_COPYAREA
1995        select FB_CFB_IMAGEBLIT
1996        help
1997          Include support for the Xilinx ML300/ML403 reference design
1998          framebuffer. ML300 carries a 640*480 LCD display on the board,
1999          ML403 uses a standard DB15 VGA connector.
2000
2001config FB_GOLDFISH
2002        tristate "Goldfish Framebuffer"
2003        depends on FB
2004        depends on GOLDFISH || COMPILE_TEST
2005        select FB_CFB_FILLRECT
2006        select FB_CFB_COPYAREA
2007        select FB_CFB_IMAGEBLIT
2008        help
2009          Framebuffer driver for Goldfish Virtual Platform
2010
2011config FB_COBALT
2012        tristate "Cobalt server LCD frame buffer support"
2013        depends on FB && MIPS_COBALT
2014
2015config FB_SH7760
2016        bool "SH7760/SH7763/SH7720/SH7721 LCDC support"
2017        depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
2018                || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
2019        select FB_CFB_FILLRECT
2020        select FB_CFB_COPYAREA
2021        select FB_CFB_IMAGEBLIT
2022        help
2023          Support for the SH7760/SH7763/SH7720/SH7721 integrated
2024          (D)STN/TFT LCD Controller.
2025          Supports display resolutions up to 1024x1024 pixel, grayscale and
2026          color operation, with depths ranging from 1 bpp to 8 bpp monochrome
2027          and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for
2028          panels <= 320 pixel horizontal resolution.
2029
2030config FB_DA8XX
2031        tristate "DA8xx/OMAP-L1xx/AM335x Framebuffer support"
2032        depends on FB && HAVE_CLK && HAS_IOMEM
2033        depends on ARCH_DAVINCI_DA8XX || SOC_AM33XX || COMPILE_TEST
2034        select FB_CFB_FILLRECT
2035        select FB_CFB_COPYAREA
2036        select FB_CFB_IMAGEBLIT
2037        select FB_CFB_REV_PIXELS_IN_BYTE
2038        select FB_MODE_HELPERS
2039        select VIDEOMODE_HELPERS
2040        help
2041          This is the frame buffer device driver for the TI LCD controller
2042          found on DA8xx/OMAP-L1xx/AM335x SoCs.
2043          If unsure, say N.
2044
2045config FB_VIRTUAL
2046        tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
2047        depends on FB
2048        select FB_SYS_FILLRECT
2049        select FB_SYS_COPYAREA
2050        select FB_SYS_IMAGEBLIT
2051        select FB_SYS_FOPS
2052        help
2053          This is a `virtual' frame buffer device. It operates on a chunk of
2054          unswappable kernel memory instead of on the memory of a graphics
2055          board. This means you cannot see any output sent to this frame
2056          buffer device, while it does consume precious memory. The main use
2057          of this frame buffer device is testing and debugging the frame
2058          buffer subsystem. Do NOT enable it for normal systems! To protect
2059          the innocent, it has to be enabled explicitly at boot time using the
2060          kernel option `video=vfb:'.
2061
2062          To compile this driver as a module, choose M here: the
2063          module will be called vfb. In order to load it, you must use
2064          the vfb_enable=1 option.
2065
2066          If unsure, say N.
2067
2068config XEN_FBDEV_FRONTEND
2069        tristate "Xen virtual frame buffer support"
2070        depends on FB && XEN
2071        select FB_SYS_FILLRECT
2072        select FB_SYS_COPYAREA
2073        select FB_SYS_IMAGEBLIT
2074        select FB_SYS_FOPS
2075        select FB_DEFERRED_IO
2076        select XEN_XENBUS_FRONTEND
2077        default y
2078        help
2079          This driver implements the front-end of the Xen virtual
2080          frame buffer driver.  It communicates with a back-end
2081          in another domain.
2082
2083config FB_METRONOME
2084        tristate "E-Ink Metronome/8track controller support"
2085        depends on FB
2086        select FB_SYS_FILLRECT
2087        select FB_SYS_COPYAREA
2088        select FB_SYS_IMAGEBLIT
2089        select FB_SYS_FOPS
2090        select FB_DEFERRED_IO
2091        help
2092          This driver implements support for the E-Ink Metronome
2093          controller. The pre-release name for this device was 8track
2094          and could also have been called by some vendors as PVI-nnnn.
2095
2096config FB_MB862XX
2097        tristate "Fujitsu MB862xx GDC support"
2098        depends on FB
2099        depends on PCI || (OF && PPC)
2100        select FB_CFB_FILLRECT
2101        select FB_CFB_COPYAREA
2102        select FB_CFB_IMAGEBLIT
2103        help
2104          Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
2105
2106choice
2107        prompt "GDC variant"
2108        depends on FB_MB862XX
2109
2110config FB_MB862XX_PCI_GDC
2111        bool "Carmine/Coral-P(A) GDC"
2112        depends on PCI
2113        help
2114          This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
2115          PCI graphics controller devices.
2116
2117config FB_MB862XX_LIME
2118        bool "Lime GDC"
2119        depends on OF && PPC
2120        select FB_FOREIGN_ENDIAN
2121        select FB_LITTLE_ENDIAN
2122        help
2123          Framebuffer support for Fujitsu Lime GDC on host CPU bus.
2124
2125endchoice
2126
2127config FB_MB862XX_I2C
2128        bool "Support I2C bus on MB862XX GDC"
2129        depends on FB_MB862XX && I2C
2130        depends on FB_MB862XX=m || I2C=y
2131        default y
2132        help
2133          Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter
2134          driver to support accessing I2C devices on controller's I2C bus.
2135          These are usually some video decoder chips.
2136
2137config FB_EP93XX
2138        tristate "EP93XX frame buffer support"
2139        depends on FB && ARCH_EP93XX
2140        select FB_CFB_FILLRECT
2141        select FB_CFB_COPYAREA
2142        select FB_CFB_IMAGEBLIT
2143        help
2144          Framebuffer driver for the Cirrus Logic EP93XX series of processors.
2145          This driver is also available as a module. The module will be called
2146          ep93xx-fb.
2147
2148config FB_PRE_INIT_FB
2149        bool "Don't reinitialize, use bootloader's GDC/Display configuration"
2150        depends on FB && FB_MB862XX_LIME
2151        help
2152          Select this option if display contents should be inherited as set by
2153          the bootloader.
2154
2155config FB_MX3
2156        tristate "MX3 Framebuffer support"
2157        depends on FB && MX3_IPU
2158        select BACKLIGHT_CLASS_DEVICE
2159        select FB_CFB_FILLRECT
2160        select FB_CFB_COPYAREA
2161        select FB_CFB_IMAGEBLIT
2162        default y
2163        help
2164          This is a framebuffer device for the i.MX31 LCD Controller. So
2165          far only synchronous displays are supported. If you plan to use
2166          an LCD display with your i.MX31 system, say Y here.
2167
2168config FB_BROADSHEET
2169        tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
2170        depends on FB && (ARCH_PXA || COMPILE_TEST)
2171        select FB_SYS_FILLRECT
2172        select FB_SYS_COPYAREA
2173        select FB_SYS_IMAGEBLIT
2174        select FB_SYS_FOPS
2175        select FB_DEFERRED_IO
2176        help
2177          This driver implements support for the E-Ink Broadsheet
2178          controller. The release name for this device was Epson S1D13521
2179          and could also have been called by other names when coupled with
2180          a bridge adapter.
2181
2182config FB_HYPERV
2183        tristate "Microsoft Hyper-V Synthetic Video support"
2184        depends on FB && HYPERV
2185        select FB_CFB_FILLRECT
2186        select FB_CFB_COPYAREA
2187        select FB_CFB_IMAGEBLIT
2188        select FB_DEFERRED_IO
2189        select DMA_CMA if HAVE_DMA_CONTIGUOUS && CMA
2190        help
2191          This framebuffer driver supports Microsoft Hyper-V Synthetic Video.
2192
2193config FB_SIMPLE
2194        bool "Simple framebuffer support"
2195        depends on (FB = y)
2196        select FB_CFB_FILLRECT
2197        select FB_CFB_COPYAREA
2198        select FB_CFB_IMAGEBLIT
2199        help
2200          Say Y if you want support for a simple frame-buffer.
2201
2202          This driver assumes that the display hardware has been initialized
2203          before the kernel boots, and the kernel will simply render to the
2204          pre-allocated frame buffer surface.
2205
2206          Configuration re: surface address, size, and format must be provided
2207          through device tree, or plain old platform data.
2208
2209config FB_SSD1307
2210        tristate "Solomon SSD1307 framebuffer support"
2211        depends on FB && I2C
2212        depends on OF
2213        depends on GPIOLIB || COMPILE_TEST
2214        select FB_SYS_FOPS
2215        select FB_SYS_FILLRECT
2216        select FB_SYS_COPYAREA
2217        select FB_SYS_IMAGEBLIT
2218        select FB_DEFERRED_IO
2219        select PWM
2220        select FB_BACKLIGHT
2221        help
2222          This driver implements support for the Solomon SSD1307
2223          OLED controller over I2C.
2224
2225config FB_SM712
2226        tristate "Silicon Motion SM712 framebuffer support"
2227        depends on FB && PCI
2228        select FB_CFB_FILLRECT
2229        select FB_CFB_COPYAREA
2230        select FB_CFB_IMAGEBLIT
2231        help
2232          Frame buffer driver for the Silicon Motion SM710, SM712, SM721
2233          and SM722 chips.
2234
2235          This driver is also available as a module. The module will be
2236          called sm712fb. If you want to compile it as a module, say M
2237          here and read <file:Documentation/kbuild/modules.rst>.
2238
2239source "drivers/video/fbdev/omap/Kconfig"
2240source "drivers/video/fbdev/omap2/Kconfig"
2241source "drivers/video/fbdev/mmp/Kconfig"
2242