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