1# SPDX-License-Identifier: GPL-2.0-only 2# 3# fbdev core configuration 4# 5 6config FB_CORE 7 select VIDEO 8 tristate 9 10config FB_NOTIFY 11 bool 12 13config FB_DEVICE 14 bool "Provide legacy /dev/fb* device" 15 depends on FB_CORE 16 default FB 17 help 18 Say Y here if you want the legacy /dev/fb* device file and 19 interfaces within sysfs and procfs. It is only required if you 20 have userspace programs that depend on fbdev for graphics output. 21 This does not affect the framebuffer console. If unsure, say N. 22 23config FB_DDC 24 tristate 25 depends on FB 26 select I2C_ALGOBIT 27 select I2C 28 29config FB_CFB_FILLRECT 30 tristate 31 depends on FB_CORE 32 help 33 Include the cfb_fillrect function for generic software rectangle 34 filling. This is used by drivers that don't provide their own 35 (accelerated) version. 36 37config FB_CFB_COPYAREA 38 tristate 39 depends on FB_CORE 40 help 41 Include the cfb_copyarea function for generic software area copying. 42 This is used by drivers that don't provide their own (accelerated) 43 version. 44 45config FB_CFB_IMAGEBLIT 46 tristate 47 depends on FB_CORE 48 help 49 Include the cfb_imageblit function for generic software image 50 blitting. This is used by drivers that don't provide their own 51 (accelerated) version. 52 53config FB_CFB_REV_PIXELS_IN_BYTE 54 bool 55 depends on FB_CORE 56 help 57 Allow I/O memory frame-buffer functions to work on displays with 1, 2 58 and 4 bits per pixel depths which has opposite order of pixels in 59 byte order to bytes in long order. 60 61config FB_SYS_FILLRECT 62 tristate 63 depends on FB_CORE 64 help 65 Include the sys_fillrect function for generic software rectangle 66 filling. This is used by drivers that don't provide their own 67 (accelerated) version and the framebuffer is in system RAM. 68 69config FB_SYS_COPYAREA 70 tristate 71 depends on FB_CORE 72 help 73 Include the sys_copyarea function for generic software area copying. 74 This is used by drivers that don't provide their own (accelerated) 75 version and the framebuffer is in system RAM. 76 77config FB_SYS_IMAGEBLIT 78 tristate 79 depends on FB_CORE 80 help 81 Include the sys_imageblit function for generic software image 82 blitting. This is used by drivers that don't provide their own 83 (accelerated) version and the framebuffer is in system RAM. 84 85config FB_SYS_REV_PIXELS_IN_BYTE 86 bool 87 depends on FB_CORE 88 help 89 Allow virtual memory frame-buffer functions to work on displays with 1, 2 90 and 4 bits per pixel depths which has opposite order of pixels in 91 byte order to bytes in long order. 92 93config FB_PROVIDE_GET_FB_UNMAPPED_AREA 94 bool 95 depends on FB 96 help 97 Allow generic frame-buffer to provide get_fb_unmapped_area 98 function to provide shareable character device support on nommu. 99 100menuconfig FB_FOREIGN_ENDIAN 101 bool "Framebuffer foreign endianness support" 102 depends on FB 103 help 104 This menu will let you enable support for the framebuffers with 105 non-native endianness (e.g. Little-Endian framebuffer on a 106 Big-Endian machine). Most probably you don't have such hardware, 107 so it's safe to say "n" here. 108 109choice 110 prompt "Choice endianness support" 111 depends on FB_FOREIGN_ENDIAN 112 113config FB_BOTH_ENDIAN 114 bool "Support for Big- and Little-Endian framebuffers" 115 116config FB_BIG_ENDIAN 117 bool "Support for Big-Endian framebuffers only" 118 119config FB_LITTLE_ENDIAN 120 bool "Support for Little-Endian framebuffers only" 121 122endchoice 123 124config FB_SYSMEM_FOPS 125 tristate 126 depends on FB_CORE 127 128config FB_DEFERRED_IO 129 bool 130 depends on FB_CORE 131 132config FB_DMAMEM_HELPERS 133 bool 134 depends on FB_CORE 135 select FB_SYS_COPYAREA 136 select FB_SYS_FILLRECT 137 select FB_SYS_IMAGEBLIT 138 select FB_SYSMEM_FOPS 139 140config FB_DMAMEM_HELPERS_DEFERRED 141 bool 142 depends on FB_CORE 143 select FB_DEFERRED_IO 144 select FB_DMAMEM_HELPERS 145 146config FB_IOMEM_FOPS 147 tristate 148 depends on FB_CORE 149 150config FB_IOMEM_HELPERS 151 bool 152 depends on FB_CORE 153 select FB_CFB_COPYAREA 154 select FB_CFB_FILLRECT 155 select FB_CFB_IMAGEBLIT 156 select FB_IOMEM_FOPS 157 158config FB_IOMEM_HELPERS_DEFERRED 159 bool 160 depends on FB_CORE 161 select FB_DEFERRED_IO 162 select FB_IOMEM_HELPERS 163 164config FB_SYSMEM_HELPERS 165 bool 166 depends on FB_CORE 167 select FB_SYS_COPYAREA 168 select FB_SYS_FILLRECT 169 select FB_SYS_IMAGEBLIT 170 select FB_SYSMEM_FOPS 171 172config FB_SYSMEM_HELPERS_DEFERRED 173 bool 174 depends on FB_CORE 175 select FB_DEFERRED_IO 176 select FB_SYSMEM_HELPERS 177 178config FB_BACKLIGHT 179 bool 180 depends on FB 181 182config FB_MODE_HELPERS 183 bool "Enable Video Mode Handling Helpers" 184 depends on FB 185 help 186 This enables functions for handling video modes using the 187 Generalized Timing Formula and the EDID parser. A few drivers rely 188 on this feature such as the radeonfb, rivafb, and the i810fb. If 189 your driver does not take advantage of this feature, choosing Y will 190 just increase the kernel size by about 5K. 191 192config FB_TILEBLITTING 193 bool "Enable Tile Blitting Support" 194 depends on FB 195 help 196 This enables tile blitting. Tile blitting is a drawing technique 197 where the screen is divided into rectangular sections (tiles), whereas 198 the standard blitting divides the screen into pixels. Because the 199 default drawing element is a tile, drawing functions will be passed 200 parameters in terms of number of tiles instead of number of pixels. 201 For example, to draw a single character, instead of using bitmaps, 202 an index to an array of bitmaps will be used. To clear or move a 203 rectangular section of a screen, the rectangle will be described in 204 terms of number of tiles in the x- and y-axis. 205 206 This is particularly important to one driver, matroxfb. If 207 unsure, say N. 208