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