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