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