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