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