xref: /openbmc/linux/drivers/video/fbdev/Kconfig (revision 83775e158a3d2dc437132ab357ed6c9214ef0ae9)
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	depends on FB_DEFERRED_IO
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_SYS_FILLRECT
687	select FB_SYS_COPYAREA
688	select FB_SYS_IMAGEBLIT
689	select FB_SYS_FOPS
690	select FB_DEFERRED_IO
691	select FB_HECUBA
692	help
693	  This enables support for the Apollo display controller in its
694	  Hecuba form using the n411 devkit.
695
696config FB_HGA
697	tristate "Hercules mono graphics support"
698	depends on FB && X86
699	help
700	  Say Y here if you have a Hercules mono graphics card.
701
702	  To compile this driver as a module, choose M here: the
703	  module will be called hgafb.
704
705	  As this card technology is at least 25 years old,
706	  most people will answer N here.
707
708config FB_GBE
709	bool "SGI Graphics Backend frame buffer support"
710	depends on (FB = y) && HAS_IOMEM
711	depends on SGI_IP32 || COMPILE_TEST
712	select FB_CFB_FILLRECT
713	select FB_CFB_COPYAREA
714	select FB_CFB_IMAGEBLIT
715	help
716	  This is the frame buffer device driver for SGI Graphics Backend.
717	  This chip is used in SGI O2 and Visual Workstation 320/540.
718
719config FB_GBE_MEM
720	int "Video memory size in MB"
721	depends on FB_GBE
722	default 4
723	help
724	  This is the amount of memory reserved for the framebuffer,
725	  which can be any value between 1MB and 8MB.
726
727config FB_SBUS
728	bool "SBUS and UPA framebuffers"
729	depends on (FB = y) && SPARC
730	help
731	  Say Y if you want support for SBUS or UPA based frame buffer device.
732
733config FB_BW2
734	bool "BWtwo support"
735	depends on (FB = y) && (SPARC && FB_SBUS)
736	select FB_CFB_FILLRECT
737	select FB_CFB_COPYAREA
738	select FB_CFB_IMAGEBLIT
739	help
740	  This is the frame buffer device driver for the BWtwo frame buffer.
741
742config FB_CG3
743	bool "CGthree support"
744	depends on (FB = y) && (SPARC && FB_SBUS)
745	select FB_CFB_FILLRECT
746	select FB_CFB_COPYAREA
747	select FB_CFB_IMAGEBLIT
748	help
749	  This is the frame buffer device driver for the CGthree frame buffer.
750
751config FB_CG6
752	bool "CGsix (GX,TurboGX) support"
753	depends on (FB = y) && (SPARC && FB_SBUS)
754	select FB_CFB_COPYAREA
755	select FB_CFB_IMAGEBLIT
756	help
757	  This is the frame buffer device driver for the CGsix (GX, TurboGX)
758	  frame buffer.
759
760config FB_FFB
761	bool "Creator/Creator3D/Elite3D support"
762	depends on FB_SBUS && SPARC64
763	select FB_CFB_COPYAREA
764	select FB_CFB_IMAGEBLIT
765	help
766	  This is the frame buffer device driver for the Creator, Creator3D,
767	  and Elite3D graphics boards.
768
769config FB_TCX
770	bool "TCX (SS4/SS5 only) 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 TCX 24/8bit frame
777	  buffer.
778
779config FB_CG14
780	bool "CGfourteen (SX) 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 CGfourteen frame
787	  buffer on Desktop SPARCsystems with the SX graphics option.
788
789config FB_P9100
790	bool "P9100 (Sparcbook 3 only) 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 P9100 card
797	  supported on Sparcbook 3 machines.
798
799config FB_LEO
800	bool "Leo (ZX) support"
801	depends on FB_SBUS
802	select FB_CFB_FILLRECT
803	select FB_CFB_COPYAREA
804	select FB_CFB_IMAGEBLIT
805	help
806	  This is the frame buffer device driver for the SBUS-based Sun ZX
807	  (leo) frame buffer cards.
808
809config FB_XVR500
810	bool "Sun XVR-500 3DLABS Wildcat support"
811	depends on (FB = y) && PCI && SPARC64
812	select FB_CFB_FILLRECT
813	select FB_CFB_COPYAREA
814	select FB_CFB_IMAGEBLIT
815	select VIDEO_NOMODESET
816	help
817	  This is the framebuffer device for the Sun XVR-500 and similar
818	  graphics cards based upon the 3DLABS Wildcat chipset.  The driver
819	  only works on sparc64 systems where the system firmware has
820	  mostly initialized the card already.  It is treated as a
821	  completely dumb framebuffer device.
822
823config FB_XVR2500
824	bool "Sun XVR-2500 3DLABS Wildcat support"
825	depends on (FB = y) && PCI && SPARC64
826	select FB_CFB_FILLRECT
827	select FB_CFB_COPYAREA
828	select FB_CFB_IMAGEBLIT
829	select VIDEO_NOMODESET
830	help
831	  This is the framebuffer device for the Sun XVR-2500 and similar
832	  graphics cards based upon the 3DLABS Wildcat chipset.  The driver
833	  only works on sparc64 systems where the system firmware has
834	  mostly initialized the card already.  It is treated as a
835	  completely dumb framebuffer device.
836
837config FB_XVR1000
838	bool "Sun XVR-1000 support"
839	depends on (FB = y) && SPARC64
840	select FB_CFB_FILLRECT
841	select FB_CFB_COPYAREA
842	select FB_CFB_IMAGEBLIT
843	help
844	  This is the framebuffer device for the Sun XVR-1000 and similar
845	  graphics cards.  The driver only works on sparc64 systems where
846	  the system firmware has mostly initialized the card already.  It
847	  is treated as a completely dumb framebuffer device.
848
849config FB_PVR2
850	tristate "NEC PowerVR 2 display support"
851	depends on FB && HAS_IOMEM
852	depends on SH_DREAMCAST || COMPILE_TEST
853	select FB_CFB_FILLRECT
854	select FB_CFB_COPYAREA
855	select FB_CFB_IMAGEBLIT
856	select VIDEO_NOMODESET
857	help
858	  Say Y here if you have a PowerVR 2 card in your box.  If you plan to
859	  run linux on your Dreamcast, you will have to say Y here.
860	  This driver may or may not work on other PowerVR 2 cards, but is
861	  totally untested.  Use at your own risk.  If unsure, say N.
862
863	  To compile this driver as a module, choose M here: the
864	  module will be called pvr2fb.
865
866	  You can pass several parameters to the driver at boot time or at
867	  module load time.  The parameters look like "video=pvr2:XXX", where
868	  the meaning of XXX can be found at the end of the main source file
869	  (<file:drivers/video/fbdev/pvr2fb.c>). Please see the file
870	  <file:Documentation/fb/pvr2fb.rst>.
871
872config FB_OPENCORES
873	tristate "OpenCores VGA/LCD core 2.0 framebuffer support"
874	depends on FB && HAS_DMA
875	select FB_CFB_FILLRECT
876	select FB_CFB_COPYAREA
877	select FB_CFB_IMAGEBLIT
878	help
879	  This enables support for the OpenCores VGA/LCD core.
880
881	  The OpenCores VGA/LCD core is typically used together with
882	  softcore CPUs (e.g. OpenRISC or Microblaze) or hard processor
883	  systems (e.g. Altera socfpga or Xilinx Zynq) on FPGAs.
884
885	  The source code and specification for the core is available at
886	  <https://opencores.org/project,vga_lcd>
887
888config FB_S1D13XXX
889	tristate "Epson S1D13XXX framebuffer support"
890	depends on FB
891	select FB_CFB_FILLRECT
892	select FB_CFB_COPYAREA
893	select FB_CFB_IMAGEBLIT
894	help
895	  Support for S1D13XXX framebuffer device family (currently only
896	  working with S1D13806). Product specs at
897	  <https://vdc.epson.com/>
898
899config FB_ATMEL
900	tristate "AT91 LCD Controller support"
901	depends on FB && OF && HAVE_CLK && HAS_IOMEM
902	depends on HAVE_FB_ATMEL || COMPILE_TEST
903	select FB_BACKLIGHT
904	select FB_CFB_FILLRECT
905	select FB_CFB_COPYAREA
906	select FB_CFB_IMAGEBLIT
907	select FB_MODE_HELPERS
908	select VIDEOMODE_HELPERS
909	help
910	  This enables support for the AT91 LCD Controller.
911
912config FB_NVIDIA
913	tristate "nVidia Framebuffer Support"
914	depends on FB && PCI
915	select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT
916	select FB_MODE_HELPERS
917	select FB_CFB_FILLRECT
918	select FB_CFB_COPYAREA
919	select FB_CFB_IMAGEBLIT
920	select BITREVERSE
921	select VGASTATE
922	select VIDEO_NOMODESET
923	help
924	  This driver supports graphics boards with the nVidia chips, TNT
925	  and newer. For very old chipsets, such as the RIVA128, then use
926	  the rivafb.
927	  Say Y if you have such a graphics board.
928
929	  To compile this driver as a module, choose M here: the
930	  module will be called nvidiafb.
931
932config FB_NVIDIA_I2C
933	bool "Enable DDC Support"
934	depends on FB_NVIDIA
935	select FB_DDC
936	help
937	  This enables I2C support for nVidia Chipsets.  This is used
938	  only for getting EDID information from the attached display
939	  allowing for robust video mode handling and switching.
940
941	  Because fbdev-2.6 requires that drivers must be able to
942	  independently validate video mode parameters, you should say Y
943	  here.
944
945config FB_NVIDIA_DEBUG
946	bool "Lots of debug output"
947	depends on FB_NVIDIA
948	help
949	  Say Y here if you want the nVidia driver to output all sorts
950	  of debugging information to provide to the maintainer when
951	  something goes wrong.
952
953config FB_NVIDIA_BACKLIGHT
954	bool "Support for backlight control"
955	depends on FB_NVIDIA
956	default y
957	help
958	  Say Y here if you want to control the backlight of your display.
959
960config FB_RIVA
961	tristate "nVidia Riva support"
962	depends on FB && PCI
963	select FB_BACKLIGHT if FB_RIVA_BACKLIGHT
964	select FB_MODE_HELPERS
965	select FB_CFB_FILLRECT
966	select FB_CFB_COPYAREA
967	select FB_CFB_IMAGEBLIT
968	select BITREVERSE
969	select VGASTATE
970	select VIDEO_NOMODESET
971	help
972	  This driver supports graphics boards with the nVidia Riva/Geforce
973	  chips.
974	  Say Y if you have such a graphics board.
975
976	  To compile this driver as a module, choose M here: the
977	  module will be called rivafb.
978
979config FB_RIVA_I2C
980	bool "Enable DDC Support"
981	depends on FB_RIVA
982	select FB_DDC
983	help
984	  This enables I2C support for nVidia Chipsets.  This is used
985	  only for getting EDID information from the attached display
986	  allowing for robust video mode handling and switching.
987
988	  Because fbdev-2.6 requires that drivers must be able to
989	  independently validate video mode parameters, you should say Y
990	  here.
991
992config FB_RIVA_DEBUG
993	bool "Lots of debug output"
994	depends on FB_RIVA
995	help
996	  Say Y here if you want the Riva driver to output all sorts
997	  of debugging information to provide to the maintainer when
998	  something goes wrong.
999
1000config FB_RIVA_BACKLIGHT
1001	bool "Support for backlight control"
1002	depends on FB_RIVA
1003	default y
1004	help
1005	  Say Y here if you want to control the backlight of your display.
1006
1007config FB_I740
1008	tristate "Intel740 support"
1009	depends on FB && PCI
1010	select FB_MODE_HELPERS
1011	select FB_CFB_FILLRECT
1012	select FB_CFB_COPYAREA
1013	select FB_CFB_IMAGEBLIT
1014	select VGASTATE
1015	select VIDEO_NOMODESET
1016	select FB_DDC
1017	help
1018	  This driver supports graphics cards based on Intel740 chip.
1019
1020config FB_I810
1021	tristate "Intel 810/815 support"
1022	depends on FB && PCI && X86_32 && AGP_INTEL
1023	select FB_MODE_HELPERS
1024	select FB_CFB_FILLRECT
1025	select FB_CFB_COPYAREA
1026	select FB_CFB_IMAGEBLIT
1027	select VGASTATE
1028	select VIDEO_NOMODESET
1029	help
1030	  This driver supports the on-board graphics built in to the Intel 810
1031	  and 815 chipsets.  Say Y if you have and plan to use such a board.
1032
1033	  To compile this driver as a module, choose M here: the
1034	  module will be called i810fb.
1035
1036	  For more information, please read
1037	  <file:Documentation/fb/intel810.rst>
1038
1039config FB_I810_GTF
1040	bool "use VESA Generalized Timing Formula"
1041	depends on FB_I810
1042	help
1043	  If you say Y, then the VESA standard, Generalized Timing Formula
1044	  or GTF, will be used to calculate the required video timing values
1045	  per video mode.  Since the GTF allows nondiscrete timings
1046	  (nondiscrete being a range of values as opposed to discrete being a
1047	  set of values), you'll be able to use any combination of horizontal
1048	  and vertical resolutions, and vertical refresh rates without having
1049	  to specify your own timing parameters.  This is especially useful
1050	  to maximize the performance of an aging display, or if you just
1051	  have a display with nonstandard dimensions. A VESA compliant
1052	  monitor is recommended, but can still work with non-compliant ones.
1053	  If you need or want this, then select this option. The timings may
1054	  not be compliant with Intel's recommended values. Use at your own
1055	  risk.
1056
1057	  If you say N, the driver will revert to discrete video timings
1058	  using a set recommended by Intel in their documentation.
1059
1060	  If unsure, say N.
1061
1062config FB_I810_I2C
1063	bool "Enable DDC Support"
1064	depends on FB_I810 && FB_I810_GTF
1065	select FB_DDC
1066	help
1067	  Add DDC/I2C support for i810fb.  This will allow the driver to get
1068	  display information, especially for monitors with fickle timings.
1069
1070	  If unsure, say Y.
1071
1072config FB_LE80578
1073	tristate "Intel LE80578 (Vermilion) support"
1074	depends on FB && PCI && X86
1075	select FB_MODE_HELPERS
1076	select FB_CFB_FILLRECT
1077	select FB_CFB_COPYAREA
1078	select FB_CFB_IMAGEBLIT
1079	select VIDEO_NOMODESET
1080	help
1081	  This driver supports the LE80578 (Vermilion Range) chipset
1082
1083config FB_CARILLO_RANCH
1084	tristate "Intel Carillo Ranch support"
1085	depends on FB_LE80578 && FB && PCI && X86
1086	help
1087	  This driver supports the LE80578 (Carillo Ranch) board
1088
1089config FB_INTEL
1090	tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support"
1091	depends on FB && PCI && X86 && AGP_INTEL && EXPERT
1092	select FB_MODE_HELPERS
1093	select FB_CFB_FILLRECT
1094	select FB_CFB_COPYAREA
1095	select FB_CFB_IMAGEBLIT
1096	select BOOT_VESA_SUPPORT if FB_INTEL = y
1097	select VIDEO_NOMODESET
1098	depends on !DRM_I915
1099	help
1100	  This driver supports the on-board graphics built in to the Intel
1101	  830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets.
1102	  Say Y if you have and plan to use such a board.
1103
1104	  To make FB_INTEL=Y work you need to say AGP_INTEL=y too.
1105
1106	  To compile this driver as a module, choose M here: the
1107	  module will be called intelfb.
1108
1109	  For more information, please read <file:Documentation/fb/intelfb.rst>
1110
1111config FB_INTEL_DEBUG
1112	bool "Intel driver Debug Messages"
1113	depends on FB_INTEL
1114	help
1115	  Say Y here if you want the Intel driver to output all sorts
1116	  of debugging information to provide to the maintainer when
1117	  something goes wrong.
1118
1119config FB_INTEL_I2C
1120	bool "DDC/I2C for Intel framebuffer support"
1121	depends on FB_INTEL
1122	select FB_DDC
1123	default y
1124	help
1125	  Say Y here if you want DDC/I2C support for your on-board Intel graphics.
1126
1127config FB_MATROX
1128	tristate "Matrox acceleration"
1129	depends on FB && PCI
1130	select FB_CFB_FILLRECT
1131	select FB_CFB_COPYAREA
1132	select FB_CFB_IMAGEBLIT
1133	select FB_TILEBLITTING
1134	select FB_MACMODES if PPC_PMAC
1135	select VIDEO_NOMODESET
1136	help
1137	  Say Y here if you have a Matrox Millennium, Matrox Millennium II,
1138	  Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
1139	  Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video,
1140	  Matrox G400, G450 or G550 card in your box.
1141
1142	  To compile this driver as a module, choose M here: the
1143	  module will be called matroxfb.
1144
1145	  You can pass several parameters to the driver at boot time or at
1146	  module load time. The parameters look like "video=matroxfb:XXX", and
1147	  are described in <file:Documentation/fb/matroxfb.rst>.
1148
1149config FB_MATROX_MILLENIUM
1150	bool "Millennium I/II support"
1151	depends on FB_MATROX
1152	help
1153	  Say Y here if you have a Matrox Millennium or Matrox Millennium II
1154	  video card. If you select "Advanced lowlevel driver options" below,
1155	  you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp
1156	  packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can
1157	  also use font widths different from 8.
1158
1159config FB_MATROX_MYSTIQUE
1160	bool "Mystique support"
1161	depends on FB_MATROX
1162	help
1163	  Say Y here if you have a Matrox Mystique or Matrox Mystique 220
1164	  video card. If you select "Advanced lowlevel driver options" below,
1165	  you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp
1166	  packed pixel and 32 bpp packed pixel. You can also use font widths
1167	  different from 8.
1168
1169config FB_MATROX_G
1170	bool "G100/G200/G400/G450/G550 support"
1171	depends on FB_MATROX
1172	help
1173	  Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based
1174	  video card. If you select "Advanced lowlevel driver options", you
1175	  should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
1176	  pixel and 32 bpp packed pixel. You can also use font widths
1177	  different from 8.
1178
1179	  If you need support for G400 secondary head, you must say Y to
1180	  "Matrox I2C support" and "G400 second head support" right below.
1181	  G450/G550 secondary head and digital output are supported without
1182	  additional modules.
1183
1184	  The driver starts in monitor mode. You must use the matroxset tool
1185	  (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
1186	  swap primary and secondary head outputs, or to change output mode.
1187	  Secondary head driver always start in 640x480 resolution and you
1188	  must use fbset to change it.
1189
1190	  Do not forget that second head supports only 16 and 32 bpp
1191	  packed pixels, so it is a good idea to compile them into the kernel
1192	  too. You can use only some font widths, as the driver uses generic
1193	  painting procedures (the secondary head does not use acceleration
1194	  engine).
1195
1196	  G450/G550 hardware can display TV picture only from secondary CRTC,
1197	  and it performs no scaling, so picture must have 525 or 625 lines.
1198
1199config FB_MATROX_I2C
1200	tristate "Matrox I2C support"
1201	depends on FB_MATROX
1202	select FB_DDC
1203	help
1204	  This drivers creates I2C buses which are needed for accessing the
1205	  DDC (I2C) bus present on all Matroxes, an I2C bus which
1206	  interconnects Matrox optional devices, like MGA-TVO on G200 and
1207	  G400, and the secondary head DDC bus, present on G400 only.
1208
1209	  You can say Y or M here if you want to experiment with monitor
1210	  detection code. You must say Y or M here if you want to use either
1211	  second head of G400 or MGA-TVO on G200 or G400.
1212
1213	  If you compile it as module, it will create a module named
1214	  i2c-matroxfb.
1215
1216config FB_MATROX_MAVEN
1217	tristate "G400 second head support"
1218	depends on FB_MATROX_G && FB_MATROX_I2C
1219	help
1220	  WARNING !!! This support does not work with G450 !!!
1221
1222	  Say Y or M here if you want to use a secondary head (meaning two
1223	  monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary
1224	  head is not compatible with accelerated XFree 3.3.x SVGA servers -
1225	  secondary head output is blanked while you are in X. With XFree
1226	  3.9.17 preview you can use both heads if you use SVGA over fbdev or
1227	  the fbdev driver on first head and the fbdev driver on second head.
1228
1229	  If you compile it as module, two modules are created,
1230	  matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for
1231	  both G200 and G400, matroxfb_crtc2 is needed only by G400. You must
1232	  also load i2c-matroxfb to get it to run.
1233
1234	  The driver starts in monitor mode and you must use the matroxset
1235	  tool (available at
1236	  <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to
1237	  PAL or NTSC or to swap primary and secondary head outputs.
1238	  Secondary head driver also always start in 640x480 resolution, you
1239	  must use fbset to change it.
1240
1241	  Also do not forget that second head supports only 16 and 32 bpp
1242	  packed pixels, so it is a good idea to compile them into the kernel
1243	  too.  You can use only some font widths, as the driver uses generic
1244	  painting procedures (the secondary head does not use acceleration
1245	  engine).
1246
1247config FB_RADEON
1248	tristate "ATI Radeon display support"
1249	depends on FB && PCI
1250	select FB_BACKLIGHT if FB_RADEON_BACKLIGHT
1251	select FB_MODE_HELPERS
1252	select FB_CFB_FILLRECT
1253	select FB_CFB_COPYAREA
1254	select FB_CFB_IMAGEBLIT
1255	select FB_MACMODES if PPC
1256	select VIDEO_NOMODESET
1257	help
1258	  Choose this option if you want to use an ATI Radeon graphics card as
1259	  a framebuffer device.  There are both PCI and AGP versions.  You
1260	  don't need to choose this to run the Radeon in plain VGA mode.
1261
1262	  There is a product page at
1263	  https://products.amd.com/en-us/GraphicCardResult.aspx
1264
1265config FB_RADEON_I2C
1266	bool "DDC/I2C for ATI Radeon support"
1267	depends on FB_RADEON
1268	select FB_DDC
1269	default y
1270	help
1271	  Say Y here if you want DDC/I2C support for your Radeon board.
1272
1273config FB_RADEON_BACKLIGHT
1274	bool "Support for backlight control"
1275	depends on FB_RADEON
1276	default y
1277	help
1278	  Say Y here if you want to control the backlight of your display.
1279
1280config FB_RADEON_DEBUG
1281	bool "Lots of debug output from Radeon driver"
1282	depends on FB_RADEON
1283	help
1284	  Say Y here if you want the Radeon driver to output all sorts
1285	  of debugging information to provide to the maintainer when
1286	  something goes wrong.
1287
1288config FB_ATY128
1289	tristate "ATI Rage128 display support"
1290	depends on FB && PCI
1291	select FB_CFB_FILLRECT
1292	select FB_CFB_COPYAREA
1293	select FB_CFB_IMAGEBLIT
1294	select FB_BACKLIGHT if FB_ATY128_BACKLIGHT
1295	select FB_MACMODES if PPC_PMAC
1296	select VIDEO_NOMODESET
1297	help
1298	  This driver supports graphics boards with the ATI Rage128 chips.
1299	  Say Y if you have such a graphics board and read
1300	  <file:Documentation/fb/aty128fb.rst>.
1301
1302	  To compile this driver as a module, choose M here: the
1303	  module will be called aty128fb.
1304
1305config FB_ATY128_BACKLIGHT
1306	bool "Support for backlight control"
1307	depends on FB_ATY128
1308	default y
1309	help
1310	  Say Y here if you want to control the backlight of your display.
1311
1312config FB_ATY
1313	tristate "ATI Mach64 display support" if PCI || ATARI
1314	depends on FB && !SPARC32
1315	select FB_CFB_FILLRECT
1316	select FB_CFB_COPYAREA
1317	select FB_CFB_IMAGEBLIT
1318	select FB_BACKLIGHT if FB_ATY_BACKLIGHT
1319	select FB_MACMODES if PPC
1320	select FB_ATY_CT if SPARC64 && PCI
1321	select VIDEO_NOMODESET
1322	help
1323	  This driver supports graphics boards with the ATI Mach64 chips.
1324	  Say Y if you have such a graphics board.
1325
1326	  To compile this driver as a module, choose M here: the
1327	  module will be called atyfb.
1328
1329config FB_ATY_CT
1330	bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support"
1331	depends on PCI && FB_ATY
1332	help
1333	  Say Y here to support use of ATI's 64-bit Rage boards (or other
1334	  boards based on the Mach64 CT, VT, GT, and LT chipsets) as a
1335	  framebuffer device.  The ATI product support page for these boards
1336	  is at <http://support.ati.com/products/pc/mach64/mach64.html>.
1337
1338config FB_ATY_GENERIC_LCD
1339	bool "Mach64 generic LCD support"
1340	depends on FB_ATY_CT
1341	help
1342	  Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
1343	  Rage XC, or Rage XL chipset.
1344
1345config FB_ATY_GX
1346	bool "Mach64 GX support" if PCI
1347	depends on FB_ATY
1348	default y if ATARI
1349	help
1350	  Say Y here to support use of the ATI Mach64 Graphics Expression
1351	  board (or other boards based on the Mach64 GX chipset) as a
1352	  framebuffer device.  The ATI product support page for these boards
1353	  is at
1354	  <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
1355
1356config FB_ATY_BACKLIGHT
1357	bool "Support for backlight control"
1358	depends on FB_ATY
1359	default y
1360	help
1361	  Say Y here if you want to control the backlight of your display.
1362
1363config FB_S3
1364	tristate "S3 Trio/Virge support"
1365	depends on FB && PCI
1366	select FB_CFB_FILLRECT
1367	select FB_CFB_COPYAREA
1368	select FB_CFB_IMAGEBLIT
1369	select FB_TILEBLITTING
1370	select FB_SVGALIB
1371	select VGASTATE
1372	select VIDEO_NOMODESET
1373	select FONT_8x16 if FRAMEBUFFER_CONSOLE
1374	help
1375	  Driver for graphics boards with S3 Trio / S3 Virge chip.
1376
1377config FB_S3_DDC
1378	bool "DDC for S3 support"
1379	depends on FB_S3
1380	select FB_DDC
1381	default y
1382	help
1383	  Say Y here if you want DDC support for your S3 graphics card.
1384
1385config FB_SAVAGE
1386	tristate "S3 Savage support"
1387	depends on FB && PCI
1388	select FB_MODE_HELPERS
1389	select FB_CFB_FILLRECT
1390	select FB_CFB_COPYAREA
1391	select FB_CFB_IMAGEBLIT
1392	select VGASTATE
1393	select VIDEO_NOMODESET
1394	help
1395	  This driver supports notebooks and computers with S3 Savage PCI/AGP
1396	  chips.
1397
1398	  Say Y if you have such a graphics card.
1399
1400	  To compile this driver as a module, choose M here; the module
1401	  will be called savagefb.
1402
1403config FB_SAVAGE_I2C
1404	bool "Enable DDC2 Support"
1405	depends on FB_SAVAGE
1406	select FB_DDC
1407	help
1408	  This enables I2C support for S3 Savage Chipsets.  This is used
1409	  only for getting EDID information from the attached display
1410	  allowing for robust video mode handling and switching.
1411
1412	  Because fbdev-2.6 requires that drivers must be able to
1413	  independently validate video mode parameters, you should say Y
1414	  here.
1415
1416config FB_SAVAGE_ACCEL
1417	bool "Enable Console Acceleration"
1418	depends on FB_SAVAGE
1419	help
1420	  This option will compile in console acceleration support. If
1421	  the resulting framebuffer console has bothersome glitches, then
1422	  choose N here.
1423
1424config FB_SIS
1425	tristate "SiS/XGI display support"
1426	depends on FB && PCI
1427	select FB_CFB_FILLRECT
1428	select FB_CFB_COPYAREA
1429	select FB_CFB_IMAGEBLIT
1430	select BOOT_VESA_SUPPORT if FB_SIS = y
1431	select FB_SIS_300 if !FB_SIS_315
1432	select VIDEO_NOMODESET
1433	help
1434	  This is the frame buffer device driver for the SiS 300, 315, 330
1435	  and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets.
1436	  Specs available at <https://www.sis.com> and <http://www.xgitech.com>.
1437
1438	  To compile this driver as a module, choose M here; the module
1439	  will be called sisfb.
1440
1441config FB_SIS_300
1442	bool "SiS 300 series support"
1443	depends on FB_SIS
1444	help
1445	  Say Y here to support use of the SiS 300/305, 540, 630 and 730.
1446
1447config FB_SIS_315
1448	bool "SiS 315/330/340 series and XGI support"
1449	depends on FB_SIS
1450	help
1451	  Say Y here to support use of the SiS 315, 330 and 340 series
1452	  (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well
1453	  as XGI V3XT, V5, V8 and Z7.
1454
1455config FB_VIA
1456	tristate "VIA UniChrome (Pro) and Chrome9 display support"
1457	depends on FB && PCI && GPIOLIB && I2C && (X86 || COMPILE_TEST)
1458	select FB_CFB_FILLRECT
1459	select FB_CFB_COPYAREA
1460	select FB_CFB_IMAGEBLIT
1461	select I2C_ALGOBIT
1462	select VIDEO_NOMODESET
1463	help
1464	  This is the frame buffer device driver for Graphics chips of VIA
1465	  UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/
1466	  CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896
1467	  /P4M900,VX800)
1468	  Say Y if you have a VIA UniChrome graphics board.
1469
1470	  To compile this driver as a module, choose M here: the
1471	  module will be called viafb.
1472
1473if FB_VIA
1474
1475config FB_VIA_DIRECT_PROCFS
1476	bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)"
1477	help
1478	  Allow direct hardware access to some output registers via procfs.
1479	  This is dangerous but may provide the only chance to get the
1480	  correct output device configuration.
1481	  Its use is strongly discouraged.
1482
1483config FB_VIA_X_COMPATIBILITY
1484	bool "X server compatibility"
1485	help
1486	  This option reduces the functionality (power saving, ...) of the
1487	  framebuffer to avoid negative impact on the OpenChrome X server.
1488	  If you use any X server other than fbdev you should enable this
1489	  otherwise it should be safe to disable it and allow using all
1490	  features.
1491
1492endif
1493
1494config FB_NEOMAGIC
1495	tristate "NeoMagic display support"
1496	depends on FB && PCI
1497	select FB_MODE_HELPERS
1498	select FB_CFB_FILLRECT
1499	select FB_CFB_COPYAREA
1500	select FB_CFB_IMAGEBLIT
1501	select VGASTATE
1502	select VIDEO_NOMODESET
1503	help
1504	  This driver supports notebooks with NeoMagic PCI chips.
1505	  Say Y if you have such a graphics card.
1506
1507	  To compile this driver as a module, choose M here: the
1508	  module will be called neofb.
1509
1510config FB_KYRO
1511	tristate "IMG Kyro support"
1512	depends on FB && PCI
1513	select FB_CFB_FILLRECT
1514	select FB_CFB_COPYAREA
1515	select FB_CFB_IMAGEBLIT
1516	select VIDEO_NOMODESET
1517	help
1518	  Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
1519	  graphics board.
1520
1521	  To compile this driver as a module, choose M here: the
1522	  module will be called kyrofb.
1523
1524config FB_3DFX
1525	tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
1526	depends on FB && PCI
1527	select FB_CFB_IMAGEBLIT
1528	select FB_CFB_FILLRECT
1529	select FB_CFB_COPYAREA
1530	select FB_MODE_HELPERS
1531	select VIDEO_NOMODESET
1532	help
1533	  This driver supports graphics boards with the 3Dfx Banshee,
1534	  Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have
1535	  such a graphics board.
1536
1537	  To compile this driver as a module, choose M here: the
1538	  module will be called tdfxfb.
1539
1540config FB_3DFX_ACCEL
1541	bool "3Dfx Acceleration functions"
1542	depends on FB_3DFX
1543	help
1544	This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer
1545	device driver with acceleration functions.
1546
1547config FB_3DFX_I2C
1548	bool "Enable DDC/I2C support"
1549	depends on FB_3DFX
1550	select FB_DDC
1551	default y
1552	help
1553	  Say Y here if you want DDC/I2C support for your 3dfx Voodoo3.
1554
1555config FB_VOODOO1
1556	tristate "3Dfx Voodoo Graphics (sst1) support"
1557	depends on FB && PCI
1558	depends on FB_DEVICE
1559	select FB_CFB_FILLRECT
1560	select FB_CFB_COPYAREA
1561	select FB_CFB_IMAGEBLIT
1562	select VIDEO_NOMODESET
1563	help
1564	  Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
1565	  Voodoo2 (cvg) based graphics card.
1566
1567	  To compile this driver as a module, choose M here: the
1568	  module will be called sstfb.
1569
1570	  WARNING: Do not use any application that uses the 3D engine
1571	  (namely glide) while using this driver.
1572	  Please read the <file:Documentation/fb/sstfb.rst> for supported
1573	  options and other important info  support.
1574
1575config FB_VT8623
1576	tristate "VIA VT8623 support"
1577	depends on FB && PCI
1578	select FB_CFB_FILLRECT
1579	select FB_CFB_COPYAREA
1580	select FB_CFB_IMAGEBLIT
1581	select FB_TILEBLITTING
1582	select FB_SVGALIB
1583	select VGASTATE
1584	select VIDEO_NOMODESET
1585	select FONT_8x16 if FRAMEBUFFER_CONSOLE
1586	help
1587	  Driver for CastleRock integrated graphics core in the
1588	  VIA VT8623 [Apollo CLE266] chipset.
1589
1590config FB_TRIDENT
1591	tristate "Trident/CyberXXX/CyberBlade support"
1592	depends on FB && PCI
1593	select FB_CFB_FILLRECT
1594	select FB_CFB_COPYAREA
1595	select FB_CFB_IMAGEBLIT
1596	select FB_DDC
1597	select FB_MODE_HELPERS
1598	select VIDEO_NOMODESET
1599	help
1600	  This is the frame buffer device driver for Trident PCI/AGP chipsets.
1601	  Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D
1602	  and Blade XP.
1603	  There are also integrated versions of these chips called CyberXXXX,
1604	  CyberImage or CyberBlade. These chips are mostly found in laptops
1605	  but also on some motherboards including early VIA EPIA motherboards.
1606	  For more information, read <file:Documentation/fb/tridentfb.rst>
1607
1608	  Say Y if you have such a graphics board.
1609
1610	  To compile this driver as a module, choose M here: the
1611	  module will be called tridentfb.
1612
1613config FB_ARK
1614	tristate "ARK 2000PV support"
1615	depends on FB && PCI
1616	select FB_CFB_FILLRECT
1617	select FB_CFB_COPYAREA
1618	select FB_CFB_IMAGEBLIT
1619	select FB_TILEBLITTING
1620	select FB_SVGALIB
1621	select VGASTATE
1622	select VIDEO_NOMODESET
1623	select FONT_8x16 if FRAMEBUFFER_CONSOLE
1624	help
1625	  Driver for PCI graphics boards with ARK 2000PV chip
1626	  and ICS 5342 RAMDAC.
1627
1628config FB_PM3
1629	tristate "Permedia3 support"
1630	depends on FB && PCI
1631	select FB_CFB_FILLRECT
1632	select FB_CFB_COPYAREA
1633	select FB_CFB_IMAGEBLIT
1634	select VIDEO_NOMODESET
1635	help
1636	  This is the frame buffer device driver for the 3DLabs Permedia3
1637	  chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
1638	  similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
1639	  and maybe other boards.
1640
1641config FB_CARMINE
1642	tristate "Fujitsu carmine frame buffer support"
1643	depends on FB && PCI
1644	select FB_CFB_FILLRECT
1645	select FB_CFB_COPYAREA
1646	select FB_CFB_IMAGEBLIT
1647	select VIDEO_NOMODESET
1648	help
1649	  This is the frame buffer device driver for the Fujitsu Carmine chip.
1650	  The driver provides two independent frame buffer devices.
1651
1652choice
1653	depends on FB_CARMINE
1654	prompt "DRAM timing"
1655	default FB_CARMINE_DRAM_EVAL
1656
1657config FB_CARMINE_DRAM_EVAL
1658	bool "Eval board timings"
1659	help
1660	  Use timings which work on the eval card.
1661
1662config CARMINE_DRAM_CUSTOM
1663	bool "Custom board timings"
1664	help
1665	  Use custom board timings.
1666endchoice
1667
1668config FB_AU1100
1669	bool "Au1100 LCD Driver"
1670	depends on (FB = y) && MIPS_ALCHEMY
1671	select FB_CFB_FILLRECT
1672	select FB_CFB_COPYAREA
1673	select FB_CFB_IMAGEBLIT
1674	help
1675	  This is the framebuffer driver for the AMD Au1100 SOC.  It can drive
1676	  various panels and CRTs by passing in kernel cmd line option
1677	  au1100fb:panel=<name>.
1678
1679config FB_AU1200
1680	bool "Au1200/Au1300 LCD Driver"
1681	depends on (FB = y) && MIPS_ALCHEMY
1682	select FB_SYS_FILLRECT
1683	select FB_SYS_COPYAREA
1684	select FB_SYS_IMAGEBLIT
1685	select FB_SYS_FOPS
1686	help
1687	  This is the framebuffer driver for the Au1200/Au1300 SOCs.
1688	  It can drive various panels and CRTs by passing in kernel cmd line
1689	  option au1200fb:panel=<name>.
1690
1691config FB_VT8500
1692	bool "VIA VT8500 framebuffer support"
1693	depends on (FB = y) && ARM && ARCH_VT8500
1694	select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1695	select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1696	select FB_SYS_IMAGEBLIT
1697	select FB_MODE_HELPERS
1698	select VIDEOMODE_HELPERS
1699	help
1700	  This is the framebuffer driver for VIA VT8500 integrated LCD
1701	  controller.
1702
1703config FB_WM8505
1704	bool "Wondermedia WM8xxx-series frame buffer support"
1705	depends on (FB = y) && HAS_IOMEM && (ARCH_VT8500 || COMPILE_TEST)
1706	select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1707	select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1708	select FB_SYS_IMAGEBLIT
1709	select FB_MODE_HELPERS
1710	select VIDEOMODE_HELPERS
1711	help
1712	  This is the framebuffer driver for WonderMedia WM8xxx-series
1713	  integrated LCD controller. This driver covers the WM8505, WM8650
1714	  and WM8850 SoCs.
1715
1716config FB_WMT_GE_ROPS
1717	bool "VT8500/WM8xxx accelerated raster ops support"
1718	depends on (FB = y) && (FB_VT8500 || FB_WM8505)
1719	help
1720	  This adds support for accelerated raster operations on the
1721	  VIA VT8500 and Wondermedia 85xx series SoCs.
1722
1723source "drivers/video/fbdev/geode/Kconfig"
1724
1725config FB_HIT
1726	tristate "HD64461 Frame Buffer support"
1727	depends on FB && HD64461
1728	select FB_CFB_FILLRECT
1729	select FB_CFB_COPYAREA
1730	select FB_CFB_IMAGEBLIT
1731	help
1732	  This is the frame buffer device driver for the Hitachi HD64461 LCD
1733	  frame buffer card.
1734
1735config FB_PMAG_AA
1736	tristate "PMAG-AA TURBOchannel framebuffer support"
1737	depends on FB && TC
1738	select FB_CFB_FILLRECT
1739	select FB_CFB_COPYAREA
1740	select FB_CFB_IMAGEBLIT
1741	help
1742	  Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
1743	  used mainly in the MIPS-based DECstation series.
1744
1745config FB_PMAG_BA
1746	tristate "PMAG-BA TURBOchannel framebuffer support"
1747	depends on FB && TC
1748	select FB_CFB_FILLRECT
1749	select FB_CFB_COPYAREA
1750	select FB_CFB_IMAGEBLIT
1751	help
1752	  Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
1753	  used mainly in the MIPS-based DECstation series.
1754
1755config FB_PMAGB_B
1756	tristate "PMAGB-B TURBOchannel framebuffer support"
1757	depends on FB && TC
1758	select FB_CFB_FILLRECT
1759	select FB_CFB_COPYAREA
1760	select FB_CFB_IMAGEBLIT
1761	help
1762	  Support for the PMAGB-B TURBOchannel framebuffer card used mainly
1763	  in the MIPS-based DECstation series. The card is currently only
1764	  supported in 1280x1024x8 mode.
1765
1766config FB_MAXINE
1767	bool "Maxine (Personal DECstation) onboard framebuffer support"
1768	depends on (FB = y) && MACH_DECSTATION
1769	select FB_CFB_FILLRECT
1770	select FB_CFB_COPYAREA
1771	select FB_CFB_IMAGEBLIT
1772	help
1773	  Support for the onboard framebuffer (1024x768x8) in the Personal
1774	  DECstation series (Personal DECstation 5000/20, /25, /33, /50,
1775	  Codename "Maxine").
1776
1777config FB_G364
1778	bool "G364 frame buffer support"
1779	depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
1780	select FB_CFB_FILLRECT
1781	select FB_CFB_COPYAREA
1782	select FB_CFB_IMAGEBLIT
1783	help
1784	  The G364 driver is the framebuffer used in MIPS Magnum 4000 and
1785	  Olivetti M700-10 systems.
1786
1787config FB_68328
1788	bool "Motorola 68328 native frame buffer support"
1789	depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
1790	select FB_CFB_FILLRECT
1791	select FB_CFB_COPYAREA
1792	select FB_CFB_IMAGEBLIT
1793	help
1794	  Say Y here if you want to support the built-in frame buffer of
1795	  the Motorola 68328 CPU family.
1796
1797config FB_PXA168
1798	tristate "PXA168/910 LCD framebuffer support"
1799	depends on FB && HAVE_CLK && HAS_IOMEM
1800	depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST
1801	select FB_CFB_FILLRECT
1802	select FB_CFB_COPYAREA
1803	select FB_CFB_IMAGEBLIT
1804	help
1805	  Frame buffer driver for the built-in LCD controller in the Marvell
1806	  MMP processor.
1807
1808config FB_PXA
1809	tristate "PXA LCD framebuffer support"
1810	depends on FB && ARCH_PXA
1811	select FB_CFB_FILLRECT
1812	select FB_CFB_COPYAREA
1813	select FB_CFB_IMAGEBLIT
1814	select VIDEOMODE_HELPERS if OF
1815	select FB_MODE_HELPERS if OF
1816	help
1817	  Frame buffer driver for the built-in LCD controller in the Intel
1818	  PXA2x0 processor.
1819
1820	  This driver is also available as a module ( = code which can be
1821	  inserted and removed from the running kernel whenever you want). The
1822	  module will be called pxafb. If you want to compile it as a module,
1823	  say M here and read <file:Documentation/kbuild/modules.rst>.
1824
1825	  If unsure, say N.
1826
1827config FB_PXA_OVERLAY
1828	bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer"
1829	depends on FB_PXA && (PXA27x || PXA3xx)
1830
1831config FB_PXA_SMARTPANEL
1832	bool "PXA Smartpanel LCD support"
1833	depends on FB_PXA
1834
1835config FB_PXA_PARAMETERS
1836	bool "PXA LCD command line parameters"
1837	depends on FB_PXA
1838	help
1839	  Enable the use of kernel command line or module parameters
1840	  to configure the physical properties of the LCD panel when
1841	  using the PXA LCD driver.
1842
1843	  This option allows you to override the panel parameters
1844	  supplied by the platform in order to support multiple
1845	  different models of flatpanel. If you will only be using a
1846	  single model of flatpanel then you can safely leave this
1847	  option disabled.
1848
1849	  <file:Documentation/fb/pxafb.rst> describes the available parameters.
1850
1851config PXA3XX_GCU
1852	tristate "PXA3xx 2D graphics accelerator driver"
1853	depends on FB_PXA
1854	help
1855	  Kernelspace driver for the 2D graphics controller unit (GCU)
1856	  found on PXA3xx processors. There is a counterpart driver in the
1857	  DirectFB suite, see http://www.directfb.org/
1858
1859	  If you compile this as a module, it will be called pxa3xx_gcu.
1860
1861config FB_FSL_DIU
1862	tristate "Freescale DIU framebuffer support"
1863	depends on FB && FSL_SOC
1864	select FB_MODE_HELPERS
1865	select FB_CFB_FILLRECT
1866	select FB_CFB_COPYAREA
1867	select FB_CFB_IMAGEBLIT
1868	select PPC_LIB_RHEAP
1869	help
1870	  Framebuffer driver for the Freescale SoC DIU
1871
1872config FB_SH_MOBILE_LCDC
1873	tristate "SuperH Mobile LCDC framebuffer support"
1874	depends on FB && HAVE_CLK && HAS_IOMEM
1875	depends on SUPERH || ARCH_RENESAS || COMPILE_TEST
1876	depends on FB_DEVICE
1877	select FB_SYS_FILLRECT
1878	select FB_SYS_COPYAREA
1879	select FB_SYS_IMAGEBLIT
1880	select FB_SYS_FOPS
1881	select FB_DEFERRED_IO
1882	select FB_BACKLIGHT
1883	help
1884	  Frame buffer driver for the on-chip SH-Mobile LCD controller.
1885
1886config FB_S3C
1887	tristate "Samsung S3C framebuffer support"
1888	depends on FB && HAVE_CLK && HAS_IOMEM
1889	depends on ARCH_S3C64XX || COMPILE_TEST
1890	select FB_CFB_FILLRECT
1891	select FB_CFB_COPYAREA
1892	select FB_CFB_IMAGEBLIT
1893	help
1894	  Frame buffer driver for the built-in FB controller in the Samsung
1895	  SoC line such as the S3C6400 and S3C6410.
1896
1897	  These chips all have the same basic framebuffer design with the
1898	  actual capabilities depending on the chip. The S3C6400
1899	  and S3C6410 support 4 hardware windows.
1900
1901	  Currently the support is only for the S3C6400 and S3C6410 SoCs.
1902
1903config FB_S3C_DEBUG_REGWRITE
1904	bool "Debug register writes"
1905	depends on FB_S3C
1906	help
1907	  Show all register writes via pr_debug()
1908
1909config FB_SM501
1910	tristate "Silicon Motion SM501 framebuffer support"
1911	depends on FB && MFD_SM501
1912	select FB_CFB_FILLRECT
1913	select FB_CFB_COPYAREA
1914	select FB_CFB_IMAGEBLIT
1915	help
1916	  Frame buffer driver for the CRT and LCD controllers in the Silicon
1917	  Motion SM501.
1918
1919	  This driver is also available as a module ( = code which can be
1920	  inserted and removed from the running kernel whenever you want). The
1921	  module will be called sm501fb. If you want to compile it as a module,
1922	  say M here and read <file:Documentation/kbuild/modules.rst>.
1923
1924	  If unsure, say N.
1925
1926config FB_SMSCUFX
1927	tristate "SMSC UFX6000/7000 USB Framebuffer support"
1928	depends on FB && USB
1929	select FB_MODE_HELPERS
1930	select FB_SYS_FILLRECT
1931	select FB_SYS_COPYAREA
1932	select FB_SYS_IMAGEBLIT
1933	select FB_SYS_FOPS
1934	select FB_DEFERRED_IO
1935	help
1936	  This is a kernel framebuffer driver for SMSC UFX USB devices.
1937	  Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1938	  mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000
1939	  (USB 3.0) devices.
1940	  To compile as a module, choose M here: the module name is smscufx.
1941
1942config FB_UDL
1943	tristate "Displaylink USB Framebuffer support"
1944	depends on FB && USB
1945	depends on FB_DEVICE
1946	select FB_MODE_HELPERS
1947	select FB_SYS_FILLRECT
1948	select FB_SYS_COPYAREA
1949	select FB_SYS_IMAGEBLIT
1950	select FB_SYS_FOPS
1951	select FB_DEFERRED_IO
1952	help
1953	  This is a kernel framebuffer driver for DisplayLink USB devices.
1954	  Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1955	  mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices.
1956	  To compile as a module, choose M here: the module name is udlfb.
1957
1958config FB_IBM_GXT4500
1959	tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
1960	depends on FB
1961	select FB_CFB_FILLRECT
1962	select FB_CFB_COPYAREA
1963	select FB_CFB_IMAGEBLIT
1964	select VIDEO_NOMODESET
1965	help
1966	  Say Y here to enable support for the IBM GXT4000P/6000P and
1967	  GXT4500P/6500P display adaptor based on Raster Engine RC1000,
1968	  found on some IBM System P (pSeries) machines. This driver
1969	  doesn't use Geometry Engine GT1000. This driver also supports
1970	  AGP Fire GL2/3/4 cards on x86.
1971
1972config FB_PS3
1973	tristate "PS3 GPU framebuffer driver"
1974	depends on FB && PS3_PS3AV
1975	select FB_SYS_FILLRECT
1976	select FB_SYS_COPYAREA
1977	select FB_SYS_IMAGEBLIT
1978	select FB_SYS_FOPS
1979	help
1980	  Include support for the virtual frame buffer in the PS3 platform.
1981
1982config FB_PS3_DEFAULT_SIZE_M
1983	int "PS3 default frame buffer size (in MiB)"
1984	depends on FB_PS3
1985	default 9
1986	help
1987	  This is the default size (in MiB) of the virtual frame buffer in
1988	  the PS3.
1989	  The default value can be overridden on the kernel command line
1990	  using the "ps3fb" option (e.g. "ps3fb=9M");
1991
1992config FB_XILINX
1993	tristate "Xilinx frame buffer support"
1994	depends on FB && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
1995	select FB_CFB_FILLRECT
1996	select FB_CFB_COPYAREA
1997	select FB_CFB_IMAGEBLIT
1998	help
1999	  Include support for the Xilinx ML300/ML403 reference design
2000	  framebuffer. ML300 carries a 640*480 LCD display on the board,
2001	  ML403 uses a standard DB15 VGA connector.
2002
2003config FB_GOLDFISH
2004	tristate "Goldfish Framebuffer"
2005	depends on FB
2006	depends on GOLDFISH || COMPILE_TEST
2007	select FB_CFB_FILLRECT
2008	select FB_CFB_COPYAREA
2009	select FB_CFB_IMAGEBLIT
2010	help
2011	  Framebuffer driver for Goldfish Virtual Platform
2012
2013config FB_COBALT
2014	tristate "Cobalt server LCD frame buffer support"
2015	depends on FB && MIPS_COBALT
2016
2017config FB_SH7760
2018	bool "SH7760/SH7763/SH7720/SH7721 LCDC support"
2019	depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
2020		|| CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
2021	select FB_CFB_FILLRECT
2022	select FB_CFB_COPYAREA
2023	select FB_CFB_IMAGEBLIT
2024	help
2025	  Support for the SH7760/SH7763/SH7720/SH7721 integrated
2026	  (D)STN/TFT LCD Controller.
2027	  Supports display resolutions up to 1024x1024 pixel, grayscale and
2028	  color operation, with depths ranging from 1 bpp to 8 bpp monochrome
2029	  and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for
2030	  panels <= 320 pixel horizontal resolution.
2031
2032config FB_DA8XX
2033	tristate "DA8xx/OMAP-L1xx/AM335x Framebuffer support"
2034	depends on FB && HAVE_CLK && HAS_IOMEM
2035	depends on ARCH_DAVINCI_DA8XX || SOC_AM33XX || COMPILE_TEST
2036	select FB_CFB_FILLRECT
2037	select FB_CFB_COPYAREA
2038	select FB_CFB_IMAGEBLIT
2039	select FB_CFB_REV_PIXELS_IN_BYTE
2040	select FB_MODE_HELPERS
2041	select VIDEOMODE_HELPERS
2042	help
2043	  This is the frame buffer device driver for the TI LCD controller
2044	  found on DA8xx/OMAP-L1xx/AM335x SoCs.
2045	  If unsure, say N.
2046
2047config FB_VIRTUAL
2048	tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
2049	depends on FB
2050	select FB_SYS_FILLRECT
2051	select FB_SYS_COPYAREA
2052	select FB_SYS_IMAGEBLIT
2053	select FB_SYS_FOPS
2054	help
2055	  This is a `virtual' frame buffer device. It operates on a chunk of
2056	  unswappable kernel memory instead of on the memory of a graphics
2057	  board. This means you cannot see any output sent to this frame
2058	  buffer device, while it does consume precious memory. The main use
2059	  of this frame buffer device is testing and debugging the frame
2060	  buffer subsystem. Do NOT enable it for normal systems! To protect
2061	  the innocent, it has to be enabled explicitly at boot time using the
2062	  kernel option `video=vfb:'.
2063
2064	  To compile this driver as a module, choose M here: the
2065	  module will be called vfb. In order to load it, you must use
2066	  the vfb_enable=1 option.
2067
2068	  If unsure, say N.
2069
2070config XEN_FBDEV_FRONTEND
2071	tristate "Xen virtual frame buffer support"
2072	depends on FB && XEN
2073	select FB_SYS_FILLRECT
2074	select FB_SYS_COPYAREA
2075	select FB_SYS_IMAGEBLIT
2076	select FB_SYS_FOPS
2077	select FB_DEFERRED_IO
2078	select XEN_XENBUS_FRONTEND
2079	default y
2080	help
2081	  This driver implements the front-end of the Xen virtual
2082	  frame buffer driver.  It communicates with a back-end
2083	  in another domain.
2084
2085config FB_METRONOME
2086	tristate "E-Ink Metronome/8track controller support"
2087	depends on FB
2088	select FB_SYS_FILLRECT
2089	select FB_SYS_COPYAREA
2090	select FB_SYS_IMAGEBLIT
2091	select FB_SYS_FOPS
2092	select FB_DEFERRED_IO
2093	help
2094	  This driver implements support for the E-Ink Metronome
2095	  controller. The pre-release name for this device was 8track
2096	  and could also have been called by some vendors as PVI-nnnn.
2097
2098config FB_MB862XX
2099	tristate "Fujitsu MB862xx GDC support"
2100	depends on FB
2101	depends on PCI || (OF && PPC)
2102	select FB_CFB_FILLRECT
2103	select FB_CFB_COPYAREA
2104	select FB_CFB_IMAGEBLIT
2105	select VIDEO_NOMODESET
2106	help
2107	  Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
2108
2109choice
2110	prompt "GDC variant"
2111	depends on FB_MB862XX
2112
2113config FB_MB862XX_PCI_GDC
2114	bool "Carmine/Coral-P(A) GDC"
2115	depends on PCI
2116	help
2117	  This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
2118	  PCI graphics controller devices.
2119
2120config FB_MB862XX_LIME
2121	bool "Lime GDC"
2122	depends on OF && PPC
2123	select FB_FOREIGN_ENDIAN
2124	select FB_LITTLE_ENDIAN
2125	help
2126	  Framebuffer support for Fujitsu Lime GDC on host CPU bus.
2127
2128endchoice
2129
2130config FB_MB862XX_I2C
2131	bool "Support I2C bus on MB862XX GDC"
2132	depends on FB_MB862XX && I2C
2133	depends on FB_MB862XX=m || I2C=y
2134	default y
2135	help
2136	  Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter
2137	  driver to support accessing I2C devices on controller's I2C bus.
2138	  These are usually some video decoder chips.
2139
2140config FB_EP93XX
2141	tristate "EP93XX frame buffer support"
2142	depends on FB && ARCH_EP93XX
2143	select FB_CFB_FILLRECT
2144	select FB_CFB_COPYAREA
2145	select FB_CFB_IMAGEBLIT
2146	help
2147	  Framebuffer driver for the Cirrus Logic EP93XX series of processors.
2148	  This driver is also available as a module. The module will be called
2149	  ep93xx-fb.
2150
2151config FB_PRE_INIT_FB
2152	bool "Don't reinitialize, use bootloader's GDC/Display configuration"
2153	depends on FB && FB_MB862XX_LIME
2154	help
2155	  Select this option if display contents should be inherited as set by
2156	  the bootloader.
2157
2158config FB_MX3
2159	tristate "MX3 Framebuffer support"
2160	depends on FB && MX3_IPU
2161	select BACKLIGHT_CLASS_DEVICE
2162	select FB_CFB_FILLRECT
2163	select FB_CFB_COPYAREA
2164	select FB_CFB_IMAGEBLIT
2165	default y
2166	help
2167	  This is a framebuffer device for the i.MX31 LCD Controller. So
2168	  far only synchronous displays are supported. If you plan to use
2169	  an LCD display with your i.MX31 system, say Y here.
2170
2171config FB_BROADSHEET
2172	tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
2173	depends on FB && (ARCH_PXA || COMPILE_TEST)
2174	select FB_SYS_FILLRECT
2175	select FB_SYS_COPYAREA
2176	select FB_SYS_IMAGEBLIT
2177	select FB_SYS_FOPS
2178	select FB_DEFERRED_IO
2179	help
2180	  This driver implements support for the E-Ink Broadsheet
2181	  controller. The release name for this device was Epson S1D13521
2182	  and could also have been called by other names when coupled with
2183	  a bridge adapter.
2184
2185config FB_HYPERV
2186	tristate "Microsoft Hyper-V Synthetic Video support"
2187	depends on FB && HYPERV
2188	select FB_CFB_FILLRECT
2189	select FB_CFB_COPYAREA
2190	select FB_CFB_IMAGEBLIT
2191	select FB_DEFERRED_IO
2192	select DMA_CMA if HAVE_DMA_CONTIGUOUS && CMA
2193	select VIDEO_NOMODESET
2194	help
2195	  This framebuffer driver supports Microsoft Hyper-V Synthetic Video.
2196
2197config FB_SIMPLE
2198	tristate "Simple framebuffer support"
2199	depends on FB
2200	depends on !DRM_SIMPLEDRM
2201	select APERTURE_HELPERS
2202	select FB_CFB_FILLRECT
2203	select FB_CFB_COPYAREA
2204	select FB_CFB_IMAGEBLIT
2205	help
2206	  Say Y if you want support for a simple frame-buffer.
2207
2208	  This driver assumes that the display hardware has been initialized
2209	  before the kernel boots, and the kernel will simply render to the
2210	  pre-allocated frame buffer surface.
2211
2212	  Configuration re: surface address, size, and format must be provided
2213	  through device tree, or plain old platform data.
2214
2215config FB_SSD1307
2216	tristate "Solomon SSD1307 framebuffer support"
2217	depends on FB && I2C
2218	depends on GPIOLIB || COMPILE_TEST
2219	select FB_SYS_FOPS
2220	select FB_SYS_FILLRECT
2221	select FB_SYS_COPYAREA
2222	select FB_SYS_IMAGEBLIT
2223	select FB_DEFERRED_IO
2224	select FB_BACKLIGHT
2225	help
2226	  This driver implements support for the Solomon SSD1307
2227	  OLED controller over I2C.
2228
2229config FB_SM712
2230	tristate "Silicon Motion SM712 framebuffer support"
2231	depends on FB && PCI
2232	select FB_CFB_FILLRECT
2233	select FB_CFB_COPYAREA
2234	select FB_CFB_IMAGEBLIT
2235	select VIDEO_NOMODESET
2236	help
2237	  Frame buffer driver for the Silicon Motion SM710, SM712, SM721
2238	  and SM722 chips.
2239
2240	  This driver is also available as a module. The module will be
2241	  called sm712fb. If you want to compile it as a module, say M
2242	  here and read <file:Documentation/kbuild/modules.rst>.
2243
2244source "drivers/video/fbdev/omap/Kconfig"
2245source "drivers/video/fbdev/omap2/Kconfig"
2246source "drivers/video/fbdev/mmp/Kconfig"
2247