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