4f70e31d7b25f327c02d0ee10055e47bade20e8a
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / arm / midgard_for_linux / Kconfig
1 #
2 # (C) COPYRIGHT 2012-2015 ARM Limited. All rights reserved.
3 #
4 # This program is free software and is provided to you under the terms of the
5 # GNU General Public License version 2 as published by the Free Software
6 # Foundation, and any use by you of this program is subject to the terms
7 # of such GNU licence.
8 #
9 # A copy of the licence is included with the program, and can also be obtained
10 # from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
11 # Boston, MA  02110-1301, USA.
12 #
13 #
14
15
16
17 menuconfig MALI_MIDGARD
18         tristate "Mali Midgard series support"
19         default n
20         help
21           Enable this option to build support for a ARM Mali Midgard GPU.
22
23           To compile this driver as a module, choose M here:
24           this will generate a single module, called mali_kbase.
25
26 choice
27         prompt "Streamline support"
28         depends on MALI_MIDGARD
29         default MALI_TIMELINE_DISABLED
30         help
31           Select streamline support configuration.
32
33 config MALI_TIMELINE_DISABLED
34         bool "Streamline support disabled"
35         help
36           Disable support for ARM Streamline Performance Analyzer.
37
38           Timeline support will not be included in
39           kernel code.
40           Debug stream will not be generated.
41
42 config MALI_GATOR_SUPPORT
43         bool "Streamline support via Gator"
44         help
45           Adds diagnostic support for use with the ARM Streamline Performance Analyzer.
46           You will need the Gator device driver already loaded before loading this driver when enabling
47           Streamline debug support.
48
49 config MALI_MIPE_ENABLED
50         bool "Streamline support via MIPE"
51         help
52           Adds diagnostic support for use with the ARM Streamline Performance Analyzer.
53
54           Stream will be transmitted directly to Mali GPU library.
55           Compatible version of the library is required to read debug stream generated by kernel.
56
57 endchoice
58
59 config MALI_MIDGARD_DVFS
60         bool "Enable legacy DVFS"
61         depends on MALI_MIDGARD && !MALI_DEVFREQ && !MALI_PLATFORM_DEVICETREE
62         default n
63         help
64           Choose this option to enable legacy DVFS in the Mali Midgard DDK.
65
66 config MALI_MIDGARD_ENABLE_TRACE
67         bool "Enable kbase tracing"
68         depends on MALI_MIDGARD
69         default n
70         help
71           Enables tracing in kbase.  Trace log available through
72           the "mali_trace" debugfs file, when the CONFIG_DEBUG_FS is enabled
73
74 config MALI_DEVFREQ
75         bool "devfreq support for Mali"
76         depends on MALI_MIDGARD && PM_DEVFREQ
77         help
78           Support devfreq for Mali.
79
80           Using the devfreq framework and, by default, the simpleondemand
81           governor, the frequency of Mali will be dynamically selected from the
82           available OPPs.
83
84
85 # MALI_EXPERT configuration options
86
87 menuconfig MALI_EXPERT
88         depends on MALI_MIDGARD
89         bool "Enable Expert Settings"
90         default n
91         help
92           Enabling this option and modifying the default settings may produce a driver with performance or
93           other limitations.
94
95 config MALI_DEBUG_SHADER_SPLIT_FS
96         bool "Allow mapping of shader cores via sysfs"
97         depends on MALI_MIDGARD && MALI_EXPERT
98         default n
99         help
100           Select this option to provide a sysfs entry for runtime configuration of shader
101           core affinity masks.
102
103 config MALI_PLATFORM_FAKE
104         bool "Enable fake platform device support"
105         depends on MALI_MIDGARD && MALI_EXPERT
106         default n
107         help
108           When you start to work with the Mali Midgard series device driver the platform-specific code of
109           the Linux kernel for your platform may not be complete. In this situation the kernel device driver
110           supports creating the platform device outside of the Linux platform-specific code.
111           Enable this option if would like to use a platform device configuration from within the device driver.
112
113 choice
114         prompt "Platform configuration"
115         depends on MALI_MIDGARD && MALI_EXPERT
116         default MALI_PLATFORM_DEVICETREE
117         help
118           Select the SOC platform that contains a Mali Midgard GPU
119
120 config MALI_PLATFORM_DEVICETREE
121         bool "Device Tree platform"
122         depends on OF
123         help
124           Select this option to use Device Tree with the Mali driver.
125
126           When using this option the Mali driver will get the details of the
127           GPU hardware from the Device Tree. This means that the same driver
128           binary can run on multiple platforms as long as all the GPU hardware
129           details are described in the device tree.
130
131           Device Tree is the recommended method for the Mali driver platform
132           integration.
133
134 config MALI_PLATFORM_VEXPRESS
135         depends on ARCH_VEXPRESS && (ARCH_VEXPRESS_CA9X4 || ARCH_VEXPRESS_CA15X4)
136         bool "Versatile Express"
137 config MALI_PLATFORM_VEXPRESS_VIRTEX7_40MHZ
138         depends on ARCH_VEXPRESS && (ARCH_VEXPRESS_CA9X4 || ARCH_VEXPRESS_CA15X4)
139         bool "Versatile Express w/Virtex7 @ 40Mhz"
140 config MALI_PLATFORM_GOLDFISH
141         depends on ARCH_GOLDFISH
142         bool "Android Goldfish virtual CPU"
143 config MALI_PLATFORM_PBX
144         depends on ARCH_REALVIEW && REALVIEW_EB_A9MP && MACH_REALVIEW_PBX
145         bool "Realview PBX-A9"
146 config MALI_PLATFORM_THIRDPARTY
147         bool "Third Party Platform"
148 endchoice
149
150 config MALI_PLATFORM_THIRDPARTY_NAME
151         depends on MALI_MIDGARD && MALI_PLATFORM_THIRDPARTY && MALI_EXPERT
152         string "Third party platform name"
153         help
154           Enter the name of a third party platform that is supported. The third part configuration
155           file must be in midgard/config/tpip/mali_kbase_config_xxx.c where xxx is the name
156           specified here.
157
158 config MALI_DEBUG
159         bool "Debug build"
160         depends on MALI_MIDGARD && MALI_EXPERT
161         default n
162         help
163           Select this option for increased checking and reporting of errors.
164
165 config MALI_NO_MALI
166         bool "No Mali"
167         depends on MALI_MIDGARD && MALI_EXPERT
168         default n
169         help
170           This can be used to test the driver in a simulated environment
171           whereby the hardware is not physically present. If the hardware is physically
172           present it will not be used. This can be used to test the majority of the
173           driver without needing actual hardware or for software benchmarking.
174           All calls to the simulated hardware will complete immediately as if the hardware
175           completed the task.
176
177 config MALI_ERROR_INJECT
178         bool "Error injection"
179         depends on MALI_MIDGARD && MALI_EXPERT && MALI_NO_MALI
180         default n
181         help
182           Enables insertion of errors to test module failure and recovery mechanisms.
183
184 config MALI_TRACE_TIMELINE
185         bool "Timeline tracing"
186         depends on MALI_MIDGARD && MALI_EXPERT
187         default n
188         help
189           Enables timeline tracing through the kernel tracepoint system.
190
191 config MALI_SYSTEM_TRACE
192         bool "Enable system event tracing support"
193         depends on MALI_MIDGARD && MALI_EXPERT
194         default n
195         help
196           Choose this option to enable system trace events for each
197           kbase event.  This is typically used for debugging but has
198           minimal overhead when not in use. Enable only if you know what
199           you are doing.
200
201 config MALI_GPU_TRACEPOINTS
202         bool "Enable GPU tracepoints"
203         depends on MALI_MIDGARD && ANDROID
204         select GPU_TRACEPOINTS
205         help
206           Enables GPU tracepoints using Android trace event definitions.
207
208 source "drivers/gpu/arm/midgard/platform/Kconfig"