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