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