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