xref: /linux/drivers/video/fbdev/Kconfig (revision 9abd613a85af72fa560e49d9a0acc5b872840c72)
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 && (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 && (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
498config FB_BW2
499	bool "BWtwo support"
500	depends on (FB = y) && (SPARC && FB_SBUS)
501	select FB_SBUS_HELPERS
502	help
503	  This is the frame buffer device driver for the BWtwo frame buffer.
504
505config FB_CG3
506	bool "CGthree 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 CGthree frame buffer.
511
512config FB_CG6
513	bool "CGsix (GX,TurboGX) support"
514	depends on (FB = y) && (SPARC && FB_SBUS)
515	select FB_CFB_COPYAREA
516	select FB_CFB_IMAGEBLIT
517	help
518	  This is the frame buffer device driver for the CGsix (GX, TurboGX)
519	  frame buffer.
520
521config FB_FFB
522	bool "Creator/Creator3D/Elite3D support"
523	depends on FB_SBUS && SPARC64
524	select FB_CFB_COPYAREA
525	select FB_CFB_IMAGEBLIT
526	help
527	  This is the frame buffer device driver for the Creator, Creator3D,
528	  and Elite3D graphics boards.
529
530config FB_TCX
531	bool "TCX (SS4/SS5 only) support"
532	depends on FB_SBUS
533	select FB_SBUS_HELPERS
534	help
535	  This is the frame buffer device driver for the TCX 24/8bit frame
536	  buffer.
537
538config FB_CG14
539	bool "CGfourteen (SX) support"
540	depends on FB_SBUS
541	select FB_SBUS_HELPERS
542	help
543	  This is the frame buffer device driver for the CGfourteen frame
544	  buffer on Desktop SPARCsystems with the SX graphics option.
545
546config FB_P9100
547	bool "P9100 (Sparcbook 3 only) support"
548	depends on FB_SBUS
549	select FB_SBUS_HELPERS
550	help
551	  This is the frame buffer device driver for the P9100 card
552	  supported on Sparcbook 3 machines.
553
554config FB_LEO
555	bool "Leo (ZX) support"
556	depends on FB_SBUS
557	select FB_SBUS_HELPERS
558	help
559	  This is the frame buffer device driver for the SBUS-based Sun ZX
560	  (leo) frame buffer cards.
561
562config FB_XVR500
563	bool "Sun XVR-500 3DLABS Wildcat support"
564	depends on (FB = y) && PCI && SPARC64
565	select FB_CFB_FILLRECT
566	select FB_CFB_COPYAREA
567	select FB_CFB_IMAGEBLIT
568	select FB_IOMEM_FOPS
569	help
570	  This is the framebuffer device for the Sun XVR-500 and similar
571	  graphics cards based upon the 3DLABS Wildcat chipset.  The driver
572	  only works on sparc64 systems where the system firmware has
573	  mostly initialized the card already.  It is treated as a
574	  completely dumb framebuffer device.
575
576config FB_XVR2500
577	bool "Sun XVR-2500 3DLABS Wildcat support"
578	depends on (FB = y) && PCI && SPARC64
579	select FB_IOMEM_HELPERS
580	help
581	  This is the framebuffer device for the Sun XVR-2500 and similar
582	  graphics cards based upon the 3DLABS Wildcat chipset.  The driver
583	  only works on sparc64 systems where the system firmware has
584	  mostly initialized the card already.  It is treated as a
585	  completely dumb framebuffer device.
586
587config FB_XVR1000
588	bool "Sun XVR-1000 support"
589	depends on (FB = y) && SPARC64
590	select FB_IOMEM_HELPERS
591	help
592	  This is the framebuffer device for the Sun XVR-1000 and similar
593	  graphics cards.  The driver only works on sparc64 systems where
594	  the system firmware has mostly initialized the card already.  It
595	  is treated as a completely dumb framebuffer device.
596
597config FB_PVR2
598	tristate "NEC PowerVR 2 display support"
599	depends on FB && HAS_IOMEM
600	depends on SH_DREAMCAST || COMPILE_TEST
601	select FB_CFB_FILLRECT
602	select FB_CFB_COPYAREA
603	select FB_CFB_IMAGEBLIT
604	select FB_IOMEM_FOPS
605	help
606	  Say Y here if you have a PowerVR 2 card in your box.  If you plan to
607	  run linux on your Dreamcast, you will have to say Y here.
608	  This driver may or may not work on other PowerVR 2 cards, but is
609	  totally untested.  Use at your own risk.  If unsure, say N.
610
611	  To compile this driver as a module, choose M here: the
612	  module will be called pvr2fb.
613
614	  You can pass several parameters to the driver at boot time or at
615	  module load time.  The parameters look like "video=pvr2:XXX", where
616	  the meaning of XXX can be found at the end of the main source file
617	  (<file:drivers/video/fbdev/pvr2fb.c>). Please see the file
618	  <file:Documentation/fb/pvr2fb.rst>.
619
620config FB_OPENCORES
621	tristate "OpenCores VGA/LCD core 2.0 framebuffer support"
622	depends on FB && HAS_DMA
623	select FB_IOMEM_HELPERS
624	help
625	  This enables support for the OpenCores VGA/LCD core.
626
627	  The OpenCores VGA/LCD core is typically used together with
628	  softcore CPUs (e.g. OpenRISC or Microblaze) or hard processor
629	  systems (e.g. Altera socfpga or Xilinx Zynq) on FPGAs.
630
631	  The source code and specification for the core is available at
632	  <https://opencores.org/project,vga_lcd>
633
634config FB_S1D13XXX
635	tristate "Epson S1D13XXX framebuffer support"
636	depends on FB
637	select FB_CFB_FILLRECT
638	select FB_CFB_COPYAREA
639	select FB_CFB_IMAGEBLIT
640	select FB_IOMEM_FOPS
641	help
642	  Support for S1D13XXX framebuffer device family (currently only
643	  working with S1D13806). Product specs at
644	  <https://vdc.epson.com/>
645
646config FB_ATMEL
647	tristate "AT91 LCD Controller support"
648	depends on FB && OF && HAVE_CLK && HAS_IOMEM
649	depends on HAVE_FB_ATMEL || COMPILE_TEST
650	select FB_BACKLIGHT
651	select FB_IOMEM_HELPERS
652	select FB_MODE_HELPERS
653	select VIDEOMODE_HELPERS
654	help
655	  This enables support for the AT91 LCD Controller.
656
657config FB_NVIDIA
658	tristate "nVidia Framebuffer Support"
659	depends on FB && PCI
660	select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT
661	select FB_CFB_FILLRECT
662	select FB_CFB_COPYAREA
663	select FB_CFB_IMAGEBLIT
664	select FB_IOMEM_FOPS
665	select BITREVERSE
666	select VGASTATE
667	help
668	  This driver supports graphics boards with the nVidia chips, TNT
669	  and newer. For very old chipsets, such as the RIVA128, then use
670	  the rivafb.
671	  Say Y if you have such a graphics board.
672
673	  To compile this driver as a module, choose M here: the
674	  module will be called nvidiafb.
675
676config FB_NVIDIA_I2C
677	bool "Enable DDC Support"
678	depends on FB_NVIDIA
679	select FB_DDC
680	help
681	  This enables I2C support for nVidia Chipsets.  This is used
682	  only for getting EDID information from the attached display
683	  allowing for robust video mode handling and switching.
684
685	  Because fbdev-2.6 requires that drivers must be able to
686	  independently validate video mode parameters, you should say Y
687	  here.
688
689config FB_NVIDIA_DEBUG
690	bool "Lots of debug output"
691	depends on FB_NVIDIA
692	help
693	  Say Y here if you want the nVidia driver to output all sorts
694	  of debugging information to provide to the maintainer when
695	  something goes wrong.
696
697config FB_NVIDIA_BACKLIGHT
698	bool "Support for backlight control"
699	depends on FB_NVIDIA
700	default y
701	help
702	  Say Y here if you want to control the backlight of your display.
703
704config FB_RIVA
705	tristate "nVidia Riva support"
706	depends on FB && PCI
707	select FB_BACKLIGHT if FB_RIVA_BACKLIGHT
708	select FB_CFB_FILLRECT
709	select FB_CFB_COPYAREA
710	select FB_CFB_IMAGEBLIT
711	select FB_IOMEM_FOPS
712	select FB_MODE_HELPERS
713	select BITREVERSE
714	select VGASTATE
715	help
716	  This driver supports graphics boards with the nVidia Riva/Geforce
717	  chips.
718	  Say Y if you have such a graphics board.
719
720	  To compile this driver as a module, choose M here: the
721	  module will be called rivafb.
722
723config FB_RIVA_I2C
724	bool "Enable DDC Support"
725	depends on FB_RIVA
726	select FB_DDC
727	help
728	  This enables I2C support for nVidia Chipsets.  This is used
729	  only for getting EDID information from the attached display
730	  allowing for robust video mode handling and switching.
731
732	  Because fbdev-2.6 requires that drivers must be able to
733	  independently validate video mode parameters, you should say Y
734	  here.
735
736config FB_RIVA_DEBUG
737	bool "Lots of debug output"
738	depends on FB_RIVA
739	help
740	  Say Y here if you want the Riva driver to output all sorts
741	  of debugging information to provide to the maintainer when
742	  something goes wrong.
743
744config FB_RIVA_BACKLIGHT
745	bool "Support for backlight control"
746	depends on FB_RIVA
747	default y
748	help
749	  Say Y here if you want to control the backlight of your display.
750
751config FB_I740
752	tristate "Intel740 support"
753	depends on FB && PCI
754	select FB_IOMEM_HELPERS
755	select FB_MODE_HELPERS
756	select VGASTATE
757	select FB_DDC
758	help
759	  This driver supports graphics cards based on Intel740 chip.
760
761config FB_I810
762	tristate "Intel 810/815 support"
763	depends on FB && PCI && X86_32 && AGP_INTEL
764	select FB_IOMEM_FOPS
765	select FB_MODE_HELPERS
766	select VGASTATE
767	help
768	  This driver supports the on-board graphics built in to the Intel 810
769	  and 815 chipsets.  Say Y if you have and plan to use such a board.
770
771	  To compile this driver as a module, choose M here: the
772	  module will be called i810fb.
773
774	  For more information, please read
775	  <file:Documentation/fb/intel810.rst>
776
777config FB_I810_GTF
778	bool "use VESA Generalized Timing Formula"
779	depends on FB_I810
780	help
781	  If you say Y, then the VESA standard, Generalized Timing Formula
782	  or GTF, will be used to calculate the required video timing values
783	  per video mode.  Since the GTF allows nondiscrete timings
784	  (nondiscrete being a range of values as opposed to discrete being a
785	  set of values), you'll be able to use any combination of horizontal
786	  and vertical resolutions, and vertical refresh rates without having
787	  to specify your own timing parameters.  This is especially useful
788	  to maximize the performance of an aging display, or if you just
789	  have a display with nonstandard dimensions. A VESA compliant
790	  monitor is recommended, but can still work with non-compliant ones.
791	  If you need or want this, then select this option. The timings may
792	  not be compliant with Intel's recommended values. Use at your own
793	  risk.
794
795	  If you say N, the driver will revert to discrete video timings
796	  using a set recommended by Intel in their documentation.
797
798	  If unsure, say N.
799
800config FB_I810_I2C
801	bool "Enable DDC Support"
802	depends on FB_I810 && FB_I810_GTF
803	select FB_DDC
804	help
805	  Add DDC/I2C support for i810fb.  This will allow the driver to get
806	  display information, especially for monitors with fickle timings.
807
808	  If unsure, say Y.
809
810config FB_MATROX
811	tristate "Matrox acceleration"
812	depends on FB && PCI
813	select FB_CFB_FILLRECT
814	select FB_CFB_COPYAREA
815	select FB_CFB_IMAGEBLIT
816	select FB_IOMEM_FOPS
817	select FB_TILEBLITTING
818	select FB_MACMODES if PPC_PMAC
819	help
820	  Say Y here if you have a Matrox Millennium, Matrox Millennium II,
821	  Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
822	  Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video,
823	  Matrox G400, G450 or G550 card in your box.
824
825	  To compile this driver as a module, choose M here: the
826	  module will be called matroxfb.
827
828	  You can pass several parameters to the driver at boot time or at
829	  module load time. The parameters look like "video=matroxfb:XXX", and
830	  are described in <file:Documentation/fb/matroxfb.rst>.
831
832config FB_MATROX_MILLENIUM
833	bool "Millennium I/II support"
834	depends on FB_MATROX
835	help
836	  Say Y here if you have a Matrox Millennium or Matrox Millennium II
837	  video card. If you select "Advanced lowlevel driver options" below,
838	  you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp
839	  packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can
840	  also use font widths different from 8.
841
842config FB_MATROX_MYSTIQUE
843	bool "Mystique support"
844	depends on FB_MATROX
845	help
846	  Say Y here if you have a Matrox Mystique or Matrox Mystique 220
847	  video card. If you select "Advanced lowlevel driver options" below,
848	  you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp
849	  packed pixel and 32 bpp packed pixel. You can also use font widths
850	  different from 8.
851
852config FB_MATROX_G
853	bool "G100/G200/G400/G450/G550 support"
854	depends on FB_MATROX
855	help
856	  Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based
857	  video card. If you select "Advanced lowlevel driver options", you
858	  should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
859	  pixel and 32 bpp packed pixel. You can also use font widths
860	  different from 8.
861
862	  If you need support for G400 secondary head, you must say Y to
863	  "Matrox I2C support" and "G400 second head support" right below.
864	  G450/G550 secondary head and digital output are supported without
865	  additional modules.
866
867	  The driver starts in monitor mode. You must use the matroxset tool
868	  (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
869	  swap primary and secondary head outputs, or to change output mode.
870	  Secondary head driver always start in 640x480 resolution and you
871	  must use fbset to change it.
872
873	  Do not forget that second head supports only 16 and 32 bpp
874	  packed pixels, so it is a good idea to compile them into the kernel
875	  too. You can use only some font widths, as the driver uses generic
876	  painting procedures (the secondary head does not use acceleration
877	  engine).
878
879	  G450/G550 hardware can display TV picture only from secondary CRTC,
880	  and it performs no scaling, so picture must have 525 or 625 lines.
881
882config FB_MATROX_I2C
883	tristate "Matrox I2C support"
884	depends on FB_MATROX
885	select FB_DDC
886	help
887	  This drivers creates I2C buses which are needed for accessing the
888	  DDC (I2C) bus present on all Matroxes, an I2C bus which
889	  interconnects Matrox optional devices, like MGA-TVO on G200 and
890	  G400, and the secondary head DDC bus, present on G400 only.
891
892	  You can say Y or M here if you want to experiment with monitor
893	  detection code. You must say Y or M here if you want to use either
894	  second head of G400 or MGA-TVO on G200 or G400.
895
896	  If you compile it as module, it will create a module named
897	  i2c-matroxfb.
898
899config FB_MATROX_MAVEN
900	tristate "G400 second head support"
901	depends on FB_MATROX_G && FB_MATROX_I2C
902	select FB_IOMEM_HELPERS
903	help
904	  WARNING !!! This support does not work with G450 !!!
905
906	  Say Y or M here if you want to use a secondary head (meaning two
907	  monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary
908	  head is not compatible with accelerated XFree 3.3.x SVGA servers -
909	  secondary head output is blanked while you are in X. With XFree
910	  3.9.17 preview you can use both heads if you use SVGA over fbdev or
911	  the fbdev driver on first head and the fbdev driver on second head.
912
913	  If you compile it as module, two modules are created,
914	  matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for
915	  both G200 and G400, matroxfb_crtc2 is needed only by G400. You must
916	  also load i2c-matroxfb to get it to run.
917
918	  The driver starts in monitor mode and you must use the matroxset
919	  tool (available at
920	  <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to
921	  PAL or NTSC or to swap primary and secondary head outputs.
922	  Secondary head driver also always start in 640x480 resolution, you
923	  must use fbset to change it.
924
925	  Also do not forget that second head supports only 16 and 32 bpp
926	  packed pixels, so it is a good idea to compile them into the kernel
927	  too.  You can use only some font widths, as the driver uses generic
928	  painting procedures (the secondary head does not use acceleration
929	  engine).
930
931config FB_RADEON
932	tristate "ATI Radeon display support"
933	depends on FB && PCI
934	select FB_BACKLIGHT if FB_RADEON_BACKLIGHT
935	select FB_CFB_FILLRECT
936	select FB_CFB_COPYAREA
937	select FB_CFB_IMAGEBLIT
938	select FB_IOMEM_FOPS
939	select FB_MACMODES if PPC
940	select FB_MODE_HELPERS
941	help
942	  Choose this option if you want to use an ATI Radeon graphics card as
943	  a framebuffer device.  There are both PCI and AGP versions.  You
944	  don't need to choose this to run the Radeon in plain VGA mode.
945
946	  There is a product page at
947	  https://products.amd.com/en-us/GraphicCardResult.aspx
948
949config FB_RADEON_I2C
950	bool "DDC/I2C for ATI Radeon support"
951	depends on FB_RADEON
952	select FB_DDC
953	default y
954	help
955	  Say Y here if you want DDC/I2C support for your Radeon board.
956
957config FB_RADEON_BACKLIGHT
958	bool "Support for backlight control"
959	depends on FB_RADEON
960	default y
961	help
962	  Say Y here if you want to control the backlight of your display.
963
964config FB_RADEON_DEBUG
965	bool "Lots of debug output from Radeon driver"
966	depends on FB_RADEON
967	help
968	  Say Y here if you want the Radeon driver to output all sorts
969	  of debugging information to provide to the maintainer when
970	  something goes wrong.
971
972config FB_ATY128
973	tristate "ATI Rage128 display support"
974	depends on FB && PCI
975	select FB_BACKLIGHT if FB_ATY128_BACKLIGHT
976	select FB_IOMEM_HELPERS
977	select FB_MACMODES if PPC_PMAC
978	help
979	  This driver supports graphics boards with the ATI Rage128 chips.
980	  Say Y if you have such a graphics board and read
981	  <file:Documentation/fb/aty128fb.rst>.
982
983	  To compile this driver as a module, choose M here: the
984	  module will be called aty128fb.
985
986config FB_ATY128_BACKLIGHT
987	bool "Support for backlight control"
988	depends on FB_ATY128
989	default y
990	help
991	  Say Y here if you want to control the backlight of your display.
992
993config FB_ATY
994	tristate "ATI Mach64 display support" if PCI || ATARI
995	depends on FB && !SPARC32
996	select FB_CFB_FILLRECT
997	select FB_CFB_COPYAREA
998	select FB_CFB_IMAGEBLIT
999	select FB_BACKLIGHT if FB_ATY_BACKLIGHT
1000	select FB_IOMEM_FOPS
1001	select FB_MACMODES if PPC
1002	select FB_ATY_CT if SPARC64 && PCI
1003	help
1004	  This driver supports graphics boards with the ATI Mach64 chips.
1005	  Say Y if you have such a graphics board.
1006
1007	  To compile this driver as a module, choose M here: the
1008	  module will be called atyfb.
1009
1010config FB_ATY_CT
1011	bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support"
1012	depends on PCI && FB_ATY
1013	help
1014	  Say Y here to support use of ATI's 64-bit Rage boards (or other
1015	  boards based on the Mach64 CT, VT, GT, and LT chipsets) as a
1016	  framebuffer device.  The ATI product support page for these boards
1017	  is at <http://support.ati.com/products/pc/mach64/mach64.html>.
1018
1019config FB_ATY_GENERIC_LCD
1020	bool "Mach64 generic LCD support"
1021	depends on FB_ATY_CT
1022	help
1023	  Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
1024	  Rage XC, or Rage XL chipset.
1025
1026config FB_ATY_GX
1027	bool "Mach64 GX support" if PCI
1028	depends on FB_ATY
1029	default y if ATARI
1030	help
1031	  Say Y here to support use of the ATI Mach64 Graphics Expression
1032	  board (or other boards based on the Mach64 GX chipset) as a
1033	  framebuffer device.  The ATI product support page for these boards
1034	  is at
1035	  <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
1036
1037config FB_ATY_BACKLIGHT
1038	bool "Support for backlight control"
1039	depends on FB_ATY
1040	default y
1041	help
1042	  Say Y here if you want to control the backlight of your display.
1043
1044config FB_S3
1045	tristate "S3 Trio/Virge support"
1046	depends on FB && PCI
1047	select FB_CFB_FILLRECT
1048	select FB_CFB_COPYAREA
1049	select FB_CFB_IMAGEBLIT
1050	select FB_IOMEM_FOPS
1051	select FB_TILEBLITTING
1052	select FB_SVGALIB
1053	select VGASTATE
1054	select FONT_8x16 if FRAMEBUFFER_CONSOLE
1055	help
1056	  Driver for graphics boards with S3 Trio / S3 Virge chip.
1057
1058config FB_S3_DDC
1059	bool "DDC for S3 support"
1060	depends on FB_S3
1061	select FB_DDC
1062	default y
1063	help
1064	  Say Y here if you want DDC support for your S3 graphics card.
1065
1066config FB_SAVAGE
1067	tristate "S3 Savage support"
1068	depends on FB && PCI
1069	select FB_CFB_FILLRECT
1070	select FB_CFB_COPYAREA
1071	select FB_CFB_IMAGEBLIT
1072	select FB_IOMEM_FOPS
1073	select FB_MODE_HELPERS
1074	select VGASTATE
1075	help
1076	  This driver supports notebooks and computers with S3 Savage PCI/AGP
1077	  chips.
1078
1079	  Say Y if you have such a graphics card.
1080
1081	  To compile this driver as a module, choose M here; the module
1082	  will be called savagefb.
1083
1084config FB_SAVAGE_I2C
1085	bool "Enable DDC2 Support"
1086	depends on FB_SAVAGE
1087	select FB_DDC
1088	help
1089	  This enables I2C support for S3 Savage Chipsets.  This is used
1090	  only for getting EDID information from the attached display
1091	  allowing for robust video mode handling and switching.
1092
1093	  Because fbdev-2.6 requires that drivers must be able to
1094	  independently validate video mode parameters, you should say Y
1095	  here.
1096
1097config FB_SAVAGE_ACCEL
1098	bool "Enable Console Acceleration"
1099	depends on FB_SAVAGE
1100	help
1101	  This option will compile in console acceleration support. If
1102	  the resulting framebuffer console has bothersome glitches, then
1103	  choose N here.
1104
1105config FB_SIS
1106	tristate "SiS/XGI display support"
1107	depends on FB && PCI
1108	select BOOT_VESA_SUPPORT if FB_SIS = y
1109	select FB_CFB_FILLRECT
1110	select FB_CFB_COPYAREA
1111	select FB_CFB_IMAGEBLIT
1112	select FB_IOMEM_FOPS
1113	select FB_SIS_300 if !FB_SIS_315
1114	help
1115	  This is the frame buffer device driver for the SiS 300, 315, 330
1116	  and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets.
1117	  Specs available at <https://www.sis.com> and <http://www.xgitech.com>.
1118
1119	  To compile this driver as a module, choose M here; the module
1120	  will be called sisfb.
1121
1122config FB_SIS_300
1123	bool "SiS 300 series support"
1124	depends on FB_SIS
1125	help
1126	  Say Y here to support use of the SiS 300/305, 540, 630 and 730.
1127
1128config FB_SIS_315
1129	bool "SiS 315/330/340 series and XGI support"
1130	depends on FB_SIS
1131	help
1132	  Say Y here to support use of the SiS 315, 330 and 340 series
1133	  (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well
1134	  as XGI V3XT, V5, V8 and Z7.
1135
1136config FB_VIA
1137	tristate "VIA UniChrome (Pro) and Chrome9 display support"
1138	depends on FB && PCI && GPIOLIB && I2C && (X86 || COMPILE_TEST)
1139	select FB_CFB_FILLRECT
1140	select FB_CFB_COPYAREA
1141	select FB_CFB_IMAGEBLIT
1142	select FB_IOMEM_FOPS
1143	select I2C_ALGOBIT
1144	help
1145	  This is the frame buffer device driver for Graphics chips of VIA
1146	  UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/
1147	  CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896
1148	  /P4M900,VX800)
1149	  Say Y if you have a VIA UniChrome graphics board.
1150
1151	  To compile this driver as a module, choose M here: the
1152	  module will be called viafb.
1153
1154if FB_VIA
1155
1156config FB_VIA_DIRECT_PROCFS
1157	bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)"
1158	help
1159	  Allow direct hardware access to some output registers via procfs.
1160	  This is dangerous but may provide the only chance to get the
1161	  correct output device configuration.
1162	  Its use is strongly discouraged.
1163
1164config FB_VIA_X_COMPATIBILITY
1165	bool "X server compatibility"
1166	help
1167	  This option reduces the functionality (power saving, ...) of the
1168	  framebuffer to avoid negative impact on the OpenChrome X server.
1169	  If you use any X server other than fbdev you should enable this
1170	  otherwise it should be safe to disable it and allow using all
1171	  features.
1172
1173endif
1174
1175config FB_NEOMAGIC
1176	tristate "NeoMagic display support"
1177	depends on FB && PCI
1178	select FB_CFB_FILLRECT
1179	select FB_CFB_COPYAREA
1180	select FB_CFB_IMAGEBLIT
1181	select FB_IOMEM_FOPS
1182	select FB_MODE_HELPERS
1183	select VGASTATE
1184	help
1185	  This driver supports notebooks with NeoMagic PCI chips.
1186	  Say Y if you have such a graphics card.
1187
1188	  To compile this driver as a module, choose M here: the
1189	  module will be called neofb.
1190
1191config FB_KYRO
1192	tristate "IMG Kyro support"
1193	depends on FB && PCI
1194	select FB_IOMEM_HELPERS
1195	help
1196	  Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
1197	  graphics board.
1198
1199	  To compile this driver as a module, choose M here: the
1200	  module will be called kyrofb.
1201
1202config FB_3DFX
1203	tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
1204	depends on FB && PCI
1205	select FB_CFB_FILLRECT
1206	select FB_CFB_COPYAREA
1207	select FB_CFB_IMAGEBLIT
1208	select FB_IOMEM_FOPS
1209	select FB_MODE_HELPERS
1210	help
1211	  This driver supports graphics boards with the 3Dfx Banshee,
1212	  Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have
1213	  such a graphics board.
1214
1215	  To compile this driver as a module, choose M here: the
1216	  module will be called tdfxfb.
1217
1218config FB_3DFX_ACCEL
1219	bool "3Dfx Acceleration functions"
1220	depends on FB_3DFX
1221	help
1222	This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer
1223	device driver with acceleration functions.
1224
1225config FB_3DFX_I2C
1226	bool "Enable DDC/I2C support"
1227	depends on FB_3DFX
1228	select FB_DDC
1229	default y
1230	help
1231	  Say Y here if you want DDC/I2C support for your 3dfx Voodoo3.
1232
1233config FB_VOODOO1
1234	tristate "3Dfx Voodoo Graphics (sst1) support"
1235	depends on FB && PCI
1236	depends on FB_DEVICE
1237	select FB_IOMEM_HELPERS
1238	help
1239	  Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
1240	  Voodoo2 (cvg) based graphics card.
1241
1242	  To compile this driver as a module, choose M here: the
1243	  module will be called sstfb.
1244
1245	  WARNING: Do not use any application that uses the 3D engine
1246	  (namely glide) while using this driver.
1247	  Please read the <file:Documentation/fb/sstfb.rst> for supported
1248	  options and other important info  support.
1249
1250config FB_VT8623
1251	tristate "VIA VT8623 support"
1252	depends on FB && PCI
1253	select FB_CFB_FILLRECT
1254	select FB_CFB_COPYAREA
1255	select FB_CFB_IMAGEBLIT
1256	select FB_IOMEM_FOPS
1257	select FB_TILEBLITTING
1258	select FB_SVGALIB
1259	select VGASTATE
1260	select FONT_8x16 if FRAMEBUFFER_CONSOLE
1261	help
1262	  Driver for CastleRock integrated graphics core in the
1263	  VIA VT8623 [Apollo CLE266] chipset.
1264
1265config FB_TRIDENT
1266	tristate "Trident/CyberXXX/CyberBlade support"
1267	depends on FB && PCI
1268	select FB_CFB_FILLRECT
1269	select FB_CFB_COPYAREA
1270	select FB_CFB_IMAGEBLIT
1271	select FB_DDC
1272	select FB_IOMEM_FOPS
1273	select FB_MODE_HELPERS
1274	help
1275	  This is the frame buffer device driver for Trident PCI/AGP chipsets.
1276	  Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D
1277	  and Blade XP.
1278	  There are also integrated versions of these chips called CyberXXXX,
1279	  CyberImage or CyberBlade. These chips are mostly found in laptops
1280	  but also on some motherboards including early VIA EPIA motherboards.
1281	  For more information, read <file:Documentation/fb/tridentfb.rst>
1282
1283	  Say Y if you have such a graphics board.
1284
1285	  To compile this driver as a module, choose M here: the
1286	  module will be called tridentfb.
1287
1288config FB_ARK
1289	tristate "ARK 2000PV support"
1290	depends on FB && PCI
1291	select FB_CFB_FILLRECT
1292	select FB_CFB_COPYAREA
1293	select FB_CFB_IMAGEBLIT
1294	select FB_IOMEM_FOPS
1295	select FB_TILEBLITTING
1296	select FB_SVGALIB
1297	select VGASTATE
1298	select FONT_8x16 if FRAMEBUFFER_CONSOLE
1299	help
1300	  Driver for PCI graphics boards with ARK 2000PV chip
1301	  and ICS 5342 RAMDAC.
1302
1303config FB_PM3
1304	tristate "Permedia3 support"
1305	depends on FB && PCI
1306	select FB_CFB_FILLRECT
1307	select FB_CFB_COPYAREA
1308	select FB_CFB_IMAGEBLIT
1309	select FB_IOMEM_FOPS
1310	help
1311	  This is the frame buffer device driver for the 3DLabs Permedia3
1312	  chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
1313	  similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
1314	  and maybe other boards.
1315
1316config FB_CARMINE
1317	tristate "Fujitsu carmine frame buffer support"
1318	depends on FB && PCI
1319	select FB_IOMEM_HELPERS
1320	help
1321	  This is the frame buffer device driver for the Fujitsu Carmine chip.
1322	  The driver provides two independent frame buffer devices.
1323
1324choice
1325	depends on FB_CARMINE
1326	prompt "DRAM timing"
1327	default FB_CARMINE_DRAM_EVAL
1328
1329config FB_CARMINE_DRAM_EVAL
1330	bool "Eval board timings"
1331	help
1332	  Use timings which work on the eval card.
1333
1334config CARMINE_DRAM_CUSTOM
1335	bool "Custom board timings"
1336	help
1337	  Use custom board timings.
1338endchoice
1339
1340config FB_AU1100
1341	bool "Au1100 LCD Driver"
1342	depends on (FB = y) && MIPS_ALCHEMY
1343	select FB_IOMEM_HELPERS
1344	help
1345	  This is the framebuffer driver for the AMD Au1100 SOC.  It can drive
1346	  various panels and CRTs by passing in kernel cmd line option
1347	  au1100fb:panel=<name>.
1348
1349config FB_AU1200
1350	bool "Au1200/Au1300 LCD Driver"
1351	depends on (FB = y) && MIPS_ALCHEMY
1352	select FB_DMAMEM_HELPERS
1353	help
1354	  This is the framebuffer driver for the Au1200/Au1300 SOCs.
1355	  It can drive various panels and CRTs by passing in kernel cmd line
1356	  option au1200fb:panel=<name>.
1357
1358config FB_VT8500
1359	bool "VIA VT8500 framebuffer support"
1360	depends on (FB = y) && ARM && ARCH_VT8500
1361	select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1362	select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1363	select FB_SYS_IMAGEBLIT
1364	select FB_SYSMEM_FOPS
1365	select FB_MODE_HELPERS
1366	select VIDEOMODE_HELPERS
1367	help
1368	  This is the framebuffer driver for VIA VT8500 integrated LCD
1369	  controller.
1370
1371config FB_WM8505
1372	bool "Wondermedia WM8xxx-series frame buffer support"
1373	depends on (FB = y) && HAS_IOMEM && (ARCH_VT8500 || COMPILE_TEST)
1374	select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1375	select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1376	select FB_SYS_IMAGEBLIT
1377	select FB_SYSMEM_FOPS
1378	select FB_MODE_HELPERS
1379	select VIDEOMODE_HELPERS
1380	help
1381	  This is the framebuffer driver for WonderMedia WM8xxx-series
1382	  integrated LCD controller. This driver covers the WM8505, WM8650
1383	  and WM8850 SoCs.
1384
1385config FB_WMT_GE_ROPS
1386	bool "VT8500/WM8xxx accelerated raster ops support"
1387	depends on (FB = y) && (FB_VT8500 || FB_WM8505)
1388	help
1389	  This adds support for accelerated raster operations on the
1390	  VIA VT8500 and Wondermedia 85xx series SoCs.
1391
1392source "drivers/video/fbdev/geode/Kconfig"
1393
1394config FB_HIT
1395	tristate "HD64461 Frame Buffer support"
1396	depends on FB && HD64461
1397	select FB_CFB_FILLRECT
1398	select FB_CFB_IMAGEBLIT
1399	select FB_IOMEM_FOPS
1400	help
1401	  This is the frame buffer device driver for the Hitachi HD64461 LCD
1402	  frame buffer card.
1403
1404config FB_PMAG_AA
1405	tristate "PMAG-AA TURBOchannel framebuffer support"
1406	depends on FB && TC
1407	select FB_IOMEM_HELPERS
1408	help
1409	  Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
1410	  used mainly in the MIPS-based DECstation series.
1411
1412config FB_PMAG_BA
1413	tristate "PMAG-BA TURBOchannel framebuffer support"
1414	depends on FB && TC
1415	select FB_IOMEM_HELPERS
1416	help
1417	  Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
1418	  used mainly in the MIPS-based DECstation series.
1419
1420config FB_PMAGB_B
1421	tristate "PMAGB-B TURBOchannel framebuffer support"
1422	depends on FB && TC
1423	select FB_IOMEM_HELPERS
1424	help
1425	  Support for the PMAGB-B TURBOchannel framebuffer card used mainly
1426	  in the MIPS-based DECstation series. The card is currently only
1427	  supported in 1280x1024x8 mode.
1428
1429config FB_MAXINE
1430	bool "Maxine (Personal DECstation) onboard framebuffer support"
1431	depends on (FB = y) && MACH_DECSTATION
1432	select FB_IOMEM_HELPERS
1433	help
1434	  Support for the onboard framebuffer (1024x768x8) in the Personal
1435	  DECstation series (Personal DECstation 5000/20, /25, /33, /50,
1436	  Codename "Maxine").
1437
1438config FB_G364
1439	bool "G364 frame buffer support"
1440	depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
1441	select FB_IOMEM_HELPERS
1442	help
1443	  The G364 driver is the framebuffer used in MIPS Magnum 4000 and
1444	  Olivetti M700-10 systems.
1445
1446config FB_68328
1447	bool "Motorola 68328 native frame buffer support"
1448	depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
1449	select FB_IOMEM_HELPERS
1450	help
1451	  Say Y here if you want to support the built-in frame buffer of
1452	  the Motorola 68328 CPU family.
1453
1454config FB_PXA168
1455	tristate "PXA168/910 LCD framebuffer support"
1456	depends on FB && HAVE_CLK && HAS_IOMEM
1457	depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST
1458	select FB_IOMEM_HELPERS
1459	help
1460	  Frame buffer driver for the built-in LCD controller in the Marvell
1461	  MMP processor.
1462
1463config FB_PXA
1464	tristate "PXA LCD framebuffer support"
1465	depends on FB && ARCH_PXA
1466	select FB_IOMEM_HELPERS
1467	select VIDEOMODE_HELPERS if OF
1468	select FB_MODE_HELPERS if OF
1469	help
1470	  Frame buffer driver for the built-in LCD controller in the Intel
1471	  PXA2x0 processor.
1472
1473	  This driver is also available as a module ( = code which can be
1474	  inserted and removed from the running kernel whenever you want). The
1475	  module will be called pxafb. If you want to compile it as a module,
1476	  say M here and read <file:Documentation/kbuild/modules.rst>.
1477
1478	  If unsure, say N.
1479
1480config FB_PXA_OVERLAY
1481	bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer"
1482	depends on FB_PXA && (PXA27x || PXA3xx)
1483
1484config FB_PXA_SMARTPANEL
1485	bool "PXA Smartpanel LCD support"
1486	depends on FB_PXA
1487
1488config FB_PXA_PARAMETERS
1489	bool "PXA LCD command line parameters"
1490	depends on FB_PXA
1491	help
1492	  Enable the use of kernel command line or module parameters
1493	  to configure the physical properties of the LCD panel when
1494	  using the PXA LCD driver.
1495
1496	  This option allows you to override the panel parameters
1497	  supplied by the platform in order to support multiple
1498	  different models of flatpanel. If you will only be using a
1499	  single model of flatpanel then you can safely leave this
1500	  option disabled.
1501
1502	  <file:Documentation/fb/pxafb.rst> describes the available parameters.
1503
1504config PXA3XX_GCU
1505	tristate "PXA3xx 2D graphics accelerator driver"
1506	depends on FB_PXA
1507	help
1508	  Kernelspace driver for the 2D graphics controller unit (GCU)
1509	  found on PXA3xx processors. There is a counterpart driver in the
1510	  DirectFB suite, see http://www.directfb.org/
1511
1512	  If you compile this as a module, it will be called pxa3xx_gcu.
1513
1514config FB_FSL_DIU
1515	tristate "Freescale DIU framebuffer support"
1516	depends on FB && FSL_SOC
1517	select FB_IOMEM_HELPERS
1518	select FB_MODE_HELPERS
1519	select PPC_LIB_RHEAP
1520	help
1521	  Framebuffer driver for the Freescale SoC DIU
1522
1523config FB_SH_MOBILE_LCDC
1524	tristate "SuperH Mobile LCDC framebuffer support"
1525	depends on FB && HAVE_CLK && HAS_IOMEM
1526	depends on SUPERH || COMPILE_TEST
1527	depends on FB_DEVICE
1528	select FB_BACKLIGHT
1529	select FB_DEFERRED_IO
1530	select FB_DMAMEM_HELPERS
1531	help
1532	  Frame buffer driver for the on-chip SH-Mobile LCD controller.
1533
1534config FB_S3C
1535	tristate "Samsung S3C framebuffer support"
1536	depends on FB && HAVE_CLK && HAS_IOMEM
1537	depends on ARCH_S3C64XX || COMPILE_TEST
1538	select FB_IOMEM_HELPERS
1539	help
1540	  Frame buffer driver for the built-in FB controller in the Samsung
1541	  SoC line such as the S3C6400 and S3C6410.
1542
1543	  These chips all have the same basic framebuffer design with the
1544	  actual capabilities depending on the chip. The S3C6400
1545	  and S3C6410 support 4 hardware windows.
1546
1547	  Currently the support is only for the S3C6400 and S3C6410 SoCs.
1548
1549config FB_S3C_DEBUG_REGWRITE
1550	bool "Debug register writes"
1551	depends on FB_S3C
1552	help
1553	  Show all register writes via pr_debug()
1554
1555config FB_SM501
1556	tristate "Silicon Motion SM501 framebuffer support"
1557	depends on FB && MFD_SM501
1558	select FB_CFB_FILLRECT
1559	select FB_CFB_COPYAREA
1560	select FB_CFB_IMAGEBLIT
1561	select FB_IOMEM_FOPS
1562	help
1563	  Frame buffer driver for the CRT and LCD controllers in the Silicon
1564	  Motion SM501.
1565
1566	  This driver is also available as a module ( = code which can be
1567	  inserted and removed from the running kernel whenever you want). The
1568	  module will be called sm501fb. If you want to compile it as a module,
1569	  say M here and read <file:Documentation/kbuild/modules.rst>.
1570
1571	  If unsure, say N.
1572
1573config FB_SMSCUFX
1574	tristate "SMSC UFX6000/7000 USB Framebuffer support"
1575	depends on FB && USB
1576	select FB_MODE_HELPERS
1577	select FB_SYSMEM_HELPERS_DEFERRED
1578	help
1579	  This is a kernel framebuffer driver for SMSC UFX USB devices.
1580	  Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1581	  mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000
1582	  (USB 3.0) devices.
1583	  To compile as a module, choose M here: the module name is smscufx.
1584
1585config FB_UDL
1586	tristate "Displaylink USB Framebuffer support"
1587	depends on FB && USB
1588	depends on FB_DEVICE
1589	select FB_MODE_HELPERS
1590	select FB_SYSMEM_HELPERS_DEFERRED
1591	help
1592	  This is a kernel framebuffer driver for DisplayLink USB devices.
1593	  Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1594	  mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices.
1595	  To compile as a module, choose M here: the module name is udlfb.
1596
1597config FB_IBM_GXT4500
1598	tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
1599	depends on FB
1600	select FB_IOMEM_HELPERS
1601	help
1602	  Say Y here to enable support for the IBM GXT4000P/6000P and
1603	  GXT4500P/6500P display adaptor based on Raster Engine RC1000,
1604	  found on some IBM System P (pSeries) machines. This driver
1605	  doesn't use Geometry Engine GT1000. This driver also supports
1606	  AGP Fire GL2/3/4 cards on x86.
1607
1608config FB_PS3
1609	tristate "PS3 GPU framebuffer driver"
1610	depends on FB && PS3_PS3AV
1611	select FB_SYSMEM_HELPERS
1612	help
1613	  Include support for the virtual frame buffer in the PS3 platform.
1614
1615config FB_PS3_DEFAULT_SIZE_M
1616	int "PS3 default frame buffer size (in MiB)"
1617	depends on FB_PS3
1618	default 9
1619	help
1620	  This is the default size (in MiB) of the virtual frame buffer in
1621	  the PS3.
1622	  The default value can be overridden on the kernel command line
1623	  using the "ps3fb" option (e.g. "ps3fb=9M");
1624
1625config FB_XILINX
1626	tristate "Xilinx frame buffer support"
1627	depends on FB && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
1628	select FB_IOMEM_HELPERS
1629	help
1630	  Include support for the Xilinx ML300/ML403 reference design
1631	  framebuffer. ML300 carries a 640*480 LCD display on the board,
1632	  ML403 uses a standard DB15 VGA connector.
1633
1634config FB_GOLDFISH
1635	tristate "Goldfish Framebuffer"
1636	depends on FB
1637	depends on GOLDFISH || COMPILE_TEST
1638	select FB_IOMEM_HELPERS
1639	help
1640	  Framebuffer driver for Goldfish Virtual Platform
1641
1642config FB_COBALT
1643	tristate "Cobalt server LCD frame buffer support"
1644	depends on FB && MIPS_COBALT
1645	select FB_IOMEM_HELPERS
1646
1647config FB_SH7760
1648	bool "SH7760/SH7763/SH7720/SH7721 LCDC support"
1649	depends on FB=y && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
1650		|| CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
1651	select FB_IOMEM_HELPERS
1652	help
1653	  Support for the SH7760/SH7763/SH7720/SH7721 integrated
1654	  (D)STN/TFT LCD Controller.
1655	  Supports display resolutions up to 1024x1024 pixel, grayscale and
1656	  color operation, with depths ranging from 1 bpp to 8 bpp monochrome
1657	  and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for
1658	  panels <= 320 pixel horizontal resolution.
1659
1660config FB_DA8XX
1661	tristate "DA8xx/OMAP-L1xx/AM335x Framebuffer support"
1662	depends on FB && HAVE_CLK && HAS_IOMEM
1663	depends on ARCH_DAVINCI_DA8XX || SOC_AM33XX || COMPILE_TEST
1664	select FB_CFB_REV_PIXELS_IN_BYTE
1665	select FB_IOMEM_HELPERS
1666	select FB_MODE_HELPERS
1667	select VIDEOMODE_HELPERS
1668	help
1669	  This is the frame buffer device driver for the TI LCD controller
1670	  found on DA8xx/OMAP-L1xx/AM335x SoCs.
1671	  If unsure, say N.
1672
1673config FB_VIRTUAL
1674	tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
1675	depends on FB
1676	select FB_SYSMEM_HELPERS
1677	help
1678	  This is a `virtual' frame buffer device. It operates on a chunk of
1679	  unswappable kernel memory instead of on the memory of a graphics
1680	  board. This means you cannot see any output sent to this frame
1681	  buffer device, while it does consume precious memory. The main use
1682	  of this frame buffer device is testing and debugging the frame
1683	  buffer subsystem. Do NOT enable it for normal systems! To protect
1684	  the innocent, it has to be enabled explicitly at boot time using the
1685	  kernel option `video=vfb:'.
1686
1687	  To compile this driver as a module, choose M here: the
1688	  module will be called vfb. In order to load it, you must use
1689	  the vfb_enable=1 option.
1690
1691	  If unsure, say N.
1692
1693config XEN_FBDEV_FRONTEND
1694	tristate "Xen virtual frame buffer support"
1695	depends on FB && XEN
1696	select FB_SYSMEM_HELPERS_DEFERRED
1697	select XEN_XENBUS_FRONTEND
1698	default y
1699	help
1700	  This driver implements the front-end of the Xen virtual
1701	  frame buffer driver.  It communicates with a back-end
1702	  in another domain.
1703
1704config FB_METRONOME
1705	tristate "E-Ink Metronome/8track controller support"
1706	depends on FB
1707	select FB_SYSMEM_HELPERS_DEFERRED
1708	help
1709	  This driver implements support for the E-Ink Metronome
1710	  controller. The pre-release name for this device was 8track
1711	  and could also have been called by some vendors as PVI-nnnn.
1712
1713config FB_MB862XX
1714	tristate "Fujitsu MB862xx GDC support"
1715	depends on FB
1716	depends on PCI || (OF && PPC)
1717	select FB_IOMEM_HELPERS
1718	help
1719	  Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
1720
1721choice
1722	prompt "GDC variant"
1723	depends on FB_MB862XX
1724
1725config FB_MB862XX_PCI_GDC
1726	bool "Carmine/Coral-P(A) GDC"
1727	depends on PCI
1728	help
1729	  This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
1730	  PCI graphics controller devices.
1731
1732config FB_MB862XX_LIME
1733	bool "Lime GDC"
1734	depends on OF && PPC
1735	select FB_FOREIGN_ENDIAN
1736	select FB_LITTLE_ENDIAN
1737	help
1738	  Framebuffer support for Fujitsu Lime GDC on host CPU bus.
1739
1740endchoice
1741
1742config FB_MB862XX_I2C
1743	bool "Support I2C bus on MB862XX GDC"
1744	depends on FB_MB862XX && I2C
1745	depends on FB_MB862XX=m || I2C=y
1746	default y
1747	help
1748	  Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter
1749	  driver to support accessing I2C devices on controller's I2C bus.
1750	  These are usually some video decoder chips.
1751
1752config FB_EP93XX
1753	tristate "EP93XX frame buffer support"
1754	depends on FB && ARCH_EP93XX
1755	select FB_IOMEM_HELPERS
1756	help
1757	  Framebuffer driver for the Cirrus Logic EP93XX series of processors.
1758	  This driver is also available as a module. The module will be called
1759	  ep93xx-fb.
1760
1761config FB_PRE_INIT_FB
1762	bool "Don't reinitialize, use bootloader's GDC/Display configuration"
1763	depends on FB && FB_MB862XX_LIME
1764	help
1765	  Select this option if display contents should be inherited as set by
1766	  the bootloader.
1767
1768config FB_BROADSHEET
1769	tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
1770	depends on FB && (ARCH_PXA || COMPILE_TEST)
1771	select FB_SYSMEM_HELPERS_DEFERRED
1772	help
1773	  This driver implements support for the E-Ink Broadsheet
1774	  controller. The release name for this device was Epson S1D13521
1775	  and could also have been called by other names when coupled with
1776	  a bridge adapter.
1777
1778config FB_HYPERV
1779	tristate "Microsoft Hyper-V Synthetic Video support"
1780	depends on FB && HYPERV
1781	select DMA_CMA if HAVE_DMA_CONTIGUOUS && CMA
1782	select FB_IOMEM_HELPERS_DEFERRED
1783	help
1784	  This framebuffer driver supports Microsoft Hyper-V Synthetic Video.
1785
1786config FB_SIMPLE
1787	tristate "Simple framebuffer support"
1788	depends on FB
1789	depends on !DRM_SIMPLEDRM
1790	select APERTURE_HELPERS
1791	select FB_IOMEM_HELPERS
1792	help
1793	  Say Y if you want support for a simple frame-buffer.
1794
1795	  This driver assumes that the display hardware has been initialized
1796	  before the kernel boots, and the kernel will simply render to the
1797	  pre-allocated frame buffer surface.
1798
1799	  Configuration re: surface address, size, and format must be provided
1800	  through device tree, or plain old platform data.
1801
1802config FB_SSD1307
1803	tristate "Solomon SSD1307 framebuffer support"
1804	depends on FB && I2C
1805	depends on GPIOLIB || COMPILE_TEST
1806	select FB_BACKLIGHT
1807	select FB_SYSMEM_HELPERS_DEFERRED
1808	help
1809	  This driver implements support for the Solomon SSD1307
1810	  OLED controller over I2C.
1811
1812config FB_SM712
1813	tristate "Silicon Motion SM712 framebuffer support"
1814	depends on FB && PCI
1815	select FB_IOMEM_HELPERS
1816	help
1817	  Frame buffer driver for the Silicon Motion SM710, SM712, SM721
1818	  and SM722 chips.
1819
1820	  This driver is also available as a module. The module will be
1821	  called sm712fb. If you want to compile it as a module, say M
1822	  here and read <file:Documentation/kbuild/modules.rst>.
1823
1824source "drivers/video/fbdev/omap/Kconfig"
1825source "drivers/video/fbdev/omap2/Kconfig"
1826source "drivers/video/fbdev/mmp/Kconfig"
1827
1828source "drivers/video/fbdev/core/Kconfig"
1829