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