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