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