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, from TNT
672 through early GeForce generations (NV4–NV2x: Twintor, Twintor2, Celsius,
673 Kelvin).
674 Later architectures (Rankine and newer) are not reliably supported.
675 For very old chipsets, such as the RIVA128, use rivafb.
676 If unsure, say N.
677
678 To compile this driver as a module, choose M here: the
679 module will be called nvidiafb.
680
681config FB_NVIDIA_I2C
682 bool "Enable DDC Support"
683 depends on FB_NVIDIA
684 select FB_DDC
685 help
686 This enables I2C support for nVidia Chipsets. This is used
687 only for getting EDID information from the attached display
688 allowing for robust video mode handling and switching.
689
690 Because fbdev-2.6 requires that drivers must be able to
691 independently validate video mode parameters, you should say Y
692 here.
693
694config FB_NVIDIA_DEBUG
695 bool "Lots of debug output"
696 depends on FB_NVIDIA
697 help
698 Say Y here if you want the nVidia driver to output all sorts
699 of debugging information to provide to the maintainer when
700 something goes wrong.
701
702config FB_NVIDIA_BACKLIGHT
703 bool "Support for backlight control"
704 depends on FB_NVIDIA
705 depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_NVIDIA
706 select FB_BACKLIGHT
707 default y
708 help
709 Say Y here if you want to control the backlight of your display.
710
711config FB_RIVA
712 tristate "nVidia Riva support"
713 depends on FB && PCI
714 select FB_CFB_FILLRECT
715 select FB_CFB_COPYAREA
716 select FB_CFB_IMAGEBLIT
717 select FB_IOMEM_FOPS
718 select FB_MODE_HELPERS
719 select BITREVERSE
720 select VGASTATE
721 help
722 This driver supports graphics boards with the nVidia Riva/Geforce
723 chips.
724 Say Y if you have such a graphics board.
725
726 To compile this driver as a module, choose M here: the
727 module will be called rivafb.
728
729config FB_RIVA_I2C
730 bool "Enable DDC Support"
731 depends on FB_RIVA
732 select FB_DDC
733 help
734 This enables I2C support for nVidia Chipsets. This is used
735 only for getting EDID information from the attached display
736 allowing for robust video mode handling and switching.
737
738 Because fbdev-2.6 requires that drivers must be able to
739 independently validate video mode parameters, you should say Y
740 here.
741
742config FB_RIVA_DEBUG
743 bool "Lots of debug output"
744 depends on FB_RIVA
745 help
746 Say Y here if you want the Riva driver to output all sorts
747 of debugging information to provide to the maintainer when
748 something goes wrong.
749
750config FB_RIVA_BACKLIGHT
751 bool "Support for backlight control"
752 depends on FB_RIVA
753 depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_RIVA
754 select FB_BACKLIGHT
755 default y
756 help
757 Say Y here if you want to control the backlight of your display.
758
759config FB_I740
760 tristate "Intel740 support"
761 depends on FB && PCI
762 select FB_IOMEM_HELPERS
763 select FB_MODE_HELPERS
764 select VGASTATE
765 select FB_DDC
766 help
767 This driver supports graphics cards based on Intel740 chip.
768
769config FB_I810
770 tristate "Intel 810/815 support"
771 depends on FB && PCI && X86_32 && AGP_INTEL
772 select FB_IOMEM_FOPS
773 select FB_MODE_HELPERS
774 select VGASTATE
775 help
776 This driver supports the on-board graphics built in to the Intel 810
777 and 815 chipsets. Say Y if you have and plan to use such a board.
778
779 To compile this driver as a module, choose M here: the
780 module will be called i810fb.
781
782 For more information, please read
783 <file:Documentation/fb/intel810.rst>
784
785config FB_I810_GTF
786 bool "use VESA Generalized Timing Formula"
787 depends on FB_I810
788 help
789 If you say Y, then the VESA standard, Generalized Timing Formula
790 or GTF, will be used to calculate the required video timing values
791 per video mode. Since the GTF allows nondiscrete timings
792 (nondiscrete being a range of values as opposed to discrete being a
793 set of values), you'll be able to use any combination of horizontal
794 and vertical resolutions, and vertical refresh rates without having
795 to specify your own timing parameters. This is especially useful
796 to maximize the performance of an aging display, or if you just
797 have a display with nonstandard dimensions. A VESA compliant
798 monitor is recommended, but can still work with non-compliant ones.
799 If you need or want this, then select this option. The timings may
800 not be compliant with Intel's recommended values. Use at your own
801 risk.
802
803 If you say N, the driver will revert to discrete video timings
804 using a set recommended by Intel in their documentation.
805
806 If unsure, say N.
807
808config FB_I810_I2C
809 bool "Enable DDC Support"
810 depends on FB_I810 && FB_I810_GTF
811 select FB_DDC
812 help
813 Add DDC/I2C support for i810fb. This will allow the driver to get
814 display information, especially for monitors with fickle timings.
815
816 If unsure, say Y.
817
818config FB_MATROX
819 tristate "Matrox acceleration"
820 depends on FB && PCI
821 depends on FB_TILEBLITTING
822 select FB_CFB_FILLRECT
823 select FB_CFB_COPYAREA
824 select FB_CFB_IMAGEBLIT
825 select FB_IOMEM_FOPS
826 select FB_MACMODES if PPC_PMAC
827 help
828 Say Y here if you have a Matrox Millennium, Matrox Millennium II,
829 Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
830 Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video,
831 Matrox G400, G450 or G550 card in your box.
832
833 To compile this driver as a module, choose M here: the
834 module will be called matroxfb.
835
836 You can pass several parameters to the driver at boot time or at
837 module load time. The parameters look like "video=matroxfb:XXX", and
838 are described in <file:Documentation/fb/matroxfb.rst>.
839
840config FB_MATROX_MILLENIUM
841 bool "Millennium I/II support"
842 depends on FB_MATROX
843 help
844 Say Y here if you have a Matrox Millennium or Matrox Millennium II
845 video card. If you select "Advanced lowlevel driver options" below,
846 you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp
847 packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can
848 also use font widths different from 8.
849
850config FB_MATROX_MYSTIQUE
851 bool "Mystique support"
852 depends on FB_MATROX
853 help
854 Say Y here if you have a Matrox Mystique or Matrox Mystique 220
855 video card. If you select "Advanced lowlevel driver options" below,
856 you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp
857 packed pixel and 32 bpp packed pixel. You can also use font widths
858 different from 8.
859
860config FB_MATROX_G
861 bool "G100/G200/G400/G450/G550 support"
862 depends on FB_MATROX
863 help
864 Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based
865 video card. If you select "Advanced lowlevel driver options", you
866 should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
867 pixel and 32 bpp packed pixel. You can also use font widths
868 different from 8.
869
870 If you need support for G400 secondary head, you must say Y to
871 "Matrox I2C support" and "G400 second head support" right below.
872 G450/G550 secondary head and digital output are supported without
873 additional modules.
874
875 The driver starts in monitor mode. You must use the matroxset tool
876 (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
877 swap primary and secondary head outputs, or to change output mode.
878 Secondary head driver always start in 640x480 resolution and you
879 must use fbset to change it.
880
881 Do not forget that second head supports only 16 and 32 bpp
882 packed pixels, so it is a good idea to compile them into the kernel
883 too. You can use only some font widths, as the driver uses generic
884 painting procedures (the secondary head does not use acceleration
885 engine).
886
887 G450/G550 hardware can display TV picture only from secondary CRTC,
888 and it performs no scaling, so picture must have 525 or 625 lines.
889
890config FB_MATROX_I2C
891 tristate "Matrox I2C support"
892 depends on FB_MATROX
893 select FB_DDC
894 help
895 This drivers creates I2C buses which are needed for accessing the
896 DDC (I2C) bus present on all Matroxes, an I2C bus which
897 interconnects Matrox optional devices, like MGA-TVO on G200 and
898 G400, and the secondary head DDC bus, present on G400 only.
899
900 You can say Y or M here if you want to experiment with monitor
901 detection code. You must say Y or M here if you want to use either
902 second head of G400 or MGA-TVO on G200 or G400.
903
904 If you compile it as module, it will create a module named
905 i2c-matroxfb.
906
907config FB_MATROX_MAVEN
908 tristate "G400 second head support"
909 depends on FB_MATROX_G && FB_MATROX_I2C
910 select FB_IOMEM_HELPERS
911 help
912 WARNING !!! This support does not work with G450 !!!
913
914 Say Y or M here if you want to use a secondary head (meaning two
915 monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary
916 head is not compatible with accelerated XFree 3.3.x SVGA servers -
917 secondary head output is blanked while you are in X. With XFree
918 3.9.17 preview you can use both heads if you use SVGA over fbdev or
919 the fbdev driver on first head and the fbdev driver on second head.
920
921 If you compile it as module, two modules are created,
922 matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for
923 both G200 and G400, matroxfb_crtc2 is needed only by G400. You must
924 also load i2c-matroxfb to get it to run.
925
926 The driver starts in monitor mode and you must use the matroxset
927 tool (available at
928 <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to
929 PAL or NTSC or to swap primary and secondary head outputs.
930 Secondary head driver also always start in 640x480 resolution, you
931 must use fbset to change it.
932
933 Also do not forget that second head supports only 16 and 32 bpp
934 packed pixels, so it is a good idea to compile them into the kernel
935 too. You can use only some font widths, as the driver uses generic
936 painting procedures (the secondary head does not use acceleration
937 engine).
938
939config FB_RADEON
940 tristate "ATI Radeon display support"
941 depends on FB && PCI
942 select FB_CFB_FILLRECT
943 select FB_CFB_COPYAREA
944 select FB_CFB_IMAGEBLIT
945 select FB_IOMEM_FOPS
946 select FB_MACMODES if PPC
947 select FB_MODE_HELPERS
948 help
949 Choose this option if you want to use an ATI Radeon graphics card as
950 a framebuffer device. There are both PCI and AGP versions. You
951 don't need to choose this to run the Radeon in plain VGA mode.
952
953config FB_RADEON_I2C
954 bool "DDC/I2C for ATI Radeon support"
955 depends on FB_RADEON
956 select FB_DDC
957 default y
958 help
959 Say Y here if you want DDC/I2C support for your Radeon board.
960
961config FB_RADEON_BACKLIGHT
962 bool "Support for backlight control"
963 depends on FB_RADEON
964 depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_RADEON
965 select FB_BACKLIGHT
966 default y
967 help
968 Say Y here if you want to control the backlight of your display.
969
970config FB_RADEON_DEBUG
971 bool "Lots of debug output from Radeon driver"
972 depends on FB_RADEON
973 help
974 Say Y here if you want the Radeon driver to output all sorts
975 of debugging information to provide to the maintainer when
976 something goes wrong.
977
978config FB_ATY128
979 tristate "ATI Rage128 display support"
980 depends on FB && PCI
981 select FB_IOMEM_HELPERS
982 select FB_MACMODES if PPC_PMAC
983 help
984 This driver supports graphics boards with the ATI Rage128 chips.
985 Say Y if you have such a graphics board and read
986 <file:Documentation/fb/aty128fb.rst>.
987
988 To compile this driver as a module, choose M here: the
989 module will be called aty128fb.
990
991config FB_ATY128_BACKLIGHT
992 bool "Support for backlight control"
993 depends on FB_ATY128
994 depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_ATY128
995 select FB_BACKLIGHT
996 default y
997 help
998 Say Y here if you want to control the backlight of your display.
999
1000config FB_ATY
1001 tristate "ATI Mach64 display support" if PCI || ATARI
1002 depends on FB && !SPARC32
1003 select FB_CFB_FILLRECT
1004 select FB_CFB_COPYAREA
1005 select FB_CFB_IMAGEBLIT
1006 select FB_IOMEM_FOPS
1007 select FB_MACMODES if PPC
1008 select FB_ATY_CT if SPARC64 && PCI
1009 help
1010 This driver supports graphics boards with the ATI Mach64 chips.
1011 Say Y if you have such a graphics board.
1012
1013 To compile this driver as a module, choose M here: the
1014 module will be called atyfb.
1015
1016config FB_ATY_CT
1017 bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support"
1018 depends on PCI && FB_ATY
1019 help
1020 Say Y here to support use of ATI's 64-bit Rage boards (or other
1021 boards based on the Mach64 CT, VT, GT, and LT chipsets) as a
1022 framebuffer device. The ATI product support page for these boards
1023 is at <http://support.ati.com/products/pc/mach64/mach64.html>.
1024
1025config FB_ATY_GENERIC_LCD
1026 bool "Mach64 generic LCD support"
1027 depends on FB_ATY_CT
1028 help
1029 Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
1030 Rage XC, or Rage XL chipset.
1031
1032config FB_ATY_GX
1033 bool "Mach64 GX support" if PCI
1034 depends on FB_ATY
1035 default y if ATARI
1036 help
1037 Say Y here to support use of the ATI Mach64 Graphics Expression
1038 board (or other boards based on the Mach64 GX chipset) as a
1039 framebuffer device. The ATI product support page for these boards
1040 is at
1041 <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
1042
1043config FB_ATY_BACKLIGHT
1044 bool "Support for backlight control"
1045 depends on FB_ATY
1046 depends on BACKLIGHT_CLASS_DEVICE=y || BACKLIGHT_CLASS_DEVICE=FB_ATY
1047 select FB_BACKLIGHT
1048 default y
1049 help
1050 Say Y here if you want to control the backlight of your display.
1051
1052config FB_S3
1053 tristate "S3 Trio/Virge support"
1054 depends on FB && PCI && HAS_IOPORT
1055 depends on FB_TILEBLITTING
1056 select FB_CFB_FILLRECT
1057 select FB_CFB_COPYAREA
1058 select FB_CFB_IMAGEBLIT
1059 select FB_IOMEM_FOPS
1060 select FB_SVGALIB
1061 select VGASTATE
1062 select FB_CFB_REV_PIXELS_IN_BYTE
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 depends on FB_TILEBLITTING
1262 select FB_CFB_FILLRECT
1263 select FB_CFB_COPYAREA
1264 select FB_CFB_IMAGEBLIT
1265 select FB_IOMEM_FOPS
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 depends on FB_TILEBLITTING
1300 select FB_CFB_FILLRECT
1301 select FB_CFB_COPYAREA
1302 select FB_CFB_IMAGEBLIT
1303 select FB_IOMEM_FOPS
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
1351 depends on MIPS_ALCHEMY || COMPILE_TEST
1352 select FB_IOMEM_HELPERS
1353 help
1354 This is the framebuffer driver for the AMD Au1100 SOC. It can drive
1355 various panels and CRTs by passing in kernel cmd line option
1356 au1100fb:panel=<name>.
1357
1358config FB_AU1200
1359 bool "Au1200/Au1300 LCD Driver"
1360 depends on (FB = y) && MIPS_ALCHEMY
1361 select FB_DMAMEM_HELPERS
1362 help
1363 This is the framebuffer driver for the Au1200/Au1300 SOCs.
1364 It can drive various panels and CRTs by passing in kernel cmd line
1365 option au1200fb:panel=<name>.
1366
1367config FB_VT8500
1368 bool "VIA VT8500 framebuffer support"
1369 depends on (FB = y) && ARM && ARCH_VT8500
1370 select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1371 select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1372 select FB_SYS_IMAGEBLIT
1373 select FB_SYSMEM_FOPS
1374 select FB_MODE_HELPERS
1375 select VIDEOMODE_HELPERS
1376 help
1377 This is the framebuffer driver for VIA VT8500 integrated LCD
1378 controller.
1379
1380config FB_WM8505
1381 bool "Wondermedia WM8xxx-series frame buffer support"
1382 depends on (FB = y) && HAS_IOMEM && (ARCH_VT8500 || COMPILE_TEST)
1383 select FB_IOMEM_FOPS
1384 select FB_SYS_FILLRECT if (!FB_WMT_GE_ROPS)
1385 select FB_SYS_COPYAREA if (!FB_WMT_GE_ROPS)
1386 select FB_SYS_IMAGEBLIT
1387 select FB_SYSMEM_FOPS
1388 select FB_MODE_HELPERS
1389 select VIDEOMODE_HELPERS
1390 help
1391 This is the framebuffer driver for WonderMedia WM8xxx-series
1392 integrated LCD controller. This driver covers the WM8505, WM8650
1393 and WM8850 SoCs.
1394
1395config FB_WMT_GE_ROPS
1396 bool "VT8500/WM8xxx accelerated raster ops support"
1397 depends on (FB = y) && (FB_VT8500 || FB_WM8505)
1398 help
1399 This adds support for accelerated raster operations on the
1400 VIA VT8500 and Wondermedia 85xx series SoCs.
1401
1402source "drivers/video/fbdev/geode/Kconfig"
1403
1404config FB_HIT
1405 tristate "HD64461 Frame Buffer support"
1406 depends on FB && HD64461
1407 select FB_CFB_FILLRECT
1408 select FB_CFB_IMAGEBLIT
1409 select FB_IOMEM_FOPS
1410 help
1411 This is the frame buffer device driver for the Hitachi HD64461 LCD
1412 frame buffer card.
1413
1414config FB_PMAG_AA
1415 tristate "PMAG-AA TURBOchannel framebuffer support"
1416 depends on FB && TC
1417 select FB_IOMEM_HELPERS
1418 help
1419 Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
1420 used mainly in the MIPS-based DECstation series.
1421
1422config FB_PMAG_BA
1423 tristate "PMAG-BA TURBOchannel framebuffer support"
1424 depends on FB && TC
1425 select FB_IOMEM_HELPERS
1426 help
1427 Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
1428 used mainly in the MIPS-based DECstation series.
1429
1430config FB_PMAGB_B
1431 tristate "PMAGB-B TURBOchannel framebuffer support"
1432 depends on FB && TC
1433 select FB_IOMEM_HELPERS
1434 help
1435 Support for the PMAGB-B TURBOchannel framebuffer card used mainly
1436 in the MIPS-based DECstation series. The card is currently only
1437 supported in 1280x1024x8 mode.
1438
1439config FB_MAXINE
1440 bool "Maxine (Personal DECstation) onboard framebuffer support"
1441 depends on (FB = y) && MACH_DECSTATION
1442 select FB_IOMEM_HELPERS
1443 help
1444 Support for the onboard framebuffer (1024x768x8) in the Personal
1445 DECstation series (Personal DECstation 5000/20, /25, /33, /50,
1446 Codename "Maxine").
1447
1448config FB_G364
1449 bool "G364 frame buffer support"
1450 depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
1451 select FB_IOMEM_HELPERS
1452 help
1453 The G364 driver is the framebuffer used in MIPS Magnum 4000 and
1454 Olivetti M700-10 systems.
1455
1456config FB_68328
1457 bool "Motorola 68328 native frame buffer support"
1458 depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
1459 select FB_IOMEM_HELPERS
1460 help
1461 Say Y here if you want to support the built-in frame buffer of
1462 the Motorola 68328 CPU family.
1463
1464config FB_PXA168
1465 tristate "PXA168/910 LCD framebuffer support"
1466 depends on FB && HAVE_CLK && HAS_IOMEM
1467 depends on CPU_PXA168 || CPU_PXA910 || COMPILE_TEST
1468 select FB_IOMEM_HELPERS
1469 help
1470 Frame buffer driver for the built-in LCD controller in the Marvell
1471 MMP processor.
1472
1473config FB_PXA
1474 tristate "PXA LCD framebuffer support"
1475 depends on FB && ARCH_PXA
1476 select FB_IOMEM_HELPERS
1477 select VIDEOMODE_HELPERS if OF
1478 select FB_MODE_HELPERS if OF
1479 help
1480 Frame buffer driver for the built-in LCD controller in the Intel
1481 PXA2x0 processor.
1482
1483 This driver is also available as a module ( = code which can be
1484 inserted and removed from the running kernel whenever you want). The
1485 module will be called pxafb. If you want to compile it as a module,
1486 say M here and read <file:Documentation/kbuild/modules.rst>.
1487
1488 If unsure, say N.
1489
1490config FB_PXA_OVERLAY
1491 bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer"
1492 depends on FB_PXA && (PXA27x || PXA3xx)
1493
1494config FB_PXA_SMARTPANEL
1495 bool "PXA Smartpanel LCD support"
1496 depends on FB_PXA
1497
1498config FB_PXA_PARAMETERS
1499 bool "PXA LCD command line parameters"
1500 depends on FB_PXA
1501 help
1502 Enable the use of kernel command line or module parameters
1503 to configure the physical properties of the LCD panel when
1504 using the PXA LCD driver.
1505
1506 This option allows you to override the panel parameters
1507 supplied by the platform in order to support multiple
1508 different models of flatpanel. If you will only be using a
1509 single model of flatpanel then you can safely leave this
1510 option disabled.
1511
1512 <file:Documentation/fb/pxafb.rst> describes the available parameters.
1513
1514config PXA3XX_GCU
1515 tristate "PXA3xx 2D graphics accelerator driver"
1516 depends on FB_PXA
1517 help
1518 Kernelspace driver for the 2D graphics controller unit (GCU)
1519 found on PXA3xx processors. There is a counterpart driver in the
1520 DirectFB suite, see http://www.directfb.org/
1521
1522 If you compile this as a module, it will be called pxa3xx_gcu.
1523
1524config FB_FSL_DIU
1525 tristate "Freescale DIU framebuffer support"
1526 depends on FB && FSL_SOC
1527 select FB_IOMEM_HELPERS
1528 select FB_MODE_HELPERS
1529 select PPC_LIB_RHEAP
1530 help
1531 Framebuffer driver for the Freescale SoC DIU
1532
1533config FB_SH_MOBILE_LCDC
1534 tristate "SuperH Mobile LCDC framebuffer support"
1535 depends on FB && HAVE_CLK && HAS_IOMEM
1536 depends on SUPERH || COMPILE_TEST
1537 depends on FB_DEVICE
1538 depends on BACKLIGHT_CLASS_DEVICE
1539 select FB_BACKLIGHT
1540 select FB_DEFERRED_IO
1541 select FB_DMAMEM_HELPERS
1542 help
1543 Frame buffer driver for the on-chip SH-Mobile LCD controller.
1544
1545config FB_S3C
1546 tristate "Samsung S3C framebuffer support"
1547 depends on FB && HAVE_CLK && HAS_IOMEM
1548 depends on ARCH_S3C64XX || COMPILE_TEST
1549 select FB_IOMEM_HELPERS
1550 help
1551 Frame buffer driver for the built-in FB controller in the Samsung
1552 SoC line such as the S3C6400 and S3C6410.
1553
1554 These chips all have the same basic framebuffer design with the
1555 actual capabilities depending on the chip. The S3C6400
1556 and S3C6410 support 4 hardware windows.
1557
1558 Currently the support is only for the S3C6400 and S3C6410 SoCs.
1559
1560config FB_S3C_DEBUG_REGWRITE
1561 bool "Debug register writes"
1562 depends on FB_S3C
1563 help
1564 Show all register writes via pr_debug()
1565
1566config FB_SM501
1567 tristate "Silicon Motion SM501 framebuffer support"
1568 depends on FB && MFD_SM501
1569 select FB_CFB_FILLRECT
1570 select FB_CFB_COPYAREA
1571 select FB_CFB_IMAGEBLIT
1572 select FB_IOMEM_FOPS
1573 help
1574 Frame buffer driver for the CRT and LCD controllers in the Silicon
1575 Motion SM501.
1576
1577 This driver is also available as a module ( = code which can be
1578 inserted and removed from the running kernel whenever you want). The
1579 module will be called sm501fb. If you want to compile it as a module,
1580 say M here and read <file:Documentation/kbuild/modules.rst>.
1581
1582 If unsure, say N.
1583
1584config FB_SMSCUFX
1585 tristate "SMSC UFX6000/7000 USB Framebuffer support"
1586 depends on FB && USB
1587 select FB_MODE_HELPERS
1588 select FB_SYSMEM_HELPERS_DEFERRED
1589 help
1590 This is a kernel framebuffer driver for SMSC UFX USB devices.
1591 Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1592 mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000
1593 (USB 3.0) devices.
1594 To compile as a module, choose M here: the module name is smscufx.
1595
1596config FB_UDL
1597 tristate "Displaylink USB Framebuffer support"
1598 depends on FB && USB
1599 depends on FB_DEVICE
1600 select FB_MODE_HELPERS
1601 select FB_SYSMEM_HELPERS_DEFERRED
1602 help
1603 This is a kernel framebuffer driver for DisplayLink USB devices.
1604 Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
1605 mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices.
1606 To compile as a module, choose M here: the module name is udlfb.
1607
1608config FB_IBM_GXT4500
1609 tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
1610 depends on FB
1611 select FB_IOMEM_HELPERS
1612 help
1613 Say Y here to enable support for the IBM GXT4000P/6000P and
1614 GXT4500P/6500P display adaptor based on Raster Engine RC1000,
1615 found on some IBM System P (pSeries) machines. This driver
1616 doesn't use Geometry Engine GT1000. This driver also supports
1617 AGP Fire GL2/3/4 cards on x86.
1618
1619config FB_PS3
1620 tristate "PS3 GPU framebuffer driver"
1621 depends on FB && PS3_PS3AV
1622 select FB_SYSMEM_HELPERS
1623 help
1624 Include support for the virtual frame buffer in the PS3 platform.
1625
1626config FB_PS3_DEFAULT_SIZE_M
1627 int "PS3 default frame buffer size (in MiB)"
1628 depends on FB_PS3
1629 default 9
1630 help
1631 This is the default size (in MiB) of the virtual frame buffer in
1632 the PS3.
1633 The default value can be overridden on the kernel command line
1634 using the "ps3fb" option (e.g. "ps3fb=9M");
1635
1636config FB_XILINX
1637 tristate "Xilinx frame buffer support"
1638 depends on FB && (MICROBLAZE || ARCH_ZYNQ || ARCH_ZYNQMP)
1639 select FB_IOMEM_HELPERS
1640 help
1641 Include support for the Xilinx ML300/ML403 reference design
1642 framebuffer. ML300 carries a 640*480 LCD display on the board,
1643 ML403 uses a standard DB15 VGA connector.
1644
1645config FB_GOLDFISH
1646 tristate "Goldfish Framebuffer"
1647 depends on FB
1648 depends on GOLDFISH || COMPILE_TEST
1649 select FB_IOMEM_HELPERS
1650 help
1651 Framebuffer driver for Goldfish Virtual Platform
1652
1653config FB_COBALT
1654 tristate "Cobalt server LCD frame buffer support"
1655 depends on FB && MIPS_COBALT
1656 select FB_IOMEM_HELPERS
1657
1658config FB_SH7760
1659 tristate "SH7760/SH7763/SH7720/SH7721 LCDC support"
1660 depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
1661 || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
1662 select FB_IOMEM_HELPERS
1663 help
1664 Support for the SH7760/SH7763/SH7720/SH7721 integrated
1665 (D)STN/TFT LCD Controller.
1666 Supports display resolutions up to 1024x1024 pixel, grayscale and
1667 color operation, with depths ranging from 1 bpp to 8 bpp monochrome
1668 and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for
1669 panels <= 320 pixel horizontal resolution.
1670
1671config FB_VIRTUAL
1672 tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
1673 depends on FB
1674 select FB_SYSMEM_HELPERS
1675 help
1676 This is a `virtual' frame buffer device. It operates on a chunk of
1677 unswappable kernel memory instead of on the memory of a graphics
1678 board. This means you cannot see any output sent to this frame
1679 buffer device, while it does consume precious memory. The main use
1680 of this frame buffer device is testing and debugging the frame
1681 buffer subsystem. Do NOT enable it for normal systems! To protect
1682 the innocent, it has to be enabled explicitly at boot time using the
1683 kernel option `video=vfb:'.
1684
1685 To compile this driver as a module, choose M here: the
1686 module will be called vfb. In order to load it, you must use
1687 the vfb_enable=1 option.
1688
1689 If unsure, say N.
1690
1691config XEN_FBDEV_FRONTEND
1692 tristate "Xen virtual frame buffer support"
1693 depends on FB && XEN
1694 select FB_SYSMEM_HELPERS_DEFERRED
1695 select XEN_XENBUS_FRONTEND
1696 default y
1697 help
1698 This driver implements the front-end of the Xen virtual
1699 frame buffer driver. It communicates with a back-end
1700 in another domain.
1701
1702config FB_METRONOME
1703 tristate "E-Ink Metronome/8track controller support"
1704 depends on FB
1705 select FB_SYSMEM_HELPERS_DEFERRED
1706 help
1707 This driver implements support for the E-Ink Metronome
1708 controller. The pre-release name for this device was 8track
1709 and could also have been called by some vendors as PVI-nnnn.
1710
1711config FB_MB862XX
1712 tristate "Fujitsu MB862xx GDC support"
1713 depends on FB
1714 depends on PCI || (OF && PPC)
1715 select FB_IOMEM_HELPERS
1716 help
1717 Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
1718
1719choice
1720 prompt "GDC variant"
1721 depends on FB_MB862XX
1722
1723config FB_MB862XX_PCI_GDC
1724 bool "Carmine/Coral-P(A) GDC"
1725 depends on PCI
1726 help
1727 This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
1728 PCI graphics controller devices.
1729
1730config FB_MB862XX_LIME
1731 bool "Lime GDC"
1732 depends on OF && PPC
1733 select FB_FOREIGN_ENDIAN
1734 select FB_LITTLE_ENDIAN
1735 help
1736 Framebuffer support for Fujitsu Lime GDC on host CPU bus.
1737
1738endchoice
1739
1740config FB_MB862XX_I2C
1741 bool "Support I2C bus on MB862XX GDC"
1742 depends on FB_MB862XX && I2C
1743 depends on FB_MB862XX=m || I2C=y
1744 default y
1745 help
1746 Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter
1747 driver to support accessing I2C devices on controller's I2C bus.
1748 These are usually some video decoder chips.
1749
1750config FB_EP93XX
1751 tristate "EP93XX frame buffer support"
1752 depends on FB && ARCH_EP93XX
1753 select FB_IOMEM_HELPERS
1754 help
1755 Framebuffer driver for the Cirrus Logic EP93XX series of processors.
1756 This driver is also available as a module. The module will be called
1757 ep93xx-fb.
1758
1759config FB_PRE_INIT_FB
1760 bool "Don't reinitialize, use bootloader's GDC/Display configuration"
1761 depends on FB && FB_MB862XX_LIME
1762 help
1763 Select this option if display contents should be inherited as set by
1764 the bootloader.
1765
1766config FB_BROADSHEET
1767 tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
1768 depends on FB && (ARCH_PXA || COMPILE_TEST)
1769 select FB_SYSMEM_HELPERS_DEFERRED
1770 help
1771 This driver implements support for the E-Ink Broadsheet
1772 controller. The release name for this device was Epson S1D13521
1773 and could also have been called by other names when coupled with
1774 a bridge adapter.
1775
1776config FB_SIMPLE
1777 tristate "Simple framebuffer support"
1778 depends on FB
1779 depends on !DRM_SIMPLEDRM
1780 select APERTURE_HELPERS
1781 select FB_IOMEM_HELPERS
1782 help
1783 Say Y if you want support for a simple frame-buffer.
1784
1785 This driver assumes that the display hardware has been initialized
1786 before the kernel boots, and the kernel will simply render to the
1787 pre-allocated frame buffer surface.
1788
1789 Configuration re: surface address, size, and format must be provided
1790 through device tree, or plain old platform data.
1791
1792config FB_SSD1307
1793 tristate "Solomon SSD1307 framebuffer support"
1794 depends on FB && I2C
1795 depends on GPIOLIB || COMPILE_TEST
1796 depends on BACKLIGHT_CLASS_DEVICE
1797 select FB_BACKLIGHT
1798 select FB_SYSMEM_HELPERS_DEFERRED
1799 help
1800 This driver implements support for the Solomon SSD1307
1801 OLED controller over I2C.
1802
1803config FB_SM712
1804 tristate "Silicon Motion SM712 framebuffer support"
1805 depends on FB && PCI && HAS_IOPORT
1806 select FB_IOMEM_HELPERS
1807 help
1808 Frame buffer driver for the Silicon Motion SM710, SM712, SM721
1809 and SM722 chips.
1810
1811 This driver is also available as a module. The module will be
1812 called sm712fb. If you want to compile it as a module, say M
1813 here and read <file:Documentation/kbuild/modules.rst>.
1814
1815source "drivers/video/fbdev/omap/Kconfig"
1816source "drivers/video/fbdev/omap2/Kconfig"
1817source "drivers/video/fbdev/mmp/Kconfig"
1818
1819source "drivers/video/fbdev/core/Kconfig"