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 7c00e8fd7SThomas Zimmermann select FB_IOMEM_FOPS 855bffc81SJavier Martinez Canillas select VIDEO_CMDLINE 955bffc81SJavier Martinez Canillas tristate 1055bffc81SJavier Martinez Canillas 11df791524SJavier Martinez Canillasconfig FB_NOTIFY 12df791524SJavier Martinez Canillas bool 13df791524SJavier Martinez Canillas 14df791524SJavier Martinez Canillasconfig FIRMWARE_EDID 15df791524SJavier Martinez Canillas bool "Enable firmware EDID" 16df791524SJavier Martinez Canillas depends on FB 17df791524SJavier Martinez Canillas help 18df791524SJavier Martinez Canillas This enables access to the EDID transferred from the firmware. 19df791524SJavier Martinez Canillas On the i386, this is from the Video BIOS. Enable this if DDC/I2C 20df791524SJavier Martinez Canillas transfers do not work for your driver and if you are using 21df791524SJavier Martinez Canillas nvidiafb, i810fb or savagefb. 22df791524SJavier Martinez Canillas 23df791524SJavier Martinez Canillas In general, choosing Y for this option is safe. If you 24df791524SJavier Martinez Canillas experience extremely long delays while booting before you get 25df791524SJavier Martinez Canillas something on your display, try setting this to N. Matrox cards in 26df791524SJavier Martinez Canillas combination with certain motherboards and monitors are known to 27df791524SJavier Martinez Canillas suffer from this problem. 28df791524SJavier Martinez Canillas 29df791524SJavier Martinez Canillasconfig FB_DEVICE 30df791524SJavier Martinez Canillas bool "Provide legacy /dev/fb* device" 3155bffc81SJavier Martinez Canillas depends on FB_CORE 32bb6c4507SArnd Bergmann default FB 33df791524SJavier Martinez Canillas help 34df791524SJavier Martinez Canillas Say Y here if you want the legacy /dev/fb* device file and 35df791524SJavier Martinez Canillas interfaces within sysfs anc procfs. It is only required if you 36df791524SJavier Martinez Canillas have userspace programs that depend on fbdev for graphics output. 37df791524SJavier Martinez Canillas This does not affect the framebuffer console. If unsure, say N. 38df791524SJavier Martinez Canillas 39df791524SJavier Martinez Canillasconfig FB_DDC 40df791524SJavier Martinez Canillas tristate 41df791524SJavier Martinez Canillas depends on FB 42df791524SJavier Martinez Canillas select I2C_ALGOBIT 43df791524SJavier Martinez Canillas select I2C 44df791524SJavier Martinez Canillas 45df791524SJavier Martinez Canillasconfig FB_CFB_FILLRECT 46df791524SJavier Martinez Canillas tristate 4755bffc81SJavier Martinez Canillas depends on FB_CORE 48df791524SJavier Martinez Canillas help 49df791524SJavier Martinez Canillas Include the cfb_fillrect function for generic software rectangle 50df791524SJavier Martinez Canillas filling. This is used by drivers that don't provide their own 51df791524SJavier Martinez Canillas (accelerated) version. 52df791524SJavier Martinez Canillas 53df791524SJavier Martinez Canillasconfig FB_CFB_COPYAREA 54df791524SJavier Martinez Canillas tristate 5555bffc81SJavier Martinez Canillas depends on FB_CORE 56df791524SJavier Martinez Canillas help 57df791524SJavier Martinez Canillas Include the cfb_copyarea function for generic software area copying. 58df791524SJavier Martinez Canillas This is used by drivers that don't provide their own (accelerated) 59df791524SJavier Martinez Canillas version. 60df791524SJavier Martinez Canillas 61df791524SJavier Martinez Canillasconfig FB_CFB_IMAGEBLIT 62df791524SJavier Martinez Canillas tristate 6355bffc81SJavier Martinez Canillas depends on FB_CORE 64df791524SJavier Martinez Canillas help 65df791524SJavier Martinez Canillas Include the cfb_imageblit function for generic software image 66df791524SJavier Martinez Canillas blitting. This is used by drivers that don't provide their own 67df791524SJavier Martinez Canillas (accelerated) version. 68df791524SJavier Martinez Canillas 69df791524SJavier Martinez Canillasconfig FB_CFB_REV_PIXELS_IN_BYTE 70df791524SJavier Martinez Canillas bool 7155bffc81SJavier Martinez Canillas depends on FB_CORE 72df791524SJavier Martinez Canillas help 73df791524SJavier Martinez Canillas Allow generic frame-buffer functions to work on displays with 1, 2 74df791524SJavier Martinez Canillas and 4 bits per pixel depths which has opposite order of pixels in 75df791524SJavier Martinez Canillas byte order to bytes in long order. 76df791524SJavier Martinez Canillas 77df791524SJavier Martinez Canillasconfig FB_SYS_FILLRECT 78df791524SJavier Martinez Canillas tristate 7955bffc81SJavier Martinez Canillas depends on FB_CORE 80df791524SJavier Martinez Canillas help 81df791524SJavier Martinez Canillas Include the sys_fillrect function for generic software rectangle 82df791524SJavier Martinez Canillas filling. This is used by drivers that don't provide their own 83df791524SJavier Martinez Canillas (accelerated) version and the framebuffer is in system RAM. 84df791524SJavier Martinez Canillas 85df791524SJavier Martinez Canillasconfig FB_SYS_COPYAREA 86df791524SJavier Martinez Canillas tristate 8755bffc81SJavier Martinez Canillas depends on FB_CORE 88df791524SJavier Martinez Canillas help 89df791524SJavier Martinez Canillas Include the sys_copyarea function for generic software area copying. 90df791524SJavier Martinez Canillas This is used by drivers that don't provide their own (accelerated) 91df791524SJavier Martinez Canillas version and the framebuffer is in system RAM. 92df791524SJavier Martinez Canillas 93df791524SJavier Martinez Canillasconfig FB_SYS_IMAGEBLIT 94df791524SJavier Martinez Canillas tristate 9555bffc81SJavier Martinez Canillas depends on FB_CORE 96df791524SJavier Martinez Canillas help 97df791524SJavier Martinez Canillas Include the sys_imageblit function for generic software image 98df791524SJavier Martinez Canillas blitting. This is used by drivers that don't provide their own 99df791524SJavier Martinez Canillas (accelerated) version and the framebuffer is in system RAM. 100df791524SJavier Martinez Canillas 101df791524SJavier Martinez Canillasconfig FB_PROVIDE_GET_FB_UNMAPPED_AREA 102df791524SJavier Martinez Canillas bool 103df791524SJavier Martinez Canillas depends on FB 104df791524SJavier Martinez Canillas help 105df791524SJavier Martinez Canillas Allow generic frame-buffer to provide get_fb_unmapped_area 106df791524SJavier Martinez Canillas function to provide shareable character device support on nommu. 107df791524SJavier Martinez Canillas 108df791524SJavier Martinez Canillasmenuconfig FB_FOREIGN_ENDIAN 109df791524SJavier Martinez Canillas bool "Framebuffer foreign endianness support" 110df791524SJavier Martinez Canillas depends on FB 111df791524SJavier Martinez Canillas help 112df791524SJavier Martinez Canillas This menu will let you enable support for the framebuffers with 113df791524SJavier Martinez Canillas non-native endianness (e.g. Little-Endian framebuffer on a 114df791524SJavier Martinez Canillas Big-Endian machine). Most probably you don't have such hardware, 115df791524SJavier Martinez Canillas so it's safe to say "n" here. 116df791524SJavier Martinez Canillas 117df791524SJavier Martinez Canillaschoice 118df791524SJavier Martinez Canillas prompt "Choice endianness support" 119df791524SJavier Martinez Canillas depends on FB_FOREIGN_ENDIAN 120df791524SJavier Martinez Canillas 121df791524SJavier Martinez Canillasconfig FB_BOTH_ENDIAN 122df791524SJavier Martinez Canillas bool "Support for Big- and Little-Endian framebuffers" 123df791524SJavier Martinez Canillas 124df791524SJavier Martinez Canillasconfig FB_BIG_ENDIAN 125df791524SJavier Martinez Canillas bool "Support for Big-Endian framebuffers only" 126df791524SJavier Martinez Canillas 127df791524SJavier Martinez Canillasconfig FB_LITTLE_ENDIAN 128df791524SJavier Martinez Canillas bool "Support for Little-Endian framebuffers only" 129df791524SJavier Martinez Canillas 130df791524SJavier Martinez Canillasendchoice 131df791524SJavier Martinez Canillas 132df791524SJavier Martinez Canillasconfig FB_SYS_FOPS 133df791524SJavier Martinez Canillas tristate 13455bffc81SJavier Martinez Canillas depends on FB_CORE 135df791524SJavier Martinez Canillas 136df791524SJavier Martinez Canillasconfig FB_DEFERRED_IO 137df791524SJavier Martinez Canillas bool 13855bffc81SJavier Martinez Canillas depends on FB_CORE 139df791524SJavier Martinez Canillas 140b21f187fSThomas Zimmermannconfig FB_DMAMEM_HELPERS 1416f0f6941SThomas Zimmermann bool 1426f0f6941SThomas Zimmermann depends on FB_CORE 1436f0f6941SThomas Zimmermann select FB_SYS_COPYAREA 1446f0f6941SThomas Zimmermann select FB_SYS_FILLRECT 1456f0f6941SThomas Zimmermann select FB_SYS_FOPS 1466f0f6941SThomas Zimmermann select FB_SYS_IMAGEBLIT 1476f0f6941SThomas Zimmermann 148*5fdc39e0STony Lindgrenconfig FB_DMAMEM_HELPERS_DEFERRED 149*5fdc39e0STony Lindgren bool 150*5fdc39e0STony Lindgren depends on FB_CORE 151*5fdc39e0STony Lindgren select FB_DEFERRED_IO 152*5fdc39e0STony Lindgren select FB_DMAMEM_HELPERS 153*5fdc39e0STony Lindgren 154c00e8fd7SThomas Zimmermannconfig FB_IOMEM_FOPS 155c00e8fd7SThomas Zimmermann tristate 156c00e8fd7SThomas Zimmermann depends on FB_CORE 157c00e8fd7SThomas Zimmermann 1584520844bSThomas Zimmermannconfig FB_IOMEM_HELPERS 159df791524SJavier Martinez Canillas bool 16055bffc81SJavier Martinez Canillas depends on FB_CORE 161df791524SJavier Martinez Canillas select FB_CFB_COPYAREA 162df791524SJavier Martinez Canillas select FB_CFB_FILLRECT 163df791524SJavier Martinez Canillas select FB_CFB_IMAGEBLIT 164c00e8fd7SThomas Zimmermann select FB_IOMEM_FOPS 165df791524SJavier Martinez Canillas 166cd8a064fSThomas Zimmermannconfig FB_SYSMEM_HELPERS 167df791524SJavier Martinez Canillas bool 16855bffc81SJavier Martinez Canillas depends on FB_CORE 169df791524SJavier Martinez Canillas select FB_SYS_COPYAREA 170df791524SJavier Martinez Canillas select FB_SYS_FILLRECT 171df791524SJavier Martinez Canillas select FB_SYS_FOPS 172df791524SJavier Martinez Canillas select FB_SYS_IMAGEBLIT 173df791524SJavier Martinez Canillas 174cd8a064fSThomas Zimmermannconfig FB_SYSMEM_HELPERS_DEFERRED 175df791524SJavier Martinez Canillas bool 17655bffc81SJavier Martinez Canillas depends on FB_CORE 177df791524SJavier Martinez Canillas select FB_DEFERRED_IO 178cd8a064fSThomas Zimmermann select FB_SYSMEM_HELPERS 179df791524SJavier Martinez Canillas 180df791524SJavier Martinez Canillasconfig FB_BACKLIGHT 181df791524SJavier Martinez Canillas tristate 182df791524SJavier Martinez Canillas depends on FB 183df791524SJavier Martinez Canillas select BACKLIGHT_CLASS_DEVICE 184df791524SJavier Martinez Canillas 185df791524SJavier Martinez Canillasconfig FB_MODE_HELPERS 186df791524SJavier Martinez Canillas bool "Enable Video Mode Handling Helpers" 187df791524SJavier Martinez Canillas depends on FB 188df791524SJavier Martinez Canillas help 189df791524SJavier Martinez Canillas This enables functions for handling video modes using the 190df791524SJavier Martinez Canillas Generalized Timing Formula and the EDID parser. A few drivers rely 191df791524SJavier Martinez Canillas on this feature such as the radeonfb, rivafb, and the i810fb. If 192df791524SJavier Martinez Canillas your driver does not take advantage of this feature, choosing Y will 193df791524SJavier Martinez Canillas just increase the kernel size by about 5K. 194df791524SJavier Martinez Canillas 195df791524SJavier Martinez Canillasconfig FB_TILEBLITTING 196df791524SJavier Martinez Canillas bool "Enable Tile Blitting Support" 197df791524SJavier Martinez Canillas depends on FB 198df791524SJavier Martinez Canillas help 199df791524SJavier Martinez Canillas This enables tile blitting. Tile blitting is a drawing technique 200df791524SJavier Martinez Canillas where the screen is divided into rectangular sections (tiles), whereas 201df791524SJavier Martinez Canillas the standard blitting divides the screen into pixels. Because the 202df791524SJavier Martinez Canillas default drawing element is a tile, drawing functions will be passed 203df791524SJavier Martinez Canillas parameters in terms of number of tiles instead of number of pixels. 204df791524SJavier Martinez Canillas For example, to draw a single character, instead of using bitmaps, 205df791524SJavier Martinez Canillas an index to an array of bitmaps will be used. To clear or move a 206df791524SJavier Martinez Canillas rectangular section of a screen, the rectangle will be described in 207df791524SJavier Martinez Canillas terms of number of tiles in the x- and y-axis. 208df791524SJavier Martinez Canillas 209df791524SJavier Martinez Canillas This is particularly important to one driver, matroxfb. If 210df791524SJavier Martinez Canillas unsure, say N. 211