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