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