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