xref: /openbmc/linux/drivers/video/fbdev/core/Kconfig (revision b181f7029bd71238ac2754ce7052dffd69432085)
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