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