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