1df791524SJavier Martinez Canillas# SPDX-License-Identifier: GPL-2.0-only 2df791524SJavier Martinez Canillas# 3df791524SJavier Martinez Canillas# fbdev core configuration 4df791524SJavier Martinez Canillas# 5df791524SJavier Martinez Canillas 655bffc81SJavier Martinez Canillasconfig FB_CORE 7a3b6792eSThomas Zimmermann select VIDEO 855bffc81SJavier Martinez Canillas tristate 955bffc81SJavier Martinez Canillas 10df791524SJavier Martinez Canillasconfig FB_NOTIFY 11df791524SJavier Martinez Canillas bool 12df791524SJavier Martinez Canillas 13df791524SJavier Martinez Canillasconfig FIRMWARE_EDID 14df791524SJavier Martinez Canillas bool "Enable firmware EDID" 15df791524SJavier Martinez Canillas depends on FB 16df791524SJavier Martinez Canillas help 17df791524SJavier Martinez Canillas This enables access to the EDID transferred from the firmware. 18df791524SJavier Martinez Canillas On the i386, this is from the Video BIOS. Enable this if DDC/I2C 19df791524SJavier Martinez Canillas transfers do not work for your driver and if you are using 20df791524SJavier Martinez Canillas nvidiafb, i810fb or savagefb. 21df791524SJavier Martinez Canillas 22df791524SJavier Martinez Canillas In general, choosing Y for this option is safe. If you 23df791524SJavier Martinez Canillas experience extremely long delays while booting before you get 24df791524SJavier Martinez Canillas something on your display, try setting this to N. Matrox cards in 25df791524SJavier Martinez Canillas combination with certain motherboards and monitors are known to 26df791524SJavier Martinez Canillas suffer from this problem. 27df791524SJavier Martinez Canillas 28df791524SJavier Martinez Canillasconfig FB_DEVICE 29df791524SJavier Martinez Canillas bool "Provide legacy /dev/fb* device" 3055bffc81SJavier Martinez Canillas depends on FB_CORE 31bb6c4507SArnd Bergmann default FB 32df791524SJavier Martinez Canillas help 33df791524SJavier Martinez Canillas Say Y here if you want the legacy /dev/fb* device file and 34df791524SJavier Martinez Canillas interfaces within sysfs anc procfs. It is only required if you 35df791524SJavier Martinez Canillas have userspace programs that depend on fbdev for graphics output. 36df791524SJavier Martinez Canillas This does not affect the framebuffer console. If unsure, say N. 37df791524SJavier Martinez Canillas 38df791524SJavier Martinez Canillasconfig FB_DDC 39df791524SJavier Martinez Canillas tristate 40df791524SJavier Martinez Canillas depends on FB 41df791524SJavier Martinez Canillas select I2C_ALGOBIT 42df791524SJavier Martinez Canillas select I2C 43df791524SJavier Martinez Canillas 44df791524SJavier Martinez Canillasconfig FB_CFB_FILLRECT 45df791524SJavier Martinez Canillas tristate 4655bffc81SJavier Martinez Canillas depends on FB_CORE 47df791524SJavier Martinez Canillas help 48df791524SJavier Martinez Canillas Include the cfb_fillrect function for generic software rectangle 49df791524SJavier Martinez Canillas filling. This is used by drivers that don't provide their own 50df791524SJavier Martinez Canillas (accelerated) version. 51df791524SJavier Martinez Canillas 52df791524SJavier Martinez Canillasconfig FB_CFB_COPYAREA 53df791524SJavier Martinez Canillas tristate 5455bffc81SJavier Martinez Canillas depends on FB_CORE 55df791524SJavier Martinez Canillas help 56df791524SJavier Martinez Canillas Include the cfb_copyarea function for generic software area copying. 57df791524SJavier Martinez Canillas This is used by drivers that don't provide their own (accelerated) 58df791524SJavier Martinez Canillas version. 59df791524SJavier Martinez Canillas 60df791524SJavier Martinez Canillasconfig FB_CFB_IMAGEBLIT 61df791524SJavier Martinez Canillas tristate 6255bffc81SJavier Martinez Canillas depends on FB_CORE 63df791524SJavier Martinez Canillas help 64df791524SJavier Martinez Canillas Include the cfb_imageblit function for generic software image 65df791524SJavier Martinez Canillas blitting. This is used by drivers that don't provide their own 66df791524SJavier Martinez Canillas (accelerated) version. 67df791524SJavier Martinez Canillas 68df791524SJavier Martinez Canillasconfig FB_CFB_REV_PIXELS_IN_BYTE 69df791524SJavier Martinez Canillas bool 7055bffc81SJavier Martinez Canillas depends on FB_CORE 71df791524SJavier Martinez Canillas help 72*eabb0329SZsolt Kajtar Allow I/O memory frame-buffer functions to work on displays with 1, 2 73df791524SJavier Martinez Canillas and 4 bits per pixel depths which has opposite order of pixels in 74df791524SJavier Martinez Canillas byte order to bytes in long order. 75df791524SJavier Martinez Canillas 76df791524SJavier Martinez Canillasconfig FB_SYS_FILLRECT 77df791524SJavier Martinez Canillas tristate 7855bffc81SJavier Martinez Canillas depends on FB_CORE 79df791524SJavier Martinez Canillas help 80df791524SJavier Martinez Canillas Include the sys_fillrect function for generic software rectangle 81df791524SJavier Martinez Canillas filling. This is used by drivers that don't provide their own 82df791524SJavier Martinez Canillas (accelerated) version and the framebuffer is in system RAM. 83df791524SJavier Martinez Canillas 84df791524SJavier Martinez Canillasconfig FB_SYS_COPYAREA 85df791524SJavier Martinez Canillas tristate 8655bffc81SJavier Martinez Canillas depends on FB_CORE 87df791524SJavier Martinez Canillas help 88df791524SJavier Martinez Canillas Include the sys_copyarea function for generic software area copying. 89df791524SJavier Martinez Canillas This is used by drivers that don't provide their own (accelerated) 90df791524SJavier Martinez Canillas version and the framebuffer is in system RAM. 91df791524SJavier Martinez Canillas 92df791524SJavier Martinez Canillasconfig FB_SYS_IMAGEBLIT 93df791524SJavier Martinez Canillas tristate 9455bffc81SJavier Martinez Canillas depends on FB_CORE 95df791524SJavier Martinez Canillas help 96df791524SJavier Martinez Canillas Include the sys_imageblit function for generic software image 97df791524SJavier Martinez Canillas blitting. This is used by drivers that don't provide their own 98df791524SJavier Martinez Canillas (accelerated) version and the framebuffer is in system RAM. 99df791524SJavier Martinez Canillas 100*eabb0329SZsolt Kajtarconfig FB_SYS_REV_PIXELS_IN_BYTE 101*eabb0329SZsolt Kajtar bool 102*eabb0329SZsolt Kajtar depends on FB_CORE 103*eabb0329SZsolt Kajtar help 104*eabb0329SZsolt Kajtar Allow virtual memory frame-buffer functions to work on displays with 1, 2 105*eabb0329SZsolt Kajtar and 4 bits per pixel depths which has opposite order of pixels in 106*eabb0329SZsolt Kajtar byte order to bytes in long order. 107*eabb0329SZsolt Kajtar 108df791524SJavier Martinez Canillasconfig FB_PROVIDE_GET_FB_UNMAPPED_AREA 109df791524SJavier Martinez Canillas bool 110df791524SJavier Martinez Canillas depends on FB 111df791524SJavier Martinez Canillas help 112df791524SJavier Martinez Canillas Allow generic frame-buffer to provide get_fb_unmapped_area 113df791524SJavier Martinez Canillas function to provide shareable character device support on nommu. 114df791524SJavier Martinez Canillas 115df791524SJavier Martinez Canillasmenuconfig FB_FOREIGN_ENDIAN 116df791524SJavier Martinez Canillas bool "Framebuffer foreign endianness support" 117df791524SJavier Martinez Canillas depends on FB 118df791524SJavier Martinez Canillas help 119df791524SJavier Martinez Canillas This menu will let you enable support for the framebuffers with 120df791524SJavier Martinez Canillas non-native endianness (e.g. Little-Endian framebuffer on a 121df791524SJavier Martinez Canillas Big-Endian machine). Most probably you don't have such hardware, 122df791524SJavier Martinez Canillas so it's safe to say "n" here. 123df791524SJavier Martinez Canillas 124df791524SJavier Martinez Canillaschoice 125df791524SJavier Martinez Canillas prompt "Choice endianness support" 126df791524SJavier Martinez Canillas depends on FB_FOREIGN_ENDIAN 127df791524SJavier Martinez Canillas 128df791524SJavier Martinez Canillasconfig FB_BOTH_ENDIAN 129df791524SJavier Martinez Canillas bool "Support for Big- and Little-Endian framebuffers" 130df791524SJavier Martinez Canillas 131df791524SJavier Martinez Canillasconfig FB_BIG_ENDIAN 132df791524SJavier Martinez Canillas bool "Support for Big-Endian framebuffers only" 133df791524SJavier Martinez Canillas 134df791524SJavier Martinez Canillasconfig FB_LITTLE_ENDIAN 135df791524SJavier Martinez Canillas bool "Support for Little-Endian framebuffers only" 136df791524SJavier Martinez Canillas 137df791524SJavier Martinez Canillasendchoice 138df791524SJavier Martinez Canillas 13927ad64eaSThomas Zimmermannconfig FB_SYSMEM_FOPS 140df791524SJavier Martinez Canillas tristate 14155bffc81SJavier Martinez Canillas depends on FB_CORE 142df791524SJavier Martinez Canillas 143df791524SJavier Martinez Canillasconfig FB_DEFERRED_IO 144df791524SJavier Martinez Canillas bool 14555bffc81SJavier Martinez Canillas depends on FB_CORE 146df791524SJavier Martinez Canillas 147b21f187fSThomas Zimmermannconfig FB_DMAMEM_HELPERS 1486f0f6941SThomas Zimmermann bool 1496f0f6941SThomas Zimmermann depends on FB_CORE 1506f0f6941SThomas Zimmermann select FB_SYS_COPYAREA 1516f0f6941SThomas Zimmermann select FB_SYS_FILLRECT 1526f0f6941SThomas Zimmermann select FB_SYS_IMAGEBLIT 15327ad64eaSThomas Zimmermann select FB_SYSMEM_FOPS 1546f0f6941SThomas Zimmermann 15501c0cce8STony Lindgrenconfig FB_DMAMEM_HELPERS_DEFERRED 15601c0cce8STony Lindgren bool 15701c0cce8STony Lindgren depends on FB_CORE 15801c0cce8STony Lindgren select FB_DEFERRED_IO 15901c0cce8STony Lindgren select FB_DMAMEM_HELPERS 16001c0cce8STony Lindgren 1616b180f66SThomas Zimmermannconfig FB_IOMEM_FOPS 1626b180f66SThomas Zimmermann tristate 1636b180f66SThomas Zimmermann depends on FB_CORE 1646b180f66SThomas Zimmermann 1654520844bSThomas Zimmermannconfig FB_IOMEM_HELPERS 166df791524SJavier Martinez Canillas bool 16755bffc81SJavier Martinez Canillas depends on FB_CORE 168df791524SJavier Martinez Canillas select FB_CFB_COPYAREA 169df791524SJavier Martinez Canillas select FB_CFB_FILLRECT 170df791524SJavier Martinez Canillas select FB_CFB_IMAGEBLIT 1716b180f66SThomas Zimmermann select FB_IOMEM_FOPS 172df791524SJavier Martinez Canillas 173ee057f97SThomas Zimmermannconfig FB_IOMEM_HELPERS_DEFERRED 174ee057f97SThomas Zimmermann bool 175ee057f97SThomas Zimmermann depends on FB_CORE 176ee057f97SThomas Zimmermann select FB_DEFERRED_IO 177ee057f97SThomas Zimmermann select FB_IOMEM_HELPERS 178ee057f97SThomas Zimmermann 179cd8a064fSThomas Zimmermannconfig FB_SYSMEM_HELPERS 180df791524SJavier Martinez Canillas bool 18155bffc81SJavier Martinez Canillas depends on FB_CORE 182df791524SJavier Martinez Canillas select FB_SYS_COPYAREA 183df791524SJavier Martinez Canillas select FB_SYS_FILLRECT 184df791524SJavier Martinez Canillas select FB_SYS_IMAGEBLIT 18527ad64eaSThomas Zimmermann select FB_SYSMEM_FOPS 186df791524SJavier Martinez Canillas 187cd8a064fSThomas Zimmermannconfig FB_SYSMEM_HELPERS_DEFERRED 188df791524SJavier Martinez Canillas bool 18955bffc81SJavier Martinez Canillas depends on FB_CORE 190df791524SJavier Martinez Canillas select FB_DEFERRED_IO 191cd8a064fSThomas Zimmermann select FB_SYSMEM_HELPERS 192df791524SJavier Martinez Canillas 193df791524SJavier Martinez Canillasconfig FB_BACKLIGHT 1948fc38062SThomas Zimmermann bool 195df791524SJavier Martinez Canillas depends on FB 196df791524SJavier Martinez Canillas 197df791524SJavier Martinez Canillasconfig FB_MODE_HELPERS 198df791524SJavier Martinez Canillas bool "Enable Video Mode Handling Helpers" 199df791524SJavier Martinez Canillas depends on FB 200df791524SJavier Martinez Canillas help 201df791524SJavier Martinez Canillas This enables functions for handling video modes using the 202df791524SJavier Martinez Canillas Generalized Timing Formula and the EDID parser. A few drivers rely 203df791524SJavier Martinez Canillas on this feature such as the radeonfb, rivafb, and the i810fb. If 204df791524SJavier Martinez Canillas your driver does not take advantage of this feature, choosing Y will 205df791524SJavier Martinez Canillas just increase the kernel size by about 5K. 206df791524SJavier Martinez Canillas 207df791524SJavier Martinez Canillasconfig FB_TILEBLITTING 208df791524SJavier Martinez Canillas bool "Enable Tile Blitting Support" 209df791524SJavier Martinez Canillas depends on FB 210df791524SJavier Martinez Canillas help 211df791524SJavier Martinez Canillas This enables tile blitting. Tile blitting is a drawing technique 212df791524SJavier Martinez Canillas where the screen is divided into rectangular sections (tiles), whereas 213df791524SJavier Martinez Canillas the standard blitting divides the screen into pixels. Because the 214df791524SJavier Martinez Canillas default drawing element is a tile, drawing functions will be passed 215df791524SJavier Martinez Canillas parameters in terms of number of tiles instead of number of pixels. 216df791524SJavier Martinez Canillas For example, to draw a single character, instead of using bitmaps, 217df791524SJavier Martinez Canillas an index to an array of bitmaps will be used. To clear or move a 218df791524SJavier Martinez Canillas rectangular section of a screen, the rectangle will be described in 219df791524SJavier Martinez Canillas terms of number of tiles in the x- and y-axis. 220df791524SJavier Martinez Canillas 221df791524SJavier Martinez Canillas This is particularly important to one driver, matroxfb. If 222df791524SJavier Martinez Canillas unsure, say N. 223