Kconfig 5.3 KB

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