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