xref: /linux/drivers/video/fbdev/core/Kconfig (revision eacf91b0c78a7113844830ed65ebf543eb9052c5)
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 FB_DEVICE
14df791524SJavier Martinez Canillas	bool "Provide legacy /dev/fb* device"
1555bffc81SJavier Martinez Canillas	depends on FB_CORE
16bb6c4507SArnd Bergmann	default FB
17df791524SJavier Martinez Canillas	help
18df791524SJavier Martinez Canillas	  Say Y here if you want the legacy /dev/fb* device file and
19*a2a42f0cSDaniel Palmer	  interfaces within sysfs and procfs. It is only required if you
20df791524SJavier Martinez Canillas	  have userspace programs that depend on fbdev for graphics output.
21df791524SJavier Martinez Canillas	  This does not affect the framebuffer console. If unsure, say N.
22df791524SJavier Martinez Canillas
23df791524SJavier Martinez Canillasconfig FB_DDC
24df791524SJavier Martinez Canillas	tristate
25df791524SJavier Martinez Canillas	depends on FB
26df791524SJavier Martinez Canillas	select I2C_ALGOBIT
27df791524SJavier Martinez Canillas	select I2C
28df791524SJavier Martinez Canillas
29df791524SJavier Martinez Canillasconfig FB_CFB_FILLRECT
30df791524SJavier Martinez Canillas	tristate
3155bffc81SJavier Martinez Canillas	depends on FB_CORE
32df791524SJavier Martinez Canillas	help
33df791524SJavier Martinez Canillas	  Include the cfb_fillrect function for generic software rectangle
34df791524SJavier Martinez Canillas	  filling. This is used by drivers that don't provide their own
35df791524SJavier Martinez Canillas	  (accelerated) version.
36df791524SJavier Martinez Canillas
37df791524SJavier Martinez Canillasconfig FB_CFB_COPYAREA
38df791524SJavier Martinez Canillas	tristate
3955bffc81SJavier Martinez Canillas	depends on FB_CORE
40df791524SJavier Martinez Canillas	help
41df791524SJavier Martinez Canillas	  Include the cfb_copyarea function for generic software area copying.
42df791524SJavier Martinez Canillas	  This is used by drivers that don't provide their own (accelerated)
43df791524SJavier Martinez Canillas	  version.
44df791524SJavier Martinez Canillas
45df791524SJavier Martinez Canillasconfig FB_CFB_IMAGEBLIT
46df791524SJavier Martinez Canillas	tristate
4755bffc81SJavier Martinez Canillas	depends on FB_CORE
48df791524SJavier Martinez Canillas	help
49df791524SJavier Martinez Canillas	  Include the cfb_imageblit function for generic software image
50df791524SJavier Martinez Canillas	  blitting. This is used by drivers that don't provide their own
51df791524SJavier Martinez Canillas	  (accelerated) version.
52df791524SJavier Martinez Canillas
53df791524SJavier Martinez Canillasconfig FB_CFB_REV_PIXELS_IN_BYTE
54df791524SJavier Martinez Canillas	bool
5555bffc81SJavier Martinez Canillas	depends on FB_CORE
56df791524SJavier Martinez Canillas	help
57eabb0329SZsolt Kajtar	  Allow I/O memory frame-buffer functions to work on displays with 1, 2
58df791524SJavier Martinez Canillas	  and 4 bits per pixel depths which has opposite order of pixels in
59df791524SJavier Martinez Canillas	  byte order to bytes in long order.
60df791524SJavier Martinez Canillas
61df791524SJavier Martinez Canillasconfig FB_SYS_FILLRECT
62df791524SJavier Martinez Canillas	tristate
6355bffc81SJavier Martinez Canillas	depends on FB_CORE
64df791524SJavier Martinez Canillas	help
65df791524SJavier Martinez Canillas	  Include the sys_fillrect function for generic software rectangle
66df791524SJavier Martinez Canillas	  filling. This is used by drivers that don't provide their own
67df791524SJavier Martinez Canillas	  (accelerated) version and the framebuffer is in system RAM.
68df791524SJavier Martinez Canillas
69df791524SJavier Martinez Canillasconfig FB_SYS_COPYAREA
70df791524SJavier Martinez Canillas	tristate
7155bffc81SJavier Martinez Canillas	depends on FB_CORE
72df791524SJavier Martinez Canillas	help
73df791524SJavier Martinez Canillas	  Include the sys_copyarea function for generic software area copying.
74df791524SJavier Martinez Canillas	  This is used by drivers that don't provide their own (accelerated)
75df791524SJavier Martinez Canillas	  version and the framebuffer is in system RAM.
76df791524SJavier Martinez Canillas
77df791524SJavier Martinez Canillasconfig FB_SYS_IMAGEBLIT
78df791524SJavier Martinez Canillas	tristate
7955bffc81SJavier Martinez Canillas	depends on FB_CORE
80df791524SJavier Martinez Canillas	help
81df791524SJavier Martinez Canillas	  Include the sys_imageblit function for generic software image
82df791524SJavier Martinez Canillas	  blitting. 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
85eabb0329SZsolt Kajtarconfig FB_SYS_REV_PIXELS_IN_BYTE
86eabb0329SZsolt Kajtar	bool
87eabb0329SZsolt Kajtar	depends on FB_CORE
88eabb0329SZsolt Kajtar	help
89eabb0329SZsolt Kajtar	  Allow virtual memory frame-buffer functions to work on displays with 1, 2
90eabb0329SZsolt Kajtar	  and 4 bits per pixel depths which has opposite order of pixels in
91eabb0329SZsolt Kajtar	  byte order to bytes in long order.
92eabb0329SZsolt Kajtar
93df791524SJavier Martinez Canillasconfig FB_PROVIDE_GET_FB_UNMAPPED_AREA
94df791524SJavier Martinez Canillas	bool
95df791524SJavier Martinez Canillas	depends on FB
96df791524SJavier Martinez Canillas	help
97df791524SJavier Martinez Canillas	  Allow generic frame-buffer to provide get_fb_unmapped_area
98df791524SJavier Martinez Canillas	  function to provide shareable character device support on nommu.
99df791524SJavier Martinez Canillas
100df791524SJavier Martinez Canillasmenuconfig FB_FOREIGN_ENDIAN
101df791524SJavier Martinez Canillas	bool "Framebuffer foreign endianness support"
102df791524SJavier Martinez Canillas	depends on FB
103df791524SJavier Martinez Canillas	help
104df791524SJavier Martinez Canillas	  This menu will let you enable support for the framebuffers with
105df791524SJavier Martinez Canillas	  non-native endianness (e.g. Little-Endian framebuffer on a
106df791524SJavier Martinez Canillas	  Big-Endian machine). Most probably you don't have such hardware,
107df791524SJavier Martinez Canillas	  so it's safe to say "n" here.
108df791524SJavier Martinez Canillas
109df791524SJavier Martinez Canillaschoice
110df791524SJavier Martinez Canillas	prompt "Choice endianness support"
111df791524SJavier Martinez Canillas	depends on FB_FOREIGN_ENDIAN
112df791524SJavier Martinez Canillas
113df791524SJavier Martinez Canillasconfig FB_BOTH_ENDIAN
114df791524SJavier Martinez Canillas	bool "Support for Big- and Little-Endian framebuffers"
115df791524SJavier Martinez Canillas
116df791524SJavier Martinez Canillasconfig FB_BIG_ENDIAN
117df791524SJavier Martinez Canillas	bool "Support for Big-Endian framebuffers only"
118df791524SJavier Martinez Canillas
119df791524SJavier Martinez Canillasconfig FB_LITTLE_ENDIAN
120df791524SJavier Martinez Canillas	bool "Support for Little-Endian framebuffers only"
121df791524SJavier Martinez Canillas
122df791524SJavier Martinez Canillasendchoice
123df791524SJavier Martinez Canillas
12427ad64eaSThomas Zimmermannconfig FB_SYSMEM_FOPS
125df791524SJavier Martinez Canillas	tristate
12655bffc81SJavier Martinez Canillas	depends on FB_CORE
127df791524SJavier Martinez Canillas
128df791524SJavier Martinez Canillasconfig FB_DEFERRED_IO
129df791524SJavier Martinez Canillas	bool
13055bffc81SJavier Martinez Canillas	depends on FB_CORE
131df791524SJavier Martinez Canillas
132b21f187fSThomas Zimmermannconfig FB_DMAMEM_HELPERS
1336f0f6941SThomas Zimmermann	bool
1346f0f6941SThomas Zimmermann	depends on FB_CORE
1356f0f6941SThomas Zimmermann	select FB_SYS_COPYAREA
1366f0f6941SThomas Zimmermann	select FB_SYS_FILLRECT
1376f0f6941SThomas Zimmermann	select FB_SYS_IMAGEBLIT
13827ad64eaSThomas Zimmermann	select FB_SYSMEM_FOPS
1396f0f6941SThomas Zimmermann
14001c0cce8STony Lindgrenconfig FB_DMAMEM_HELPERS_DEFERRED
14101c0cce8STony Lindgren	bool
14201c0cce8STony Lindgren	depends on FB_CORE
14301c0cce8STony Lindgren	select FB_DEFERRED_IO
14401c0cce8STony Lindgren	select FB_DMAMEM_HELPERS
14501c0cce8STony Lindgren
1466b180f66SThomas Zimmermannconfig FB_IOMEM_FOPS
1476b180f66SThomas Zimmermann	tristate
1486b180f66SThomas Zimmermann	depends on FB_CORE
1496b180f66SThomas Zimmermann
1504520844bSThomas Zimmermannconfig FB_IOMEM_HELPERS
151df791524SJavier Martinez Canillas	bool
15255bffc81SJavier Martinez Canillas	depends on FB_CORE
153df791524SJavier Martinez Canillas	select FB_CFB_COPYAREA
154df791524SJavier Martinez Canillas	select FB_CFB_FILLRECT
155df791524SJavier Martinez Canillas	select FB_CFB_IMAGEBLIT
1566b180f66SThomas Zimmermann	select FB_IOMEM_FOPS
157df791524SJavier Martinez Canillas
158ee057f97SThomas Zimmermannconfig FB_IOMEM_HELPERS_DEFERRED
159ee057f97SThomas Zimmermann	bool
160ee057f97SThomas Zimmermann	depends on FB_CORE
161ee057f97SThomas Zimmermann	select FB_DEFERRED_IO
162ee057f97SThomas Zimmermann	select FB_IOMEM_HELPERS
163ee057f97SThomas Zimmermann
164cd8a064fSThomas Zimmermannconfig FB_SYSMEM_HELPERS
165df791524SJavier Martinez Canillas	bool
16655bffc81SJavier Martinez Canillas	depends on FB_CORE
167df791524SJavier Martinez Canillas	select FB_SYS_COPYAREA
168df791524SJavier Martinez Canillas	select FB_SYS_FILLRECT
169df791524SJavier Martinez Canillas	select FB_SYS_IMAGEBLIT
17027ad64eaSThomas Zimmermann	select FB_SYSMEM_FOPS
171df791524SJavier Martinez Canillas
172cd8a064fSThomas Zimmermannconfig FB_SYSMEM_HELPERS_DEFERRED
173df791524SJavier Martinez Canillas	bool
17455bffc81SJavier Martinez Canillas	depends on FB_CORE
175df791524SJavier Martinez Canillas	select FB_DEFERRED_IO
176cd8a064fSThomas Zimmermann	select FB_SYSMEM_HELPERS
177df791524SJavier Martinez Canillas
178df791524SJavier Martinez Canillasconfig FB_BACKLIGHT
1798fc38062SThomas Zimmermann	bool
180df791524SJavier Martinez Canillas	depends on FB
181df791524SJavier Martinez Canillas
182df791524SJavier Martinez Canillasconfig FB_MODE_HELPERS
183df791524SJavier Martinez Canillas	bool "Enable Video Mode Handling Helpers"
184df791524SJavier Martinez Canillas	depends on FB
185df791524SJavier Martinez Canillas	help
186df791524SJavier Martinez Canillas	  This enables functions for handling video modes using the
187df791524SJavier Martinez Canillas	  Generalized Timing Formula and the EDID parser. A few drivers rely
188df791524SJavier Martinez Canillas	  on this feature such as the radeonfb, rivafb, and the i810fb. If
189df791524SJavier Martinez Canillas	  your driver does not take advantage of this feature, choosing Y will
190df791524SJavier Martinez Canillas	  just increase the kernel size by about 5K.
191df791524SJavier Martinez Canillas
192df791524SJavier Martinez Canillasconfig FB_TILEBLITTING
193df791524SJavier Martinez Canillas	bool "Enable Tile Blitting Support"
194df791524SJavier Martinez Canillas	depends on FB
195df791524SJavier Martinez Canillas	help
196df791524SJavier Martinez Canillas	  This enables tile blitting.  Tile blitting is a drawing technique
197df791524SJavier Martinez Canillas	  where the screen is divided into rectangular sections (tiles), whereas
198df791524SJavier Martinez Canillas	  the standard blitting divides the screen into pixels. Because the
199df791524SJavier Martinez Canillas	  default drawing element is a tile, drawing functions will be passed
200df791524SJavier Martinez Canillas	  parameters in terms of number of tiles instead of number of pixels.
201df791524SJavier Martinez Canillas	  For example, to draw a single character, instead of using bitmaps,
202df791524SJavier Martinez Canillas	  an index to an array of bitmaps will be used.  To clear or move a
203df791524SJavier Martinez Canillas	  rectangular section of a screen, the rectangle will be described in
204df791524SJavier Martinez Canillas	  terms of number of tiles in the x- and y-axis.
205df791524SJavier Martinez Canillas
206df791524SJavier Martinez Canillas	  This is particularly important to one driver, matroxfb.  If
207df791524SJavier Martinez Canillas	  unsure, say N.
208