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 select FB_IOMEM_HELPERS
130 select FB_MODE_HELPERS
131 select LCD_CLASS_DEVICE
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 select 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 select FB_CFB_FILLRECT
820 select FB_CFB_COPYAREA
821 select FB_CFB_IMAGEBLIT
822 select FB_IOMEM_FOPS
823 select FB_TILEBLITTING
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
951 There is a product page at
952 https://products.amd.com/en-us/GraphicCardResult.aspx
953
954config FB_RADEON_I2C
955 bool "DDC/I2C for ATI Radeon support"
956 depends on FB_RADEON
957 select FB_DDC
958 default y
959 help
960 Say Y here if you want DDC/I2C support for your Radeon board.
961
962config FB_RADEON_BACKLIGHT
963 bool "Support for backlight control"
964 depends on FB_RADEON
965 depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_RADEON
966 select FB_BACKLIGHT
967 default y
968 help
969 Say Y here if you want to control the backlight of your display.
970
971config FB_RADEON_DEBUG
972 bool "Lots of debug output from Radeon driver"
973 depends on FB_RADEON
974 help
975 Say Y here if you want the Radeon driver to output all sorts
976 of debugging information to provide to the maintainer when
977 something goes wrong.
978
979config FB_ATY128
980 tristate "ATI Rage128 display support"
981 depends on FB && PCI
982 select FB_IOMEM_HELPERS
983 select FB_MACMODES if PPC_PMAC
984 help
985 This driver supports graphics boards with the ATI Rage128 chips.
986 Say Y if you have such a graphics board and read
987 <file:Documentation/fb/aty128fb.rst>.
988
989 To compile this driver as a module, choose M here: the
990 module will be called aty128fb.
991
992config FB_ATY128_BACKLIGHT
993 bool "Support for backlight control"
994 depends on FB_ATY128
995 depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_ATY128
996 select FB_BACKLIGHT
997 default y
998 help
999 Say Y here if you want to control the backlight of your display.
1000
1001config FB_ATY
1002 tristate "ATI Mach64 display support" if PCI || ATARI
1003 depends on FB && !SPARC32
1004 select FB_CFB_FILLRECT
1005 select FB_CFB_COPYAREA
1006 select FB_CFB_IMAGEBLIT
1007 select FB_IOMEM_FOPS
1008 select FB_MACMODES if PPC
1009 select FB_ATY_CT if SPARC64 && PCI
1010 help
1011 This driver supports graphics boards with the ATI Mach64 chips.
1012 Say Y if you have such a graphics board.
1013
1014 To compile this driver as a module, choose M here: the
1015 module will be called atyfb.
1016
1017config FB_ATY_CT
1018 bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support"
1019 depends on PCI && FB_ATY
1020 help
1021 Say Y here to support use of ATI's 64-bit Rage boards (or other
1022 boards based on the Mach64 CT, VT, GT, and LT chipsets) as a
1023 framebuffer device. The ATI product support page for these boards
1024 is at <http://support.ati.com/products/pc/mach64/mach64.html>.
1025
1026config FB_ATY_GENERIC_LCD
1027 bool "Mach64 generic LCD support"
1028 depends on FB_ATY_CT
1029 help
1030 Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
1031 Rage XC, or Rage XL chipset.
1032
1033config FB_ATY_GX
1034 bool "Mach64 GX support" if PCI
1035 depends on FB_ATY
1036 default y if ATARI
1037 help
1038 Say Y here to support use of the ATI Mach64 Graphics Expression
1039 board (or other boards based on the Mach64 GX chipset) as a
1040 framebuffer device. The ATI product support page for these boards
1041 is at
1042 <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
1043
1044config FB_ATY_BACKLIGHT
1045 bool "Support for backlight control"
1046 depends on FB_ATY
1047 depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_ATY
1048 select FB_BACKLIGHT
1049 default y
1050 help
1051 Say Y here if you want to control the backlight of your display.
1052
1053config FB_S3
1054 tristate "S3 Trio/Virge support"
1055 depends on FB && PCI && HAS_IOPORT
1056 select FB_CFB_FILLRECT
1057 select FB_CFB_COPYAREA
1058 select FB_CFB_IMAGEBLIT
1059 select FB_IOMEM_FOPS
1060 select FB_TILEBLITTING
1061 select FB_SVGALIB
1062 select VGASTATE
1063 select FONT_8x16 if FRAMEBUFFER_CONSOLE
1064 help
1065 Driver for graphics boards with S3 Trio / S3 Virge chip.
1066
1067config FB_S3_DDC
1068 bool "DDC for S3 support"
1069 depends on FB_S3
1070 select FB_DDC
1071 default y
1072 help
1073 Say Y here if you want DDC support for your S3 graphics card.
1074
1075config FB_SAVAGE
1076 tristate "S3 Savage support"
1077 depends on FB && PCI
1078 select FB_CFB_FILLRECT
1079 select FB_CFB_COPYAREA
1080 select FB_CFB_IMAGEBLIT
1081 select FB_IOMEM_FOPS
1082 select FB_MODE_HELPERS
1083 select VGASTATE
1084 help
1085 This driver supports notebooks and computers with S3 Savage PCI/AGP
1086 chips.
1087
1088 Say Y if you have such a graphics card.
1089
1090 To compile this driver as a module, choose M here; the module
1091 will be called savagefb.
1092
1093config FB_SAVAGE_I2C
1094 bool "Enable DDC2 Support"
1095 depends on FB_SAVAGE
1096 select FB_DDC
1097 help
1098 This enables I2C support for S3 Savage Chipsets. This is used
1099 only for getting EDID information from the attached display
1100 allowing for robust video mode handling and switching.
1101
1102 Because fbdev-2.6 requires that drivers must be able to
1103 independently validate video mode parameters, you should say Y
1104 here.
1105
1106config FB_SAVAGE_ACCEL
1107 bool "Enable Console Acceleration"
1108 depends on FB_SAVAGE
1109 help
1110 This option will compile in console acceleration support. If
1111 the resulting framebuffer console has bothersome glitches, then
1112 choose N here.
1113
1114config FB_SIS
1115 tristate "SiS/XGI display support"
1116 depends on FB && PCI && HAS_IOPORT
1117 select BOOT_VESA_SUPPORT if FB_SIS = y
1118 select FB_CFB_FILLRECT
1119 select FB_CFB_COPYAREA
1120 select FB_CFB_IMAGEBLIT
1121 select FB_IOMEM_FOPS
1122 select FB_SIS_300 if !FB_SIS_315
1123 help
1124 This is the frame buffer device driver for the SiS 300, 315, 330
1125 and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets.
1126 Specs available at <https://www.sis.com> and <http://www.xgitech.com>.
1127
1128 To compile this driver as a module, choose M here; the module
1129 will be called sisfb.
1130
1131config FB_SIS_300
1132 bool "SiS 300 series support"
1133 depends on FB_SIS
1134 help
1135 Say Y here to support use of the SiS 300/305, 540, 630 and 730.
1136
1137config FB_SIS_315
1138 bool "SiS 315/330/340 series and XGI support"
1139 depends on FB_SIS
1140 help
1141 Say Y here to support use of the SiS 315, 330 and 340 series
1142 (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well
1143 as XGI V3XT, V5, V8 and Z7.
1144
1145config FB_VIA
1146 tristate "VIA UniChrome (Pro) and Chrome9 display support"
1147 depends on FB && PCI && GPIOLIB && I2C && HAS_IOPORT && (X86 || COMPILE_TEST)
1148 select FB_CFB_FILLRECT
1149 select FB_CFB_COPYAREA
1150 select FB_CFB_IMAGEBLIT
1151 select FB_IOMEM_FOPS
1152 select I2C_ALGOBIT
1153 help
1154 This is the frame buffer device driver for Graphics chips of VIA
1155 UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/
1156 CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896
1157 /P4M900,VX800)
1158 Say Y if you have a VIA UniChrome graphics board.
1159
1160 To compile this driver as a module, choose M here: the
1161 module will be called viafb.
1162
1163if FB_VIA
1164
1165config FB_VIA_DIRECT_PROCFS
1166 bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)"
1167 help
1168 Allow direct hardware access to some output registers via procfs.
1169 This is dangerous but may provide the only chance to get the
1170 correct output device configuration.
1171 Its use is strongly discouraged.
1172
1173config FB_VIA_X_COMPATIBILITY
1174 bool "X server compatibility"
1175 help
1176 This option reduces the functionality (power saving, ...) of the
1177 framebuffer to avoid negative impact on the OpenChrome X server.
1178 If you use any X server other than fbdev you should enable this
1179 otherwise it should be safe to disable it and allow using all
1180 features.
1181
1182endif
1183
1184config FB_NEOMAGIC
1185 tristate "NeoMagic display support"
1186 depends on FB && PCI && HAS_IOPORT
1187 select FB_CFB_FILLRECT
1188 select FB_CFB_COPYAREA
1189 select FB_CFB_IMAGEBLIT
1190 select FB_IOMEM_FOPS
1191 select FB_MODE_HELPERS
1192 select VGASTATE
1193 help
1194 This driver supports notebooks with NeoMagic PCI chips.
1195 Say Y if you have such a graphics card.
1196
1197 To compile this driver as a module, choose M here: the
1198 module will be called neofb.
1199
1200config FB_KYRO
1201 tristate "IMG Kyro support"
1202 depends on FB && PCI
1203 select FB_IOMEM_HELPERS
1204 help
1205 Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
1206 graphics board.
1207
1208 To compile this driver as a module, choose M here: the
1209 module will be called kyrofb.
1210
1211config FB_3DFX
1212 tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
1213 depends on FB && PCI && HAS_IOPORT
1214 select FB_CFB_FILLRECT
1215 select FB_CFB_COPYAREA
1216 select FB_CFB_IMAGEBLIT
1217 select FB_IOMEM_FOPS
1218 select FB_MODE_HELPERS
1219 help
1220 This driver supports graphics boards with the 3Dfx Banshee,
1221 Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have
1222 such a graphics board.
1223
1224 To compile this driver as a module, choose M here: the
1225 module will be called tdfxfb.
1226
1227config FB_3DFX_ACCEL
1228 bool "3Dfx Acceleration functions"
1229 depends on FB_3DFX
1230 help
1231 This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer
1232 device driver with acceleration functions.
1233
1234config FB_3DFX_I2C
1235 bool "Enable DDC/I2C support"
1236 depends on FB_3DFX
1237 select FB_DDC
1238 default y
1239 help
1240 Say Y here if you want DDC/I2C support for your 3dfx Voodoo3.
1241
1242config FB_VOODOO1
1243 tristate "3Dfx Voodoo Graphics (sst1) support"
1244 depends on FB && PCI
1245 select FB_IOMEM_HELPERS
1246 help
1247 Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
1248 Voodoo2 (cvg) based graphics card.
1249
1250 To compile this driver as a module, choose M here: the
1251 module will be called sstfb.
1252
1253 WARNING: Do not use any application that uses the 3D engine
1254 (namely glide) while using this driver.
1255 Please read the <file:Documentation/fb/sstfb.rst> for supported
1256 options and other important info support.
1257
1258config FB_VT8623
1259 tristate "VIA VT8623 support"
1260 depends on FB && PCI && HAS_IOPORT
1261 select FB_CFB_FILLRECT
1262 select FB_CFB_COPYAREA
1263 select FB_CFB_IMAGEBLIT
1264 select FB_IOMEM_FOPS
1265 select FB_TILEBLITTING
1266 select FB_SVGALIB
1267 select VGASTATE
1268 select FONT_8x16 if FRAMEBUFFER_CONSOLE
1269 help
1270 Driver for CastleRock integrated graphics core in the
1271 VIA VT8623 [Apollo CLE266] chipset.
1272
1273config FB_TRIDENT
1274 tristate "Trident/CyberXXX/CyberBlade support"
1275 depends on FB && PCI && HAS_IOPORT
1276 select FB_CFB_FILLRECT
1277 select FB_CFB_COPYAREA
1278 select FB_CFB_IMAGEBLIT
1279 select FB_DDC
1280 select FB_IOMEM_FOPS
1281 select FB_MODE_HELPERS
1282 help
1283 This is the frame buffer device driver for Trident PCI/AGP chipsets.
1284 Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D
1285 and Blade XP.
1286 There are also integrated versions of these chips called CyberXXXX,
1287 CyberImage or CyberBlade. These chips are mostly found in laptops
1288 but also on some motherboards including early VIA EPIA motherboards.
1289 For more information, read <file:Documentation/fb/tridentfb.rst>
1290
1291 Say Y if you have such a graphics board.
1292
1293 To compile this driver as a module, choose M here: the
1294 module will be called tridentfb.
1295
1296config FB_ARK
1297 tristate "ARK 2000PV support"
1298 depends on FB && PCI && HAS_IOPORT
1299 select FB_CFB_FILLRECT
1300 select FB_CFB_COPYAREA
1301 select FB_CFB_IMAGEBLIT
1302 select FB_IOMEM_FOPS
1303 select FB_TILEBLITTING
1304 select FB_SVGALIB
1305 select VGASTATE
1306 select FONT_8x16 if FRAMEBUFFER_CONSOLE
1307 help
1308 Driver for PCI graphics boards with ARK 2000PV chip
1309 and ICS 5342 RAMDAC.
1310
1311config FB_PM3
1312 tristate "Permedia3 support"
1313 depends on FB && PCI
1314 select FB_CFB_FILLRECT
1315 select FB_CFB_COPYAREA
1316 select FB_CFB_IMAGEBLIT
1317 select FB_IOMEM_FOPS
1318 help
1319 This is the frame buffer device driver for the 3DLabs Permedia3
1320 chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
1321 similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
1322 and maybe other boards.
1323
1324config FB_CARMINE
1325 tristate "Fujitsu carmine frame buffer support"
1326 depends on FB && PCI
1327 select FB_IOMEM_HELPERS
1328 help
1329 This is the frame buffer device driver for the Fujitsu Carmine chip.
1330 The driver provides two independent frame buffer devices.
1331
1332choice
1333 depends on FB_CARMINE
1334 prompt "DRAM timing"
1335 default FB_CARMINE_DRAM_EVAL
1336
1337config FB_CARMINE_DRAM_EVAL
1338 bool "Eval board timings"
1339 help
1340 Use timings which work on the eval card.
1341
1342config CARMINE_DRAM_CUSTOM
1343 bool "Custom board timings"
1344 help
1345 Use custom board timings.
1346endchoice
1347
1348config FB_AU1100
1349 bool "Au1100 LCD Driver"
1350 depends on (FB = y) && MIPS_ALCHEMY
1351 select FB_IOMEM_HELPERS
1352 help
1353 This is the framebuffer driver for the AMD Au1100 SOC. It can drive
1354 various panels and CRTs by passing in kernel cmd line option
1355 au1100fb:panel=<name>.
1356
1357config FB_AU1200
1358 bool "Au1200/Au1300 LCD Driver"
1359 depends on (FB = y) && MIPS_ALCHEMY
1360 select FB_DMAMEM_HELPERS
1361 help
1362 This is the framebuffer driver for the Au1200/Au1300 SOCs.
1363 It can drive various panels and CRTs by passing in kernel cmd line
1364 option au1200fb:panel=<name>.
1365
1366config FB_VT8500
1367 bool "VIA VT8500 framebuffer support"
1368 depends on (FB = y) && ARM && ARCH_VT8500
1369 select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1370 select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1371 select FB_SYS_IMAGEBLIT
1372 select FB_SYSMEM_FOPS
1373 select FB_MODE_HELPERS
1374 select VIDEOMODE_HELPERS
1375 help
1376 This is the framebuffer driver for VIA VT8500 integrated LCD
1377 controller.
1378
1379config FB_WM8505
1380 bool "Wondermedia WM8xxx-series frame buffer support"
1381 depends on (FB = y) && HAS_IOMEM && (ARCH_VT8500 || COMPILE_TEST)
1382 select FB_IOMEM_FOPS
1383 select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1384 select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1385 select FB_SYS_IMAGEBLIT
1386 select FB_SYSMEM_FOPS
1387 select FB_MODE_HELPERS
1388 select VIDEOMODE_HELPERS
1389 help
1390 This is the framebuffer driver for WonderMedia WM8xxx-series
1391 integrated LCD controller. This driver covers the WM8505, WM8650
1392 and WM8850 SoCs.
1393
1394config FB_WMT_GE_ROPS
1395 bool "VT8500/WM8xxx accelerated raster ops support"
1396 depends on (FB = y) && (FB_VT8500 || FB_WM8505)
1397 help
1398 This adds support for accelerated raster operations on the
1399 VIA VT8500 and Wondermedia 85xx series SoCs.
1400
1401source "drivers/video/fbdev/geode/Kconfig"
1402
1403config FB_HIT
1404 tristate "HD64461 Frame Buffer support"
1405 depends on FB && HD64461
1406 select FB_CFB_FILLRECT
1407 select FB_CFB_IMAGEBLIT
1408 select FB_IOMEM_FOPS
1409 help
1410 This is the frame buffer device driver for the Hitachi HD64461 LCD
1411 frame buffer card.
1412
1413config FB_PMAG_AA
1414 tristate "PMAG-AA TURBOchannel framebuffer support"
1415 depends on FB && TC
1416 select FB_IOMEM_HELPERS
1417 help
1418 Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
1419 used mainly in the MIPS-based DECstation series.
1420
1421config FB_PMAG_BA
1422 tristate "PMAG-BA TURBOchannel framebuffer support"
1423 depends on FB && TC
1424 select FB_IOMEM_HELPERS
1425 help
1426 Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
1427 used mainly in the MIPS-based DECstation series.
1428
1429config FB_PMAGB_B
1430 tristate "PMAGB-B TURBOchannel framebuffer support"
1431 depends on FB && TC
1432 select FB_IOMEM_HELPERS
1433 help
1434 Support for the PMAGB-B TURBOchannel framebuffer card used mainly
1435 in the MIPS-based DECstation series. The card is currently only
1436 supported in 1280x1024x8 mode.
1437
1438config FB_MAXINE
1439 bool "Maxine (Personal DECstation) onboard framebuffer support"
1440 depends on (FB = y) && MACH_DECSTATION
1441 select FB_IOMEM_HELPERS
1442 help
1443 Support for the onboard framebuffer (1024x768x8) in the Personal
1444 DECstation series (Personal DECstation 5000/20, /25, /33, /50,
1445 Codename "Maxine").
1446
1447config FB_G364
1448 bool "G364 frame buffer support"
1449 depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
1450 select FB_IOMEM_HELPERS
1451 help
1452 The G364 driver is the framebuffer used in MIPS Magnum 4000 and
1453 Olivetti M700-10 systems.
1454
1455config FB_68328
1456 bool "Motorola 68328 native frame buffer support"
1457 depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
1458 select FB_IOMEM_HELPERS
1459 help
1460 Say Y here if you want to support the built-in frame buffer of
1461 the Motorola 68328 CPU family.
1462
1463config FB_PXA168
1464 tristate "PXA168/910 LCD framebuffer support"
1465 depends on FB && HAVE_CLK && HAS_IOMEM
1466 depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST
1467 select FB_IOMEM_HELPERS
1468 help
1469 Frame buffer driver for the built-in LCD controller in the Marvell
1470 MMP processor.
1471
1472config FB_PXA
1473 tristate "PXA LCD framebuffer support"
1474 depends on FB && ARCH_PXA
1475 select FB_IOMEM_HELPERS
1476 select VIDEOMODE_HELPERS if OF
1477 select FB_MODE_HELPERS if OF
1478 help
1479 Frame buffer driver for the built-in LCD controller in the Intel
1480 PXA2x0 processor.
1481
1482 This driver is also available as a module ( = code which can be
1483 inserted and removed from the running kernel whenever you want). The
1484 module will be called pxafb. If you want to compile it as a module,
1485 say M here and read <file:Documentation/kbuild/modules.rst>.
1486
1487 If unsure, say N.
1488
1489config FB_PXA_OVERLAY
1490 bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer"
1491 depends on FB_PXA && (PXA27x || PXA3xx)
1492
1493config FB_PXA_SMARTPANEL
1494 bool "PXA Smartpanel LCD support"
1495 depends on FB_PXA
1496
1497config FB_PXA_PARAMETERS
1498 bool "PXA LCD command line parameters"
1499 depends on FB_PXA
1500 help
1501 Enable the use of kernel command line or module parameters
1502 to configure the physical properties of the LCD panel when
1503 using the PXA LCD driver.
1504
1505 This option allows you to override the panel parameters
1506 supplied by the platform in order to support multiple
1507 different models of flatpanel. If you will only be using a
1508 single model of flatpanel then you can safely leave this
1509 option disabled.
1510
1511 <file:Documentation/fb/pxafb.rst> describes the available parameters.
1512
1513config PXA3XX_GCU
1514 tristate "PXA3xx 2D graphics accelerator driver"
1515 depends on FB_PXA
1516 help
1517 Kernelspace driver for the 2D graphics controller unit (GCU)
1518 found on PXA3xx processors. There is a counterpart driver in the
1519 DirectFB suite, see http://www.directfb.org/
1520
1521 If you compile this as a module, it will be called pxa3xx_gcu.
1522
1523config FB_FSL_DIU
1524 tristate "Freescale DIU framebuffer support"
1525 depends on FB && FSL_SOC
1526 select FB_IOMEM_HELPERS
1527 select FB_MODE_HELPERS
1528 select PPC_LIB_RHEAP
1529 help
1530 Framebuffer driver for the Freescale SoC DIU
1531
1532config FB_SH_MOBILE_LCDC
1533 tristate "SuperH Mobile LCDC framebuffer support"
1534 depends on FB && HAVE_CLK && HAS_IOMEM
1535 depends on SUPERH || COMPILE_TEST
1536 depends on FB_DEVICE
1537 depends on BACKLIGHT_CLASS_DEVICE
1538 select FB_BACKLIGHT
1539 select FB_DEFERRED_IO
1540 select FB_DMAMEM_HELPERS
1541 help
1542 Frame buffer driver for the on-chip SH-Mobile LCD controller.
1543
1544config FB_S3C
1545 tristate "Samsung S3C framebuffer support"
1546 depends on FB && HAVE_CLK && HAS_IOMEM
1547 depends on ARCH_S3C64XX || COMPILE_TEST
1548 select FB_IOMEM_HELPERS
1549 help
1550 Frame buffer driver for the built-in FB controller in the Samsung
1551 SoC line such as the S3C6400 and S3C6410.
1552
1553 These chips all have the same basic framebuffer design with the
1554 actual capabilities depending on the chip. The S3C6400
1555 and S3C6410 support 4 hardware windows.
1556
1557 Currently the support is only for the S3C6400 and S3C6410 SoCs.
1558
1559config FB_S3C_DEBUG_REGWRITE
1560 bool "Debug register writes"
1561 depends on FB_S3C
1562 help
1563 Show all register writes via pr_debug()
1564
1565config FB_SM501
1566 tristate "Silicon Motion SM501 framebuffer support"
1567 depends on FB && MFD_SM501
1568 select FB_CFB_FILLRECT
1569 select FB_CFB_COPYAREA
1570 select FB_CFB_IMAGEBLIT
1571 select FB_IOMEM_FOPS
1572 help
1573 Frame buffer driver for the CRT and LCD controllers in the Silicon
1574 Motion SM501.
1575
1576 This driver is also available as a module ( = code which can be
1577 inserted and removed from the running kernel whenever you want). The
1578 module will be called sm501fb. If you want to compile it as a module,
1579 say M here and read <file:Documentation/kbuild/modules.rst>.
1580
1581 If unsure, say N.
1582
1583config FB_SMSCUFX
1584 tristate "SMSC UFX6000/7000 USB Framebuffer support"
1585 depends on FB && USB
1586 select FB_MODE_HELPERS
1587 select FB_SYSMEM_HELPERS_DEFERRED
1588 help
1589 This is a kernel framebuffer driver for SMSC UFX USB devices.
1590 Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1591 mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000
1592 (USB 3.0) devices.
1593 To compile as a module, choose M here: the module name is smscufx.
1594
1595config FB_UDL
1596 tristate "Displaylink USB Framebuffer support"
1597 depends on FB && USB
1598 depends on FB_DEVICE
1599 select FB_MODE_HELPERS
1600 select FB_SYSMEM_HELPERS_DEFERRED
1601 help
1602 This is a kernel framebuffer driver for DisplayLink USB devices.
1603 Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1604 mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices.
1605 To compile as a module, choose M here: the module name is udlfb.
1606
1607config FB_IBM_GXT4500
1608 tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
1609 depends on FB
1610 select FB_IOMEM_HELPERS
1611 help
1612 Say Y here to enable support for the IBM GXT4000P/6000P and
1613 GXT4500P/6500P display adaptor based on Raster Engine RC1000,
1614 found on some IBM System P (pSeries) machines. This driver
1615 doesn't use Geometry Engine GT1000. This driver also supports
1616 AGP Fire GL2/3/4 cards on x86.
1617
1618config FB_PS3
1619 tristate "PS3 GPU framebuffer driver"
1620 depends on FB && PS3_PS3AV
1621 select FB_SYSMEM_HELPERS
1622 help
1623 Include support for the virtual frame buffer in the PS3 platform.
1624
1625config FB_PS3_DEFAULT_SIZE_M
1626 int "PS3 default frame buffer size (in MiB)"
1627 depends on FB_PS3
1628 default 9
1629 help
1630 This is the default size (in MiB) of the virtual frame buffer in
1631 the PS3.
1632 The default value can be overridden on the kernel command line
1633 using the "ps3fb" option (e.g. "ps3fb=9M");
1634
1635config FB_XILINX
1636 tristate "Xilinx frame buffer support"
1637 depends on FB && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
1638 select FB_IOMEM_HELPERS
1639 help
1640 Include support for the Xilinx ML300/ML403 reference design
1641 framebuffer. ML300 carries a 640*480 LCD display on the board,
1642 ML403 uses a standard DB15 VGA connector.
1643
1644config FB_GOLDFISH
1645 tristate "Goldfish Framebuffer"
1646 depends on FB
1647 depends on GOLDFISH || COMPILE_TEST
1648 select FB_IOMEM_HELPERS
1649 help
1650 Framebuffer driver for Goldfish Virtual Platform
1651
1652config FB_COBALT
1653 tristate "Cobalt server LCD frame buffer support"
1654 depends on FB && MIPS_COBALT
1655 select FB_IOMEM_HELPERS
1656
1657config FB_SH7760
1658 tristate "SH7760/SH7763/SH7720/SH7721 LCDC support"
1659 depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
1660 || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
1661 select FB_IOMEM_HELPERS
1662 help
1663 Support for the SH7760/SH7763/SH7720/SH7721 integrated
1664 (D)STN/TFT LCD Controller.
1665 Supports display resolutions up to 1024x1024 pixel, grayscale and
1666 color operation, with depths ranging from 1 bpp to 8 bpp monochrome
1667 and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for
1668 panels <= 320 pixel horizontal resolution.
1669
1670config FB_VIRTUAL
1671 tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
1672 depends on FB
1673 select FB_SYSMEM_HELPERS
1674 help
1675 This is a `virtual' frame buffer device. It operates on a chunk of
1676 unswappable kernel memory instead of on the memory of a graphics
1677 board. This means you cannot see any output sent to this frame
1678 buffer device, while it does consume precious memory. The main use
1679 of this frame buffer device is testing and debugging the frame
1680 buffer subsystem. Do NOT enable it for normal systems! To protect
1681 the innocent, it has to be enabled explicitly at boot time using the
1682 kernel option `video=vfb:'.
1683
1684 To compile this driver as a module, choose M here: the
1685 module will be called vfb. In order to load it, you must use
1686 the vfb_enable=1 option.
1687
1688 If unsure, say N.
1689
1690config XEN_FBDEV_FRONTEND
1691 tristate "Xen virtual frame buffer support"
1692 depends on FB && XEN
1693 select FB_SYSMEM_HELPERS_DEFERRED
1694 select XEN_XENBUS_FRONTEND
1695 default y
1696 help
1697 This driver implements the front-end of the Xen virtual
1698 frame buffer driver. It communicates with a back-end
1699 in another domain.
1700
1701config FB_METRONOME
1702 tristate "E-Ink Metronome/8track controller support"
1703 depends on FB
1704 select FB_SYSMEM_HELPERS_DEFERRED
1705 help
1706 This driver implements support for the E-Ink Metronome
1707 controller. The pre-release name for this device was 8track
1708 and could also have been called by some vendors as PVI-nnnn.
1709
1710config FB_MB862XX
1711 tristate "Fujitsu MB862xx GDC support"
1712 depends on FB
1713 depends on PCI || (OF && PPC)
1714 select FB_IOMEM_HELPERS
1715 help
1716 Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
1717
1718choice
1719 prompt "GDC variant"
1720 depends on FB_MB862XX
1721
1722config FB_MB862XX_PCI_GDC
1723 bool "Carmine/Coral-P(A) GDC"
1724 depends on PCI
1725 help
1726 This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
1727 PCI graphics controller devices.
1728
1729config FB_MB862XX_LIME
1730 bool "Lime GDC"
1731 depends on OF && PPC
1732 select FB_FOREIGN_ENDIAN
1733 select FB_LITTLE_ENDIAN
1734 help
1735 Framebuffer support for Fujitsu Lime GDC on host CPU bus.
1736
1737endchoice
1738
1739config FB_MB862XX_I2C
1740 bool "Support I2C bus on MB862XX GDC"
1741 depends on FB_MB862XX && I2C
1742 depends on FB_MB862XX=m || I2C=y
1743 default y
1744 help
1745 Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter
1746 driver to support accessing I2C devices on controller's I2C bus.
1747 These are usually some video decoder chips.
1748
1749config FB_EP93XX
1750 tristate "EP93XX frame buffer support"
1751 depends on FB && ARCH_EP93XX
1752 select FB_IOMEM_HELPERS
1753 help
1754 Framebuffer driver for the Cirrus Logic EP93XX series of processors.
1755 This driver is also available as a module. The module will be called
1756 ep93xx-fb.
1757
1758config FB_PRE_INIT_FB
1759 bool "Don't reinitialize, use bootloader's GDC/Display configuration"
1760 depends on FB && FB_MB862XX_LIME
1761 help
1762 Select this option if display contents should be inherited as set by
1763 the bootloader.
1764
1765config FB_BROADSHEET
1766 tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
1767 depends on FB && (ARCH_PXA || COMPILE_TEST)
1768 select FB_SYSMEM_HELPERS_DEFERRED
1769 help
1770 This driver implements support for the E-Ink Broadsheet
1771 controller. The release name for this device was Epson S1D13521
1772 and could also have been called by other names when coupled with
1773 a bridge adapter.
1774
1775config FB_HYPERV
1776 tristate "Microsoft Hyper-V Synthetic Video support"
1777 depends on FB && HYPERV
1778 select DMA_CMA if HAVE_DMA_CONTIGUOUS && CMA
1779 select FB_IOMEM_HELPERS_DEFERRED
1780 help
1781 This framebuffer driver supports Microsoft Hyper-V Synthetic Video.
1782
1783config FB_SIMPLE
1784 tristate "Simple framebuffer support"
1785 depends on FB
1786 depends on !DRM_SIMPLEDRM
1787 select APERTURE_HELPERS
1788 select FB_IOMEM_HELPERS
1789 help
1790 Say Y if you want support for a simple frame-buffer.
1791
1792 This driver assumes that the display hardware has been initialized
1793 before the kernel boots, and the kernel will simply render to the
1794 pre-allocated frame buffer surface.
1795
1796 Configuration re: surface address, size, and format must be provided
1797 through device tree, or plain old platform data.
1798
1799config FB_SSD1307
1800 tristate "Solomon SSD1307 framebuffer support"
1801 depends on FB && I2C
1802 depends on GPIOLIB || COMPILE_TEST
1803 depends on BACKLIGHT_CLASS_DEVICE
1804 select FB_BACKLIGHT
1805 select FB_SYSMEM_HELPERS_DEFERRED
1806 help
1807 This driver implements support for the Solomon SSD1307
1808 OLED controller over I2C.
1809
1810config FB_SM712
1811 tristate "Silicon Motion SM712 framebuffer support"
1812 depends on FB && PCI && HAS_IOPORT
1813 select FB_IOMEM_HELPERS
1814 help
1815 Frame buffer driver for the Silicon Motion SM710, SM712, SM721
1816 and SM722 chips.
1817
1818 This driver is also available as a module. The module will be
1819 called sm712fb. If you want to compile it as a module, say M
1820 here and read <file:Documentation/kbuild/modules.rst>.
1821
1822source "drivers/video/fbdev/omap/Kconfig"
1823source "drivers/video/fbdev/omap2/Kconfig"
1824source "drivers/video/fbdev/mmp/Kconfig"
1825
1826source "drivers/video/fbdev/core/Kconfig"