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