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