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
 586        depends on PCI || TC
 587        depends on ALPHA || TC
 588        select FB_CFB_FILLRECT
 589        select FB_CFB_COPYAREA
 590        select FB_CFB_IMAGEBLIT
 591        select BITREVERSE
 592        help
 593          This is the frame buffer device driver for generic TGA and SFB+
 594          graphic cards.  These include DEC ZLXp-E1, -E2 and -E3 PCI cards,
 595          also known as PBXGA-A, -B and -C, and DEC ZLX-E1, -E2 and -E3
 596          TURBOchannel cards, also known as PMAGD-A, -B and -C.
 597
 598          Due to hardware limitations ZLX-E2 and E3 cards are not supported
 599          for DECstation 5000/200 systems.  Additionally due to firmware
 600          limitations these cards may cause troubles with booting DECstation
 601          5000/240 and /260 systems, but are fully supported under Linux if
 602          you manage to get it going. ;-)
 603
 604          Say Y if you have one of those.
 605
 606config FB_UVESA
 607        tristate "Userspace VESA VGA graphics support"
 608        depends on FB && CONNECTOR
 609        select FB_CFB_FILLRECT
 610        select FB_CFB_COPYAREA
 611        select FB_CFB_IMAGEBLIT
 612        select FB_MODE_HELPERS
 613        help
 614          This is the frame buffer driver for generic VBE 2.0 compliant
 615          graphic cards. It can also take advantage of VBE 3.0 features,
 616          such as refresh rate adjustment.
 617
 618          This driver generally provides more features than vesafb but
 619          requires a userspace helper application called 'v86d'. See
 620          <file:Documentation/fb/uvesafb.rst> for more information.
 621
 622          If unsure, say N.
 623
 624config FB_VESA
 625        bool "VESA VGA graphics support"
 626        depends on (FB = y) && X86
 627        select FB_CFB_FILLRECT
 628        select FB_CFB_COPYAREA
 629        select FB_CFB_IMAGEBLIT
 630        select FB_BOOT_VESA_SUPPORT
 631        help
 632          This is the frame buffer device driver for generic VESA 2.0
 633          compliant graphic cards. The older VESA 1.2 cards are not supported.
 634          You will get a boot time penguin logo at no additional cost. Please
 635          read <file:Documentation/fb/vesafb.rst>. If unsure, say Y.
 636
 637config FB_EFI
 638        bool "EFI-based Framebuffer Support"
 639        depends on (FB = y) && !IA64 && EFI
 640        select DRM_PANEL_ORIENTATION_QUIRKS
 641        select FB_CFB_FILLRECT
 642        select FB_CFB_COPYAREA
 643        select FB_CFB_IMAGEBLIT
 644        help
 645          This is the EFI frame buffer device driver. If the firmware on
 646          your platform is EFI 1.10 or UEFI 2.0, select Y to add support for
 647          using the EFI framebuffer as your console.
 648
 649config FB_N411
 650        tristate "N411 Apollo/Hecuba devkit support"
 651        depends on FB && X86 && MMU
 652        select FB_SYS_FILLRECT
 653        select FB_SYS_COPYAREA
 654        select FB_SYS_IMAGEBLIT
 655        select FB_SYS_FOPS
 656        select FB_DEFERRED_IO
 657        select FB_HECUBA
 658        help
 659          This enables support for the Apollo display controller in its
 660          Hecuba form using the n411 devkit.
 661
 662config FB_HGA
 663        tristate "Hercules mono graphics support"
 664        depends on FB && X86
 665        help
 666          Say Y here if you have a Hercules mono graphics card.
 667
 668          To compile this driver as a module, choose M here: the
 669          module will be called hgafb.
 670
 671          As this card technology is at least 25 years old,
 672          most people will answer N here.
 673
 674config FB_GBE
 675        bool "SGI Graphics Backend frame buffer support"
 676        depends on (FB = y) && HAS_IOMEM
 677        depends on SGI_IP32 || COMPILE_TEST
 678        select FB_CFB_FILLRECT
 679        select FB_CFB_COPYAREA
 680        select FB_CFB_IMAGEBLIT
 681        help
 682          This is the frame buffer device driver for SGI Graphics Backend.
 683          This chip is used in SGI O2 and Visual Workstation 320/540.
 684
 685config FB_GBE_MEM
 686        int "Video memory size in MB"
 687        depends on FB_GBE
 688        default 4
 689        help
 690          This is the amount of memory reserved for the framebuffer,
 691          which can be any value between 1MB and 8MB.
 692
 693config FB_SBUS
 694        bool "SBUS and UPA framebuffers"
 695        depends on (FB = y) && SPARC
 696        help
 697          Say Y if you want support for SBUS or UPA based frame buffer device.
 698
 699config FB_BW2
 700        bool "BWtwo support"
 701        depends on (FB = y) && (SPARC && FB_SBUS)
 702        select FB_CFB_FILLRECT
 703        select FB_CFB_COPYAREA
 704        select FB_CFB_IMAGEBLIT
 705        help
 706          This is the frame buffer device driver for the BWtwo frame buffer.
 707
 708config FB_CG3
 709        bool "CGthree support"
 710        depends on (FB = y) && (SPARC && FB_SBUS)
 711        select FB_CFB_FILLRECT
 712        select FB_CFB_COPYAREA
 713        select FB_CFB_IMAGEBLIT
 714        help
 715          This is the frame buffer device driver for the CGthree frame buffer.
 716
 717config FB_CG6
 718        bool "CGsix (GX,TurboGX) support"
 719        depends on (FB = y) && (SPARC && FB_SBUS)
 720        select FB_CFB_COPYAREA
 721        select FB_CFB_IMAGEBLIT
 722        help
 723          This is the frame buffer device driver for the CGsix (GX, TurboGX)
 724          frame buffer.
 725
 726config FB_FFB
 727        bool "Creator/Creator3D/Elite3D support"
 728        depends on FB_SBUS && SPARC64
 729        select FB_CFB_COPYAREA
 730        select FB_CFB_IMAGEBLIT
 731        help
 732          This is the frame buffer device driver for the Creator, Creator3D,
 733          and Elite3D graphics boards.
 734
 735config FB_TCX
 736        bool "TCX (SS4/SS5 only) support"
 737        depends on FB_SBUS
 738        select FB_CFB_FILLRECT
 739        select FB_CFB_COPYAREA
 740        select FB_CFB_IMAGEBLIT
 741        help
 742          This is the frame buffer device driver for the TCX 24/8bit frame
 743          buffer.
 744
 745config FB_CG14
 746        bool "CGfourteen (SX) support"
 747        depends on FB_SBUS
 748        select FB_CFB_FILLRECT
 749        select FB_CFB_COPYAREA
 750        select FB_CFB_IMAGEBLIT
 751        help
 752          This is the frame buffer device driver for the CGfourteen frame
 753          buffer on Desktop SPARCsystems with the SX graphics option.
 754
 755config FB_P9100
 756        bool "P9100 (Sparcbook 3 only) support"
 757        depends on FB_SBUS
 758        select FB_CFB_FILLRECT
 759        select FB_CFB_COPYAREA
 760        select FB_CFB_IMAGEBLIT
 761        help
 762          This is the frame buffer device driver for the P9100 card
 763          supported on Sparcbook 3 machines.
 764
 765config FB_LEO
 766        bool "Leo (ZX) support"
 767        depends on FB_SBUS
 768        select FB_CFB_FILLRECT
 769        select FB_CFB_COPYAREA
 770        select FB_CFB_IMAGEBLIT
 771        help
 772          This is the frame buffer device driver for the SBUS-based Sun ZX
 773          (leo) frame buffer cards.
 774
 775config FB_XVR500
 776        bool "Sun XVR-500 3DLABS Wildcat support"
 777        depends on (FB = y) && PCI && SPARC64
 778        select FB_CFB_FILLRECT
 779        select FB_CFB_COPYAREA
 780        select FB_CFB_IMAGEBLIT
 781        help
 782          This is the framebuffer device for the Sun XVR-500 and similar
 783          graphics cards based upon the 3DLABS Wildcat chipset.  The driver
 784          only works on sparc64 systems where the system firmware has
 785          mostly initialized the card already.  It is treated as a
 786          completely dumb framebuffer device.
 787
 788config FB_XVR2500
 789        bool "Sun XVR-2500 3DLABS Wildcat support"
 790        depends on (FB = y) && PCI && SPARC64
 791        select FB_CFB_FILLRECT
 792        select FB_CFB_COPYAREA
 793        select FB_CFB_IMAGEBLIT
 794        help
 795          This is the framebuffer device for the Sun XVR-2500 and similar
 796          graphics cards based upon the 3DLABS Wildcat chipset.  The driver
 797          only works on sparc64 systems where the system firmware has
 798          mostly initialized the card already.  It is treated as a
 799          completely dumb framebuffer device.
 800
 801config FB_XVR1000
 802        bool "Sun XVR-1000 support"
 803        depends on (FB = y) && SPARC64
 804        select FB_CFB_FILLRECT
 805        select FB_CFB_COPYAREA
 806        select FB_CFB_IMAGEBLIT
 807        help
 808          This is the framebuffer device for the Sun XVR-1000 and similar
 809          graphics cards.  The driver only works on sparc64 systems where
 810          the system firmware has mostly initialized the card already.  It
 811          is treated as a completely dumb framebuffer device.
 812
 813config FB_PVR2
 814        tristate "NEC PowerVR 2 display support"
 815        depends on FB && HAS_IOMEM
 816        depends on SH_DREAMCAST || COMPILE_TEST
 817        select FB_CFB_FILLRECT
 818        select FB_CFB_COPYAREA
 819        select FB_CFB_IMAGEBLIT
 820        help
 821          Say Y here if you have a PowerVR 2 card in your box.  If you plan to
 822          run linux on your Dreamcast, you will have to say Y here.
 823          This driver may or may not work on other PowerVR 2 cards, but is
 824          totally untested.  Use at your own risk.  If unsure, say N.
 825
 826          To compile this driver as a module, choose M here: the
 827          module will be called pvr2fb.
 828
 829          You can pass several parameters to the driver at boot time or at
 830          module load time.  The parameters look like "video=pvr2:XXX", where
 831          the meaning of XXX can be found at the end of the main source file
 832          (<file:drivers/video/pvr2fb.c>). Please see the file
 833          <file:Documentation/fb/pvr2fb.rst>.
 834
 835config FB_OPENCORES
 836        tristate "OpenCores VGA/LCD core 2.0 framebuffer support"
 837        depends on FB && HAS_DMA
 838        select FB_CFB_FILLRECT
 839        select FB_CFB_COPYAREA
 840        select FB_CFB_IMAGEBLIT
 841        help
 842          This enables support for the OpenCores VGA/LCD core.
 843
 844          The OpenCores VGA/LCD core is typically used together with
 845          softcore CPUs (e.g. OpenRISC or Microblaze) or hard processor
 846          systems (e.g. Altera socfpga or Xilinx Zynq) on FPGAs.
 847
 848          The source code and specification for the core is available at
 849          <https://opencores.org/project,vga_lcd>
 850
 851config FB_S1D13XXX
 852        tristate "Epson S1D13XXX framebuffer support"
 853        depends on FB
 854        select FB_CFB_FILLRECT
 855        select FB_CFB_COPYAREA
 856        select FB_CFB_IMAGEBLIT
 857        help
 858          Support for S1D13XXX framebuffer device family (currently only
 859          working with S1D13806). Product specs at
 860          <https://vdc.epson.com/>
 861
 862config FB_ATMEL
 863        tristate "AT91 LCD Controller support"
 864        depends on FB && OF && HAVE_CLK && HAS_IOMEM
 865        depends on HAVE_FB_ATMEL || COMPILE_TEST
 866        select FB_BACKLIGHT
 867        select FB_CFB_FILLRECT
 868        select FB_CFB_COPYAREA
 869        select FB_CFB_IMAGEBLIT
 870        select FB_MODE_HELPERS
 871        select VIDEOMODE_HELPERS
 872        help
 873          This enables support for the AT91 LCD Controller.
 874
 875config FB_NVIDIA
 876        tristate "nVidia Framebuffer Support"
 877        depends on FB && PCI
 878        select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT
 879        select FB_MODE_HELPERS
 880        select FB_CFB_FILLRECT
 881        select FB_CFB_COPYAREA
 882        select FB_CFB_IMAGEBLIT
 883        select BITREVERSE
 884        select VGASTATE
 885        help
 886          This driver supports graphics boards with the nVidia chips, TNT
 887          and newer. For very old chipsets, such as the RIVA128, then use
 888          the rivafb.
 889          Say Y if you have such a graphics board.
 890
 891          To compile this driver as a module, choose M here: the
 892          module will be called nvidiafb.
 893
 894config FB_NVIDIA_I2C
 895        bool "Enable DDC Support"
 896        depends on FB_NVIDIA
 897        select FB_DDC
 898        help
 899          This enables I2C support for nVidia Chipsets.  This is used
 900          only for getting EDID information from the attached display
 901          allowing for robust video mode handling and switching.
 902
 903          Because fbdev-2.6 requires that drivers must be able to
 904          independently validate video mode parameters, you should say Y
 905          here.
 906
 907config FB_NVIDIA_DEBUG
 908        bool "Lots of debug output"
 909        depends on FB_NVIDIA
 910        help
 911          Say Y here if you want the nVidia driver to output all sorts
 912          of debugging information to provide to the maintainer when
 913          something goes wrong.
 914
 915config FB_NVIDIA_BACKLIGHT
 916        bool "Support for backlight control"
 917        depends on FB_NVIDIA
 918        default y
 919        help
 920          Say Y here if you want to control the backlight of your display.
 921
 922config FB_RIVA
 923        tristate "nVidia Riva support"
 924        depends on FB && PCI
 925        select FB_BACKLIGHT if FB_RIVA_BACKLIGHT
 926        select FB_MODE_HELPERS
 927        select FB_CFB_FILLRECT
 928        select FB_CFB_COPYAREA
 929        select FB_CFB_IMAGEBLIT
 930        select BITREVERSE
 931        select VGASTATE
 932        help
 933          This driver supports graphics boards with the nVidia Riva/Geforce
 934          chips.
 935          Say Y if you have such a graphics board.
 936
 937          To compile this driver as a module, choose M here: the
 938          module will be called rivafb.
 939
 940config FB_RIVA_I2C
 941        bool "Enable DDC Support"
 942        depends on FB_RIVA
 943        select FB_DDC
 944        help
 945          This enables I2C support for nVidia Chipsets.  This is used
 946          only for getting EDID information from the attached display
 947          allowing for robust video mode handling and switching.
 948
 949          Because fbdev-2.6 requires that drivers must be able to
 950          independently validate video mode parameters, you should say Y
 951          here.
 952
 953config FB_RIVA_DEBUG
 954        bool "Lots of debug output"
 955        depends on FB_RIVA
 956        help
 957          Say Y here if you want the Riva driver to output all sorts
 958          of debugging information to provide to the maintainer when
 959          something goes wrong.
 960
 961config FB_RIVA_BACKLIGHT
 962        bool "Support for backlight control"
 963        depends on FB_RIVA
 964        default y
 965        help
 966          Say Y here if you want to control the backlight of your display.
 967
 968config FB_I740
 969        tristate "Intel740 support"
 970        depends on FB && PCI
 971        select FB_MODE_HELPERS
 972        select FB_CFB_FILLRECT
 973        select FB_CFB_COPYAREA
 974        select FB_CFB_IMAGEBLIT
 975        select VGASTATE
 976        select FB_DDC
 977        help
 978          This driver supports graphics cards based on Intel740 chip.
 979
 980config FB_I810
 981        tristate "Intel 810/815 support"
 982        depends on FB && PCI && X86_32 && AGP_INTEL
 983        select FB_MODE_HELPERS
 984        select FB_CFB_FILLRECT
 985        select FB_CFB_COPYAREA
 986        select FB_CFB_IMAGEBLIT
 987        select VGASTATE
 988        help
 989          This driver supports the on-board graphics built in to the Intel 810
 990          and 815 chipsets.  Say Y if you have and plan to use such a board.
 991
 992          To compile this driver as a module, choose M here: the
 993          module will be called i810fb.
 994
 995          For more information, please read
 996          <file:Documentation/fb/intel810.rst>
 997
 998config FB_I810_GTF
 999        bool "use VESA Generalized Timing Formula"
1000        depends on FB_I810
1001        help
1002          If you say Y, then the VESA standard, Generalized Timing Formula
1003          or GTF, will be used to calculate the required video timing values
1004          per video mode.  Since the GTF allows nondiscrete timings
1005          (nondiscrete being a range of values as opposed to discrete being a
1006          set of values), you'll be able to use any combination of horizontal
1007          and vertical resolutions, and vertical refresh rates without having
1008          to specify your own timing parameters.  This is especially useful
1009          to maximize the performance of an aging display, or if you just
1010          have a display with nonstandard dimensions. A VESA compliant
1011          monitor is recommended, but can still work with non-compliant ones.
1012          If you need or want this, then select this option. The timings may
1013          not be compliant with Intel's recommended values. Use at your own
1014          risk.
1015
1016          If you say N, the driver will revert to discrete video timings
1017          using a set recommended by Intel in their documentation.
1018
1019          If unsure, say N.
1020
1021config FB_I810_I2C
1022        bool "Enable DDC Support"
1023        depends on FB_I810 && FB_I810_GTF
1024        select FB_DDC
1025        help
1026          Add DDC/I2C support for i810fb.  This will allow the driver to get
1027          display information, especially for monitors with fickle timings.
1028
1029          If unsure, say Y.
1030
1031config FB_LE80578
1032        tristate "Intel LE80578 (Vermilion) support"
1033        depends on FB && PCI && X86
1034        select FB_MODE_HELPERS
1035        select FB_CFB_FILLRECT
1036        select FB_CFB_COPYAREA
1037        select FB_CFB_IMAGEBLIT
1038        help
1039          This driver supports the LE80578 (Vermilion Range) chipset
1040
1041config FB_CARILLO_RANCH
1042        tristate "Intel Carillo Ranch support"
1043        depends on FB_LE80578 && FB && PCI && X86
1044        help
1045          This driver supports the LE80578 (Carillo Ranch) board
1046
1047config FB_INTEL
1048        tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support"
1049        depends on FB && PCI && X86 && AGP_INTEL && EXPERT
1050        select FB_MODE_HELPERS
1051        select FB_CFB_FILLRECT
1052        select FB_CFB_COPYAREA
1053        select FB_CFB_IMAGEBLIT
1054        select FB_BOOT_VESA_SUPPORT if FB_INTEL = y
1055        depends on !DRM_I915
1056        help
1057          This driver supports the on-board graphics built in to the Intel
1058          830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets.
1059          Say Y if you have and plan to use such a board.
1060
1061          To make FB_INTEL=Y work you need to say AGP_INTEL=y too.
1062
1063          To compile this driver as a module, choose M here: the
1064          module will be called intelfb.
1065
1066          For more information, please read <file:Documentation/fb/intelfb.rst>
1067
1068config FB_INTEL_DEBUG
1069        bool "Intel driver Debug Messages"
1070        depends on FB_INTEL
1071        help
1072          Say Y here if you want the Intel driver to output all sorts
1073          of debugging information to provide to the maintainer when
1074          something goes wrong.
1075
1076config FB_INTEL_I2C
1077        bool "DDC/I2C for Intel framebuffer support"
1078        depends on FB_INTEL
1079        select FB_DDC
1080        default y
1081        help
1082          Say Y here if you want DDC/I2C support for your on-board Intel graphics.
1083
1084config FB_MATROX
1085        tristate "Matrox acceleration"
1086        depends on FB && PCI
1087        select FB_CFB_FILLRECT
1088        select FB_CFB_COPYAREA
1089        select FB_CFB_IMAGEBLIT
1090        select FB_TILEBLITTING
1091        select FB_MACMODES if PPC_PMAC
1092        help
1093          Say Y here if you have a Matrox Millennium, Matrox Millennium II,
1094          Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
1095          Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video,
1096          Matrox G400, G450 or G550 card in your box.
1097
1098          To compile this driver as a module, choose M here: the
1099          module will be called matroxfb.
1100
1101          You can pass several parameters to the driver at boot time or at
1102          module load time. The parameters look like "video=matroxfb:XXX", and
1103          are described in <file:Documentation/fb/matroxfb.rst>.
1104
1105config FB_MATROX_MILLENIUM
1106        bool "Millennium I/II support"
1107        depends on FB_MATROX
1108        help
1109          Say Y here if you have a Matrox Millennium or Matrox Millennium II
1110          video card. If you select "Advanced lowlevel driver options" below,
1111          you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp
1112          packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can
1113          also use font widths different from 8.
1114
1115config FB_MATROX_MYSTIQUE
1116        bool "Mystique support"
1117        depends on FB_MATROX
1118        help
1119          Say Y here if you have a Matrox Mystique or Matrox Mystique 220
1120          video card. If you select "Advanced lowlevel driver options" below,
1121          you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp
1122          packed pixel and 32 bpp packed pixel. You can also use font widths
1123          different from 8.
1124
1125config FB_MATROX_G
1126        bool "G100/G200/G400/G450/G550 support"
1127        depends on FB_MATROX
1128        help
1129          Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based
1130          video card. If you select "Advanced lowlevel driver options", you
1131          should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
1132          pixel and 32 bpp packed pixel. You can also use font widths
1133          different from 8.
1134
1135          If you need support for G400 secondary head, you must say Y to
1136          "Matrox I2C support" and "G400 second head support" right below.
1137          G450/G550 secondary head and digital output are supported without
1138          additional modules.
1139
1140          The driver starts in monitor mode. You must use the matroxset tool
1141          (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
1142          swap primary and secondary head outputs, or to change output mode.
1143          Secondary head driver always start in 640x480 resolution and you
1144          must use fbset to change it.
1145
1146          Do not forget that second head supports only 16 and 32 bpp
1147          packed pixels, so it is a good idea to compile them into the kernel
1148          too. You can use only some font widths, as the driver uses generic
1149          painting procedures (the secondary head does not use acceleration
1150          engine).
1151
1152          G450/G550 hardware can display TV picture only from secondary CRTC,
1153          and it performs no scaling, so picture must have 525 or 625 lines.
1154
1155config FB_MATROX_I2C
1156        tristate "Matrox I2C support"
1157        depends on FB_MATROX
1158        select FB_DDC
1159        help
1160          This drivers creates I2C buses which are needed for accessing the
1161          DDC (I2C) bus present on all Matroxes, an I2C bus which
1162          interconnects Matrox optional devices, like MGA-TVO on G200 and
1163          G400, and the secondary head DDC bus, present on G400 only.
1164
1165          You can say Y or M here if you want to experiment with monitor
1166          detection code. You must say Y or M here if you want to use either
1167          second head of G400 or MGA-TVO on G200 or G400.
1168
1169          If you compile it as module, it will create a module named
1170          i2c-matroxfb.
1171
1172config FB_MATROX_MAVEN
1173        tristate "G400 second head support"
1174        depends on FB_MATROX_G && FB_MATROX_I2C
1175        help
1176          WARNING !!! This support does not work with G450 !!!
1177
1178          Say Y or M here if you want to use a secondary head (meaning two
1179          monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary
1180          head is not compatible with accelerated XFree 3.3.x SVGA servers -
1181          secondary head output is blanked while you are in X. With XFree
1182          3.9.17 preview you can use both heads if you use SVGA over fbdev or
1183          the fbdev driver on first head and the fbdev driver on second head.
1184
1185          If you compile it as module, two modules are created,
1186          matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for
1187          both G200 and G400, matroxfb_crtc2 is needed only by G400. You must
1188          also load i2c-matroxfb to get it to run.
1189
1190          The driver starts in monitor mode and you must use the matroxset
1191          tool (available at
1192          <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to
1193          PAL or NTSC or to swap primary and secondary head outputs.
1194          Secondary head driver also always start in 640x480 resolution, you
1195          must use fbset to change it.
1196
1197          Also do not forget that second head supports only 16 and 32 bpp
1198          packed pixels, so it is a good idea to compile them into the kernel
1199          too.  You can use only some font widths, as the driver uses generic
1200          painting procedures (the secondary head does not use acceleration
1201          engine).
1202
1203config FB_RADEON
1204        tristate "ATI Radeon display support"
1205        depends on FB && PCI
1206        select FB_BACKLIGHT if FB_RADEON_BACKLIGHT
1207        select FB_MODE_HELPERS
1208        select FB_CFB_FILLRECT
1209        select FB_CFB_COPYAREA
1210        select FB_CFB_IMAGEBLIT
1211        select FB_MACMODES if PPC
1212        help
1213          Choose this option if you want to use an ATI Radeon graphics card as
1214          a framebuffer device.  There are both PCI and AGP versions.  You
1215          don't need to choose this to run the Radeon in plain VGA mode.
1216
1217          There is a product page at
1218          https://products.amd.com/en-us/GraphicCardResult.aspx
1219
1220config FB_RADEON_I2C
1221        bool "DDC/I2C for ATI Radeon support"
1222        depends on FB_RADEON
1223        select FB_DDC
1224        default y
1225        help
1226          Say Y here if you want DDC/I2C support for your Radeon board.
1227
1228config FB_RADEON_BACKLIGHT
1229        bool "Support for backlight control"
1230        depends on FB_RADEON
1231        default y
1232        help
1233          Say Y here if you want to control the backlight of your display.
1234
1235config FB_RADEON_DEBUG
1236        bool "Lots of debug output from Radeon driver"
1237        depends on FB_RADEON
1238        help
1239          Say Y here if you want the Radeon driver to output all sorts
1240          of debugging information to provide to the maintainer when
1241          something goes wrong.
1242
1243config FB_ATY128
1244        tristate "ATI Rage128 display support"
1245        depends on FB && PCI
1246        select FB_CFB_FILLRECT
1247        select FB_CFB_COPYAREA
1248        select FB_CFB_IMAGEBLIT
1249        select FB_BACKLIGHT if FB_ATY128_BACKLIGHT
1250        select FB_MACMODES if PPC_PMAC
1251        help
1252          This driver supports graphics boards with the ATI Rage128 chips.
1253          Say Y if you have such a graphics board and read
1254          <file:Documentation/fb/aty128fb.rst>.
1255
1256          To compile this driver as a module, choose M here: the
1257          module will be called aty128fb.
1258
1259config FB_ATY128_BACKLIGHT
1260        bool "Support for backlight control"
1261        depends on FB_ATY128
1262        default y
1263        help
1264          Say Y here if you want to control the backlight of your display.
1265
1266config FB_ATY
1267        tristate "ATI Mach64 display support" if PCI || ATARI
1268        depends on FB && !SPARC32
1269        select FB_CFB_FILLRECT
1270        select FB_CFB_COPYAREA
1271        select FB_CFB_IMAGEBLIT
1272        select FB_BACKLIGHT if FB_ATY_BACKLIGHT
1273        select FB_MACMODES if PPC
1274        select FB_ATY_CT if SPARC64 && PCI
1275        help
1276          This driver supports graphics boards with the ATI Mach64 chips.
1277          Say Y if you have such a graphics board.
1278
1279          To compile this driver as a module, choose M here: the
1280          module will be called atyfb.
1281
1282config FB_ATY_CT
1283        bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support"
1284        depends on PCI && FB_ATY
1285        help
1286          Say Y here to support use of ATI's 64-bit Rage boards (or other
1287          boards based on the Mach64 CT, VT, GT, and LT chipsets) as a
1288          framebuffer device.  The ATI product support page for these boards
1289          is at <http://support.ati.com/products/pc/mach64/mach64.html>.
1290
1291config FB_ATY_GENERIC_LCD
1292        bool "Mach64 generic LCD support"
1293        depends on FB_ATY_CT
1294        help
1295          Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
1296          Rage XC, or Rage XL chipset.
1297
1298config FB_ATY_GX
1299        bool "Mach64 GX support" if PCI
1300        depends on FB_ATY
1301        default y if ATARI
1302        help
1303          Say Y here to support use of the ATI Mach64 Graphics Expression
1304          board (or other boards based on the Mach64 GX chipset) as a
1305          framebuffer device.  The ATI product support page for these boards
1306          is at
1307          <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
1308
1309config FB_ATY_BACKLIGHT
1310        bool "Support for backlight control"
1311        depends on FB_ATY
1312        default y
1313        help
1314          Say Y here if you want to control the backlight of your display.
1315
1316config FB_S3
1317        tristate "S3 Trio/Virge support"
1318        depends on FB && PCI
1319        select FB_CFB_FILLRECT
1320        select FB_CFB_COPYAREA
1321        select FB_CFB_IMAGEBLIT
1322        select FB_TILEBLITTING
1323        select FB_SVGALIB
1324        select VGASTATE
1325        select FONT_8x16 if FRAMEBUFFER_CONSOLE
1326        help
1327          Driver for graphics boards with S3 Trio / S3 Virge chip.
1328
1329config FB_S3_DDC
1330        bool "DDC for S3 support"
1331        depends on FB_S3
1332        select FB_DDC
1333        default y
1334        help
1335          Say Y here if you want DDC support for your S3 graphics card.
1336
1337config FB_SAVAGE
1338        tristate "S3 Savage support"
1339        depends on FB && PCI
1340        select FB_MODE_HELPERS
1341        select FB_CFB_FILLRECT
1342        select FB_CFB_COPYAREA
1343        select FB_CFB_IMAGEBLIT
1344        select VGASTATE
1345        help
1346          This driver supports notebooks and computers with S3 Savage PCI/AGP
1347          chips.
1348
1349          Say Y if you have such a graphics card.
1350
1351          To compile this driver as a module, choose M here; the module
1352          will be called savagefb.
1353
1354config FB_SAVAGE_I2C
1355        bool "Enable DDC2 Support"
1356        depends on FB_SAVAGE
1357        select FB_DDC
1358        help
1359          This enables I2C support for S3 Savage Chipsets.  This is used
1360          only for getting EDID information from the attached display
1361          allowing for robust video mode handling and switching.
1362
1363          Because fbdev-2.6 requires that drivers must be able to
1364          independently validate video mode parameters, you should say Y
1365          here.
1366
1367config FB_SAVAGE_ACCEL
1368        bool "Enable Console Acceleration"
1369        depends on FB_SAVAGE
1370        help
1371          This option will compile in console acceleration support. If
1372          the resulting framebuffer console has bothersome glitches, then
1373          choose N here.
1374
1375config FB_SIS
1376        tristate "SiS/XGI display support"
1377        depends on FB && PCI
1378        select FB_CFB_FILLRECT
1379        select FB_CFB_COPYAREA
1380        select FB_CFB_IMAGEBLIT
1381        select FB_BOOT_VESA_SUPPORT if FB_SIS = y
1382        select FB_SIS_300 if !FB_SIS_315
1383        help
1384          This is the frame buffer device driver for the SiS 300, 315, 330
1385          and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets.
1386          Specs available at <https://www.sis.com> and <http://www.xgitech.com>.
1387
1388          To compile this driver as a module, choose M here; the module
1389          will be called sisfb.
1390
1391config FB_SIS_300
1392        bool "SiS 300 series support"
1393        depends on FB_SIS
1394        help
1395          Say Y here to support use of the SiS 300/305, 540, 630 and 730.
1396
1397config FB_SIS_315
1398        bool "SiS 315/330/340 series and XGI support"
1399        depends on FB_SIS
1400        help
1401          Say Y here to support use of the SiS 315, 330 and 340 series
1402          (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well
1403          as XGI V3XT, V5, V8 and Z7.
1404
1405config FB_VIA
1406        tristate "VIA UniChrome (Pro) and Chrome9 display support"
1407        depends on FB && PCI && GPIOLIB && I2C && (X86 || COMPILE_TEST)
1408        select FB_CFB_FILLRECT
1409        select FB_CFB_COPYAREA
1410        select FB_CFB_IMAGEBLIT
1411        select I2C_ALGOBIT
1412        help
1413          This is the frame buffer device driver for Graphics chips of VIA
1414          UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/
1415          CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896
1416          /P4M900,VX800)
1417          Say Y if you have a VIA UniChrome graphics board.
1418
1419          To compile this driver as a module, choose M here: the
1420          module will be called viafb.
1421
1422if FB_VIA
1423
1424config FB_VIA_DIRECT_PROCFS
1425        bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)"
1426        help
1427          Allow direct hardware access to some output registers via procfs.
1428          This is dangerous but may provide the only chance to get the
1429          correct output device configuration.
1430          Its use is strongly discouraged.
1431
1432config FB_VIA_X_COMPATIBILITY
1433        bool "X server compatibility"
1434        help
1435          This option reduces the functionality (power saving, ...) of the
1436          framebuffer to avoid negative impact on the OpenChrome X server.
1437          If you use any X server other than fbdev you should enable this
1438          otherwise it should be safe to disable it and allow using all
1439          features.
1440
1441endif
1442
1443config FB_NEOMAGIC
1444        tristate "NeoMagic display support"
1445        depends on FB && PCI
1446        select FB_MODE_HELPERS
1447        select FB_CFB_FILLRECT
1448        select FB_CFB_COPYAREA
1449        select FB_CFB_IMAGEBLIT
1450        select VGASTATE
1451        help
1452          This driver supports notebooks with NeoMagic PCI chips.
1453          Say Y if you have such a graphics card.
1454
1455          To compile this driver as a module, choose M here: the
1456          module will be called neofb.
1457
1458config FB_KYRO
1459        tristate "IMG Kyro support"
1460        depends on FB && PCI
1461        select FB_CFB_FILLRECT
1462        select FB_CFB_COPYAREA
1463        select FB_CFB_IMAGEBLIT
1464        help
1465          Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
1466          graphics board.
1467
1468          To compile this driver as a module, choose M here: the
1469          module will be called kyrofb.
1470
1471config FB_3DFX
1472        tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
1473        depends on FB && PCI
1474        select FB_CFB_IMAGEBLIT
1475        select FB_CFB_FILLRECT
1476        select FB_CFB_COPYAREA
1477        select FB_MODE_HELPERS
1478        help
1479          This driver supports graphics boards with the 3Dfx Banshee,
1480          Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have
1481          such a graphics board.
1482
1483          To compile this driver as a module, choose M here: the
1484          module will be called tdfxfb.
1485
1486config FB_3DFX_ACCEL
1487        bool "3Dfx Acceleration functions"
1488        depends on FB_3DFX
1489        help
1490        This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer
1491        device driver with acceleration functions.
1492
1493config FB_3DFX_I2C
1494        bool "Enable DDC/I2C support"
1495        depends on FB_3DFX
1496        select FB_DDC
1497        default y
1498        help
1499          Say Y here if you want DDC/I2C support for your 3dfx Voodoo3.
1500
1501config FB_VOODOO1
1502        tristate "3Dfx Voodoo Graphics (sst1) support"
1503        depends on FB && PCI
1504        select FB_CFB_FILLRECT
1505        select FB_CFB_COPYAREA
1506        select FB_CFB_IMAGEBLIT
1507        help
1508          Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
1509          Voodoo2 (cvg) based graphics card.
1510
1511          To compile this driver as a module, choose M here: the
1512          module will be called sstfb.
1513
1514          WARNING: Do not use any application that uses the 3D engine
1515          (namely glide) while using this driver.
1516          Please read the <file:Documentation/fb/sstfb.rst> for supported
1517          options and other important info  support.
1518
1519config FB_VT8623
1520        tristate "VIA VT8623 support"
1521        depends on FB && PCI
1522        select FB_CFB_FILLRECT
1523        select FB_CFB_COPYAREA
1524        select FB_CFB_IMAGEBLIT
1525        select FB_TILEBLITTING
1526        select FB_SVGALIB
1527        select VGASTATE
1528        select FONT_8x16 if FRAMEBUFFER_CONSOLE
1529        help
1530          Driver for CastleRock integrated graphics core in the
1531          VIA VT8623 [Apollo CLE266] chipset.
1532
1533config FB_TRIDENT
1534        tristate "Trident/CyberXXX/CyberBlade support"
1535        depends on FB && PCI
1536        select FB_CFB_FILLRECT
1537        select FB_CFB_COPYAREA
1538        select FB_CFB_IMAGEBLIT
1539        select FB_DDC
1540        select FB_MODE_HELPERS
1541        help
1542          This is the frame buffer device driver for Trident PCI/AGP chipsets.
1543          Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D
1544          and Blade XP.
1545          There are also integrated versions of these chips called CyberXXXX,
1546          CyberImage or CyberBlade. These chips are mostly found in laptops
1547          but also on some motherboards including early VIA EPIA motherboards.
1548          For more information, read <file:Documentation/fb/tridentfb.rst>
1549
1550          Say Y if you have such a graphics board.
1551
1552          To compile this driver as a module, choose M here: the
1553          module will be called tridentfb.
1554
1555config FB_ARK
1556        tristate "ARK 2000PV support"
1557        depends on FB && PCI
1558        select FB_CFB_FILLRECT
1559        select FB_CFB_COPYAREA
1560        select FB_CFB_IMAGEBLIT
1561        select FB_TILEBLITTING
1562        select FB_SVGALIB
1563        select VGASTATE
1564        select FONT_8x16 if FRAMEBUFFER_CONSOLE
1565        help
1566          Driver for PCI graphics boards with ARK 2000PV chip
1567          and ICS 5342 RAMDAC.
1568
1569config FB_PM3
1570        tristate "Permedia3 support"
1571        depends on FB && PCI
1572        select FB_CFB_FILLRECT
1573        select FB_CFB_COPYAREA
1574        select FB_CFB_IMAGEBLIT
1575        help
1576          This is the frame buffer device driver for the 3DLabs Permedia3
1577          chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
1578          similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
1579          and maybe other boards.
1580
1581config FB_CARMINE
1582        tristate "Fujitsu carmine frame buffer support"
1583        depends on FB && PCI
1584        select FB_CFB_FILLRECT
1585        select FB_CFB_COPYAREA
1586        select FB_CFB_IMAGEBLIT
1587        help
1588          This is the frame buffer device driver for the Fujitsu Carmine chip.
1589          The driver provides two independent frame buffer devices.
1590
1591choice
1592        depends on FB_CARMINE
1593        prompt "DRAM timing"
1594        default FB_CARMINE_DRAM_EVAL
1595
1596config FB_CARMINE_DRAM_EVAL
1597        bool "Eval board timings"
1598        help
1599          Use timings which work on the eval card.
1600
1601config CARMINE_DRAM_CUSTOM
1602        bool "Custom board timings"
1603        help
1604          Use custom board timings.
1605endchoice
1606
1607config FB_AU1100
1608        bool "Au1100 LCD Driver"
1609        depends on (FB = y) && MIPS_ALCHEMY
1610        select FB_CFB_FILLRECT
1611        select FB_CFB_COPYAREA
1612        select FB_CFB_IMAGEBLIT
1613        help
1614          This is the framebuffer driver for the AMD Au1100 SOC.  It can drive
1615          various panels and CRTs by passing in kernel cmd line option
1616          au1100fb:panel=<name>.
1617
1618config FB_AU1200
1619        bool "Au1200/Au1300 LCD Driver"
1620        depends on (FB = y) && MIPS_ALCHEMY
1621        select FB_SYS_FILLRECT
1622        select FB_SYS_COPYAREA
1623        select FB_SYS_IMAGEBLIT
1624        select FB_SYS_FOPS
1625        help
1626          This is the framebuffer driver for the Au1200/Au1300 SOCs.
1627          It can drive various panels and CRTs by passing in kernel cmd line
1628          option au1200fb:panel=<name>.
1629
1630config FB_VT8500
1631        bool "VIA VT8500 framebuffer support"
1632        depends on (FB = y) && ARM && ARCH_VT8500
1633        select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1634        select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1635        select FB_SYS_IMAGEBLIT
1636        select FB_MODE_HELPERS
1637        select VIDEOMODE_HELPERS
1638        help
1639          This is the framebuffer driver for VIA VT8500 integrated LCD
1640          controller.
1641
1642config FB_WM8505
1643        bool "Wondermedia WM8xxx-series frame buffer support"
1644        depends on (FB = y) && HAS_IOMEM && (ARCH_VT8500 || COMPILE_TEST)
1645        select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1646        select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1647        select FB_SYS_IMAGEBLIT
1648        select FB_MODE_HELPERS
1649        select VIDEOMODE_HELPERS
1650        help
1651          This is the framebuffer driver for WonderMedia WM8xxx-series
1652          integrated LCD controller. This driver covers the WM8505, WM8650
1653          and WM8850 SoCs.
1654
1655config FB_WMT_GE_ROPS
1656        bool "VT8500/WM8xxx accelerated raster ops support"
1657        depends on (FB = y) && (FB_VT8500 || FB_WM8505)
1658        help
1659          This adds support for accelerated raster operations on the
1660          VIA VT8500 and Wondermedia 85xx series SoCs.
1661
1662source "drivers/video/fbdev/geode/Kconfig"
1663
1664config FB_HIT
1665        tristate "HD64461 Frame Buffer support"
1666        depends on FB && HD64461
1667        select FB_CFB_FILLRECT
1668        select FB_CFB_COPYAREA
1669        select FB_CFB_IMAGEBLIT
1670        help
1671          This is the frame buffer device driver for the Hitachi HD64461 LCD
1672          frame buffer card.
1673
1674config FB_PMAG_AA
1675        tristate "PMAG-AA TURBOchannel framebuffer support"
1676        depends on FB && TC
1677        select FB_CFB_FILLRECT
1678        select FB_CFB_COPYAREA
1679        select FB_CFB_IMAGEBLIT
1680        help
1681          Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
1682          used mainly in the MIPS-based DECstation series.
1683
1684config FB_PMAG_BA
1685        tristate "PMAG-BA TURBOchannel framebuffer support"
1686        depends on FB && TC
1687        select FB_CFB_FILLRECT
1688        select FB_CFB_COPYAREA
1689        select FB_CFB_IMAGEBLIT
1690        help
1691          Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
1692          used mainly in the MIPS-based DECstation series.
1693
1694config FB_PMAGB_B
1695        tristate "PMAGB-B TURBOchannel framebuffer support"
1696        depends on FB && TC
1697        select FB_CFB_FILLRECT
1698        select FB_CFB_COPYAREA
1699        select FB_CFB_IMAGEBLIT
1700        help
1701          Support for the PMAGB-B TURBOchannel framebuffer card used mainly
1702          in the MIPS-based DECstation series. The card is currently only
1703          supported in 1280x1024x8 mode.
1704
1705config FB_MAXINE
1706        bool "Maxine (Personal DECstation) onboard framebuffer support"
1707        depends on (FB = y) && MACH_DECSTATION
1708        select FB_CFB_FILLRECT
1709        select FB_CFB_COPYAREA
1710        select FB_CFB_IMAGEBLIT
1711        help
1712          Support for the onboard framebuffer (1024x768x8) in the Personal
1713          DECstation series (Personal DECstation 5000/20, /25, /33, /50,
1714          Codename "Maxine").
1715
1716config FB_G364
1717        bool "G364 frame buffer support"
1718        depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
1719        select FB_CFB_FILLRECT
1720        select FB_CFB_COPYAREA
1721        select FB_CFB_IMAGEBLIT
1722        help
1723          The G364 driver is the framebuffer used in MIPS Magnum 4000 and
1724          Olivetti M700-10 systems.
1725
1726config FB_68328
1727        bool "Motorola 68328 native frame buffer support"
1728        depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
1729        select FB_CFB_FILLRECT
1730        select FB_CFB_COPYAREA
1731        select FB_CFB_IMAGEBLIT
1732        help
1733          Say Y here if you want to support the built-in frame buffer of
1734          the Motorola 68328 CPU family.
1735
1736config FB_PXA168
1737        tristate "PXA168/910 LCD framebuffer support"
1738        depends on FB && HAVE_CLK && HAS_IOMEM
1739        depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST
1740        select FB_CFB_FILLRECT
1741        select FB_CFB_COPYAREA
1742        select FB_CFB_IMAGEBLIT
1743        help
1744          Frame buffer driver for the built-in LCD controller in the Marvell
1745          MMP processor.
1746
1747config FB_PXA
1748        tristate "PXA LCD framebuffer support"
1749        depends on FB && ARCH_PXA
1750        select FB_CFB_FILLRECT
1751        select FB_CFB_COPYAREA
1752        select FB_CFB_IMAGEBLIT
1753        select VIDEOMODE_HELPERS if OF
1754        select FB_MODE_HELPERS if OF
1755        help
1756          Frame buffer driver for the built-in LCD controller in the Intel
1757          PXA2x0 processor.
1758
1759          This driver is also available as a module ( = code which can be
1760          inserted and removed from the running kernel whenever you want). The
1761          module will be called pxafb. If you want to compile it as a module,
1762          say M here and read <file:Documentation/kbuild/modules.rst>.
1763
1764          If unsure, say N.
1765
1766config FB_PXA_OVERLAY
1767        bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer"
1768        depends on FB_PXA && (PXA27x || PXA3xx)
1769
1770config FB_PXA_SMARTPANEL
1771        bool "PXA Smartpanel LCD support"
1772        depends on FB_PXA
1773
1774config FB_PXA_PARAMETERS
1775        bool "PXA LCD command line parameters"
1776        depends on FB_PXA
1777        help
1778          Enable the use of kernel command line or module parameters
1779          to configure the physical properties of the LCD panel when
1780          using the PXA LCD driver.
1781
1782          This option allows you to override the panel parameters
1783          supplied by the platform in order to support multiple
1784          different models of flatpanel. If you will only be using a
1785          single model of flatpanel then you can safely leave this
1786          option disabled.
1787
1788          <file:Documentation/fb/pxafb.rst> describes the available parameters.
1789
1790config PXA3XX_GCU
1791        tristate "PXA3xx 2D graphics accelerator driver"
1792        depends on FB_PXA
1793        help
1794          Kernelspace driver for the 2D graphics controller unit (GCU)
1795          found on PXA3xx processors. There is a counterpart driver in the
1796          DirectFB suite, see http://www.directfb.org/
1797
1798          If you compile this as a module, it will be called pxa3xx_gcu.
1799
1800config FB_FSL_DIU
1801        tristate "Freescale DIU framebuffer support"
1802        depends on FB && FSL_SOC
1803        select FB_MODE_HELPERS
1804        select FB_CFB_FILLRECT
1805        select FB_CFB_COPYAREA
1806        select FB_CFB_IMAGEBLIT
1807        select PPC_LIB_RHEAP
1808        help
1809          Framebuffer driver for the Freescale SoC DIU
1810
1811config FB_W100
1812        tristate "W100 frame buffer support"
1813        depends on FB && HAS_IOMEM && (ARCH_PXA || COMPILE_TEST)
1814        select FB_CFB_FILLRECT
1815        select FB_CFB_COPYAREA
1816        select FB_CFB_IMAGEBLIT
1817        help
1818          Frame buffer driver for the w100 as found on the Sharp SL-Cxx series.
1819          It can also drive the w3220 chip found on iPAQ hx4700.
1820
1821          This driver is also available as a module ( = code which can be
1822          inserted and removed from the running kernel whenever you want). The
1823          module will be called w100fb. If you want to compile it as a module,
1824          say M here and read <file:Documentation/kbuild/modules.rst>.
1825
1826          If unsure, say N.
1827
1828config FB_SH_MOBILE_LCDC
1829        tristate "SuperH Mobile LCDC framebuffer support"
1830        depends on FB && HAVE_CLK && HAS_IOMEM
1831        depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
1832        select FB_SYS_FILLRECT
1833        select FB_SYS_COPYAREA
1834        select FB_SYS_IMAGEBLIT
1835        select FB_SYS_FOPS
1836        select FB_DEFERRED_IO
1837        select FB_BACKLIGHT
1838        help
1839          Frame buffer driver for the on-chip SH-Mobile LCD controller.
1840
1841config FB_TMIO
1842        tristate "Toshiba Mobile IO FrameBuffer support"
1843        depends on FB && (MFD_TMIO || COMPILE_TEST)
1844        select FB_CFB_FILLRECT
1845        select FB_CFB_COPYAREA
1846        select FB_CFB_IMAGEBLIT
1847        help
1848          Frame buffer driver for the Toshiba Mobile IO integrated as found
1849          on the Sharp SL-6000 series
1850
1851          This driver is also available as a module ( = code which can be
1852          inserted and removed from the running kernel whenever you want). The
1853          module will be called tmiofb. If you want to compile it as a module,
1854          say M here and read <file:Documentation/kbuild/modules.rst>.
1855
1856          If unsure, say N.
1857
1858config FB_TMIO_ACCELL
1859        bool "tmiofb acceleration"
1860        depends on FB_TMIO
1861        default y
1862
1863config FB_S3C
1864        tristate "Samsung S3C framebuffer support"
1865        depends on FB && HAVE_CLK && HAS_IOMEM
1866        depends on (CPU_S3C2416 || ARCH_S3C64XX) || COMPILE_TEST
1867        select FB_CFB_FILLRECT
1868        select FB_CFB_COPYAREA
1869        select FB_CFB_IMAGEBLIT
1870        help
1871          Frame buffer driver for the built-in FB controller in the Samsung
1872          SoC line from the S3C2443 onwards, including the S3C2416, S3C2450,
1873          and the S3C64XX series such as the S3C6400 and S3C6410.
1874
1875          These chips all have the same basic framebuffer design with the
1876          actual capabilities depending on the chip. For instance the S3C6400
1877          and S3C6410 support 4 hardware windows whereas the S3C24XX series
1878          currently only have two.
1879
1880          Currently the support is only for the S3C6400 and S3C6410 SoCs.
1881
1882config FB_S3C_DEBUG_REGWRITE
1883        bool "Debug register writes"
1884        depends on FB_S3C
1885        help
1886          Show all register writes via pr_debug()
1887
1888config FB_S3C2410
1889        tristate "S3C2410 LCD framebuffer support"
1890        depends on FB && ARCH_S3C24XX
1891        select FB_CFB_FILLRECT
1892        select FB_CFB_COPYAREA
1893        select FB_CFB_IMAGEBLIT
1894        help
1895          Frame buffer driver for the built-in LCD controller in the Samsung
1896          S3C2410 processor.
1897
1898          This driver is also available as a module ( = code which can be
1899          inserted and removed from the running kernel whenever you want). The
1900          module will be called s3c2410fb. If you want to compile it as a module,
1901          say M here and read <file:Documentation/kbuild/modules.rst>.
1902
1903          If unsure, say N.
1904config FB_S3C2410_DEBUG
1905        bool "S3C2410 lcd debug messages"
1906        depends on FB_S3C2410
1907        help
1908          Turn on debugging messages. Note that you can set/unset at run time
1909          through sysfs
1910
1911config FB_SM501
1912        tristate "Silicon Motion SM501 framebuffer support"
1913        depends on FB && MFD_SM501
1914        select FB_CFB_FILLRECT
1915        select FB_CFB_COPYAREA
1916        select FB_CFB_IMAGEBLIT
1917        help
1918          Frame buffer driver for the CRT and LCD controllers in the Silicon
1919          Motion SM501.
1920
1921          This driver is also available as a module ( = code which can be
1922          inserted and removed from the running kernel whenever you want). The
1923          module will be called sm501fb. If you want to compile it as a module,
1924          say M here and read <file:Documentation/kbuild/modules.rst>.
1925
1926          If unsure, say N.
1927
1928config FB_SMSCUFX
1929        tristate "SMSC UFX6000/7000 USB Framebuffer support"
1930        depends on FB && USB
1931        select FB_MODE_HELPERS
1932        select FB_SYS_FILLRECT
1933        select FB_SYS_COPYAREA
1934        select FB_SYS_IMAGEBLIT
1935        select FB_SYS_FOPS
1936        select FB_DEFERRED_IO
1937        help
1938          This is a kernel framebuffer driver for SMSC UFX USB devices.
1939          Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1940          mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000
1941          (USB 3.0) devices.
1942          To compile as a module, choose M here: the module name is smscufx.
1943
1944config FB_UDL
1945        tristate "Displaylink USB Framebuffer support"
1946        depends on FB && USB
1947        select FB_MODE_HELPERS
1948        select FB_SYS_FILLRECT
1949        select FB_SYS_COPYAREA
1950        select FB_SYS_IMAGEBLIT
1951        select FB_SYS_FOPS
1952        select FB_DEFERRED_IO
1953        help
1954          This is a kernel framebuffer driver for DisplayLink USB devices.
1955          Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1956          mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices.
1957          To compile as a module, choose M here: the module name is udlfb.
1958
1959config FB_IBM_GXT4500
1960        tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
1961        depends on FB
1962        select FB_CFB_FILLRECT
1963        select FB_CFB_COPYAREA
1964        select FB_CFB_IMAGEBLIT
1965        help
1966          Say Y here to enable support for the IBM GXT4000P/6000P and
1967          GXT4500P/6500P display adaptor based on Raster Engine RC1000,
1968          found on some IBM System P (pSeries) machines. This driver
1969          doesn't use Geometry Engine GT1000. This driver also supports
1970          AGP Fire GL2/3/4 cards on x86.
1971
1972config FB_PS3
1973        tristate "PS3 GPU framebuffer driver"
1974        depends on FB && PS3_PS3AV
1975        select FB_SYS_FILLRECT
1976        select FB_SYS_COPYAREA
1977        select FB_SYS_IMAGEBLIT
1978        select FB_SYS_FOPS
1979        help
1980          Include support for the virtual frame buffer in the PS3 platform.
1981
1982config FB_PS3_DEFAULT_SIZE_M
1983        int "PS3 default frame buffer size (in MiB)"
1984        depends on FB_PS3
1985        default 9
1986        help
1987          This is the default size (in MiB) of the virtual frame buffer in
1988          the PS3.
1989          The default value can be overridden on the kernel command line
1990          using the "ps3fb" option (e.g. "ps3fb=9M");
1991
1992config FB_XILINX
1993        tristate "Xilinx frame buffer support"
1994        depends on FB && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
1995        select FB_CFB_FILLRECT
1996        select FB_CFB_COPYAREA
1997        select FB_CFB_IMAGEBLIT
1998        help
1999          Include support for the Xilinx ML300/ML403 reference design
2000          framebuffer. ML300 carries a 640*480 LCD display on the board,
2001          ML403 uses a standard DB15 VGA connector.
2002
2003config FB_GOLDFISH
2004        tristate "Goldfish Framebuffer"
2005        depends on FB
2006        depends on GOLDFISH || COMPILE_TEST
2007        select FB_CFB_FILLRECT
2008        select FB_CFB_COPYAREA
2009        select FB_CFB_IMAGEBLIT
2010        help
2011          Framebuffer driver for Goldfish Virtual Platform
2012
2013config FB_COBALT
2014        tristate "Cobalt server LCD frame buffer support"
2015        depends on FB && MIPS_COBALT
2016
2017config FB_SH7760
2018        bool "SH7760/SH7763/SH7720/SH7721 LCDC support"
2019        depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
2020                || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
2021        select FB_CFB_FILLRECT
2022        select FB_CFB_COPYAREA
2023        select FB_CFB_IMAGEBLIT
2024        help
2025          Support for the SH7760/SH7763/SH7720/SH7721 integrated
2026          (D)STN/TFT LCD Controller.
2027          Supports display resolutions up to 1024x1024 pixel, grayscale and
2028          color operation, with depths ranging from 1 bpp to 8 bpp monochrome
2029          and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for
2030          panels <= 320 pixel horizontal resolution.
2031
2032config FB_DA8XX
2033        tristate "DA8xx/OMAP-L1xx/AM335x Framebuffer support"
2034        depends on FB && HAVE_CLK && HAS_IOMEM
2035        depends on ARCH_DAVINCI_DA8XX || SOC_AM33XX || COMPILE_TEST
2036        select FB_CFB_FILLRECT
2037        select FB_CFB_COPYAREA
2038        select FB_CFB_IMAGEBLIT
2039        select FB_CFB_REV_PIXELS_IN_BYTE
2040        select FB_MODE_HELPERS
2041        select VIDEOMODE_HELPERS
2042        help
2043          This is the frame buffer device driver for the TI LCD controller
2044          found on DA8xx/OMAP-L1xx/AM335x SoCs.
2045          If unsure, say N.
2046
2047config FB_VIRTUAL
2048        tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
2049        depends on FB
2050        select FB_SYS_FILLRECT
2051        select FB_SYS_COPYAREA
2052        select FB_SYS_IMAGEBLIT
2053        select FB_SYS_FOPS
2054        help
2055          This is a `virtual' frame buffer device. It operates on a chunk of
2056          unswappable kernel memory instead of on the memory of a graphics
2057          board. This means you cannot see any output sent to this frame
2058          buffer device, while it does consume precious memory. The main use
2059          of this frame buffer device is testing and debugging the frame
2060          buffer subsystem. Do NOT enable it for normal systems! To protect
2061          the innocent, it has to be enabled explicitly at boot time using the
2062          kernel option `video=vfb:'.
2063
2064          To compile this driver as a module, choose M here: the
2065          module will be called vfb. In order to load it, you must use
2066          the vfb_enable=1 option.
2067
2068          If unsure, say N.
2069
2070config XEN_FBDEV_FRONTEND
2071        tristate "Xen virtual frame buffer support"
2072        depends on FB && XEN
2073        select FB_SYS_FILLRECT
2074        select FB_SYS_COPYAREA
2075        select FB_SYS_IMAGEBLIT
2076        select FB_SYS_FOPS
2077        select FB_DEFERRED_IO
2078        select XEN_XENBUS_FRONTEND
2079        default y
2080        help
2081          This driver implements the front-end of the Xen virtual
2082          frame buffer driver.  It communicates with a back-end
2083          in another domain.
2084
2085config FB_METRONOME
2086        tristate "E-Ink Metronome/8track controller support"
2087        depends on FB
2088        select FB_SYS_FILLRECT
2089        select FB_SYS_COPYAREA
2090        select FB_SYS_IMAGEBLIT
2091        select FB_SYS_FOPS
2092        select FB_DEFERRED_IO
2093        help
2094          This driver implements support for the E-Ink Metronome
2095          controller. The pre-release name for this device was 8track
2096          and could also have been called by some vendors as PVI-nnnn.
2097
2098config FB_MB862XX
2099        tristate "Fujitsu MB862xx GDC support"
2100        depends on FB
2101        depends on PCI || (OF && PPC)
2102        select FB_CFB_FILLRECT
2103        select FB_CFB_COPYAREA
2104        select FB_CFB_IMAGEBLIT
2105        help
2106          Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
2107
2108choice
2109        prompt "GDC variant"
2110        depends on FB_MB862XX
2111
2112config FB_MB862XX_PCI_GDC
2113        bool "Carmine/Coral-P(A) GDC"
2114        depends on PCI
2115        help
2116          This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
2117          PCI graphics controller devices.
2118
2119config FB_MB862XX_LIME
2120        bool "Lime GDC"
2121        depends on OF && PPC
2122        select FB_FOREIGN_ENDIAN
2123        select FB_LITTLE_ENDIAN
2124        help
2125          Framebuffer support for Fujitsu Lime GDC on host CPU bus.
2126
2127endchoice
2128
2129config FB_MB862XX_I2C
2130        bool "Support I2C bus on MB862XX GDC"
2131        depends on FB_MB862XX && I2C
2132        depends on FB_MB862XX=m || I2C=y
2133        default y
2134        help
2135          Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter
2136          driver to support accessing I2C devices on controller's I2C bus.
2137          These are usually some video decoder chips.
2138
2139config FB_EP93XX
2140        tristate "EP93XX frame buffer support"
2141        depends on FB && ARCH_EP93XX
2142        select FB_CFB_FILLRECT
2143        select FB_CFB_COPYAREA
2144        select FB_CFB_IMAGEBLIT
2145        help
2146          Framebuffer driver for the Cirrus Logic EP93XX series of processors.
2147          This driver is also available as a module. The module will be called
2148          ep93xx-fb.
2149
2150config FB_PRE_INIT_FB
2151        bool "Don't reinitialize, use bootloader's GDC/Display configuration"
2152        depends on FB && FB_MB862XX_LIME
2153        help
2154          Select this option if display contents should be inherited as set by
2155          the bootloader.
2156
2157config FB_MX3
2158        tristate "MX3 Framebuffer support"
2159        depends on FB && MX3_IPU
2160        select BACKLIGHT_CLASS_DEVICE
2161        select FB_CFB_FILLRECT
2162        select FB_CFB_COPYAREA
2163        select FB_CFB_IMAGEBLIT
2164        default y
2165        help
2166          This is a framebuffer device for the i.MX31 LCD Controller. So
2167          far only synchronous displays are supported. If you plan to use
2168          an LCD display with your i.MX31 system, say Y here.
2169
2170config FB_BROADSHEET
2171        tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
2172        depends on FB && (ARCH_PXA || COMPILE_TEST)
2173        select FB_SYS_FILLRECT
2174        select FB_SYS_COPYAREA
2175        select FB_SYS_IMAGEBLIT
2176        select FB_SYS_FOPS
2177        select FB_DEFERRED_IO
2178        help
2179          This driver implements support for the E-Ink Broadsheet
2180          controller. The release name for this device was Epson S1D13521
2181          and could also have been called by other names when coupled with
2182          a bridge adapter.
2183
2184config FB_HYPERV
2185        tristate "Microsoft Hyper-V Synthetic Video support"
2186        depends on FB && HYPERV
2187        select FB_CFB_FILLRECT
2188        select FB_CFB_COPYAREA
2189        select FB_CFB_IMAGEBLIT
2190        select FB_DEFERRED_IO
2191        select DMA_CMA if HAVE_DMA_CONTIGUOUS && CMA
2192        help
2193          This framebuffer driver supports Microsoft Hyper-V Synthetic Video.
2194
2195config FB_SIMPLE
2196        tristate "Simple framebuffer support"
2197        depends on FB
2198        depends on !DRM_SIMPLEDRM
2199        select FB_CFB_FILLRECT
2200        select FB_CFB_COPYAREA
2201        select FB_CFB_IMAGEBLIT
2202        help
2203          Say Y if you want support for a simple frame-buffer.
2204
2205          This driver assumes that the display hardware has been initialized
2206          before the kernel boots, and the kernel will simply render to the
2207          pre-allocated frame buffer surface.
2208
2209          Configuration re: surface address, size, and format must be provided
2210          through device tree, or plain old platform data.
2211
2212config FB_SSD1307
2213        tristate "Solomon SSD1307 framebuffer support"
2214        depends on FB && I2C
2215        depends on GPIOLIB || COMPILE_TEST
2216        select FB_SYS_FOPS
2217        select FB_SYS_FILLRECT
2218        select FB_SYS_COPYAREA
2219        select FB_SYS_IMAGEBLIT
2220        select FB_DEFERRED_IO
2221        select PWM
2222        select FB_BACKLIGHT
2223        help
2224          This driver implements support for the Solomon SSD1307
2225          OLED controller over I2C.
2226
2227config FB_SM712
2228        tristate "Silicon Motion SM712 framebuffer support"
2229        depends on FB && PCI
2230        select FB_CFB_FILLRECT
2231        select FB_CFB_COPYAREA
2232        select FB_CFB_IMAGEBLIT
2233        help
2234          Frame buffer driver for the Silicon Motion SM710, SM712, SM721
2235          and SM722 chips.
2236
2237          This driver is also available as a module. The module will be
2238          called sm712fb. If you want to compile it as a module, say M
2239          here and read <file:Documentation/kbuild/modules.rst>.
2240
2241source "drivers/video/fbdev/omap/Kconfig"
2242source "drivers/video/fbdev/omap2/Kconfig"
2243source "drivers/video/fbdev/mmp/Kconfig"
2244