Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / drivers / video / fbdev / Kconfig
blobde035071fedb1b8a3fcef5d950ec778d10a7b962
1 # SPDX-License-Identifier: GPL-2.0-only
3 # fbdev configuration
6 menuconfig FB
7         tristate "Support for frame buffer device drivers"
8         select FB_CORE
9         select FB_NOTIFY
10         help
11           The frame buffer device provides an abstraction for the graphics
12           hardware. It represents the frame buffer of some video hardware and
13           allows application software to access the graphics hardware through
14           a well-defined interface, so the software doesn't need to know
15           anything about the low-level (hardware register) stuff.
17           Frame buffer devices work identically across the different
18           architectures supported by Linux and make the implementation of
19           application programs easier and more portable; at this point, an X
20           server exists which uses the frame buffer device exclusively.
21           On several non-X86 architectures, the frame buffer device is the
22           only way to use the graphics hardware.
24           The device is accessed through special device nodes, usually located
25           in the /dev directory, i.e. /dev/fb*.
27           You need an utility program called fbset to make full use of frame
28           buffer devices. Please read <file:Documentation/fb/framebuffer.rst>
29           and the Framebuffer-HOWTO at
30           <http://www.munted.org.uk/programming/Framebuffer-HOWTO-1.3.html> for more
31           information.
33           This enables support for native frame buffer device (fbdev) drivers.
35           The DRM subsystem provides support for emulated frame buffer devices
36           on top of KMS drivers, but this option allows legacy fbdev drivers to
37           be enabled as well.
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.
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.
48 config FB_HECUBA
49         tristate
50         depends on FB
51         select FB_SYSMEM_HELPERS_DEFERRED
53 config FB_SVGALIB
54         tristate
55         depends on FB
56         help
57           Common utility functions useful to fbdev drivers of VGA-based
58           cards.
60 config FB_MACMODES
61         tristate
62         depends on FB
64 config FB_GRVGA
65         tristate "Aeroflex Gaisler framebuffer support"
66         depends on FB && SPARC
67         select FB_IOMEM_HELPERS
68         help
69           This enables support for the SVGACTRL framebuffer in the GRLIB IP library from Aeroflex Gaisler.
71 config FB_CIRRUS
72         tristate "Cirrus Logic support"
73         depends on FB && (ZORRO || PCI)
74         select FB_CFB_FILLRECT
75         select FB_CFB_COPYAREA
76         select FB_CFB_IMAGEBLIT
77         select FB_IOMEM_FOPS
78         help
79           This enables support for Cirrus Logic GD542x/543x based boards on
80           Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum.
82           If you have a PCI-based system, this enables support for these
83           chips: GD-543x, GD-544x, GD-5480.
85           Please read the file <file:Documentation/fb/cirrusfb.rst>.
87           Say N unless you have such a graphics board or plan to get one
88           before you next recompile the kernel.
90 config FB_PM2
91         tristate "Permedia2 support"
92         depends on FB && ((AMIGA && BROKEN) || PCI)
93         select FB_CFB_FILLRECT
94         select FB_CFB_COPYAREA
95         select FB_CFB_IMAGEBLIT
96         select FB_IOMEM_FOPS
97         help
98           This is the frame buffer device driver for cards based on
99           the 3D Labs Permedia, Permedia 2 and Permedia 2V chips.
100           The driver was tested on the following cards:
101                 Diamond FireGL 1000 PRO AGP
102                 ELSA Gloria Synergy PCI
103                 Appian Jeronimo PRO (both heads) PCI
104                 3DLabs Oxygen ACX aka EONtronics Picasso P2 PCI
105                 Techsource Raptor GFX-8P (aka Sun PGX-32) on SPARC
106                 ASK Graphic Blaster Exxtreme AGP
108           To compile this driver as a module, choose M here: the
109           module will be called pm2fb.
111 config FB_PM2_FIFO_DISCONNECT
112         bool "enable FIFO disconnect feature"
113         depends on FB_PM2 && PCI
114         help
115           Support the Permedia2 FIFO disconnect feature.
117 config FB_ACORN
118         bool "Acorn VIDC support"
119         depends on (FB = y) && ARM && ARCH_ACORN
120         select FB_IOMEM_HELPERS
121         help
122           This is the frame buffer device driver for the Acorn VIDC graphics
123           hardware found in Acorn RISC PCs and other ARM-based machines.  If
124           unsure, say N.
126 config FB_CLPS711X
127         tristate "CLPS711X LCD support"
128         depends on FB && (ARCH_CLPS711X || COMPILE_TEST)
129         select FB_IOMEM_HELPERS
130         select FB_MODE_HELPERS
131         select LCD_CLASS_DEVICE
132         select VIDEOMODE_HELPERS
133         help
134           Say Y to enable the Framebuffer driver for the Cirrus Logic
135           CLPS711X CPUs.
137 config FB_SA1100
138         bool "SA-1100 LCD support"
139         depends on (FB = y) && ARM && ARCH_SA1100
140         select FB_IOMEM_HELPERS
141         help
142           This is a framebuffer device for the SA-1100 LCD Controller.
143           See <http://www.linux-fbdev.org/> for information on framebuffer
144           devices.
146           If you plan to use the LCD display with your SA-1100 system, say
147           Y here.
149 config FB_IMX
150         tristate "Freescale i.MX1/21/25/27 LCD support"
151         depends on FB && HAVE_CLK && HAS_IOMEM
152         depends on ARCH_MXC || COMPILE_TEST
153         select LCD_CLASS_DEVICE
154         select FB_IOMEM_HELPERS
155         select FB_MODE_HELPERS
156         select VIDEOMODE_HELPERS
158 config FB_CYBER2000
159         tristate "CyberPro 2000/2010/5000 support"
160         depends on FB && PCI && HAS_IOPORT && (BROKEN || !SPARC64)
161         select FB_IOMEM_HELPERS
162         help
163           This enables support for the Integraphics CyberPro 20x0 and 5000
164           VGA chips used in the Rebel.com Netwinder and other machines.
165           Say Y if you have a NetWinder or a graphics card containing this
166           device, otherwise say N.
168 config FB_CYBER2000_DDC
169         bool "DDC for CyberPro support"
170         depends on FB_CYBER2000
171         select FB_DDC
172         default y
173         help
174           Say Y here if you want DDC support for your CyberPro graphics
175           card. This is only I2C bus support, driver does not use EDID.
177 config FB_CYBER2000_I2C
178         bool "CyberPro 2000/2010/5000 I2C support"
179         depends on FB_CYBER2000 && I2C && ARCH_NETWINDER
180         depends on I2C=y || FB_CYBER2000=m
181         select I2C_ALGOBIT
182         help
183           Enable support for the I2C video decoder interface on the
184           Integraphics CyberPro 20x0 and 5000 VGA chips.  This is used
185           on the Netwinder machines for the SAA7111 video capture.
187 config FB_APOLLO
188         bool
189         depends on (FB = y) && APOLLO
190         default y
191         select FB_CFB_FILLRECT
192         select FB_CFB_IMAGEBLIT
193         select FB_IOMEM_FOPS
195 config FB_Q40
196         bool
197         depends on (FB = y) && Q40
198         default y
199         select FB_IOMEM_HELPERS
201 config FB_AMIGA
202         tristate "Amiga native chipset support"
203         depends on FB && AMIGA
204         select FB_IOMEM_FOPS
205         help
206           This is the frame buffer device driver for the builtin graphics
207           chipset found in Amigas.
209           To compile this driver as a module, choose M here: the
210           module will be called amifb.
212 config FB_AMIGA_OCS
213         bool "Amiga OCS chipset support"
214         depends on FB_AMIGA
215         help
216           This enables support for the original Agnus and Denise video chips,
217           found in the Amiga 1000 and most A500's and A2000's. If you intend
218           to run Linux on any of these systems, say Y; otherwise say N.
220 config FB_AMIGA_ECS
221         bool "Amiga ECS chipset support"
222         depends on FB_AMIGA
223         help
224           This enables support for the Enhanced Chip Set, found in later
225           A500's, later A2000's, the A600, the A3000, the A3000T and CDTV. If
226           you intend to run Linux on any of these systems, say Y; otherwise
227           say N.
229 config FB_AMIGA_AGA
230         bool "Amiga AGA chipset support"
231         depends on FB_AMIGA
232         help
233           This enables support for the Advanced Graphics Architecture (also
234           known as the AGA or AA) Chip Set, found in the A1200, A4000, A4000T
235           and CD32. If you intend to run Linux on any of these systems, say Y;
236           otherwise say N.
238 config FB_FM2
239         bool "Amiga FrameMaster II/Rainbow II support"
240         depends on (FB = y) && ZORRO
241         select FB_IOMEM_HELPERS
242         help
243           This is the frame buffer device driver for the Amiga FrameMaster
244           card from BSC (exhibited 1992 but not shipped as a CBM product).
246 config FB_ARC
247         tristate "Arc Monochrome LCD board support"
248         depends on FB && HAS_IOPORT && (X86 || COMPILE_TEST)
249         select FB_SYSMEM_HELPERS_DEFERRED
250         help
251           This enables support for the Arc Monochrome LCD board. The board
252           is based on the KS-108 lcd controller and is typically a matrix
253           of 2*n chips. This driver was tested with a 128x64 panel. This
254           driver supports it for use with x86 SBCs through a 16 bit GPIO
255           interface (8 bit data, 8 bit control). If you anticipate using
256           this driver, say Y or M; otherwise say N. You must specify the
257           GPIO IO address to be used for setting control and data.
259 config FB_ATARI
260         bool "Atari native chipset support"
261         depends on (FB = y) && ATARI
262         select FB_CFB_FILLRECT
263         select FB_CFB_COPYAREA
264         select FB_CFB_IMAGEBLIT
265         select FB_IOMEM_FOPS
266         help
267           This is the frame buffer device driver for the builtin graphics
268           chipset found in Ataris.
270 config FB_OF
271         tristate "Open Firmware frame buffer device support"
272         depends on FB && PPC && (!PPC_PSERIES || PCI)
273         depends on !DRM_OFDRM
274         select APERTURE_HELPERS
275         select FB_IOMEM_HELPERS
276         select FB_MACMODES
277         help
278           Say Y if you want support with Open Firmware for your graphics
279           board.
281 config FB_CONTROL
282         bool "Apple \"control\" display support"
283         depends on (FB = y) && ((PPC_PMAC && PPC32) || COMPILE_TEST)
284         select FB_IOMEM_HELPERS
285         select FB_MACMODES
286         help
287           This driver supports a frame buffer for the graphics adapter in the
288           Power Macintosh 7300 and others.
290 config FB_PLATINUM
291         bool "Apple \"platinum\" display support"
292         depends on (FB = y) && PPC_PMAC && PPC32
293         select FB_IOMEM_HELPERS
294         select FB_MACMODES
295         help
296           This driver supports a frame buffer for the "platinum" graphics
297           adapter in some Power Macintoshes.
299 config FB_VALKYRIE
300         bool "Apple \"valkyrie\" display support"
301         depends on (FB = y) && (MAC || (PPC_PMAC && PPC32))
302         select FB_IOMEM_HELPERS
303         select FB_MACMODES
304         help
305           This driver supports a frame buffer for the "valkyrie" graphics
306           adapter in some Power Macintoshes.
308 config FB_CT65550
309         bool "Chips 65550 display support"
310         depends on (FB = y) && PPC32 && PCI
311         select FB_IOMEM_HELPERS
312         help
313           This is the frame buffer device driver for the Chips & Technologies
314           65550 graphics chip in PowerBooks.
316 config FB_ASILIANT
317         bool "Asiliant (Chips) 69000 display support"
318         depends on (FB = y) && PCI
319         select FB_IOMEM_HELPERS
320         help
321           This is the frame buffer device driver for the Asiliant 69030 chipset
323 config FB_IMSTT
324         bool "IMS Twin Turbo display support"
325         depends on (FB = y) && PCI
326         select FB_CFB_IMAGEBLIT
327         select FB_IOMEM_FOPS
328         select FB_MACMODES if PPC_PMAC
329         help
330           The IMS Twin Turbo is a PCI-based frame buffer card bundled with
331           many Macintosh and compatible computers.
333 config FB_VGA16
334         tristate "VGA 16-color graphics support"
335         depends on FB && X86
336         select APERTURE_HELPERS
337         select FB_CFB_FILLRECT
338         select FB_CFB_COPYAREA
339         select FB_CFB_IMAGEBLIT
340         select FB_IOMEM_FOPS
341         select VGASTATE
342         select FONT_8x16 if FRAMEBUFFER_CONSOLE
343         help
344           This is the frame buffer device driver for VGA 16 color graphic
345           cards. Say Y if you have such a card.
347           To compile this driver as a module, choose M here: the
348           module will be called vga16fb.
350 config FB_STI
351         tristate "HP STI frame buffer device support"
352         depends on FB && PARISC
353         select FB_CFB_FILLRECT
354         select FB_CFB_COPYAREA
355         select FB_CFB_IMAGEBLIT
356         select FB_IOMEM_FOPS
357         select STI_CORE
358         default y
359         help
360           Enabling this option will implement the linux framebuffer device
361           using calls to the STI BIOS routines for initialisation.
363           If you enable this option, you will get a planar framebuffer device
364           /dev/fb which will work on the most common HP graphic cards of the
365           NGLE family, including the artist chips (in the 7xx and Bxxx series),
366           HCRX, HCRX24, CRX, CRX24 and VisEG series.
368           It is safe to enable this option, so you should probably say "Y".
370 config FB_MAC
371         bool "Generic Macintosh display support"
372         depends on (FB = y) && MAC
373         select FB_IOMEM_HELPERS
374         select FB_MACMODES
376 config FB_HP300
377         bool
378         depends on (FB = y) && DIO
379         select FB_CFB_IMAGEBLIT
380         select FB_IOMEM_FOPS
381         default y
383 config FB_TGA
384         tristate "TGA/SFB+ framebuffer support"
385         depends on FB
386         depends on PCI || TC
387         depends on ALPHA || TC
388         select BITREVERSE
389         select FB_CFB_FILLRECT
390         select FB_CFB_COPYAREA
391         select FB_CFB_IMAGEBLIT
392         select FB_IOMEM_FOPS
393         help
394           This is the frame buffer device driver for generic TGA and SFB+
395           graphic cards.  These include DEC ZLXp-E1, -E2 and -E3 PCI cards,
396           also known as PBXGA-A, -B and -C, and DEC ZLX-E1, -E2 and -E3
397           TURBOchannel cards, also known as PMAGD-A, -B and -C.
399           Due to hardware limitations ZLX-E2 and E3 cards are not supported
400           for DECstation 5000/200 systems.  Additionally due to firmware
401           limitations these cards may cause troubles with booting DECstation
402           5000/240 and /260 systems, but are fully supported under Linux if
403           you manage to get it going. ;-)
405           Say Y if you have one of those.
407 config FB_UVESA
408         tristate "Userspace VESA VGA graphics support"
409         depends on FB && CONNECTOR
410         depends on !UML
411         select FB_IOMEM_HELPERS
412         select FB_MODE_HELPERS
413         help
414           This is the frame buffer driver for generic VBE 2.0 compliant
415           graphic cards. It can also take advantage of VBE 3.0 features,
416           such as refresh rate adjustment.
418           This driver generally provides more features than vesafb but
419           requires a userspace helper application called 'v86d'. See
420           <file:Documentation/fb/uvesafb.rst> for more information.
422           If unsure, say N.
424 config FB_VESA
425         bool "VESA VGA graphics support"
426         depends on (FB = y) && X86
427         select APERTURE_HELPERS
428         select FB_IOMEM_HELPERS
429         select SYSFB
430         help
431           This is the frame buffer device driver for generic VESA 2.0
432           compliant graphic cards. The older VESA 1.2 cards are not supported.
433           You will get a boot time penguin logo at no additional cost. Please
434           read <file:Documentation/fb/vesafb.rst>. If unsure, say Y.
436 config FB_EFI
437         bool "EFI-based Framebuffer Support"
438         depends on (FB = y) && EFI
439         select APERTURE_HELPERS
440         select DRM_PANEL_ORIENTATION_QUIRKS
441         select FB_IOMEM_HELPERS
442         select SYSFB
443         help
444           This is the EFI frame buffer device driver. If the firmware on
445           your platform is EFI 1.10 or UEFI 2.0, select Y to add support for
446           using the EFI framebuffer as your console.
448 config FB_N411
449         tristate "N411 Apollo/Hecuba devkit support"
450         depends on FB && X86 && MMU
451         select FB_HECUBA
452         help
453           This enables support for the Apollo display controller in its
454           Hecuba form using the n411 devkit.
456 config FB_HGA
457         tristate "Hercules mono graphics support"
458         depends on FB && X86
459         select FB_IOMEM_FOPS
460         help
461           Say Y here if you have a Hercules mono graphics card.
463           To compile this driver as a module, choose M here: the
464           module will be called hgafb.
466           As this card technology is at least 25 years old,
467           most people will answer N here.
469 config FB_GBE
470         bool "SGI Graphics Backend frame buffer support"
471         depends on (FB = y) && HAS_IOMEM
472         depends on SGI_IP32 || COMPILE_TEST
473         select FB_IOMEM_HELPERS
474         help
475           This is the frame buffer device driver for SGI Graphics Backend.
476           This chip is used in SGI O2 and Visual Workstation 320/540.
478 config FB_GBE_MEM
479         int "Video memory size in MB"
480         depends on FB_GBE
481         default 4
482         help
483           This is the amount of memory reserved for the framebuffer,
484           which can be any value between 1MB and 8MB.
486 config FB_SBUS
487         bool "SBUS and UPA framebuffers"
488         depends on (FB = y) && SPARC
489         help
490           Say Y if you want support for SBUS or UPA based frame buffer device.
492 config FB_SBUS_HELPERS
493         bool
494         select FB_CFB_COPYAREA
495         select FB_CFB_FILLRECT
496         select FB_CFB_IMAGEBLIT
497         select FB_IOMEM_FOPS
499 config FB_BW2
500         bool "BWtwo support"
501         depends on (FB = y) && (SPARC && FB_SBUS)
502         select FB_SBUS_HELPERS
503         help
504           This is the frame buffer device driver for the BWtwo frame buffer.
506 config FB_CG3
507         bool "CGthree support"
508         depends on (FB = y) && (SPARC && FB_SBUS)
509         select FB_SBUS_HELPERS
510         help
511           This is the frame buffer device driver for the CGthree frame buffer.
513 config FB_CG6
514         bool "CGsix (GX,TurboGX) support"
515         depends on (FB = y) && (SPARC && FB_SBUS)
516         select FB_CFB_COPYAREA
517         select FB_CFB_IMAGEBLIT
518         select FB_IOMEM_FOPS
519         help
520           This is the frame buffer device driver for the CGsix (GX, TurboGX)
521           frame buffer.
523 config FB_FFB
524         bool "Creator/Creator3D/Elite3D support"
525         depends on FB_SBUS && SPARC64
526         select FB_CFB_COPYAREA
527         select FB_CFB_IMAGEBLIT
528         select FB_IOMEM_FOPS
529         help
530           This is the frame buffer device driver for the Creator, Creator3D,
531           and Elite3D graphics boards.
533 config FB_TCX
534         bool "TCX (SS4/SS5 only) support"
535         depends on FB_SBUS
536         select FB_SBUS_HELPERS
537         help
538           This is the frame buffer device driver for the TCX 24/8bit frame
539           buffer.
541 config FB_CG14
542         bool "CGfourteen (SX) support"
543         depends on FB_SBUS
544         select FB_SBUS_HELPERS
545         help
546           This is the frame buffer device driver for the CGfourteen frame
547           buffer on Desktop SPARCsystems with the SX graphics option.
549 config FB_P9100
550         bool "P9100 (Sparcbook 3 only) support"
551         depends on FB_SBUS
552         select FB_SBUS_HELPERS
553         help
554           This is the frame buffer device driver for the P9100 card
555           supported on Sparcbook 3 machines.
557 config FB_LEO
558         bool "Leo (ZX) support"
559         depends on FB_SBUS
560         select FB_SBUS_HELPERS
561         help
562           This is the frame buffer device driver for the SBUS-based Sun ZX
563           (leo) frame buffer cards.
565 config FB_XVR500
566         bool "Sun XVR-500 3DLABS Wildcat support"
567         depends on (FB = y) && PCI && SPARC64
568         select FB_CFB_FILLRECT
569         select FB_CFB_COPYAREA
570         select FB_CFB_IMAGEBLIT
571         select FB_IOMEM_FOPS
572         help
573           This is the framebuffer device for the Sun XVR-500 and similar
574           graphics cards based upon the 3DLABS Wildcat chipset.  The driver
575           only works on sparc64 systems where the system firmware has
576           mostly initialized the card already.  It is treated as a
577           completely dumb framebuffer device.
579 config FB_XVR2500
580         bool "Sun XVR-2500 3DLABS Wildcat support"
581         depends on (FB = y) && PCI && SPARC64
582         select FB_IOMEM_HELPERS
583         help
584           This is the framebuffer device for the Sun XVR-2500 and similar
585           graphics cards based upon the 3DLABS Wildcat chipset.  The driver
586           only works on sparc64 systems where the system firmware has
587           mostly initialized the card already.  It is treated as a
588           completely dumb framebuffer device.
590 config FB_XVR1000
591         bool "Sun XVR-1000 support"
592         depends on (FB = y) && SPARC64
593         select FB_IOMEM_HELPERS
594         help
595           This is the framebuffer device for the Sun XVR-1000 and similar
596           graphics cards.  The driver only works on sparc64 systems where
597           the system firmware has mostly initialized the card already.  It
598           is treated as a completely dumb framebuffer device.
600 config FB_PVR2
601         tristate "NEC PowerVR 2 display support"
602         depends on FB && HAS_IOMEM
603         depends on SH_DREAMCAST || COMPILE_TEST
604         select FB_CFB_FILLRECT
605         select FB_CFB_COPYAREA
606         select FB_CFB_IMAGEBLIT
607         select FB_IOMEM_FOPS
608         help
609           Say Y here if you have a PowerVR 2 card in your box.  If you plan to
610           run linux on your Dreamcast, you will have to say Y here.
611           This driver may or may not work on other PowerVR 2 cards, but is
612           totally untested.  Use at your own risk.  If unsure, say N.
614           To compile this driver as a module, choose M here: the
615           module will be called pvr2fb.
617           You can pass several parameters to the driver at boot time or at
618           module load time.  The parameters look like "video=pvr2:XXX", where
619           the meaning of XXX can be found at the end of the main source file
620           (<file:drivers/video/fbdev/pvr2fb.c>). Please see the file
621           <file:Documentation/fb/pvr2fb.rst>.
623 config FB_OPENCORES
624         tristate "OpenCores VGA/LCD core 2.0 framebuffer support"
625         depends on FB && HAS_DMA
626         select FB_IOMEM_HELPERS
627         help
628           This enables support for the OpenCores VGA/LCD core.
630           The OpenCores VGA/LCD core is typically used together with
631           softcore CPUs (e.g. OpenRISC or Microblaze) or hard processor
632           systems (e.g. Altera socfpga or Xilinx Zynq) on FPGAs.
634           The source code and specification for the core is available at
635           <https://opencores.org/project,vga_lcd>
637 config FB_S1D13XXX
638         tristate "Epson S1D13XXX framebuffer support"
639         depends on FB
640         select FB_CFB_FILLRECT
641         select FB_CFB_COPYAREA
642         select FB_CFB_IMAGEBLIT
643         select FB_IOMEM_FOPS
644         help
645           Support for S1D13XXX framebuffer device family (currently only
646           working with S1D13806). Product specs at
647           <https://vdc.epson.com/>
649 config FB_ATMEL
650         tristate "AT91 LCD Controller support"
651         depends on FB && OF && HAVE_CLK && HAS_IOMEM
652         depends on HAVE_FB_ATMEL || COMPILE_TEST
653         select FB_BACKLIGHT
654         select FB_IOMEM_HELPERS
655         select FB_MODE_HELPERS
656         select VIDEOMODE_HELPERS
657         help
658           This enables support for the AT91 LCD Controller.
660 config FB_NVIDIA
661         tristate "nVidia Framebuffer Support"
662         depends on FB && PCI
663         select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT
664         select FB_CFB_FILLRECT
665         select FB_CFB_COPYAREA
666         select FB_CFB_IMAGEBLIT
667         select FB_IOMEM_FOPS
668         select BITREVERSE
669         select VGASTATE
670         help
671           This driver supports graphics boards with the nVidia chips, TNT
672           and newer. For very old chipsets, such as the RIVA128, then use
673           the rivafb.
674           Say Y if you have such a graphics board.
676           To compile this driver as a module, choose M here: the
677           module will be called nvidiafb.
679 config FB_NVIDIA_I2C
680         bool "Enable DDC Support"
681         depends on FB_NVIDIA
682         select FB_DDC
683         help
684           This enables I2C support for nVidia Chipsets.  This is used
685           only for getting EDID information from the attached display
686           allowing for robust video mode handling and switching.
688           Because fbdev-2.6 requires that drivers must be able to
689           independently validate video mode parameters, you should say Y
690           here.
692 config FB_NVIDIA_DEBUG
693         bool "Lots of debug output"
694         depends on FB_NVIDIA
695         help
696           Say Y here if you want the nVidia driver to output all sorts
697           of debugging information to provide to the maintainer when
698           something goes wrong.
700 config FB_NVIDIA_BACKLIGHT
701         bool "Support for backlight control"
702         depends on FB_NVIDIA
703         default y
704         help
705           Say Y here if you want to control the backlight of your display.
707 config FB_RIVA
708         tristate "nVidia Riva support"
709         depends on FB && PCI
710         select FB_BACKLIGHT if FB_RIVA_BACKLIGHT
711         select FB_CFB_FILLRECT
712         select FB_CFB_COPYAREA
713         select FB_CFB_IMAGEBLIT
714         select FB_IOMEM_FOPS
715         select FB_MODE_HELPERS
716         select BITREVERSE
717         select VGASTATE
718         help
719           This driver supports graphics boards with the nVidia Riva/Geforce
720           chips.
721           Say Y if you have such a graphics board.
723           To compile this driver as a module, choose M here: the
724           module will be called rivafb.
726 config FB_RIVA_I2C
727         bool "Enable DDC Support"
728         depends on FB_RIVA
729         select FB_DDC
730         help
731           This enables I2C support for nVidia Chipsets.  This is used
732           only for getting EDID information from the attached display
733           allowing for robust video mode handling and switching.
735           Because fbdev-2.6 requires that drivers must be able to
736           independently validate video mode parameters, you should say Y
737           here.
739 config FB_RIVA_DEBUG
740         bool "Lots of debug output"
741         depends on FB_RIVA
742         help
743           Say Y here if you want the Riva driver to output all sorts
744           of debugging information to provide to the maintainer when
745           something goes wrong.
747 config FB_RIVA_BACKLIGHT
748         bool "Support for backlight control"
749         depends on FB_RIVA
750         default y
751         help
752           Say Y here if you want to control the backlight of your display.
754 config FB_I740
755         tristate "Intel740 support"
756         depends on FB && PCI
757         select FB_IOMEM_HELPERS
758         select FB_MODE_HELPERS
759         select VGASTATE
760         select FB_DDC
761         help
762           This driver supports graphics cards based on Intel740 chip.
764 config FB_I810
765         tristate "Intel 810/815 support"
766         depends on FB && PCI && X86_32 && AGP_INTEL
767         select FB_IOMEM_FOPS
768         select FB_MODE_HELPERS
769         select VGASTATE
770         help
771           This driver supports the on-board graphics built in to the Intel 810
772           and 815 chipsets.  Say Y if you have and plan to use such a board.
774           To compile this driver as a module, choose M here: the
775           module will be called i810fb.
777           For more information, please read
778           <file:Documentation/fb/intel810.rst>
780 config FB_I810_GTF
781         bool "use VESA Generalized Timing Formula"
782         depends on FB_I810
783         help
784           If you say Y, then the VESA standard, Generalized Timing Formula
785           or GTF, will be used to calculate the required video timing values
786           per video mode.  Since the GTF allows nondiscrete timings
787           (nondiscrete being a range of values as opposed to discrete being a
788           set of values), you'll be able to use any combination of horizontal
789           and vertical resolutions, and vertical refresh rates without having
790           to specify your own timing parameters.  This is especially useful
791           to maximize the performance of an aging display, or if you just
792           have a display with nonstandard dimensions. A VESA compliant
793           monitor is recommended, but can still work with non-compliant ones.
794           If you need or want this, then select this option. The timings may
795           not be compliant with Intel's recommended values. Use at your own
796           risk.
798           If you say N, the driver will revert to discrete video timings
799           using a set recommended by Intel in their documentation.
801           If unsure, say N.
803 config FB_I810_I2C
804         bool "Enable DDC Support"
805         depends on FB_I810 && FB_I810_GTF
806         select FB_DDC
807         help
808           Add DDC/I2C support for i810fb.  This will allow the driver to get
809           display information, especially for monitors with fickle timings.
811           If unsure, say Y.
813 config FB_MATROX
814         tristate "Matrox acceleration"
815         depends on FB && PCI
816         select FB_CFB_FILLRECT
817         select FB_CFB_COPYAREA
818         select FB_CFB_IMAGEBLIT
819         select FB_IOMEM_FOPS
820         select FB_TILEBLITTING
821         select FB_MACMODES if PPC_PMAC
822         help
823           Say Y here if you have a Matrox Millennium, Matrox Millennium II,
824           Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
825           Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video,
826           Matrox G400, G450 or G550 card in your box.
828           To compile this driver as a module, choose M here: the
829           module will be called matroxfb.
831           You can pass several parameters to the driver at boot time or at
832           module load time. The parameters look like "video=matroxfb:XXX", and
833           are described in <file:Documentation/fb/matroxfb.rst>.
835 config FB_MATROX_MILLENIUM
836         bool "Millennium I/II support"
837         depends on FB_MATROX
838         help
839           Say Y here if you have a Matrox Millennium or Matrox Millennium II
840           video card. If you select "Advanced lowlevel driver options" below,
841           you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp
842           packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can
843           also use font widths different from 8.
845 config FB_MATROX_MYSTIQUE
846         bool "Mystique support"
847         depends on FB_MATROX
848         help
849           Say Y here if you have a Matrox Mystique or Matrox Mystique 220
850           video card. If you select "Advanced lowlevel driver options" below,
851           you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp
852           packed pixel and 32 bpp packed pixel. You can also use font widths
853           different from 8.
855 config FB_MATROX_G
856         bool "G100/G200/G400/G450/G550 support"
857         depends on FB_MATROX
858         help
859           Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based
860           video card. If you select "Advanced lowlevel driver options", you
861           should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
862           pixel and 32 bpp packed pixel. You can also use font widths
863           different from 8.
865           If you need support for G400 secondary head, you must say Y to
866           "Matrox I2C support" and "G400 second head support" right below.
867           G450/G550 secondary head and digital output are supported without
868           additional modules.
870           The driver starts in monitor mode. You must use the matroxset tool
871           (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
872           swap primary and secondary head outputs, or to change output mode.
873           Secondary head driver always start in 640x480 resolution and you
874           must use fbset to change it.
876           Do not forget that second head supports only 16 and 32 bpp
877           packed pixels, so it is a good idea to compile them into the kernel
878           too. You can use only some font widths, as the driver uses generic
879           painting procedures (the secondary head does not use acceleration
880           engine).
882           G450/G550 hardware can display TV picture only from secondary CRTC,
883           and it performs no scaling, so picture must have 525 or 625 lines.
885 config FB_MATROX_I2C
886         tristate "Matrox I2C support"
887         depends on FB_MATROX
888         select FB_DDC
889         help
890           This drivers creates I2C buses which are needed for accessing the
891           DDC (I2C) bus present on all Matroxes, an I2C bus which
892           interconnects Matrox optional devices, like MGA-TVO on G200 and
893           G400, and the secondary head DDC bus, present on G400 only.
895           You can say Y or M here if you want to experiment with monitor
896           detection code. You must say Y or M here if you want to use either
897           second head of G400 or MGA-TVO on G200 or G400.
899           If you compile it as module, it will create a module named
900           i2c-matroxfb.
902 config FB_MATROX_MAVEN
903         tristate "G400 second head support"
904         depends on FB_MATROX_G && FB_MATROX_I2C
905         select FB_IOMEM_HELPERS
906         help
907           WARNING !!! This support does not work with G450 !!!
909           Say Y or M here if you want to use a secondary head (meaning two
910           monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary
911           head is not compatible with accelerated XFree 3.3.x SVGA servers -
912           secondary head output is blanked while you are in X. With XFree
913           3.9.17 preview you can use both heads if you use SVGA over fbdev or
914           the fbdev driver on first head and the fbdev driver on second head.
916           If you compile it as module, two modules are created,
917           matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for
918           both G200 and G400, matroxfb_crtc2 is needed only by G400. You must
919           also load i2c-matroxfb to get it to run.
921           The driver starts in monitor mode and you must use the matroxset
922           tool (available at
923           <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to
924           PAL or NTSC or to swap primary and secondary head outputs.
925           Secondary head driver also always start in 640x480 resolution, you
926           must use fbset to change it.
928           Also do not forget that second head supports only 16 and 32 bpp
929           packed pixels, so it is a good idea to compile them into the kernel
930           too.  You can use only some font widths, as the driver uses generic
931           painting procedures (the secondary head does not use acceleration
932           engine).
934 config FB_RADEON
935         tristate "ATI Radeon display support"
936         depends on FB && PCI
937         select FB_BACKLIGHT if FB_RADEON_BACKLIGHT
938         select FB_CFB_FILLRECT
939         select FB_CFB_COPYAREA
940         select FB_CFB_IMAGEBLIT
941         select FB_IOMEM_FOPS
942         select FB_MACMODES if PPC
943         select FB_MODE_HELPERS
944         help
945           Choose this option if you want to use an ATI Radeon graphics card as
946           a framebuffer device.  There are both PCI and AGP versions.  You
947           don't need to choose this to run the Radeon in plain VGA mode.
949           There is a product page at
950           https://products.amd.com/en-us/GraphicCardResult.aspx
952 config FB_RADEON_I2C
953         bool "DDC/I2C for ATI Radeon support"
954         depends on FB_RADEON
955         select FB_DDC
956         default y
957         help
958           Say Y here if you want DDC/I2C support for your Radeon board.
960 config FB_RADEON_BACKLIGHT
961         bool "Support for backlight control"
962         depends on FB_RADEON
963         default y
964         help
965           Say Y here if you want to control the backlight of your display.
967 config FB_RADEON_DEBUG
968         bool "Lots of debug output from Radeon driver"
969         depends on FB_RADEON
970         help
971           Say Y here if you want the Radeon driver to output all sorts
972           of debugging information to provide to the maintainer when
973           something goes wrong.
975 config FB_ATY128
976         tristate "ATI Rage128 display support"
977         depends on FB && PCI
978         select FB_BACKLIGHT if FB_ATY128_BACKLIGHT
979         select FB_IOMEM_HELPERS
980         select FB_MACMODES if PPC_PMAC
981         help
982           This driver supports graphics boards with the ATI Rage128 chips.
983           Say Y if you have such a graphics board and read
984           <file:Documentation/fb/aty128fb.rst>.
986           To compile this driver as a module, choose M here: the
987           module will be called aty128fb.
989 config FB_ATY128_BACKLIGHT
990         bool "Support for backlight control"
991         depends on FB_ATY128
992         default y
993         help
994           Say Y here if you want to control the backlight of your display.
996 config FB_ATY
997         tristate "ATI Mach64 display support" if PCI || ATARI
998         depends on FB && !SPARC32
999         select FB_CFB_FILLRECT
1000         select FB_CFB_COPYAREA
1001         select FB_CFB_IMAGEBLIT
1002         select FB_BACKLIGHT if FB_ATY_BACKLIGHT
1003         select FB_IOMEM_FOPS
1004         select FB_MACMODES if PPC
1005         select FB_ATY_CT if SPARC64 && PCI
1006         help
1007           This driver supports graphics boards with the ATI Mach64 chips.
1008           Say Y if you have such a graphics board.
1010           To compile this driver as a module, choose M here: the
1011           module will be called atyfb.
1013 config FB_ATY_CT
1014         bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support"
1015         depends on PCI && FB_ATY
1016         help
1017           Say Y here to support use of ATI's 64-bit Rage boards (or other
1018           boards based on the Mach64 CT, VT, GT, and LT chipsets) as a
1019           framebuffer device.  The ATI product support page for these boards
1020           is at <http://support.ati.com/products/pc/mach64/mach64.html>.
1022 config FB_ATY_GENERIC_LCD
1023         bool "Mach64 generic LCD support"
1024         depends on FB_ATY_CT
1025         help
1026           Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
1027           Rage XC, or Rage XL chipset.
1029 config FB_ATY_GX
1030         bool "Mach64 GX support" if PCI
1031         depends on FB_ATY
1032         default y if ATARI
1033         help
1034           Say Y here to support use of the ATI Mach64 Graphics Expression
1035           board (or other boards based on the Mach64 GX chipset) as a
1036           framebuffer device.  The ATI product support page for these boards
1037           is at
1038           <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
1040 config FB_ATY_BACKLIGHT
1041         bool "Support for backlight control"
1042         depends on FB_ATY
1043         default y
1044         help
1045           Say Y here if you want to control the backlight of your display.
1047 config FB_S3
1048         tristate "S3 Trio/Virge support"
1049         depends on FB && PCI && HAS_IOPORT
1050         select FB_CFB_FILLRECT
1051         select FB_CFB_COPYAREA
1052         select FB_CFB_IMAGEBLIT
1053         select FB_IOMEM_FOPS
1054         select FB_TILEBLITTING
1055         select FB_SVGALIB
1056         select VGASTATE
1057         select FONT_8x16 if FRAMEBUFFER_CONSOLE
1058         help
1059           Driver for graphics boards with S3 Trio / S3 Virge chip.
1061 config FB_S3_DDC
1062         bool "DDC for S3 support"
1063         depends on FB_S3
1064         select FB_DDC
1065         default y
1066         help
1067           Say Y here if you want DDC support for your S3 graphics card.
1069 config FB_SAVAGE
1070         tristate "S3 Savage support"
1071         depends on FB && PCI
1072         select FB_CFB_FILLRECT
1073         select FB_CFB_COPYAREA
1074         select FB_CFB_IMAGEBLIT
1075         select FB_IOMEM_FOPS
1076         select FB_MODE_HELPERS
1077         select VGASTATE
1078         help
1079           This driver supports notebooks and computers with S3 Savage PCI/AGP
1080           chips.
1082           Say Y if you have such a graphics card.
1084           To compile this driver as a module, choose M here; the module
1085           will be called savagefb.
1087 config FB_SAVAGE_I2C
1088         bool "Enable DDC2 Support"
1089         depends on FB_SAVAGE
1090         select FB_DDC
1091         help
1092           This enables I2C support for S3 Savage Chipsets.  This is used
1093           only for getting EDID information from the attached display
1094           allowing for robust video mode handling and switching.
1096           Because fbdev-2.6 requires that drivers must be able to
1097           independently validate video mode parameters, you should say Y
1098           here.
1100 config FB_SAVAGE_ACCEL
1101         bool "Enable Console Acceleration"
1102         depends on FB_SAVAGE
1103         help
1104           This option will compile in console acceleration support. If
1105           the resulting framebuffer console has bothersome glitches, then
1106           choose N here.
1108 config FB_SIS
1109         tristate "SiS/XGI display support"
1110         depends on FB && PCI && HAS_IOPORT
1111         select BOOT_VESA_SUPPORT if FB_SIS = y
1112         select FB_CFB_FILLRECT
1113         select FB_CFB_COPYAREA
1114         select FB_CFB_IMAGEBLIT
1115         select FB_IOMEM_FOPS
1116         select FB_SIS_300 if !FB_SIS_315
1117         help
1118           This is the frame buffer device driver for the SiS 300, 315, 330
1119           and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets.
1120           Specs available at <https://www.sis.com> and <http://www.xgitech.com>.
1122           To compile this driver as a module, choose M here; the module
1123           will be called sisfb.
1125 config FB_SIS_300
1126         bool "SiS 300 series support"
1127         depends on FB_SIS
1128         help
1129           Say Y here to support use of the SiS 300/305, 540, 630 and 730.
1131 config FB_SIS_315
1132         bool "SiS 315/330/340 series and XGI support"
1133         depends on FB_SIS
1134         help
1135           Say Y here to support use of the SiS 315, 330 and 340 series
1136           (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well
1137           as XGI V3XT, V5, V8 and Z7.
1139 config FB_VIA
1140         tristate "VIA UniChrome (Pro) and Chrome9 display support"
1141         depends on FB && PCI && GPIOLIB && I2C && HAS_IOPORT && (X86 || COMPILE_TEST)
1142         select FB_CFB_FILLRECT
1143         select FB_CFB_COPYAREA
1144         select FB_CFB_IMAGEBLIT
1145         select FB_IOMEM_FOPS
1146         select I2C_ALGOBIT
1147         help
1148           This is the frame buffer device driver for Graphics chips of VIA
1149           UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/
1150           CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896
1151           /P4M900,VX800)
1152           Say Y if you have a VIA UniChrome graphics board.
1154           To compile this driver as a module, choose M here: the
1155           module will be called viafb.
1157 if FB_VIA
1159 config FB_VIA_DIRECT_PROCFS
1160         bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)"
1161         help
1162           Allow direct hardware access to some output registers via procfs.
1163           This is dangerous but may provide the only chance to get the
1164           correct output device configuration.
1165           Its use is strongly discouraged.
1167 config FB_VIA_X_COMPATIBILITY
1168         bool "X server compatibility"
1169         help
1170           This option reduces the functionality (power saving, ...) of the
1171           framebuffer to avoid negative impact on the OpenChrome X server.
1172           If you use any X server other than fbdev you should enable this
1173           otherwise it should be safe to disable it and allow using all
1174           features.
1176 endif
1178 config FB_NEOMAGIC
1179         tristate "NeoMagic display support"
1180         depends on FB && PCI && HAS_IOPORT
1181         select FB_CFB_FILLRECT
1182         select FB_CFB_COPYAREA
1183         select FB_CFB_IMAGEBLIT
1184         select FB_IOMEM_FOPS
1185         select FB_MODE_HELPERS
1186         select VGASTATE
1187         help
1188           This driver supports notebooks with NeoMagic PCI chips.
1189           Say Y if you have such a graphics card.
1191           To compile this driver as a module, choose M here: the
1192           module will be called neofb.
1194 config FB_KYRO
1195         tristate "IMG Kyro support"
1196         depends on FB && PCI
1197         select FB_IOMEM_HELPERS
1198         help
1199           Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
1200           graphics board.
1202           To compile this driver as a module, choose M here: the
1203           module will be called kyrofb.
1205 config FB_3DFX
1206         tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
1207         depends on FB && PCI && HAS_IOPORT
1208         select FB_CFB_FILLRECT
1209         select FB_CFB_COPYAREA
1210         select FB_CFB_IMAGEBLIT
1211         select FB_IOMEM_FOPS
1212         select FB_MODE_HELPERS
1213         help
1214           This driver supports graphics boards with the 3Dfx Banshee,
1215           Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have
1216           such a graphics board.
1218           To compile this driver as a module, choose M here: the
1219           module will be called tdfxfb.
1221 config FB_3DFX_ACCEL
1222         bool "3Dfx Acceleration functions"
1223         depends on FB_3DFX
1224         help
1225         This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer
1226         device driver with acceleration functions.
1228 config FB_3DFX_I2C
1229         bool "Enable DDC/I2C support"
1230         depends on FB_3DFX
1231         select FB_DDC
1232         default y
1233         help
1234           Say Y here if you want DDC/I2C support for your 3dfx Voodoo3.
1236 config FB_VOODOO1
1237         tristate "3Dfx Voodoo Graphics (sst1) support"
1238         depends on FB && PCI
1239         select FB_IOMEM_HELPERS
1240         help
1241           Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
1242           Voodoo2 (cvg) based graphics card.
1244           To compile this driver as a module, choose M here: the
1245           module will be called sstfb.
1247           WARNING: Do not use any application that uses the 3D engine
1248           (namely glide) while using this driver.
1249           Please read the <file:Documentation/fb/sstfb.rst> for supported
1250           options and other important info  support.
1252 config FB_VT8623
1253         tristate "VIA VT8623 support"
1254         depends on FB && PCI && HAS_IOPORT
1255         select FB_CFB_FILLRECT
1256         select FB_CFB_COPYAREA
1257         select FB_CFB_IMAGEBLIT
1258         select FB_IOMEM_FOPS
1259         select FB_TILEBLITTING
1260         select FB_SVGALIB
1261         select VGASTATE
1262         select FONT_8x16 if FRAMEBUFFER_CONSOLE
1263         help
1264           Driver for CastleRock integrated graphics core in the
1265           VIA VT8623 [Apollo CLE266] chipset.
1267 config FB_TRIDENT
1268         tristate "Trident/CyberXXX/CyberBlade support"
1269         depends on FB && PCI && HAS_IOPORT
1270         select FB_CFB_FILLRECT
1271         select FB_CFB_COPYAREA
1272         select FB_CFB_IMAGEBLIT
1273         select FB_DDC
1274         select FB_IOMEM_FOPS
1275         select FB_MODE_HELPERS
1276         help
1277           This is the frame buffer device driver for Trident PCI/AGP chipsets.
1278           Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D
1279           and Blade XP.
1280           There are also integrated versions of these chips called CyberXXXX,
1281           CyberImage or CyberBlade. These chips are mostly found in laptops
1282           but also on some motherboards including early VIA EPIA motherboards.
1283           For more information, read <file:Documentation/fb/tridentfb.rst>
1285           Say Y if you have such a graphics board.
1287           To compile this driver as a module, choose M here: the
1288           module will be called tridentfb.
1290 config FB_ARK
1291         tristate "ARK 2000PV support"
1292         depends on FB && PCI && HAS_IOPORT
1293         select FB_CFB_FILLRECT
1294         select FB_CFB_COPYAREA
1295         select FB_CFB_IMAGEBLIT
1296         select FB_IOMEM_FOPS
1297         select FB_TILEBLITTING
1298         select FB_SVGALIB
1299         select VGASTATE
1300         select FONT_8x16 if FRAMEBUFFER_CONSOLE
1301         help
1302           Driver for PCI graphics boards with ARK 2000PV chip
1303           and ICS 5342 RAMDAC.
1305 config FB_PM3
1306         tristate "Permedia3 support"
1307         depends on FB && PCI
1308         select FB_CFB_FILLRECT
1309         select FB_CFB_COPYAREA
1310         select FB_CFB_IMAGEBLIT
1311         select FB_IOMEM_FOPS
1312         help
1313           This is the frame buffer device driver for the 3DLabs Permedia3
1314           chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
1315           similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
1316           and maybe other boards.
1318 config FB_CARMINE
1319         tristate "Fujitsu carmine frame buffer support"
1320         depends on FB && PCI
1321         select FB_IOMEM_HELPERS
1322         help
1323           This is the frame buffer device driver for the Fujitsu Carmine chip.
1324           The driver provides two independent frame buffer devices.
1326 choice
1327         depends on FB_CARMINE
1328         prompt "DRAM timing"
1329         default FB_CARMINE_DRAM_EVAL
1331 config FB_CARMINE_DRAM_EVAL
1332         bool "Eval board timings"
1333         help
1334           Use timings which work on the eval card.
1336 config CARMINE_DRAM_CUSTOM
1337         bool "Custom board timings"
1338         help
1339           Use custom board timings.
1340 endchoice
1342 config FB_AU1100
1343         bool "Au1100 LCD Driver"
1344         depends on (FB = y) && MIPS_ALCHEMY
1345         select FB_IOMEM_HELPERS
1346         help
1347           This is the framebuffer driver for the AMD Au1100 SOC.  It can drive
1348           various panels and CRTs by passing in kernel cmd line option
1349           au1100fb:panel=<name>.
1351 config FB_AU1200
1352         bool "Au1200/Au1300 LCD Driver"
1353         depends on (FB = y) && MIPS_ALCHEMY
1354         select FB_DMAMEM_HELPERS
1355         help
1356           This is the framebuffer driver for the Au1200/Au1300 SOCs.
1357           It can drive various panels and CRTs by passing in kernel cmd line
1358           option au1200fb:panel=<name>.
1360 config FB_VT8500
1361         bool "VIA VT8500 framebuffer support"
1362         depends on (FB = y) && ARM && ARCH_VT8500
1363         select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1364         select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1365         select FB_SYS_IMAGEBLIT
1366         select FB_SYSMEM_FOPS
1367         select FB_MODE_HELPERS
1368         select VIDEOMODE_HELPERS
1369         help
1370           This is the framebuffer driver for VIA VT8500 integrated LCD
1371           controller.
1373 config FB_WM8505
1374         bool "Wondermedia WM8xxx-series frame buffer support"
1375         depends on (FB = y) && HAS_IOMEM && (ARCH_VT8500 || COMPILE_TEST)
1376         select FB_IOMEM_FOPS
1377         select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1378         select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1379         select FB_SYS_IMAGEBLIT
1380         select FB_SYSMEM_FOPS
1381         select FB_MODE_HELPERS
1382         select VIDEOMODE_HELPERS
1383         help
1384           This is the framebuffer driver for WonderMedia WM8xxx-series
1385           integrated LCD controller. This driver covers the WM8505, WM8650
1386           and WM8850 SoCs.
1388 config FB_WMT_GE_ROPS
1389         bool "VT8500/WM8xxx accelerated raster ops support"
1390         depends on (FB = y) && (FB_VT8500 || FB_WM8505)
1391         help
1392           This adds support for accelerated raster operations on the
1393           VIA VT8500 and Wondermedia 85xx series SoCs.
1395 source "drivers/video/fbdev/geode/Kconfig"
1397 config FB_HIT
1398         tristate "HD64461 Frame Buffer support"
1399         depends on FB && HD64461
1400         select FB_CFB_FILLRECT
1401         select FB_CFB_IMAGEBLIT
1402         select FB_IOMEM_FOPS
1403         help
1404           This is the frame buffer device driver for the Hitachi HD64461 LCD
1405           frame buffer card.
1407 config FB_PMAG_AA
1408         tristate "PMAG-AA TURBOchannel framebuffer support"
1409         depends on FB && TC
1410         select FB_IOMEM_HELPERS
1411         help
1412           Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
1413           used mainly in the MIPS-based DECstation series.
1415 config FB_PMAG_BA
1416         tristate "PMAG-BA TURBOchannel framebuffer support"
1417         depends on FB && TC
1418         select FB_IOMEM_HELPERS
1419         help
1420           Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
1421           used mainly in the MIPS-based DECstation series.
1423 config FB_PMAGB_B
1424         tristate "PMAGB-B TURBOchannel framebuffer support"
1425         depends on FB && TC
1426         select FB_IOMEM_HELPERS
1427         help
1428           Support for the PMAGB-B TURBOchannel framebuffer card used mainly
1429           in the MIPS-based DECstation series. The card is currently only
1430           supported in 1280x1024x8 mode.
1432 config FB_MAXINE
1433         bool "Maxine (Personal DECstation) onboard framebuffer support"
1434         depends on (FB = y) && MACH_DECSTATION
1435         select FB_IOMEM_HELPERS
1436         help
1437           Support for the onboard framebuffer (1024x768x8) in the Personal
1438           DECstation series (Personal DECstation 5000/20, /25, /33, /50,
1439           Codename "Maxine").
1441 config FB_G364
1442         bool "G364 frame buffer support"
1443         depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
1444         select FB_IOMEM_HELPERS
1445         help
1446           The G364 driver is the framebuffer used in MIPS Magnum 4000 and
1447           Olivetti M700-10 systems.
1449 config FB_68328
1450         bool "Motorola 68328 native frame buffer support"
1451         depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
1452         select FB_IOMEM_HELPERS
1453         help
1454           Say Y here if you want to support the built-in frame buffer of
1455           the Motorola 68328 CPU family.
1457 config FB_PXA168
1458         tristate "PXA168/910 LCD framebuffer support"
1459         depends on FB && HAVE_CLK && HAS_IOMEM
1460         depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST
1461         select FB_IOMEM_HELPERS
1462         help
1463           Frame buffer driver for the built-in LCD controller in the Marvell
1464           MMP processor.
1466 config FB_PXA
1467         tristate "PXA LCD framebuffer support"
1468         depends on FB && ARCH_PXA
1469         select FB_IOMEM_HELPERS
1470         select VIDEOMODE_HELPERS if OF
1471         select FB_MODE_HELPERS if OF
1472         help
1473           Frame buffer driver for the built-in LCD controller in the Intel
1474           PXA2x0 processor.
1476           This driver is also available as a module ( = code which can be
1477           inserted and removed from the running kernel whenever you want). The
1478           module will be called pxafb. If you want to compile it as a module,
1479           say M here and read <file:Documentation/kbuild/modules.rst>.
1481           If unsure, say N.
1483 config FB_PXA_OVERLAY
1484         bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer"
1485         depends on FB_PXA && (PXA27x || PXA3xx)
1487 config FB_PXA_SMARTPANEL
1488         bool "PXA Smartpanel LCD support"
1489         depends on FB_PXA
1491 config FB_PXA_PARAMETERS
1492         bool "PXA LCD command line parameters"
1493         depends on FB_PXA
1494         help
1495           Enable the use of kernel command line or module parameters
1496           to configure the physical properties of the LCD panel when
1497           using the PXA LCD driver.
1499           This option allows you to override the panel parameters
1500           supplied by the platform in order to support multiple
1501           different models of flatpanel. If you will only be using a
1502           single model of flatpanel then you can safely leave this
1503           option disabled.
1505           <file:Documentation/fb/pxafb.rst> describes the available parameters.
1507 config PXA3XX_GCU
1508         tristate "PXA3xx 2D graphics accelerator driver"
1509         depends on FB_PXA
1510         help
1511           Kernelspace driver for the 2D graphics controller unit (GCU)
1512           found on PXA3xx processors. There is a counterpart driver in the
1513           DirectFB suite, see http://www.directfb.org/
1515           If you compile this as a module, it will be called pxa3xx_gcu.
1517 config FB_FSL_DIU
1518         tristate "Freescale DIU framebuffer support"
1519         depends on FB && FSL_SOC
1520         select FB_IOMEM_HELPERS
1521         select FB_MODE_HELPERS
1522         select PPC_LIB_RHEAP
1523         help
1524           Framebuffer driver for the Freescale SoC DIU
1526 config FB_SH_MOBILE_LCDC
1527         tristate "SuperH Mobile LCDC framebuffer support"
1528         depends on FB && HAVE_CLK && HAS_IOMEM
1529         depends on SUPERH || COMPILE_TEST
1530         depends on FB_DEVICE
1531         select FB_BACKLIGHT
1532         select FB_DEFERRED_IO
1533         select FB_DMAMEM_HELPERS
1534         help
1535           Frame buffer driver for the on-chip SH-Mobile LCD controller.
1537 config FB_S3C
1538         tristate "Samsung S3C framebuffer support"
1539         depends on FB && HAVE_CLK && HAS_IOMEM
1540         depends on ARCH_S3C64XX || COMPILE_TEST
1541         select FB_IOMEM_HELPERS
1542         help
1543           Frame buffer driver for the built-in FB controller in the Samsung
1544           SoC line such as the S3C6400 and S3C6410.
1546           These chips all have the same basic framebuffer design with the
1547           actual capabilities depending on the chip. The S3C6400
1548           and S3C6410 support 4 hardware windows.
1550           Currently the support is only for the S3C6400 and S3C6410 SoCs.
1552 config FB_S3C_DEBUG_REGWRITE
1553         bool "Debug register writes"
1554         depends on FB_S3C
1555         help
1556           Show all register writes via pr_debug()
1558 config FB_SM501
1559         tristate "Silicon Motion SM501 framebuffer support"
1560         depends on FB && MFD_SM501
1561         select FB_CFB_FILLRECT
1562         select FB_CFB_COPYAREA
1563         select FB_CFB_IMAGEBLIT
1564         select FB_IOMEM_FOPS
1565         help
1566           Frame buffer driver for the CRT and LCD controllers in the Silicon
1567           Motion SM501.
1569           This driver is also available as a module ( = code which can be
1570           inserted and removed from the running kernel whenever you want). The
1571           module will be called sm501fb. If you want to compile it as a module,
1572           say M here and read <file:Documentation/kbuild/modules.rst>.
1574           If unsure, say N.
1576 config FB_SMSCUFX
1577         tristate "SMSC UFX6000/7000 USB Framebuffer support"
1578         depends on FB && USB
1579         select FB_MODE_HELPERS
1580         select FB_SYSMEM_HELPERS_DEFERRED
1581         help
1582           This is a kernel framebuffer driver for SMSC UFX USB devices.
1583           Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1584           mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000
1585           (USB 3.0) devices.
1586           To compile as a module, choose M here: the module name is smscufx.
1588 config FB_UDL
1589         tristate "Displaylink USB Framebuffer support"
1590         depends on FB && USB
1591         depends on FB_DEVICE
1592         select FB_MODE_HELPERS
1593         select FB_SYSMEM_HELPERS_DEFERRED
1594         help
1595           This is a kernel framebuffer driver for DisplayLink USB devices.
1596           Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1597           mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices.
1598           To compile as a module, choose M here: the module name is udlfb.
1600 config FB_IBM_GXT4500
1601         tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
1602         depends on FB
1603         select FB_IOMEM_HELPERS
1604         help
1605           Say Y here to enable support for the IBM GXT4000P/6000P and
1606           GXT4500P/6500P display adaptor based on Raster Engine RC1000,
1607           found on some IBM System P (pSeries) machines. This driver
1608           doesn't use Geometry Engine GT1000. This driver also supports
1609           AGP Fire GL2/3/4 cards on x86.
1611 config FB_PS3
1612         tristate "PS3 GPU framebuffer driver"
1613         depends on FB && PS3_PS3AV
1614         select FB_SYSMEM_HELPERS
1615         help
1616           Include support for the virtual frame buffer in the PS3 platform.
1618 config FB_PS3_DEFAULT_SIZE_M
1619         int "PS3 default frame buffer size (in MiB)"
1620         depends on FB_PS3
1621         default 9
1622         help
1623           This is the default size (in MiB) of the virtual frame buffer in
1624           the PS3.
1625           The default value can be overridden on the kernel command line
1626           using the "ps3fb" option (e.g. "ps3fb=9M");
1628 config FB_XILINX
1629         tristate "Xilinx frame buffer support"
1630         depends on FB && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
1631         select FB_IOMEM_HELPERS
1632         help
1633           Include support for the Xilinx ML300/ML403 reference design
1634           framebuffer. ML300 carries a 640*480 LCD display on the board,
1635           ML403 uses a standard DB15 VGA connector.
1637 config FB_GOLDFISH
1638         tristate "Goldfish Framebuffer"
1639         depends on FB
1640         depends on GOLDFISH || COMPILE_TEST
1641         select FB_IOMEM_HELPERS
1642         help
1643           Framebuffer driver for Goldfish Virtual Platform
1645 config FB_COBALT
1646         tristate "Cobalt server LCD frame buffer support"
1647         depends on FB && MIPS_COBALT
1648         select FB_IOMEM_HELPERS
1650 config FB_SH7760
1651         tristate "SH7760/SH7763/SH7720/SH7721 LCDC support"
1652         depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
1653                 || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
1654         select FB_IOMEM_HELPERS
1655         help
1656           Support for the SH7760/SH7763/SH7720/SH7721 integrated
1657           (D)STN/TFT LCD Controller.
1658           Supports display resolutions up to 1024x1024 pixel, grayscale and
1659           color operation, with depths ranging from 1 bpp to 8 bpp monochrome
1660           and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for
1661           panels <= 320 pixel horizontal resolution.
1663 config FB_VIRTUAL
1664         tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
1665         depends on FB
1666         select FB_SYSMEM_HELPERS
1667         help
1668           This is a `virtual' frame buffer device. It operates on a chunk of
1669           unswappable kernel memory instead of on the memory of a graphics
1670           board. This means you cannot see any output sent to this frame
1671           buffer device, while it does consume precious memory. The main use
1672           of this frame buffer device is testing and debugging the frame
1673           buffer subsystem. Do NOT enable it for normal systems! To protect
1674           the innocent, it has to be enabled explicitly at boot time using the
1675           kernel option `video=vfb:'.
1677           To compile this driver as a module, choose M here: the
1678           module will be called vfb. In order to load it, you must use
1679           the vfb_enable=1 option.
1681           If unsure, say N.
1683 config XEN_FBDEV_FRONTEND
1684         tristate "Xen virtual frame buffer support"
1685         depends on FB && XEN
1686         select FB_SYSMEM_HELPERS_DEFERRED
1687         select XEN_XENBUS_FRONTEND
1688         default y
1689         help
1690           This driver implements the front-end of the Xen virtual
1691           frame buffer driver.  It communicates with a back-end
1692           in another domain.
1694 config FB_METRONOME
1695         tristate "E-Ink Metronome/8track controller support"
1696         depends on FB
1697         select FB_SYSMEM_HELPERS_DEFERRED
1698         help
1699           This driver implements support for the E-Ink Metronome
1700           controller. The pre-release name for this device was 8track
1701           and could also have been called by some vendors as PVI-nnnn.
1703 config FB_MB862XX
1704         tristate "Fujitsu MB862xx GDC support"
1705         depends on FB
1706         depends on PCI || (OF && PPC)
1707         select FB_IOMEM_HELPERS
1708         help
1709           Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
1711 choice
1712         prompt "GDC variant"
1713         depends on FB_MB862XX
1715 config FB_MB862XX_PCI_GDC
1716         bool "Carmine/Coral-P(A) GDC"
1717         depends on PCI
1718         help
1719           This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
1720           PCI graphics controller devices.
1722 config FB_MB862XX_LIME
1723         bool "Lime GDC"
1724         depends on OF && PPC
1725         select FB_FOREIGN_ENDIAN
1726         select FB_LITTLE_ENDIAN
1727         help
1728           Framebuffer support for Fujitsu Lime GDC on host CPU bus.
1730 endchoice
1732 config FB_MB862XX_I2C
1733         bool "Support I2C bus on MB862XX GDC"
1734         depends on FB_MB862XX && I2C
1735         depends on FB_MB862XX=m || I2C=y
1736         default y
1737         help
1738           Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter
1739           driver to support accessing I2C devices on controller's I2C bus.
1740           These are usually some video decoder chips.
1742 config FB_EP93XX
1743         tristate "EP93XX frame buffer support"
1744         depends on FB && ARCH_EP93XX
1745         select FB_IOMEM_HELPERS
1746         help
1747           Framebuffer driver for the Cirrus Logic EP93XX series of processors.
1748           This driver is also available as a module. The module will be called
1749           ep93xx-fb.
1751 config FB_PRE_INIT_FB
1752         bool "Don't reinitialize, use bootloader's GDC/Display configuration"
1753         depends on FB && FB_MB862XX_LIME
1754         help
1755           Select this option if display contents should be inherited as set by
1756           the bootloader.
1758 config FB_BROADSHEET
1759         tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
1760         depends on FB && (ARCH_PXA || COMPILE_TEST)
1761         select FB_SYSMEM_HELPERS_DEFERRED
1762         help
1763           This driver implements support for the E-Ink Broadsheet
1764           controller. The release name for this device was Epson S1D13521
1765           and could also have been called by other names when coupled with
1766           a bridge adapter.
1768 config FB_HYPERV
1769         tristate "Microsoft Hyper-V Synthetic Video support"
1770         depends on FB && HYPERV
1771         select DMA_CMA if HAVE_DMA_CONTIGUOUS && CMA
1772         select FB_IOMEM_HELPERS_DEFERRED
1773         help
1774           This framebuffer driver supports Microsoft Hyper-V Synthetic Video.
1776 config FB_SIMPLE
1777         tristate "Simple framebuffer support"
1778         depends on FB
1779         depends on !DRM_SIMPLEDRM
1780         select APERTURE_HELPERS
1781         select FB_IOMEM_HELPERS
1782         help
1783           Say Y if you want support for a simple frame-buffer.
1785           This driver assumes that the display hardware has been initialized
1786           before the kernel boots, and the kernel will simply render to the
1787           pre-allocated frame buffer surface.
1789           Configuration re: surface address, size, and format must be provided
1790           through device tree, or plain old platform data.
1792 config FB_SSD1307
1793         tristate "Solomon SSD1307 framebuffer support"
1794         depends on FB && I2C
1795         depends on GPIOLIB || COMPILE_TEST
1796         select FB_BACKLIGHT
1797         select FB_SYSMEM_HELPERS_DEFERRED
1798         help
1799           This driver implements support for the Solomon SSD1307
1800           OLED controller over I2C.
1802 config FB_SM712
1803         tristate "Silicon Motion SM712 framebuffer support"
1804         depends on FB && PCI && HAS_IOPORT
1805         select FB_IOMEM_HELPERS
1806         help
1807           Frame buffer driver for the Silicon Motion SM710, SM712, SM721
1808           and SM722 chips.
1810           This driver is also available as a module. The module will be
1811           called sm712fb. If you want to compile it as a module, say M
1812           here and read <file:Documentation/kbuild/modules.rst>.
1814 source "drivers/video/fbdev/omap/Kconfig"
1815 source "drivers/video/fbdev/omap2/Kconfig"
1816 source "drivers/video/fbdev/mmp/Kconfig"
1818 source "drivers/video/fbdev/core/Kconfig"