Commit f142d3bd556c5e82e9bb3d33d07d6708702ea4ce

Authored by Thierry Reding
1 parent 595887eb90

video: Add generic HDMI infoframe helpers

Add generic helpers to pack HDMI infoframes into binary buffers.

Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

Showing 4 changed files with 543 additions and 0 deletions Inline Diff

drivers/video/Kconfig
1 # 1 #
2 # Video configuration 2 # Video configuration
3 # 3 #
4 4
5 menu "Graphics support" 5 menu "Graphics support"
6 depends on HAS_IOMEM 6 depends on HAS_IOMEM
7 7
8 config HAVE_FB_ATMEL 8 config HAVE_FB_ATMEL
9 bool 9 bool
10 10
11 config SH_MIPI_DSI 11 config SH_MIPI_DSI
12 tristate 12 tristate
13 depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK 13 depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK
14 14
15 config SH_LCD_MIPI_DSI 15 config SH_LCD_MIPI_DSI
16 bool 16 bool
17 17
18 source "drivers/char/agp/Kconfig" 18 source "drivers/char/agp/Kconfig"
19 19
20 source "drivers/gpu/vga/Kconfig" 20 source "drivers/gpu/vga/Kconfig"
21 21
22 source "drivers/gpu/drm/Kconfig" 22 source "drivers/gpu/drm/Kconfig"
23 23
24 config VGASTATE 24 config VGASTATE
25 tristate 25 tristate
26 default n 26 default n
27 27
28 config VIDEO_OUTPUT_CONTROL 28 config VIDEO_OUTPUT_CONTROL
29 tristate "Lowlevel video output switch controls" 29 tristate "Lowlevel video output switch controls"
30 help 30 help
31 This framework adds support for low-level control of the video 31 This framework adds support for low-level control of the video
32 output switch. 32 output switch.
33 33
34 config DISPLAY_TIMING 34 config DISPLAY_TIMING
35 bool 35 bool
36 36
37 config VIDEOMODE 37 config VIDEOMODE
38 bool 38 bool
39 39
40 config OF_DISPLAY_TIMING 40 config OF_DISPLAY_TIMING
41 bool "Enable device tree display timing support" 41 bool "Enable device tree display timing support"
42 depends on OF 42 depends on OF
43 select DISPLAY_TIMING 43 select DISPLAY_TIMING
44 help 44 help
45 helper to parse display timings from the devicetree 45 helper to parse display timings from the devicetree
46 46
47 config OF_VIDEOMODE 47 config OF_VIDEOMODE
48 bool "Enable device tree videomode support" 48 bool "Enable device tree videomode support"
49 depends on OF 49 depends on OF
50 select VIDEOMODE 50 select VIDEOMODE
51 select OF_DISPLAY_TIMING 51 select OF_DISPLAY_TIMING
52 help 52 help
53 helper to get videomodes from the devicetree 53 helper to get videomodes from the devicetree
54 54
55 config HDMI
56 bool
57
55 menuconfig FB 58 menuconfig FB
56 tristate "Support for frame buffer devices" 59 tristate "Support for frame buffer devices"
57 ---help--- 60 ---help---
58 The frame buffer device provides an abstraction for the graphics 61 The frame buffer device provides an abstraction for the graphics
59 hardware. It represents the frame buffer of some video hardware and 62 hardware. It represents the frame buffer of some video hardware and
60 allows application software to access the graphics hardware through 63 allows application software to access the graphics hardware through
61 a well-defined interface, so the software doesn't need to know 64 a well-defined interface, so the software doesn't need to know
62 anything about the low-level (hardware register) stuff. 65 anything about the low-level (hardware register) stuff.
63 66
64 Frame buffer devices work identically across the different 67 Frame buffer devices work identically across the different
65 architectures supported by Linux and make the implementation of 68 architectures supported by Linux and make the implementation of
66 application programs easier and more portable; at this point, an X 69 application programs easier and more portable; at this point, an X
67 server exists which uses the frame buffer device exclusively. 70 server exists which uses the frame buffer device exclusively.
68 On several non-X86 architectures, the frame buffer device is the 71 On several non-X86 architectures, the frame buffer device is the
69 only way to use the graphics hardware. 72 only way to use the graphics hardware.
70 73
71 The device is accessed through special device nodes, usually located 74 The device is accessed through special device nodes, usually located
72 in the /dev directory, i.e. /dev/fb*. 75 in the /dev directory, i.e. /dev/fb*.
73 76
74 You need an utility program called fbset to make full use of frame 77 You need an utility program called fbset to make full use of frame
75 buffer devices. Please read <file:Documentation/fb/framebuffer.txt> 78 buffer devices. Please read <file:Documentation/fb/framebuffer.txt>
76 and the Framebuffer-HOWTO at 79 and the Framebuffer-HOWTO at
77 <http://www.munted.org.uk/programming/Framebuffer-HOWTO-1.3.html> for more 80 <http://www.munted.org.uk/programming/Framebuffer-HOWTO-1.3.html> for more
78 information. 81 information.
79 82
80 Say Y here and to the driver for your graphics board below if you 83 Say Y here and to the driver for your graphics board below if you
81 are compiling a kernel for a non-x86 architecture. 84 are compiling a kernel for a non-x86 architecture.
82 85
83 If you are compiling for the x86 architecture, you can say Y if you 86 If you are compiling for the x86 architecture, you can say Y if you
84 want to play with it, but it is not essential. Please note that 87 want to play with it, but it is not essential. Please note that
85 running graphical applications that directly touch the hardware 88 running graphical applications that directly touch the hardware
86 (e.g. an accelerated X server) and that are not frame buffer 89 (e.g. an accelerated X server) and that are not frame buffer
87 device-aware may cause unexpected results. If unsure, say N. 90 device-aware may cause unexpected results. If unsure, say N.
88 91
89 config FIRMWARE_EDID 92 config FIRMWARE_EDID
90 bool "Enable firmware EDID" 93 bool "Enable firmware EDID"
91 depends on FB 94 depends on FB
92 default n 95 default n
93 ---help--- 96 ---help---
94 This enables access to the EDID transferred from the firmware. 97 This enables access to the EDID transferred from the firmware.
95 On the i386, this is from the Video BIOS. Enable this if DDC/I2C 98 On the i386, this is from the Video BIOS. Enable this if DDC/I2C
96 transfers do not work for your driver and if you are using 99 transfers do not work for your driver and if you are using
97 nvidiafb, i810fb or savagefb. 100 nvidiafb, i810fb or savagefb.
98 101
99 In general, choosing Y for this option is safe. If you 102 In general, choosing Y for this option is safe. If you
100 experience extremely long delays while booting before you get 103 experience extremely long delays while booting before you get
101 something on your display, try setting this to N. Matrox cards in 104 something on your display, try setting this to N. Matrox cards in
102 combination with certain motherboards and monitors are known to 105 combination with certain motherboards and monitors are known to
103 suffer from this problem. 106 suffer from this problem.
104 107
105 config FB_DDC 108 config FB_DDC
106 tristate 109 tristate
107 depends on FB 110 depends on FB
108 select I2C_ALGOBIT 111 select I2C_ALGOBIT
109 select I2C 112 select I2C
110 default n 113 default n
111 114
112 config FB_BOOT_VESA_SUPPORT 115 config FB_BOOT_VESA_SUPPORT
113 bool 116 bool
114 depends on FB 117 depends on FB
115 default n 118 default n
116 ---help--- 119 ---help---
117 If true, at least one selected framebuffer driver can take advantage 120 If true, at least one selected framebuffer driver can take advantage
118 of VESA video modes set at an early boot stage via the vga= parameter. 121 of VESA video modes set at an early boot stage via the vga= parameter.
119 122
120 config FB_CFB_FILLRECT 123 config FB_CFB_FILLRECT
121 tristate 124 tristate
122 depends on FB 125 depends on FB
123 default n 126 default n
124 ---help--- 127 ---help---
125 Include the cfb_fillrect function for generic software rectangle 128 Include the cfb_fillrect function for generic software rectangle
126 filling. This is used by drivers that don't provide their own 129 filling. This is used by drivers that don't provide their own
127 (accelerated) version. 130 (accelerated) version.
128 131
129 config FB_CFB_COPYAREA 132 config FB_CFB_COPYAREA
130 tristate 133 tristate
131 depends on FB 134 depends on FB
132 default n 135 default n
133 ---help--- 136 ---help---
134 Include the cfb_copyarea function for generic software area copying. 137 Include the cfb_copyarea function for generic software area copying.
135 This is used by drivers that don't provide their own (accelerated) 138 This is used by drivers that don't provide their own (accelerated)
136 version. 139 version.
137 140
138 config FB_CFB_IMAGEBLIT 141 config FB_CFB_IMAGEBLIT
139 tristate 142 tristate
140 depends on FB 143 depends on FB
141 default n 144 default n
142 ---help--- 145 ---help---
143 Include the cfb_imageblit function for generic software image 146 Include the cfb_imageblit function for generic software image
144 blitting. This is used by drivers that don't provide their own 147 blitting. This is used by drivers that don't provide their own
145 (accelerated) version. 148 (accelerated) version.
146 149
147 config FB_CFB_REV_PIXELS_IN_BYTE 150 config FB_CFB_REV_PIXELS_IN_BYTE
148 bool 151 bool
149 depends on FB 152 depends on FB
150 default n 153 default n
151 ---help--- 154 ---help---
152 Allow generic frame-buffer functions to work on displays with 1, 2 155 Allow generic frame-buffer functions to work on displays with 1, 2
153 and 4 bits per pixel depths which has opposite order of pixels in 156 and 4 bits per pixel depths which has opposite order of pixels in
154 byte order to bytes in long order. 157 byte order to bytes in long order.
155 158
156 config FB_SYS_FILLRECT 159 config FB_SYS_FILLRECT
157 tristate 160 tristate
158 depends on FB 161 depends on FB
159 default n 162 default n
160 ---help--- 163 ---help---
161 Include the sys_fillrect function for generic software rectangle 164 Include the sys_fillrect function for generic software rectangle
162 filling. This is used by drivers that don't provide their own 165 filling. This is used by drivers that don't provide their own
163 (accelerated) version and the framebuffer is in system RAM. 166 (accelerated) version and the framebuffer is in system RAM.
164 167
165 config FB_SYS_COPYAREA 168 config FB_SYS_COPYAREA
166 tristate 169 tristate
167 depends on FB 170 depends on FB
168 default n 171 default n
169 ---help--- 172 ---help---
170 Include the sys_copyarea function for generic software area copying. 173 Include the sys_copyarea function for generic software area copying.
171 This is used by drivers that don't provide their own (accelerated) 174 This is used by drivers that don't provide their own (accelerated)
172 version and the framebuffer is in system RAM. 175 version and the framebuffer is in system RAM.
173 176
174 config FB_SYS_IMAGEBLIT 177 config FB_SYS_IMAGEBLIT
175 tristate 178 tristate
176 depends on FB 179 depends on FB
177 default n 180 default n
178 ---help--- 181 ---help---
179 Include the sys_imageblit function for generic software image 182 Include the sys_imageblit function for generic software image
180 blitting. This is used by drivers that don't provide their own 183 blitting. This is used by drivers that don't provide their own
181 (accelerated) version and the framebuffer is in system RAM. 184 (accelerated) version and the framebuffer is in system RAM.
182 185
183 menuconfig FB_FOREIGN_ENDIAN 186 menuconfig FB_FOREIGN_ENDIAN
184 bool "Framebuffer foreign endianness support" 187 bool "Framebuffer foreign endianness support"
185 depends on FB 188 depends on FB
186 ---help--- 189 ---help---
187 This menu will let you enable support for the framebuffers with 190 This menu will let you enable support for the framebuffers with
188 non-native endianness (e.g. Little-Endian framebuffer on a 191 non-native endianness (e.g. Little-Endian framebuffer on a
189 Big-Endian machine). Most probably you don't have such hardware, 192 Big-Endian machine). Most probably you don't have such hardware,
190 so it's safe to say "n" here. 193 so it's safe to say "n" here.
191 194
192 choice 195 choice
193 prompt "Choice endianness support" 196 prompt "Choice endianness support"
194 depends on FB_FOREIGN_ENDIAN 197 depends on FB_FOREIGN_ENDIAN
195 198
196 config FB_BOTH_ENDIAN 199 config FB_BOTH_ENDIAN
197 bool "Support for Big- and Little-Endian framebuffers" 200 bool "Support for Big- and Little-Endian framebuffers"
198 201
199 config FB_BIG_ENDIAN 202 config FB_BIG_ENDIAN
200 bool "Support for Big-Endian framebuffers only" 203 bool "Support for Big-Endian framebuffers only"
201 204
202 config FB_LITTLE_ENDIAN 205 config FB_LITTLE_ENDIAN
203 bool "Support for Little-Endian framebuffers only" 206 bool "Support for Little-Endian framebuffers only"
204 207
205 endchoice 208 endchoice
206 209
207 config FB_SYS_FOPS 210 config FB_SYS_FOPS
208 tristate 211 tristate
209 depends on FB 212 depends on FB
210 default n 213 default n
211 214
212 config FB_WMT_GE_ROPS 215 config FB_WMT_GE_ROPS
213 tristate 216 tristate
214 depends on FB 217 depends on FB
215 default n 218 default n
216 ---help--- 219 ---help---
217 Include functions for accelerated rectangle filling and area 220 Include functions for accelerated rectangle filling and area
218 copying using WonderMedia Graphics Engine operations. 221 copying using WonderMedia Graphics Engine operations.
219 222
220 config FB_DEFERRED_IO 223 config FB_DEFERRED_IO
221 bool 224 bool
222 depends on FB 225 depends on FB
223 226
224 config FB_HECUBA 227 config FB_HECUBA
225 tristate 228 tristate
226 depends on FB 229 depends on FB
227 depends on FB_DEFERRED_IO 230 depends on FB_DEFERRED_IO
228 231
229 config FB_SVGALIB 232 config FB_SVGALIB
230 tristate 233 tristate
231 depends on FB 234 depends on FB
232 default n 235 default n
233 ---help--- 236 ---help---
234 Common utility functions useful to fbdev drivers of VGA-based 237 Common utility functions useful to fbdev drivers of VGA-based
235 cards. 238 cards.
236 239
237 config FB_MACMODES 240 config FB_MACMODES
238 tristate 241 tristate
239 depends on FB 242 depends on FB
240 default n 243 default n
241 244
242 config FB_BACKLIGHT 245 config FB_BACKLIGHT
243 bool 246 bool
244 depends on FB 247 depends on FB
245 select BACKLIGHT_LCD_SUPPORT 248 select BACKLIGHT_LCD_SUPPORT
246 select BACKLIGHT_CLASS_DEVICE 249 select BACKLIGHT_CLASS_DEVICE
247 default n 250 default n
248 251
249 config FB_MODE_HELPERS 252 config FB_MODE_HELPERS
250 bool "Enable Video Mode Handling Helpers" 253 bool "Enable Video Mode Handling Helpers"
251 depends on FB 254 depends on FB
252 default n 255 default n
253 ---help--- 256 ---help---
254 This enables functions for handling video modes using the 257 This enables functions for handling video modes using the
255 Generalized Timing Formula and the EDID parser. A few drivers rely 258 Generalized Timing Formula and the EDID parser. A few drivers rely
256 on this feature such as the radeonfb, rivafb, and the i810fb. If 259 on this feature such as the radeonfb, rivafb, and the i810fb. If
257 your driver does not take advantage of this feature, choosing Y will 260 your driver does not take advantage of this feature, choosing Y will
258 just increase the kernel size by about 5K. 261 just increase the kernel size by about 5K.
259 262
260 config FB_TILEBLITTING 263 config FB_TILEBLITTING
261 bool "Enable Tile Blitting Support" 264 bool "Enable Tile Blitting Support"
262 depends on FB 265 depends on FB
263 default n 266 default n
264 ---help--- 267 ---help---
265 This enables tile blitting. Tile blitting is a drawing technique 268 This enables tile blitting. Tile blitting is a drawing technique
266 where the screen is divided into rectangular sections (tiles), whereas 269 where the screen is divided into rectangular sections (tiles), whereas
267 the standard blitting divides the screen into pixels. Because the 270 the standard blitting divides the screen into pixels. Because the
268 default drawing element is a tile, drawing functions will be passed 271 default drawing element is a tile, drawing functions will be passed
269 parameters in terms of number of tiles instead of number of pixels. 272 parameters in terms of number of tiles instead of number of pixels.
270 For example, to draw a single character, instead of using bitmaps, 273 For example, to draw a single character, instead of using bitmaps,
271 an index to an array of bitmaps will be used. To clear or move a 274 an index to an array of bitmaps will be used. To clear or move a
272 rectangular section of a screen, the rectangle will be described in 275 rectangular section of a screen, the rectangle will be described in
273 terms of number of tiles in the x- and y-axis. 276 terms of number of tiles in the x- and y-axis.
274 277
275 This is particularly important to one driver, matroxfb. If 278 This is particularly important to one driver, matroxfb. If
276 unsure, say N. 279 unsure, say N.
277 280
278 comment "Frame buffer hardware drivers" 281 comment "Frame buffer hardware drivers"
279 depends on FB 282 depends on FB
280 283
281 config FB_GRVGA 284 config FB_GRVGA
282 tristate "Aeroflex Gaisler framebuffer support" 285 tristate "Aeroflex Gaisler framebuffer support"
283 depends on FB && SPARC 286 depends on FB && SPARC
284 select FB_CFB_FILLRECT 287 select FB_CFB_FILLRECT
285 select FB_CFB_COPYAREA 288 select FB_CFB_COPYAREA
286 select FB_CFB_IMAGEBLIT 289 select FB_CFB_IMAGEBLIT
287 ---help--- 290 ---help---
288 This enables support for the SVGACTRL framebuffer in the GRLIB IP library from Aeroflex Gaisler. 291 This enables support for the SVGACTRL framebuffer in the GRLIB IP library from Aeroflex Gaisler.
289 292
290 config FB_CIRRUS 293 config FB_CIRRUS
291 tristate "Cirrus Logic support" 294 tristate "Cirrus Logic support"
292 depends on FB && (ZORRO || PCI) 295 depends on FB && (ZORRO || PCI)
293 select FB_CFB_FILLRECT 296 select FB_CFB_FILLRECT
294 select FB_CFB_COPYAREA 297 select FB_CFB_COPYAREA
295 select FB_CFB_IMAGEBLIT 298 select FB_CFB_IMAGEBLIT
296 ---help--- 299 ---help---
297 This enables support for Cirrus Logic GD542x/543x based boards on 300 This enables support for Cirrus Logic GD542x/543x based boards on
298 Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum. 301 Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum.
299 302
300 If you have a PCI-based system, this enables support for these 303 If you have a PCI-based system, this enables support for these
301 chips: GD-543x, GD-544x, GD-5480. 304 chips: GD-543x, GD-544x, GD-5480.
302 305
303 Please read the file <file:Documentation/fb/cirrusfb.txt>. 306 Please read the file <file:Documentation/fb/cirrusfb.txt>.
304 307
305 Say N unless you have such a graphics board or plan to get one 308 Say N unless you have such a graphics board or plan to get one
306 before you next recompile the kernel. 309 before you next recompile the kernel.
307 310
308 config FB_PM2 311 config FB_PM2
309 tristate "Permedia2 support" 312 tristate "Permedia2 support"
310 depends on FB && ((AMIGA && BROKEN) || PCI) 313 depends on FB && ((AMIGA && BROKEN) || PCI)
311 select FB_CFB_FILLRECT 314 select FB_CFB_FILLRECT
312 select FB_CFB_COPYAREA 315 select FB_CFB_COPYAREA
313 select FB_CFB_IMAGEBLIT 316 select FB_CFB_IMAGEBLIT
314 help 317 help
315 This is the frame buffer device driver for cards based on 318 This is the frame buffer device driver for cards based on
316 the 3D Labs Permedia, Permedia 2 and Permedia 2V chips. 319 the 3D Labs Permedia, Permedia 2 and Permedia 2V chips.
317 The driver was tested on the following cards: 320 The driver was tested on the following cards:
318 Diamond FireGL 1000 PRO AGP 321 Diamond FireGL 1000 PRO AGP
319 ELSA Gloria Synergy PCI 322 ELSA Gloria Synergy PCI
320 Appian Jeronimo PRO (both heads) PCI 323 Appian Jeronimo PRO (both heads) PCI
321 3DLabs Oxygen ACX aka EONtronics Picasso P2 PCI 324 3DLabs Oxygen ACX aka EONtronics Picasso P2 PCI
322 Techsource Raptor GFX-8P (aka Sun PGX-32) on SPARC 325 Techsource Raptor GFX-8P (aka Sun PGX-32) on SPARC
323 ASK Graphic Blaster Exxtreme AGP 326 ASK Graphic Blaster Exxtreme AGP
324 327
325 To compile this driver as a module, choose M here: the 328 To compile this driver as a module, choose M here: the
326 module will be called pm2fb. 329 module will be called pm2fb.
327 330
328 config FB_PM2_FIFO_DISCONNECT 331 config FB_PM2_FIFO_DISCONNECT
329 bool "enable FIFO disconnect feature" 332 bool "enable FIFO disconnect feature"
330 depends on FB_PM2 && PCI 333 depends on FB_PM2 && PCI
331 help 334 help
332 Support the Permedia2 FIFO disconnect feature. 335 Support the Permedia2 FIFO disconnect feature.
333 336
334 config FB_ARMCLCD 337 config FB_ARMCLCD
335 tristate "ARM PrimeCell PL110 support" 338 tristate "ARM PrimeCell PL110 support"
336 depends on FB && ARM && ARM_AMBA 339 depends on FB && ARM && ARM_AMBA
337 select FB_CFB_FILLRECT 340 select FB_CFB_FILLRECT
338 select FB_CFB_COPYAREA 341 select FB_CFB_COPYAREA
339 select FB_CFB_IMAGEBLIT 342 select FB_CFB_IMAGEBLIT
340 help 343 help
341 This framebuffer device driver is for the ARM PrimeCell PL110 344 This framebuffer device driver is for the ARM PrimeCell PL110
342 Colour LCD controller. ARM PrimeCells provide the building 345 Colour LCD controller. ARM PrimeCells provide the building
343 blocks for System on a Chip devices. 346 blocks for System on a Chip devices.
344 347
345 If you want to compile this as a module (=code which can be 348 If you want to compile this as a module (=code which can be
346 inserted into and removed from the running kernel), say M 349 inserted into and removed from the running kernel), say M
347 here and read <file:Documentation/kbuild/modules.txt>. The module 350 here and read <file:Documentation/kbuild/modules.txt>. The module
348 will be called amba-clcd. 351 will be called amba-clcd.
349 352
350 config FB_ACORN 353 config FB_ACORN
351 bool "Acorn VIDC support" 354 bool "Acorn VIDC support"
352 depends on (FB = y) && ARM && ARCH_ACORN 355 depends on (FB = y) && ARM && ARCH_ACORN
353 select FB_CFB_FILLRECT 356 select FB_CFB_FILLRECT
354 select FB_CFB_COPYAREA 357 select FB_CFB_COPYAREA
355 select FB_CFB_IMAGEBLIT 358 select FB_CFB_IMAGEBLIT
356 help 359 help
357 This is the frame buffer device driver for the Acorn VIDC graphics 360 This is the frame buffer device driver for the Acorn VIDC graphics
358 hardware found in Acorn RISC PCs and other ARM-based machines. If 361 hardware found in Acorn RISC PCs and other ARM-based machines. If
359 unsure, say N. 362 unsure, say N.
360 363
361 config FB_CLPS711X 364 config FB_CLPS711X
362 bool "CLPS711X LCD support" 365 bool "CLPS711X LCD support"
363 depends on (FB = y) && ARM && ARCH_CLPS711X 366 depends on (FB = y) && ARM && ARCH_CLPS711X
364 select FB_CFB_FILLRECT 367 select FB_CFB_FILLRECT
365 select FB_CFB_COPYAREA 368 select FB_CFB_COPYAREA
366 select FB_CFB_IMAGEBLIT 369 select FB_CFB_IMAGEBLIT
367 help 370 help
368 Say Y to enable the Framebuffer driver for the CLPS7111 and 371 Say Y to enable the Framebuffer driver for the CLPS7111 and
369 EP7212 processors. 372 EP7212 processors.
370 373
371 config FB_SA1100 374 config FB_SA1100
372 bool "SA-1100 LCD support" 375 bool "SA-1100 LCD support"
373 depends on (FB = y) && ARM && ARCH_SA1100 376 depends on (FB = y) && ARM && ARCH_SA1100
374 select FB_CFB_FILLRECT 377 select FB_CFB_FILLRECT
375 select FB_CFB_COPYAREA 378 select FB_CFB_COPYAREA
376 select FB_CFB_IMAGEBLIT 379 select FB_CFB_IMAGEBLIT
377 help 380 help
378 This is a framebuffer device for the SA-1100 LCD Controller. 381 This is a framebuffer device for the SA-1100 LCD Controller.
379 See <http://www.linux-fbdev.org/> for information on framebuffer 382 See <http://www.linux-fbdev.org/> for information on framebuffer
380 devices. 383 devices.
381 384
382 If you plan to use the LCD display with your SA-1100 system, say 385 If you plan to use the LCD display with your SA-1100 system, say
383 Y here. 386 Y here.
384 387
385 config FB_IMX 388 config FB_IMX
386 tristate "Freescale i.MX LCD support" 389 tristate "Freescale i.MX LCD support"
387 depends on FB && IMX_HAVE_PLATFORM_IMX_FB 390 depends on FB && IMX_HAVE_PLATFORM_IMX_FB
388 select FB_CFB_FILLRECT 391 select FB_CFB_FILLRECT
389 select FB_CFB_COPYAREA 392 select FB_CFB_COPYAREA
390 select FB_CFB_IMAGEBLIT 393 select FB_CFB_IMAGEBLIT
391 394
392 config FB_CYBER2000 395 config FB_CYBER2000
393 tristate "CyberPro 2000/2010/5000 support" 396 tristate "CyberPro 2000/2010/5000 support"
394 depends on FB && PCI && (BROKEN || !SPARC64) 397 depends on FB && PCI && (BROKEN || !SPARC64)
395 select FB_CFB_FILLRECT 398 select FB_CFB_FILLRECT
396 select FB_CFB_COPYAREA 399 select FB_CFB_COPYAREA
397 select FB_CFB_IMAGEBLIT 400 select FB_CFB_IMAGEBLIT
398 help 401 help
399 This enables support for the Integraphics CyberPro 20x0 and 5000 402 This enables support for the Integraphics CyberPro 20x0 and 5000
400 VGA chips used in the Rebel.com Netwinder and other machines. 403 VGA chips used in the Rebel.com Netwinder and other machines.
401 Say Y if you have a NetWinder or a graphics card containing this 404 Say Y if you have a NetWinder or a graphics card containing this
402 device, otherwise say N. 405 device, otherwise say N.
403 406
404 config FB_CYBER2000_DDC 407 config FB_CYBER2000_DDC
405 bool "DDC for CyberPro support" 408 bool "DDC for CyberPro support"
406 depends on FB_CYBER2000 409 depends on FB_CYBER2000
407 select FB_DDC 410 select FB_DDC
408 default y 411 default y
409 help 412 help
410 Say Y here if you want DDC support for your CyberPro graphics 413 Say Y here if you want DDC support for your CyberPro graphics
411 card. This is only I2C bus support, driver does not use EDID. 414 card. This is only I2C bus support, driver does not use EDID.
412 415
413 config FB_CYBER2000_I2C 416 config FB_CYBER2000_I2C
414 bool "CyberPro 2000/2010/5000 I2C support" 417 bool "CyberPro 2000/2010/5000 I2C support"
415 depends on FB_CYBER2000 && I2C && ARCH_NETWINDER 418 depends on FB_CYBER2000 && I2C && ARCH_NETWINDER
416 select I2C_ALGOBIT 419 select I2C_ALGOBIT
417 help 420 help
418 Enable support for the I2C video decoder interface on the 421 Enable support for the I2C video decoder interface on the
419 Integraphics CyberPro 20x0 and 5000 VGA chips. This is used 422 Integraphics CyberPro 20x0 and 5000 VGA chips. This is used
420 on the Netwinder machines for the SAA7111 video capture. 423 on the Netwinder machines for the SAA7111 video capture.
421 424
422 config FB_APOLLO 425 config FB_APOLLO
423 bool 426 bool
424 depends on (FB = y) && APOLLO 427 depends on (FB = y) && APOLLO
425 default y 428 default y
426 select FB_CFB_FILLRECT 429 select FB_CFB_FILLRECT
427 select FB_CFB_IMAGEBLIT 430 select FB_CFB_IMAGEBLIT
428 431
429 config FB_Q40 432 config FB_Q40
430 bool 433 bool
431 depends on (FB = y) && Q40 434 depends on (FB = y) && Q40
432 default y 435 default y
433 select FB_CFB_FILLRECT 436 select FB_CFB_FILLRECT
434 select FB_CFB_COPYAREA 437 select FB_CFB_COPYAREA
435 select FB_CFB_IMAGEBLIT 438 select FB_CFB_IMAGEBLIT
436 439
437 config FB_AMIGA 440 config FB_AMIGA
438 tristate "Amiga native chipset support" 441 tristate "Amiga native chipset support"
439 depends on FB && AMIGA 442 depends on FB && AMIGA
440 help 443 help
441 This is the frame buffer device driver for the builtin graphics 444 This is the frame buffer device driver for the builtin graphics
442 chipset found in Amigas. 445 chipset found in Amigas.
443 446
444 To compile this driver as a module, choose M here: the 447 To compile this driver as a module, choose M here: the
445 module will be called amifb. 448 module will be called amifb.
446 449
447 config FB_AMIGA_OCS 450 config FB_AMIGA_OCS
448 bool "Amiga OCS chipset support" 451 bool "Amiga OCS chipset support"
449 depends on FB_AMIGA 452 depends on FB_AMIGA
450 help 453 help
451 This enables support for the original Agnus and Denise video chips, 454 This enables support for the original Agnus and Denise video chips,
452 found in the Amiga 1000 and most A500's and A2000's. If you intend 455 found in the Amiga 1000 and most A500's and A2000's. If you intend
453 to run Linux on any of these systems, say Y; otherwise say N. 456 to run Linux on any of these systems, say Y; otherwise say N.
454 457
455 config FB_AMIGA_ECS 458 config FB_AMIGA_ECS
456 bool "Amiga ECS chipset support" 459 bool "Amiga ECS chipset support"
457 depends on FB_AMIGA 460 depends on FB_AMIGA
458 help 461 help
459 This enables support for the Enhanced Chip Set, found in later 462 This enables support for the Enhanced Chip Set, found in later
460 A500's, later A2000's, the A600, the A3000, the A3000T and CDTV. If 463 A500's, later A2000's, the A600, the A3000, the A3000T and CDTV. If
461 you intend to run Linux on any of these systems, say Y; otherwise 464 you intend to run Linux on any of these systems, say Y; otherwise
462 say N. 465 say N.
463 466
464 config FB_AMIGA_AGA 467 config FB_AMIGA_AGA
465 bool "Amiga AGA chipset support" 468 bool "Amiga AGA chipset support"
466 depends on FB_AMIGA 469 depends on FB_AMIGA
467 help 470 help
468 This enables support for the Advanced Graphics Architecture (also 471 This enables support for the Advanced Graphics Architecture (also
469 known as the AGA or AA) Chip Set, found in the A1200, A4000, A4000T 472 known as the AGA or AA) Chip Set, found in the A1200, A4000, A4000T
470 and CD32. If you intend to run Linux on any of these systems, say Y; 473 and CD32. If you intend to run Linux on any of these systems, say Y;
471 otherwise say N. 474 otherwise say N.
472 475
473 config FB_FM2 476 config FB_FM2
474 bool "Amiga FrameMaster II/Rainbow II support" 477 bool "Amiga FrameMaster II/Rainbow II support"
475 depends on (FB = y) && ZORRO 478 depends on (FB = y) && ZORRO
476 select FB_CFB_FILLRECT 479 select FB_CFB_FILLRECT
477 select FB_CFB_COPYAREA 480 select FB_CFB_COPYAREA
478 select FB_CFB_IMAGEBLIT 481 select FB_CFB_IMAGEBLIT
479 help 482 help
480 This is the frame buffer device driver for the Amiga FrameMaster 483 This is the frame buffer device driver for the Amiga FrameMaster
481 card from BSC (exhibited 1992 but not shipped as a CBM product). 484 card from BSC (exhibited 1992 but not shipped as a CBM product).
482 485
483 config FB_ARC 486 config FB_ARC
484 tristate "Arc Monochrome LCD board support" 487 tristate "Arc Monochrome LCD board support"
485 depends on FB && X86 488 depends on FB && X86
486 select FB_SYS_FILLRECT 489 select FB_SYS_FILLRECT
487 select FB_SYS_COPYAREA 490 select FB_SYS_COPYAREA
488 select FB_SYS_IMAGEBLIT 491 select FB_SYS_IMAGEBLIT
489 select FB_SYS_FOPS 492 select FB_SYS_FOPS
490 help 493 help
491 This enables support for the Arc Monochrome LCD board. The board 494 This enables support for the Arc Monochrome LCD board. The board
492 is based on the KS-108 lcd controller and is typically a matrix 495 is based on the KS-108 lcd controller and is typically a matrix
493 of 2*n chips. This driver was tested with a 128x64 panel. This 496 of 2*n chips. This driver was tested with a 128x64 panel. This
494 driver supports it for use with x86 SBCs through a 16 bit GPIO 497 driver supports it for use with x86 SBCs through a 16 bit GPIO
495 interface (8 bit data, 8 bit control). If you anticipate using 498 interface (8 bit data, 8 bit control). If you anticipate using
496 this driver, say Y or M; otherwise say N. You must specify the 499 this driver, say Y or M; otherwise say N. You must specify the
497 GPIO IO address to be used for setting control and data. 500 GPIO IO address to be used for setting control and data.
498 501
499 config FB_ATARI 502 config FB_ATARI
500 bool "Atari native chipset support" 503 bool "Atari native chipset support"
501 depends on (FB = y) && ATARI 504 depends on (FB = y) && ATARI
502 select FB_CFB_FILLRECT 505 select FB_CFB_FILLRECT
503 select FB_CFB_COPYAREA 506 select FB_CFB_COPYAREA
504 select FB_CFB_IMAGEBLIT 507 select FB_CFB_IMAGEBLIT
505 help 508 help
506 This is the frame buffer device driver for the builtin graphics 509 This is the frame buffer device driver for the builtin graphics
507 chipset found in Ataris. 510 chipset found in Ataris.
508 511
509 config FB_OF 512 config FB_OF
510 bool "Open Firmware frame buffer device support" 513 bool "Open Firmware frame buffer device support"
511 depends on (FB = y) && (PPC64 || PPC_OF) && (!PPC_PSERIES || PCI) 514 depends on (FB = y) && (PPC64 || PPC_OF) && (!PPC_PSERIES || PCI)
512 select FB_CFB_FILLRECT 515 select FB_CFB_FILLRECT
513 select FB_CFB_COPYAREA 516 select FB_CFB_COPYAREA
514 select FB_CFB_IMAGEBLIT 517 select FB_CFB_IMAGEBLIT
515 select FB_MACMODES 518 select FB_MACMODES
516 help 519 help
517 Say Y if you want support with Open Firmware for your graphics 520 Say Y if you want support with Open Firmware for your graphics
518 board. 521 board.
519 522
520 config FB_CONTROL 523 config FB_CONTROL
521 bool "Apple \"control\" display support" 524 bool "Apple \"control\" display support"
522 depends on (FB = y) && PPC_PMAC && PPC32 525 depends on (FB = y) && PPC_PMAC && PPC32
523 select FB_CFB_FILLRECT 526 select FB_CFB_FILLRECT
524 select FB_CFB_COPYAREA 527 select FB_CFB_COPYAREA
525 select FB_CFB_IMAGEBLIT 528 select FB_CFB_IMAGEBLIT
526 select FB_MACMODES 529 select FB_MACMODES
527 help 530 help
528 This driver supports a frame buffer for the graphics adapter in the 531 This driver supports a frame buffer for the graphics adapter in the
529 Power Macintosh 7300 and others. 532 Power Macintosh 7300 and others.
530 533
531 config FB_PLATINUM 534 config FB_PLATINUM
532 bool "Apple \"platinum\" display support" 535 bool "Apple \"platinum\" display support"
533 depends on (FB = y) && PPC_PMAC && PPC32 536 depends on (FB = y) && PPC_PMAC && PPC32
534 select FB_CFB_FILLRECT 537 select FB_CFB_FILLRECT
535 select FB_CFB_COPYAREA 538 select FB_CFB_COPYAREA
536 select FB_CFB_IMAGEBLIT 539 select FB_CFB_IMAGEBLIT
537 select FB_MACMODES 540 select FB_MACMODES
538 help 541 help
539 This driver supports a frame buffer for the "platinum" graphics 542 This driver supports a frame buffer for the "platinum" graphics
540 adapter in some Power Macintoshes. 543 adapter in some Power Macintoshes.
541 544
542 config FB_VALKYRIE 545 config FB_VALKYRIE
543 bool "Apple \"valkyrie\" display support" 546 bool "Apple \"valkyrie\" display support"
544 depends on (FB = y) && (MAC || (PPC_PMAC && PPC32)) 547 depends on (FB = y) && (MAC || (PPC_PMAC && PPC32))
545 select FB_CFB_FILLRECT 548 select FB_CFB_FILLRECT
546 select FB_CFB_COPYAREA 549 select FB_CFB_COPYAREA
547 select FB_CFB_IMAGEBLIT 550 select FB_CFB_IMAGEBLIT
548 select FB_MACMODES 551 select FB_MACMODES
549 help 552 help
550 This driver supports a frame buffer for the "valkyrie" graphics 553 This driver supports a frame buffer for the "valkyrie" graphics
551 adapter in some Power Macintoshes. 554 adapter in some Power Macintoshes.
552 555
553 config FB_CT65550 556 config FB_CT65550
554 bool "Chips 65550 display support" 557 bool "Chips 65550 display support"
555 depends on (FB = y) && PPC32 && PCI 558 depends on (FB = y) && PPC32 && PCI
556 select FB_CFB_FILLRECT 559 select FB_CFB_FILLRECT
557 select FB_CFB_COPYAREA 560 select FB_CFB_COPYAREA
558 select FB_CFB_IMAGEBLIT 561 select FB_CFB_IMAGEBLIT
559 help 562 help
560 This is the frame buffer device driver for the Chips & Technologies 563 This is the frame buffer device driver for the Chips & Technologies
561 65550 graphics chip in PowerBooks. 564 65550 graphics chip in PowerBooks.
562 565
563 config FB_ASILIANT 566 config FB_ASILIANT
564 bool "Asiliant (Chips) 69000 display support" 567 bool "Asiliant (Chips) 69000 display support"
565 depends on (FB = y) && PCI 568 depends on (FB = y) && PCI
566 select FB_CFB_FILLRECT 569 select FB_CFB_FILLRECT
567 select FB_CFB_COPYAREA 570 select FB_CFB_COPYAREA
568 select FB_CFB_IMAGEBLIT 571 select FB_CFB_IMAGEBLIT
569 help 572 help
570 This is the frame buffer device driver for the Asiliant 69030 chipset 573 This is the frame buffer device driver for the Asiliant 69030 chipset
571 574
572 config FB_IMSTT 575 config FB_IMSTT
573 bool "IMS Twin Turbo display support" 576 bool "IMS Twin Turbo display support"
574 depends on (FB = y) && PCI 577 depends on (FB = y) && PCI
575 select FB_CFB_IMAGEBLIT 578 select FB_CFB_IMAGEBLIT
576 select FB_MACMODES if PPC 579 select FB_MACMODES if PPC
577 help 580 help
578 The IMS Twin Turbo is a PCI-based frame buffer card bundled with 581 The IMS Twin Turbo is a PCI-based frame buffer card bundled with
579 many Macintosh and compatible computers. 582 many Macintosh and compatible computers.
580 583
581 config FB_VGA16 584 config FB_VGA16
582 tristate "VGA 16-color graphics support" 585 tristate "VGA 16-color graphics support"
583 depends on FB && (X86 || PPC) 586 depends on FB && (X86 || PPC)
584 select FB_CFB_FILLRECT 587 select FB_CFB_FILLRECT
585 select FB_CFB_COPYAREA 588 select FB_CFB_COPYAREA
586 select FB_CFB_IMAGEBLIT 589 select FB_CFB_IMAGEBLIT
587 select VGASTATE 590 select VGASTATE
588 select FONT_8x16 if FRAMEBUFFER_CONSOLE 591 select FONT_8x16 if FRAMEBUFFER_CONSOLE
589 help 592 help
590 This is the frame buffer device driver for VGA 16 color graphic 593 This is the frame buffer device driver for VGA 16 color graphic
591 cards. Say Y if you have such a card. 594 cards. Say Y if you have such a card.
592 595
593 To compile this driver as a module, choose M here: the 596 To compile this driver as a module, choose M here: the
594 module will be called vga16fb. 597 module will be called vga16fb.
595 598
596 config FB_BF54X_LQ043 599 config FB_BF54X_LQ043
597 tristate "SHARP LQ043 TFT LCD (BF548 EZKIT)" 600 tristate "SHARP LQ043 TFT LCD (BF548 EZKIT)"
598 depends on FB && (BF54x) && !BF542 601 depends on FB && (BF54x) && !BF542
599 select FB_CFB_FILLRECT 602 select FB_CFB_FILLRECT
600 select FB_CFB_COPYAREA 603 select FB_CFB_COPYAREA
601 select FB_CFB_IMAGEBLIT 604 select FB_CFB_IMAGEBLIT
602 help 605 help
603 This is the framebuffer device driver for a SHARP LQ043T1DG01 TFT LCD 606 This is the framebuffer device driver for a SHARP LQ043T1DG01 TFT LCD
604 607
605 config FB_BFIN_T350MCQB 608 config FB_BFIN_T350MCQB
606 tristate "Varitronix COG-T350MCQB TFT LCD display (BF527 EZKIT)" 609 tristate "Varitronix COG-T350MCQB TFT LCD display (BF527 EZKIT)"
607 depends on FB && BLACKFIN 610 depends on FB && BLACKFIN
608 select BFIN_GPTIMERS 611 select BFIN_GPTIMERS
609 select FB_CFB_FILLRECT 612 select FB_CFB_FILLRECT
610 select FB_CFB_COPYAREA 613 select FB_CFB_COPYAREA
611 select FB_CFB_IMAGEBLIT 614 select FB_CFB_IMAGEBLIT
612 help 615 help
613 This is the framebuffer device driver for a Varitronix VL-PS-COG-T350MCQB-01 display TFT LCD 616 This is the framebuffer device driver for a Varitronix VL-PS-COG-T350MCQB-01 display TFT LCD
614 This display is a QVGA 320x240 24-bit RGB display interfaced by an 8-bit wide PPI 617 This display is a QVGA 320x240 24-bit RGB display interfaced by an 8-bit wide PPI
615 It uses PPI[0..7] PPI_FS1, PPI_FS2 and PPI_CLK. 618 It uses PPI[0..7] PPI_FS1, PPI_FS2 and PPI_CLK.
616 619
617 config FB_BFIN_LQ035Q1 620 config FB_BFIN_LQ035Q1
618 tristate "SHARP LQ035Q1DH02 TFT LCD" 621 tristate "SHARP LQ035Q1DH02 TFT LCD"
619 depends on FB && BLACKFIN && SPI 622 depends on FB && BLACKFIN && SPI
620 select FB_CFB_FILLRECT 623 select FB_CFB_FILLRECT
621 select FB_CFB_COPYAREA 624 select FB_CFB_COPYAREA
622 select FB_CFB_IMAGEBLIT 625 select FB_CFB_IMAGEBLIT
623 select BFIN_GPTIMERS 626 select BFIN_GPTIMERS
624 help 627 help
625 This is the framebuffer device driver for a SHARP LQ035Q1DH02 TFT display found on 628 This is the framebuffer device driver for a SHARP LQ035Q1DH02 TFT display found on
626 the Blackfin Landscape LCD EZ-Extender Card. 629 the Blackfin Landscape LCD EZ-Extender Card.
627 This display is a QVGA 320x240 18-bit RGB display interfaced by an 16-bit wide PPI 630 This display is a QVGA 320x240 18-bit RGB display interfaced by an 16-bit wide PPI
628 It uses PPI[0..15] PPI_FS1, PPI_FS2 and PPI_CLK. 631 It uses PPI[0..15] PPI_FS1, PPI_FS2 and PPI_CLK.
629 632
630 To compile this driver as a module, choose M here: the 633 To compile this driver as a module, choose M here: the
631 module will be called bfin-lq035q1-fb. 634 module will be called bfin-lq035q1-fb.
632 635
633 config FB_BF537_LQ035 636 config FB_BF537_LQ035
634 tristate "SHARP LQ035 TFT LCD (BF537 STAMP)" 637 tristate "SHARP LQ035 TFT LCD (BF537 STAMP)"
635 depends on FB && (BF534 || BF536 || BF537) && I2C_BLACKFIN_TWI 638 depends on FB && (BF534 || BF536 || BF537) && I2C_BLACKFIN_TWI
636 select FB_CFB_FILLRECT 639 select FB_CFB_FILLRECT
637 select FB_CFB_COPYAREA 640 select FB_CFB_COPYAREA
638 select FB_CFB_IMAGEBLIT 641 select FB_CFB_IMAGEBLIT
639 select BFIN_GPTIMERS 642 select BFIN_GPTIMERS
640 help 643 help
641 This is the framebuffer device for a SHARP LQ035Q7DB03 TFT LCD 644 This is the framebuffer device for a SHARP LQ035Q7DB03 TFT LCD
642 attached to a BF537. 645 attached to a BF537.
643 646
644 To compile this driver as a module, choose M here: the 647 To compile this driver as a module, choose M here: the
645 module will be called bf537-lq035. 648 module will be called bf537-lq035.
646 649
647 config FB_BFIN_7393 650 config FB_BFIN_7393
648 tristate "Blackfin ADV7393 Video encoder" 651 tristate "Blackfin ADV7393 Video encoder"
649 depends on FB && BLACKFIN 652 depends on FB && BLACKFIN
650 select I2C 653 select I2C
651 select FB_CFB_FILLRECT 654 select FB_CFB_FILLRECT
652 select FB_CFB_COPYAREA 655 select FB_CFB_COPYAREA
653 select FB_CFB_IMAGEBLIT 656 select FB_CFB_IMAGEBLIT
654 help 657 help
655 This is the framebuffer device for a ADV7393 video encoder 658 This is the framebuffer device for a ADV7393 video encoder
656 attached to a Blackfin on the PPI port. 659 attached to a Blackfin on the PPI port.
657 If your Blackfin board has a ADV7393 select Y. 660 If your Blackfin board has a ADV7393 select Y.
658 661
659 To compile this driver as a module, choose M here: the 662 To compile this driver as a module, choose M here: the
660 module will be called bfin_adv7393fb. 663 module will be called bfin_adv7393fb.
661 664
662 choice 665 choice
663 prompt "Video mode support" 666 prompt "Video mode support"
664 depends on FB_BFIN_7393 667 depends on FB_BFIN_7393
665 default NTSC 668 default NTSC
666 669
667 config NTSC 670 config NTSC
668 bool 'NTSC 720x480' 671 bool 'NTSC 720x480'
669 672
670 config PAL 673 config PAL
671 bool 'PAL 720x576' 674 bool 'PAL 720x576'
672 675
673 config NTSC_640x480 676 config NTSC_640x480
674 bool 'NTSC 640x480 (Experimental)' 677 bool 'NTSC 640x480 (Experimental)'
675 678
676 config PAL_640x480 679 config PAL_640x480
677 bool 'PAL 640x480 (Experimental)' 680 bool 'PAL 640x480 (Experimental)'
678 681
679 config NTSC_YCBCR 682 config NTSC_YCBCR
680 bool 'NTSC 720x480 YCbCR input' 683 bool 'NTSC 720x480 YCbCR input'
681 684
682 config PAL_YCBCR 685 config PAL_YCBCR
683 bool 'PAL 720x576 YCbCR input' 686 bool 'PAL 720x576 YCbCR input'
684 687
685 endchoice 688 endchoice
686 689
687 choice 690 choice
688 prompt "Size of ADV7393 frame buffer memory Single/Double Size" 691 prompt "Size of ADV7393 frame buffer memory Single/Double Size"
689 depends on (FB_BFIN_7393) 692 depends on (FB_BFIN_7393)
690 default ADV7393_1XMEM 693 default ADV7393_1XMEM
691 694
692 config ADV7393_1XMEM 695 config ADV7393_1XMEM
693 bool 'Single' 696 bool 'Single'
694 697
695 config ADV7393_2XMEM 698 config ADV7393_2XMEM
696 bool 'Double' 699 bool 'Double'
697 endchoice 700 endchoice
698 701
699 config FB_STI 702 config FB_STI
700 tristate "HP STI frame buffer device support" 703 tristate "HP STI frame buffer device support"
701 depends on FB && PARISC 704 depends on FB && PARISC
702 select FB_CFB_FILLRECT 705 select FB_CFB_FILLRECT
703 select FB_CFB_COPYAREA 706 select FB_CFB_COPYAREA
704 select FB_CFB_IMAGEBLIT 707 select FB_CFB_IMAGEBLIT
705 select STI_CONSOLE 708 select STI_CONSOLE
706 select VT 709 select VT
707 default y 710 default y
708 ---help--- 711 ---help---
709 STI refers to the HP "Standard Text Interface" which is a set of 712 STI refers to the HP "Standard Text Interface" which is a set of
710 BIOS routines contained in a ROM chip in HP PA-RISC based machines. 713 BIOS routines contained in a ROM chip in HP PA-RISC based machines.
711 Enabling this option will implement the linux framebuffer device 714 Enabling this option will implement the linux framebuffer device
712 using calls to the STI BIOS routines for initialisation. 715 using calls to the STI BIOS routines for initialisation.
713 716
714 If you enable this option, you will get a planar framebuffer device 717 If you enable this option, you will get a planar framebuffer device
715 /dev/fb which will work on the most common HP graphic cards of the 718 /dev/fb which will work on the most common HP graphic cards of the
716 NGLE family, including the artist chips (in the 7xx and Bxxx series), 719 NGLE family, including the artist chips (in the 7xx and Bxxx series),
717 HCRX, HCRX24, CRX, CRX24 and VisEG series. 720 HCRX, HCRX24, CRX, CRX24 and VisEG series.
718 721
719 It is safe to enable this option, so you should probably say "Y". 722 It is safe to enable this option, so you should probably say "Y".
720 723
721 config FB_MAC 724 config FB_MAC
722 bool "Generic Macintosh display support" 725 bool "Generic Macintosh display support"
723 depends on (FB = y) && MAC 726 depends on (FB = y) && MAC
724 select FB_CFB_FILLRECT 727 select FB_CFB_FILLRECT
725 select FB_CFB_COPYAREA 728 select FB_CFB_COPYAREA
726 select FB_CFB_IMAGEBLIT 729 select FB_CFB_IMAGEBLIT
727 select FB_MACMODES 730 select FB_MACMODES
728 731
729 config FB_HP300 732 config FB_HP300
730 bool 733 bool
731 depends on (FB = y) && DIO 734 depends on (FB = y) && DIO
732 select FB_CFB_IMAGEBLIT 735 select FB_CFB_IMAGEBLIT
733 default y 736 default y
734 737
735 config FB_TGA 738 config FB_TGA
736 tristate "TGA/SFB+ framebuffer support" 739 tristate "TGA/SFB+ framebuffer support"
737 depends on FB && (ALPHA || TC) 740 depends on FB && (ALPHA || TC)
738 select FB_CFB_FILLRECT 741 select FB_CFB_FILLRECT
739 select FB_CFB_COPYAREA 742 select FB_CFB_COPYAREA
740 select FB_CFB_IMAGEBLIT 743 select FB_CFB_IMAGEBLIT
741 select BITREVERSE 744 select BITREVERSE
742 ---help--- 745 ---help---
743 This is the frame buffer device driver for generic TGA and SFB+ 746 This is the frame buffer device driver for generic TGA and SFB+
744 graphic cards. These include DEC ZLXp-E1, -E2 and -E3 PCI cards, 747 graphic cards. These include DEC ZLXp-E1, -E2 and -E3 PCI cards,
745 also known as PBXGA-A, -B and -C, and DEC ZLX-E1, -E2 and -E3 748 also known as PBXGA-A, -B and -C, and DEC ZLX-E1, -E2 and -E3
746 TURBOchannel cards, also known as PMAGD-A, -B and -C. 749 TURBOchannel cards, also known as PMAGD-A, -B and -C.
747 750
748 Due to hardware limitations ZLX-E2 and E3 cards are not supported 751 Due to hardware limitations ZLX-E2 and E3 cards are not supported
749 for DECstation 5000/200 systems. Additionally due to firmware 752 for DECstation 5000/200 systems. Additionally due to firmware
750 limitations these cards may cause troubles with booting DECstation 753 limitations these cards may cause troubles with booting DECstation
751 5000/240 and /260 systems, but are fully supported under Linux if 754 5000/240 and /260 systems, but are fully supported under Linux if
752 you manage to get it going. ;-) 755 you manage to get it going. ;-)
753 756
754 Say Y if you have one of those. 757 Say Y if you have one of those.
755 758
756 config FB_UVESA 759 config FB_UVESA
757 tristate "Userspace VESA VGA graphics support" 760 tristate "Userspace VESA VGA graphics support"
758 depends on FB && CONNECTOR 761 depends on FB && CONNECTOR
759 select FB_CFB_FILLRECT 762 select FB_CFB_FILLRECT
760 select FB_CFB_COPYAREA 763 select FB_CFB_COPYAREA
761 select FB_CFB_IMAGEBLIT 764 select FB_CFB_IMAGEBLIT
762 select FB_MODE_HELPERS 765 select FB_MODE_HELPERS
763 help 766 help
764 This is the frame buffer driver for generic VBE 2.0 compliant 767 This is the frame buffer driver for generic VBE 2.0 compliant
765 graphic cards. It can also take advantage of VBE 3.0 features, 768 graphic cards. It can also take advantage of VBE 3.0 features,
766 such as refresh rate adjustment. 769 such as refresh rate adjustment.
767 770
768 This driver generally provides more features than vesafb but 771 This driver generally provides more features than vesafb but
769 requires a userspace helper application called 'v86d'. See 772 requires a userspace helper application called 'v86d'. See
770 <file:Documentation/fb/uvesafb.txt> for more information. 773 <file:Documentation/fb/uvesafb.txt> for more information.
771 774
772 If unsure, say N. 775 If unsure, say N.
773 776
774 config FB_VESA 777 config FB_VESA
775 bool "VESA VGA graphics support" 778 bool "VESA VGA graphics support"
776 depends on (FB = y) && X86 779 depends on (FB = y) && X86
777 select FB_CFB_FILLRECT 780 select FB_CFB_FILLRECT
778 select FB_CFB_COPYAREA 781 select FB_CFB_COPYAREA
779 select FB_CFB_IMAGEBLIT 782 select FB_CFB_IMAGEBLIT
780 select FB_BOOT_VESA_SUPPORT 783 select FB_BOOT_VESA_SUPPORT
781 help 784 help
782 This is the frame buffer device driver for generic VESA 2.0 785 This is the frame buffer device driver for generic VESA 2.0
783 compliant graphic cards. The older VESA 1.2 cards are not supported. 786 compliant graphic cards. The older VESA 1.2 cards are not supported.
784 You will get a boot time penguin logo at no additional cost. Please 787 You will get a boot time penguin logo at no additional cost. Please
785 read <file:Documentation/fb/vesafb.txt>. If unsure, say Y. 788 read <file:Documentation/fb/vesafb.txt>. If unsure, say Y.
786 789
787 config FB_EFI 790 config FB_EFI
788 bool "EFI-based Framebuffer Support" 791 bool "EFI-based Framebuffer Support"
789 depends on (FB = y) && X86 && EFI 792 depends on (FB = y) && X86 && EFI
790 select FB_CFB_FILLRECT 793 select FB_CFB_FILLRECT
791 select FB_CFB_COPYAREA 794 select FB_CFB_COPYAREA
792 select FB_CFB_IMAGEBLIT 795 select FB_CFB_IMAGEBLIT
793 help 796 help
794 This is the EFI frame buffer device driver. If the firmware on 797 This is the EFI frame buffer device driver. If the firmware on
795 your platform is EFI 1.10 or UEFI 2.0, select Y to add support for 798 your platform is EFI 1.10 or UEFI 2.0, select Y to add support for
796 using the EFI framebuffer as your console. 799 using the EFI framebuffer as your console.
797 800
798 config FB_N411 801 config FB_N411
799 tristate "N411 Apollo/Hecuba devkit support" 802 tristate "N411 Apollo/Hecuba devkit support"
800 depends on FB && X86 && MMU 803 depends on FB && X86 && MMU
801 select FB_SYS_FILLRECT 804 select FB_SYS_FILLRECT
802 select FB_SYS_COPYAREA 805 select FB_SYS_COPYAREA
803 select FB_SYS_IMAGEBLIT 806 select FB_SYS_IMAGEBLIT
804 select FB_SYS_FOPS 807 select FB_SYS_FOPS
805 select FB_DEFERRED_IO 808 select FB_DEFERRED_IO
806 select FB_HECUBA 809 select FB_HECUBA
807 help 810 help
808 This enables support for the Apollo display controller in its 811 This enables support for the Apollo display controller in its
809 Hecuba form using the n411 devkit. 812 Hecuba form using the n411 devkit.
810 813
811 config FB_HGA 814 config FB_HGA
812 tristate "Hercules mono graphics support" 815 tristate "Hercules mono graphics support"
813 depends on FB && X86 816 depends on FB && X86
814 help 817 help
815 Say Y here if you have a Hercules mono graphics card. 818 Say Y here if you have a Hercules mono graphics card.
816 819
817 To compile this driver as a module, choose M here: the 820 To compile this driver as a module, choose M here: the
818 module will be called hgafb. 821 module will be called hgafb.
819 822
820 As this card technology is at least 25 years old, 823 As this card technology is at least 25 years old,
821 most people will answer N here. 824 most people will answer N here.
822 825
823 config FB_SGIVW 826 config FB_SGIVW
824 tristate "SGI Visual Workstation framebuffer support" 827 tristate "SGI Visual Workstation framebuffer support"
825 depends on FB && X86_VISWS 828 depends on FB && X86_VISWS
826 select FB_CFB_FILLRECT 829 select FB_CFB_FILLRECT
827 select FB_CFB_COPYAREA 830 select FB_CFB_COPYAREA
828 select FB_CFB_IMAGEBLIT 831 select FB_CFB_IMAGEBLIT
829 help 832 help
830 SGI Visual Workstation support for framebuffer graphics. 833 SGI Visual Workstation support for framebuffer graphics.
831 834
832 config FB_GBE 835 config FB_GBE
833 bool "SGI Graphics Backend frame buffer support" 836 bool "SGI Graphics Backend frame buffer support"
834 depends on (FB = y) && (SGI_IP32 || X86_VISWS) 837 depends on (FB = y) && (SGI_IP32 || X86_VISWS)
835 select FB_CFB_FILLRECT 838 select FB_CFB_FILLRECT
836 select FB_CFB_COPYAREA 839 select FB_CFB_COPYAREA
837 select FB_CFB_IMAGEBLIT 840 select FB_CFB_IMAGEBLIT
838 help 841 help
839 This is the frame buffer device driver for SGI Graphics Backend. 842 This is the frame buffer device driver for SGI Graphics Backend.
840 This chip is used in SGI O2 and Visual Workstation 320/540. 843 This chip is used in SGI O2 and Visual Workstation 320/540.
841 844
842 config FB_GBE_MEM 845 config FB_GBE_MEM
843 int "Video memory size in MB" 846 int "Video memory size in MB"
844 depends on FB_GBE 847 depends on FB_GBE
845 default 4 848 default 4
846 help 849 help
847 This is the amount of memory reserved for the framebuffer, 850 This is the amount of memory reserved for the framebuffer,
848 which can be any value between 1MB and 8MB. 851 which can be any value between 1MB and 8MB.
849 852
850 config FB_SBUS 853 config FB_SBUS
851 bool "SBUS and UPA framebuffers" 854 bool "SBUS and UPA framebuffers"
852 depends on (FB = y) && SPARC 855 depends on (FB = y) && SPARC
853 help 856 help
854 Say Y if you want support for SBUS or UPA based frame buffer device. 857 Say Y if you want support for SBUS or UPA based frame buffer device.
855 858
856 config FB_BW2 859 config FB_BW2
857 bool "BWtwo support" 860 bool "BWtwo support"
858 depends on (FB = y) && (SPARC && FB_SBUS) 861 depends on (FB = y) && (SPARC && FB_SBUS)
859 select FB_CFB_FILLRECT 862 select FB_CFB_FILLRECT
860 select FB_CFB_COPYAREA 863 select FB_CFB_COPYAREA
861 select FB_CFB_IMAGEBLIT 864 select FB_CFB_IMAGEBLIT
862 help 865 help
863 This is the frame buffer device driver for the BWtwo frame buffer. 866 This is the frame buffer device driver for the BWtwo frame buffer.
864 867
865 config FB_CG3 868 config FB_CG3
866 bool "CGthree support" 869 bool "CGthree support"
867 depends on (FB = y) && (SPARC && FB_SBUS) 870 depends on (FB = y) && (SPARC && FB_SBUS)
868 select FB_CFB_FILLRECT 871 select FB_CFB_FILLRECT
869 select FB_CFB_COPYAREA 872 select FB_CFB_COPYAREA
870 select FB_CFB_IMAGEBLIT 873 select FB_CFB_IMAGEBLIT
871 help 874 help
872 This is the frame buffer device driver for the CGthree frame buffer. 875 This is the frame buffer device driver for the CGthree frame buffer.
873 876
874 config FB_CG6 877 config FB_CG6
875 bool "CGsix (GX,TurboGX) support" 878 bool "CGsix (GX,TurboGX) support"
876 depends on (FB = y) && (SPARC && FB_SBUS) 879 depends on (FB = y) && (SPARC && FB_SBUS)
877 select FB_CFB_COPYAREA 880 select FB_CFB_COPYAREA
878 select FB_CFB_IMAGEBLIT 881 select FB_CFB_IMAGEBLIT
879 help 882 help
880 This is the frame buffer device driver for the CGsix (GX, TurboGX) 883 This is the frame buffer device driver for the CGsix (GX, TurboGX)
881 frame buffer. 884 frame buffer.
882 885
883 config FB_FFB 886 config FB_FFB
884 bool "Creator/Creator3D/Elite3D support" 887 bool "Creator/Creator3D/Elite3D support"
885 depends on FB_SBUS && SPARC64 888 depends on FB_SBUS && SPARC64
886 select FB_CFB_COPYAREA 889 select FB_CFB_COPYAREA
887 select FB_CFB_IMAGEBLIT 890 select FB_CFB_IMAGEBLIT
888 help 891 help
889 This is the frame buffer device driver for the Creator, Creator3D, 892 This is the frame buffer device driver for the Creator, Creator3D,
890 and Elite3D graphics boards. 893 and Elite3D graphics boards.
891 894
892 config FB_TCX 895 config FB_TCX
893 bool "TCX (SS4/SS5 only) support" 896 bool "TCX (SS4/SS5 only) support"
894 depends on FB_SBUS 897 depends on FB_SBUS
895 select FB_CFB_FILLRECT 898 select FB_CFB_FILLRECT
896 select FB_CFB_COPYAREA 899 select FB_CFB_COPYAREA
897 select FB_CFB_IMAGEBLIT 900 select FB_CFB_IMAGEBLIT
898 help 901 help
899 This is the frame buffer device driver for the TCX 24/8bit frame 902 This is the frame buffer device driver for the TCX 24/8bit frame
900 buffer. 903 buffer.
901 904
902 config FB_CG14 905 config FB_CG14
903 bool "CGfourteen (SX) support" 906 bool "CGfourteen (SX) support"
904 depends on FB_SBUS 907 depends on FB_SBUS
905 select FB_CFB_FILLRECT 908 select FB_CFB_FILLRECT
906 select FB_CFB_COPYAREA 909 select FB_CFB_COPYAREA
907 select FB_CFB_IMAGEBLIT 910 select FB_CFB_IMAGEBLIT
908 help 911 help
909 This is the frame buffer device driver for the CGfourteen frame 912 This is the frame buffer device driver for the CGfourteen frame
910 buffer on Desktop SPARCsystems with the SX graphics option. 913 buffer on Desktop SPARCsystems with the SX graphics option.
911 914
912 config FB_P9100 915 config FB_P9100
913 bool "P9100 (Sparcbook 3 only) support" 916 bool "P9100 (Sparcbook 3 only) support"
914 depends on FB_SBUS 917 depends on FB_SBUS
915 select FB_CFB_FILLRECT 918 select FB_CFB_FILLRECT
916 select FB_CFB_COPYAREA 919 select FB_CFB_COPYAREA
917 select FB_CFB_IMAGEBLIT 920 select FB_CFB_IMAGEBLIT
918 help 921 help
919 This is the frame buffer device driver for the P9100 card 922 This is the frame buffer device driver for the P9100 card
920 supported on Sparcbook 3 machines. 923 supported on Sparcbook 3 machines.
921 924
922 config FB_LEO 925 config FB_LEO
923 bool "Leo (ZX) support" 926 bool "Leo (ZX) support"
924 depends on FB_SBUS 927 depends on FB_SBUS
925 select FB_CFB_FILLRECT 928 select FB_CFB_FILLRECT
926 select FB_CFB_COPYAREA 929 select FB_CFB_COPYAREA
927 select FB_CFB_IMAGEBLIT 930 select FB_CFB_IMAGEBLIT
928 help 931 help
929 This is the frame buffer device driver for the SBUS-based Sun ZX 932 This is the frame buffer device driver for the SBUS-based Sun ZX
930 (leo) frame buffer cards. 933 (leo) frame buffer cards.
931 934
932 config FB_IGA 935 config FB_IGA
933 bool "IGA 168x display support" 936 bool "IGA 168x display support"
934 depends on (FB = y) && SPARC32 937 depends on (FB = y) && SPARC32
935 select FB_CFB_FILLRECT 938 select FB_CFB_FILLRECT
936 select FB_CFB_COPYAREA 939 select FB_CFB_COPYAREA
937 select FB_CFB_IMAGEBLIT 940 select FB_CFB_IMAGEBLIT
938 help 941 help
939 This is the framebuffer device for the INTERGRAPHICS 1680 and 942 This is the framebuffer device for the INTERGRAPHICS 1680 and
940 successor frame buffer cards. 943 successor frame buffer cards.
941 944
942 config FB_XVR500 945 config FB_XVR500
943 bool "Sun XVR-500 3DLABS Wildcat support" 946 bool "Sun XVR-500 3DLABS Wildcat support"
944 depends on (FB = y) && PCI && SPARC64 947 depends on (FB = y) && PCI && SPARC64
945 select FB_CFB_FILLRECT 948 select FB_CFB_FILLRECT
946 select FB_CFB_COPYAREA 949 select FB_CFB_COPYAREA
947 select FB_CFB_IMAGEBLIT 950 select FB_CFB_IMAGEBLIT
948 help 951 help
949 This is the framebuffer device for the Sun XVR-500 and similar 952 This is the framebuffer device for the Sun XVR-500 and similar
950 graphics cards based upon the 3DLABS Wildcat chipset. The driver 953 graphics cards based upon the 3DLABS Wildcat chipset. The driver
951 only works on sparc64 systems where the system firmware has 954 only works on sparc64 systems where the system firmware has
952 mostly initialized the card already. It is treated as a 955 mostly initialized the card already. It is treated as a
953 completely dumb framebuffer device. 956 completely dumb framebuffer device.
954 957
955 config FB_XVR2500 958 config FB_XVR2500
956 bool "Sun XVR-2500 3DLABS Wildcat support" 959 bool "Sun XVR-2500 3DLABS Wildcat support"
957 depends on (FB = y) && PCI && SPARC64 960 depends on (FB = y) && PCI && SPARC64
958 select FB_CFB_FILLRECT 961 select FB_CFB_FILLRECT
959 select FB_CFB_COPYAREA 962 select FB_CFB_COPYAREA
960 select FB_CFB_IMAGEBLIT 963 select FB_CFB_IMAGEBLIT
961 help 964 help
962 This is the framebuffer device for the Sun XVR-2500 and similar 965 This is the framebuffer device for the Sun XVR-2500 and similar
963 graphics cards based upon the 3DLABS Wildcat chipset. The driver 966 graphics cards based upon the 3DLABS Wildcat chipset. The driver
964 only works on sparc64 systems where the system firmware has 967 only works on sparc64 systems where the system firmware has
965 mostly initialized the card already. It is treated as a 968 mostly initialized the card already. It is treated as a
966 completely dumb framebuffer device. 969 completely dumb framebuffer device.
967 970
968 config FB_XVR1000 971 config FB_XVR1000
969 bool "Sun XVR-1000 support" 972 bool "Sun XVR-1000 support"
970 depends on (FB = y) && SPARC64 973 depends on (FB = y) && SPARC64
971 select FB_CFB_FILLRECT 974 select FB_CFB_FILLRECT
972 select FB_CFB_COPYAREA 975 select FB_CFB_COPYAREA
973 select FB_CFB_IMAGEBLIT 976 select FB_CFB_IMAGEBLIT
974 help 977 help
975 This is the framebuffer device for the Sun XVR-1000 and similar 978 This is the framebuffer device for the Sun XVR-1000 and similar
976 graphics cards. The driver only works on sparc64 systems where 979 graphics cards. The driver only works on sparc64 systems where
977 the system firmware has mostly initialized the card already. It 980 the system firmware has mostly initialized the card already. It
978 is treated as a completely dumb framebuffer device. 981 is treated as a completely dumb framebuffer device.
979 982
980 config FB_PVR2 983 config FB_PVR2
981 tristate "NEC PowerVR 2 display support" 984 tristate "NEC PowerVR 2 display support"
982 depends on FB && SH_DREAMCAST 985 depends on FB && SH_DREAMCAST
983 select FB_CFB_FILLRECT 986 select FB_CFB_FILLRECT
984 select FB_CFB_COPYAREA 987 select FB_CFB_COPYAREA
985 select FB_CFB_IMAGEBLIT 988 select FB_CFB_IMAGEBLIT
986 ---help--- 989 ---help---
987 Say Y here if you have a PowerVR 2 card in your box. If you plan to 990 Say Y here if you have a PowerVR 2 card in your box. If you plan to
988 run linux on your Dreamcast, you will have to say Y here. 991 run linux on your Dreamcast, you will have to say Y here.
989 This driver may or may not work on other PowerVR 2 cards, but is 992 This driver may or may not work on other PowerVR 2 cards, but is
990 totally untested. Use at your own risk. If unsure, say N. 993 totally untested. Use at your own risk. If unsure, say N.
991 994
992 To compile this driver as a module, choose M here: the 995 To compile this driver as a module, choose M here: the
993 module will be called pvr2fb. 996 module will be called pvr2fb.
994 997
995 You can pass several parameters to the driver at boot time or at 998 You can pass several parameters to the driver at boot time or at
996 module load time. The parameters look like "video=pvr2:XXX", where 999 module load time. The parameters look like "video=pvr2:XXX", where
997 the meaning of XXX can be found at the end of the main source file 1000 the meaning of XXX can be found at the end of the main source file
998 (<file:drivers/video/pvr2fb.c>). Please see the file 1001 (<file:drivers/video/pvr2fb.c>). Please see the file
999 <file:Documentation/fb/pvr2fb.txt>. 1002 <file:Documentation/fb/pvr2fb.txt>.
1000 1003
1001 config FB_S1D13XXX 1004 config FB_S1D13XXX
1002 tristate "Epson S1D13XXX framebuffer support" 1005 tristate "Epson S1D13XXX framebuffer support"
1003 depends on FB 1006 depends on FB
1004 select FB_CFB_FILLRECT 1007 select FB_CFB_FILLRECT
1005 select FB_CFB_COPYAREA 1008 select FB_CFB_COPYAREA
1006 select FB_CFB_IMAGEBLIT 1009 select FB_CFB_IMAGEBLIT
1007 help 1010 help
1008 Support for S1D13XXX framebuffer device family (currently only 1011 Support for S1D13XXX framebuffer device family (currently only
1009 working with S1D13806). Product specs at 1012 working with S1D13806). Product specs at
1010 <http://vdc.epson.com/> 1013 <http://vdc.epson.com/>
1011 1014
1012 config FB_ATMEL 1015 config FB_ATMEL
1013 tristate "AT91/AT32 LCD Controller support" 1016 tristate "AT91/AT32 LCD Controller support"
1014 depends on FB && HAVE_FB_ATMEL 1017 depends on FB && HAVE_FB_ATMEL
1015 select FB_CFB_FILLRECT 1018 select FB_CFB_FILLRECT
1016 select FB_CFB_COPYAREA 1019 select FB_CFB_COPYAREA
1017 select FB_CFB_IMAGEBLIT 1020 select FB_CFB_IMAGEBLIT
1018 help 1021 help
1019 This enables support for the AT91/AT32 LCD Controller. 1022 This enables support for the AT91/AT32 LCD Controller.
1020 1023
1021 config FB_INTSRAM 1024 config FB_INTSRAM
1022 bool "Frame Buffer in internal SRAM" 1025 bool "Frame Buffer in internal SRAM"
1023 depends on FB_ATMEL && ARCH_AT91SAM9261 1026 depends on FB_ATMEL && ARCH_AT91SAM9261
1024 help 1027 help
1025 Say Y if you want to map Frame Buffer in internal SRAM. Say N if you want 1028 Say Y if you want to map Frame Buffer in internal SRAM. Say N if you want
1026 to let frame buffer in external SDRAM. 1029 to let frame buffer in external SDRAM.
1027 1030
1028 config FB_ATMEL_STN 1031 config FB_ATMEL_STN
1029 bool "Use a STN display with AT91/AT32 LCD Controller" 1032 bool "Use a STN display with AT91/AT32 LCD Controller"
1030 depends on FB_ATMEL && (MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK) 1033 depends on FB_ATMEL && (MACH_AT91SAM9261EK || MACH_AT91SAM9G10EK)
1031 default n 1034 default n
1032 help 1035 help
1033 Say Y if you want to connect a STN LCD display to the AT91/AT32 LCD 1036 Say Y if you want to connect a STN LCD display to the AT91/AT32 LCD
1034 Controller. Say N if you want to connect a TFT. 1037 Controller. Say N if you want to connect a TFT.
1035 1038
1036 If unsure, say N. 1039 If unsure, say N.
1037 1040
1038 config FB_NVIDIA 1041 config FB_NVIDIA
1039 tristate "nVidia Framebuffer Support" 1042 tristate "nVidia Framebuffer Support"
1040 depends on FB && PCI 1043 depends on FB && PCI
1041 select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT 1044 select FB_BACKLIGHT if FB_NVIDIA_BACKLIGHT
1042 select FB_MODE_HELPERS 1045 select FB_MODE_HELPERS
1043 select FB_CFB_FILLRECT 1046 select FB_CFB_FILLRECT
1044 select FB_CFB_COPYAREA 1047 select FB_CFB_COPYAREA
1045 select FB_CFB_IMAGEBLIT 1048 select FB_CFB_IMAGEBLIT
1046 select BITREVERSE 1049 select BITREVERSE
1047 select VGASTATE 1050 select VGASTATE
1048 help 1051 help
1049 This driver supports graphics boards with the nVidia chips, TNT 1052 This driver supports graphics boards with the nVidia chips, TNT
1050 and newer. For very old chipsets, such as the RIVA128, then use 1053 and newer. For very old chipsets, such as the RIVA128, then use
1051 the rivafb. 1054 the rivafb.
1052 Say Y if you have such a graphics board. 1055 Say Y if you have such a graphics board.
1053 1056
1054 To compile this driver as a module, choose M here: the 1057 To compile this driver as a module, choose M here: the
1055 module will be called nvidiafb. 1058 module will be called nvidiafb.
1056 1059
1057 config FB_NVIDIA_I2C 1060 config FB_NVIDIA_I2C
1058 bool "Enable DDC Support" 1061 bool "Enable DDC Support"
1059 depends on FB_NVIDIA 1062 depends on FB_NVIDIA
1060 select FB_DDC 1063 select FB_DDC
1061 help 1064 help
1062 This enables I2C support for nVidia Chipsets. This is used 1065 This enables I2C support for nVidia Chipsets. This is used
1063 only for getting EDID information from the attached display 1066 only for getting EDID information from the attached display
1064 allowing for robust video mode handling and switching. 1067 allowing for robust video mode handling and switching.
1065 1068
1066 Because fbdev-2.6 requires that drivers must be able to 1069 Because fbdev-2.6 requires that drivers must be able to
1067 independently validate video mode parameters, you should say Y 1070 independently validate video mode parameters, you should say Y
1068 here. 1071 here.
1069 1072
1070 config FB_NVIDIA_DEBUG 1073 config FB_NVIDIA_DEBUG
1071 bool "Lots of debug output" 1074 bool "Lots of debug output"
1072 depends on FB_NVIDIA 1075 depends on FB_NVIDIA
1073 default n 1076 default n
1074 help 1077 help
1075 Say Y here if you want the nVidia driver to output all sorts 1078 Say Y here if you want the nVidia driver to output all sorts
1076 of debugging information to provide to the maintainer when 1079 of debugging information to provide to the maintainer when
1077 something goes wrong. 1080 something goes wrong.
1078 1081
1079 config FB_NVIDIA_BACKLIGHT 1082 config FB_NVIDIA_BACKLIGHT
1080 bool "Support for backlight control" 1083 bool "Support for backlight control"
1081 depends on FB_NVIDIA 1084 depends on FB_NVIDIA
1082 default y 1085 default y
1083 help 1086 help
1084 Say Y here if you want to control the backlight of your display. 1087 Say Y here if you want to control the backlight of your display.
1085 1088
1086 config FB_RIVA 1089 config FB_RIVA
1087 tristate "nVidia Riva support" 1090 tristate "nVidia Riva support"
1088 depends on FB && PCI 1091 depends on FB && PCI
1089 select FB_BACKLIGHT if FB_RIVA_BACKLIGHT 1092 select FB_BACKLIGHT if FB_RIVA_BACKLIGHT
1090 select FB_MODE_HELPERS 1093 select FB_MODE_HELPERS
1091 select FB_CFB_FILLRECT 1094 select FB_CFB_FILLRECT
1092 select FB_CFB_COPYAREA 1095 select FB_CFB_COPYAREA
1093 select FB_CFB_IMAGEBLIT 1096 select FB_CFB_IMAGEBLIT
1094 select BITREVERSE 1097 select BITREVERSE
1095 select VGASTATE 1098 select VGASTATE
1096 help 1099 help
1097 This driver supports graphics boards with the nVidia Riva/Geforce 1100 This driver supports graphics boards with the nVidia Riva/Geforce
1098 chips. 1101 chips.
1099 Say Y if you have such a graphics board. 1102 Say Y if you have such a graphics board.
1100 1103
1101 To compile this driver as a module, choose M here: the 1104 To compile this driver as a module, choose M here: the
1102 module will be called rivafb. 1105 module will be called rivafb.
1103 1106
1104 config FB_RIVA_I2C 1107 config FB_RIVA_I2C
1105 bool "Enable DDC Support" 1108 bool "Enable DDC Support"
1106 depends on FB_RIVA 1109 depends on FB_RIVA
1107 select FB_DDC 1110 select FB_DDC
1108 help 1111 help
1109 This enables I2C support for nVidia Chipsets. This is used 1112 This enables I2C support for nVidia Chipsets. This is used
1110 only for getting EDID information from the attached display 1113 only for getting EDID information from the attached display
1111 allowing for robust video mode handling and switching. 1114 allowing for robust video mode handling and switching.
1112 1115
1113 Because fbdev-2.6 requires that drivers must be able to 1116 Because fbdev-2.6 requires that drivers must be able to
1114 independently validate video mode parameters, you should say Y 1117 independently validate video mode parameters, you should say Y
1115 here. 1118 here.
1116 1119
1117 config FB_RIVA_DEBUG 1120 config FB_RIVA_DEBUG
1118 bool "Lots of debug output" 1121 bool "Lots of debug output"
1119 depends on FB_RIVA 1122 depends on FB_RIVA
1120 default n 1123 default n
1121 help 1124 help
1122 Say Y here if you want the Riva driver to output all sorts 1125 Say Y here if you want the Riva driver to output all sorts
1123 of debugging information to provide to the maintainer when 1126 of debugging information to provide to the maintainer when
1124 something goes wrong. 1127 something goes wrong.
1125 1128
1126 config FB_RIVA_BACKLIGHT 1129 config FB_RIVA_BACKLIGHT
1127 bool "Support for backlight control" 1130 bool "Support for backlight control"
1128 depends on FB_RIVA 1131 depends on FB_RIVA
1129 default y 1132 default y
1130 help 1133 help
1131 Say Y here if you want to control the backlight of your display. 1134 Say Y here if you want to control the backlight of your display.
1132 1135
1133 config FB_I740 1136 config FB_I740
1134 tristate "Intel740 support (EXPERIMENTAL)" 1137 tristate "Intel740 support (EXPERIMENTAL)"
1135 depends on EXPERIMENTAL && FB && PCI 1138 depends on EXPERIMENTAL && FB && PCI
1136 select FB_MODE_HELPERS 1139 select FB_MODE_HELPERS
1137 select FB_CFB_FILLRECT 1140 select FB_CFB_FILLRECT
1138 select FB_CFB_COPYAREA 1141 select FB_CFB_COPYAREA
1139 select FB_CFB_IMAGEBLIT 1142 select FB_CFB_IMAGEBLIT
1140 select VGASTATE 1143 select VGASTATE
1141 select FB_DDC 1144 select FB_DDC
1142 help 1145 help
1143 This driver supports graphics cards based on Intel740 chip. 1146 This driver supports graphics cards based on Intel740 chip.
1144 1147
1145 config FB_I810 1148 config FB_I810
1146 tristate "Intel 810/815 support (EXPERIMENTAL)" 1149 tristate "Intel 810/815 support (EXPERIMENTAL)"
1147 depends on EXPERIMENTAL && FB && PCI && X86_32 && AGP_INTEL 1150 depends on EXPERIMENTAL && FB && PCI && X86_32 && AGP_INTEL
1148 select FB_MODE_HELPERS 1151 select FB_MODE_HELPERS
1149 select FB_CFB_FILLRECT 1152 select FB_CFB_FILLRECT
1150 select FB_CFB_COPYAREA 1153 select FB_CFB_COPYAREA
1151 select FB_CFB_IMAGEBLIT 1154 select FB_CFB_IMAGEBLIT
1152 select VGASTATE 1155 select VGASTATE
1153 help 1156 help
1154 This driver supports the on-board graphics built in to the Intel 810 1157 This driver supports the on-board graphics built in to the Intel 810
1155 and 815 chipsets. Say Y if you have and plan to use such a board. 1158 and 815 chipsets. Say Y if you have and plan to use such a board.
1156 1159
1157 To compile this driver as a module, choose M here: the 1160 To compile this driver as a module, choose M here: the
1158 module will be called i810fb. 1161 module will be called i810fb.
1159 1162
1160 For more information, please read 1163 For more information, please read
1161 <file:Documentation/fb/intel810.txt> 1164 <file:Documentation/fb/intel810.txt>
1162 1165
1163 config FB_I810_GTF 1166 config FB_I810_GTF
1164 bool "use VESA Generalized Timing Formula" 1167 bool "use VESA Generalized Timing Formula"
1165 depends on FB_I810 1168 depends on FB_I810
1166 help 1169 help
1167 If you say Y, then the VESA standard, Generalized Timing Formula 1170 If you say Y, then the VESA standard, Generalized Timing Formula
1168 or GTF, will be used to calculate the required video timing values 1171 or GTF, will be used to calculate the required video timing values
1169 per video mode. Since the GTF allows nondiscrete timings 1172 per video mode. Since the GTF allows nondiscrete timings
1170 (nondiscrete being a range of values as opposed to discrete being a 1173 (nondiscrete being a range of values as opposed to discrete being a
1171 set of values), you'll be able to use any combination of horizontal 1174 set of values), you'll be able to use any combination of horizontal
1172 and vertical resolutions, and vertical refresh rates without having 1175 and vertical resolutions, and vertical refresh rates without having
1173 to specify your own timing parameters. This is especially useful 1176 to specify your own timing parameters. This is especially useful
1174 to maximize the performance of an aging display, or if you just 1177 to maximize the performance of an aging display, or if you just
1175 have a display with nonstandard dimensions. A VESA compliant 1178 have a display with nonstandard dimensions. A VESA compliant
1176 monitor is recommended, but can still work with non-compliant ones. 1179 monitor is recommended, but can still work with non-compliant ones.
1177 If you need or want this, then select this option. The timings may 1180 If you need or want this, then select this option. The timings may
1178 not be compliant with Intel's recommended values. Use at your own 1181 not be compliant with Intel's recommended values. Use at your own
1179 risk. 1182 risk.
1180 1183
1181 If you say N, the driver will revert to discrete video timings 1184 If you say N, the driver will revert to discrete video timings
1182 using a set recommended by Intel in their documentation. 1185 using a set recommended by Intel in their documentation.
1183 1186
1184 If unsure, say N. 1187 If unsure, say N.
1185 1188
1186 config FB_I810_I2C 1189 config FB_I810_I2C
1187 bool "Enable DDC Support" 1190 bool "Enable DDC Support"
1188 depends on FB_I810 && FB_I810_GTF 1191 depends on FB_I810 && FB_I810_GTF
1189 select FB_DDC 1192 select FB_DDC
1190 help 1193 help
1191 1194
1192 config FB_LE80578 1195 config FB_LE80578
1193 tristate "Intel LE80578 (Vermilion) support" 1196 tristate "Intel LE80578 (Vermilion) support"
1194 depends on FB && PCI && X86 1197 depends on FB && PCI && X86
1195 select FB_MODE_HELPERS 1198 select FB_MODE_HELPERS
1196 select FB_CFB_FILLRECT 1199 select FB_CFB_FILLRECT
1197 select FB_CFB_COPYAREA 1200 select FB_CFB_COPYAREA
1198 select FB_CFB_IMAGEBLIT 1201 select FB_CFB_IMAGEBLIT
1199 help 1202 help
1200 This driver supports the LE80578 (Vermilion Range) chipset 1203 This driver supports the LE80578 (Vermilion Range) chipset
1201 1204
1202 config FB_CARILLO_RANCH 1205 config FB_CARILLO_RANCH
1203 tristate "Intel Carillo Ranch support" 1206 tristate "Intel Carillo Ranch support"
1204 depends on FB_LE80578 && FB && PCI && X86 1207 depends on FB_LE80578 && FB && PCI && X86
1205 help 1208 help
1206 This driver supports the LE80578 (Carillo Ranch) board 1209 This driver supports the LE80578 (Carillo Ranch) board
1207 1210
1208 config FB_INTEL 1211 config FB_INTEL
1209 tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support (EXPERIMENTAL)" 1212 tristate "Intel 830M/845G/852GM/855GM/865G/915G/945G/945GM/965G/965GM support (EXPERIMENTAL)"
1210 depends on EXPERIMENTAL && FB && PCI && X86 && AGP_INTEL && EXPERT 1213 depends on EXPERIMENTAL && FB && PCI && X86 && AGP_INTEL && EXPERT
1211 select FB_MODE_HELPERS 1214 select FB_MODE_HELPERS
1212 select FB_CFB_FILLRECT 1215 select FB_CFB_FILLRECT
1213 select FB_CFB_COPYAREA 1216 select FB_CFB_COPYAREA
1214 select FB_CFB_IMAGEBLIT 1217 select FB_CFB_IMAGEBLIT
1215 select FB_BOOT_VESA_SUPPORT if FB_INTEL = y 1218 select FB_BOOT_VESA_SUPPORT if FB_INTEL = y
1216 depends on !DRM_I915 1219 depends on !DRM_I915
1217 help 1220 help
1218 This driver supports the on-board graphics built in to the Intel 1221 This driver supports the on-board graphics built in to the Intel
1219 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets. 1222 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM chipsets.
1220 Say Y if you have and plan to use such a board. 1223 Say Y if you have and plan to use such a board.
1221 1224
1222 To make FB_INTELFB=Y work you need to say AGP_INTEL=y too. 1225 To make FB_INTELFB=Y work you need to say AGP_INTEL=y too.
1223 1226
1224 To compile this driver as a module, choose M here: the 1227 To compile this driver as a module, choose M here: the
1225 module will be called intelfb. 1228 module will be called intelfb.
1226 1229
1227 For more information, please read <file:Documentation/fb/intelfb.txt> 1230 For more information, please read <file:Documentation/fb/intelfb.txt>
1228 1231
1229 config FB_INTEL_DEBUG 1232 config FB_INTEL_DEBUG
1230 bool "Intel driver Debug Messages" 1233 bool "Intel driver Debug Messages"
1231 depends on FB_INTEL 1234 depends on FB_INTEL
1232 ---help--- 1235 ---help---
1233 Say Y here if you want the Intel driver to output all sorts 1236 Say Y here if you want the Intel driver to output all sorts
1234 of debugging information to provide to the maintainer when 1237 of debugging information to provide to the maintainer when
1235 something goes wrong. 1238 something goes wrong.
1236 1239
1237 config FB_INTEL_I2C 1240 config FB_INTEL_I2C
1238 bool "DDC/I2C for Intel framebuffer support" 1241 bool "DDC/I2C for Intel framebuffer support"
1239 depends on FB_INTEL 1242 depends on FB_INTEL
1240 select FB_DDC 1243 select FB_DDC
1241 default y 1244 default y
1242 help 1245 help
1243 Say Y here if you want DDC/I2C support for your on-board Intel graphics. 1246 Say Y here if you want DDC/I2C support for your on-board Intel graphics.
1244 1247
1245 config FB_MATROX 1248 config FB_MATROX
1246 tristate "Matrox acceleration" 1249 tristate "Matrox acceleration"
1247 depends on FB && PCI 1250 depends on FB && PCI
1248 select FB_CFB_FILLRECT 1251 select FB_CFB_FILLRECT
1249 select FB_CFB_COPYAREA 1252 select FB_CFB_COPYAREA
1250 select FB_CFB_IMAGEBLIT 1253 select FB_CFB_IMAGEBLIT
1251 select FB_TILEBLITTING 1254 select FB_TILEBLITTING
1252 select FB_MACMODES if PPC_PMAC 1255 select FB_MACMODES if PPC_PMAC
1253 ---help--- 1256 ---help---
1254 Say Y here if you have a Matrox Millennium, Matrox Millennium II, 1257 Say Y here if you have a Matrox Millennium, Matrox Millennium II,
1255 Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox 1258 Matrox Mystique, Matrox Mystique 220, Matrox Productiva G100, Matrox
1256 Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video, 1259 Mystique G200, Matrox Millennium G200, Matrox Marvel G200 video,
1257 Matrox G400, G450 or G550 card in your box. 1260 Matrox G400, G450 or G550 card in your box.
1258 1261
1259 To compile this driver as a module, choose M here: the 1262 To compile this driver as a module, choose M here: the
1260 module will be called matroxfb. 1263 module will be called matroxfb.
1261 1264
1262 You can pass several parameters to the driver at boot time or at 1265 You can pass several parameters to the driver at boot time or at
1263 module load time. The parameters look like "video=matroxfb:XXX", and 1266 module load time. The parameters look like "video=matroxfb:XXX", and
1264 are described in <file:Documentation/fb/matroxfb.txt>. 1267 are described in <file:Documentation/fb/matroxfb.txt>.
1265 1268
1266 config FB_MATROX_MILLENIUM 1269 config FB_MATROX_MILLENIUM
1267 bool "Millennium I/II support" 1270 bool "Millennium I/II support"
1268 depends on FB_MATROX 1271 depends on FB_MATROX
1269 help 1272 help
1270 Say Y here if you have a Matrox Millennium or Matrox Millennium II 1273 Say Y here if you have a Matrox Millennium or Matrox Millennium II
1271 video card. If you select "Advanced lowlevel driver options" below, 1274 video card. If you select "Advanced lowlevel driver options" below,
1272 you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp 1275 you should check 4 bpp packed pixel, 8 bpp packed pixel, 16 bpp
1273 packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can 1276 packed pixel, 24 bpp packed pixel and 32 bpp packed pixel. You can
1274 also use font widths different from 8. 1277 also use font widths different from 8.
1275 1278
1276 config FB_MATROX_MYSTIQUE 1279 config FB_MATROX_MYSTIQUE
1277 bool "Mystique support" 1280 bool "Mystique support"
1278 depends on FB_MATROX 1281 depends on FB_MATROX
1279 help 1282 help
1280 Say Y here if you have a Matrox Mystique or Matrox Mystique 220 1283 Say Y here if you have a Matrox Mystique or Matrox Mystique 220
1281 video card. If you select "Advanced lowlevel driver options" below, 1284 video card. If you select "Advanced lowlevel driver options" below,
1282 you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp 1285 you should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp
1283 packed pixel and 32 bpp packed pixel. You can also use font widths 1286 packed pixel and 32 bpp packed pixel. You can also use font widths
1284 different from 8. 1287 different from 8.
1285 1288
1286 config FB_MATROX_G 1289 config FB_MATROX_G
1287 bool "G100/G200/G400/G450/G550 support" 1290 bool "G100/G200/G400/G450/G550 support"
1288 depends on FB_MATROX 1291 depends on FB_MATROX
1289 ---help--- 1292 ---help---
1290 Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based 1293 Say Y here if you have a Matrox G100, G200, G400, G450 or G550 based
1291 video card. If you select "Advanced lowlevel driver options", you 1294 video card. If you select "Advanced lowlevel driver options", you
1292 should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed 1295 should check 8 bpp packed pixel, 16 bpp packed pixel, 24 bpp packed
1293 pixel and 32 bpp packed pixel. You can also use font widths 1296 pixel and 32 bpp packed pixel. You can also use font widths
1294 different from 8. 1297 different from 8.
1295 1298
1296 If you need support for G400 secondary head, you must say Y to 1299 If you need support for G400 secondary head, you must say Y to
1297 "Matrox I2C support" and "G400 second head support" right below. 1300 "Matrox I2C support" and "G400 second head support" right below.
1298 G450/G550 secondary head and digital output are supported without 1301 G450/G550 secondary head and digital output are supported without
1299 additional modules. 1302 additional modules.
1300 1303
1301 The driver starts in monitor mode. You must use the matroxset tool 1304 The driver starts in monitor mode. You must use the matroxset tool
1302 (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to 1305 (available at <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to
1303 swap primary and secondary head outputs, or to change output mode. 1306 swap primary and secondary head outputs, or to change output mode.
1304 Secondary head driver always start in 640x480 resolution and you 1307 Secondary head driver always start in 640x480 resolution and you
1305 must use fbset to change it. 1308 must use fbset to change it.
1306 1309
1307 Do not forget that second head supports only 16 and 32 bpp 1310 Do not forget that second head supports only 16 and 32 bpp
1308 packed pixels, so it is a good idea to compile them into the kernel 1311 packed pixels, so it is a good idea to compile them into the kernel
1309 too. You can use only some font widths, as the driver uses generic 1312 too. You can use only some font widths, as the driver uses generic
1310 painting procedures (the secondary head does not use acceleration 1313 painting procedures (the secondary head does not use acceleration
1311 engine). 1314 engine).
1312 1315
1313 G450/G550 hardware can display TV picture only from secondary CRTC, 1316 G450/G550 hardware can display TV picture only from secondary CRTC,
1314 and it performs no scaling, so picture must have 525 or 625 lines. 1317 and it performs no scaling, so picture must have 525 or 625 lines.
1315 1318
1316 config FB_MATROX_I2C 1319 config FB_MATROX_I2C
1317 tristate "Matrox I2C support" 1320 tristate "Matrox I2C support"
1318 depends on FB_MATROX 1321 depends on FB_MATROX
1319 select FB_DDC 1322 select FB_DDC
1320 ---help--- 1323 ---help---
1321 This drivers creates I2C buses which are needed for accessing the 1324 This drivers creates I2C buses which are needed for accessing the
1322 DDC (I2C) bus present on all Matroxes, an I2C bus which 1325 DDC (I2C) bus present on all Matroxes, an I2C bus which
1323 interconnects Matrox optional devices, like MGA-TVO on G200 and 1326 interconnects Matrox optional devices, like MGA-TVO on G200 and
1324 G400, and the secondary head DDC bus, present on G400 only. 1327 G400, and the secondary head DDC bus, present on G400 only.
1325 1328
1326 You can say Y or M here if you want to experiment with monitor 1329 You can say Y or M here if you want to experiment with monitor
1327 detection code. You must say Y or M here if you want to use either 1330 detection code. You must say Y or M here if you want to use either
1328 second head of G400 or MGA-TVO on G200 or G400. 1331 second head of G400 or MGA-TVO on G200 or G400.
1329 1332
1330 If you compile it as module, it will create a module named 1333 If you compile it as module, it will create a module named
1331 i2c-matroxfb. 1334 i2c-matroxfb.
1332 1335
1333 config FB_MATROX_MAVEN 1336 config FB_MATROX_MAVEN
1334 tristate "G400 second head support" 1337 tristate "G400 second head support"
1335 depends on FB_MATROX_G && FB_MATROX_I2C 1338 depends on FB_MATROX_G && FB_MATROX_I2C
1336 ---help--- 1339 ---help---
1337 WARNING !!! This support does not work with G450 !!! 1340 WARNING !!! This support does not work with G450 !!!
1338 1341
1339 Say Y or M here if you want to use a secondary head (meaning two 1342 Say Y or M here if you want to use a secondary head (meaning two
1340 monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary 1343 monitors in parallel) on G400 or MGA-TVO add-on on G200. Secondary
1341 head is not compatible with accelerated XFree 3.3.x SVGA servers - 1344 head is not compatible with accelerated XFree 3.3.x SVGA servers -
1342 secondary head output is blanked while you are in X. With XFree 1345 secondary head output is blanked while you are in X. With XFree
1343 3.9.17 preview you can use both heads if you use SVGA over fbdev or 1346 3.9.17 preview you can use both heads if you use SVGA over fbdev or
1344 the fbdev driver on first head and the fbdev driver on second head. 1347 the fbdev driver on first head and the fbdev driver on second head.
1345 1348
1346 If you compile it as module, two modules are created, 1349 If you compile it as module, two modules are created,
1347 matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for 1350 matroxfb_crtc2 and matroxfb_maven. Matroxfb_maven is needed for
1348 both G200 and G400, matroxfb_crtc2 is needed only by G400. You must 1351 both G200 and G400, matroxfb_crtc2 is needed only by G400. You must
1349 also load i2c-matroxfb to get it to run. 1352 also load i2c-matroxfb to get it to run.
1350 1353
1351 The driver starts in monitor mode and you must use the matroxset 1354 The driver starts in monitor mode and you must use the matroxset
1352 tool (available at 1355 tool (available at
1353 <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to 1356 <ftp://platan.vc.cvut.cz/pub/linux/matrox-latest/>) to switch it to
1354 PAL or NTSC or to swap primary and secondary head outputs. 1357 PAL or NTSC or to swap primary and secondary head outputs.
1355 Secondary head driver also always start in 640x480 resolution, you 1358 Secondary head driver also always start in 640x480 resolution, you
1356 must use fbset to change it. 1359 must use fbset to change it.
1357 1360
1358 Also do not forget that second head supports only 16 and 32 bpp 1361 Also do not forget that second head supports only 16 and 32 bpp
1359 packed pixels, so it is a good idea to compile them into the kernel 1362 packed pixels, so it is a good idea to compile them into the kernel
1360 too. You can use only some font widths, as the driver uses generic 1363 too. You can use only some font widths, as the driver uses generic
1361 painting procedures (the secondary head does not use acceleration 1364 painting procedures (the secondary head does not use acceleration
1362 engine). 1365 engine).
1363 1366
1364 config FB_RADEON 1367 config FB_RADEON
1365 tristate "ATI Radeon display support" 1368 tristate "ATI Radeon display support"
1366 depends on FB && PCI 1369 depends on FB && PCI
1367 select FB_BACKLIGHT if FB_RADEON_BACKLIGHT 1370 select FB_BACKLIGHT if FB_RADEON_BACKLIGHT
1368 select FB_MODE_HELPERS 1371 select FB_MODE_HELPERS
1369 select FB_CFB_FILLRECT 1372 select FB_CFB_FILLRECT
1370 select FB_CFB_COPYAREA 1373 select FB_CFB_COPYAREA
1371 select FB_CFB_IMAGEBLIT 1374 select FB_CFB_IMAGEBLIT
1372 select FB_MACMODES if PPC_OF 1375 select FB_MACMODES if PPC_OF
1373 help 1376 help
1374 Choose this option if you want to use an ATI Radeon graphics card as 1377 Choose this option if you want to use an ATI Radeon graphics card as
1375 a framebuffer device. There are both PCI and AGP versions. You 1378 a framebuffer device. There are both PCI and AGP versions. You
1376 don't need to choose this to run the Radeon in plain VGA mode. 1379 don't need to choose this to run the Radeon in plain VGA mode.
1377 1380
1378 There is a product page at 1381 There is a product page at
1379 http://products.amd.com/en-us/GraphicCardResult.aspx 1382 http://products.amd.com/en-us/GraphicCardResult.aspx
1380 1383
1381 config FB_RADEON_I2C 1384 config FB_RADEON_I2C
1382 bool "DDC/I2C for ATI Radeon support" 1385 bool "DDC/I2C for ATI Radeon support"
1383 depends on FB_RADEON 1386 depends on FB_RADEON
1384 select FB_DDC 1387 select FB_DDC
1385 default y 1388 default y
1386 help 1389 help
1387 Say Y here if you want DDC/I2C support for your Radeon board. 1390 Say Y here if you want DDC/I2C support for your Radeon board.
1388 1391
1389 config FB_RADEON_BACKLIGHT 1392 config FB_RADEON_BACKLIGHT
1390 bool "Support for backlight control" 1393 bool "Support for backlight control"
1391 depends on FB_RADEON 1394 depends on FB_RADEON
1392 default y 1395 default y
1393 help 1396 help
1394 Say Y here if you want to control the backlight of your display. 1397 Say Y here if you want to control the backlight of your display.
1395 1398
1396 config FB_RADEON_DEBUG 1399 config FB_RADEON_DEBUG
1397 bool "Lots of debug output from Radeon driver" 1400 bool "Lots of debug output from Radeon driver"
1398 depends on FB_RADEON 1401 depends on FB_RADEON
1399 default n 1402 default n
1400 help 1403 help
1401 Say Y here if you want the Radeon driver to output all sorts 1404 Say Y here if you want the Radeon driver to output all sorts
1402 of debugging information to provide to the maintainer when 1405 of debugging information to provide to the maintainer when
1403 something goes wrong. 1406 something goes wrong.
1404 1407
1405 config FB_ATY128 1408 config FB_ATY128
1406 tristate "ATI Rage128 display support" 1409 tristate "ATI Rage128 display support"
1407 depends on FB && PCI 1410 depends on FB && PCI
1408 select FB_CFB_FILLRECT 1411 select FB_CFB_FILLRECT
1409 select FB_CFB_COPYAREA 1412 select FB_CFB_COPYAREA
1410 select FB_CFB_IMAGEBLIT 1413 select FB_CFB_IMAGEBLIT
1411 select FB_BACKLIGHT if FB_ATY128_BACKLIGHT 1414 select FB_BACKLIGHT if FB_ATY128_BACKLIGHT
1412 select FB_MACMODES if PPC_PMAC 1415 select FB_MACMODES if PPC_PMAC
1413 help 1416 help
1414 This driver supports graphics boards with the ATI Rage128 chips. 1417 This driver supports graphics boards with the ATI Rage128 chips.
1415 Say Y if you have such a graphics board and read 1418 Say Y if you have such a graphics board and read
1416 <file:Documentation/fb/aty128fb.txt>. 1419 <file:Documentation/fb/aty128fb.txt>.
1417 1420
1418 To compile this driver as a module, choose M here: the 1421 To compile this driver as a module, choose M here: the
1419 module will be called aty128fb. 1422 module will be called aty128fb.
1420 1423
1421 config FB_ATY128_BACKLIGHT 1424 config FB_ATY128_BACKLIGHT
1422 bool "Support for backlight control" 1425 bool "Support for backlight control"
1423 depends on FB_ATY128 1426 depends on FB_ATY128
1424 default y 1427 default y
1425 help 1428 help
1426 Say Y here if you want to control the backlight of your display. 1429 Say Y here if you want to control the backlight of your display.
1427 1430
1428 config FB_ATY 1431 config FB_ATY
1429 tristate "ATI Mach64 display support" if PCI || ATARI 1432 tristate "ATI Mach64 display support" if PCI || ATARI
1430 depends on FB && !SPARC32 1433 depends on FB && !SPARC32
1431 select FB_CFB_FILLRECT 1434 select FB_CFB_FILLRECT
1432 select FB_CFB_COPYAREA 1435 select FB_CFB_COPYAREA
1433 select FB_CFB_IMAGEBLIT 1436 select FB_CFB_IMAGEBLIT
1434 select FB_BACKLIGHT if FB_ATY_BACKLIGHT 1437 select FB_BACKLIGHT if FB_ATY_BACKLIGHT
1435 select FB_MACMODES if PPC 1438 select FB_MACMODES if PPC
1436 help 1439 help
1437 This driver supports graphics boards with the ATI Mach64 chips. 1440 This driver supports graphics boards with the ATI Mach64 chips.
1438 Say Y if you have such a graphics board. 1441 Say Y if you have such a graphics board.
1439 1442
1440 To compile this driver as a module, choose M here: the 1443 To compile this driver as a module, choose M here: the
1441 module will be called atyfb. 1444 module will be called atyfb.
1442 1445
1443 config FB_ATY_CT 1446 config FB_ATY_CT
1444 bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support" 1447 bool "Mach64 CT/VT/GT/LT (incl. 3D RAGE) support"
1445 depends on PCI && FB_ATY 1448 depends on PCI && FB_ATY
1446 default y if SPARC64 && PCI 1449 default y if SPARC64 && PCI
1447 help 1450 help
1448 Say Y here to support use of ATI's 64-bit Rage boards (or other 1451 Say Y here to support use of ATI's 64-bit Rage boards (or other
1449 boards based on the Mach64 CT, VT, GT, and LT chipsets) as a 1452 boards based on the Mach64 CT, VT, GT, and LT chipsets) as a
1450 framebuffer device. The ATI product support page for these boards 1453 framebuffer device. The ATI product support page for these boards
1451 is at <http://support.ati.com/products/pc/mach64/mach64.html>. 1454 is at <http://support.ati.com/products/pc/mach64/mach64.html>.
1452 1455
1453 config FB_ATY_GENERIC_LCD 1456 config FB_ATY_GENERIC_LCD
1454 bool "Mach64 generic LCD support (EXPERIMENTAL)" 1457 bool "Mach64 generic LCD support (EXPERIMENTAL)"
1455 depends on FB_ATY_CT 1458 depends on FB_ATY_CT
1456 help 1459 help
1457 Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility, 1460 Say Y if you have a laptop with an ATI Rage LT PRO, Rage Mobility,
1458 Rage XC, or Rage XL chipset. 1461 Rage XC, or Rage XL chipset.
1459 1462
1460 config FB_ATY_GX 1463 config FB_ATY_GX
1461 bool "Mach64 GX support" if PCI 1464 bool "Mach64 GX support" if PCI
1462 depends on FB_ATY 1465 depends on FB_ATY
1463 default y if ATARI 1466 default y if ATARI
1464 help 1467 help
1465 Say Y here to support use of the ATI Mach64 Graphics Expression 1468 Say Y here to support use of the ATI Mach64 Graphics Expression
1466 board (or other boards based on the Mach64 GX chipset) as a 1469 board (or other boards based on the Mach64 GX chipset) as a
1467 framebuffer device. The ATI product support page for these boards 1470 framebuffer device. The ATI product support page for these boards
1468 is at 1471 is at
1469 <http://support.ati.com/products/pc/mach64/graphics_xpression.html>. 1472 <http://support.ati.com/products/pc/mach64/graphics_xpression.html>.
1470 1473
1471 config FB_ATY_BACKLIGHT 1474 config FB_ATY_BACKLIGHT
1472 bool "Support for backlight control" 1475 bool "Support for backlight control"
1473 depends on FB_ATY 1476 depends on FB_ATY
1474 default y 1477 default y
1475 help 1478 help
1476 Say Y here if you want to control the backlight of your display. 1479 Say Y here if you want to control the backlight of your display.
1477 1480
1478 config FB_S3 1481 config FB_S3
1479 tristate "S3 Trio/Virge support" 1482 tristate "S3 Trio/Virge support"
1480 depends on FB && PCI 1483 depends on FB && PCI
1481 select FB_CFB_FILLRECT 1484 select FB_CFB_FILLRECT
1482 select FB_CFB_COPYAREA 1485 select FB_CFB_COPYAREA
1483 select FB_CFB_IMAGEBLIT 1486 select FB_CFB_IMAGEBLIT
1484 select FB_TILEBLITTING 1487 select FB_TILEBLITTING
1485 select FB_SVGALIB 1488 select FB_SVGALIB
1486 select VGASTATE 1489 select VGASTATE
1487 select FONT_8x16 if FRAMEBUFFER_CONSOLE 1490 select FONT_8x16 if FRAMEBUFFER_CONSOLE
1488 ---help--- 1491 ---help---
1489 Driver for graphics boards with S3 Trio / S3 Virge chip. 1492 Driver for graphics boards with S3 Trio / S3 Virge chip.
1490 1493
1491 config FB_S3_DDC 1494 config FB_S3_DDC
1492 bool "DDC for S3 support" 1495 bool "DDC for S3 support"
1493 depends on FB_S3 1496 depends on FB_S3
1494 select FB_DDC 1497 select FB_DDC
1495 default y 1498 default y
1496 help 1499 help
1497 Say Y here if you want DDC support for your S3 graphics card. 1500 Say Y here if you want DDC support for your S3 graphics card.
1498 1501
1499 config FB_SAVAGE 1502 config FB_SAVAGE
1500 tristate "S3 Savage support" 1503 tristate "S3 Savage support"
1501 depends on FB && PCI && EXPERIMENTAL 1504 depends on FB && PCI && EXPERIMENTAL
1502 select FB_MODE_HELPERS 1505 select FB_MODE_HELPERS
1503 select FB_CFB_FILLRECT 1506 select FB_CFB_FILLRECT
1504 select FB_CFB_COPYAREA 1507 select FB_CFB_COPYAREA
1505 select FB_CFB_IMAGEBLIT 1508 select FB_CFB_IMAGEBLIT
1506 select VGASTATE 1509 select VGASTATE
1507 help 1510 help
1508 This driver supports notebooks and computers with S3 Savage PCI/AGP 1511 This driver supports notebooks and computers with S3 Savage PCI/AGP
1509 chips. 1512 chips.
1510 1513
1511 Say Y if you have such a graphics card. 1514 Say Y if you have such a graphics card.
1512 1515
1513 To compile this driver as a module, choose M here; the module 1516 To compile this driver as a module, choose M here; the module
1514 will be called savagefb. 1517 will be called savagefb.
1515 1518
1516 config FB_SAVAGE_I2C 1519 config FB_SAVAGE_I2C
1517 bool "Enable DDC2 Support" 1520 bool "Enable DDC2 Support"
1518 depends on FB_SAVAGE 1521 depends on FB_SAVAGE
1519 select FB_DDC 1522 select FB_DDC
1520 help 1523 help
1521 This enables I2C support for S3 Savage Chipsets. This is used 1524 This enables I2C support for S3 Savage Chipsets. This is used
1522 only for getting EDID information from the attached display 1525 only for getting EDID information from the attached display
1523 allowing for robust video mode handling and switching. 1526 allowing for robust video mode handling and switching.
1524 1527
1525 Because fbdev-2.6 requires that drivers must be able to 1528 Because fbdev-2.6 requires that drivers must be able to
1526 independently validate video mode parameters, you should say Y 1529 independently validate video mode parameters, you should say Y
1527 here. 1530 here.
1528 1531
1529 config FB_SAVAGE_ACCEL 1532 config FB_SAVAGE_ACCEL
1530 bool "Enable Console Acceleration" 1533 bool "Enable Console Acceleration"
1531 depends on FB_SAVAGE 1534 depends on FB_SAVAGE
1532 default n 1535 default n
1533 help 1536 help
1534 This option will compile in console acceleration support. If 1537 This option will compile in console acceleration support. If
1535 the resulting framebuffer console has bothersome glitches, then 1538 the resulting framebuffer console has bothersome glitches, then
1536 choose N here. 1539 choose N here.
1537 1540
1538 config FB_SIS 1541 config FB_SIS
1539 tristate "SiS/XGI display support" 1542 tristate "SiS/XGI display support"
1540 depends on FB && PCI 1543 depends on FB && PCI
1541 select FB_CFB_FILLRECT 1544 select FB_CFB_FILLRECT
1542 select FB_CFB_COPYAREA 1545 select FB_CFB_COPYAREA
1543 select FB_CFB_IMAGEBLIT 1546 select FB_CFB_IMAGEBLIT
1544 select FB_BOOT_VESA_SUPPORT if FB_SIS = y 1547 select FB_BOOT_VESA_SUPPORT if FB_SIS = y
1545 help 1548 help
1546 This is the frame buffer device driver for the SiS 300, 315, 330 1549 This is the frame buffer device driver for the SiS 300, 315, 330
1547 and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets. 1550 and 340 series as well as XGI V3XT, V5, V8, Z7 graphics chipsets.
1548 Specs available at <http://www.sis.com> and <http://www.xgitech.com>. 1551 Specs available at <http://www.sis.com> and <http://www.xgitech.com>.
1549 1552
1550 To compile this driver as a module, choose M here; the module 1553 To compile this driver as a module, choose M here; the module
1551 will be called sisfb. 1554 will be called sisfb.
1552 1555
1553 config FB_SIS_300 1556 config FB_SIS_300
1554 bool "SiS 300 series support" 1557 bool "SiS 300 series support"
1555 depends on FB_SIS 1558 depends on FB_SIS
1556 help 1559 help
1557 Say Y here to support use of the SiS 300/305, 540, 630 and 730. 1560 Say Y here to support use of the SiS 300/305, 540, 630 and 730.
1558 1561
1559 config FB_SIS_315 1562 config FB_SIS_315
1560 bool "SiS 315/330/340 series and XGI support" 1563 bool "SiS 315/330/340 series and XGI support"
1561 depends on FB_SIS 1564 depends on FB_SIS
1562 help 1565 help
1563 Say Y here to support use of the SiS 315, 330 and 340 series 1566 Say Y here to support use of the SiS 315, 330 and 340 series
1564 (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well 1567 (315/H/PRO, 55x, 650, 651, 740, 330, 661, 741, 760, 761) as well
1565 as XGI V3XT, V5, V8 and Z7. 1568 as XGI V3XT, V5, V8 and Z7.
1566 1569
1567 config FB_VIA 1570 config FB_VIA
1568 tristate "VIA UniChrome (Pro) and Chrome9 display support" 1571 tristate "VIA UniChrome (Pro) and Chrome9 display support"
1569 depends on FB && PCI && X86 1572 depends on FB && PCI && X86
1570 select FB_CFB_FILLRECT 1573 select FB_CFB_FILLRECT
1571 select FB_CFB_COPYAREA 1574 select FB_CFB_COPYAREA
1572 select FB_CFB_IMAGEBLIT 1575 select FB_CFB_IMAGEBLIT
1573 select I2C_ALGOBIT 1576 select I2C_ALGOBIT
1574 select I2C 1577 select I2C
1575 select GPIOLIB 1578 select GPIOLIB
1576 help 1579 help
1577 This is the frame buffer device driver for Graphics chips of VIA 1580 This is the frame buffer device driver for Graphics chips of VIA
1578 UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/ 1581 UniChrome (Pro) Family (CLE266,PM800/CN400,P4M800CE/P4M800Pro/
1579 CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896 1582 CN700/VN800,CX700/VX700,P4M890) and Chrome9 Family (K8M890,CN896
1580 /P4M900,VX800) 1583 /P4M900,VX800)
1581 Say Y if you have a VIA UniChrome graphics board. 1584 Say Y if you have a VIA UniChrome graphics board.
1582 1585
1583 To compile this driver as a module, choose M here: the 1586 To compile this driver as a module, choose M here: the
1584 module will be called viafb. 1587 module will be called viafb.
1585 1588
1586 if FB_VIA 1589 if FB_VIA
1587 1590
1588 config FB_VIA_DIRECT_PROCFS 1591 config FB_VIA_DIRECT_PROCFS
1589 bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)" 1592 bool "direct hardware access via procfs (DEPRECATED)(DANGEROUS)"
1590 depends on FB_VIA 1593 depends on FB_VIA
1591 default n 1594 default n
1592 help 1595 help
1593 Allow direct hardware access to some output registers via procfs. 1596 Allow direct hardware access to some output registers via procfs.
1594 This is dangerous but may provide the only chance to get the 1597 This is dangerous but may provide the only chance to get the
1595 correct output device configuration. 1598 correct output device configuration.
1596 Its use is strongly discouraged. 1599 Its use is strongly discouraged.
1597 1600
1598 config FB_VIA_X_COMPATIBILITY 1601 config FB_VIA_X_COMPATIBILITY
1599 bool "X server compatibility" 1602 bool "X server compatibility"
1600 depends on FB_VIA 1603 depends on FB_VIA
1601 default n 1604 default n
1602 help 1605 help
1603 This option reduces the functionality (power saving, ...) of the 1606 This option reduces the functionality (power saving, ...) of the
1604 framebuffer to avoid negative impact on the OpenChrome X server. 1607 framebuffer to avoid negative impact on the OpenChrome X server.
1605 If you use any X server other than fbdev you should enable this 1608 If you use any X server other than fbdev you should enable this
1606 otherwise it should be safe to disable it and allow using all 1609 otherwise it should be safe to disable it and allow using all
1607 features. 1610 features.
1608 1611
1609 endif 1612 endif
1610 1613
1611 config FB_NEOMAGIC 1614 config FB_NEOMAGIC
1612 tristate "NeoMagic display support" 1615 tristate "NeoMagic display support"
1613 depends on FB && PCI 1616 depends on FB && PCI
1614 select FB_MODE_HELPERS 1617 select FB_MODE_HELPERS
1615 select FB_CFB_FILLRECT 1618 select FB_CFB_FILLRECT
1616 select FB_CFB_COPYAREA 1619 select FB_CFB_COPYAREA
1617 select FB_CFB_IMAGEBLIT 1620 select FB_CFB_IMAGEBLIT
1618 select VGASTATE 1621 select VGASTATE
1619 help 1622 help
1620 This driver supports notebooks with NeoMagic PCI chips. 1623 This driver supports notebooks with NeoMagic PCI chips.
1621 Say Y if you have such a graphics card. 1624 Say Y if you have such a graphics card.
1622 1625
1623 To compile this driver as a module, choose M here: the 1626 To compile this driver as a module, choose M here: the
1624 module will be called neofb. 1627 module will be called neofb.
1625 1628
1626 config FB_KYRO 1629 config FB_KYRO
1627 tristate "IMG Kyro support" 1630 tristate "IMG Kyro support"
1628 depends on FB && PCI 1631 depends on FB && PCI
1629 select FB_CFB_FILLRECT 1632 select FB_CFB_FILLRECT
1630 select FB_CFB_COPYAREA 1633 select FB_CFB_COPYAREA
1631 select FB_CFB_IMAGEBLIT 1634 select FB_CFB_IMAGEBLIT
1632 help 1635 help
1633 Say Y here if you have a STG4000 / Kyro / PowerVR 3 based 1636 Say Y here if you have a STG4000 / Kyro / PowerVR 3 based
1634 graphics board. 1637 graphics board.
1635 1638
1636 To compile this driver as a module, choose M here: the 1639 To compile this driver as a module, choose M here: the
1637 module will be called kyrofb. 1640 module will be called kyrofb.
1638 1641
1639 config FB_3DFX 1642 config FB_3DFX
1640 tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support" 1643 tristate "3Dfx Banshee/Voodoo3/Voodoo5 display support"
1641 depends on FB && PCI 1644 depends on FB && PCI
1642 select FB_CFB_IMAGEBLIT 1645 select FB_CFB_IMAGEBLIT
1643 select FB_CFB_FILLRECT 1646 select FB_CFB_FILLRECT
1644 select FB_CFB_COPYAREA 1647 select FB_CFB_COPYAREA
1645 select FB_MODE_HELPERS 1648 select FB_MODE_HELPERS
1646 help 1649 help
1647 This driver supports graphics boards with the 3Dfx Banshee, 1650 This driver supports graphics boards with the 3Dfx Banshee,
1648 Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have 1651 Voodoo3 or VSA-100 (aka Voodoo4/5) chips. Say Y if you have
1649 such a graphics board. 1652 such a graphics board.
1650 1653
1651 To compile this driver as a module, choose M here: the 1654 To compile this driver as a module, choose M here: the
1652 module will be called tdfxfb. 1655 module will be called tdfxfb.
1653 1656
1654 config FB_3DFX_ACCEL 1657 config FB_3DFX_ACCEL
1655 bool "3Dfx Acceleration functions (EXPERIMENTAL)" 1658 bool "3Dfx Acceleration functions (EXPERIMENTAL)"
1656 depends on FB_3DFX && EXPERIMENTAL 1659 depends on FB_3DFX && EXPERIMENTAL
1657 ---help--- 1660 ---help---
1658 This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer 1661 This will compile the 3Dfx Banshee/Voodoo3/VSA-100 frame buffer
1659 device driver with acceleration functions. 1662 device driver with acceleration functions.
1660 1663
1661 config FB_3DFX_I2C 1664 config FB_3DFX_I2C
1662 bool "Enable DDC/I2C support" 1665 bool "Enable DDC/I2C support"
1663 depends on FB_3DFX && EXPERIMENTAL 1666 depends on FB_3DFX && EXPERIMENTAL
1664 select FB_DDC 1667 select FB_DDC
1665 default y 1668 default y
1666 help 1669 help
1667 Say Y here if you want DDC/I2C support for your 3dfx Voodoo3. 1670 Say Y here if you want DDC/I2C support for your 3dfx Voodoo3.
1668 1671
1669 config FB_VOODOO1 1672 config FB_VOODOO1
1670 tristate "3Dfx Voodoo Graphics (sst1) support" 1673 tristate "3Dfx Voodoo Graphics (sst1) support"
1671 depends on FB && PCI 1674 depends on FB && PCI
1672 select FB_CFB_FILLRECT 1675 select FB_CFB_FILLRECT
1673 select FB_CFB_COPYAREA 1676 select FB_CFB_COPYAREA
1674 select FB_CFB_IMAGEBLIT 1677 select FB_CFB_IMAGEBLIT
1675 ---help--- 1678 ---help---
1676 Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or 1679 Say Y here if you have a 3Dfx Voodoo Graphics (Voodoo1/sst1) or
1677 Voodoo2 (cvg) based graphics card. 1680 Voodoo2 (cvg) based graphics card.
1678 1681
1679 To compile this driver as a module, choose M here: the 1682 To compile this driver as a module, choose M here: the
1680 module will be called sstfb. 1683 module will be called sstfb.
1681 1684
1682 WARNING: Do not use any application that uses the 3D engine 1685 WARNING: Do not use any application that uses the 3D engine
1683 (namely glide) while using this driver. 1686 (namely glide) while using this driver.
1684 Please read the <file:Documentation/fb/sstfb.txt> for supported 1687 Please read the <file:Documentation/fb/sstfb.txt> for supported
1685 options and other important info support. 1688 options and other important info support.
1686 1689
1687 config FB_VT8623 1690 config FB_VT8623
1688 tristate "VIA VT8623 support" 1691 tristate "VIA VT8623 support"
1689 depends on FB && PCI 1692 depends on FB && PCI
1690 select FB_CFB_FILLRECT 1693 select FB_CFB_FILLRECT
1691 select FB_CFB_COPYAREA 1694 select FB_CFB_COPYAREA
1692 select FB_CFB_IMAGEBLIT 1695 select FB_CFB_IMAGEBLIT
1693 select FB_TILEBLITTING 1696 select FB_TILEBLITTING
1694 select FB_SVGALIB 1697 select FB_SVGALIB
1695 select VGASTATE 1698 select VGASTATE
1696 select FONT_8x16 if FRAMEBUFFER_CONSOLE 1699 select FONT_8x16 if FRAMEBUFFER_CONSOLE
1697 ---help--- 1700 ---help---
1698 Driver for CastleRock integrated graphics core in the 1701 Driver for CastleRock integrated graphics core in the
1699 VIA VT8623 [Apollo CLE266] chipset. 1702 VIA VT8623 [Apollo CLE266] chipset.
1700 1703
1701 config FB_TRIDENT 1704 config FB_TRIDENT
1702 tristate "Trident/CyberXXX/CyberBlade support" 1705 tristate "Trident/CyberXXX/CyberBlade support"
1703 depends on FB && PCI 1706 depends on FB && PCI
1704 select FB_CFB_FILLRECT 1707 select FB_CFB_FILLRECT
1705 select FB_CFB_COPYAREA 1708 select FB_CFB_COPYAREA
1706 select FB_CFB_IMAGEBLIT 1709 select FB_CFB_IMAGEBLIT
1707 ---help--- 1710 ---help---
1708 This is the frame buffer device driver for Trident PCI/AGP chipsets. 1711 This is the frame buffer device driver for Trident PCI/AGP chipsets.
1709 Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D 1712 Supported chipset families are TGUI 9440/96XX, 3DImage, Blade3D
1710 and Blade XP. 1713 and Blade XP.
1711 There are also integrated versions of these chips called CyberXXXX, 1714 There are also integrated versions of these chips called CyberXXXX,
1712 CyberImage or CyberBlade. These chips are mostly found in laptops 1715 CyberImage or CyberBlade. These chips are mostly found in laptops
1713 but also on some motherboards including early VIA EPIA motherboards. 1716 but also on some motherboards including early VIA EPIA motherboards.
1714 For more information, read <file:Documentation/fb/tridentfb.txt> 1717 For more information, read <file:Documentation/fb/tridentfb.txt>
1715 1718
1716 Say Y if you have such a graphics board. 1719 Say Y if you have such a graphics board.
1717 1720
1718 To compile this driver as a module, choose M here: the 1721 To compile this driver as a module, choose M here: the
1719 module will be called tridentfb. 1722 module will be called tridentfb.
1720 1723
1721 config FB_ARK 1724 config FB_ARK
1722 tristate "ARK 2000PV support" 1725 tristate "ARK 2000PV support"
1723 depends on FB && PCI 1726 depends on FB && PCI
1724 select FB_CFB_FILLRECT 1727 select FB_CFB_FILLRECT
1725 select FB_CFB_COPYAREA 1728 select FB_CFB_COPYAREA
1726 select FB_CFB_IMAGEBLIT 1729 select FB_CFB_IMAGEBLIT
1727 select FB_TILEBLITTING 1730 select FB_TILEBLITTING
1728 select FB_SVGALIB 1731 select FB_SVGALIB
1729 select VGASTATE 1732 select VGASTATE
1730 select FONT_8x16 if FRAMEBUFFER_CONSOLE 1733 select FONT_8x16 if FRAMEBUFFER_CONSOLE
1731 ---help--- 1734 ---help---
1732 Driver for PCI graphics boards with ARK 2000PV chip 1735 Driver for PCI graphics boards with ARK 2000PV chip
1733 and ICS 5342 RAMDAC. 1736 and ICS 5342 RAMDAC.
1734 1737
1735 config FB_PM3 1738 config FB_PM3
1736 tristate "Permedia3 support (EXPERIMENTAL)" 1739 tristate "Permedia3 support (EXPERIMENTAL)"
1737 depends on FB && PCI && EXPERIMENTAL 1740 depends on FB && PCI && EXPERIMENTAL
1738 select FB_CFB_FILLRECT 1741 select FB_CFB_FILLRECT
1739 select FB_CFB_COPYAREA 1742 select FB_CFB_COPYAREA
1740 select FB_CFB_IMAGEBLIT 1743 select FB_CFB_IMAGEBLIT
1741 help 1744 help
1742 This is the frame buffer device driver for the 3DLabs Permedia3 1745 This is the frame buffer device driver for the 3DLabs Permedia3
1743 chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 & 1746 chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
1744 similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000 1747 similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
1745 and maybe other boards. 1748 and maybe other boards.
1746 1749
1747 config FB_CARMINE 1750 config FB_CARMINE
1748 tristate "Fujitsu carmine frame buffer support" 1751 tristate "Fujitsu carmine frame buffer support"
1749 depends on FB && PCI 1752 depends on FB && PCI
1750 select FB_CFB_FILLRECT 1753 select FB_CFB_FILLRECT
1751 select FB_CFB_COPYAREA 1754 select FB_CFB_COPYAREA
1752 select FB_CFB_IMAGEBLIT 1755 select FB_CFB_IMAGEBLIT
1753 help 1756 help
1754 This is the frame buffer device driver for the Fujitsu Carmine chip. 1757 This is the frame buffer device driver for the Fujitsu Carmine chip.
1755 The driver provides two independent frame buffer devices. 1758 The driver provides two independent frame buffer devices.
1756 1759
1757 choice 1760 choice
1758 depends on FB_CARMINE 1761 depends on FB_CARMINE
1759 prompt "DRAM timing" 1762 prompt "DRAM timing"
1760 default FB_CARMINE_DRAM_EVAL 1763 default FB_CARMINE_DRAM_EVAL
1761 1764
1762 config FB_CARMINE_DRAM_EVAL 1765 config FB_CARMINE_DRAM_EVAL
1763 bool "Eval board timings" 1766 bool "Eval board timings"
1764 help 1767 help
1765 Use timings which work on the eval card. 1768 Use timings which work on the eval card.
1766 1769
1767 config CARMINE_DRAM_CUSTOM 1770 config CARMINE_DRAM_CUSTOM
1768 bool "Custom board timings" 1771 bool "Custom board timings"
1769 help 1772 help
1770 Use custom board timings. 1773 Use custom board timings.
1771 endchoice 1774 endchoice
1772 1775
1773 config FB_AU1100 1776 config FB_AU1100
1774 bool "Au1100 LCD Driver" 1777 bool "Au1100 LCD Driver"
1775 depends on (FB = y) && MIPS_ALCHEMY 1778 depends on (FB = y) && MIPS_ALCHEMY
1776 select FB_CFB_FILLRECT 1779 select FB_CFB_FILLRECT
1777 select FB_CFB_COPYAREA 1780 select FB_CFB_COPYAREA
1778 select FB_CFB_IMAGEBLIT 1781 select FB_CFB_IMAGEBLIT
1779 help 1782 help
1780 This is the framebuffer driver for the AMD Au1100 SOC. It can drive 1783 This is the framebuffer driver for the AMD Au1100 SOC. It can drive
1781 various panels and CRTs by passing in kernel cmd line option 1784 various panels and CRTs by passing in kernel cmd line option
1782 au1100fb:panel=<name>. 1785 au1100fb:panel=<name>.
1783 1786
1784 config FB_AU1200 1787 config FB_AU1200
1785 bool "Au1200/Au1300 LCD Driver" 1788 bool "Au1200/Au1300 LCD Driver"
1786 depends on (FB = y) && MIPS_ALCHEMY 1789 depends on (FB = y) && MIPS_ALCHEMY
1787 select FB_SYS_FILLRECT 1790 select FB_SYS_FILLRECT
1788 select FB_SYS_COPYAREA 1791 select FB_SYS_COPYAREA
1789 select FB_SYS_IMAGEBLIT 1792 select FB_SYS_IMAGEBLIT
1790 select FB_SYS_FOPS 1793 select FB_SYS_FOPS
1791 help 1794 help
1792 This is the framebuffer driver for the Au1200/Au1300 SOCs. 1795 This is the framebuffer driver for the Au1200/Au1300 SOCs.
1793 It can drive various panels and CRTs by passing in kernel cmd line 1796 It can drive various panels and CRTs by passing in kernel cmd line
1794 option au1200fb:panel=<name>. 1797 option au1200fb:panel=<name>.
1795 1798
1796 config FB_VT8500 1799 config FB_VT8500
1797 bool "VT8500 LCD Driver" 1800 bool "VT8500 LCD Driver"
1798 depends on (FB = y) && ARM && ARCH_VT8500 1801 depends on (FB = y) && ARM && ARCH_VT8500
1799 select FB_WMT_GE_ROPS 1802 select FB_WMT_GE_ROPS
1800 select FB_SYS_IMAGEBLIT 1803 select FB_SYS_IMAGEBLIT
1801 help 1804 help
1802 This is the framebuffer driver for VIA VT8500 integrated LCD 1805 This is the framebuffer driver for VIA VT8500 integrated LCD
1803 controller. 1806 controller.
1804 1807
1805 config FB_WM8505 1808 config FB_WM8505
1806 bool "WM8505 frame buffer support" 1809 bool "WM8505 frame buffer support"
1807 depends on (FB = y) && ARM && ARCH_VT8500 1810 depends on (FB = y) && ARM && ARCH_VT8500
1808 select FB_WMT_GE_ROPS 1811 select FB_WMT_GE_ROPS
1809 select FB_SYS_IMAGEBLIT 1812 select FB_SYS_IMAGEBLIT
1810 help 1813 help
1811 This is the framebuffer driver for WonderMedia WM8505/WM8650 1814 This is the framebuffer driver for WonderMedia WM8505/WM8650
1812 integrated LCD controller. 1815 integrated LCD controller.
1813 1816
1814 source "drivers/video/geode/Kconfig" 1817 source "drivers/video/geode/Kconfig"
1815 1818
1816 config FB_HIT 1819 config FB_HIT
1817 tristate "HD64461 Frame Buffer support" 1820 tristate "HD64461 Frame Buffer support"
1818 depends on FB && HD64461 1821 depends on FB && HD64461
1819 select FB_CFB_FILLRECT 1822 select FB_CFB_FILLRECT
1820 select FB_CFB_COPYAREA 1823 select FB_CFB_COPYAREA
1821 select FB_CFB_IMAGEBLIT 1824 select FB_CFB_IMAGEBLIT
1822 help 1825 help
1823 This is the frame buffer device driver for the Hitachi HD64461 LCD 1826 This is the frame buffer device driver for the Hitachi HD64461 LCD
1824 frame buffer card. 1827 frame buffer card.
1825 1828
1826 config FB_PMAG_AA 1829 config FB_PMAG_AA
1827 bool "PMAG-AA TURBOchannel framebuffer support" 1830 bool "PMAG-AA TURBOchannel framebuffer support"
1828 depends on (FB = y) && TC 1831 depends on (FB = y) && TC
1829 select FB_CFB_FILLRECT 1832 select FB_CFB_FILLRECT
1830 select FB_CFB_COPYAREA 1833 select FB_CFB_COPYAREA
1831 select FB_CFB_IMAGEBLIT 1834 select FB_CFB_IMAGEBLIT
1832 help 1835 help
1833 Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1) 1836 Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1)
1834 used mainly in the MIPS-based DECstation series. 1837 used mainly in the MIPS-based DECstation series.
1835 1838
1836 config FB_PMAG_BA 1839 config FB_PMAG_BA
1837 tristate "PMAG-BA TURBOchannel framebuffer support" 1840 tristate "PMAG-BA TURBOchannel framebuffer support"
1838 depends on FB && TC 1841 depends on FB && TC
1839 select FB_CFB_FILLRECT 1842 select FB_CFB_FILLRECT
1840 select FB_CFB_COPYAREA 1843 select FB_CFB_COPYAREA
1841 select FB_CFB_IMAGEBLIT 1844 select FB_CFB_IMAGEBLIT
1842 help 1845 help
1843 Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8) 1846 Support for the PMAG-BA TURBOchannel framebuffer card (1024x864x8)
1844 used mainly in the MIPS-based DECstation series. 1847 used mainly in the MIPS-based DECstation series.
1845 1848
1846 config FB_PMAGB_B 1849 config FB_PMAGB_B
1847 tristate "PMAGB-B TURBOchannel framebuffer support" 1850 tristate "PMAGB-B TURBOchannel framebuffer support"
1848 depends on FB && TC 1851 depends on FB && TC
1849 select FB_CFB_FILLRECT 1852 select FB_CFB_FILLRECT
1850 select FB_CFB_COPYAREA 1853 select FB_CFB_COPYAREA
1851 select FB_CFB_IMAGEBLIT 1854 select FB_CFB_IMAGEBLIT
1852 help 1855 help
1853 Support for the PMAGB-B TURBOchannel framebuffer card used mainly 1856 Support for the PMAGB-B TURBOchannel framebuffer card used mainly
1854 in the MIPS-based DECstation series. The card is currently only 1857 in the MIPS-based DECstation series. The card is currently only
1855 supported in 1280x1024x8 mode. 1858 supported in 1280x1024x8 mode.
1856 1859
1857 config FB_MAXINE 1860 config FB_MAXINE
1858 bool "Maxine (Personal DECstation) onboard framebuffer support" 1861 bool "Maxine (Personal DECstation) onboard framebuffer support"
1859 depends on (FB = y) && MACH_DECSTATION 1862 depends on (FB = y) && MACH_DECSTATION
1860 select FB_CFB_FILLRECT 1863 select FB_CFB_FILLRECT
1861 select FB_CFB_COPYAREA 1864 select FB_CFB_COPYAREA
1862 select FB_CFB_IMAGEBLIT 1865 select FB_CFB_IMAGEBLIT
1863 help 1866 help
1864 Support for the onboard framebuffer (1024x768x8) in the Personal 1867 Support for the onboard framebuffer (1024x768x8) in the Personal
1865 DECstation series (Personal DECstation 5000/20, /25, /33, /50, 1868 DECstation series (Personal DECstation 5000/20, /25, /33, /50,
1866 Codename "Maxine"). 1869 Codename "Maxine").
1867 1870
1868 config FB_G364 1871 config FB_G364
1869 bool "G364 frame buffer support" 1872 bool "G364 frame buffer support"
1870 depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700) 1873 depends on (FB = y) && (MIPS_MAGNUM_4000 || OLIVETTI_M700)
1871 select FB_CFB_FILLRECT 1874 select FB_CFB_FILLRECT
1872 select FB_CFB_COPYAREA 1875 select FB_CFB_COPYAREA
1873 select FB_CFB_IMAGEBLIT 1876 select FB_CFB_IMAGEBLIT
1874 help 1877 help
1875 The G364 driver is the framebuffer used in MIPS Magnum 4000 and 1878 The G364 driver is the framebuffer used in MIPS Magnum 4000 and
1876 Olivetti M700-10 systems. 1879 Olivetti M700-10 systems.
1877 1880
1878 config FB_68328 1881 config FB_68328
1879 bool "Motorola 68328 native frame buffer support" 1882 bool "Motorola 68328 native frame buffer support"
1880 depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328) 1883 depends on (FB = y) && (M68328 || M68EZ328 || M68VZ328)
1881 select FB_CFB_FILLRECT 1884 select FB_CFB_FILLRECT
1882 select FB_CFB_COPYAREA 1885 select FB_CFB_COPYAREA
1883 select FB_CFB_IMAGEBLIT 1886 select FB_CFB_IMAGEBLIT
1884 help 1887 help
1885 Say Y here if you want to support the built-in frame buffer of 1888 Say Y here if you want to support the built-in frame buffer of
1886 the Motorola 68328 CPU family. 1889 the Motorola 68328 CPU family.
1887 1890
1888 config FB_PXA168 1891 config FB_PXA168
1889 tristate "PXA168/910 LCD framebuffer support" 1892 tristate "PXA168/910 LCD framebuffer support"
1890 depends on FB && (CPU_PXA168 || CPU_PXA910) 1893 depends on FB && (CPU_PXA168 || CPU_PXA910)
1891 select FB_CFB_FILLRECT 1894 select FB_CFB_FILLRECT
1892 select FB_CFB_COPYAREA 1895 select FB_CFB_COPYAREA
1893 select FB_CFB_IMAGEBLIT 1896 select FB_CFB_IMAGEBLIT
1894 ---help--- 1897 ---help---
1895 Frame buffer driver for the built-in LCD controller in the Marvell 1898 Frame buffer driver for the built-in LCD controller in the Marvell
1896 MMP processor. 1899 MMP processor.
1897 1900
1898 config FB_PXA 1901 config FB_PXA
1899 tristate "PXA LCD framebuffer support" 1902 tristate "PXA LCD framebuffer support"
1900 depends on FB && ARCH_PXA 1903 depends on FB && ARCH_PXA
1901 select FB_CFB_FILLRECT 1904 select FB_CFB_FILLRECT
1902 select FB_CFB_COPYAREA 1905 select FB_CFB_COPYAREA
1903 select FB_CFB_IMAGEBLIT 1906 select FB_CFB_IMAGEBLIT
1904 ---help--- 1907 ---help---
1905 Frame buffer driver for the built-in LCD controller in the Intel 1908 Frame buffer driver for the built-in LCD controller in the Intel
1906 PXA2x0 processor. 1909 PXA2x0 processor.
1907 1910
1908 This driver is also available as a module ( = code which can be 1911 This driver is also available as a module ( = code which can be
1909 inserted and removed from the running kernel whenever you want). The 1912 inserted and removed from the running kernel whenever you want). The
1910 module will be called pxafb. If you want to compile it as a module, 1913 module will be called pxafb. If you want to compile it as a module,
1911 say M here and read <file:Documentation/kbuild/modules.txt>. 1914 say M here and read <file:Documentation/kbuild/modules.txt>.
1912 1915
1913 If unsure, say N. 1916 If unsure, say N.
1914 1917
1915 config FB_PXA_OVERLAY 1918 config FB_PXA_OVERLAY
1916 bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer" 1919 bool "Support PXA27x/PXA3xx Overlay(s) as framebuffer"
1917 default n 1920 default n
1918 depends on FB_PXA && (PXA27x || PXA3xx) 1921 depends on FB_PXA && (PXA27x || PXA3xx)
1919 1922
1920 config FB_PXA_SMARTPANEL 1923 config FB_PXA_SMARTPANEL
1921 bool "PXA Smartpanel LCD support" 1924 bool "PXA Smartpanel LCD support"
1922 default n 1925 default n
1923 depends on FB_PXA 1926 depends on FB_PXA
1924 1927
1925 config FB_PXA_PARAMETERS 1928 config FB_PXA_PARAMETERS
1926 bool "PXA LCD command line parameters" 1929 bool "PXA LCD command line parameters"
1927 default n 1930 default n
1928 depends on FB_PXA 1931 depends on FB_PXA
1929 ---help--- 1932 ---help---
1930 Enable the use of kernel command line or module parameters 1933 Enable the use of kernel command line or module parameters
1931 to configure the physical properties of the LCD panel when 1934 to configure the physical properties of the LCD panel when
1932 using the PXA LCD driver. 1935 using the PXA LCD driver.
1933 1936
1934 This option allows you to override the panel parameters 1937 This option allows you to override the panel parameters
1935 supplied by the platform in order to support multiple 1938 supplied by the platform in order to support multiple
1936 different models of flatpanel. If you will only be using a 1939 different models of flatpanel. If you will only be using a
1937 single model of flatpanel then you can safely leave this 1940 single model of flatpanel then you can safely leave this
1938 option disabled. 1941 option disabled.
1939 1942
1940 <file:Documentation/fb/pxafb.txt> describes the available parameters. 1943 <file:Documentation/fb/pxafb.txt> describes the available parameters.
1941 1944
1942 config PXA3XX_GCU 1945 config PXA3XX_GCU
1943 tristate "PXA3xx 2D graphics accelerator driver" 1946 tristate "PXA3xx 2D graphics accelerator driver"
1944 depends on FB_PXA 1947 depends on FB_PXA
1945 help 1948 help
1946 Kernelspace driver for the 2D graphics controller unit (GCU) 1949 Kernelspace driver for the 2D graphics controller unit (GCU)
1947 found on PXA3xx processors. There is a counterpart driver in the 1950 found on PXA3xx processors. There is a counterpart driver in the
1948 DirectFB suite, see http://www.directfb.org/ 1951 DirectFB suite, see http://www.directfb.org/
1949 1952
1950 If you compile this as a module, it will be called pxa3xx_gcu. 1953 If you compile this as a module, it will be called pxa3xx_gcu.
1951 1954
1952 config FB_MBX 1955 config FB_MBX
1953 tristate "2700G LCD framebuffer support" 1956 tristate "2700G LCD framebuffer support"
1954 depends on FB && ARCH_PXA 1957 depends on FB && ARCH_PXA
1955 select FB_CFB_FILLRECT 1958 select FB_CFB_FILLRECT
1956 select FB_CFB_COPYAREA 1959 select FB_CFB_COPYAREA
1957 select FB_CFB_IMAGEBLIT 1960 select FB_CFB_IMAGEBLIT
1958 ---help--- 1961 ---help---
1959 Framebuffer driver for the Intel 2700G (Marathon) Graphics 1962 Framebuffer driver for the Intel 2700G (Marathon) Graphics
1960 Accelerator 1963 Accelerator
1961 1964
1962 config FB_MBX_DEBUG 1965 config FB_MBX_DEBUG
1963 bool "Enable debugging info via debugfs" 1966 bool "Enable debugging info via debugfs"
1964 depends on FB_MBX && DEBUG_FS 1967 depends on FB_MBX && DEBUG_FS
1965 default n 1968 default n
1966 ---help--- 1969 ---help---
1967 Enable this if you want debugging information using the debug 1970 Enable this if you want debugging information using the debug
1968 filesystem (debugfs) 1971 filesystem (debugfs)
1969 1972
1970 If unsure, say N. 1973 If unsure, say N.
1971 1974
1972 config FB_FSL_DIU 1975 config FB_FSL_DIU
1973 tristate "Freescale DIU framebuffer support" 1976 tristate "Freescale DIU framebuffer support"
1974 depends on FB && FSL_SOC 1977 depends on FB && FSL_SOC
1975 select FB_MODE_HELPERS 1978 select FB_MODE_HELPERS
1976 select FB_CFB_FILLRECT 1979 select FB_CFB_FILLRECT
1977 select FB_CFB_COPYAREA 1980 select FB_CFB_COPYAREA
1978 select FB_CFB_IMAGEBLIT 1981 select FB_CFB_IMAGEBLIT
1979 select PPC_LIB_RHEAP 1982 select PPC_LIB_RHEAP
1980 ---help--- 1983 ---help---
1981 Framebuffer driver for the Freescale SoC DIU 1984 Framebuffer driver for the Freescale SoC DIU
1982 1985
1983 config FB_W100 1986 config FB_W100
1984 tristate "W100 frame buffer support" 1987 tristate "W100 frame buffer support"
1985 depends on FB && ARCH_PXA 1988 depends on FB && ARCH_PXA
1986 select FB_CFB_FILLRECT 1989 select FB_CFB_FILLRECT
1987 select FB_CFB_COPYAREA 1990 select FB_CFB_COPYAREA
1988 select FB_CFB_IMAGEBLIT 1991 select FB_CFB_IMAGEBLIT
1989 ---help--- 1992 ---help---
1990 Frame buffer driver for the w100 as found on the Sharp SL-Cxx series. 1993 Frame buffer driver for the w100 as found on the Sharp SL-Cxx series.
1991 It can also drive the w3220 chip found on iPAQ hx4700. 1994 It can also drive the w3220 chip found on iPAQ hx4700.
1992 1995
1993 This driver is also available as a module ( = code which can be 1996 This driver is also available as a module ( = code which can be
1994 inserted and removed from the running kernel whenever you want). The 1997 inserted and removed from the running kernel whenever you want). The
1995 module will be called w100fb. If you want to compile it as a module, 1998 module will be called w100fb. If you want to compile it as a module,
1996 say M here and read <file:Documentation/kbuild/modules.txt>. 1999 say M here and read <file:Documentation/kbuild/modules.txt>.
1997 2000
1998 If unsure, say N. 2001 If unsure, say N.
1999 2002
2000 config FB_SH_MOBILE_LCDC 2003 config FB_SH_MOBILE_LCDC
2001 tristate "SuperH Mobile LCDC framebuffer support" 2004 tristate "SuperH Mobile LCDC framebuffer support"
2002 depends on FB && (SUPERH || ARCH_SHMOBILE) && HAVE_CLK 2005 depends on FB && (SUPERH || ARCH_SHMOBILE) && HAVE_CLK
2003 select FB_SYS_FILLRECT 2006 select FB_SYS_FILLRECT
2004 select FB_SYS_COPYAREA 2007 select FB_SYS_COPYAREA
2005 select FB_SYS_IMAGEBLIT 2008 select FB_SYS_IMAGEBLIT
2006 select FB_SYS_FOPS 2009 select FB_SYS_FOPS
2007 select FB_DEFERRED_IO 2010 select FB_DEFERRED_IO
2008 select FB_BACKLIGHT 2011 select FB_BACKLIGHT
2009 select SH_MIPI_DSI if SH_LCD_MIPI_DSI 2012 select SH_MIPI_DSI if SH_LCD_MIPI_DSI
2010 ---help--- 2013 ---help---
2011 Frame buffer driver for the on-chip SH-Mobile LCD controller. 2014 Frame buffer driver for the on-chip SH-Mobile LCD controller.
2012 2015
2013 config FB_SH_MOBILE_HDMI 2016 config FB_SH_MOBILE_HDMI
2014 tristate "SuperH Mobile HDMI controller support" 2017 tristate "SuperH Mobile HDMI controller support"
2015 depends on FB_SH_MOBILE_LCDC 2018 depends on FB_SH_MOBILE_LCDC
2016 select FB_MODE_HELPERS 2019 select FB_MODE_HELPERS
2017 select SOUND 2020 select SOUND
2018 select SND 2021 select SND
2019 select SND_SOC 2022 select SND_SOC
2020 ---help--- 2023 ---help---
2021 Driver for the on-chip SH-Mobile HDMI controller. 2024 Driver for the on-chip SH-Mobile HDMI controller.
2022 2025
2023 config FB_TMIO 2026 config FB_TMIO
2024 tristate "Toshiba Mobile IO FrameBuffer support" 2027 tristate "Toshiba Mobile IO FrameBuffer support"
2025 depends on FB && MFD_CORE 2028 depends on FB && MFD_CORE
2026 select FB_CFB_FILLRECT 2029 select FB_CFB_FILLRECT
2027 select FB_CFB_COPYAREA 2030 select FB_CFB_COPYAREA
2028 select FB_CFB_IMAGEBLIT 2031 select FB_CFB_IMAGEBLIT
2029 ---help--- 2032 ---help---
2030 Frame buffer driver for the Toshiba Mobile IO integrated as found 2033 Frame buffer driver for the Toshiba Mobile IO integrated as found
2031 on the Sharp SL-6000 series 2034 on the Sharp SL-6000 series
2032 2035
2033 This driver is also available as a module ( = code which can be 2036 This driver is also available as a module ( = code which can be
2034 inserted and removed from the running kernel whenever you want). The 2037 inserted and removed from the running kernel whenever you want). The
2035 module will be called tmiofb. If you want to compile it as a module, 2038 module will be called tmiofb. If you want to compile it as a module,
2036 say M here and read <file:Documentation/kbuild/modules.txt>. 2039 say M here and read <file:Documentation/kbuild/modules.txt>.
2037 2040
2038 If unsure, say N. 2041 If unsure, say N.
2039 2042
2040 config FB_TMIO_ACCELL 2043 config FB_TMIO_ACCELL
2041 bool "tmiofb acceleration" 2044 bool "tmiofb acceleration"
2042 depends on FB_TMIO 2045 depends on FB_TMIO
2043 default y 2046 default y
2044 2047
2045 config FB_S3C 2048 config FB_S3C
2046 tristate "Samsung S3C framebuffer support" 2049 tristate "Samsung S3C framebuffer support"
2047 depends on FB && (S3C_DEV_FB || S5P_DEV_FIMD0) 2050 depends on FB && (S3C_DEV_FB || S5P_DEV_FIMD0)
2048 select FB_CFB_FILLRECT 2051 select FB_CFB_FILLRECT
2049 select FB_CFB_COPYAREA 2052 select FB_CFB_COPYAREA
2050 select FB_CFB_IMAGEBLIT 2053 select FB_CFB_IMAGEBLIT
2051 ---help--- 2054 ---help---
2052 Frame buffer driver for the built-in FB controller in the Samsung 2055 Frame buffer driver for the built-in FB controller in the Samsung
2053 SoC line from the S3C2443 onwards, including the S3C2416, S3C2450, 2056 SoC line from the S3C2443 onwards, including the S3C2416, S3C2450,
2054 and the S3C64XX series such as the S3C6400 and S3C6410. 2057 and the S3C64XX series such as the S3C6400 and S3C6410.
2055 2058
2056 These chips all have the same basic framebuffer design with the 2059 These chips all have the same basic framebuffer design with the
2057 actual capabilities depending on the chip. For instance the S3C6400 2060 actual capabilities depending on the chip. For instance the S3C6400
2058 and S3C6410 support 4 hardware windows whereas the S3C24XX series 2061 and S3C6410 support 4 hardware windows whereas the S3C24XX series
2059 currently only have two. 2062 currently only have two.
2060 2063
2061 Currently the support is only for the S3C6400 and S3C6410 SoCs. 2064 Currently the support is only for the S3C6400 and S3C6410 SoCs.
2062 2065
2063 config FB_S3C_DEBUG_REGWRITE 2066 config FB_S3C_DEBUG_REGWRITE
2064 bool "Debug register writes" 2067 bool "Debug register writes"
2065 depends on FB_S3C 2068 depends on FB_S3C
2066 ---help--- 2069 ---help---
2067 Show all register writes via pr_debug() 2070 Show all register writes via pr_debug()
2068 2071
2069 config FB_S3C2410 2072 config FB_S3C2410
2070 tristate "S3C2410 LCD framebuffer support" 2073 tristate "S3C2410 LCD framebuffer support"
2071 depends on FB && ARCH_S3C24XX 2074 depends on FB && ARCH_S3C24XX
2072 select FB_CFB_FILLRECT 2075 select FB_CFB_FILLRECT
2073 select FB_CFB_COPYAREA 2076 select FB_CFB_COPYAREA
2074 select FB_CFB_IMAGEBLIT 2077 select FB_CFB_IMAGEBLIT
2075 ---help--- 2078 ---help---
2076 Frame buffer driver for the built-in LCD controller in the Samsung 2079 Frame buffer driver for the built-in LCD controller in the Samsung
2077 S3C2410 processor. 2080 S3C2410 processor.
2078 2081
2079 This driver is also available as a module ( = code which can be 2082 This driver is also available as a module ( = code which can be
2080 inserted and removed from the running kernel whenever you want). The 2083 inserted and removed from the running kernel whenever you want). The
2081 module will be called s3c2410fb. If you want to compile it as a module, 2084 module will be called s3c2410fb. If you want to compile it as a module,
2082 say M here and read <file:Documentation/kbuild/modules.txt>. 2085 say M here and read <file:Documentation/kbuild/modules.txt>.
2083 2086
2084 If unsure, say N. 2087 If unsure, say N.
2085 config FB_S3C2410_DEBUG 2088 config FB_S3C2410_DEBUG
2086 bool "S3C2410 lcd debug messages" 2089 bool "S3C2410 lcd debug messages"
2087 depends on FB_S3C2410 2090 depends on FB_S3C2410
2088 help 2091 help
2089 Turn on debugging messages. Note that you can set/unset at run time 2092 Turn on debugging messages. Note that you can set/unset at run time
2090 through sysfs 2093 through sysfs
2091 2094
2092 config FB_NUC900 2095 config FB_NUC900
2093 bool "NUC900 LCD framebuffer support" 2096 bool "NUC900 LCD framebuffer support"
2094 depends on FB && ARCH_W90X900 2097 depends on FB && ARCH_W90X900
2095 select FB_CFB_FILLRECT 2098 select FB_CFB_FILLRECT
2096 select FB_CFB_COPYAREA 2099 select FB_CFB_COPYAREA
2097 select FB_CFB_IMAGEBLIT 2100 select FB_CFB_IMAGEBLIT
2098 ---help--- 2101 ---help---
2099 Frame buffer driver for the built-in LCD controller in the Nuvoton 2102 Frame buffer driver for the built-in LCD controller in the Nuvoton
2100 NUC900 processor 2103 NUC900 processor
2101 2104
2102 config GPM1040A0_320X240 2105 config GPM1040A0_320X240
2103 bool "Giantplus Technology GPM1040A0 320x240 Color TFT LCD" 2106 bool "Giantplus Technology GPM1040A0 320x240 Color TFT LCD"
2104 depends on FB_NUC900 2107 depends on FB_NUC900
2105 2108
2106 config FB_NUC900_DEBUG 2109 config FB_NUC900_DEBUG
2107 bool "NUC900 lcd debug messages" 2110 bool "NUC900 lcd debug messages"
2108 depends on FB_NUC900 2111 depends on FB_NUC900
2109 help 2112 help
2110 Turn on debugging messages. Note that you can set/unset at run time 2113 Turn on debugging messages. Note that you can set/unset at run time
2111 through sysfs 2114 through sysfs
2112 2115
2113 config FB_SM501 2116 config FB_SM501
2114 tristate "Silicon Motion SM501 framebuffer support" 2117 tristate "Silicon Motion SM501 framebuffer support"
2115 depends on FB && MFD_SM501 2118 depends on FB && MFD_SM501
2116 select FB_CFB_FILLRECT 2119 select FB_CFB_FILLRECT
2117 select FB_CFB_COPYAREA 2120 select FB_CFB_COPYAREA
2118 select FB_CFB_IMAGEBLIT 2121 select FB_CFB_IMAGEBLIT
2119 ---help--- 2122 ---help---
2120 Frame buffer driver for the CRT and LCD controllers in the Silicon 2123 Frame buffer driver for the CRT and LCD controllers in the Silicon
2121 Motion SM501. 2124 Motion SM501.
2122 2125
2123 This driver is also available as a module ( = code which can be 2126 This driver is also available as a module ( = code which can be
2124 inserted and removed from the running kernel whenever you want). The 2127 inserted and removed from the running kernel whenever you want). The
2125 module will be called sm501fb. If you want to compile it as a module, 2128 module will be called sm501fb. If you want to compile it as a module,
2126 say M here and read <file:Documentation/kbuild/modules.txt>. 2129 say M here and read <file:Documentation/kbuild/modules.txt>.
2127 2130
2128 If unsure, say N. 2131 If unsure, say N.
2129 2132
2130 config FB_SMSCUFX 2133 config FB_SMSCUFX
2131 tristate "SMSC UFX6000/7000 USB Framebuffer support" 2134 tristate "SMSC UFX6000/7000 USB Framebuffer support"
2132 depends on FB && USB 2135 depends on FB && USB
2133 select FB_MODE_HELPERS 2136 select FB_MODE_HELPERS
2134 select FB_SYS_FILLRECT 2137 select FB_SYS_FILLRECT
2135 select FB_SYS_COPYAREA 2138 select FB_SYS_COPYAREA
2136 select FB_SYS_IMAGEBLIT 2139 select FB_SYS_IMAGEBLIT
2137 select FB_SYS_FOPS 2140 select FB_SYS_FOPS
2138 select FB_DEFERRED_IO 2141 select FB_DEFERRED_IO
2139 ---help--- 2142 ---help---
2140 This is a kernel framebuffer driver for SMSC UFX USB devices. 2143 This is a kernel framebuffer driver for SMSC UFX USB devices.
2141 Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and 2144 Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
2142 mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000 2145 mplayer -vo fbdev. Supports both UFX6000 (USB 2.0) and UFX7000
2143 (USB 3.0) devices. 2146 (USB 3.0) devices.
2144 To compile as a module, choose M here: the module name is smscufx. 2147 To compile as a module, choose M here: the module name is smscufx.
2145 2148
2146 config FB_UDL 2149 config FB_UDL
2147 tristate "Displaylink USB Framebuffer support" 2150 tristate "Displaylink USB Framebuffer support"
2148 depends on FB && USB 2151 depends on FB && USB
2149 select FB_MODE_HELPERS 2152 select FB_MODE_HELPERS
2150 select FB_SYS_FILLRECT 2153 select FB_SYS_FILLRECT
2151 select FB_SYS_COPYAREA 2154 select FB_SYS_COPYAREA
2152 select FB_SYS_IMAGEBLIT 2155 select FB_SYS_IMAGEBLIT
2153 select FB_SYS_FOPS 2156 select FB_SYS_FOPS
2154 select FB_DEFERRED_IO 2157 select FB_DEFERRED_IO
2155 ---help--- 2158 ---help---
2156 This is a kernel framebuffer driver for DisplayLink USB devices. 2159 This is a kernel framebuffer driver for DisplayLink USB devices.
2157 Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and 2160 Supports fbdev clients like xf86-video-fbdev, kdrive, fbi, and
2158 mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices. 2161 mplayer -vo fbdev. Supports all USB 2.0 era DisplayLink devices.
2159 To compile as a module, choose M here: the module name is udlfb. 2162 To compile as a module, choose M here: the module name is udlfb.
2160 2163
2161 config FB_IBM_GXT4500 2164 config FB_IBM_GXT4500
2162 tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors" 2165 tristate "Framebuffer support for IBM GXT4000P/4500P/6000P/6500P adaptors"
2163 depends on FB && PPC 2166 depends on FB && PPC
2164 select FB_CFB_FILLRECT 2167 select FB_CFB_FILLRECT
2165 select FB_CFB_COPYAREA 2168 select FB_CFB_COPYAREA
2166 select FB_CFB_IMAGEBLIT 2169 select FB_CFB_IMAGEBLIT
2167 ---help--- 2170 ---help---
2168 Say Y here to enable support for the IBM GXT4000P/6000P and 2171 Say Y here to enable support for the IBM GXT4000P/6000P and
2169 GXT4500P/6500P display adaptor based on Raster Engine RC1000, 2172 GXT4500P/6500P display adaptor based on Raster Engine RC1000,
2170 found on some IBM System P (pSeries) machines. This driver 2173 found on some IBM System P (pSeries) machines. This driver
2171 doesn't use Geometry Engine GT1000. 2174 doesn't use Geometry Engine GT1000.
2172 2175
2173 config FB_PS3 2176 config FB_PS3
2174 tristate "PS3 GPU framebuffer driver" 2177 tristate "PS3 GPU framebuffer driver"
2175 depends on FB && PS3_PS3AV 2178 depends on FB && PS3_PS3AV
2176 select FB_SYS_FILLRECT 2179 select FB_SYS_FILLRECT
2177 select FB_SYS_COPYAREA 2180 select FB_SYS_COPYAREA
2178 select FB_SYS_IMAGEBLIT 2181 select FB_SYS_IMAGEBLIT
2179 select FB_SYS_FOPS 2182 select FB_SYS_FOPS
2180 select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE 2183 select VT_HW_CONSOLE_BINDING if FRAMEBUFFER_CONSOLE
2181 ---help--- 2184 ---help---
2182 Include support for the virtual frame buffer in the PS3 platform. 2185 Include support for the virtual frame buffer in the PS3 platform.
2183 2186
2184 config FB_PS3_DEFAULT_SIZE_M 2187 config FB_PS3_DEFAULT_SIZE_M
2185 int "PS3 default frame buffer size (in MiB)" 2188 int "PS3 default frame buffer size (in MiB)"
2186 depends on FB_PS3 2189 depends on FB_PS3
2187 default 9 2190 default 9
2188 ---help--- 2191 ---help---
2189 This is the default size (in MiB) of the virtual frame buffer in 2192 This is the default size (in MiB) of the virtual frame buffer in
2190 the PS3. 2193 the PS3.
2191 The default value can be overridden on the kernel command line 2194 The default value can be overridden on the kernel command line
2192 using the "ps3fb" option (e.g. "ps3fb=9M"); 2195 using the "ps3fb" option (e.g. "ps3fb=9M");
2193 2196
2194 config FB_XILINX 2197 config FB_XILINX
2195 tristate "Xilinx frame buffer support" 2198 tristate "Xilinx frame buffer support"
2196 depends on FB && (XILINX_VIRTEX || MICROBLAZE) 2199 depends on FB && (XILINX_VIRTEX || MICROBLAZE)
2197 select FB_CFB_FILLRECT 2200 select FB_CFB_FILLRECT
2198 select FB_CFB_COPYAREA 2201 select FB_CFB_COPYAREA
2199 select FB_CFB_IMAGEBLIT 2202 select FB_CFB_IMAGEBLIT
2200 ---help--- 2203 ---help---
2201 Include support for the Xilinx ML300/ML403 reference design 2204 Include support for the Xilinx ML300/ML403 reference design
2202 framebuffer. ML300 carries a 640*480 LCD display on the board, 2205 framebuffer. ML300 carries a 640*480 LCD display on the board,
2203 ML403 uses a standard DB15 VGA connector. 2206 ML403 uses a standard DB15 VGA connector.
2204 2207
2205 config FB_COBALT 2208 config FB_COBALT
2206 tristate "Cobalt server LCD frame buffer support" 2209 tristate "Cobalt server LCD frame buffer support"
2207 depends on FB && (MIPS_COBALT || MIPS_SEAD3) 2210 depends on FB && (MIPS_COBALT || MIPS_SEAD3)
2208 2211
2209 config FB_SH7760 2212 config FB_SH7760
2210 bool "SH7760/SH7763/SH7720/SH7721 LCDC support" 2213 bool "SH7760/SH7763/SH7720/SH7721 LCDC support"
2211 depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \ 2214 depends on FB && (CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7763 \
2212 || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721) 2215 || CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721)
2213 select FB_CFB_FILLRECT 2216 select FB_CFB_FILLRECT
2214 select FB_CFB_COPYAREA 2217 select FB_CFB_COPYAREA
2215 select FB_CFB_IMAGEBLIT 2218 select FB_CFB_IMAGEBLIT
2216 ---help--- 2219 ---help---
2217 Support for the SH7760/SH7763/SH7720/SH7721 integrated 2220 Support for the SH7760/SH7763/SH7720/SH7721 integrated
2218 (D)STN/TFT LCD Controller. 2221 (D)STN/TFT LCD Controller.
2219 Supports display resolutions up to 1024x1024 pixel, grayscale and 2222 Supports display resolutions up to 1024x1024 pixel, grayscale and
2220 color operation, with depths ranging from 1 bpp to 8 bpp monochrome 2223 color operation, with depths ranging from 1 bpp to 8 bpp monochrome
2221 and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for 2224 and 8, 15 or 16 bpp color; 90 degrees clockwise display rotation for
2222 panels <= 320 pixel horizontal resolution. 2225 panels <= 320 pixel horizontal resolution.
2223 2226
2224 config FB_DA8XX 2227 config FB_DA8XX
2225 tristate "DA8xx/OMAP-L1xx Framebuffer support" 2228 tristate "DA8xx/OMAP-L1xx Framebuffer support"
2226 depends on FB && ARCH_DAVINCI_DA8XX 2229 depends on FB && ARCH_DAVINCI_DA8XX
2227 select FB_CFB_FILLRECT 2230 select FB_CFB_FILLRECT
2228 select FB_CFB_COPYAREA 2231 select FB_CFB_COPYAREA
2229 select FB_CFB_IMAGEBLIT 2232 select FB_CFB_IMAGEBLIT
2230 select FB_CFB_REV_PIXELS_IN_BYTE 2233 select FB_CFB_REV_PIXELS_IN_BYTE
2231 ---help--- 2234 ---help---
2232 This is the frame buffer device driver for the TI LCD controller 2235 This is the frame buffer device driver for the TI LCD controller
2233 found on DA8xx/OMAP-L1xx SoCs. 2236 found on DA8xx/OMAP-L1xx SoCs.
2234 If unsure, say N. 2237 If unsure, say N.
2235 2238
2236 config FB_VIRTUAL 2239 config FB_VIRTUAL
2237 tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)" 2240 tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
2238 depends on FB 2241 depends on FB
2239 select FB_SYS_FILLRECT 2242 select FB_SYS_FILLRECT
2240 select FB_SYS_COPYAREA 2243 select FB_SYS_COPYAREA
2241 select FB_SYS_IMAGEBLIT 2244 select FB_SYS_IMAGEBLIT
2242 select FB_SYS_FOPS 2245 select FB_SYS_FOPS
2243 ---help--- 2246 ---help---
2244 This is a `virtual' frame buffer device. It operates on a chunk of 2247 This is a `virtual' frame buffer device. It operates on a chunk of
2245 unswappable kernel memory instead of on the memory of a graphics 2248 unswappable kernel memory instead of on the memory of a graphics
2246 board. This means you cannot see any output sent to this frame 2249 board. This means you cannot see any output sent to this frame
2247 buffer device, while it does consume precious memory. The main use 2250 buffer device, while it does consume precious memory. The main use
2248 of this frame buffer device is testing and debugging the frame 2251 of this frame buffer device is testing and debugging the frame
2249 buffer subsystem. Do NOT enable it for normal systems! To protect 2252 buffer subsystem. Do NOT enable it for normal systems! To protect
2250 the innocent, it has to be enabled explicitly at boot time using the 2253 the innocent, it has to be enabled explicitly at boot time using the
2251 kernel option `video=vfb:'. 2254 kernel option `video=vfb:'.
2252 2255
2253 To compile this driver as a module, choose M here: the 2256 To compile this driver as a module, choose M here: the
2254 module will be called vfb. In order to load it, you must use 2257 module will be called vfb. In order to load it, you must use
2255 the vfb_enable=1 option. 2258 the vfb_enable=1 option.
2256 2259
2257 If unsure, say N. 2260 If unsure, say N.
2258 2261
2259 config XEN_FBDEV_FRONTEND 2262 config XEN_FBDEV_FRONTEND
2260 tristate "Xen virtual frame buffer support" 2263 tristate "Xen virtual frame buffer support"
2261 depends on FB && XEN 2264 depends on FB && XEN
2262 select FB_SYS_FILLRECT 2265 select FB_SYS_FILLRECT
2263 select FB_SYS_COPYAREA 2266 select FB_SYS_COPYAREA
2264 select FB_SYS_IMAGEBLIT 2267 select FB_SYS_IMAGEBLIT
2265 select FB_SYS_FOPS 2268 select FB_SYS_FOPS
2266 select FB_DEFERRED_IO 2269 select FB_DEFERRED_IO
2267 select INPUT_XEN_KBDDEV_FRONTEND 2270 select INPUT_XEN_KBDDEV_FRONTEND
2268 select XEN_XENBUS_FRONTEND 2271 select XEN_XENBUS_FRONTEND
2269 default y 2272 default y
2270 help 2273 help
2271 This driver implements the front-end of the Xen virtual 2274 This driver implements the front-end of the Xen virtual
2272 frame buffer driver. It communicates with a back-end 2275 frame buffer driver. It communicates with a back-end
2273 in another domain. 2276 in another domain.
2274 2277
2275 config FB_METRONOME 2278 config FB_METRONOME
2276 tristate "E-Ink Metronome/8track controller support" 2279 tristate "E-Ink Metronome/8track controller support"
2277 depends on FB 2280 depends on FB
2278 select FB_SYS_FILLRECT 2281 select FB_SYS_FILLRECT
2279 select FB_SYS_COPYAREA 2282 select FB_SYS_COPYAREA
2280 select FB_SYS_IMAGEBLIT 2283 select FB_SYS_IMAGEBLIT
2281 select FB_SYS_FOPS 2284 select FB_SYS_FOPS
2282 select FB_DEFERRED_IO 2285 select FB_DEFERRED_IO
2283 help 2286 help
2284 This driver implements support for the E-Ink Metronome 2287 This driver implements support for the E-Ink Metronome
2285 controller. The pre-release name for this device was 8track 2288 controller. The pre-release name for this device was 8track
2286 and could also have been called by some vendors as PVI-nnnn. 2289 and could also have been called by some vendors as PVI-nnnn.
2287 2290
2288 config FB_MB862XX 2291 config FB_MB862XX
2289 tristate "Fujitsu MB862xx GDC support" 2292 tristate "Fujitsu MB862xx GDC support"
2290 depends on FB 2293 depends on FB
2291 depends on PCI || (OF && PPC) 2294 depends on PCI || (OF && PPC)
2292 select FB_CFB_FILLRECT 2295 select FB_CFB_FILLRECT
2293 select FB_CFB_COPYAREA 2296 select FB_CFB_COPYAREA
2294 select FB_CFB_IMAGEBLIT 2297 select FB_CFB_IMAGEBLIT
2295 ---help--- 2298 ---help---
2296 Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers. 2299 Frame buffer driver for Fujitsu Carmine/Coral-P(A)/Lime controllers.
2297 2300
2298 choice 2301 choice
2299 prompt "GDC variant" 2302 prompt "GDC variant"
2300 depends on FB_MB862XX 2303 depends on FB_MB862XX
2301 2304
2302 config FB_MB862XX_PCI_GDC 2305 config FB_MB862XX_PCI_GDC
2303 bool "Carmine/Coral-P(A) GDC" 2306 bool "Carmine/Coral-P(A) GDC"
2304 depends on PCI 2307 depends on PCI
2305 ---help--- 2308 ---help---
2306 This enables framebuffer support for Fujitsu Carmine/Coral-P(A) 2309 This enables framebuffer support for Fujitsu Carmine/Coral-P(A)
2307 PCI graphics controller devices. 2310 PCI graphics controller devices.
2308 2311
2309 config FB_MB862XX_LIME 2312 config FB_MB862XX_LIME
2310 bool "Lime GDC" 2313 bool "Lime GDC"
2311 depends on OF && PPC 2314 depends on OF && PPC
2312 select FB_FOREIGN_ENDIAN 2315 select FB_FOREIGN_ENDIAN
2313 select FB_LITTLE_ENDIAN 2316 select FB_LITTLE_ENDIAN
2314 ---help--- 2317 ---help---
2315 Framebuffer support for Fujitsu Lime GDC on host CPU bus. 2318 Framebuffer support for Fujitsu Lime GDC on host CPU bus.
2316 2319
2317 endchoice 2320 endchoice
2318 2321
2319 config FB_MB862XX_I2C 2322 config FB_MB862XX_I2C
2320 bool "Support I2C bus on MB862XX GDC" 2323 bool "Support I2C bus on MB862XX GDC"
2321 depends on FB_MB862XX && I2C 2324 depends on FB_MB862XX && I2C
2322 default y 2325 default y
2323 help 2326 help
2324 Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter 2327 Selecting this option adds Coral-P(A)/Lime GDC I2C bus adapter
2325 driver to support accessing I2C devices on controller's I2C bus. 2328 driver to support accessing I2C devices on controller's I2C bus.
2326 These are usually some video decoder chips. 2329 These are usually some video decoder chips.
2327 2330
2328 config FB_EP93XX 2331 config FB_EP93XX
2329 tristate "EP93XX frame buffer support" 2332 tristate "EP93XX frame buffer support"
2330 depends on FB && ARCH_EP93XX 2333 depends on FB && ARCH_EP93XX
2331 select FB_CFB_FILLRECT 2334 select FB_CFB_FILLRECT
2332 select FB_CFB_COPYAREA 2335 select FB_CFB_COPYAREA
2333 select FB_CFB_IMAGEBLIT 2336 select FB_CFB_IMAGEBLIT
2334 ---help--- 2337 ---help---
2335 Framebuffer driver for the Cirrus Logic EP93XX series of processors. 2338 Framebuffer driver for the Cirrus Logic EP93XX series of processors.
2336 This driver is also available as a module. The module will be called 2339 This driver is also available as a module. The module will be called
2337 ep93xx-fb. 2340 ep93xx-fb.
2338 2341
2339 config FB_PRE_INIT_FB 2342 config FB_PRE_INIT_FB
2340 bool "Don't reinitialize, use bootloader's GDC/Display configuration" 2343 bool "Don't reinitialize, use bootloader's GDC/Display configuration"
2341 depends on FB && FB_MB862XX_LIME 2344 depends on FB && FB_MB862XX_LIME
2342 ---help--- 2345 ---help---
2343 Select this option if display contents should be inherited as set by 2346 Select this option if display contents should be inherited as set by
2344 the bootloader. 2347 the bootloader.
2345 2348
2346 config FB_MSM 2349 config FB_MSM
2347 tristate "MSM Framebuffer support" 2350 tristate "MSM Framebuffer support"
2348 depends on FB && ARCH_MSM 2351 depends on FB && ARCH_MSM
2349 select FB_CFB_FILLRECT 2352 select FB_CFB_FILLRECT
2350 select FB_CFB_COPYAREA 2353 select FB_CFB_COPYAREA
2351 select FB_CFB_IMAGEBLIT 2354 select FB_CFB_IMAGEBLIT
2352 2355
2353 config FB_MX3 2356 config FB_MX3
2354 tristate "MX3 Framebuffer support" 2357 tristate "MX3 Framebuffer support"
2355 depends on FB && MX3_IPU 2358 depends on FB && MX3_IPU
2356 select FB_CFB_FILLRECT 2359 select FB_CFB_FILLRECT
2357 select FB_CFB_COPYAREA 2360 select FB_CFB_COPYAREA
2358 select FB_CFB_IMAGEBLIT 2361 select FB_CFB_IMAGEBLIT
2359 default y 2362 default y
2360 help 2363 help
2361 This is a framebuffer device for the i.MX31 LCD Controller. So 2364 This is a framebuffer device for the i.MX31 LCD Controller. So
2362 far only synchronous displays are supported. If you plan to use 2365 far only synchronous displays are supported. If you plan to use
2363 an LCD display with your i.MX31 system, say Y here. 2366 an LCD display with your i.MX31 system, say Y here.
2364 2367
2365 config FB_BROADSHEET 2368 config FB_BROADSHEET
2366 tristate "E-Ink Broadsheet/Epson S1D13521 controller support" 2369 tristate "E-Ink Broadsheet/Epson S1D13521 controller support"
2367 depends on FB 2370 depends on FB
2368 select FB_SYS_FILLRECT 2371 select FB_SYS_FILLRECT
2369 select FB_SYS_COPYAREA 2372 select FB_SYS_COPYAREA
2370 select FB_SYS_IMAGEBLIT 2373 select FB_SYS_IMAGEBLIT
2371 select FB_SYS_FOPS 2374 select FB_SYS_FOPS
2372 select FB_DEFERRED_IO 2375 select FB_DEFERRED_IO
2373 help 2376 help
2374 This driver implements support for the E-Ink Broadsheet 2377 This driver implements support for the E-Ink Broadsheet
2375 controller. The release name for this device was Epson S1D13521 2378 controller. The release name for this device was Epson S1D13521
2376 and could also have been called by other names when coupled with 2379 and could also have been called by other names when coupled with
2377 a bridge adapter. 2380 a bridge adapter.
2378 2381
2379 config FB_AUO_K190X 2382 config FB_AUO_K190X
2380 tristate "AUO-K190X EPD controller support" 2383 tristate "AUO-K190X EPD controller support"
2381 depends on FB 2384 depends on FB
2382 select FB_SYS_FILLRECT 2385 select FB_SYS_FILLRECT
2383 select FB_SYS_COPYAREA 2386 select FB_SYS_COPYAREA
2384 select FB_SYS_IMAGEBLIT 2387 select FB_SYS_IMAGEBLIT
2385 select FB_SYS_FOPS 2388 select FB_SYS_FOPS
2386 select FB_DEFERRED_IO 2389 select FB_DEFERRED_IO
2387 help 2390 help
2388 Provides support for epaper controllers from the K190X series 2391 Provides support for epaper controllers from the K190X series
2389 of AUO. These controllers can be used to drive epaper displays 2392 of AUO. These controllers can be used to drive epaper displays
2390 from Sipix. 2393 from Sipix.
2391 2394
2392 This option enables the common support, shared by the individual 2395 This option enables the common support, shared by the individual
2393 controller drivers. You will also have to enable the driver 2396 controller drivers. You will also have to enable the driver
2394 for the controller type used in your device. 2397 for the controller type used in your device.
2395 2398
2396 config FB_AUO_K1900 2399 config FB_AUO_K1900
2397 tristate "AUO-K1900 EPD controller support" 2400 tristate "AUO-K1900 EPD controller support"
2398 depends on FB && FB_AUO_K190X 2401 depends on FB && FB_AUO_K190X
2399 help 2402 help
2400 This driver implements support for the AUO K1900 epd-controller. 2403 This driver implements support for the AUO K1900 epd-controller.
2401 This controller can drive Sipix epaper displays but can only do 2404 This controller can drive Sipix epaper displays but can only do
2402 serial updates, reducing the number of possible frames per second. 2405 serial updates, reducing the number of possible frames per second.
2403 2406
2404 config FB_AUO_K1901 2407 config FB_AUO_K1901
2405 tristate "AUO-K1901 EPD controller support" 2408 tristate "AUO-K1901 EPD controller support"
2406 depends on FB && FB_AUO_K190X 2409 depends on FB && FB_AUO_K190X
2407 help 2410 help
2408 This driver implements support for the AUO K1901 epd-controller. 2411 This driver implements support for the AUO K1901 epd-controller.
2409 This controller can drive Sipix epaper displays and supports 2412 This controller can drive Sipix epaper displays and supports
2410 concurrent updates, making higher frames per second possible. 2413 concurrent updates, making higher frames per second possible.
2411 2414
2412 config FB_JZ4740 2415 config FB_JZ4740
2413 tristate "JZ4740 LCD framebuffer support" 2416 tristate "JZ4740 LCD framebuffer support"
2414 depends on FB && MACH_JZ4740 2417 depends on FB && MACH_JZ4740
2415 select FB_SYS_FILLRECT 2418 select FB_SYS_FILLRECT
2416 select FB_SYS_COPYAREA 2419 select FB_SYS_COPYAREA
2417 select FB_SYS_IMAGEBLIT 2420 select FB_SYS_IMAGEBLIT
2418 help 2421 help
2419 Framebuffer support for the JZ4740 SoC. 2422 Framebuffer support for the JZ4740 SoC.
2420 2423
2421 config FB_MXS 2424 config FB_MXS
2422 tristate "MXS LCD framebuffer support" 2425 tristate "MXS LCD framebuffer support"
2423 depends on FB && ARCH_MXS 2426 depends on FB && ARCH_MXS
2424 select FB_CFB_FILLRECT 2427 select FB_CFB_FILLRECT
2425 select FB_CFB_COPYAREA 2428 select FB_CFB_COPYAREA
2426 select FB_CFB_IMAGEBLIT 2429 select FB_CFB_IMAGEBLIT
2427 help 2430 help
2428 Framebuffer support for the MXS SoC. 2431 Framebuffer support for the MXS SoC.
2429 2432
2430 config FB_PUV3_UNIGFX 2433 config FB_PUV3_UNIGFX
2431 tristate "PKUnity v3 Unigfx framebuffer support" 2434 tristate "PKUnity v3 Unigfx framebuffer support"
2432 depends on FB && UNICORE32 && ARCH_PUV3 2435 depends on FB && UNICORE32 && ARCH_PUV3
2433 select FB_SYS_FILLRECT 2436 select FB_SYS_FILLRECT
2434 select FB_SYS_COPYAREA 2437 select FB_SYS_COPYAREA
2435 select FB_SYS_IMAGEBLIT 2438 select FB_SYS_IMAGEBLIT
2436 select FB_SYS_FOPS 2439 select FB_SYS_FOPS
2437 help 2440 help
2438 Choose this option if you want to use the Unigfx device as a 2441 Choose this option if you want to use the Unigfx device as a
2439 framebuffer device. Without the support of PCI & AGP. 2442 framebuffer device. Without the support of PCI & AGP.
2440 2443
2441 source "drivers/video/omap/Kconfig" 2444 source "drivers/video/omap/Kconfig"
2442 source "drivers/video/omap2/Kconfig" 2445 source "drivers/video/omap2/Kconfig"
2443 source "drivers/video/exynos/Kconfig" 2446 source "drivers/video/exynos/Kconfig"
2444 source "drivers/video/backlight/Kconfig" 2447 source "drivers/video/backlight/Kconfig"
2445 2448
2446 if VT 2449 if VT
2447 source "drivers/video/console/Kconfig" 2450 source "drivers/video/console/Kconfig"
2448 endif 2451 endif
2449 2452
2450 if FB || SGI_NEWPORT_CONSOLE 2453 if FB || SGI_NEWPORT_CONSOLE
2451 source "drivers/video/logo/Kconfig" 2454 source "drivers/video/logo/Kconfig"
2452 endif 2455 endif
2453 2456
2454 config FB_SH_MOBILE_MERAM 2457 config FB_SH_MOBILE_MERAM
2455 tristate "SuperH Mobile MERAM read ahead support" 2458 tristate "SuperH Mobile MERAM read ahead support"
2456 depends on (SUPERH || ARCH_SHMOBILE) 2459 depends on (SUPERH || ARCH_SHMOBILE)
2457 select GENERIC_ALLOCATOR 2460 select GENERIC_ALLOCATOR
2458 ---help--- 2461 ---help---
2459 Enable MERAM support for the SuperH controller. 2462 Enable MERAM support for the SuperH controller.
2460 2463
2461 This will allow for caching of the framebuffer to provide more 2464 This will allow for caching of the framebuffer to provide more
2462 reliable access under heavy main memory bus traffic situations. 2465 reliable access under heavy main memory bus traffic situations.
2463 Up to 4 memory channels can be configured, allowing 4 RGB or 2466 Up to 4 memory channels can be configured, allowing 4 RGB or
2464 2 YCbCr framebuffers to be configured. 2467 2 YCbCr framebuffers to be configured.
2465 2468
2466 config FB_SSD1307 2469 config FB_SSD1307
2467 tristate "Solomon SSD1307 framebuffer support" 2470 tristate "Solomon SSD1307 framebuffer support"
2468 depends on FB && I2C 2471 depends on FB && I2C
2469 depends on OF 2472 depends on OF
2470 depends on GENERIC_GPIO 2473 depends on GENERIC_GPIO
2471 select FB_SYS_FOPS 2474 select FB_SYS_FOPS
2472 select FB_SYS_FILLRECT 2475 select FB_SYS_FILLRECT
2473 select FB_SYS_COPYAREA 2476 select FB_SYS_COPYAREA
2474 select FB_SYS_IMAGEBLIT 2477 select FB_SYS_IMAGEBLIT
2475 select FB_DEFERRED_IO 2478 select FB_DEFERRED_IO
2476 select PWM 2479 select PWM
2477 help 2480 help
2478 This driver implements support for the Solomon SSD1307 2481 This driver implements support for the Solomon SSD1307
2479 OLED controller over I2C. 2482 OLED controller over I2C.
2480 2483
2481 endmenu 2484 endmenu
2482 2485
drivers/video/Makefile
1 # Makefile for the Linux video drivers. 1 # Makefile for the Linux video drivers.
2 # 5 Aug 1999, James Simmons, <mailto:jsimmons@users.sf.net> 2 # 5 Aug 1999, James Simmons, <mailto:jsimmons@users.sf.net>
3 # Rewritten to use lists instead of if-statements. 3 # Rewritten to use lists instead of if-statements.
4 4
5 # Each configuration option enables a list of files. 5 # Each configuration option enables a list of files.
6 6
7 obj-$(CONFIG_VGASTATE) += vgastate.o 7 obj-$(CONFIG_VGASTATE) += vgastate.o
8 obj-$(CONFIG_HDMI) += hdmi.o
8 obj-y += fb_notify.o 9 obj-y += fb_notify.o
9 obj-$(CONFIG_FB) += fb.o 10 obj-$(CONFIG_FB) += fb.o
10 fb-y := fbmem.o fbmon.o fbcmap.o fbsysfs.o \ 11 fb-y := fbmem.o fbmon.o fbcmap.o fbsysfs.o \
11 modedb.o fbcvt.o 12 modedb.o fbcvt.o
12 fb-objs := $(fb-y) 13 fb-objs := $(fb-y)
13 14
14 obj-$(CONFIG_VT) += console/ 15 obj-$(CONFIG_VT) += console/
15 obj-$(CONFIG_LOGO) += logo/ 16 obj-$(CONFIG_LOGO) += logo/
16 obj-y += backlight/ 17 obj-y += backlight/
17 18
18 obj-$(CONFIG_EXYNOS_VIDEO) += exynos/ 19 obj-$(CONFIG_EXYNOS_VIDEO) += exynos/
19 20
20 obj-$(CONFIG_FB_CFB_FILLRECT) += cfbfillrect.o 21 obj-$(CONFIG_FB_CFB_FILLRECT) += cfbfillrect.o
21 obj-$(CONFIG_FB_CFB_COPYAREA) += cfbcopyarea.o 22 obj-$(CONFIG_FB_CFB_COPYAREA) += cfbcopyarea.o
22 obj-$(CONFIG_FB_CFB_IMAGEBLIT) += cfbimgblt.o 23 obj-$(CONFIG_FB_CFB_IMAGEBLIT) += cfbimgblt.o
23 obj-$(CONFIG_FB_SYS_FILLRECT) += sysfillrect.o 24 obj-$(CONFIG_FB_SYS_FILLRECT) += sysfillrect.o
24 obj-$(CONFIG_FB_SYS_COPYAREA) += syscopyarea.o 25 obj-$(CONFIG_FB_SYS_COPYAREA) += syscopyarea.o
25 obj-$(CONFIG_FB_SYS_IMAGEBLIT) += sysimgblt.o 26 obj-$(CONFIG_FB_SYS_IMAGEBLIT) += sysimgblt.o
26 obj-$(CONFIG_FB_SYS_FOPS) += fb_sys_fops.o 27 obj-$(CONFIG_FB_SYS_FOPS) += fb_sys_fops.o
27 obj-$(CONFIG_FB_SVGALIB) += svgalib.o 28 obj-$(CONFIG_FB_SVGALIB) += svgalib.o
28 obj-$(CONFIG_FB_MACMODES) += macmodes.o 29 obj-$(CONFIG_FB_MACMODES) += macmodes.o
29 obj-$(CONFIG_FB_DDC) += fb_ddc.o 30 obj-$(CONFIG_FB_DDC) += fb_ddc.o
30 obj-$(CONFIG_FB_DEFERRED_IO) += fb_defio.o 31 obj-$(CONFIG_FB_DEFERRED_IO) += fb_defio.o
31 obj-$(CONFIG_FB_WMT_GE_ROPS) += wmt_ge_rops.o 32 obj-$(CONFIG_FB_WMT_GE_ROPS) += wmt_ge_rops.o
32 33
33 # Hardware specific drivers go first 34 # Hardware specific drivers go first
34 obj-$(CONFIG_FB_AMIGA) += amifb.o c2p_planar.o 35 obj-$(CONFIG_FB_AMIGA) += amifb.o c2p_planar.o
35 obj-$(CONFIG_FB_ARC) += arcfb.o 36 obj-$(CONFIG_FB_ARC) += arcfb.o
36 obj-$(CONFIG_FB_CLPS711X) += clps711xfb.o 37 obj-$(CONFIG_FB_CLPS711X) += clps711xfb.o
37 obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o 38 obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o
38 obj-$(CONFIG_FB_GRVGA) += grvga.o 39 obj-$(CONFIG_FB_GRVGA) += grvga.o
39 obj-$(CONFIG_FB_PM2) += pm2fb.o 40 obj-$(CONFIG_FB_PM2) += pm2fb.o
40 obj-$(CONFIG_FB_PM3) += pm3fb.o 41 obj-$(CONFIG_FB_PM3) += pm3fb.o
41 42
42 obj-$(CONFIG_FB_I740) += i740fb.o 43 obj-$(CONFIG_FB_I740) += i740fb.o
43 obj-$(CONFIG_FB_MATROX) += matrox/ 44 obj-$(CONFIG_FB_MATROX) += matrox/
44 obj-$(CONFIG_FB_RIVA) += riva/ 45 obj-$(CONFIG_FB_RIVA) += riva/
45 obj-$(CONFIG_FB_NVIDIA) += nvidia/ 46 obj-$(CONFIG_FB_NVIDIA) += nvidia/
46 obj-$(CONFIG_FB_ATY) += aty/ macmodes.o 47 obj-$(CONFIG_FB_ATY) += aty/ macmodes.o
47 obj-$(CONFIG_FB_ATY128) += aty/ macmodes.o 48 obj-$(CONFIG_FB_ATY128) += aty/ macmodes.o
48 obj-$(CONFIG_FB_RADEON) += aty/ 49 obj-$(CONFIG_FB_RADEON) += aty/
49 obj-$(CONFIG_FB_SIS) += sis/ 50 obj-$(CONFIG_FB_SIS) += sis/
50 obj-$(CONFIG_FB_VIA) += via/ 51 obj-$(CONFIG_FB_VIA) += via/
51 obj-$(CONFIG_FB_KYRO) += kyro/ 52 obj-$(CONFIG_FB_KYRO) += kyro/
52 obj-$(CONFIG_FB_SAVAGE) += savage/ 53 obj-$(CONFIG_FB_SAVAGE) += savage/
53 obj-$(CONFIG_FB_GEODE) += geode/ 54 obj-$(CONFIG_FB_GEODE) += geode/
54 obj-$(CONFIG_FB_MBX) += mbx/ 55 obj-$(CONFIG_FB_MBX) += mbx/
55 obj-$(CONFIG_FB_NEOMAGIC) += neofb.o 56 obj-$(CONFIG_FB_NEOMAGIC) += neofb.o
56 obj-$(CONFIG_FB_3DFX) += tdfxfb.o 57 obj-$(CONFIG_FB_3DFX) += tdfxfb.o
57 obj-$(CONFIG_FB_CONTROL) += controlfb.o 58 obj-$(CONFIG_FB_CONTROL) += controlfb.o
58 obj-$(CONFIG_FB_PLATINUM) += platinumfb.o 59 obj-$(CONFIG_FB_PLATINUM) += platinumfb.o
59 obj-$(CONFIG_FB_VALKYRIE) += valkyriefb.o 60 obj-$(CONFIG_FB_VALKYRIE) += valkyriefb.o
60 obj-$(CONFIG_FB_CT65550) += chipsfb.o 61 obj-$(CONFIG_FB_CT65550) += chipsfb.o
61 obj-$(CONFIG_FB_IMSTT) += imsttfb.o 62 obj-$(CONFIG_FB_IMSTT) += imsttfb.o
62 obj-$(CONFIG_FB_FM2) += fm2fb.o 63 obj-$(CONFIG_FB_FM2) += fm2fb.o
63 obj-$(CONFIG_FB_VT8623) += vt8623fb.o 64 obj-$(CONFIG_FB_VT8623) += vt8623fb.o
64 obj-$(CONFIG_FB_TRIDENT) += tridentfb.o 65 obj-$(CONFIG_FB_TRIDENT) += tridentfb.o
65 obj-$(CONFIG_FB_LE80578) += vermilion/ 66 obj-$(CONFIG_FB_LE80578) += vermilion/
66 obj-$(CONFIG_FB_S3) += s3fb.o 67 obj-$(CONFIG_FB_S3) += s3fb.o
67 obj-$(CONFIG_FB_ARK) += arkfb.o 68 obj-$(CONFIG_FB_ARK) += arkfb.o
68 obj-$(CONFIG_FB_STI) += stifb.o 69 obj-$(CONFIG_FB_STI) += stifb.o
69 obj-$(CONFIG_FB_FFB) += ffb.o sbuslib.o 70 obj-$(CONFIG_FB_FFB) += ffb.o sbuslib.o
70 obj-$(CONFIG_FB_CG6) += cg6.o sbuslib.o 71 obj-$(CONFIG_FB_CG6) += cg6.o sbuslib.o
71 obj-$(CONFIG_FB_CG3) += cg3.o sbuslib.o 72 obj-$(CONFIG_FB_CG3) += cg3.o sbuslib.o
72 obj-$(CONFIG_FB_BW2) += bw2.o sbuslib.o 73 obj-$(CONFIG_FB_BW2) += bw2.o sbuslib.o
73 obj-$(CONFIG_FB_CG14) += cg14.o sbuslib.o 74 obj-$(CONFIG_FB_CG14) += cg14.o sbuslib.o
74 obj-$(CONFIG_FB_P9100) += p9100.o sbuslib.o 75 obj-$(CONFIG_FB_P9100) += p9100.o sbuslib.o
75 obj-$(CONFIG_FB_TCX) += tcx.o sbuslib.o 76 obj-$(CONFIG_FB_TCX) += tcx.o sbuslib.o
76 obj-$(CONFIG_FB_LEO) += leo.o sbuslib.o 77 obj-$(CONFIG_FB_LEO) += leo.o sbuslib.o
77 obj-$(CONFIG_FB_SGIVW) += sgivwfb.o 78 obj-$(CONFIG_FB_SGIVW) += sgivwfb.o
78 obj-$(CONFIG_FB_ACORN) += acornfb.o 79 obj-$(CONFIG_FB_ACORN) += acornfb.o
79 obj-$(CONFIG_FB_ATARI) += atafb.o c2p_iplan2.o atafb_mfb.o \ 80 obj-$(CONFIG_FB_ATARI) += atafb.o c2p_iplan2.o atafb_mfb.o \
80 atafb_iplan2p2.o atafb_iplan2p4.o atafb_iplan2p8.o 81 atafb_iplan2p2.o atafb_iplan2p4.o atafb_iplan2p8.o
81 obj-$(CONFIG_FB_MAC) += macfb.o 82 obj-$(CONFIG_FB_MAC) += macfb.o
82 obj-$(CONFIG_FB_HECUBA) += hecubafb.o 83 obj-$(CONFIG_FB_HECUBA) += hecubafb.o
83 obj-$(CONFIG_FB_N411) += n411.o 84 obj-$(CONFIG_FB_N411) += n411.o
84 obj-$(CONFIG_FB_HGA) += hgafb.o 85 obj-$(CONFIG_FB_HGA) += hgafb.o
85 obj-$(CONFIG_FB_XVR500) += sunxvr500.o 86 obj-$(CONFIG_FB_XVR500) += sunxvr500.o
86 obj-$(CONFIG_FB_XVR2500) += sunxvr2500.o 87 obj-$(CONFIG_FB_XVR2500) += sunxvr2500.o
87 obj-$(CONFIG_FB_XVR1000) += sunxvr1000.o 88 obj-$(CONFIG_FB_XVR1000) += sunxvr1000.o
88 obj-$(CONFIG_FB_IGA) += igafb.o 89 obj-$(CONFIG_FB_IGA) += igafb.o
89 obj-$(CONFIG_FB_APOLLO) += dnfb.o 90 obj-$(CONFIG_FB_APOLLO) += dnfb.o
90 obj-$(CONFIG_FB_Q40) += q40fb.o 91 obj-$(CONFIG_FB_Q40) += q40fb.o
91 obj-$(CONFIG_FB_TGA) += tgafb.o 92 obj-$(CONFIG_FB_TGA) += tgafb.o
92 obj-$(CONFIG_FB_HP300) += hpfb.o 93 obj-$(CONFIG_FB_HP300) += hpfb.o
93 obj-$(CONFIG_FB_G364) += g364fb.o 94 obj-$(CONFIG_FB_G364) += g364fb.o
94 obj-$(CONFIG_FB_EP93XX) += ep93xx-fb.o 95 obj-$(CONFIG_FB_EP93XX) += ep93xx-fb.o
95 obj-$(CONFIG_FB_SA1100) += sa1100fb.o 96 obj-$(CONFIG_FB_SA1100) += sa1100fb.o
96 obj-$(CONFIG_FB_HIT) += hitfb.o 97 obj-$(CONFIG_FB_HIT) += hitfb.o
97 obj-$(CONFIG_FB_ATMEL) += atmel_lcdfb.o 98 obj-$(CONFIG_FB_ATMEL) += atmel_lcdfb.o
98 obj-$(CONFIG_FB_PVR2) += pvr2fb.o 99 obj-$(CONFIG_FB_PVR2) += pvr2fb.o
99 obj-$(CONFIG_FB_VOODOO1) += sstfb.o 100 obj-$(CONFIG_FB_VOODOO1) += sstfb.o
100 obj-$(CONFIG_FB_ARMCLCD) += amba-clcd.o 101 obj-$(CONFIG_FB_ARMCLCD) += amba-clcd.o
101 obj-$(CONFIG_FB_68328) += 68328fb.o 102 obj-$(CONFIG_FB_68328) += 68328fb.o
102 obj-$(CONFIG_FB_GBE) += gbefb.o 103 obj-$(CONFIG_FB_GBE) += gbefb.o
103 obj-$(CONFIG_FB_CIRRUS) += cirrusfb.o 104 obj-$(CONFIG_FB_CIRRUS) += cirrusfb.o
104 obj-$(CONFIG_FB_ASILIANT) += asiliantfb.o 105 obj-$(CONFIG_FB_ASILIANT) += asiliantfb.o
105 obj-$(CONFIG_FB_PXA) += pxafb.o 106 obj-$(CONFIG_FB_PXA) += pxafb.o
106 obj-$(CONFIG_FB_PXA168) += pxa168fb.o 107 obj-$(CONFIG_FB_PXA168) += pxa168fb.o
107 obj-$(CONFIG_PXA3XX_GCU) += pxa3xx-gcu.o 108 obj-$(CONFIG_PXA3XX_GCU) += pxa3xx-gcu.o
108 obj-$(CONFIG_FB_W100) += w100fb.o 109 obj-$(CONFIG_FB_W100) += w100fb.o
109 obj-$(CONFIG_FB_TMIO) += tmiofb.o 110 obj-$(CONFIG_FB_TMIO) += tmiofb.o
110 obj-$(CONFIG_FB_AU1100) += au1100fb.o 111 obj-$(CONFIG_FB_AU1100) += au1100fb.o
111 obj-$(CONFIG_FB_AU1200) += au1200fb.o 112 obj-$(CONFIG_FB_AU1200) += au1200fb.o
112 obj-$(CONFIG_FB_VT8500) += vt8500lcdfb.o 113 obj-$(CONFIG_FB_VT8500) += vt8500lcdfb.o
113 obj-$(CONFIG_FB_WM8505) += wm8505fb.o 114 obj-$(CONFIG_FB_WM8505) += wm8505fb.o
114 obj-$(CONFIG_FB_PMAG_AA) += pmag-aa-fb.o 115 obj-$(CONFIG_FB_PMAG_AA) += pmag-aa-fb.o
115 obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o 116 obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o
116 obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o 117 obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o
117 obj-$(CONFIG_FB_MAXINE) += maxinefb.o 118 obj-$(CONFIG_FB_MAXINE) += maxinefb.o
118 obj-$(CONFIG_FB_METRONOME) += metronomefb.o 119 obj-$(CONFIG_FB_METRONOME) += metronomefb.o
119 obj-$(CONFIG_FB_BROADSHEET) += broadsheetfb.o 120 obj-$(CONFIG_FB_BROADSHEET) += broadsheetfb.o
120 obj-$(CONFIG_FB_AUO_K190X) += auo_k190x.o 121 obj-$(CONFIG_FB_AUO_K190X) += auo_k190x.o
121 obj-$(CONFIG_FB_AUO_K1900) += auo_k1900fb.o 122 obj-$(CONFIG_FB_AUO_K1900) += auo_k1900fb.o
122 obj-$(CONFIG_FB_AUO_K1901) += auo_k1901fb.o 123 obj-$(CONFIG_FB_AUO_K1901) += auo_k1901fb.o
123 obj-$(CONFIG_FB_S1D13XXX) += s1d13xxxfb.o 124 obj-$(CONFIG_FB_S1D13XXX) += s1d13xxxfb.o
124 obj-$(CONFIG_FB_SH7760) += sh7760fb.o 125 obj-$(CONFIG_FB_SH7760) += sh7760fb.o
125 obj-$(CONFIG_FB_IMX) += imxfb.o 126 obj-$(CONFIG_FB_IMX) += imxfb.o
126 obj-$(CONFIG_FB_S3C) += s3c-fb.o 127 obj-$(CONFIG_FB_S3C) += s3c-fb.o
127 obj-$(CONFIG_FB_S3C2410) += s3c2410fb.o 128 obj-$(CONFIG_FB_S3C2410) += s3c2410fb.o
128 obj-$(CONFIG_FB_FSL_DIU) += fsl-diu-fb.o 129 obj-$(CONFIG_FB_FSL_DIU) += fsl-diu-fb.o
129 obj-$(CONFIG_FB_COBALT) += cobalt_lcdfb.o 130 obj-$(CONFIG_FB_COBALT) += cobalt_lcdfb.o
130 obj-$(CONFIG_FB_IBM_GXT4500) += gxt4500.o 131 obj-$(CONFIG_FB_IBM_GXT4500) += gxt4500.o
131 obj-$(CONFIG_FB_PS3) += ps3fb.o 132 obj-$(CONFIG_FB_PS3) += ps3fb.o
132 obj-$(CONFIG_FB_SM501) += sm501fb.o 133 obj-$(CONFIG_FB_SM501) += sm501fb.o
133 obj-$(CONFIG_FB_UDL) += udlfb.o 134 obj-$(CONFIG_FB_UDL) += udlfb.o
134 obj-$(CONFIG_FB_SMSCUFX) += smscufx.o 135 obj-$(CONFIG_FB_SMSCUFX) += smscufx.o
135 obj-$(CONFIG_FB_XILINX) += xilinxfb.o 136 obj-$(CONFIG_FB_XILINX) += xilinxfb.o
136 obj-$(CONFIG_SH_MIPI_DSI) += sh_mipi_dsi.o 137 obj-$(CONFIG_SH_MIPI_DSI) += sh_mipi_dsi.o
137 obj-$(CONFIG_FB_SH_MOBILE_HDMI) += sh_mobile_hdmi.o 138 obj-$(CONFIG_FB_SH_MOBILE_HDMI) += sh_mobile_hdmi.o
138 obj-$(CONFIG_FB_SH_MOBILE_MERAM) += sh_mobile_meram.o 139 obj-$(CONFIG_FB_SH_MOBILE_MERAM) += sh_mobile_meram.o
139 obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o 140 obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o
140 obj-$(CONFIG_FB_OMAP) += omap/ 141 obj-$(CONFIG_FB_OMAP) += omap/
141 obj-y += omap2/ 142 obj-y += omap2/
142 obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o 143 obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o
143 obj-$(CONFIG_FB_CARMINE) += carminefb.o 144 obj-$(CONFIG_FB_CARMINE) += carminefb.o
144 obj-$(CONFIG_FB_MB862XX) += mb862xx/ 145 obj-$(CONFIG_FB_MB862XX) += mb862xx/
145 obj-$(CONFIG_FB_MSM) += msm/ 146 obj-$(CONFIG_FB_MSM) += msm/
146 obj-$(CONFIG_FB_NUC900) += nuc900fb.o 147 obj-$(CONFIG_FB_NUC900) += nuc900fb.o
147 obj-$(CONFIG_FB_JZ4740) += jz4740_fb.o 148 obj-$(CONFIG_FB_JZ4740) += jz4740_fb.o
148 obj-$(CONFIG_FB_PUV3_UNIGFX) += fb-puv3.o 149 obj-$(CONFIG_FB_PUV3_UNIGFX) += fb-puv3.o
149 150
150 # Platform or fallback drivers go here 151 # Platform or fallback drivers go here
151 obj-$(CONFIG_FB_UVESA) += uvesafb.o 152 obj-$(CONFIG_FB_UVESA) += uvesafb.o
152 obj-$(CONFIG_FB_VESA) += vesafb.o 153 obj-$(CONFIG_FB_VESA) += vesafb.o
153 obj-$(CONFIG_FB_EFI) += efifb.o 154 obj-$(CONFIG_FB_EFI) += efifb.o
154 obj-$(CONFIG_FB_VGA16) += vga16fb.o 155 obj-$(CONFIG_FB_VGA16) += vga16fb.o
155 obj-$(CONFIG_FB_OF) += offb.o 156 obj-$(CONFIG_FB_OF) += offb.o
156 obj-$(CONFIG_FB_BF537_LQ035) += bf537-lq035.o 157 obj-$(CONFIG_FB_BF537_LQ035) += bf537-lq035.o
157 obj-$(CONFIG_FB_BF54X_LQ043) += bf54x-lq043fb.o 158 obj-$(CONFIG_FB_BF54X_LQ043) += bf54x-lq043fb.o
158 obj-$(CONFIG_FB_BFIN_LQ035Q1) += bfin-lq035q1-fb.o 159 obj-$(CONFIG_FB_BFIN_LQ035Q1) += bfin-lq035q1-fb.o
159 obj-$(CONFIG_FB_BFIN_T350MCQB) += bfin-t350mcqb-fb.o 160 obj-$(CONFIG_FB_BFIN_T350MCQB) += bfin-t350mcqb-fb.o
160 obj-$(CONFIG_FB_BFIN_7393) += bfin_adv7393fb.o 161 obj-$(CONFIG_FB_BFIN_7393) += bfin_adv7393fb.o
161 obj-$(CONFIG_FB_MX3) += mx3fb.o 162 obj-$(CONFIG_FB_MX3) += mx3fb.o
162 obj-$(CONFIG_FB_DA8XX) += da8xx-fb.o 163 obj-$(CONFIG_FB_DA8XX) += da8xx-fb.o
163 obj-$(CONFIG_FB_MXS) += mxsfb.o 164 obj-$(CONFIG_FB_MXS) += mxsfb.o
164 obj-$(CONFIG_FB_SSD1307) += ssd1307fb.o 165 obj-$(CONFIG_FB_SSD1307) += ssd1307fb.o
165 166
166 # the test framebuffer is last 167 # the test framebuffer is last
167 obj-$(CONFIG_FB_VIRTUAL) += vfb.o 168 obj-$(CONFIG_FB_VIRTUAL) += vfb.o
168 169
169 #video output switch sysfs driver 170 #video output switch sysfs driver
170 obj-$(CONFIG_VIDEO_OUTPUT_CONTROL) += output.o 171 obj-$(CONFIG_VIDEO_OUTPUT_CONTROL) += output.o
171 obj-$(CONFIG_DISPLAY_TIMING) += display_timing.o 172 obj-$(CONFIG_DISPLAY_TIMING) += display_timing.o
172 obj-$(CONFIG_OF_DISPLAY_TIMING) += of_display_timing.o 173 obj-$(CONFIG_OF_DISPLAY_TIMING) += of_display_timing.o
173 obj-$(CONFIG_VIDEOMODE) += videomode.o 174 obj-$(CONFIG_VIDEOMODE) += videomode.o
174 obj-$(CONFIG_OF_VIDEOMODE) += of_videomode.o 175 obj-$(CONFIG_OF_VIDEOMODE) += of_videomode.o
175 176
drivers/video/hdmi.c
File was created 1 /*
2 * Copyright (C) 2012 Avionic Design GmbH
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9 #include <linux/bitops.h>
10 #include <linux/errno.h>
11 #include <linux/export.h>
12 #include <linux/hdmi.h>
13 #include <linux/string.h>
14
15 static void hdmi_infoframe_checksum(void *buffer, size_t size)
16 {
17 u8 *ptr = buffer;
18 u8 csum = 0;
19 size_t i;
20
21 /* compute checksum */
22 for (i = 0; i < size; i++)
23 csum += ptr[i];
24
25 ptr[3] = 256 - csum;
26 }
27
28 /**
29 * hdmi_avi_infoframe_init() - initialize an HDMI AVI infoframe
30 * @frame: HDMI AVI infoframe
31 *
32 * Returns 0 on success or a negative error code on failure.
33 */
34 int hdmi_avi_infoframe_init(struct hdmi_avi_infoframe *frame)
35 {
36 memset(frame, 0, sizeof(*frame));
37
38 frame->type = HDMI_INFOFRAME_TYPE_AVI;
39 frame->version = 2;
40 frame->length = 13;
41
42 return 0;
43 }
44 EXPORT_SYMBOL(hdmi_avi_infoframe_init);
45
46 /**
47 * hdmi_avi_infoframe_pack() - write HDMI AVI infoframe to binary buffer
48 * @frame: HDMI AVI infoframe
49 * @buffer: destination buffer
50 * @size: size of buffer
51 *
52 * Packs the information contained in the @frame structure into a binary
53 * representation that can be written into the corresponding controller
54 * registers. Also computes the checksum as required by section 5.3.5 of
55 * the HDMI 1.4 specification.
56 *
57 * Returns the number of bytes packed into the binary buffer or a negative
58 * error code on failure.
59 */
60 ssize_t hdmi_avi_infoframe_pack(struct hdmi_avi_infoframe *frame, void *buffer,
61 size_t size)
62 {
63 u8 *ptr = buffer;
64 size_t length;
65
66 length = HDMI_INFOFRAME_HEADER_SIZE + frame->length;
67
68 if (size < length)
69 return -ENOSPC;
70
71 memset(buffer, 0, length);
72
73 ptr[0] = frame->type;
74 ptr[1] = frame->version;
75 ptr[2] = frame->length;
76 ptr[3] = 0; /* checksum */
77
78 /* start infoframe payload */
79 ptr += HDMI_INFOFRAME_HEADER_SIZE;
80
81 ptr[0] = ((frame->colorspace & 0x3) << 5) | (frame->scan_mode & 0x3);
82
83 if (frame->active_info_valid)
84 ptr[0] |= BIT(4);
85
86 if (frame->horizontal_bar_valid)
87 ptr[0] |= BIT(3);
88
89 if (frame->vertical_bar_valid)
90 ptr[0] |= BIT(2);
91
92 ptr[1] = ((frame->colorimetry & 0x3) << 6) |
93 ((frame->picture_aspect & 0x3) << 4) |
94 (frame->active_aspect & 0xf);
95
96 ptr[2] = ((frame->extended_colorimetry & 0x7) << 4) |
97 ((frame->quantization_range & 0x3) << 2) |
98 (frame->nups & 0x3);
99
100 if (frame->itc)
101 ptr[2] |= BIT(7);
102
103 ptr[3] = frame->video_code & 0x7f;
104
105 ptr[4] = ((frame->ycc_quantization_range & 0x3) << 6) |
106 ((frame->content_type & 0x3) << 4) |
107 (frame->pixel_repeat & 0xf);
108
109 ptr[5] = frame->top_bar & 0xff;
110 ptr[6] = (frame->top_bar >> 8) & 0xff;
111 ptr[7] = frame->bottom_bar & 0xff;
112 ptr[8] = (frame->bottom_bar >> 8) & 0xff;
113 ptr[9] = frame->left_bar & 0xff;
114 ptr[10] = (frame->left_bar >> 8) & 0xff;
115 ptr[11] = frame->right_bar & 0xff;
116 ptr[12] = (frame->right_bar >> 8) & 0xff;
117
118 hdmi_infoframe_checksum(buffer, length);
119
120 return length;
121 }
122 EXPORT_SYMBOL(hdmi_avi_infoframe_pack);
123
124 /**
125 * hdmi_spd_infoframe_init() - initialize an HDMI SPD infoframe
126 * @frame: HDMI SPD infoframe
127 * @vendor: vendor string
128 * @product: product string
129 *
130 * Returns 0 on success or a negative error code on failure.
131 */
132 int hdmi_spd_infoframe_init(struct hdmi_spd_infoframe *frame,
133 const char *vendor, const char *product)
134 {
135 memset(frame, 0, sizeof(*frame));
136
137 frame->type = HDMI_INFOFRAME_TYPE_SPD;
138 frame->version = 1;
139 frame->length = 25;
140
141 strncpy(frame->vendor, vendor, sizeof(frame->vendor));
142 strncpy(frame->product, product, sizeof(frame->product));
143
144 return 0;
145 }
146 EXPORT_SYMBOL(hdmi_spd_infoframe_init);
147
148 /**
149 * hdmi_spd_infoframe_pack() - write HDMI SPD infoframe to binary buffer
150 * @frame: HDMI SPD infoframe
151 * @buffer: destination buffer
152 * @size: size of buffer
153 *
154 * Packs the information contained in the @frame structure into a binary
155 * representation that can be written into the corresponding controller
156 * registers. Also computes the checksum as required by section 5.3.5 of
157 * the HDMI 1.4 specification.
158 *
159 * Returns the number of bytes packed into the binary buffer or a negative
160 * error code on failure.
161 */
162 ssize_t hdmi_spd_infoframe_pack(struct hdmi_spd_infoframe *frame, void *buffer,
163 size_t size)
164 {
165 u8 *ptr = buffer;
166 size_t length;
167
168 length = HDMI_INFOFRAME_HEADER_SIZE + frame->length;
169
170 if (size < length)
171 return -ENOSPC;
172
173 memset(buffer, 0, length);
174
175 ptr[0] = frame->type;
176 ptr[1] = frame->version;
177 ptr[2] = frame->length;
178 ptr[3] = 0; /* checksum */
179
180 /* start infoframe payload */
181 ptr += HDMI_INFOFRAME_HEADER_SIZE;
182
183 memcpy(ptr, frame->vendor, sizeof(frame->vendor));
184 memcpy(ptr + 8, frame->product, sizeof(frame->product));
185
186 ptr[24] = frame->sdi;
187
188 hdmi_infoframe_checksum(buffer, length);
189
190 return length;
191 }
192 EXPORT_SYMBOL(hdmi_spd_infoframe_pack);
193
194 /**
195 * hdmi_audio_infoframe_init() - initialize an HDMI audio infoframe
196 * @frame: HDMI audio infoframe
197 *
198 * Returns 0 on success or a negative error code on failure.
199 */
200 int hdmi_audio_infoframe_init(struct hdmi_audio_infoframe *frame)
201 {
202 memset(frame, 0, sizeof(*frame));
203
204 frame->type = HDMI_INFOFRAME_TYPE_AUDIO;
205 frame->version = 1;
206 frame->length = 10;
207
208 return 0;
209 }
210 EXPORT_SYMBOL(hdmi_audio_infoframe_init);
211
212 /**
213 * hdmi_audio_infoframe_pack() - write HDMI audio infoframe to binary buffer
214 * @frame: HDMI audio infoframe
215 * @buffer: destination buffer
216 * @size: size of buffer
217 *
218 * Packs the information contained in the @frame structure into a binary
219 * representation that can be written into the corresponding controller
220 * registers. Also computes the checksum as required by section 5.3.5 of
221 * the HDMI 1.4 specification.
222 *
223 * Returns the number of bytes packed into the binary buffer or a negative
224 * error code on failure.
225 */
226 ssize_t hdmi_audio_infoframe_pack(struct hdmi_audio_infoframe *frame,
227 void *buffer, size_t size)
228 {
229 unsigned char channels;
230 u8 *ptr = buffer;
231 size_t length;
232
233 length = HDMI_INFOFRAME_HEADER_SIZE + frame->length;
234
235 if (size < length)
236 return -ENOSPC;
237
238 memset(buffer, 0, length);
239
240 if (frame->channels >= 2)
241 channels = frame->channels - 1;
242 else
243 channels = 0;
244
245 ptr[0] = frame->type;
246 ptr[1] = frame->version;
247 ptr[2] = frame->length;
248 ptr[3] = 0; /* checksum */
249
250 /* start infoframe payload */
251 ptr += HDMI_INFOFRAME_HEADER_SIZE;
252
253 ptr[0] = ((frame->coding_type & 0xf) << 4) | (channels & 0x7);
254 ptr[1] = ((frame->sample_frequency & 0x7) << 2) |
255 (frame->sample_size & 0x3);
256 ptr[2] = frame->coding_type_ext & 0x1f;
257 ptr[3] = frame->channel_allocation;
258 ptr[4] = (frame->level_shift_value & 0xf) << 3;
259
260 if (frame->downmix_inhibit)
261 ptr[4] |= BIT(7);
262
263 hdmi_infoframe_checksum(buffer, length);
264
265 return length;
266 }
267 EXPORT_SYMBOL(hdmi_audio_infoframe_pack);
268
269 /**
270 * hdmi_vendor_infoframe_pack() - write a HDMI vendor infoframe to binary
271 * buffer
272 * @frame: HDMI vendor infoframe
273 * @buffer: destination buffer
274 * @size: size of buffer
275 *
276 * Packs the information contained in the @frame structure into a binary
277 * representation that can be written into the corresponding controller
278 * registers. Also computes the checksum as required by section 5.3.5 of
279 * the HDMI 1.4 specification.
280 *
281 * Returns the number of bytes packed into the binary buffer or a negative
282 * error code on failure.
283 */
284 ssize_t hdmi_vendor_infoframe_pack(struct hdmi_vendor_infoframe *frame,
285 void *buffer, size_t size)
286 {
287 u8 *ptr = buffer;
288 size_t length;
289
290 length = HDMI_INFOFRAME_HEADER_SIZE + frame->length;
291
292 if (size < length)
293 return -ENOSPC;
294
295 memset(buffer, 0, length);
296
297 ptr[0] = frame->type;
298 ptr[1] = frame->version;
299 ptr[2] = frame->length;
300 ptr[3] = 0; /* checksum */
301
302 memcpy(&ptr[HDMI_INFOFRAME_HEADER_SIZE], frame->data, frame->length);
303
304 hdmi_infoframe_checksum(buffer, length);
305
306 return length;
307 }
308 EXPORT_SYMBOL(hdmi_vendor_infoframe_pack);
309
include/linux/hdmi.h
File was created 1 /*
2 * Copyright (C) 2012 Avionic Design GmbH
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9 #ifndef __LINUX_HDMI_H_
10 #define __LINUX_HDMI_H_
11
12 #include <linux/types.h>
13
14 enum hdmi_infoframe_type {
15 HDMI_INFOFRAME_TYPE_VENDOR = 0x81,
16 HDMI_INFOFRAME_TYPE_AVI = 0x82,
17 HDMI_INFOFRAME_TYPE_SPD = 0x83,
18 HDMI_INFOFRAME_TYPE_AUDIO = 0x84,
19 };
20
21 #define HDMI_INFOFRAME_HEADER_SIZE 4
22 #define HDMI_AVI_INFOFRAME_SIZE 13
23 #define HDMI_SPD_INFOFRAME_SIZE 25
24 #define HDMI_AUDIO_INFOFRAME_SIZE 10
25
26 enum hdmi_colorspace {
27 HDMI_COLORSPACE_RGB,
28 HDMI_COLORSPACE_YUV422,
29 HDMI_COLORSPACE_YUV444,
30 };
31
32 enum hdmi_scan_mode {
33 HDMI_SCAN_MODE_NONE,
34 HDMI_SCAN_MODE_OVERSCAN,
35 HDMI_SCAN_MODE_UNDERSCAN,
36 };
37
38 enum hdmi_colorimetry {
39 HDMI_COLORIMETRY_NONE,
40 HDMI_COLORIMETRY_ITU_601,
41 HDMI_COLORIMETRY_ITU_709,
42 HDMI_COLORIMETRY_EXTENDED,
43 };
44
45 enum hdmi_picture_aspect {
46 HDMI_PICTURE_ASPECT_NONE,
47 HDMI_PICTURE_ASPECT_4_3,
48 HDMI_PICTURE_ASPECT_16_9,
49 };
50
51 enum hdmi_active_aspect {
52 HDMI_ACTIVE_ASPECT_16_9_TOP = 2,
53 HDMI_ACTIVE_ASPECT_14_9_TOP = 3,
54 HDMI_ACTIVE_ASPECT_16_9_CENTER = 4,
55 HDMI_ACTIVE_ASPECT_PICTURE = 8,
56 HDMI_ACTIVE_ASPECT_4_3 = 9,
57 HDMI_ACTIVE_ASPECT_16_9 = 10,
58 HDMI_ACTIVE_ASPECT_14_9 = 11,
59 HDMI_ACTIVE_ASPECT_4_3_SP_14_9 = 13,
60 HDMI_ACTIVE_ASPECT_16_9_SP_14_9 = 14,
61 HDMI_ACTIVE_ASPECT_16_9_SP_4_3 = 15,
62 };
63
64 enum hdmi_extended_colorimetry {
65 HDMI_EXTENDED_COLORIMETRY_XV_YCC_601,
66 HDMI_EXTENDED_COLORIMETRY_XV_YCC_709,
67 HDMI_EXTENDED_COLORIMETRY_S_YCC_601,
68 HDMI_EXTENDED_COLORIMETRY_ADOBE_YCC_601,
69 HDMI_EXTENDED_COLORIMETRY_ADOBE_RGB,
70 };
71
72 enum hdmi_quantization_range {
73 HDMI_QUANTIZATION_RANGE_DEFAULT,
74 HDMI_QUANTIZATION_RANGE_LIMITED,
75 HDMI_QUANTIZATION_RANGE_FULL,
76 };
77
78 /* non-uniform picture scaling */
79 enum hdmi_nups {
80 HDMI_NUPS_UNKNOWN,
81 HDMI_NUPS_HORIZONTAL,
82 HDMI_NUPS_VERTICAL,
83 HDMI_NUPS_BOTH,
84 };
85
86 enum hdmi_ycc_quantization_range {
87 HDMI_YCC_QUANTIZATION_RANGE_LIMITED,
88 HDMI_YCC_QUANTIZATION_RANGE_FULL,
89 };
90
91 enum hdmi_content_type {
92 HDMI_CONTENT_TYPE_NONE,
93 HDMI_CONTENT_TYPE_PHOTO,
94 HDMI_CONTENT_TYPE_CINEMA,
95 HDMI_CONTENT_TYPE_GAME,
96 };
97
98 struct hdmi_avi_infoframe {
99 enum hdmi_infoframe_type type;
100 unsigned char version;
101 unsigned char length;
102 enum hdmi_colorspace colorspace;
103 bool active_info_valid;
104 bool horizontal_bar_valid;
105 bool vertical_bar_valid;
106 enum hdmi_scan_mode scan_mode;
107 enum hdmi_colorimetry colorimetry;
108 enum hdmi_picture_aspect picture_aspect;
109 enum hdmi_active_aspect active_aspect;
110 bool itc;
111 enum hdmi_extended_colorimetry extended_colorimetry;
112 enum hdmi_quantization_range quantization_range;
113 enum hdmi_nups nups;
114 unsigned char video_code;
115 enum hdmi_ycc_quantization_range ycc_quantization_range;
116 enum hdmi_content_type content_type;
117 unsigned char pixel_repeat;
118 unsigned short top_bar;
119 unsigned short bottom_bar;
120 unsigned short left_bar;
121 unsigned short right_bar;
122 };
123
124 int hdmi_avi_infoframe_init(struct hdmi_avi_infoframe *frame);
125 ssize_t hdmi_avi_infoframe_pack(struct hdmi_avi_infoframe *frame, void *buffer,
126 size_t size);
127
128 enum hdmi_spd_sdi {
129 HDMI_SPD_SDI_UNKNOWN,
130 HDMI_SPD_SDI_DSTB,
131 HDMI_SPD_SDI_DVDP,
132 HDMI_SPD_SDI_DVHS,
133 HDMI_SPD_SDI_HDDVR,
134 HDMI_SPD_SDI_DVC,
135 HDMI_SPD_SDI_DSC,
136 HDMI_SPD_SDI_VCD,
137 HDMI_SPD_SDI_GAME,
138 HDMI_SPD_SDI_PC,
139 HDMI_SPD_SDI_BD,
140 HDMI_SPD_SDI_SACD,
141 HDMI_SPD_SDI_HDDVD,
142 HDMI_SPD_SDI_PMP,
143 };
144
145 struct hdmi_spd_infoframe {
146 enum hdmi_infoframe_type type;
147 unsigned char version;
148 unsigned char length;
149 char vendor[8];
150 char product[16];
151 enum hdmi_spd_sdi sdi;
152 };
153
154 int hdmi_spd_infoframe_init(struct hdmi_spd_infoframe *frame,
155 const char *vendor, const char *product);
156 ssize_t hdmi_spd_infoframe_pack(struct hdmi_spd_infoframe *frame, void *buffer,
157 size_t size);
158
159 enum hdmi_audio_coding_type {
160 HDMI_AUDIO_CODING_TYPE_STREAM,
161 HDMI_AUDIO_CODING_TYPE_PCM,
162 HDMI_AUDIO_CODING_TYPE_AC3,
163 HDMI_AUDIO_CODING_TYPE_MPEG1,
164 HDMI_AUDIO_CODING_TYPE_MP3,
165 HDMI_AUDIO_CODING_TYPE_MPEG2,
166 HDMI_AUDIO_CODING_TYPE_AAC_LC,
167 HDMI_AUDIO_CODING_TYPE_DTS,
168 HDMI_AUDIO_CODING_TYPE_ATRAC,
169 HDMI_AUDIO_CODING_TYPE_DSD,
170 HDMI_AUDIO_CODING_TYPE_EAC3,
171 HDMI_AUDIO_CODING_TYPE_DTS_HD,
172 HDMI_AUDIO_CODING_TYPE_MLP,
173 HDMI_AUDIO_CODING_TYPE_DST,
174 HDMI_AUDIO_CODING_TYPE_WMA_PRO,
175 };
176
177 enum hdmi_audio_sample_size {
178 HDMI_AUDIO_SAMPLE_SIZE_STREAM,
179 HDMI_AUDIO_SAMPLE_SIZE_16,
180 HDMI_AUDIO_SAMPLE_SIZE_20,
181 HDMI_AUDIO_SAMPLE_SIZE_24,
182 };
183
184 enum hdmi_audio_sample_frequency {
185 HDMI_AUDIO_SAMPLE_FREQUENCY_STREAM,
186 HDMI_AUDIO_SAMPLE_FREQUENCY_32000,
187 HDMI_AUDIO_SAMPLE_FREQUENCY_44100,
188 HDMI_AUDIO_SAMPLE_FREQUENCY_48000,
189 HDMI_AUDIO_SAMPLE_FREQUENCY_88200,
190 HDMI_AUDIO_SAMPLE_FREQUENCY_96000,
191 HDMI_AUDIO_SAMPLE_FREQUENCY_176400,
192 HDMI_AUDIO_SAMPLE_FREQUENCY_192000,
193 };
194
195 enum hdmi_audio_coding_type_ext {
196 HDMI_AUDIO_CODING_TYPE_EXT_STREAM,
197 HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC,
198 HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2,
199 HDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND,
200 };
201
202 struct hdmi_audio_infoframe {
203 enum hdmi_infoframe_type type;
204 unsigned char version;
205 unsigned char length;
206 unsigned char channels;
207 enum hdmi_audio_coding_type coding_type;
208 enum hdmi_audio_sample_size sample_size;
209 enum hdmi_audio_sample_frequency sample_frequency;
210 enum hdmi_audio_coding_type_ext coding_type_ext;
211 unsigned char channel_allocation;
212 unsigned char level_shift_value;
213 bool downmix_inhibit;
214
215 };
216
217 int hdmi_audio_infoframe_init(struct hdmi_audio_infoframe *frame);
218 ssize_t hdmi_audio_infoframe_pack(struct hdmi_audio_infoframe *frame,
219 void *buffer, size_t size);
220
221 struct hdmi_vendor_infoframe {
222 enum hdmi_infoframe_type type;
223 unsigned char version;
224 unsigned char length;
225 u8 data[27];
226 };
227
228 ssize_t hdmi_vendor_infoframe_pack(struct hdmi_vendor_infoframe *frame,
229 void *buffer, size_t size);
230
231 #endif /* _DRM_HDMI_H */
232