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