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