Merge tag 'powerpc-6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[sfrench/cifs-2.6.git] / drivers / video / fbdev / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # fbdev configuration
4 #
5
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.
16
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.
23
24           The device is accessed through special device nodes, usually located
25           in the /dev directory, i.e. /dev/fb*.
26
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.
32
33           This enables support for native frame buffer device (fbdev) drivers.
34
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.
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
48 config FB_HECUBA
49         tristate
50         depends on FB
51         select FB_SYSMEM_HELPERS_DEFERRED
52
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.
59
60 config FB_MACMODES
61         tristate
62         depends on FB
63
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.
70
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.
81
82           If you have a PCI-based system, this enables support for these
83           chips: GD-543x, GD-544x, GD-5480.
84
85           Please read the file <file:Documentation/fb/cirrusfb.rst>.
86
87           Say N unless you have such a graphics board or plan to get one
88           before you next recompile the kernel.
89
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
107
108           To compile this driver as a module, choose M here: the
109           module will be called pm2fb.
110
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.
116
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.
125
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.
136
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.
145
146           If you plan to use the LCD display with your SA-1100 system, say
147           Y here.
148
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
157
158 config FB_CYBER2000
159         tristate "CyberPro 2000/2010/5000 support"
160         depends on FB && PCI && (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.
167
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.
176
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.
186
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
194
195 config FB_Q40
196         bool
197         depends on (FB = y) && Q40
198         default y
199         select FB_IOMEM_HELPERS
200
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.
208
209           To compile this driver as a module, choose M here: the
210           module will be called amifb.
211
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.
219
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.
228
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.
237
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).
245
246 config FB_ARC
247         tristate "Arc Monochrome LCD board support"
248         depends on FB && (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.
258
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.
269
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.
280
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.
289
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.
298
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.
307
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.
315
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
322
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.
332
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.
346
347           To compile this driver as a module, choose M here: the
348           module will be called vga16fb.
349
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.
362
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.
367
368           It is safe to enable this option, so you should probably say "Y".
369
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
375
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
382
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.
398
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. ;-)
404
405           Say Y if you have one of those.
406
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.
417
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.
421
422           If unsure, say N.
423
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.
435
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.
447
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.
455
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.
462
463           To compile this driver as a module, choose M here: the
464           module will be called hgafb.
465
466           As this card technology is at least 25 years old,
467           most people will answer N here.
468
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.
477
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.
485
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.
491
492 config FB_SBUS_HELPERS
493         bool
494         select FB_CFB_COPYAREA
495         select FB_CFB_FILLRECT
496         select FB_CFB_IMAGEBLIT
497
498 config FB_BW2
499         bool "BWtwo support"
500         depends on (FB = y) && (SPARC && FB_SBUS)
501         select FB_SBUS_HELPERS
502         help
503           This is the frame buffer device driver for the BWtwo frame buffer.
504
505 config FB_CG3
506         bool "CGthree support"
507         depends on (FB = y) && (SPARC && FB_SBUS)
508         select FB_SBUS_HELPERS
509         help
510           This is the frame buffer device driver for the CGthree frame buffer.
511
512 config FB_CG6
513         bool "CGsix (GX,TurboGX) support"
514         depends on (FB = y) && (SPARC && FB_SBUS)
515         select FB_CFB_COPYAREA
516         select FB_CFB_IMAGEBLIT
517         help
518           This is the frame buffer device driver for the CGsix (GX, TurboGX)
519           frame buffer.
520
521 config FB_FFB
522         bool "Creator/Creator3D/Elite3D support"
523         depends on FB_SBUS && SPARC64
524         select FB_CFB_COPYAREA
525         select FB_CFB_IMAGEBLIT
526         help
527           This is the frame buffer device driver for the Creator, Creator3D,
528           and Elite3D graphics boards.
529
530 config FB_TCX
531         bool "TCX (SS4/SS5 only) support"
532         depends on FB_SBUS
533         select FB_SBUS_HELPERS
534         help
535           This is the frame buffer device driver for the TCX 24/8bit frame
536           buffer.
537
538 config FB_CG14
539         bool "CGfourteen (SX) support"
540         depends on FB_SBUS
541         select FB_SBUS_HELPERS
542         help
543           This is the frame buffer device driver for the CGfourteen frame
544           buffer on Desktop SPARCsystems with the SX graphics option.
545
546 config FB_P9100
547         bool "P9100 (Sparcbook 3 only) support"
548         depends on FB_SBUS
549         select FB_SBUS_HELPERS
550         help
551           This is the frame buffer device driver for the P9100 card
552           supported on Sparcbook 3 machines.
553
554 config FB_LEO
555         bool "Leo (ZX) support"
556         depends on FB_SBUS
557         select FB_SBUS_HELPERS
558         help
559           This is the frame buffer device driver for the SBUS-based Sun ZX
560           (leo) frame buffer cards.
561
562 config FB_XVR500
563         bool "Sun XVR-500 3DLABS Wildcat support"
564         depends on (FB = y) && PCI && SPARC64
565         select FB_CFB_FILLRECT
566         select FB_CFB_COPYAREA
567         select FB_CFB_IMAGEBLIT
568         select FB_IOMEM_FOPS
569         help
570           This is the framebuffer device for the Sun XVR-500 and similar
571           graphics cards based upon the 3DLABS Wildcat chipset.  The driver
572           only works on sparc64 systems where the system firmware has
573           mostly initialized the card already.  It is treated as a
574           completely dumb framebuffer device.
575
576 config FB_XVR2500
577         bool "Sun XVR-2500 3DLABS Wildcat support"
578         depends on (FB = y) && PCI && SPARC64
579         select FB_IOMEM_HELPERS
580         help
581           This is the framebuffer device for the Sun XVR-2500 and similar
582           graphics cards based upon the 3DLABS Wildcat chipset.  The driver
583           only works on sparc64 systems where the system firmware has
584           mostly initialized the card already.  It is treated as a
585           completely dumb framebuffer device.
586
587 config FB_XVR1000
588         bool "Sun XVR-1000 support"
589         depends on (FB = y) && SPARC64
590         select FB_IOMEM_HELPERS
591         help
592           This is the framebuffer device for the Sun XVR-1000 and similar
593           graphics cards.  The driver only works on sparc64 systems where
594           the system firmware has mostly initialized the card already.  It
595           is treated as a completely dumb framebuffer device.
596
597 config FB_PVR2
598         tristate "NEC PowerVR 2 display support"
599         depends on FB && HAS_IOMEM
600         depends on SH_DREAMCAST || COMPILE_TEST
601         select FB_CFB_FILLRECT
602         select FB_CFB_COPYAREA
603         select FB_CFB_IMAGEBLIT
604         select FB_IOMEM_FOPS
605         help
606           Say Y here if you have a PowerVR 2 card in your box.  If you plan to
607           run linux on your Dreamcast, you will have to say Y here.
608           This driver may or may not work on other PowerVR 2 cards, but is
609           totally untested.  Use at your own risk.  If unsure, say N.
610
611           To compile this driver as a module, choose M here: the
612           module will be called pvr2fb.
613
614           You can pass several parameters to the driver at boot time or at
615           module load time.  The parameters look like "video=pvr2:XXX", where
616           the meaning of XXX can be found at the end of the main source file
617           (<file:drivers/video/fbdev/pvr2fb.c>). Please see the file
618           <file:Documentation/fb/pvr2fb.rst>.
619
620 config FB_OPENCORES
621         tristate "OpenCores VGA/LCD core 2.0 framebuffer support"
622         depends on FB && HAS_DMA
623         select FB_IOMEM_HELPERS
624         help
625           This enables support for the OpenCores VGA/LCD core.
626
627           The OpenCores VGA/LCD core is typically used together with
628           softcore CPUs (e.g. OpenRISC or Microblaze) or hard processor
629           systems (e.g. Altera socfpga or Xilinx Zynq) on FPGAs.
630
631           The source code and specification for the core is available at
632           <https://opencores.org/project,vga_lcd>
633
634 config FB_S1D13XXX
635         tristate "Epson S1D13XXX framebuffer support"
636         depends on FB
637         select FB_CFB_FILLRECT
638         select FB_CFB_COPYAREA
639         select FB_CFB_IMAGEBLIT
640         select FB_IOMEM_FOPS
641         help
642           Support for S1D13XXX framebuffer device family (currently only
643           working with S1D13806). Product specs at
644           <https://vdc.epson.com/>
645
646 config FB_ATMEL
647         tristate "AT91 LCD Controller support"
648         depends on FB && OF && HAVE_CLK && HAS_IOMEM
649         depends on HAVE_FB_ATMEL || COMPILE_TEST
650         select FB_BACKLIGHT
651         select FB_IOMEM_HELPERS
652         select FB_MODE_HELPERS
653         select VIDEOMODE_HELPERS
654         help
655           This enables support for the AT91 LCD Controller.
656
657 config FB_NVIDIA
658         tristate "nVidia Framebuffer Support"
659         depends on FB && PCI
660         select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT
661         select FB_CFB_FILLRECT
662         select FB_CFB_COPYAREA
663         select FB_CFB_IMAGEBLIT
664         select FB_IOMEM_FOPS
665         select BITREVERSE
666         select VGASTATE
667         help
668           This driver supports graphics boards with the nVidia chips, TNT
669           and newer. For very old chipsets, such as the RIVA128, then use
670           the rivafb.
671           Say Y if you have such a graphics board.
672
673           To compile this driver as a module, choose M here: the
674           module will be called nvidiafb.
675
676 config FB_NVIDIA_I2C
677         bool "Enable DDC Support"
678         depends on FB_NVIDIA
679         select FB_DDC
680         help
681           This enables I2C support for nVidia Chipsets.  This is used
682           only for getting EDID information from the attached display
683           allowing for robust video mode handling and switching.
684
685           Because fbdev-2.6 requires that drivers must be able to
686           independently validate video mode parameters, you should say Y
687           here.
688
689 config FB_NVIDIA_DEBUG
690         bool "Lots of debug output"
691         depends on FB_NVIDIA
692         help
693           Say Y here if you want the nVidia driver to output all sorts
694           of debugging information to provide to the maintainer when
695           something goes wrong.
696
697 config FB_NVIDIA_BACKLIGHT
698         bool "Support for backlight control"
699         depends on FB_NVIDIA
700         default y
701         help
702           Say Y here if you want to control the backlight of your display.
703
704 config FB_RIVA
705         tristate "nVidia Riva support"
706         depends on FB && PCI
707         select FB_BACKLIGHT if FB_RIVA_BACKLIGHT
708         select FB_CFB_FILLRECT
709         select FB_CFB_COPYAREA
710         select FB_CFB_IMAGEBLIT
711         select FB_IOMEM_FOPS
712         select FB_MODE_HELPERS
713         select BITREVERSE
714         select VGASTATE
715         help
716           This driver supports graphics boards with the nVidia Riva/Geforce
717           chips.
718           Say Y if you have such a graphics board.
719
720           To compile this driver as a module, choose M here: the
721           module will be called rivafb.
722
723 config FB_RIVA_I2C
724         bool "Enable DDC Support"
725         depends on FB_RIVA
726         select FB_DDC
727         help
728           This enables I2C support for nVidia Chipsets.  This is used
729           only for getting EDID information from the attached display
730           allowing for robust video mode handling and switching.
731
732           Because fbdev-2.6 requires that drivers must be able to
733           independently validate video mode parameters, you should say Y
734           here.
735
736 config FB_RIVA_DEBUG
737         bool "Lots of debug output"
738         depends on FB_RIVA
739         help
740           Say Y here if you want the Riva driver to output all sorts
741           of debugging information to provide to the maintainer when
742           something goes wrong.
743
744 config FB_RIVA_BACKLIGHT
745         bool "Support for backlight control"
746         depends on FB_RIVA
747         default y
748         help
749           Say Y here if you want to control the backlight of your display.
750
751 config FB_I740
752         tristate "Intel740 support"
753         depends on FB && PCI
754         select FB_IOMEM_HELPERS
755         select FB_MODE_HELPERS
756         select VGASTATE
757         select FB_DDC
758         help
759           This driver supports graphics cards based on Intel740 chip.
760
761 config FB_I810
762         tristate "Intel 810/815 support"
763         depends on FB && PCI && X86_32 && AGP_INTEL
764         select FB_IOMEM_FOPS
765         select FB_MODE_HELPERS
766         select VGASTATE
767         help
768           This driver supports the on-board graphics built in to the Intel 810
769           and 815 chipsets.  Say Y if you have and plan to use such a board.
770
771           To compile this driver as a module, choose M here: the
772           module will be called i810fb.
773
774           For more information, please read
775           <file:Documentation/fb/intel810.rst>
776
777 config FB_I810_GTF
778         bool "use VESA Generalized Timing Formula"
779         depends on FB_I810
780         help
781           If you say Y, then the VESA standard, Generalized Timing Formula
782           or GTF, will be used to calculate the required video timing values
783           per video mode.  Since the GTF allows nondiscrete timings
784           (nondiscrete being a range of values as opposed to discrete being a
785           set of values), you'll be able to use any combination of horizontal
786           and vertical resolutions, and vertical refresh rates without having
787           to specify your own timing parameters.  This is especially useful
788           to maximize the performance of an aging display, or if you just
789           have a display with nonstandard dimensions. A VESA compliant
790           monitor is recommended, but can still work with non-compliant ones.
791           If you need or want this, then select this option. The timings may
792           not be compliant with Intel's recommended values. Use at your own
793           risk.
794
795           If you say N, the driver will revert to discrete video timings
796           using a set recommended by Intel in their documentation.
797
798           If unsure, say N.
799
800 config FB_I810_I2C
801         bool "Enable DDC Support"
802         depends on FB_I810 && FB_I810_GTF
803         select FB_DDC
804         help
805           Add DDC/I2C support for i810fb.  This will allow the driver to get
806           display information, especially for monitors with fickle timings.
807
808           If unsure, say Y.
809
810 config FB_MATROX
811         tristate "Matrox acceleration"
812         depends on FB && PCI
813         select FB_CFB_FILLRECT
814         select FB_CFB_COPYAREA
815         select FB_CFB_IMAGEBLIT
816         select FB_IOMEM_FOPS
817         select FB_TILEBLITTING
818         select FB_MACMODES if PPC_PMAC
819         help
820           Say Y here if you have a Matrox Millennium, Matrox Millennium II,
821           Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
822           Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video,
823           Matrox G400, G450 or G550 card in your box.
824
825           To compile this driver as a module, choose M here: the
826           module will be called matroxfb.
827
828           You can pass several parameters to the driver at boot time or at
829           module load time. The parameters look like "video=matroxfb:XXX", and
830           are described in <file:Documentation/fb/matroxfb.rst>.
831
832 config FB_MATROX_MILLENIUM
833         bool "Millennium I/II support"
834         depends on FB_MATROX
835         help
836           Say Y here if you have a Matrox Millennium or Matrox Millennium II
837           video card. If you select "Advanced lowlevel driver options" below,
838           you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp
839           packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can
840           also use font widths different from 8.
841
842 config FB_MATROX_MYSTIQUE
843         bool "Mystique support"
844         depends on FB_MATROX
845         help
846           Say Y here if you have a Matrox Mystique or Matrox Mystique 220
847           video card. If you select "Advanced lowlevel driver options" below,
848           you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp
849           packed pixel and 32 bpp packed pixel. You can also use font widths
850           different from 8.
851
852 config FB_MATROX_G
853         bool "G100/G200/G400/G450/G550 support"
854         depends on FB_MATROX
855         help
856           Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based
857           video card. If you select "Advanced lowlevel driver options", you
858           should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
859           pixel and 32 bpp packed pixel. You can also use font widths
860           different from 8.
861
862           If you need support for G400 secondary head, you must say Y to
863           "Matrox I2C support" and "G400 second head support" right below.
864           G450/G550 secondary head and digital output are supported without
865           additional modules.
866
867           The driver starts in monitor mode. You must use the matroxset tool
868           (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
869           swap primary and secondary head outputs, or to change output mode.
870           Secondary head driver always start in 640x480 resolution and you
871           must use fbset to change it.
872
873           Do not forget that second head supports only 16 and 32 bpp
874           packed pixels, so it is a good idea to compile them into the kernel
875           too. You can use only some font widths, as the driver uses generic
876           painting procedures (the secondary head does not use acceleration
877           engine).
878
879           G450/G550 hardware can display TV picture only from secondary CRTC,
880           and it performs no scaling, so picture must have 525 or 625 lines.
881
882 config FB_MATROX_I2C
883         tristate "Matrox I2C support"
884         depends on FB_MATROX
885         select FB_DDC
886         help
887           This drivers creates I2C buses which are needed for accessing the
888           DDC (I2C) bus present on all Matroxes, an I2C bus which
889           interconnects Matrox optional devices, like MGA-TVO on G200 and
890           G400, and the secondary head DDC bus, present on G400 only.
891
892           You can say Y or M here if you want to experiment with monitor
893           detection code. You must say Y or M here if you want to use either
894           second head of G400 or MGA-TVO on G200 or G400.
895
896           If you compile it as module, it will create a module named
897           i2c-matroxfb.
898
899 config FB_MATROX_MAVEN
900         tristate "G400 second head support"
901         depends on FB_MATROX_G && FB_MATROX_I2C
902         select FB_IOMEM_HELPERS
903         help
904           WARNING !!! This support does not work with G450 !!!
905
906           Say Y or M here if you want to use a secondary head (meaning two
907           monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary
908           head is not compatible with accelerated XFree 3.3.x SVGA servers -
909           secondary head output is blanked while you are in X. With XFree
910           3.9.17 preview you can use both heads if you use SVGA over fbdev or
911           the fbdev driver on first head and the fbdev driver on second head.
912
913           If you compile it as module, two modules are created,
914           matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for
915           both G200 and G400, matroxfb_crtc2 is needed only by G400. You must
916           also load i2c-matroxfb to get it to run.
917
918           The driver starts in monitor mode and you must use the matroxset
919           tool (available at
920           <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to
921           PAL or NTSC or to swap primary and secondary head outputs.
922           Secondary head driver also always start in 640x480 resolution, you
923           must use fbset to change it.
924
925           Also do not forget that second head supports only 16 and 32 bpp
926           packed pixels, so it is a good idea to compile them into the kernel
927           too.  You can use only some font widths, as the driver uses generic
928           painting procedures (the secondary head does not use acceleration
929           engine).
930
931 config FB_RADEON
932         tristate "ATI Radeon display support"
933         depends on FB && PCI
934         select FB_BACKLIGHT if FB_RADEON_BACKLIGHT
935         select FB_CFB_FILLRECT
936         select FB_CFB_COPYAREA
937         select FB_CFB_IMAGEBLIT
938         select FB_IOMEM_FOPS
939         select FB_MACMODES if PPC
940         select FB_MODE_HELPERS
941         help
942           Choose this option if you want to use an ATI Radeon graphics card as
943           a framebuffer device.  There are both PCI and AGP versions.  You
944           don't need to choose this to run the Radeon in plain VGA mode.
945
946           There is a product page at
947           https://products.amd.com/en-us/GraphicCardResult.aspx
948
949 config FB_RADEON_I2C
950         bool "DDC/I2C for ATI Radeon support"
951         depends on FB_RADEON
952         select FB_DDC
953         default y
954         help
955           Say Y here if you want DDC/I2C support for your Radeon board.
956
957 config FB_RADEON_BACKLIGHT
958         bool "Support for backlight control"
959         depends on FB_RADEON
960         default y
961         help
962           Say Y here if you want to control the backlight of your display.
963
964 config FB_RADEON_DEBUG
965         bool "Lots of debug output from Radeon driver"
966         depends on FB_RADEON
967         help
968           Say Y here if you want the Radeon driver to output all sorts
969           of debugging information to provide to the maintainer when
970           something goes wrong.
971
972 config FB_ATY128
973         tristate "ATI Rage128 display support"
974         depends on FB && PCI
975         select FB_BACKLIGHT if FB_ATY128_BACKLIGHT
976         select FB_IOMEM_HELPERS
977         select FB_MACMODES if PPC_PMAC
978         help
979           This driver supports graphics boards with the ATI Rage128 chips.
980           Say Y if you have such a graphics board and read
981           <file:Documentation/fb/aty128fb.rst>.
982
983           To compile this driver as a module, choose M here: the
984           module will be called aty128fb.
985
986 config FB_ATY128_BACKLIGHT
987         bool "Support for backlight control"
988         depends on FB_ATY128
989         default y
990         help
991           Say Y here if you want to control the backlight of your display.
992
993 config FB_ATY
994         tristate "ATI Mach64 display support" if PCI || ATARI
995         depends on FB && !SPARC32
996         select FB_CFB_FILLRECT
997         select FB_CFB_COPYAREA
998         select FB_CFB_IMAGEBLIT
999         select FB_BACKLIGHT if FB_ATY_BACKLIGHT
1000         select FB_IOMEM_FOPS
1001         select FB_MACMODES if PPC
1002         select FB_ATY_CT if SPARC64 && PCI
1003         help
1004           This driver supports graphics boards with the ATI Mach64 chips.
1005           Say Y if you have such a graphics board.
1006
1007           To compile this driver as a module, choose M here: the
1008           module will be called atyfb.
1009
1010 config FB_ATY_CT
1011         bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support"
1012         depends on PCI && FB_ATY
1013         help
1014           Say Y here to support use of ATI's 64-bit Rage boards (or other
1015           boards based on the Mach64 CT, VT, GT, and LT chipsets) as a
1016           framebuffer device.  The ATI product support page for these boards
1017           is at <http://support.ati.com/products/pc/mach64/mach64.html>.
1018
1019 config FB_ATY_GENERIC_LCD
1020         bool "Mach64 generic LCD support"
1021         depends on FB_ATY_CT
1022         help
1023           Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
1024           Rage XC, or Rage XL chipset.
1025
1026 config FB_ATY_GX
1027         bool "Mach64 GX support" if PCI
1028         depends on FB_ATY
1029         default y if ATARI
1030         help
1031           Say Y here to support use of the ATI Mach64 Graphics Expression
1032           board (or other boards based on the Mach64 GX chipset) as a
1033           framebuffer device.  The ATI product support page for these boards
1034           is at
1035           <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
1036
1037 config FB_ATY_BACKLIGHT
1038         bool "Support for backlight control"
1039         depends on FB_ATY
1040         default y
1041         help
1042           Say Y here if you want to control the backlight of your display.
1043
1044 config FB_S3
1045         tristate "S3 Trio/Virge support"
1046         depends on FB && PCI
1047         select FB_CFB_FILLRECT
1048         select FB_CFB_COPYAREA
1049         select FB_CFB_IMAGEBLIT
1050         select FB_IOMEM_FOPS
1051         select FB_TILEBLITTING
1052         select FB_SVGALIB
1053         select VGASTATE
1054         select FONT_8x16 if FRAMEBUFFER_CONSOLE
1055         help
1056           Driver for graphics boards with S3 Trio / S3 Virge chip.
1057
1058 config FB_S3_DDC
1059         bool "DDC for S3 support"
1060         depends on FB_S3
1061         select FB_DDC
1062         default y
1063         help
1064           Say Y here if you want DDC support for your S3 graphics card.
1065
1066 config FB_SAVAGE
1067         tristate "S3 Savage support"
1068         depends on FB && PCI
1069         select FB_CFB_FILLRECT
1070         select FB_CFB_COPYAREA
1071         select FB_CFB_IMAGEBLIT
1072         select FB_IOMEM_FOPS
1073         select FB_MODE_HELPERS
1074         select VGASTATE
1075         help
1076           This driver supports notebooks and computers with S3 Savage PCI/AGP
1077           chips.
1078
1079           Say Y if you have such a graphics card.
1080
1081           To compile this driver as a module, choose M here; the module
1082           will be called savagefb.
1083
1084 config FB_SAVAGE_I2C
1085         bool "Enable DDC2 Support"
1086         depends on FB_SAVAGE
1087         select FB_DDC
1088         help
1089           This enables I2C support for S3 Savage Chipsets.  This is used
1090           only for getting EDID information from the attached display
1091           allowing for robust video mode handling and switching.
1092
1093           Because fbdev-2.6 requires that drivers must be able to
1094           independently validate video mode parameters, you should say Y
1095           here.
1096
1097 config FB_SAVAGE_ACCEL
1098         bool "Enable Console Acceleration"
1099         depends on FB_SAVAGE
1100         help
1101           This option will compile in console acceleration support. If
1102           the resulting framebuffer console has bothersome glitches, then
1103           choose N here.
1104
1105 config FB_SIS
1106         tristate "SiS/XGI display support"
1107         depends on FB && PCI
1108         select BOOT_VESA_SUPPORT if FB_SIS = y
1109         select FB_CFB_FILLRECT
1110         select FB_CFB_COPYAREA
1111         select FB_CFB_IMAGEBLIT
1112         select FB_IOMEM_FOPS
1113         select FB_SIS_300 if !FB_SIS_315
1114         help
1115           This is the frame buffer device driver for the SiS 300, 315, 330
1116           and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets.
1117           Specs available at <https://www.sis.com> and <http://www.xgitech.com>.
1118
1119           To compile this driver as a module, choose M here; the module
1120           will be called sisfb.
1121
1122 config FB_SIS_300
1123         bool "SiS 300 series support"
1124         depends on FB_SIS
1125         help
1126           Say Y here to support use of the SiS 300/305, 540, 630 and 730.
1127
1128 config FB_SIS_315
1129         bool "SiS 315/330/340 series and XGI support"
1130         depends on FB_SIS
1131         help
1132           Say Y here to support use of the SiS 315, 330 and 340 series
1133           (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well
1134           as XGI V3XT, V5, V8 and Z7.
1135
1136 config FB_VIA
1137         tristate "VIA UniChrome (Pro) and Chrome9 display support"
1138         depends on FB && PCI && GPIOLIB && I2C && (X86 || COMPILE_TEST)
1139         select FB_CFB_FILLRECT
1140         select FB_CFB_COPYAREA
1141         select FB_CFB_IMAGEBLIT
1142         select FB_IOMEM_FOPS
1143         select I2C_ALGOBIT
1144         help
1145           This is the frame buffer device driver for Graphics chips of VIA
1146           UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/
1147           CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896
1148           /P4M900,VX800)
1149           Say Y if you have a VIA UniChrome graphics board.
1150
1151           To compile this driver as a module, choose M here: the
1152           module will be called viafb.
1153
1154 if FB_VIA
1155
1156 config FB_VIA_DIRECT_PROCFS
1157         bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)"
1158         help
1159           Allow direct hardware access to some output registers via procfs.
1160           This is dangerous but may provide the only chance to get the
1161           correct output device configuration.
1162           Its use is strongly discouraged.
1163
1164 config FB_VIA_X_COMPATIBILITY
1165         bool "X server compatibility"
1166         help
1167           This option reduces the functionality (power saving, ...) of the
1168           framebuffer to avoid negative impact on the OpenChrome X server.
1169           If you use any X server other than fbdev you should enable this
1170           otherwise it should be safe to disable it and allow using all
1171           features.
1172
1173 endif
1174
1175 config FB_NEOMAGIC
1176         tristate "NeoMagic display support"
1177         depends on FB && PCI
1178         select FB_CFB_FILLRECT
1179         select FB_CFB_COPYAREA
1180         select FB_CFB_IMAGEBLIT
1181         select FB_IOMEM_FOPS
1182         select FB_MODE_HELPERS
1183         select VGASTATE
1184         help
1185           This driver supports notebooks with NeoMagic PCI chips.
1186           Say Y if you have such a graphics card.
1187
1188           To compile this driver as a module, choose M here: the
1189           module will be called neofb.
1190
1191 config FB_KYRO
1192         tristate "IMG Kyro support"
1193         depends on FB && PCI
1194         select FB_IOMEM_HELPERS
1195         help
1196           Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
1197           graphics board.
1198
1199           To compile this driver as a module, choose M here: the
1200           module will be called kyrofb.
1201
1202 config FB_3DFX
1203         tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
1204         depends on FB && PCI
1205         select FB_CFB_FILLRECT
1206         select FB_CFB_COPYAREA
1207         select FB_CFB_IMAGEBLIT
1208         select FB_IOMEM_FOPS
1209         select FB_MODE_HELPERS
1210         help
1211           This driver supports graphics boards with the 3Dfx Banshee,
1212           Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have
1213           such a graphics board.
1214
1215           To compile this driver as a module, choose M here: the
1216           module will be called tdfxfb.
1217
1218 config FB_3DFX_ACCEL
1219         bool "3Dfx Acceleration functions"
1220         depends on FB_3DFX
1221         help
1222         This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer
1223         device driver with acceleration functions.
1224
1225 config FB_3DFX_I2C
1226         bool "Enable DDC/I2C support"
1227         depends on FB_3DFX
1228         select FB_DDC
1229         default y
1230         help
1231           Say Y here if you want DDC/I2C support for your 3dfx Voodoo3.
1232
1233 config FB_VOODOO1
1234         tristate "3Dfx Voodoo Graphics (sst1) support"
1235         depends on FB && PCI
1236         depends on FB_DEVICE
1237         select FB_IOMEM_HELPERS
1238         help
1239           Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
1240           Voodoo2 (cvg) based graphics card.
1241
1242           To compile this driver as a module, choose M here: the
1243           module will be called sstfb.
1244
1245           WARNING: Do not use any application that uses the 3D engine
1246           (namely glide) while using this driver.
1247           Please read the <file:Documentation/fb/sstfb.rst> for supported
1248           options and other important info  support.
1249
1250 config FB_VT8623
1251         tristate "VIA VT8623 support"
1252         depends on FB && PCI
1253         select FB_CFB_FILLRECT
1254         select FB_CFB_COPYAREA
1255         select FB_CFB_IMAGEBLIT
1256         select FB_IOMEM_FOPS
1257         select FB_TILEBLITTING
1258         select FB_SVGALIB
1259         select VGASTATE
1260         select FONT_8x16 if FRAMEBUFFER_CONSOLE
1261         help
1262           Driver for CastleRock integrated graphics core in the
1263           VIA VT8623 [Apollo CLE266] chipset.
1264
1265 config FB_TRIDENT
1266         tristate "Trident/CyberXXX/CyberBlade support"
1267         depends on FB && PCI
1268         select FB_CFB_FILLRECT
1269         select FB_CFB_COPYAREA
1270         select FB_CFB_IMAGEBLIT
1271         select FB_DDC
1272         select FB_IOMEM_FOPS
1273         select FB_MODE_HELPERS
1274         help
1275           This is the frame buffer device driver for Trident PCI/AGP chipsets.
1276           Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D
1277           and Blade XP.
1278           There are also integrated versions of these chips called CyberXXXX,
1279           CyberImage or CyberBlade. These chips are mostly found in laptops
1280           but also on some motherboards including early VIA EPIA motherboards.
1281           For more information, read <file:Documentation/fb/tridentfb.rst>
1282
1283           Say Y if you have such a graphics board.
1284
1285           To compile this driver as a module, choose M here: the
1286           module will be called tridentfb.
1287
1288 config FB_ARK
1289         tristate "ARK 2000PV support"
1290         depends on FB && PCI
1291         select FB_CFB_FILLRECT
1292         select FB_CFB_COPYAREA
1293         select FB_CFB_IMAGEBLIT
1294         select FB_IOMEM_FOPS
1295         select FB_TILEBLITTING
1296         select FB_SVGALIB
1297         select VGASTATE
1298         select FONT_8x16 if FRAMEBUFFER_CONSOLE
1299         help
1300           Driver for PCI graphics boards with ARK 2000PV chip
1301           and ICS 5342 RAMDAC.
1302
1303 config FB_PM3
1304         tristate "Permedia3 support"
1305         depends on FB && PCI
1306         select FB_CFB_FILLRECT
1307         select FB_CFB_COPYAREA
1308         select FB_CFB_IMAGEBLIT
1309         select FB_IOMEM_FOPS
1310         help
1311           This is the frame buffer device driver for the 3DLabs Permedia3
1312           chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
1313           similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
1314           and maybe other boards.
1315
1316 config FB_CARMINE
1317         tristate "Fujitsu carmine frame buffer support"
1318         depends on FB && PCI
1319         select FB_IOMEM_HELPERS
1320         help
1321           This is the frame buffer device driver for the Fujitsu Carmine chip.
1322           The driver provides two independent frame buffer devices.
1323
1324 choice
1325         depends on FB_CARMINE
1326         prompt "DRAM timing"
1327         default FB_CARMINE_DRAM_EVAL
1328
1329 config FB_CARMINE_DRAM_EVAL
1330         bool "Eval board timings"
1331         help
1332           Use timings which work on the eval card.
1333
1334 config CARMINE_DRAM_CUSTOM
1335         bool "Custom board timings"
1336         help
1337           Use custom board timings.
1338 endchoice
1339
1340 config FB_AU1100
1341         bool "Au1100 LCD Driver"
1342         depends on (FB = y) && MIPS_ALCHEMY
1343         select FB_IOMEM_HELPERS
1344         help
1345           This is the framebuffer driver for the AMD Au1100 SOC.  It can drive
1346           various panels and CRTs by passing in kernel cmd line option
1347           au1100fb:panel=<name>.
1348
1349 config FB_AU1200
1350         bool "Au1200/Au1300 LCD Driver"
1351         depends on (FB = y) && MIPS_ALCHEMY
1352         select FB_DMAMEM_HELPERS
1353         help
1354           This is the framebuffer driver for the Au1200/Au1300 SOCs.
1355           It can drive various panels and CRTs by passing in kernel cmd line
1356           option au1200fb:panel=<name>.
1357
1358 config FB_VT8500
1359         bool "VIA VT8500 framebuffer support"
1360         depends on (FB = y) && ARM && ARCH_VT8500
1361         select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1362         select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1363         select FB_SYS_IMAGEBLIT
1364         select FB_SYSMEM_FOPS
1365         select FB_MODE_HELPERS
1366         select VIDEOMODE_HELPERS
1367         help
1368           This is the framebuffer driver for VIA VT8500 integrated LCD
1369           controller.
1370
1371 config FB_WM8505
1372         bool "Wondermedia WM8xxx-series frame buffer support"
1373         depends on (FB = y) && HAS_IOMEM && (ARCH_VT8500 || COMPILE_TEST)
1374         select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1375         select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1376         select FB_SYS_IMAGEBLIT
1377         select FB_SYSMEM_FOPS
1378         select FB_MODE_HELPERS
1379         select VIDEOMODE_HELPERS
1380         help
1381           This is the framebuffer driver for WonderMedia WM8xxx-series
1382           integrated LCD controller. This driver covers the WM8505, WM8650
1383           and WM8850 SoCs.
1384
1385 config FB_WMT_GE_ROPS
1386         bool "VT8500/WM8xxx accelerated raster ops support"
1387         depends on (FB = y) && (FB_VT8500 || FB_WM8505)
1388         help
1389           This adds support for accelerated raster operations on the
1390           VIA VT8500 and Wondermedia 85xx series SoCs.
1391
1392 source "drivers/video/fbdev/geode/Kconfig"
1393
1394 config FB_HIT
1395         tristate "HD64461 Frame Buffer support"
1396         depends on FB && HD64461
1397         select FB_CFB_FILLRECT
1398         select FB_CFB_IMAGEBLIT
1399         select FB_IOMEM_FOPS
1400         help
1401           This is the frame buffer device driver for the Hitachi HD64461 LCD
1402           frame buffer card.
1403
1404 config FB_PMAG_AA
1405         tristate "PMAG-AA TURBOchannel framebuffer support"
1406         depends on FB && TC
1407         select FB_IOMEM_HELPERS
1408         help
1409           Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
1410           used mainly in the MIPS-based DECstation series.
1411
1412 config FB_PMAG_BA
1413         tristate "PMAG-BA TURBOchannel framebuffer support"
1414         depends on FB && TC
1415         select FB_IOMEM_HELPERS
1416         help
1417           Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
1418           used mainly in the MIPS-based DECstation series.
1419
1420 config FB_PMAGB_B
1421         tristate "PMAGB-B TURBOchannel framebuffer support"
1422         depends on FB && TC
1423         select FB_IOMEM_HELPERS
1424         help
1425           Support for the PMAGB-B TURBOchannel framebuffer card used mainly
1426           in the MIPS-based DECstation series. The card is currently only
1427           supported in 1280x1024x8 mode.
1428
1429 config FB_MAXINE
1430         bool "Maxine (Personal DECstation) onboard framebuffer support"
1431         depends on (FB = y) && MACH_DECSTATION
1432         select FB_IOMEM_HELPERS
1433         help
1434           Support for the onboard framebuffer (1024x768x8) in the Personal
1435           DECstation series (Personal DECstation 5000/20, /25, /33, /50,
1436           Codename "Maxine").
1437
1438 config FB_G364
1439         bool "G364 frame buffer support"
1440         depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
1441         select FB_IOMEM_HELPERS
1442         help
1443           The G364 driver is the framebuffer used in MIPS Magnum 4000 and
1444           Olivetti M700-10 systems.
1445
1446 config FB_68328
1447         bool "Motorola 68328 native frame buffer support"
1448         depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
1449         select FB_IOMEM_HELPERS
1450         help
1451           Say Y here if you want to support the built-in frame buffer of
1452           the Motorola 68328 CPU family.
1453
1454 config FB_PXA168
1455         tristate "PXA168/910 LCD framebuffer support"
1456         depends on FB && HAVE_CLK && HAS_IOMEM
1457         depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST
1458         select FB_IOMEM_HELPERS
1459         help
1460           Frame buffer driver for the built-in LCD controller in the Marvell
1461           MMP processor.
1462
1463 config FB_PXA
1464         tristate "PXA LCD framebuffer support"
1465         depends on FB && ARCH_PXA
1466         select FB_IOMEM_HELPERS
1467         select VIDEOMODE_HELPERS if OF
1468         select FB_MODE_HELPERS if OF
1469         help
1470           Frame buffer driver for the built-in LCD controller in the Intel
1471           PXA2x0 processor.
1472
1473           This driver is also available as a module ( = code which can be
1474           inserted and removed from the running kernel whenever you want). The
1475           module will be called pxafb. If you want to compile it as a module,
1476           say M here and read <file:Documentation/kbuild/modules.rst>.
1477
1478           If unsure, say N.
1479
1480 config FB_PXA_OVERLAY
1481         bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer"
1482         depends on FB_PXA && (PXA27x || PXA3xx)
1483
1484 config FB_PXA_SMARTPANEL
1485         bool "PXA Smartpanel LCD support"
1486         depends on FB_PXA
1487
1488 config FB_PXA_PARAMETERS
1489         bool "PXA LCD command line parameters"
1490         depends on FB_PXA
1491         help
1492           Enable the use of kernel command line or module parameters
1493           to configure the physical properties of the LCD panel when
1494           using the PXA LCD driver.
1495
1496           This option allows you to override the panel parameters
1497           supplied by the platform in order to support multiple
1498           different models of flatpanel. If you will only be using a
1499           single model of flatpanel then you can safely leave this
1500           option disabled.
1501
1502           <file:Documentation/fb/pxafb.rst> describes the available parameters.
1503
1504 config PXA3XX_GCU
1505         tristate "PXA3xx 2D graphics accelerator driver"
1506         depends on FB_PXA
1507         help
1508           Kernelspace driver for the 2D graphics controller unit (GCU)
1509           found on PXA3xx processors. There is a counterpart driver in the
1510           DirectFB suite, see http://www.directfb.org/
1511
1512           If you compile this as a module, it will be called pxa3xx_gcu.
1513
1514 config FB_FSL_DIU
1515         tristate "Freescale DIU framebuffer support"
1516         depends on FB && FSL_SOC
1517         select FB_IOMEM_HELPERS
1518         select FB_MODE_HELPERS
1519         select PPC_LIB_RHEAP
1520         help
1521           Framebuffer driver for the Freescale SoC DIU
1522
1523 config FB_SH_MOBILE_LCDC
1524         tristate "SuperH Mobile LCDC framebuffer support"
1525         depends on FB && HAVE_CLK && HAS_IOMEM
1526         depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
1527         depends on FB_DEVICE
1528         select FB_BACKLIGHT
1529         select FB_DEFERRED_IO
1530         select FB_DMAMEM_HELPERS
1531         help
1532           Frame buffer driver for the on-chip SH-Mobile LCD controller.
1533
1534 config FB_S3C
1535         tristate "Samsung S3C framebuffer support"
1536         depends on FB && HAVE_CLK && HAS_IOMEM
1537         depends on ARCH_S3C64XX || COMPILE_TEST
1538         select FB_IOMEM_HELPERS
1539         help
1540           Frame buffer driver for the built-in FB controller in the Samsung
1541           SoC line such as the S3C6400 and S3C6410.
1542
1543           These chips all have the same basic framebuffer design with the
1544           actual capabilities depending on the chip. The S3C6400
1545           and S3C6410 support 4 hardware windows.
1546
1547           Currently the support is only for the S3C6400 and S3C6410 SoCs.
1548
1549 config FB_S3C_DEBUG_REGWRITE
1550         bool "Debug register writes"
1551         depends on FB_S3C
1552         help
1553           Show all register writes via pr_debug()
1554
1555 config FB_SM501
1556         tristate "Silicon Motion SM501 framebuffer support"
1557         depends on FB && MFD_SM501
1558         select FB_CFB_FILLRECT
1559         select FB_CFB_COPYAREA
1560         select FB_CFB_IMAGEBLIT
1561         select FB_IOMEM_FOPS
1562         help
1563           Frame buffer driver for the CRT and LCD controllers in the Silicon
1564           Motion SM501.
1565
1566           This driver is also available as a module ( = code which can be
1567           inserted and removed from the running kernel whenever you want). The
1568           module will be called sm501fb. If you want to compile it as a module,
1569           say M here and read <file:Documentation/kbuild/modules.rst>.
1570
1571           If unsure, say N.
1572
1573 config FB_SMSCUFX
1574         tristate "SMSC UFX6000/7000 USB Framebuffer support"
1575         depends on FB && USB
1576         select FB_MODE_HELPERS
1577         select FB_SYSMEM_HELPERS_DEFERRED
1578         help
1579           This is a kernel framebuffer driver for SMSC UFX USB devices.
1580           Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1581           mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000
1582           (USB 3.0) devices.
1583           To compile as a module, choose M here: the module name is smscufx.
1584
1585 config FB_UDL
1586         tristate "Displaylink USB Framebuffer support"
1587         depends on FB && USB
1588         depends on FB_DEVICE
1589         select FB_MODE_HELPERS
1590         select FB_SYSMEM_HELPERS_DEFERRED
1591         help
1592           This is a kernel framebuffer driver for DisplayLink USB devices.
1593           Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1594           mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices.
1595           To compile as a module, choose M here: the module name is udlfb.
1596
1597 config FB_IBM_GXT4500
1598         tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
1599         depends on FB
1600         select FB_IOMEM_HELPERS
1601         help
1602           Say Y here to enable support for the IBM GXT4000P/6000P and
1603           GXT4500P/6500P display adaptor based on Raster Engine RC1000,
1604           found on some IBM System P (pSeries) machines. This driver
1605           doesn't use Geometry Engine GT1000. This driver also supports
1606           AGP Fire GL2/3/4 cards on x86.
1607
1608 config FB_PS3
1609         tristate "PS3 GPU framebuffer driver"
1610         depends on FB && PS3_PS3AV
1611         select FB_SYSMEM_HELPERS
1612         help
1613           Include support for the virtual frame buffer in the PS3 platform.
1614
1615 config FB_PS3_DEFAULT_SIZE_M
1616         int "PS3 default frame buffer size (in MiB)"
1617         depends on FB_PS3
1618         default 9
1619         help
1620           This is the default size (in MiB) of the virtual frame buffer in
1621           the PS3.
1622           The default value can be overridden on the kernel command line
1623           using the "ps3fb" option (e.g. "ps3fb=9M");
1624
1625 config FB_XILINX
1626         tristate "Xilinx frame buffer support"
1627         depends on FB && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
1628         select FB_IOMEM_HELPERS
1629         help
1630           Include support for the Xilinx ML300/ML403 reference design
1631           framebuffer. ML300 carries a 640*480 LCD display on the board,
1632           ML403 uses a standard DB15 VGA connector.
1633
1634 config FB_GOLDFISH
1635         tristate "Goldfish Framebuffer"
1636         depends on FB
1637         depends on GOLDFISH || COMPILE_TEST
1638         select FB_IOMEM_HELPERS
1639         help
1640           Framebuffer driver for Goldfish Virtual Platform
1641
1642 config FB_COBALT
1643         tristate "Cobalt server LCD frame buffer support"
1644         depends on FB && MIPS_COBALT
1645         select FB_IOMEM_HELPERS
1646
1647 config FB_SH7760
1648         bool "SH7760/SH7763/SH7720/SH7721 LCDC support"
1649         depends on FB=y && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
1650                 || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
1651         select FB_IOMEM_HELPERS
1652         help
1653           Support for the SH7760/SH7763/SH7720/SH7721 integrated
1654           (D)STN/TFT LCD Controller.
1655           Supports display resolutions up to 1024x1024 pixel, grayscale and
1656           color operation, with depths ranging from 1 bpp to 8 bpp monochrome
1657           and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for
1658           panels <= 320 pixel horizontal resolution.
1659
1660 config FB_DA8XX
1661         tristate "DA8xx/OMAP-L1xx/AM335x Framebuffer support"
1662         depends on FB && HAVE_CLK && HAS_IOMEM
1663         depends on ARCH_DAVINCI_DA8XX || SOC_AM33XX || COMPILE_TEST
1664         select FB_CFB_REV_PIXELS_IN_BYTE
1665         select FB_IOMEM_HELPERS
1666         select FB_MODE_HELPERS
1667         select VIDEOMODE_HELPERS
1668         help
1669           This is the frame buffer device driver for the TI LCD controller
1670           found on DA8xx/OMAP-L1xx/AM335x SoCs.
1671           If unsure, say N.
1672
1673 config FB_VIRTUAL
1674         tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
1675         depends on FB
1676         select FB_SYSMEM_HELPERS
1677         help
1678           This is a `virtual' frame buffer device. It operates on a chunk of
1679           unswappable kernel memory instead of on the memory of a graphics
1680           board. This means you cannot see any output sent to this frame
1681           buffer device, while it does consume precious memory. The main use
1682           of this frame buffer device is testing and debugging the frame
1683           buffer subsystem. Do NOT enable it for normal systems! To protect
1684           the innocent, it has to be enabled explicitly at boot time using the
1685           kernel option `video=vfb:'.
1686
1687           To compile this driver as a module, choose M here: the
1688           module will be called vfb. In order to load it, you must use
1689           the vfb_enable=1 option.
1690
1691           If unsure, say N.
1692
1693 config XEN_FBDEV_FRONTEND
1694         tristate "Xen virtual frame buffer support"
1695         depends on FB && XEN
1696         select FB_SYSMEM_HELPERS_DEFERRED
1697         select XEN_XENBUS_FRONTEND
1698         default y
1699         help
1700           This driver implements the front-end of the Xen virtual
1701           frame buffer driver.  It communicates with a back-end
1702           in another domain.
1703
1704 config FB_METRONOME
1705         tristate "E-Ink Metronome/8track controller support"
1706         depends on FB
1707         select FB_SYSMEM_HELPERS_DEFERRED
1708         help
1709           This driver implements support for the E-Ink Metronome
1710           controller. The pre-release name for this device was 8track
1711           and could also have been called by some vendors as PVI-nnnn.
1712
1713 config FB_MB862XX
1714         tristate "Fujitsu MB862xx GDC support"
1715         depends on FB
1716         depends on PCI || (OF && PPC)
1717         select FB_IOMEM_HELPERS
1718         help
1719           Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
1720
1721 choice
1722         prompt "GDC variant"
1723         depends on FB_MB862XX
1724
1725 config FB_MB862XX_PCI_GDC
1726         bool "Carmine/Coral-P(A) GDC"
1727         depends on PCI
1728         help
1729           This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
1730           PCI graphics controller devices.
1731
1732 config FB_MB862XX_LIME
1733         bool "Lime GDC"
1734         depends on OF && PPC
1735         select FB_FOREIGN_ENDIAN
1736         select FB_LITTLE_ENDIAN
1737         help
1738           Framebuffer support for Fujitsu Lime GDC on host CPU bus.
1739
1740 endchoice
1741
1742 config FB_MB862XX_I2C
1743         bool "Support I2C bus on MB862XX GDC"
1744         depends on FB_MB862XX && I2C
1745         depends on FB_MB862XX=m || I2C=y
1746         default y
1747         help
1748           Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter
1749           driver to support accessing I2C devices on controller's I2C bus.
1750           These are usually some video decoder chips.
1751
1752 config FB_EP93XX
1753         tristate "EP93XX frame buffer support"
1754         depends on FB && ARCH_EP93XX
1755         select FB_IOMEM_HELPERS
1756         help
1757           Framebuffer driver for the Cirrus Logic EP93XX series of processors.
1758           This driver is also available as a module. The module will be called
1759           ep93xx-fb.
1760
1761 config FB_PRE_INIT_FB
1762         bool "Don't reinitialize, use bootloader's GDC/Display configuration"
1763         depends on FB && FB_MB862XX_LIME
1764         help
1765           Select this option if display contents should be inherited as set by
1766           the bootloader.
1767
1768 config FB_BROADSHEET
1769         tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
1770         depends on FB && (ARCH_PXA || COMPILE_TEST)
1771         select FB_SYSMEM_HELPERS_DEFERRED
1772         help
1773           This driver implements support for the E-Ink Broadsheet
1774           controller. The release name for this device was Epson S1D13521
1775           and could also have been called by other names when coupled with
1776           a bridge adapter.
1777
1778 config FB_HYPERV
1779         tristate "Microsoft Hyper-V Synthetic Video support"
1780         depends on FB && HYPERV
1781         select DMA_CMA if HAVE_DMA_CONTIGUOUS && CMA
1782         select FB_IOMEM_HELPERS_DEFERRED
1783         help
1784           This framebuffer driver supports Microsoft Hyper-V Synthetic Video.
1785
1786 config FB_SIMPLE
1787         tristate "Simple framebuffer support"
1788         depends on FB
1789         depends on !DRM_SIMPLEDRM
1790         select APERTURE_HELPERS
1791         select FB_IOMEM_HELPERS
1792         help
1793           Say Y if you want support for a simple frame-buffer.
1794
1795           This driver assumes that the display hardware has been initialized
1796           before the kernel boots, and the kernel will simply render to the
1797           pre-allocated frame buffer surface.
1798
1799           Configuration re: surface address, size, and format must be provided
1800           through device tree, or plain old platform data.
1801
1802 config FB_SSD1307
1803         tristate "Solomon SSD1307 framebuffer support"
1804         depends on FB && I2C
1805         depends on GPIOLIB || COMPILE_TEST
1806         select FB_BACKLIGHT
1807         select FB_SYSMEM_HELPERS_DEFERRED
1808         help
1809           This driver implements support for the Solomon SSD1307
1810           OLED controller over I2C.
1811
1812 config FB_SM712
1813         tristate "Silicon Motion SM712 framebuffer support"
1814         depends on FB && PCI
1815         select FB_IOMEM_HELPERS
1816         help
1817           Frame buffer driver for the Silicon Motion SM710, SM712, SM721
1818           and SM722 chips.
1819
1820           This driver is also available as a module. The module will be
1821           called sm712fb. If you want to compile it as a module, say M
1822           here and read <file:Documentation/kbuild/modules.rst>.
1823
1824 source "drivers/video/fbdev/omap/Kconfig"
1825 source "drivers/video/fbdev/omap2/Kconfig"
1826 source "drivers/video/fbdev/mmp/Kconfig"
1827
1828 source "drivers/video/fbdev/core/Kconfig"